obs-websocket-js
Advanced tools
Sorry, the diff of this file is too big to display
| /*! | ||
| * OBS WebSocket Javascript API (obs-websocket-js) v0.7.0 | ||
| * Author: Brendan Hagan (haganbmj) | ||
| * License: MIT | ||
| * Repository: https://github.com/haganbmj/obs-websocket-js | ||
| * Build Timestamp: 2017-07-18 04:45:52+00:00 | ||
| * Built from Commit: https://github.com/haganbmj/obs-websocket-js/commit/08414eef37ef5cef7becc843b6aec8870a9fb62e | ||
| */ | ||
| var OBSWebSocket=function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(n,'a',n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=3)}([function(e,t,n){'use strict';var o=Math.floor,r=Math.pow,s=Math.min;(function(e){function i(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function l(e,t){if(i()<t)throw new RangeError('Invalid typed array length');return p.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=p.prototype):(null===e&&(e=new p(t)),e.length=t),e}function p(e,t,n){if(!p.TYPED_ARRAY_SUPPORT&&!(this instanceof p))return new p(e,t,n);if('number'==typeof e){if('string'==typeof t)throw new Error('If encoding is specified then the first argument must be a string');return d(this,e)}return a(this,e,t,n)}function a(e,t,n,o){if('number'==typeof t)throw new TypeError('"value" argument must not be a number');return'undefined'!=typeof ArrayBuffer&&t instanceof ArrayBuffer?h(e,t,n,o):'string'==typeof t?g(e,t,n):_(e,t)}function u(e){if('number'!=typeof e)throw new TypeError('"size" argument must be a number');else if(0>e)throw new RangeError('"size" argument must not be negative')}function c(e,t,n,o){return u(t),0>=t?l(e,t):void 0===n?l(e,t):'string'==typeof o?l(e,t).fill(n,o):l(e,t).fill(n)}function d(e,t){if(u(t),e=l(e,0>t?0:0|m(t)),!p.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function g(e,t,n){if(('string'!=typeof n||''===n)&&(n='utf8'),!p.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var o=0|y(t,n);e=l(e,o);var r=e.write(t,n);return r!==o&&(e=e.slice(0,r)),e}function f(e,t){var n=0>t.length?0:0|m(t.length);e=l(e,n);for(var o=0;o<n;o+=1)e[o]=255&t[o];return e}function h(e,t,n,o){if(t.byteLength,0>n||t.byteLength<n)throw new RangeError('\'offset\' is out of bounds');if(t.byteLength<n+(o||0))throw new RangeError('\'length\' is out of bounds');return t=void 0===n&&void 0===o?new Uint8Array(t):void 0===o?new Uint8Array(t,n):new Uint8Array(t,n,o),p.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=p.prototype):e=f(e,t),e}function _(e,t){if(p.isBuffer(t)){var n=0|m(t.length);return(e=l(e,n),0===e.length)?e:(t.copy(e,0,0,n),e)}if(t){if('undefined'!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||'length'in t)return'number'!=typeof t.length||$(t.length)?l(e,0):f(e,t);if('Buffer'===t.type&&te(t.data))return f(e,t.data)}throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')}function m(e){if(e>=i())throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x'+i().toString(16)+' bytes');return 0|e}function y(e,t){if(p.isBuffer(e))return e.length;if('undefined'!=typeof ArrayBuffer&&'function'==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;'string'!=typeof e&&(e=''+e);var n=e.length;if(0===n)return 0;for(var o=!1;;)switch(t){case'ascii':case'latin1':case'binary':return n;case'utf8':case'utf-8':case void 0:return Q(e).length;case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return 2*n;case'hex':return n>>>1;case'base64':return W(e).length;default:if(o)return Q(e).length;t=(''+t).toLowerCase(),o=!0;}}function b(e,t,n){var o=!1;if((void 0===t||0>t)&&(t=0),t>this.length)return'';if((void 0===n||n>this.length)&&(n=this.length),0>=n)return'';if(n>>>=0,t>>>=0,n<=t)return'';for(e||(e='utf8');;)switch(e){case'hex':return U(this,t,n);case'utf8':case'utf-8':return L(this,t,n);case'ascii':return x(this,t,n);case'latin1':case'binary':return k(this,t,n);case'base64':return I(this,t,n);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return O(this,t,n);default:if(o)throw new TypeError('Unknown encoding: '+e);e=(e+'').toLowerCase(),o=!0;}}function S(e,t,n){var o=e[t];e[t]=e[n],e[n]=o}function E(e,t,n,o,r){if(0===e.length)return-1;if('string'==typeof n?(o=n,n=0):2147483647<n?n=2147483647:-2147483648>n&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),0>n&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(0>n)if(r)n=0;else return-1;if('string'==typeof t&&(t=p.from(t,o)),p.isBuffer(t))return 0===t.length?-1:A(e,t,n,o,r);if('number'==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&'function'==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):A(e,[t],n,o,r);throw new TypeError('val must be string, number or Buffer')}function A(e,t,n,o,r){function s(e,t){return 1==l?e[t]:e.readUInt16BE(t*l)}var l=1,a=e.length,p=t.length;if(void 0!==o&&(o=(o+'').toLowerCase(),'ucs2'===o||'ucs-2'===o||'utf16le'===o||'utf-16le'===o)){if(2>e.length||2>t.length)return-1;l=2,a/=2,p/=2,n/=2}var u;if(r){var i=-1;for(u=n;u<a;u++)if(s(e,u)!==s(t,-1==i?0:u-i))-1!=i&&(u-=u-i),i=-1;else if(-1==i&&(i=u),u-i+1===p)return i*l}else for(n+p>a&&(n=a-p),u=n;0<=u;u--){for(var c=!0,d=0;d<p;d++)if(s(e,u+d)!==s(t,d)){c=!1;break}if(c)return u}return-1}function v(e,t,n,o){n=+n||0;var r=e.length-n;o?(o=+o,o>r&&(o=r)):o=r;var s=t.length;if(0!=s%2)throw new TypeError('Invalid hex string');o>s/2&&(o=s/2);for(var l,a=0;a<o;++a){if(l=parseInt(t.substr(2*a,2),16),isNaN(l))return a;e[n+a]=l}return a}function P(e,t,n,o){return H(Q(t,e.length-n),e,n,o)}function T(e,t,n,o){return H(X(t),e,n,o)}function R(e,t,n,o){return T(e,t,n,o)}function C(e,t,n,o){return H(W(t),e,n,o)}function w(e,t,n,o){return H(K(t,e.length-n),e,n,o)}function I(e,t,n){return 0===t&&n===e.length?Z.fromByteArray(e):Z.fromByteArray(e.slice(t,n))}function L(e,t,n){n=s(e.length,n);for(var o=[],r=t;r<n;){var i=e[r],l=null,a=239<i?4:223<i?3:191<i?2:1;if(r+a<=n){var p,u,c,d;1==a?128>i&&(l=i):2==a?(p=e[r+1],128==(192&p)&&(d=(31&i)<<6|63&p,127<d&&(l=d))):3==a?(p=e[r+1],u=e[r+2],128==(192&p)&&128==(192&u)&&(d=(15&i)<<12|(63&p)<<6|63&u,2047<d&&(55296>d||57343<d)&&(l=d))):4==a?(p=e[r+1],u=e[r+2],c=e[r+3],128==(192&p)&&128==(192&u)&&128==(192&c)&&(d=(15&i)<<18|(63&p)<<12|(63&u)<<6|63&c,65535<d&&1114112>d&&(l=d))):void 0}null===l?(l=65533,a=1):65535<l&&(l-=65536,o.push(55296|1023&l>>>10),l=56320|1023&l),o.push(l),r+=a}return B(o)}function B(e){var t=e.length;if(t<=ne)return J.apply(String,e);for(var n='',o=0;o<t;)n+=J.apply(String,e.slice(o,o+=ne));return n}function x(e,t,n){var o='';n=s(e.length,n);for(var r=t;r<n;++r)o+=J(127&e[r]);return o}function k(e,t,n){var o='';n=s(e.length,n);for(var r=t;r<n;++r)o+=J(e[r]);return o}function U(e,t,n){var o=e.length;(!t||0>t)&&(t=0),(!n||0>n||n>o)&&(n=o);for(var r='',s=t;s<n;++s)r+=V(e[s]);return r}function O(e,t,n){for(var o=e.slice(t,n),r='',s=0;s<o.length;s+=2)r+=J(o[s]+256*o[s+1]);return r}function Y(e,t,n){if(0!=e%1||0>e)throw new RangeError('offset is not uint');if(e+t>n)throw new RangeError('Trying to access beyond buffer length')}function D(e,t,n,o,r,s){if(!p.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<s)throw new RangeError('"value" argument is out of bounds');if(n+o>e.length)throw new RangeError('Index out of range')}function G(e,t,n,o){0>t&&(t=65535+t+1);for(var r=0,i=s(e.length-n,2);r<i;++r)e[n+r]=(t&255<<8*(o?r:1-r))>>>8*(o?r:1-r)}function z(e,t,n,o){0>t&&(t=4294967295+t+1);for(var r=0,i=s(e.length-n,4);r<i;++r)e[n+r]=255&t>>>8*(o?r:3-r)}function M(e,t,n,o){if(n+o>e.length)throw new RangeError('Index out of range');if(0>n)throw new RangeError('Index out of range')}function N(e,t,n,o,r){return r||M(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),ee.write(e,t,n,o,23,4),n+4}function j(e,t,n,o,r){return r||M(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),ee.write(e,t,n,o,52,8),n+8}function F(e){if(e=q(e).replace(oe,''),2>e.length)return'';for(;0!=e.length%4;)e+='=';return e}function q(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,'')}function V(e){return 16>e?'0'+e.toString(16):e.toString(16)}function Q(e,t){t=t||Infinity;for(var n,o=e.length,r=null,s=[],l=0;l<o;++l){if(n=e.charCodeAt(l),55295<n&&57344>n){if(!r){if(56319<n){-1<(t-=3)&&s.push(239,191,189);continue}else if(l+1===o){-1<(t-=3)&&s.push(239,191,189);continue}r=n;continue}if(56320>n){-1<(t-=3)&&s.push(239,191,189),r=n;continue}n=(r-55296<<10|n-56320)+65536}else r&&-1<(t-=3)&&s.push(239,191,189);if(r=null,128>n){if(0>(t-=1))break;s.push(n)}else if(2048>n){if(0>(t-=2))break;s.push(192|n>>6,128|63&n)}else if(65536>n){if(0>(t-=3))break;s.push(224|n>>12,128|63&n>>6,128|63&n)}else if(1114112>n){if(0>(t-=4))break;s.push(240|n>>18,128|63&n>>12,128|63&n>>6,128|63&n)}else throw new Error('Invalid code point')}return s}function X(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function K(e,t){for(var n,o,r,s=[],l=0;l<e.length&&!(0>(t-=2));++l)n=e.charCodeAt(l),o=n>>8,r=n%256,s.push(r),s.push(o);return s}function W(e){return Z.toByteArray(F(e))}function H(e,t,n,o){for(var r=0;r<o&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function $(e){return e!==e}var J=String.fromCharCode,Z=n(11),ee=n(12),te=n(13);t.Buffer=p,t.SlowBuffer=function(e){return+e!=e&&(e=0),p.alloc(+e)},t.INSPECT_MAX_BYTES=50,p.TYPED_ARRAY_SUPPORT=e.TYPED_ARRAY_SUPPORT===void 0?function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&'function'==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}():e.TYPED_ARRAY_SUPPORT,t.kMaxLength=i(),p.poolSize=8192,p._augment=function(e){return e.__proto__=p.prototype,e},p.from=function(e,t,n){return a(null,e,t,n)},p.TYPED_ARRAY_SUPPORT&&(p.prototype.__proto__=Uint8Array.prototype,p.__proto__=Uint8Array,'undefined'!=typeof Symbol&&Symbol.species&&p[Symbol.species]===p&&Object.defineProperty(p,Symbol.species,{value:null,configurable:!0})),p.alloc=function(e,t,n){return c(null,e,t,n)},p.allocUnsafe=function(e){return d(null,e)},p.allocUnsafeSlow=function(e){return d(null,e)},p.isBuffer=function(e){return!!(null!=e&&e._isBuffer)},p.compare=function(e,t){if(!p.isBuffer(e)||!p.isBuffer(t))throw new TypeError('Arguments must be Buffers');if(e===t)return 0;for(var n=e.length,o=t.length,r=0,i=s(n,o);r<i;++r)if(e[r]!==t[r]){n=e[r],o=t[r];break}return n<o?-1:o<n?1:0},p.isEncoding=function(e){switch((e+'').toLowerCase()){case'hex':case'utf8':case'utf-8':case'ascii':case'latin1':case'binary':case'base64':case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return!0;default:return!1;}},p.concat=function(e,t){if(!te(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var o=p.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var s=e[n];if(!p.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(o,r),r+=s.length}return o},p.byteLength=y,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(0!=e%2)throw new RangeError('Buffer size must be a multiple of 16-bits');for(var t=0;t<e;t+=2)S(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(0!=e%4)throw new RangeError('Buffer size must be a multiple of 32-bits');for(var t=0;t<e;t+=4)S(this,t,t+3),S(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(0!=e%8)throw new RangeError('Buffer size must be a multiple of 64-bits');for(var t=0;t<e;t+=8)S(this,t,t+7),S(this,t+1,t+6),S(this,t+2,t+5),S(this,t+3,t+4);return this},p.prototype.toString=function(){var e=0|this.length;return 0==e?'':0===arguments.length?L(this,0,e):b.apply(this,arguments)},p.prototype.equals=function(e){if(!p.isBuffer(e))throw new TypeError('Argument must be a Buffer');return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e='',n=t.INSPECT_MAX_BYTES;return 0<this.length&&(e=this.toString('hex',0,n).match(/.{2}/g).join(' '),this.length>n&&(e+=' ... ')),'<Buffer '+e+'>'},p.prototype.compare=function(e,t,n,o,r){if(!p.isBuffer(e))throw new TypeError('Argument must be a Buffer');if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===o&&(o=0),void 0===r&&(r=this.length),0>t||n>e.length||0>o||r>this.length)throw new RangeError('out of range index');if(o>=r&&t>=n)return 0;if(o>=r)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,o>>>=0,r>>>=0,this===e)return 0;for(var l=r-o,a=n-t,u=s(l,a),c=this.slice(o,r),d=e.slice(t,n),g=0;g<u;++g)if(c[g]!==d[g]){l=c[g],a=d[g];break}return l<a?-1:a<l?1:0},p.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},p.prototype.indexOf=function(e,t,n){return E(this,e,t,n,!0)},p.prototype.lastIndexOf=function(e,t,n){return E(this,e,t,n,!1)},p.prototype.write=function(e,t,n,o){if(void 0===t)o='utf8',n=this.length,t=0;else if(void 0===n&&'string'==typeof t)o=t,n=this.length,t=0;else if(isFinite(t))t|=0,isFinite(n)?(n|=0,void 0===o&&(o='utf8')):(o=n,n=void 0);else throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');var r=this.length-t;if((void 0===n||n>r)&&(n=r),0<e.length&&(0>n||0>t)||t>this.length)throw new RangeError('Attempt to write outside buffer bounds');o||(o='utf8');for(var s=!1;;)switch(o){case'hex':return v(this,e,t,n);case'utf8':case'utf-8':return P(this,e,t,n);case'ascii':return T(this,e,t,n);case'latin1':case'binary':return R(this,e,t,n);case'base64':return C(this,e,t,n);case'ucs2':case'ucs-2':case'utf16le':case'utf-16le':return w(this,e,t,n);default:if(s)throw new TypeError('Unknown encoding: '+o);o=(''+o).toLowerCase(),s=!0;}},p.prototype.toJSON=function(){return{type:'Buffer',data:Array.prototype.slice.call(this._arr||this,0)}};var ne=4096;p.prototype.slice=function(e,t){var n=this.length;e=~~e,t=t===void 0?n:~~t,0>e?(e+=n,0>e&&(e=0)):e>n&&(e=n),0>t?(t+=n,0>t&&(t=0)):t>n&&(t=n),t<e&&(t=e);var o;if(p.TYPED_ARRAY_SUPPORT)o=this.subarray(e,t),o.__proto__=p.prototype;else{var r=t-e;o=new p(r,void 0);for(var s=0;s<r;++s)o[s]=this[s+e]}return o},p.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var o=this[e],r=1,s=0;++s<t&&(r*=256);)o+=this[e+s]*r;return o},p.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var o=this[e+--t],r=1;0<t&&(r*=256);)o+=this[e+--t]*r;return o},p.prototype.readUInt8=function(e,t){return t||Y(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||Y(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||Y(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||Y(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||Y(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var o=this[e],s=1,l=0;++l<t&&(s*=256);)o+=this[e+l]*s;return s*=128,o>=s&&(o-=r(2,8*t)),o},p.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||Y(e,t,this.length);for(var o=t,s=1,i=this[e+--o];0<o&&(s*=256);)i+=this[e+--o]*s;return s*=128,i>=s&&(i-=r(2,8*t)),i},p.prototype.readInt8=function(e,t){return t||Y(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||Y(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt16BE=function(e,t){t||Y(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},p.prototype.readInt32LE=function(e,t){return t||Y(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||Y(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||Y(e,4,this.length),ee.read(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||Y(e,4,this.length),ee.read(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||Y(e,8,this.length),ee.read(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||Y(e,8,this.length),ee.read(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,n,o){if(e=+e,t|=0,n|=0,!o){var s=r(2,8*n)-1;D(this,e,t,n,s,0)}var l=1,a=0;for(this[t]=255&e;++a<n&&(l*=256);)this[t+a]=255&e/l;return t+n},p.prototype.writeUIntBE=function(e,t,n,o){if(e=+e,t|=0,n|=0,!o){var s=r(2,8*n)-1;D(this,e,t,n,s,0)}var l=n-1,i=1;for(this[t+l]=255&e;0<=--l&&(i*=256);)this[t+l]=255&e/i;return t+n},p.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=o(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):G(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):G(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):z(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,n,o){if(e=+e,t|=0,!o){var s=r(2,8*n-1);D(this,e,t,n,s-1,-s)}var l=0,i=1,a=0;for(this[t]=255&e;++l<n&&(i*=256);)0>e&&0==a&&0!==this[t+l-1]&&(a=1),this[t+l]=255&(e/i>>0)-a;return t+n},p.prototype.writeIntBE=function(e,t,n,o){if(e=+e,t|=0,!o){var s=r(2,8*n-1);D(this,e,t,n,s-1,-s)}var l=n-1,i=1,a=0;for(this[t+l]=255&e;0<=--l&&(i*=256);)0>e&&0==a&&0!==this[t+l+1]&&(a=1),this[t+l]=255&(e/i>>0)-a;return t+n},p.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=o(e)),0>e&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):G(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):G(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):z(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),0>e&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):z(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,n){return N(this,e,t,!0,n)},p.prototype.writeFloatBE=function(e,t,n){return N(this,e,t,!1,n)},p.prototype.writeDoubleLE=function(e,t,n){return j(this,e,t,!0,n)},p.prototype.writeDoubleBE=function(e,t,n){return j(this,e,t,!1,n)},p.prototype.copy=function(e,t,n,o){if(n||(n=0),o||0===o||(o=this.length),t>=e.length&&(t=e.length),t||(t=0),0<o&&o<n&&(o=n),o===n)return 0;if(0===e.length||0===this.length)return 0;if(0>t)throw new RangeError('targetStart out of bounds');if(0>n||n>=this.length)throw new RangeError('sourceStart out of bounds');if(0>o)throw new RangeError('sourceEnd out of bounds');o>this.length&&(o=this.length),e.length-t<o-n&&(o=e.length-t+n);var r,s=o-n;if(this===e&&n<t&&t<o)for(r=s-1;0<=r;--r)e[r+t]=this[r+n];else if(1e3>s||!p.TYPED_ARRAY_SUPPORT)for(r=0;r<s;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},p.prototype.fill=function(e,t,n,o){if('string'==typeof e){if('string'==typeof t?(o=t,t=0,n=this.length):'string'==typeof n&&(o=n,n=this.length),1===e.length){var r=e.charCodeAt(0);256>r&&(e=r)}if(void 0!==o&&'string'!=typeof o)throw new TypeError('encoding must be a string');if('string'==typeof o&&!p.isEncoding(o))throw new TypeError('Unknown encoding: '+o)}else'number'==typeof e&&(e&=255);if(0>t||this.length<t||this.length<n)throw new RangeError('Out of range index');if(n<=t)return this;t>>>=0,n=n===void 0?this.length:n>>>0,e||(e=0);var s;if('number'==typeof e)for(s=t;s<n;++s)this[s]=e;else{var i=p.isBuffer(e)?e:Q(new p(e,o).toString()),l=i.length;for(s=0;s<n-t;++s)this[s+t]=i[s%l]}return this};var oe=/[^+\/0-9A-Za-z-_]/g}).call(t,n(10))},function(e){e.exports={NOT_CONNECTED:{status:'error',description:'There is no Socket connection available.'},SOCKET_EXCEPTION:{status:'error',description:'An exception occurred from the underlying WebSocket.'},AUTH_NOT_REQUIRED:{status:'ok',description:'Authentication is not required.'},REQUEST_TYPE_NOT_SPECIFIED:{status:'error',description:'A Request Type was not specified.'},init(){for(const e in this)({}).hasOwnProperty.call(this,e)&&(this[e].code=e,'error'!==this[e].status||this[e].error||(this[e].error=this[e].description));return delete this.init,this}}.init()},function(e,t,n){(function(o){function r(){var e;try{e=t.storage.debug}catch(t){}return!e&&'undefined'!=typeof o&&'env'in o&&(e=o.env.DEBUG),e}t=e.exports=n(17),t.log=function(){return'object'==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},t.formatArgs=function(e){var n=this.useColors;if(e[0]=(n?'%c':'')+this.namespace+(n?' %c':' ')+e[0]+(n?'%c ':' ')+'+'+t.humanize(this.diff),!!n){var o='color: '+this.color;e.splice(1,0,o,'color: inherit');var r=0,s=0;e[0].replace(/%[a-zA-Z%]/g,function(e){'%%'===e||(r++,'%c'===e&&(s=r))}),e.splice(s,0,o)}},t.save=function(e){try{null==e?t.storage.removeItem('debug'):t.storage.debug=e}catch(t){}},t.load=r,t.useColors=function(){return'undefined'!=typeof window&&window.process&&'renderer'===window.process.type||'undefined'!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||'undefined'!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||'undefined'!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&31<=parseInt(RegExp.$1,10)||'undefined'!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage='undefined'!=typeof chrome&&'undefined'!=typeof chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),t.colors=['lightseagreen','forestgreen','goldenrod','dodgerblue','darkorchid','crimson'],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return'[UnexpectedJSONParseError]: '+e.message}},t.enable(r())}).call(t,n(16))},function(e,t,n){e.exports=n(4)},function(e,t,n){function o(){return a++ +''}const r=n(5),s=n(1),i=n(2)('obs-websocket-js:Core'),l=n(21);let a=0;e.exports=class extends r{constructor(){super(),this.registerRequest(l.availableMethods),this.registerEvent(l.availableEvents)}send(e,t={},n){return t=t||{},new Promise((r,l)=>{const a=o();let p;if(e||(p=s.REQUEST_TYPE_NOT_SPECIFIED),this._connected||(p=s.NOT_CONNECTED),this.once('obs:internal:message:id-'+a,(e,t)=>{this._doCallback(n,e,t),e?(i('[send:reject] %o',e),l(e)):(i('[send:resolve] %o',t),r(t))}),!p){t['request-type']=e,t['message-id']=a,i('[send] %s %s %o',a,e,t);try{this._socket.send(JSON.stringify(t))}catch(t){p=s.SOCKET_EXCEPTION}}p&&this.emit('obs:internal:message:id-'+a,p)})}registerRequest(e=[]){Array.isArray(e)||(e=[e]),e.forEach((e)=>{const t=function(t,n){return this.send(e,t,n)};this[e]=t,this[e.charAt(0).toLowerCase()+e.slice(1)]=t})}registerEvent(e=[]){Array.isArray(e)||(e=[e]),e.forEach((e)=>{this['on'+e]=function(t){'function'!=typeof t||this.on(e,(e)=>{this._doCallback(t,e)})}})}}},function(e,t,n){const o=n(6),r=n(7),s=n(8),i=n(1),l=n(2)('obs-websocket-js:Socket'),a=n(19),p=n(20),u=function(){};e.exports=class extends r{constructor(){super(),this._connected=!1,this._socket=void 0;const e=this.emit;this.emit=function(){l('[emit] %s err: %o data: %o',arguments[0],arguments[1],arguments[2]),e.apply(this,arguments)}}_doCallback(e,t,n){e=e||u;try{e(t,n)}catch(t){a(l,'Unable to resolve callback:',t),this.emit('error',t)}}async connect(e={},t){try{e=e||{};const n=e.address||'localhost:4444';this._connected&&(this._socket.close(),this._connected=!1),await this._connect(n),this._connected=!0,this._socket.onmessage=(e)=>{l('[OnMessage]: %o',e);const t=p(JSON.parse(e.data));let n,o;'error'===t.status?n=t:o=t,t.messageId?this.emit('obs:internal:message:id-'+t.messageId,n,o):t.updateType?this.emit(t.updateType,o):a(l,'Unrecognized Socket Message:',t)},await this._authenticate(e.password),this._socket.onclose=()=>{this._connected=!1,l('Connection closed: %s',n),this.emit('ConnectionClosed')},l('Connection opened: %s',n),this.emit('ConnectionOpened'),this._doCallback(t)}catch(e){return this._connected=!1,a(l,'Connection failed:',e),this._socket.close(),this._doCallback(t,e),Promise.reject(e)}}_connect(e){return new Promise((t,n)=>{let r=!1;l('Attempting to connect to: %s',e),this._socket=new o('ws://'+e),this._socket.onerror=(e)=>{r||(r=!0,n(e))},this._socket.onopen=()=>{r||(r=!0,t())}})}_authenticate(e=''){return this._connected?this.getAuthRequired().then((t)=>{return t.authRequired?this.send('Authenticate',{auth:s(t.salt,t.challenge,e)}).then(()=>{l('Authentication Success.'),this.emit('AuthenticationSuccess')}):(l('Authentication not Required'),this.emit('AuthenticationSuccess'),Promise.resolve(i.AUTH_NOT_REQUIRED))}).catch((e)=>{throw l('Authentication Failure. %o',e),this.emit('AuthenticationFailure',e),e}):Promise.reject(i.NOT_CONNECTED)}disconnect(){l('Disconnect requested.'),this._socket&&this._socket.close()}}},function(e){e.exports=WebSocket},function(e){function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(e){return'function'==typeof e}function o(e){return'number'==typeof e}function r(e){return'object'==typeof e&&null!==e}function s(e){return void 0===e}e.exports=t,t.EventEmitter=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError('n must be a positive number');return this._maxListeners=e,this},t.prototype.emit=function(e){var t,o,l,a,p,i;if(this._events||(this._events={}),'error'===e&&(!this._events.error||r(this._events.error)&&!this._events.error.length))if(t=arguments[1],t instanceof Error)throw t;else{var u=new Error('Uncaught, unspecified "error" event. ('+t+')');throw u.context=t,u}if(o=this._events[e],s(o))return!1;if(n(o))switch(arguments.length){case 1:o.call(this);break;case 2:o.call(this,arguments[1]);break;case 3:o.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),o.apply(this,a);}else if(r(o))for(a=Array.prototype.slice.call(arguments,1),i=o.slice(),l=i.length,p=0;p<l;p++)i[p].apply(this,a);return!0},t.prototype.addListener=function(e,o){var i;if(!n(o))throw TypeError('listener must be a function');return this._events||(this._events={}),this._events.newListener&&this.emit('newListener',e,n(o.listener)?o.listener:o),this._events[e]?r(this._events[e])?this._events[e].push(o):this._events[e]=[this._events[e],o]:this._events[e]=o,r(this._events[e])&&!this._events[e].warned&&(i=s(this._maxListeners)?t.defaultMaxListeners:this._maxListeners,i&&0<i&&this._events[e].length>i&&(this._events[e].warned=!0,console.error('(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.',this._events[e].length),'function'==typeof console.trace&&console.trace())),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){function o(){this.removeListener(e,o),r||(r=!0,t.apply(this,arguments))}if(!n(t))throw TypeError('listener must be a function');var r=!1;return o.listener=t,this.on(e,o),this},t.prototype.removeListener=function(e,t){var o,s,l,a;if(!n(t))throw TypeError('listener must be a function');if(!this._events||!this._events[e])return this;if(o=this._events[e],l=o.length,s=-1,o===t||n(o.listener)&&o.listener===t)delete this._events[e],this._events.removeListener&&this.emit('removeListener',e,t);else if(r(o)){for(a=l;0<a--;)if(o[a]===t||o[a].listener&&o[a].listener===t){s=a;break}if(0>s)return this;1===o.length?(o.length=0,delete this._events[e]):o.splice(s,1),this._events.removeListener&&this.emit('removeListener',e,t)}return this},t.prototype.removeAllListeners=function(e){var t,o;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)'removeListener'!==t&&this.removeAllListeners(t);return this.removeAllListeners('removeListener'),this._events={},this}if(o=this._events[e],n(o))this.removeListener(e,o);else if(o)for(;o.length;)this.removeListener(e,o[o.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?n(this._events[e])?[this._events[e]]:this._events[e].slice():[],t},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(n(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){const o=n(9);e.exports=function(e='',t='',n){const r=new o().update(n).update(e).digest('base64'),s=new o().update(r).update(t).digest('base64');return s}},function(e,t,n){(function(t){function o(){this.init(),this._w=d,c.call(this,64,56)}function r(e,t,n){return n^e&(t^n)}function s(e,t,n){return e&t|n&(e|t)}function i(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function l(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function a(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function p(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var u=n(14),c=n(15),_=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],d=Array(64);u(o,c),o.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},o.prototype._update=function(t){for(var n=this._w,o=0|this._a,u=0|this._b,m=0|this._c,c=0|this._d,d=0|this._e,e=0|this._f,f=0|this._g,g=0|this._h,h=0;16>h;++h)n[h]=t.readInt32BE(4*h);for(;64>h;++h)n[h]=0|p(n[h-2])+n[h-7]+a(n[h-15])+n[h-16];for(var y=0;64>y;++y){var b=0|g+l(d)+r(d,e,f)+_[y]+n[y],S=0|i(o)+s(o,u,m);g=f,f=e,e=d,d=0|c+b,c=m,m=u,u=o,o=0|b+S}this._a=0|o+this._a,this._b=0|u+this._b,this._c=0|m+this._c,this._d=0|c+this._d,this._e=0|d+this._e,this._f=0|e+this._f,this._g=0|f+this._g,this._h=0|g+this._h},o.prototype._hash=function(){var e=new t(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=o}).call(t,n(0).Buffer)},function(e){var t=function(){return this}();try{t=t||Function('return this')()||(1,eval)('this')}catch(n){'object'==typeof window&&(t=window)}e.exports=t},function(e,t){'use strict';function n(e){var t=e.length;if(0<t%4)throw new Error('Invalid string. Length must be a multiple of 4');return'='===e[t-2]?2:'='===e[t-1]?1:0}function o(e){return s[63&e>>18]+s[63&e>>12]+s[63&e>>6]+s[63&e]}function r(e,t,n){for(var r,s=[],l=t;l<n;l+=3)r=(e[l]<<16)+(e[l+1]<<8)+e[l+2],s.push(o(r));return s.join('')}t.byteLength=function(e){return 3*e.length/4-n(e)},t.toByteArray=function(e){var t,o,r,s,i,l=e.length;s=n(e),i=new p(3*l/4-s),o=0<s?l-4:l;var u=0;for(t=0;t<o;t+=4)r=a[e.charCodeAt(t)]<<18|a[e.charCodeAt(t+1)]<<12|a[e.charCodeAt(t+2)]<<6|a[e.charCodeAt(t+3)],i[u++]=255&r>>16,i[u++]=255&r>>8,i[u++]=255&r;return 2===s?(r=a[e.charCodeAt(t)]<<2|a[e.charCodeAt(t+1)]>>4,i[u++]=255&r):1===s&&(r=a[e.charCodeAt(t)]<<10|a[e.charCodeAt(t+1)]<<4|a[e.charCodeAt(t+2)]>>2,i[u++]=255&r>>8,i[u++]=255&r),i},t.fromByteArray=function(e){for(var t,n=e.length,o=n%3,l='',a=[],p=16383,u=0,i=n-o;u<i;u+=p)a.push(r(e,u,u+p>i?i:u+p));return 1==o?(t=e[n-1],l+=s[t>>2],l+=s[63&t<<4],l+='=='):2==o&&(t=(e[n-2]<<8)+e[n-1],l+=s[t>>10],l+=s[63&t>>4],l+=s[63&t<<2],l+='='),a.push(l),a.join('')};for(var s=[],a=[],p='undefined'==typeof Uint8Array?Array:Uint8Array,l='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',u=0,i=l.length;u<i;++u)s[u]=l[u],a[l.charCodeAt(u)]=u;a[45]=62,a[95]=63},function(e,t){var n=Math.pow;t.read=function(t,o,r,l,a){var p,e,u=8*a-l-1,c=(1<<u)-1,g=c>>1,f=-7,h=r?a-1:0,i=r?-1:1,d=t[o+h];for(h+=i,p=d&(1<<-f)-1,d>>=-f,f+=u;0<f;p=256*p+t[o+h],h+=i,f-=8);for(e=p&(1<<-f)-1,p>>=-f,f+=l;0<f;e=256*e+t[o+h],h+=i,f-=8);if(0===p)p=1-g;else{if(p===c)return e?NaN:(d?-1:1)*Infinity;e+=n(2,l),p-=g}return(d?-1:1)*e*n(2,p-l)},t.write=function(t,o,r,l,a,p){var u,g,f,c=8*p-a-1,h=(1<<c)-1,_=h>>1,m=23===a?5.960464477539063e-8-6.617444900424222e-24:0,y=l?0:p-1,i=l?1:-1,d=0>o||0===o&&0>1/o?1:0;for(o=Math.abs(o),isNaN(o)||o===Infinity?(g=isNaN(o)?1:0,u=h):(u=Math.floor(Math.log(o)/Math.LN2),1>o*(f=n(2,-u))&&(u--,f*=2),o+=1<=u+_?m/f:m*n(2,1-_),2<=o*f&&(u++,f/=2),u+_>=h?(g=0,u=h):1<=u+_?(g=(o*f-1)*n(2,a),u+=_):(g=o*n(2,_-1)*n(2,a),u=0));8<=a;t[r+y]=255&g,y+=i,g/=256,a-=8);for(u=u<<a|g,c+=a;0<c;t[r+y]=255&u,y+=i,u/=256,c-=8);t[r+y-i]|=128*d}},function(e){var t={}.toString;e.exports=Array.isArray||function(e){return'[object Array]'==t.call(e)}},function(e){e.exports='function'==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){(function(n){function t(e,t){this._block=new n(e),this._finalSize=t,this._blockSize=e,this._len=0,this._s=0}t.prototype.update=function(e,o){'string'==typeof e&&(o=o||'utf8',e=new n(e,o));for(var r=this._len+=e.length,l=this._s||0,s=0,a=this._block;l<r;){for(var p=Math.min(e.length,s+this._blockSize-l%this._blockSize),t=p-s,u=0;u<t;u++)a[l%this._blockSize+u]=e[u+s];l+=t,s+=t,0==l%this._blockSize&&this._update(a)}return this._s=l,this},t.prototype.digest=function(e){var t=8*this._len;this._block[this._len%this._blockSize]=128,this._block.fill(0,this._len%this._blockSize+1),t%(8*this._blockSize)>=8*this._finalSize&&(this._update(this._block),this._block.fill(0)),this._block.writeInt32BE(t,this._blockSize-4);var n=this._update(this._block)||this._hash();return e?n.toString(e):n},t.prototype._update=function(){throw new Error('_update must be implemented by subclass')},e.exports=t}).call(t,n(0).Buffer)},function(e){function t(){throw new Error('setTimeout has not been defined')}function n(){throw new Error('clearTimeout has not been defined')}function o(e){if(p===setTimeout)return setTimeout(e,0);if((p===t||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}function r(e){if(u===clearTimeout)return clearTimeout(e);if((u===n||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(e);try{return u(e)}catch(t){try{return u.call(null,e)}catch(t){return u.call(this,e)}}}function s(){f&&d&&(f=!1,d.length?g=d.concat(g):h=-1,g.length&&l())}function l(){if(!f){var e=o(s);f=!0;for(var t=g.length;t;){for(d=g,g=[];++h<t;)d&&d[h].run();h=-1,t=g.length}d=null,f=!1,r(e)}}function a(e,t){this.fun=e,this.array=t}function i(){}var p,u,c=e.exports={};(function(){try{p='function'==typeof setTimeout?setTimeout:t}catch(n){p=t}try{u='function'==typeof clearTimeout?clearTimeout:n}catch(t){u=n}})();var d,g=[],f=!1,h=-1;c.nextTick=function(e){var t=Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];g.push(new a(e,t)),1!==g.length||f||o(l)},a.prototype.run=function(){this.fun.apply(null,this.array)},c.title='browser',c.browser=!0,c.env={},c.argv=[],c.version='',c.versions={},c.on=i,c.addListener=i,c.once=i,c.off=i,c.removeListener=i,c.removeAllListeners=i,c.emit=i,c.prependListener=i,c.prependOnceListener=i,c.listeners=function(){return[]},c.binding=function(){throw new Error('process.binding is not supported')},c.cwd=function(){return'/'},c.chdir=function(){throw new Error('process.chdir is not supported')},c.umask=function(){return 0}},function(e,t,n){function o(e){var n,o=0;for(n in e)o=(o<<5)-o+e.charCodeAt(n),o|=0;return t.colors[Math.abs(o)%t.colors.length]}function r(e){function n(){if(n.enabled){var e=n,o=+new Date,r=o-(s||o);e.diff=r,e.prev=s,e.curr=o,s=o;for(var l=Array(arguments.length),a=0;a<l.length;a++)l[a]=arguments[a];l[0]=t.coerce(l[0]),'string'!=typeof l[0]&&l.unshift('%O');var i=0;l[0]=l[0].replace(/%([a-zA-Z%])/g,function(n,o){if('%%'===n)return n;i++;var r=t.formatters[o];if('function'==typeof r){var s=l[i];n=r.call(e,s),l.splice(i,1),i--}return n}),t.formatArgs.call(e,l);var p=n.log||t.log||console.log.bind(console);p.apply(e,l)}}return n.namespace=e,n.enabled=t.enabled(e),n.useColors=t.useColors(),n.color=o(e),'function'==typeof t.init&&t.init(n),n}t=e.exports=r.debug=r['default']=r,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){t.enable('')},t.enable=function(e){t.save(e),t.names=[],t.skips=[];for(var n=('string'==typeof e?e:'').split(/[\s,]+/),o=n.length,r=0;r<o;r++)n[r]&&(e=n[r].replace(/\*/g,'.*?'),'-'===e[0]?t.skips.push(new RegExp('^'+e.substr(1)+'$')):t.names.push(new RegExp('^'+e+'$')))},t.enabled=function(e){var n,o;for(n=0,o=t.skips.length;n<o;n++)if(t.skips[n].test(e))return!1;for(n=0,o=t.names.length;n<o;n++)if(t.names[n].test(e))return!0;return!1},t.humanize=n(18),t.names=[],t.skips=[],t.formatters={};var s},function(e){function t(e){if(e+='',!(100<e.length)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var o=parseFloat(t[1]),n=(t[2]||'ms').toLowerCase();return'years'===n||'year'===n||'yrs'===n||'yr'===n||'y'===n?o*p:'days'===n||'day'===n||'d'===n?o*a:'hours'===n||'hour'===n||'hrs'===n||'hr'===n||'h'===n?o*l:'minutes'===n||'minute'===n||'mins'===n||'min'===n||'m'===n?o*s:'seconds'===n||'second'===n||'secs'===n||'sec'===n||'s'===n?o*i:'milliseconds'===n||'millisecond'===n||'msecs'===n||'msec'===n||'ms'===n?o:void 0}}}function n(e){var t=Math.round;return e>=a?t(e/a)+'d':e>=l?t(e/l)+'h':e>=s?t(e/s)+'m':e>=i?t(e/i)+'s':e+'ms'}function o(e){return r(e,a,'day')||r(e,l,'hour')||r(e,s,'minute')||r(e,i,'second')||e+' ms'}function r(e,t,n){return e<t?void 0:e<1.5*t?Math.floor(e/t)+' '+n:Math.ceil(e/t)+' '+n+'s'}var i=1e3,s=60*i,l=60*s,a=24*l,p=365.25*a;e.exports=function(e,r){r=r||{};var s=typeof e;if('string'==s&&0<e.length)return t(e);if('number'==s&&!1===isNaN(e))return r.long?o(e):n(e);throw new Error('val is not a non-empty string or a valid number. val='+JSON.stringify(e))}},function(e){e.exports=function(e,t,n){n&&n.stack?e(`${t}\n %O`,n.stack):'object'==typeof n?e(`${t} %o`,n):e(`${t} %s`,n)}},function(e){e.exports=function(e){for(const t in e=e||{},e){if(!{}.hasOwnProperty.call(e,t))continue;const n=t.replace(/-([a-z])/gi,(e,t)=>{return t.toUpperCase()});e[n]=e[t]}return e}},function(e){e.exports={availableMethods:['GetVersion','GetAuthRequired','SetCurrentScene','GetCurrentScene','GetSceneList','SetSourceRender','SetSceneItemRender','SetSceneItemPosition','SetSceneItemTransform','SetSceneItemCrop','GetStreamingStatus','StartStopStreaming','StartStopRecording','StartStreaming','StopStreaming','StartRecording','StopRecording','GetTransitionList','GetCurrentTransition','SetCurrentTransition','GetTransitionDuration','SetTransitionDuration','SetVolume','GetVolume','ToggleMute','GetMute','SetMute','GetSpecialSources','SetCurrentSceneCollection','GetCurrentSceneCollection','ListSceneCollections','SetCurrentProfile','GetCurrentProfile','ListProfiles','GetStudioModeStatus','GetPreviewScene','SetPreviewScene','TransitionToProgram','EnableStudioMode','DisableStudioMode','ToggleStudioMode','GetCurrentRTMPSettings','GetRecordingFolder','SetRecordingFolder','GetTextGDIPlusProperties','SetTextGDIPlusProperties','GetBrowserSourceProperties','SetBrowserSourceProperties','GetStreamSettings','SetStreamSettings','SaveStreamSettings'],availableEvents:['ConnectionOpened','ConnectionClosed','AuthenticationSuccess','AuthenticationFailure','SwitchScenes','ScenesChanged','SceneCollectionChanged','SceneCollectionListChanged','SwitchTransition','TransitionListChanged','ProfileChanged','ProfileListChanged','StreamStarting','StreamStarted','StreamStopping','StreamStopped','RecordingStarting','RecordingStarted','RecordingStopping','RecordingStopped','Exiting','StreamStatus','TransitionDurationChanged','TransitionBegin','SourceOrderChanged','SceneItemAdded','SceneItemRemoved','SceneItemVisibilityChanged','PreviewSceneChanged','StudioModeSwitched']}}]); | ||
| //# sourceMappingURL=obs-websocket.min.js.map |
Sorry, the diff of this file is too big to display
| module.exports = function (obj) { | ||
| obj = obj || {}; | ||
| for (const key in obj) { | ||
| if (!{}.hasOwnProperty.call(obj, key)) { | ||
| continue; | ||
| } | ||
| const camelCasedKey = key.replace(/-([a-z])/gi, ($0, $1) => { | ||
| return $1.toUpperCase(); | ||
| }); | ||
| obj[camelCasedKey] = obj[key]; | ||
| } | ||
| return obj; | ||
| }; |
+23
-1
| # Change Log | ||
| ## [vv0.7.0](https://github.com/haganbmj/obs-websocket-js/tree/vv0.7.0) (2017-07-18) | ||
| [Full Changelog](https://github.com/haganbmj/obs-websocket-js/compare/v0.6.1...vv0.7.0) | ||
| **Fixed bugs:** | ||
| - Fix onAuthenticationFailed emitter [\#49](https://github.com/haganbmj/obs-websocket-js/issues/49) | ||
| **Closed issues:** | ||
| - Add Get/Set/SaveStreamSettings [\#59](https://github.com/haganbmj/obs-websocket-js/issues/59) | ||
| - \[API\] Add TextSource and BrowserSource modification methods [\#56](https://github.com/haganbmj/obs-websocket-js/issues/56) | ||
| - \[Build\] Remove Grunt, update Webpack config [\#54](https://github.com/haganbmj/obs-websocket-js/issues/54) | ||
| - \[API\] add Get/SetRecordingFolder [\#52](https://github.com/haganbmj/obs-websocket-js/issues/52) | ||
| **Merged pull requests:** | ||
| - Update ava to the latest version 🚀 [\#60](https://github.com/haganbmj/obs-websocket-js/pull/60) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) | ||
| - Update ava to the latest version 🚀 [\#58](https://github.com/haganbmj/obs-websocket-js/pull/58) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) | ||
| - Update eslint to the latest version 🚀 [\#57](https://github.com/haganbmj/obs-websocket-js/pull/57) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) | ||
| - Update webpack to the latest version 🚀 [\#55](https://github.com/haganbmj/obs-websocket-js/pull/55) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) | ||
| - Update dependencies to enable Greenkeeper 🌴 [\#50](https://github.com/haganbmj/obs-websocket-js/pull/50) ([greenkeeper[bot]](https://github.com/apps/greenkeeper)) | ||
| ## [v0.6.1](https://github.com/haganbmj/obs-websocket-js/tree/v0.6.1) (2017-06-04) | ||
@@ -8,3 +30,3 @@ [Full Changelog](https://github.com/haganbmj/obs-websocket-js/compare/v0.6.0...v0.6.1) | ||
| - \[API\] Expose addEvent and addRequest methods [\#47](https://github.com/haganbmj/obs-websocket-js/issues/47) | ||
| - \[API\] Expose registerEvent and registerRequest methods [\#47](https://github.com/haganbmj/obs-websocket-js/issues/47) | ||
| - \[API\] Strengthen Address Parsing [\#21](https://github.com/haganbmj/obs-websocket-js/issues/21) | ||
@@ -11,0 +33,0 @@ |
+4
-2
@@ -1,2 +0,2 @@ | ||
| // Last Updated: May 05, 2017 | ||
| // Last Updated: July 06, 2017 | ||
@@ -14,3 +14,5 @@ const API = { | ||
| 'GetStudioModeStatus', 'GetPreviewScene', 'SetPreviewScene', 'TransitionToProgram', 'EnableStudioMode', 'DisableStudioMode', 'ToggleStudioMode', | ||
| 'GetCurrentRTMPSettings' | ||
| 'GetCurrentRTMPSettings', 'GetRecordingFolder', 'SetRecordingFolder', | ||
| 'GetTextGDIPlusProperties', 'SetTextGDIPlusProperties', 'GetBrowserSourceProperties', 'SetBrowserSourceProperties', | ||
| 'GetStreamSettings', 'SetStreamSettings', 'SaveStreamSettings' | ||
| ], | ||
@@ -17,0 +19,0 @@ availableEvents: [ |
+15
-19
@@ -7,21 +7,6 @@ const WebSocket = require('ws'); | ||
| const logAmbiguousError = require('./util/logAmbiguousError'); | ||
| const camelCaseKeys = require('./util/camelCaseKeys'); | ||
| const NOP = function () {}; | ||
| function camelCaseKeys(obj) { | ||
| obj = obj || {}; | ||
| for (const key in obj) { | ||
| if (!{}.hasOwnProperty.call(obj, key)) { | ||
| continue; | ||
| } | ||
| const camelCasedKey = key.replace(/-([a-z])/gi, ($0, $1) => { | ||
| return $1.toUpperCase(); | ||
| }); | ||
| obj[camelCasedKey] = obj[key]; | ||
| } | ||
| return obj; | ||
| } | ||
| class Socket extends EventEmitter { | ||
@@ -68,3 +53,3 @@ constructor() { | ||
| // eslint-disable-next-line capitalized-comments | ||
| // debug('[OnMessage]: %o', msg); | ||
| debug('[OnMessage]: %o', msg); | ||
| const message = camelCaseKeys(JSON.parse(msg.data)); | ||
@@ -92,2 +77,4 @@ let err; | ||
| // Looks like this should be bound. We don't technically cancel the connection when the authentication fails. | ||
| // This whole method really needs a rewrite. | ||
| this._socket.onclose = () => { | ||
@@ -113,3 +100,4 @@ this._connected = false; | ||
| * Opens a WebSocket connection to an obs-websocket server, but does not attempt any authentication. | ||
| * @param address {String} | ||
| * | ||
| * @param {String} address | ||
| * @returns {Promise} | ||
@@ -149,3 +137,4 @@ * @private | ||
| * Authenticates to an obs-websocket server. Must already have an active connection before calling this method. | ||
| * @param [password=''] {String} | ||
| * | ||
| * @param {String} [password=''] | ||
| * @returns {Promise} | ||
@@ -165,2 +154,3 @@ * @private | ||
| this.emit('AuthenticationSuccess'); | ||
| return Promise.resolve(Status.AUTH_NOT_REQUIRED); | ||
@@ -175,2 +165,8 @@ } | ||
| }); | ||
| }) | ||
| .catch(err => { | ||
| debug('Authentication Failure. %o', err); | ||
| this.emit('AuthenticationFailure', err); | ||
| throw err; | ||
| }); | ||
@@ -177,0 +173,0 @@ } |
@@ -5,5 +5,6 @@ const SHA256 = require('sha.js/sha256'); | ||
| * SHA256 Hashing. | ||
| * | ||
| * @param {String} [salt=''] | ||
| * @param {String} [challenge=''] | ||
| * @param {String} msg | ||
| * @param {String} msg Message to encode. | ||
| * @return {String} | ||
@@ -10,0 +11,0 @@ */ |
+13
-18
| { | ||
| "name": "obs-websocket-js", | ||
| "version": "0.6.1", | ||
| "version": "0.7.0", | ||
| "description": "OBS Websocket API in Javascript, consume @Palakis/obs-websocket", | ||
@@ -9,5 +9,4 @@ "main": "index.js", | ||
| "scripts": { | ||
| "grunt": "grunt", | ||
| "build": "grunt", | ||
| "watch": "grunt watch", | ||
| "build": "webpack", | ||
| "watch": "webpack --watch", | ||
| "test": "npm run static && nyc ava", | ||
@@ -29,19 +28,15 @@ "ava": "nyc ava", | ||
| "dependencies": { | ||
| "debug": "^2.6.6", | ||
| "debug": "^2.6.8", | ||
| "sha.js": "^2.4.8", | ||
| "ws": "^2.3.1" | ||
| "ws": "^3.0.0" | ||
| }, | ||
| "devDependencies": { | ||
| "ava": "^0.19.1", | ||
| "ava": "^0.21.0", | ||
| "babili-webpack-plugin": "^0.1.1", | ||
| "coveralls": "^2.13.1", | ||
| "eslint": "^3.19.0", | ||
| "eslint": "^4.1.0", | ||
| "eslint-config-xo-space": "^0.16.0", | ||
| "eslint-plugin-ava": "^4.2.0", | ||
| "grunt": "^1.0.1", | ||
| "grunt-contrib-clean": "^1.0.0", | ||
| "grunt-contrib-concat": "^1.0.1", | ||
| "grunt-webpack": "^2.0.1", | ||
| "load-grunt-tasks": "^3.5.2", | ||
| "nyc": "^10.3.0", | ||
| "webpack": "^2.2.1" | ||
| "nyc": "^11.0.2", | ||
| "webpack": "^3.0.0" | ||
| }, | ||
@@ -52,4 +47,2 @@ "bugs": { | ||
| "homepage": "https://github.com/haganbmj/obs-websocket-js#readme", | ||
| "sha": "dfccd1ebb5ed9f35c56e2d11602209997af0da9a", | ||
| "timestamp": "2017-06-04 02:15:14+00:00", | ||
| "eslintConfig": { | ||
@@ -63,3 +56,5 @@ "extends": "xo-space/esnext" | ||
| ] | ||
| } | ||
| }, | ||
| "sha": "08414eef37ef5cef7becc843b6aec8870a9fb62e", | ||
| "timestamp": "2017-07-18 04:45:52+00:00" | ||
| } |
+2
-1
@@ -12,3 +12,4 @@ # obs-websocket-js | ||
| <a href="https://github.com/haganbmj/obs-websocket-js/releases"><img src="https://img.shields.io/github/release/haganbmj/obs-websocket-js.svg?style=flat"></a> | ||
| <img src="https://img.shields.io/badge/license-MIT-blue.svg"> | ||
| <a href="https://greenkeeper.io/"><img src="https://badges.greenkeeper.io/haganbmj/obs-websocket-js.svg"></a> | ||
| <img src="https://img.shields.io/npm/l/obs-websocket-js.svg"> | ||
| <img src="https://img.shields.io/npm/dt/obs-websocket-js.svg"> | ||
@@ -15,0 +16,0 @@ </p> |
+22
-2
| const path = require('path'); | ||
| const webpack = require('webpack'); | ||
| const BabiliPlugin = require('babili-webpack-plugin'); | ||
| const pkg = require('./package.json'); | ||
| let banner = | ||
| `OBS WebSocket Javascript API (${pkg.name}) v${pkg.version}\n` + | ||
| `Author: ${pkg.author}\n` + | ||
| `License: ${pkg.license}\n` + | ||
| `Repository: ${pkg.repoUrl}\n` + | ||
| `Build Timestamp: ${pkg.timestamp || new Date().toISOString()}`; | ||
| banner += pkg.sha ? `\nBuilt from Commit: ${pkg.repoUrl}/commit/${pkg.sha}` : ``; | ||
| module.exports = { | ||
| target: 'web', | ||
| entry: { | ||
| 'obs-websocket': './index.js' | ||
| 'obs-websocket': './index.js', | ||
| 'obs-websocket.min': './index.js' | ||
| }, | ||
@@ -16,3 +29,10 @@ output: { | ||
| }, | ||
| devtool: false | ||
| devtool: 'source-map', | ||
| plugins: [ | ||
| new BabiliPlugin({}, { | ||
| test: /\.min\.js($|\?)/i, | ||
| comments: false | ||
| }), | ||
| new webpack.BannerPlugin({banner}) | ||
| ] | ||
| }; |
-45
| module.exports = function (grunt) { | ||
| 'use strict'; | ||
| grunt.util.linefeed = '\n'; | ||
| grunt.initConfig({ | ||
| pkg: grunt.file.readJSON('package.json'), | ||
| banner: '/*\n' + | ||
| ' * OBS WebSocket Javascript API (<%= pkg.name %>) v<%= pkg.version %>\n' + | ||
| ' * Author: <%= pkg.author %>\n' + | ||
| ' * Repository: <%= pkg.repoUrl %>\n' + | ||
| ' * Built from Commit SHA: <%= pkg.sha %>\n' + | ||
| ' * Build Timestamp: <%= pkg.timestamp %>\n' + | ||
| ' */\n\n', | ||
| webpack: { | ||
| options: require('./webpack.config.js'), | ||
| obswebsocket: { | ||
| failOnError: false | ||
| }, | ||
| obswebsocketWatch: { | ||
| failOnError: false, | ||
| watch: true | ||
| } | ||
| }, | ||
| clean: { | ||
| dist: 'dist' | ||
| }, | ||
| concat: { | ||
| options: { | ||
| banner: '<%= banner %>', | ||
| stripBanners: false | ||
| }, | ||
| obswebsocket: { | ||
| src: 'dist/obs-websocket.js', | ||
| dest: 'dist/obs-websocket.js' | ||
| } | ||
| } | ||
| }); | ||
| require('load-grunt-tasks')(grunt, {scope: 'devDependencies'}); | ||
| grunt.registerTask('build', ['clean:dist', 'webpack:obswebsocket', 'concat']); | ||
| grunt.registerTask('watch', ['webpack:obswebsocketWatch']); | ||
| grunt.registerTask('default', ['build']); | ||
| }; |
Sorry, the diff of this file is too big to display
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
430536
216.02%8
-33.33%19
18.75%3887
4.69%198
0.51%12
-25%2
100%2
100%+ Added
+ Added
+ Added
- Removed
- Removed
Updated
Updated