webamp 0.0.0-next-b5bf64a → 0.0.0-next-50e6e21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/built/types/js/webampWithButterchurn.d.ts +8 -0
- package/built/webamp.bundle.js +5747 -707
- package/built/webamp.bundle.js.map +1 -1
- package/built/webamp.bundle.min.js +7 -7
- package/built/webamp.bundle.min.js.map +1 -1
- package/built/webamp.bundle.min.mjs +7 -7
- package/built/webamp.bundle.min.mjs.map +1 -1
- package/built/webamp.butterchurn-bundle.min.mjs +37 -0
- package/built/webamp.butterchurn-bundle.min.mjs.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var n=function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,i.get?i:{enumerable:!0,get:function(){return e[t]}})}),n}var i={},r={},a={},s={exports:{}};function A(){}function o(){o.init.call(this)}function l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,n,i){var r,a,s;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((a=e._events)?(a.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),a=e._events),s=a[t]):(a=e._events=new A,e._eventsCount=0),s){if("function"==typeof s?s=a[t]=i?[n,s]:[s,n]:i?s.unshift(n):s.push(n),!s.warned&&(r=l(e))&&r>0&&s.length>r){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else s=a[t]=n,++e._eventsCount;return e}function u(e,t,n){var i=!1;function r(){e.removeListener(t,r),i||(i=!0,n.apply(e,arguments))}return r.listener=n,r}function h(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function d(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}A.prototype=Object.create(null),o.EventEmitter=o,o.usingDomains=!1,o.prototype.domain=void 0,o.prototype._events=void 0,o.prototype._maxListeners=void 0,o.defaultMaxListeners=10,o.init=function(){this.domain=null,o.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new A,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return l(this)},o.prototype.emit=function(e){var t,n,i,r,a,s,A,o="error"===e;if(s=this._events)o=o&&null==s.error;else if(!o)return!1;if(A=this.domain,o){if(t=arguments[1],!A){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=A,t.domainThrown=!1,A.emit("error",t),!1}if(!(n=s[e]))return!1;var c="function"==typeof n;switch(i=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var i=e.length,r=d(e,i),a=0;a<i;++a)r[a].call(n)}(n,c,this);break;case 2:!function(e,t,n,i){if(t)e.call(n,i);else for(var r=e.length,a=d(e,r),s=0;s<r;++s)a[s].call(n,i)}(n,c,this,arguments[1]);break;case 3:!function(e,t,n,i,r){if(t)e.call(n,i,r);else for(var a=e.length,s=d(e,a),A=0;A<a;++A)s[A].call(n,i,r)}(n,c,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,i,r,a){if(t)e.call(n,i,r,a);else for(var s=e.length,A=d(e,s),o=0;o<s;++o)A[o].call(n,i,r,a)}(n,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(r=new Array(i-1),a=1;a<i;a++)r[a-1]=arguments[a];!function(e,t,n,i){if(t)e.apply(n,i);else for(var r=e.length,a=d(e,r),s=0;s<r;++s)a[s].apply(n,i)}(n,c,this,r)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,u(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,u(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,i,r,a,s;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(i=this._events))return this;if(!(n=i[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new A:(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(r=-1,a=n.length;a-- >0;)if(n[a]===t||n[a].listener&&n[a].listener===t){s=n[a].listener,r=a;break}if(r<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new A,this;delete i[e]}else!function(e,t){for(var n=t,i=n+1,r=e.length;i<r;n+=1,i+=1)e[n]=e[i];e.pop()}(n,r);i.removeListener&&this.emit("removeListener",e,s||t)}return this},o.prototype.off=function(e,t){return this.removeListener(e,t)},o.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new A,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new A:delete n[e]),this;if(0===arguments.length){for(var i,r=Object.keys(n),a=0;a<r.length;++a)"removeListener"!==(i=r[a])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=new A,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},o.prototype.listeners=function(e){var t,n,i=this._events;return n=i&&(t=i[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[],n},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var g=Object.freeze({__proto__:null,EventEmitter:o,default:o}),p="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},f=[],m=[],b="undefined"!=typeof Uint8Array?Uint8Array:Array,w=!1;function E(){w=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0;t<64;++t)f[t]=e[t],m[e.charCodeAt(t)]=t;m["-".charCodeAt(0)]=62,m["_".charCodeAt(0)]=63}function y(e){return f[e>>18&63]+f[e>>12&63]+f[e>>6&63]+f[63&e]}function v(e,t,n){for(var i,r=[],a=t;a<n;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],r.push(y(i));return r.join("")}function k(e){var t;w||E();for(var n=e.length,i=n%3,r="",a=[],s=16383,A=0,o=n-i;A<o;A+=s)a.push(v(e,A,A+s>o?o:A+s));return 1===i?(t=e[n-1],r+=f[t>>2],r+=f[t<<4&63],r+="=="):2===i&&(t=(e[n-2]<<8)+e[n-1],r+=f[t>>10],r+=f[t>>4&63],r+=f[t<<2&63],r+="="),a.push(r),a.join("")}function S(e,t,n,i,r){var a,s,A=8*r-i-1,o=(1<<A)-1,l=o>>1,c=-7,u=n?r-1:0,h=n?-1:1,d=e[t+u];for(u+=h,a=d&(1<<-c)-1,d>>=-c,c+=A;c>0;a=256*a+e[t+u],u+=h,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=i;c>0;s=256*s+e[t+u],u+=h,c-=8);if(0===a)a=1-l;else{if(a===o)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),a-=l}return(d?-1:1)*s*Math.pow(2,a-i)}function x(e,t,n,i,r,a){var s,A,o,l=8*a-r-1,c=(1<<l)-1,u=c>>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:a-1,g=i?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(A=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-s))<1&&(s--,o*=2),(t+=s+u>=1?h/o:h*Math.pow(2,1-u))*o>=2&&(s++,o/=2),s+u>=c?(A=0,s=c):s+u>=1?(A=(t*o-1)*Math.pow(2,r),s+=u):(A=t*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;e[n+d]=255&A,d+=g,A/=256,r-=8);for(s=s<<r|A,l+=r;l>0;e[n+d]=255&s,d+=g,s/=256,l-=8);e[n+d-g]|=128*p}var I={}.toString,C=Array.isArray||function(e){return"[object Array]"==I.call(e)};U.TYPED_ARRAY_SUPPORT=void 0===p.TYPED_ARRAY_SUPPORT||p.TYPED_ARRAY_SUPPORT;var T=_();function _(){return U.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function B(e,t){if(_()<t)throw new RangeError("Invalid typed array length");return U.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=U.prototype:(null===e&&(e=new U(t)),e.length=t),e}function U(e,t,n){if(!(U.TYPED_ARRAY_SUPPORT||this instanceof U))return new U(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 L(this,e)}return M(this,e,t,n)}function M(e,t,n,i){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,i){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(i||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===i?new Uint8Array(t):void 0===i?new Uint8Array(t,n):new Uint8Array(t,n,i);U.TYPED_ARRAY_SUPPORT?(e=t).__proto__=U.prototype:e=N(e,t);return e}(e,t,n,i):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!U.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var i=0|F(t,n);e=B(e,i);var r=e.write(t,n);r!==i&&(e=e.slice(0,r));return e}(e,t,n):function(e,t){if(P(t)){var n=0|D(t.length);return 0===(e=B(e,n)).length||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||(i=t.length)!=i?B(e,0):N(e,t);if("Buffer"===t.type&&C(t.data))return N(e,t.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function R(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function L(e,t){if(R(t),e=B(e,t<0?0:0|D(t)),!U.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function N(e,t){var n=t.length<0?0:0|D(t.length);e=B(e,n);for(var i=0;i<n;i+=1)e[i]=255&t[i];return e}function D(e){if(e>=_())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+_().toString(16)+" bytes");return 0|e}function P(e){return!(null==e||!e._isBuffer)}function F(e,t){if(P(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 i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return ue(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return he(e).length;default:if(i)return ue(e).length;t=(""+t).toLowerCase(),i=!0}}function O(e,t,n){var i=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return ee(this,t,n);case"utf8":case"utf-8":return W(this,t,n);case"ascii":return Z(this,t,n);case"latin1":case"binary":return $(this,t,n);case"base64":return J(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,t,n);default:if(i)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),i=!0}}function z(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function Q(e,t,n,i,r){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=r?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(r)return-1;n=e.length-1}else if(n<0){if(!r)return-1;n=0}if("string"==typeof t&&(t=U.from(t,i)),P(t))return 0===t.length?-1:V(e,t,n,i,r);if("number"==typeof t)return t&=255,U.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?r?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):V(e,[t],n,i,r);throw new TypeError("val must be string, number or Buffer")}function V(e,t,n,i,r){var a,s=1,A=e.length,o=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return-1;s=2,A/=2,o/=2,n/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(r){var c=-1;for(a=n;a<A;a++)if(l(e,a)===l(t,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===o)return c*s}else-1!==c&&(a-=a-c),c=-1}else for(n+o>A&&(n=A-o),a=n;a>=0;a--){for(var u=!0,h=0;h<o;h++)if(l(e,a+h)!==l(t,h)){u=!1;break}if(u)return a}return-1}function G(e,t,n,i){n=Number(n)||0;var r=e.length-n;i?(i=Number(i))>r&&(i=r):i=r;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");i>a/2&&(i=a/2);for(var s=0;s<i;++s){var A=parseInt(t.substr(2*s,2),16);if(isNaN(A))return s;e[n+s]=A}return s}function j(e,t,n,i){return de(ue(t,e.length-n),e,n,i)}function Y(e,t,n,i){return de(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,i)}function K(e,t,n,i){return Y(e,t,n,i)}function q(e,t,n,i){return de(he(t),e,n,i)}function H(e,t,n,i){return de(function(e,t){for(var n,i,r,a=[],s=0;s<e.length&&!((t-=2)<0);++s)i=(n=e.charCodeAt(s))>>8,r=n%256,a.push(r),a.push(i);return a}(t,e.length-n),e,n,i)}function J(e,t,n){return 0===t&&n===e.length?k(e):k(e.slice(t,n))}function W(e,t,n){n=Math.min(e.length,n);for(var i=[],r=t;r<n;){var a,s,A,o,l=e[r],c=null,u=l>239?4:l>223?3:l>191?2:1;if(r+u<=n)switch(u){case 1:l<128&&(c=l);break;case 2:128==(192&(a=e[r+1]))&&(o=(31&l)<<6|63&a)>127&&(c=o);break;case 3:a=e[r+1],s=e[r+2],128==(192&a)&&128==(192&s)&&(o=(15&l)<<12|(63&a)<<6|63&s)>2047&&(o<55296||o>57343)&&(c=o);break;case 4:a=e[r+1],s=e[r+2],A=e[r+3],128==(192&a)&&128==(192&s)&&128==(192&A)&&(o=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&A)>65535&&o<1114112&&(c=o)}null===c?(c=65533,u=1):c>65535&&(c-=65536,i.push(c>>>10&1023|55296),c=56320|1023&c),i.push(c),r+=u}return function(e){var t=e.length;if(t<=X)return String.fromCharCode.apply(String,e);var n="",i=0;for(;i<t;)n+=String.fromCharCode.apply(String,e.slice(i,i+=X));return n}(i)}U.poolSize=8192,U._augment=function(e){return e.__proto__=U.prototype,e},U.from=function(e,t,n){return M(null,e,t,n)},U.TYPED_ARRAY_SUPPORT&&(U.prototype.__proto__=Uint8Array.prototype,U.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&U[Symbol.species]),U.alloc=function(e,t,n){return function(e,t,n,i){return R(t),t<=0?B(e,t):void 0!==n?"string"==typeof i?B(e,t).fill(n,i):B(e,t).fill(n):B(e,t)}(null,e,t,n)},U.allocUnsafe=function(e){return L(null,e)},U.allocUnsafeSlow=function(e){return L(null,e)},U.isBuffer=ge,U.compare=function(e,t){if(!P(e)||!P(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,i=t.length,r=0,a=Math.min(n,i);r<a;++r)if(e[r]!==t[r]){n=e[r],i=t[r];break}return n<i?-1:i<n?1:0},U.isEncoding=function(e){switch(String(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}},U.concat=function(e,t){if(!C(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return U.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var i=U.allocUnsafe(t),r=0;for(n=0;n<e.length;++n){var a=e[n];if(!P(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(i,r),r+=a.length}return i},U.byteLength=F,U.prototype._isBuffer=!0,U.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)z(this,t,t+1);return this},U.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)z(this,t,t+3),z(this,t+1,t+2);return this},U.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)z(this,t,t+7),z(this,t+1,t+6),z(this,t+2,t+5),z(this,t+3,t+4);return this},U.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?W(this,0,e):O.apply(this,arguments)},U.prototype.equals=function(e){if(!P(e))throw new TypeError("Argument must be a Buffer");return this===e||0===U.compare(this,e)},U.prototype.inspect=function(){var e="";return this.length>0&&(e=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(e+=" ... ")),"<Buffer "+e+">"},U.prototype.compare=function(e,t,n,i,r){if(!P(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===i&&(i=0),void 0===r&&(r=this.length),t<0||n>e.length||i<0||r>this.length)throw new RangeError("out of range index");if(i>=r&&t>=n)return 0;if(i>=r)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(r>>>=0)-(i>>>=0),s=(n>>>=0)-(t>>>=0),A=Math.min(a,s),o=this.slice(i,r),l=e.slice(t,n),c=0;c<A;++c)if(o[c]!==l[c]){a=o[c],s=l[c];break}return a<s?-1:s<a?1:0},U.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},U.prototype.indexOf=function(e,t,n){return Q(this,e,t,n,!0)},U.prototype.lastIndexOf=function(e,t,n){return Q(this,e,t,n,!1)},U.prototype.write=function(e,t,n,i){if(void 0===t)i="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)i=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===i&&(i="utf8")):(i=n,n=void 0)}var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var a=!1;;)switch(i){case"hex":return G(this,e,t,n);case"utf8":case"utf-8":return j(this,e,t,n);case"ascii":return Y(this,e,t,n);case"latin1":case"binary":return K(this,e,t,n);case"base64":return q(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),a=!0}},U.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var X=4096;function Z(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(127&e[r]);return i}function $(e,t,n){var i="";n=Math.min(e.length,n);for(var r=t;r<n;++r)i+=String.fromCharCode(e[r]);return i}function ee(e,t,n){var i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var r="",a=t;a<n;++a)r+=ce(e[a]);return r}function te(e,t,n){for(var i=e.slice(t,n),r="",a=0;a<i.length;a+=2)r+=String.fromCharCode(i[a]+256*i[a+1]);return r}function ne(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function ie(e,t,n,i,r,a){if(!P(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>r||t<a)throw new RangeError('"value" argument is out of bounds');if(n+i>e.length)throw new RangeError("Index out of range")}function re(e,t,n,i){t<0&&(t=65535+t+1);for(var r=0,a=Math.min(e.length-n,2);r<a;++r)e[n+r]=(t&255<<8*(i?r:1-r))>>>8*(i?r:1-r)}function ae(e,t,n,i){t<0&&(t=4294967295+t+1);for(var r=0,a=Math.min(e.length-n,4);r<a;++r)e[n+r]=t>>>8*(i?r:3-r)&255}function se(e,t,n,i,r,a){if(n+i>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Ae(e,t,n,i,r){return r||se(e,0,n,4),x(e,t,n,i,23,4),n+4}function oe(e,t,n,i,r){return r||se(e,0,n,8),x(e,t,n,i,52,8),n+8}U.prototype.slice=function(e,t){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(t=void 0===t?i:~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),t<e&&(t=e),U.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=U.prototype;else{var r=t-e;n=new U(r,void 0);for(var a=0;a<r;++a)n[a]=this[a+e]}return n},U.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||ne(e,t,this.length);for(var i=this[e],r=1,a=0;++a<t&&(r*=256);)i+=this[e+a]*r;return i},U.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||ne(e,t,this.length);for(var i=this[e+--t],r=1;t>0&&(r*=256);)i+=this[e+--t]*r;return i},U.prototype.readUInt8=function(e,t){return t||ne(e,1,this.length),this[e]},U.prototype.readUInt16LE=function(e,t){return t||ne(e,2,this.length),this[e]|this[e+1]<<8},U.prototype.readUInt16BE=function(e,t){return t||ne(e,2,this.length),this[e]<<8|this[e+1]},U.prototype.readUInt32LE=function(e,t){return t||ne(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},U.prototype.readUInt32BE=function(e,t){return t||ne(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},U.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||ne(e,t,this.length);for(var i=this[e],r=1,a=0;++a<t&&(r*=256);)i+=this[e+a]*r;return i>=(r*=128)&&(i-=Math.pow(2,8*t)),i},U.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||ne(e,t,this.length);for(var i=t,r=1,a=this[e+--i];i>0&&(r*=256);)a+=this[e+--i]*r;return a>=(r*=128)&&(a-=Math.pow(2,8*t)),a},U.prototype.readInt8=function(e,t){return t||ne(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},U.prototype.readInt16LE=function(e,t){t||ne(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},U.prototype.readInt16BE=function(e,t){t||ne(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},U.prototype.readInt32LE=function(e,t){return t||ne(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},U.prototype.readInt32BE=function(e,t){return t||ne(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},U.prototype.readFloatLE=function(e,t){return t||ne(e,4,this.length),S(this,e,!0,23,4)},U.prototype.readFloatBE=function(e,t){return t||ne(e,4,this.length),S(this,e,!1,23,4)},U.prototype.readDoubleLE=function(e,t){return t||ne(e,8,this.length),S(this,e,!0,52,8)},U.prototype.readDoubleBE=function(e,t){return t||ne(e,8,this.length),S(this,e,!1,52,8)},U.prototype.writeUIntLE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||ie(this,e,t,n,Math.pow(2,8*n)-1,0);var r=1,a=0;for(this[t]=255&e;++a<n&&(r*=256);)this[t+a]=e/r&255;return t+n},U.prototype.writeUIntBE=function(e,t,n,i){(e=+e,t|=0,n|=0,i)||ie(this,e,t,n,Math.pow(2,8*n)-1,0);var r=n-1,a=1;for(this[t+r]=255&e;--r>=0&&(a*=256);)this[t+r]=e/a&255;return t+n},U.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,1,255,0),U.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},U.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,2,65535,0),U.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):re(this,e,t,!0),t+2},U.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,2,65535,0),U.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):re(this,e,t,!1),t+2},U.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,4,4294967295,0),U.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):ae(this,e,t,!0),t+4},U.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,4,4294967295,0),U.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ae(this,e,t,!1),t+4},U.prototype.writeIntLE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);ie(this,e,t,n,r-1,-r)}var a=0,s=1,A=0;for(this[t]=255&e;++a<n&&(s*=256);)e<0&&0===A&&0!==this[t+a-1]&&(A=1),this[t+a]=(e/s|0)-A&255;return t+n},U.prototype.writeIntBE=function(e,t,n,i){if(e=+e,t|=0,!i){var r=Math.pow(2,8*n-1);ie(this,e,t,n,r-1,-r)}var a=n-1,s=1,A=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===A&&0!==this[t+a+1]&&(A=1),this[t+a]=(e/s|0)-A&255;return t+n},U.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,1,127,-128),U.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},U.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,2,32767,-32768),U.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):re(this,e,t,!0),t+2},U.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,2,32767,-32768),U.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):re(this,e,t,!1),t+2},U.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,4,2147483647,-2147483648),U.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):ae(this,e,t,!0),t+4},U.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||ie(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),U.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):ae(this,e,t,!1),t+4},U.prototype.writeFloatLE=function(e,t,n){return Ae(this,e,t,!0,n)},U.prototype.writeFloatBE=function(e,t,n){return Ae(this,e,t,!1,n)},U.prototype.writeDoubleLE=function(e,t,n){return oe(this,e,t,!0,n)},U.prototype.writeDoubleBE=function(e,t,n){return oe(this,e,t,!1,n)},U.prototype.copy=function(e,t,n,i){if(n||(n=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i<n&&(i=n),i===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t<i-n&&(i=e.length-t+n);var r,a=i-n;if(this===e&&n<t&&t<i)for(r=a-1;r>=0;--r)e[r+t]=this[r+n];else if(a<1e3||!U.TYPED_ARRAY_SUPPORT)for(r=0;r<a;++r)e[r+t]=this[r+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},U.prototype.fill=function(e,t,n,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),1===e.length){var r=e.charCodeAt(0);r<256&&(e=r)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!U.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var a;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a<n;++a)this[a]=e;else{var s=P(e)?e:ue(new U(e,i).toString()),A=s.length;for(a=0;a<n-t;++a)this[a+t]=s[a%A]}return this};var le=/[^+\/0-9A-Za-z-_]/g;function ce(e){return e<16?"0"+e.toString(16):e.toString(16)}function ue(e,t){var n;t=t||1/0;for(var i=e.length,r=null,a=[],s=0;s<i;++s){if((n=e.charCodeAt(s))>55295&&n<57344){if(!r){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===i){(t-=3)>-1&&a.push(239,191,189);continue}r=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),r=n;continue}n=65536+(r-55296<<10|n-56320)}else r&&(t-=3)>-1&&a.push(239,191,189);if(r=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function he(e){return function(e){var t,n,i,r,a,s;w||E();var A=e.length;if(A%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a="="===e[A-2]?2:"="===e[A-1]?1:0,s=new b(3*A/4-a),i=a>0?A-4:A;var o=0;for(t=0,n=0;t<i;t+=4,n+=3)r=m[e.charCodeAt(t)]<<18|m[e.charCodeAt(t+1)]<<12|m[e.charCodeAt(t+2)]<<6|m[e.charCodeAt(t+3)],s[o++]=r>>16&255,s[o++]=r>>8&255,s[o++]=255&r;return 2===a?(r=m[e.charCodeAt(t)]<<2|m[e.charCodeAt(t+1)]>>4,s[o++]=255&r):1===a&&(r=m[e.charCodeAt(t)]<<10|m[e.charCodeAt(t+1)]<<4|m[e.charCodeAt(t+2)]>>2,s[o++]=r>>8&255,s[o++]=255&r),s}(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(le,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function de(e,t,n,i){for(var r=0;r<i&&!(r+n>=t.length||r>=e.length);++r)t[r+n]=e[r];return r}function ge(e){return null!=e&&(!!e._isBuffer||pe(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&pe(e.slice(0,0))}(e))}function pe(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}var fe=Object.freeze({__proto__:null,Buffer:U,INSPECT_MAX_BYTES:50,SlowBuffer:function(e){return+e!=e&&(e=0),U.alloc(+e)},isBuffer:ge,kMaxLength:T});function me(){throw new Error("setTimeout has not been defined")}function be(){throw new Error("clearTimeout has not been defined")}var we=me,Ee=be;function ye(e){if(we===setTimeout)return setTimeout(e,0);if((we===me||!we)&&setTimeout)return we=setTimeout,setTimeout(e,0);try{return we(e,0)}catch(t){try{return we.call(null,e,0)}catch(t){return we.call(this,e,0)}}}"function"==typeof p.setTimeout&&(we=setTimeout),"function"==typeof p.clearTimeout&&(Ee=clearTimeout);var ve,ke=[],Se=!1,xe=-1;function Ie(){Se&&ve&&(Se=!1,ve.length?ke=ve.concat(ke):xe=-1,ke.length&&Ce())}function Ce(){if(!Se){var e=ye(Ie);Se=!0;for(var t=ke.length;t;){for(ve=ke,ke=[];++xe<t;)ve&&ve[xe].run();xe=-1,t=ke.length}ve=null,Se=!1,function(e){if(Ee===clearTimeout)return clearTimeout(e);if((Ee===be||!Ee)&&clearTimeout)return Ee=clearTimeout,clearTimeout(e);try{return Ee(e)}catch(t){try{return Ee.call(null,e)}catch(t){return Ee.call(this,e)}}}(e)}}function Te(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];ke.push(new _e(e,t)),1!==ke.length||Se||ye(Ce)}function _e(e,t){this.fun=e,this.array=t}_e.prototype.run=function(){this.fun.apply(null,this.array)};function Be(){}var Ue=Be,Me=Be,Re=Be,Le=Be,Ne=Be,De=Be,Pe=Be;var Fe=p.performance||{},Oe=Fe.now||Fe.mozNow||Fe.msNow||Fe.oNow||Fe.webkitNow||function(){return(new Date).getTime()};var ze=new Date;var Qe={nextTick:Te,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:Ue,addListener:Me,once:Re,off:Le,removeListener:Ne,removeAllListeners:De,emit:Pe,binding:function(e){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(e){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(e){var t=.001*Oe.call(Fe),n=Math.floor(t),i=Math.floor(t%1*1e9);return e&&(n-=e[0],(i-=e[1])<0&&(n--,i+=1e9)),[n,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-ze)/1e3}},Ve="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},Ge=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),n={},i=0;i<t.length;i++)n[t[i]]=Object.getOwnPropertyDescriptor(e,t[i]);return n},je=/%[sdj%]/g;function Ye(e){if(!At(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(We(arguments[n]));return t.join(" ")}n=1;for(var i=arguments,r=i.length,a=String(e).replace(je,function(e){if("%%"===e)return"%";if(n>=r)return e;switch(e){case"%s":return String(i[n++]);case"%d":return Number(i[n++]);case"%j":try{return JSON.stringify(i[n++])}catch(e){return"[Circular]"}default:return e}}),s=i[n];n<r;s=i[++n])rt(s)||!ut(s)?a+=" "+s:a+=" "+We(s);return a}function Ke(e,t){if(lt(p.process))return function(){return Ke(e,t).apply(this,arguments)};if(!0===Qe.noDeprecation)return e;var n=!1;return function(){if(!n){if(Qe.throwDeprecation)throw new Error(t);Qe.traceDeprecation?console.trace(t):console.error(t),n=!0}return e.apply(this,arguments)}}var qe,He={};function Je(e){if(lt(qe)&&(qe=Qe.env.NODE_DEBUG||""),e=e.toUpperCase(),!He[e])if(new RegExp("\\b"+e+"\\b","i").test(qe)){He[e]=function(){var t=Ye.apply(null,arguments);console.error("%s %d: %s",e,0,t)}}else He[e]=function(){};return He[e]}function We(e,t){var n={seen:[],stylize:Ze};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),it(t)?n.showHidden=t:t&&yt(n,t),lt(n.showHidden)&&(n.showHidden=!1),lt(n.depth)&&(n.depth=2),lt(n.colors)&&(n.colors=!1),lt(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=Xe),$e(n,e,n.depth)}function Xe(e,t){var n=We.styles[t];return n?"["+We.colors[n][0]+"m"+e+"["+We.colors[n][1]+"m":e}function Ze(e,t){return e}function $e(e,t,n){if(e.customInspect&&t&>(t.inspect)&&t.inspect!==We&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(n,e);return At(i)||(i=$e(e,i,n)),i}var r=function(e,t){if(lt(t))return e.stylize("undefined","undefined");if(At(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(st(t))return e.stylize(""+t,"number");if(it(t))return e.stylize(""+t,"boolean");if(rt(t))return e.stylize("null","null")}(e,t);if(r)return r;var a=Object.keys(t),s=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),dt(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return et(t);if(0===a.length){if(gt(t)){var A=t.name?": "+t.name:"";return e.stylize("[Function"+A+"]","special")}if(ct(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(ht(t))return e.stylize(Date.prototype.toString.call(t),"date");if(dt(t))return et(t)}var o,l="",c=!1,u=["{","}"];(nt(t)&&(c=!0,u=["[","]"]),gt(t))&&(l=" [Function"+(t.name?": "+t.name:"")+"]");return ct(t)&&(l=" "+RegExp.prototype.toString.call(t)),ht(t)&&(l=" "+Date.prototype.toUTCString.call(t)),dt(t)&&(l=" "+et(t)),0!==a.length||c&&0!=t.length?n<0?ct(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),o=c?function(e,t,n,i,r){for(var a=[],s=0,A=t.length;s<A;++s)vt(t,String(s))?a.push(tt(e,t,n,i,String(s),!0)):a.push("");return r.forEach(function(r){r.match(/^\d+$/)||a.push(tt(e,t,n,i,r,!0))}),a}(e,t,n,s,a):a.map(function(i){return tt(e,t,n,s,i,c)}),e.seen.pop(),function(e,t,n){var i=e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(i>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(o,l,u)):u[0]+l+u[1]}function et(e){return"["+Error.prototype.toString.call(e)+"]"}function tt(e,t,n,i,r,a){var s,A,o;if((o=Object.getOwnPropertyDescriptor(t,r)||{value:t[r]}).get?A=o.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):o.set&&(A=e.stylize("[Setter]","special")),vt(i,r)||(s="["+r+"]"),A||(e.seen.indexOf(o.value)<0?(A=rt(n)?$e(e,o.value,null):$e(e,o.value,n-1)).indexOf("\n")>-1&&(A=a?A.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+A.split("\n").map(function(e){return" "+e}).join("\n")):A=e.stylize("[Circular]","special")),lt(s)){if(a&&r.match(/^\d+$/))return A;(s=JSON.stringify(""+r)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+A}function nt(e){return Array.isArray(e)}function it(e){return"boolean"==typeof e}function rt(e){return null===e}function at(e){return null==e}function st(e){return"number"==typeof e}function At(e){return"string"==typeof e}function ot(e){return"symbol"==typeof e}function lt(e){return void 0===e}function ct(e){return ut(e)&&"[object RegExp]"===mt(e)}function ut(e){return"object"==typeof e&&null!==e}function ht(e){return ut(e)&&"[object Date]"===mt(e)}function dt(e){return ut(e)&&("[object Error]"===mt(e)||e instanceof Error)}function gt(e){return"function"==typeof e}function pt(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function ft(e){return U.isBuffer(e)}function mt(e){return Object.prototype.toString.call(e)}function bt(e){return e<10?"0"+e.toString(10):e.toString(10)}We.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},We.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};var wt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Et(){console.log("%s - %s",function(){var e=new Date,t=[bt(e.getHours()),bt(e.getMinutes()),bt(e.getSeconds())].join(":");return[e.getDate(),wt[e.getMonth()],t].join(" ")}(),Ye.apply(null,arguments))}function yt(e,t){if(!t||!ut(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}function vt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var kt="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function St(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');if(kt&&e[kt]){var t;if("function"!=typeof(t=e[kt]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,kt,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,n,i=new Promise(function(e,i){t=e,n=i}),r=[],a=0;a<arguments.length;a++)r.push(arguments[a]);r.push(function(e,i){e?n(e):t(i)});try{e.apply(this,r)}catch(e){n(e)}return i}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),kt&&Object.defineProperty(t,kt,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,Ge(e))}function xt(e,t){if(!e){var n=new Error("Promise was rejected with a falsy value");n.reason=e,e=n}return t(e)}function It(e){if("function"!=typeof e)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],n=0;n<arguments.length;n++)t.push(arguments[n]);var i=t.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var r=this,a=function(){return i.apply(r,arguments)};e.apply(this,t).then(function(e){Qe.nextTick(a.bind(null,null,e))},function(e){Qe.nextTick(xt.bind(null,e,a))})}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),Object.defineProperties(t,Ge(e)),t}St.custom=kt;var Ct={inherits:Ve,_extend:yt,log:Et,isBuffer:ft,isPrimitive:pt,isFunction:gt,isError:dt,isDate:ht,isObject:ut,isRegExp:ct,isUndefined:lt,isSymbol:ot,isString:At,isNumber:st,isNullOrUndefined:at,isNull:rt,isBoolean:it,isArray:nt,inspect:We,deprecate:Ke,format:Ye,debuglog:Je,promisify:St,callbackify:It},Tt=Object.freeze({__proto__:null,_extend:yt,callbackify:It,debuglog:Je,default:Ct,deprecate:Ke,format:Ye,inherits:Ve,inspect:We,isArray:nt,isBoolean:it,isBuffer:ft,isDate:ht,isError:dt,isFunction:gt,isNull:rt,isNullOrUndefined:at,isNumber:st,isObject:ut,isPrimitive:pt,isRegExp:ct,isString:At,isSymbol:ot,isUndefined:lt,log:Et,promisify:St});function _t(){this.head=null,this.tail=null,this.length=0}_t.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},_t.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},_t.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},_t.prototype.clear=function(){this.head=this.tail=null,this.length=0},_t.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},_t.prototype.concat=function(e){if(0===this.length)return U.alloc(0);if(1===this.length)return this.head.data;for(var t=U.allocUnsafe(e>>>0),n=this.head,i=0;n;)n.data.copy(t,i),i+=n.data.length,n=n.next;return t};var Bt=U.isEncoding||function(e){switch(e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Ut(e){switch(this.encoding=(e||"utf8").toLowerCase().replace(/[-_]/,""),function(e){if(e&&!Bt(e))throw new Error("Unknown encoding: "+e)}(e),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=Rt;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=Lt;break;default:return void(this.write=Mt)}this.charBuffer=new U(6),this.charReceived=0,this.charLength=0}function Mt(e){return e.toString(this.encoding)}function Rt(e){this.charReceived=e.length%2,this.charLength=this.charReceived?2:0}function Lt(e){this.charReceived=e.length%3,this.charLength=this.charReceived?3:0}Ut.prototype.write=function(e){for(var t="";this.charLength;){var n=e.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:e.length;if(e.copy(this.charBuffer,this.charReceived,0,n),this.charReceived+=n,this.charReceived<this.charLength)return"";if(e=e.slice(n,e.length),!((r=(t=this.charBuffer.slice(0,this.charLength).toString(this.encoding)).charCodeAt(t.length-1))>=55296&&r<=56319)){if(this.charReceived=this.charLength=0,0===e.length)return t;break}this.charLength+=this.surrogateSize,t=""}this.detectIncompleteChar(e);var i=e.length;this.charLength&&(e.copy(this.charBuffer,0,e.length-this.charReceived,i),i-=this.charReceived);var r;i=(t+=e.toString(this.encoding,0,i)).length-1;if((r=t.charCodeAt(i))>=55296&&r<=56319){var a=this.surrogateSize;return this.charLength+=a,this.charReceived+=a,this.charBuffer.copy(this.charBuffer,a,0,a),e.copy(this.charBuffer,0,0,a),t.substring(0,i)}return t},Ut.prototype.detectIncompleteChar=function(e){for(var t=e.length>=3?3:e.length;t>0;t--){var n=e[e.length-t];if(1==t&&n>>5==6){this.charLength=2;break}if(t<=2&&n>>4==14){this.charLength=3;break}if(t<=3&&n>>3==30){this.charLength=4;break}}this.charReceived=t},Ut.prototype.end=function(e){var t="";if(e&&e.length&&(t=this.write(e)),this.charReceived){var n=this.charReceived,i=this.charBuffer,r=this.encoding;t+=i.slice(0,n).toString(r)}return t};var Nt=Object.freeze({__proto__:null,StringDecoder:Ut});Ft.ReadableState=Pt;var Dt=Je("stream");function Pt(e,t){e=e||{},this.objectMode=!!e.objectMode,t instanceof dn&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var n=e.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i,this.highWaterMark=~~this.highWaterMark,this.buffer=new _t,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(this.decoder=new Ut(e.encoding),this.encoding=e.encoding)}function Ft(e){if(!(this instanceof Ft))return new Ft(e);this._readableState=new Pt(e,this),this.readable=!0,e&&"function"==typeof e.read&&(this._read=e.read),o.call(this)}function Ot(e,t,n,i,r){var a=function(e,t){var n=null;U.isBuffer(t)||"string"==typeof t||null==t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));return n}(t,n);if(a)e.emit("error",a);else if(null===n)t.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,Vt(e)}(e,t);else if(t.objectMode||n&&n.length>0)if(t.ended&&!r){var s=new Error("stream.push() after EOF");e.emit("error",s)}else if(t.endEmitted&&r){var A=new Error("stream.unshift() after end event");e.emit("error",A)}else{var o;!t.decoder||r||i||(n=t.decoder.write(n),o=!t.objectMode&&0===n.length),r||(t.reading=!1),o||(t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&Vt(e))),function(e,t){t.readingMore||(t.readingMore=!0,Te(jt,e,t))}(e,t)}else r||(t.reading=!1);return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(t)}Ve(Ft,o),Ft.prototype.push=function(e,t){var n=this._readableState;return n.objectMode||"string"!=typeof e||(t=t||n.defaultEncoding)!==n.encoding&&(e=U.from(e,t),t=""),Ot(this,n,e,t,!1)},Ft.prototype.unshift=function(e){return Ot(this,this._readableState,e,"",!0)},Ft.prototype.isPaused=function(){return!1===this._readableState.flowing},Ft.prototype.setEncoding=function(e){return this._readableState.decoder=new Ut(e),this._readableState.encoding=e,this};var zt=8388608;function Qt(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=zt?e=zt:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function Vt(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(Dt("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?Te(Gt,e):Gt(e))}function Gt(e){Dt("emit readable"),e.emit("readable"),qt(e)}function jt(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(Dt("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function Yt(e){Dt("readable nexttick read 0"),e.read(0)}function Kt(e,t){t.reading||(Dt("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),qt(e),t.flowing&&!t.reading&&e.read(0)}function qt(e){var t=e._readableState;for(Dt("flow",t.flowing);t.flowing&&null!==e.read(););}function Ht(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,i=1,r=n.data;e-=r.length;for(;n=n.next;){var a=n.data,s=e>a.length?a.length:e;if(s===a.length?r+=a:r+=a.slice(0,e),0===(e-=s)){s===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=U.allocUnsafe(e),i=t.head,r=1;i.data.copy(n),e-=i.data.length;for(;i=i.next;){var a=i.data,s=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,s),0===(e-=s)){s===a.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(s));break}++r}return t.length-=r,n}(e,t);return i}(e,t.buffer,t.decoder),n);var n}function Jt(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,Te(Wt,t,e))}function Wt(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function Xt(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}function Zt(){}function $t(e,t,n){this.chunk=e,this.encoding=t,this.callback=n,this.next=null}function en(e,t){Object.defineProperty(this,"buffer",{get:Ke(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")}),e=e||{},this.objectMode=!!e.objectMode,t instanceof dn&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var n=e.highWaterMark,i=this.objectMode?16:16384;this.highWaterMark=n||0===n?n:i,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var r=!1===e.decodeStrings;this.decodeStrings=!r,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,i=n.sync,r=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,i,r){--t.pendingcb,n?Te(r,i):r(i);e._writableState.errorEmitted=!0,e.emit("error",i)}(e,n,i,t,r);else{var a=sn(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||an(e,n),i?Te(rn,e,n,a,r):rn(e,n,a,r)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new ln(this)}function tn(e){if(!(this instanceof tn||this instanceof dn))return new tn(e);this._writableState=new en(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev)),o.call(this)}function nn(e,t,n,i,r,a,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,a,t.onwrite),t.sync=!1}function rn(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),on(e,t)}function an(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var i=t.bufferedRequestCount,r=new Array(i),a=t.corkedRequestsFree;a.entry=n;for(var s=0;n;)r[s]=n,n=n.next,s+=1;nn(e,t,!0,t.length,r,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new ln(t)}else{for(;n;){var A=n.chunk,o=n.encoding,l=n.callback;if(nn(e,t,!1,t.objectMode?1:A.length,A,o,l),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function sn(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function An(e,t){t.prefinished||(t.prefinished=!0,e.emit("prefinish"))}function on(e,t){var n=sn(t);return n&&(0===t.pendingcb?(An(e,t),t.finished=!0,e.emit("finish")):An(e,t)),n}function ln(e){var t=this;this.next=null,this.entry=null,this.finish=function(n){var i=t.entry;for(t.entry=null;i;){var r=i.callback;e.pendingcb--,r(n),i=i.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}}Ft.prototype.read=function(e){Dt("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return Dt("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?Jt(this):Vt(this),null;if(0===(e=Qt(e,t))&&t.ended)return 0===t.length&&Jt(this),null;var i,r=t.needReadable;return Dt("need readable",r),(0===t.length||t.length-e<t.highWaterMark)&&Dt("length less than watermark",r=!0),t.ended||t.reading?Dt("reading or ended",r=!1):r&&(Dt("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=Qt(n,t))),null===(i=e>0?Ht(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&Jt(this)),null!==i&&this.emit("data",i),i},Ft.prototype._read=function(e){this.emit("error",new Error("not implemented"))},Ft.prototype.pipe=function(e,t){var n=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,Dt("pipe count=%d opts=%j",i.pipesCount,t);var r=!t||!1!==t.end?s:l;function a(e){Dt("onunpipe"),e===n&&l()}function s(){Dt("onend"),e.end()}i.endEmitted?Te(r):n.once("end",r),e.on("unpipe",a);var A=function(e){return function(){var t=e._readableState;Dt("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&e.listeners("data").length&&(t.flowing=!0,qt(e))}}(n);e.on("drain",A);var o=!1;function l(){Dt("cleanup"),e.removeListener("close",d),e.removeListener("finish",g),e.removeListener("drain",A),e.removeListener("error",h),e.removeListener("unpipe",a),n.removeListener("end",s),n.removeListener("end",l),n.removeListener("data",u),o=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||A()}var c=!1;function u(t){Dt("ondata"),c=!1,!1!==e.write(t)||c||((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==Xt(i.pipes,e))&&!o&&(Dt("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,c=!0),n.pause())}function h(t){Dt("onerror",t),p(),e.removeListener("error",h),0===function(e,t){return e.listeners(t).length}(e,"error")&&e.emit("error",t)}function d(){e.removeListener("finish",g),p()}function g(){Dt("onfinish"),e.removeListener("close",d),p()}function p(){Dt("unpipe"),n.unpipe(e)}return n.on("data",u),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",h),e.once("close",d),e.once("finish",g),e.emit("pipe",n),i.flowing||(Dt("pipe resume"),n.resume()),e},Ft.prototype.unpipe=function(e){var t=this._readableState;if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<i;r++)n[r].emit("unpipe",this);return this}var a=Xt(t.pipes,e);return-1===a||(t.pipes.splice(a,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this)),this},Ft.prototype.on=function(e,t){var n=o.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var i=this._readableState;i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.emittedReadable=!1,i.reading?i.length&&Vt(this):Te(Yt,this))}return n},Ft.prototype.addListener=Ft.prototype.on,Ft.prototype.resume=function(){var e=this._readableState;return e.flowing||(Dt("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,Te(Kt,e,t))}(this,e)),this},Ft.prototype.pause=function(){return Dt("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(Dt("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Ft.prototype.wrap=function(e){var t=this._readableState,n=!1,i=this;for(var r in e.on("end",function(){if(Dt("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&i.push(e)}i.push(null)}),e.on("data",function(r){(Dt("wrapped data"),t.decoder&&(r=t.decoder.write(r)),t.objectMode&&null==r)||(t.objectMode||r&&r.length)&&(i.push(r)||(n=!0,e.pause()))}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));return function(e,t){for(var n=0,i=e.length;n<i;n++)t(e[n],n)}(["error","close","destroy","pause","resume"],function(t){e.on(t,i.emit.bind(i,t))}),i._read=function(t){Dt("wrapped _read",t),n&&(n=!1,e.resume())},i},Ft._fromList=Ht,tn.WritableState=en,Ve(tn,o),en.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},tn.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},tn.prototype.write=function(e,t,n){var i=this._writableState,r=!1;return"function"==typeof t&&(n=t,t=null),U.isBuffer(e)?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=Zt),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),Te(t,n)}(this,n):function(e,t,n,i){var r=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):U.isBuffer(n)||"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),Te(i,a),r=!1),r}(this,i,e,n)&&(i.pendingcb++,r=function(e,t,n,i,r){n=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=U.from(t,n));return t}(t,n,i),U.isBuffer(n)&&(i="buffer");var a=t.objectMode?1:n.length;t.length+=a;var s=t.length<t.highWaterMark;s||(t.needDrain=!0);if(t.writing||t.corked){var A=t.lastBufferedRequest;t.lastBufferedRequest=new $t(n,i,r),A?A.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else nn(e,t,!1,a,n,i,r);return s}(this,i,e,t,n)),r},tn.prototype.cork=function(){this._writableState.corked++},tn.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||an(this,e))},tn.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},tn.prototype._write=function(e,t,n){n(new Error("not implemented"))},tn.prototype._writev=null,tn.prototype.end=function(e,t,n){var i=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||i.finished||function(e,t,n){t.ending=!0,on(e,t),n&&(t.finished?Te(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,i,n)},Ve(dn,Ft);for(var cn=Object.keys(tn.prototype),un=0;un<cn.length;un++){var hn=cn[un];dn.prototype[hn]||(dn.prototype[hn]=tn.prototype[hn])}function dn(e){if(!(this instanceof dn))return new dn(e);Ft.call(this,e),tn.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",gn)}function gn(){this.allowHalfOpen||this._writableState.ended||Te(pn,this)}function pn(e){e.end()}function fn(e){this.afterTransform=function(t,n){return function(e,t,n){var i=e._transformState;i.transforming=!1;var r=i.writecb;if(!r)return e.emit("error",new Error("no writecb in Transform class"));i.writechunk=null,i.writecb=null,null!=n&&e.push(n);r(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function mn(e){if(!(this instanceof mn))return new mn(e);dn.call(this,e),this._transformState=new fn(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e){bn(t,e)}):bn(t)})}function bn(e,t){if(t)return e.emit("error",t);var n=e._writableState,i=e._transformState;if(n.length)throw new Error("Calling transform done when ws.length != 0");if(i.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}function wn(e){if(!(this instanceof wn))return new wn(e);mn.call(this,e)}function En(){o.call(this)}Ve(mn,dn),mn.prototype.push=function(e,t){return this._transformState.needTransform=!1,dn.prototype.push.call(this,e,t)},mn.prototype._transform=function(e,t,n){throw new Error("Not implemented")},mn.prototype._write=function(e,t,n){var i=this._transformState;if(i.writecb=n,i.writechunk=e,i.writeencoding=t,!i.transforming){var r=this._readableState;(i.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},mn.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},Ve(wn,mn),wn.prototype._transform=function(e,t,n){n(null,e)},Ve(En,o),En.Readable=Ft,En.Writable=tn,En.Duplex=dn,En.Transform=mn,En.PassThrough=wn,En.Stream=En,En.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function r(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",r),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",A));var a=!1;function s(){a||(a=!0,e.end())}function A(){a||(a=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){if(c(),0===o.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",i),e.removeListener("drain",r),n.removeListener("end",s),n.removeListener("close",A),n.removeListener("error",l),e.removeListener("error",l),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",l),e.on("error",l),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e};var yn,vn,kn,Sn=n(Object.freeze({__proto__:null,Duplex:dn,PassThrough:wn,Readable:Ft,Stream:En,Transform:mn,Writable:tn,default:En})),xn={exports:{}};function In(){if(yn)return xn.exports;return yn=1,"undefined"==typeof process||!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?xn.exports={nextTick:function(e,t,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,a,s=arguments.length;switch(s){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function(){e.call(null,t)});case 3:return process.nextTick(function(){e.call(null,t,n)});case 4:return process.nextTick(function(){e.call(null,t,n,i)});default:for(r=new Array(s-1),a=0;a<r.length;)r[a++]=arguments[a];return process.nextTick(function(){e.apply(null,r)})}}}:xn.exports=process,xn.exports}var Cn,Tn,_n=n(g);function Bn(){return Tn?Cn:(Tn=1,Cn=Sn)}var Un,Mn={exports:{}},Rn=n(fe);function Ln(){return Un||(Un=1,function(e,t){var n=Rn,i=n.Buffer;function r(e,t){for(var n in e)t[n]=e[n]}function a(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(r(n,t),t.Buffer=a),r(i,a),a.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},a.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},a.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},a.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}}(Mn,Mn.exports)),Mn.exports}var Nn,Dn={};function Pn(){if(Nn)return Dn;function e(e){return Object.prototype.toString.call(e)}return Nn=1,Dn.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===e(t)},Dn.isBoolean=function(e){return"boolean"==typeof e},Dn.isNull=function(e){return null===e},Dn.isNullOrUndefined=function(e){return null==e},Dn.isNumber=function(e){return"number"==typeof e},Dn.isString=function(e){return"string"==typeof e},Dn.isSymbol=function(e){return"symbol"==typeof e},Dn.isUndefined=function(e){return void 0===e},Dn.isRegExp=function(t){return"[object RegExp]"===e(t)},Dn.isObject=function(e){return"object"==typeof e&&null!==e},Dn.isDate=function(t){return"[object Date]"===e(t)},Dn.isError=function(t){return"[object Error]"===e(t)||t instanceof Error},Dn.isFunction=function(e){return"function"==typeof e},Dn.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},Dn.isBuffer=Rn.Buffer.isBuffer,Dn}var Fn,On,zn,Qn,Vn,Gn,jn,Yn,Kn,qn="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},Hn=n(Object.freeze({__proto__:null,default:qn})),Jn=n(Tt),Wn={exports:{}};function Xn(){return Fn||(Fn=1,function(e){var t=Ln().Buffer,n=Jn;function i(e,t,n){e.copy(t,n)}e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return t.alloc(0);for(var n=t.allocUnsafe(e>>>0),r=this.head,a=0;r;)i(r.data,n,a),a+=r.data.length,r=r.next;return n},e}(),n&&n.inspect&&n.inspect.custom&&(e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e})}(Wn)),Wn.exports}function Zn(){if(zn)return On;zn=1;var e=In();function t(e,t){e.emit("error",t)}return On={destroy:function(n,i){var r=this,a=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return a||s?(i?i(n):n&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,e.nextTick(t,this,n)):e.nextTick(t,this,n)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(n||null,function(n){!i&&n?r._writableState?r._writableState.errorEmitted||(r._writableState.errorEmitted=!0,e.nextTick(t,r,n)):e.nextTick(t,r,n):i&&i(n)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}},On}function $n(){if(jn)return Gn;jn=1;var t=In();function n(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var i=e.entry;e.entry=null;for(;i;){var r=i.callback;t.pendingcb--,r(n),i=i.next}t.corkedRequestsFree.next=e}(t,e)}}Gn=g;var i,r=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:t.nextTick;g.WritableState=d;var a=Object.create(Pn());a.inherits=Hn;var s={deprecate:Vn?Qn:(Vn=1,Qn=Jn.deprecate)},A=Bn(),o=Ln().Buffer,l=(void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var c,u=Zn();function h(){}function d(e,a){i=i||ei(),e=e||{};var s=a instanceof i;this.objectMode=!!e.objectMode,s&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var A=e.highWaterMark,o=e.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=A||0===A?A:s&&(o||0===o)?o:l,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var c=!1===e.decodeStrings;this.decodeStrings=!c,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,n){var i=e._writableState,a=i.sync,s=i.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(i),n)!function(e,n,i,r,a){--n.pendingcb,i?(t.nextTick(a,r),t.nextTick(E,e,n),e._writableState.errorEmitted=!0,e.emit("error",r)):(a(r),e._writableState.errorEmitted=!0,e.emit("error",r),E(e,n))}(e,i,a,n,s);else{var A=b(i);A||i.corked||i.bufferProcessing||!i.bufferedRequest||m(e,i),a?r(f,e,i,A,s):f(e,i,A,s)}}(a,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new n(this)}function g(e){if(i=i||ei(),!(c.call(g,this)||this instanceof i))return new g(e);this._writableState=new d(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),A.call(this)}function p(e,t,n,i,r,a,s){t.writelen=i,t.writecb=s,t.writing=!0,t.sync=!0,n?e._writev(r,t.onwrite):e._write(r,a,t.onwrite),t.sync=!1}function f(e,t,n,i){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,i(),E(e,t)}function m(e,t){t.bufferProcessing=!0;var i=t.bufferedRequest;if(e._writev&&i&&i.next){var r=t.bufferedRequestCount,a=new Array(r),s=t.corkedRequestsFree;s.entry=i;for(var A=0,o=!0;i;)a[A]=i,i.isBuf||(o=!1),i=i.next,A+=1;a.allBuffers=o,p(e,t,!0,t.length,a,"",s.finish),t.pendingcb++,t.lastBufferedRequest=null,s.next?(t.corkedRequestsFree=s.next,s.next=null):t.corkedRequestsFree=new n(t),t.bufferedRequestCount=0}else{for(;i;){var l=i.chunk,c=i.encoding,u=i.callback;if(p(e,t,!1,t.objectMode?1:l.length,l,c,u),i=i.next,t.bufferedRequestCount--,t.writing)break}null===i&&(t.lastBufferedRequest=null)}t.bufferedRequest=i,t.bufferProcessing=!1}function b(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function w(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),E(e,t)})}function E(e,n){var i=b(n);return i&&(!function(e,n){n.prefinished||n.finalCalled||("function"==typeof e._final?(n.pendingcb++,n.finalCalled=!0,t.nextTick(w,e,n)):(n.prefinished=!0,e.emit("prefinish")))}(e,n),0===n.pendingcb&&(n.finished=!0,e.emit("finish"))),i}return a.inherits(g,A),d.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(d.prototype,"buffer",{get:s.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(c=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(e){return!!c.call(this,e)||this===g&&(e&&e._writableState instanceof d)}})):c=function(e){return e instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(e,n,i){var r,a=this._writableState,s=!1,A=!a.objectMode&&(r=e,o.isBuffer(r)||r instanceof l);return A&&!o.isBuffer(e)&&(e=function(e){return o.from(e)}(e)),"function"==typeof n&&(i=n,n=null),A?n="buffer":n||(n=a.defaultEncoding),"function"!=typeof i&&(i=h),a.ended?function(e,n){var i=new Error("write after end");e.emit("error",i),t.nextTick(n,i)}(this,i):(A||function(e,n,i,r){var a=!0,s=!1;return null===i?s=new TypeError("May not write null values to stream"):"string"==typeof i||void 0===i||n.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),t.nextTick(r,s),a=!1),a}(this,a,e,i))&&(a.pendingcb++,s=function(e,t,n,i,r,a){if(!n){var s=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=o.from(t,n));return t}(t,i,r);i!==s&&(n=!0,r="buffer",i=s)}var A=t.objectMode?1:i.length;t.length+=A;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var c=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:r,isBuf:n,callback:a,next:null},c?c.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else p(e,t,!1,A,i,r,a);return l}(this,a,A,e,n,i)),s},g.prototype.cork=function(){this._writableState.corked++},g.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.bufferProcessing||!e.bufferedRequest||m(this,e))},g.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(g.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),g.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(e,n,i){var r=this._writableState;"function"==typeof e?(i=e,e=null,n=null):"function"==typeof n&&(i=n,n=null),null!=e&&this.write(e,n),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,n,i){n.ending=!0,E(e,n),i&&(n.finished?t.nextTick(i):e.once("finish",i));n.ended=!0,e.writable=!1}(this,r,i)},Object.defineProperty(g.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),g.prototype.destroy=u.destroy,g.prototype._undestroy=u.undestroy,g.prototype._destroy=function(e,t){this.end(),t(e)},Gn}function ei(){if(Kn)return Yn;Kn=1;var e=In(),t=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};Yn=o;var n=Object.create(Pn());n.inherits=Hn;var i=li(),r=$n();n.inherits(o,i);for(var a=t(r.prototype),s=0;s<a.length;s++){var A=a[s];o.prototype[A]||(o.prototype[A]=r.prototype[A])}function o(e){if(!(this instanceof o))return new o(e);i.call(this,e),r.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",l)}function l(){this.allowHalfOpen||this._writableState.ended||e.nextTick(c,this)}function c(e){e.end()}return Object.defineProperty(o.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(o.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),o.prototype._destroy=function(t,n){this.push(null),this.end(),e.nextTick(n,t)},Yn}var ti,ni,ii,ri,ai,si,Ai,oi=n(Nt);function li(){if(ni)return ti;ni=1;var t=In();ti=f;var n,i=function(){if(kn)return vn;kn=1;var e={}.toString;return vn=Array.isArray||function(t){return"[object Array]"==e.call(t)}}();f.ReadableState=p,_n.EventEmitter;var r=function(e,t){return e.listeners(t).length},a=Bn(),s=Ln().Buffer,A=(void 0!==e?e:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){};var o=Object.create(Pn());o.inherits=Hn;var l=Jn,c=void 0;c=l&&l.debuglog?l.debuglog("stream"):function(){};var u,h=Xn(),d=Zn();o.inherits(f,a);var g=["error","close","destroy","pause","resume"];function p(e,t){e=e||{};var i=t instanceof(n=n||ei());this.objectMode=!!e.objectMode,i&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,a=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:i&&(a||0===a)?a:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(u||(u=oi.StringDecoder),this.decoder=new u(e.encoding),this.encoding=e.encoding)}function f(e){if(n=n||ei(),!(this instanceof f))return new f(e);this._readableState=new p(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),a.call(this)}function m(e,t,n,i,r){var a,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,y(e)}(e,o)):(r||(a=function(e,t){var n;i=t,s.isBuffer(i)||i instanceof A||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var i;return n}(o,t)),a?e.emit("error",a):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===s.prototype||(t=function(e){return s.from(e)}(t)),i?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):b(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?b(e,o,t,!1):k(e,o)):b(e,o,t,!1))):i||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(o)}function b(e,t,n,i){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,i?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&y(e)),k(e,t)}Object.defineProperty(f.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),f.prototype.destroy=d.destroy,f.prototype._undestroy=d.undestroy,f.prototype._destroy=function(e,t){this.push(null),t(e)},f.prototype.push=function(e,t){var n,i=this._readableState;return i.objectMode?n=!0:"string"==typeof e&&((t=t||i.defaultEncoding)!==i.encoding&&(e=s.from(e,t),t=""),n=!0),m(this,e,t,!1,n)},f.prototype.unshift=function(e){return m(this,e,null,!0,!1)},f.prototype.isPaused=function(){return!1===this._readableState.flowing},f.prototype.setEncoding=function(e){return u||(u=oi.StringDecoder),this._readableState.decoder=new u(e),this._readableState.encoding=e,this};var w=8388608;function E(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=w?e=w:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function y(e){var n=e._readableState;n.needReadable=!1,n.emittedReadable||(c("emitReadable",n.flowing),n.emittedReadable=!0,n.sync?t.nextTick(v,e):v(e))}function v(e){c("emit readable"),e.emit("readable"),C(e)}function k(e,n){n.readingMore||(n.readingMore=!0,t.nextTick(S,e,n))}function S(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(c("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function x(e){c("readable nexttick read 0"),e.read(0)}function I(e,t){t.reading||(c("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),C(e),t.flowing&&!t.reading&&e.read(0)}function C(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function T(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var i;e<t.head.data.length?(i=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):i=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,i=1,r=n.data;e-=r.length;for(;n=n.next;){var a=n.data,s=e>a.length?a.length:e;if(s===a.length?r+=a:r+=a.slice(0,e),0===(e-=s)){s===a.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(s));break}++i}return t.length-=i,r}(e,t):function(e,t){var n=s.allocUnsafe(e),i=t.head,r=1;i.data.copy(n),e-=i.data.length;for(;i=i.next;){var a=i.data,A=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,A),0===(e-=A)){A===a.length?(++r,i.next?t.head=i.next:t.head=t.tail=null):(t.head=i,i.data=a.slice(A));break}++r}return t.length-=r,n}(e,t);return i}(e,t.buffer,t.decoder),n);var n}function _(e){var n=e._readableState;if(n.length>0)throw new Error('"endReadable()" called on non-empty stream');n.endEmitted||(n.ended=!0,t.nextTick(B,n,e))}function B(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function U(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}return f.prototype.read=function(e){c("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?_(this):y(this),null;if(0===(e=E(e,t))&&t.ended)return 0===t.length&&_(this),null;var i,r=t.needReadable;return c("need readable",r),(0===t.length||t.length-e<t.highWaterMark)&&c("length less than watermark",r=!0),t.ended||t.reading?c("reading or ended",r=!1):r&&(c("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=E(n,t))),null===(i=e>0?T(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&_(this)),null!==i&&this.emit("data",i),i},f.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},f.prototype.pipe=function(e,n){var a=this,s=this._readableState;switch(s.pipesCount){case 0:s.pipes=e;break;case 1:s.pipes=[s.pipes,e];break;default:s.pipes.push(e)}s.pipesCount+=1,c("pipe count=%d opts=%j",s.pipesCount,n);var A=(!n||!1!==n.end)&&e!==process.stdout&&e!==process.stderr?l:b;function o(t,n){c("onunpipe"),t===a&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),e.removeListener("close",f),e.removeListener("finish",m),e.removeListener("drain",u),e.removeListener("error",p),e.removeListener("unpipe",o),a.removeListener("end",l),a.removeListener("end",b),a.removeListener("data",g),h=!0,!s.awaitDrain||e._writableState&&!e._writableState.needDrain||u())}function l(){c("onend"),e.end()}s.endEmitted?t.nextTick(A):a.once("end",A),e.on("unpipe",o);var u=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&r(e,"data")&&(t.flowing=!0,C(e))}}(a);e.on("drain",u);var h=!1;var d=!1;function g(t){c("ondata"),d=!1,!1!==e.write(t)||d||((1===s.pipesCount&&s.pipes===e||s.pipesCount>1&&-1!==U(s.pipes,e))&&!h&&(c("false write response, pause",s.awaitDrain),s.awaitDrain++,d=!0),a.pause())}function p(t){c("onerror",t),b(),e.removeListener("error",p),0===r(e,"error")&&e.emit("error",t)}function f(){e.removeListener("finish",m),b()}function m(){c("onfinish"),e.removeListener("close",f),b()}function b(){c("unpipe"),a.unpipe(e)}return a.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?i(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",p),e.once("close",f),e.once("finish",m),e.emit("pipe",a),s.flowing||(c("pipe resume"),a.resume()),e},f.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n)),this;if(!e){var i=t.pipes,r=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<r;a++)i[a].emit("unpipe",this,{hasUnpiped:!1});return this}var s=U(t.pipes,e);return-1===s||(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n)),this},f.prototype.on=function(e,n){var i=a.prototype.on.call(this,e,n);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&y(this):t.nextTick(x,this))}return i},f.prototype.addListener=f.prototype.on,f.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!0,function(e,n){n.resumeScheduled||(n.resumeScheduled=!0,t.nextTick(I,e,n))}(this,e)),this},f.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this},f.prototype.wrap=function(e){var t=this,n=this._readableState,i=!1;for(var r in e.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(r){(c("wrapped data"),n.decoder&&(r=n.decoder.write(r)),n.objectMode&&null==r)||(n.objectMode||r&&r.length)&&(t.push(r)||(i=!0,e.pause()))}),e)void 0===this[r]&&"function"==typeof e[r]&&(this[r]=function(t){return function(){return e[t].apply(e,arguments)}}(r));for(var a=0;a<g.length;a++)e.on(g[a],this.emit.bind(this,g[a]));return this._read=function(t){c("wrapped _read",t),i&&(i=!1,e.resume())},this},Object.defineProperty(f.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),f._fromList=T,ti}function ci(){if(ri)return ii;ri=1,ii=i;var e=ei(),t=Object.create(Pn());function n(e,t){var n=this._transformState;n.transforming=!1;var i=n.writecb;if(!i)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),i(e);var r=this._readableState;r.reading=!1,(r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}function i(t){if(!(this instanceof i))return new i(t);e.call(this,t),this._transformState={afterTransform:n.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",r)}function r(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){a(e,t,n)}):a(this,null,null)}function a(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}return t.inherits=Hn,t.inherits(i,e),i.prototype.push=function(t,n){return this._transformState.needTransform=!1,e.prototype.push.call(this,t,n)},i.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},i.prototype._write=function(e,t,n){var i=this._transformState;if(i.writecb=n,i.writechunk=e,i.writeencoding=t,!i.transforming){var r=this._readableState;(i.needTransform||r.needReadable||r.length<r.highWaterMark)&&this._read(r.highWaterMark)}},i.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},i.prototype._destroy=function(t,n){var i=this;e.prototype._destroy.call(this,t,function(e){n(e),i.emit("close")})},ii}function ui(){return Ai||(Ai=1,function(e,t){var n=Sn;"disable"===process.env.READABLE_STREAM&&n?(e.exports=n,(t=e.exports=n.Readable).Readable=n.Readable,t.Writable=n.Writable,t.Duplex=n.Duplex,t.Transform=n.Transform,t.PassThrough=n.PassThrough,t.Stream=n):((t=e.exports=li()).Stream=n||t,t.Readable=t,t.Writable=$n(),t.Duplex=ei(),t.Transform=ci(),t.PassThrough=function(){if(si)return ai;si=1,ai=n;var e=ci(),t=Object.create(Pn());function n(t){if(!(this instanceof n))return new n(t);e.call(this,t)}return t.inherits=Hn,t.inherits(n,e),n.prototype._transform=function(e,t,n){n(null,e)},ai}())}(s,s.exports)),s.exports}if(a.base64=!0,a.array=!0,a.string=!0,a.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,a.nodebuffer="undefined"!=typeof Buffer,a.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)a.blob=!1;else{var hi=new ArrayBuffer(0);try{a.blob=0===new Blob([hi],{type:"application/zip"}).size}catch(S_){try{var di=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);di.append(hi),a.blob=0===di.getBlob("application/zip").size}catch(S_){a.blob=!1}}}try{a.nodestream=!!ui().Readable}catch(S_){a.nodestream=!1}var gi,pi={};function fi(){if(gi)return pi;gi=1;var e=xi(),t=a,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return pi.encode=function(t){for(var i,r,a,s,A,o,l,c=[],u=0,h=t.length,d=h,g="string"!==e.getTypeOf(t);u<t.length;)d=h-u,g?(i=t[u++],r=u<h?t[u++]:0,a=u<h?t[u++]:0):(i=t.charCodeAt(u++),r=u<h?t.charCodeAt(u++):0,a=u<h?t.charCodeAt(u++):0),s=i>>2,A=(3&i)<<4|r>>4,o=d>1?(15&r)<<2|a>>6:64,l=d>2?63&a:64,c.push(n.charAt(s)+n.charAt(A)+n.charAt(o)+n.charAt(l));return c.join("")},pi.decode=function(e){var i,r,a,s,A,o,l=0,c=0,u="data:";if(e.substr(0,5)===u)throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===n.charAt(64)&&d--,e.charAt(e.length-2)===n.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=t.uint8array?new Uint8Array(0|d):new Array(0|d);l<e.length;)i=n.indexOf(e.charAt(l++))<<2|(s=n.indexOf(e.charAt(l++)))>>4,r=(15&s)<<4|(A=n.indexOf(e.charAt(l++)))>>2,a=(3&A)<<6|(o=n.indexOf(e.charAt(l++))),h[c++]=i,64!==A&&(h[c++]=r),64!==o&&(h[c++]=a);return h},pi}var mi,bi,wi,Ei,yi={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}};var vi=null;vi="undefined"!=typeof Promise?Promise:function(){if(Ei)return wi;Ei=1;var t=function(){if(bi)return mi;bi=1;var t,n,i=e.MutationObserver||e.WebKitMutationObserver;if(process.browser)if(i){var r=0,a=new i(l),s=e.document.createTextNode("");a.observe(s,{characterData:!0}),t=function(){s.data=r=++r%2}}else if(e.setImmediate||void 0===e.MessageChannel)t="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){l(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(l,0)};else{var A=new e.MessageChannel;A.port1.onmessage=l,t=function(){A.port2.postMessage(0)}}else t=function(){process.nextTick(l)};var o=[];function l(){var e,t;n=!0;for(var i=o.length;i;){for(t=o,o=[],e=-1;++e<i;)t[e]();i=o.length}n=!1}return mi=function(e){1!==o.push(e)||n||t()}}();function n(){}var i={},r=["REJECTED"],a=["FULFILLED"],s=["PENDING"];if(!process.browser)var A=["UNHANDLED"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=s,this.queue=[],this.outcome=void 0,process.browser||(this.handled=A),e!==n&&h(this,e)}function l(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function c(e,n,r){t(function(){var t;try{t=n(r)}catch(t){return i.reject(e,t)}t===e?i.reject(e,new TypeError("Cannot resolve promise with itself")):i.resolve(e,t)})}function u(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function h(e,t){var n=!1;function r(t){n||(n=!0,i.reject(e,t))}function a(t){n||(n=!0,i.resolve(e,t))}var s=d(function(){t(a,r)});"error"===s.status&&r(s.value)}function d(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}return wi=o,o.prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===r)return this;var i=new this.constructor(n);return process.browser||this.handled===A&&(this.handled=null),this.state!==s?c(i,this.state===a?e:t,this.outcome):this.queue.push(new l(i,e,t)),i},l.prototype.callFulfilled=function(e){i.resolve(this.promise,e)},l.prototype.otherCallFulfilled=function(e){c(this.promise,this.onFulfilled,e)},l.prototype.callRejected=function(e){i.reject(this.promise,e)},l.prototype.otherCallRejected=function(e){c(this.promise,this.onRejected,e)},i.resolve=function(e,t){var n=d(u,t);if("error"===n.status)return i.reject(e,n.value);var r=n.value;if(r)h(e,r);else{e.state=a,e.outcome=t;for(var s=-1,A=e.queue.length;++s<A;)e.queue[s].callFulfilled(t)}return e},i.reject=function(e,n){e.state=r,e.outcome=n,process.browser||e.handled===A&&t(function(){e.handled===A&&process.emit("unhandledRejection",n,e)});for(var i=-1,a=e.queue.length;++i<a;)e.queue[i].callRejected(n);return e},o.resolve=function(e){return e instanceof this?e:i.resolve(new this(n),e)},o.reject=function(e){var t=new this(n);return i.reject(t,e)},o.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,a=!1;if(!r)return this.resolve([]);for(var s=new Array(r),A=0,o=-1,l=new this(n);++o<r;)c(e[o],o);return l;function c(e,n){t.resolve(e).then(function(e){s[n]=e,++A!==r||a||(a=!0,i.resolve(l,s))},function(e){a||(a=!0,i.reject(l,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,a=!1;if(!r)return this.resolve([]);for(var s=-1,A=new this(n);++s<r;)o(e[s]);return A;function o(e){t.resolve(e).then(function(e){a||(a=!0,i.resolve(A,e))},function(e){a||(a=!0,i.reject(A,e))})}},wi}();var ki,Si={Promise:vi};function xi(){return ki||(ki=1,function(e){var t=a,n=fi(),i=yi,r=Si;function s(e){return e}function A(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}e.newBlob=function(t,n){e.checkSupport("blob");try{return new Blob([t],{type:n})}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(t),i.getBlob(n)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var o={stringifyByChunk:function(e,t,n){var i=[],r=0,a=e.length;if(a<=n)return String.fromCharCode.apply(null,e);for(;r<a;)"array"===t||"nodebuffer"===t?i.push(String.fromCharCode.apply(null,e.slice(r,Math.min(r+n,a)))):i.push(String.fromCharCode.apply(null,e.subarray(r,Math.min(r+n,a)))),r+=n;return i.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return t.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return t.nodebuffer&&1===String.fromCharCode.apply(null,i.allocBuffer(1)).length}catch(e){return!1}}()}};function l(t){var n=65536,i=e.getTypeOf(t),r=!0;if("uint8array"===i?r=o.applyCanBeUsed.uint8array:"nodebuffer"===i&&(r=o.applyCanBeUsed.nodebuffer),r)for(;n>1;)try{return o.stringifyByChunk(t,i,n)}catch(e){n=Math.floor(n/2)}return o.stringifyByChar(t)}function c(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}e.applyFromCharCode=l;var u={};u.string={string:s,array:function(e){return A(e,new Array(e.length))},arraybuffer:function(e){return u.string.uint8array(e).buffer},uint8array:function(e){return A(e,new Uint8Array(e.length))},nodebuffer:function(e){return A(e,i.allocBuffer(e.length))}},u.array={string:l,array:s,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return i.newBufferFrom(e)}},u.arraybuffer={string:function(e){return l(new Uint8Array(e))},array:function(e){return c(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:s,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return i.newBufferFrom(new Uint8Array(e))}},u.uint8array={string:l,array:function(e){return c(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:s,nodebuffer:function(e){return i.newBufferFrom(e)}},u.nodebuffer={string:l,array:function(e){return c(e,new Array(e.length))},arraybuffer:function(e){return u.nodebuffer.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:s},e.transformTo=function(t,n){if(n||(n=""),!t)return n;e.checkSupport(t);var i=e.getTypeOf(n);return u[i][t](n)},e.resolve=function(e){for(var t=e.split("/"),n=[],i=0;i<t.length;i++){var r=t[i];"."===r||""===r&&0!==i&&i!==t.length-1||(".."===r?n.pop():n.push(r))}return n.join("/")},e.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":t.nodebuffer&&i.isBuffer(e)?"nodebuffer":t.uint8array&&e instanceof Uint8Array?"uint8array":t.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},e.checkSupport=function(e){if(!t[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},e.MAX_VALUE_16BITS=65535,e.MAX_VALUE_32BITS=-1,e.pretty=function(e){var t,n,i="";for(n=0;n<(e||"").length;n++)i+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return i},e.delay=function(e,t,n){setImmediate(function(){e.apply(n||null,t||[])})},e.inherits=function(e,t){var n=function(){};n.prototype=t.prototype,e.prototype=new n},e.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},e.prepareContent=function(i,a,s,o,l){var c=r.Promise.resolve(a).then(function(e){return t.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new r.Promise(function(t,n){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=function(e){n(e.target.error)},i.readAsArrayBuffer(e)}):e});return c.then(function(a){var c,u=e.getTypeOf(a);return u?("arraybuffer"===u?a=e.transformTo("uint8array",a):"string"===u&&(l?a=n.decode(a):s&&!0!==o&&(a=A(c=a,t.uint8array?new Uint8Array(c.length):new Array(c.length)))),a):r.Promise.reject(new Error("Can't read the data of '"+i+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}}(r)),r}function Ii(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}Ii.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var e=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}};var Ci=Ii;!function(e){for(var t=xi(),n=a,i=yi,r=Ci,s=new Array(256),A=0;A<256;A++)s[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;s[254]=s[254]=1;function o(){r.call(this,"utf-8 decode"),this.leftOver=null}function l(){r.call(this,"utf-8 encode")}e.utf8encode=function(e){return n.nodebuffer?i.newBufferFrom(e,"utf-8"):function(e){var t,i,r,a,s,A=e.length,o=0;for(a=0;a<A;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<A&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),o+=i<128?1:i<2048?2:i<65536?3:4;for(t=n.uint8array?new Uint8Array(o):new Array(o),s=0,a=0;s<o;a++)55296==(64512&(i=e.charCodeAt(a)))&&a+1<A&&56320==(64512&(r=e.charCodeAt(a+1)))&&(i=65536+(i-55296<<10)+(r-56320),a++),i<128?t[s++]=i:i<2048?(t[s++]=192|i>>>6,t[s++]=128|63&i):i<65536?(t[s++]=224|i>>>12,t[s++]=128|i>>>6&63,t[s++]=128|63&i):(t[s++]=240|i>>>18,t[s++]=128|i>>>12&63,t[s++]=128|i>>>6&63,t[s++]=128|63&i);return t}(e)},e.utf8decode=function(e){return n.nodebuffer?t.transformTo("nodebuffer",e).toString("utf-8"):function(e){var n,i,r,a,A=e.length,o=new Array(2*A);for(i=0,n=0;n<A;)if((r=e[n++])<128)o[i++]=r;else if((a=s[r])>4)o[i++]=65533,n+=a-1;else{for(r&=2===a?31:3===a?15:7;a>1&&n<A;)r=r<<6|63&e[n++],a--;a>1?o[i++]=65533:r<65536?o[i++]=r:(r-=65536,o[i++]=55296|r>>10&1023,o[i++]=56320|1023&r)}return o.length!==i&&(o.subarray?o=o.subarray(0,i):o.length=i),t.applyFromCharCode(o)}(e=t.transformTo(n.uint8array?"uint8array":"array",e))},t.inherits(o,r),o.prototype.processChunk=function(i){var r=t.transformTo(n.uint8array?"uint8array":"array",i.data);if(this.leftOver&&this.leftOver.length){if(n.uint8array){var a=r;(r=new Uint8Array(a.length+this.leftOver.length)).set(this.leftOver,0),r.set(a,this.leftOver.length)}else r=this.leftOver.concat(r);this.leftOver=null}var A=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+s[e[n]]>t?n:t}(r),o=r;A!==r.length&&(n.uint8array?(o=r.subarray(0,A),this.leftOver=r.subarray(A,r.length)):(o=r.slice(0,A),this.leftOver=r.slice(A,r.length))),this.push({data:e.utf8decode(o),meta:i.meta})},o.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:e.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},e.Utf8DecodeWorker=o,t.inherits(l,r),l.prototype.processChunk=function(t){this.push({data:e.utf8encode(t.data),meta:t.meta})},e.Utf8EncodeWorker=l}(i);var Ti=Ci,_i=xi();function Bi(e){Ti.call(this,"ConvertWorker to "+e),this.destType=e}_i.inherits(Bi,Ti),Bi.prototype.processChunk=function(e){this.push({data:_i.transformTo(this.destType,e.data),meta:e.meta})};var Ui,Mi,Ri=Bi;var Li=xi(),Ni=Ri,Di=Ci,Pi=fi(),Fi=Si,Oi=null;if(a.nodestream)try{Oi=function(){if(Mi)return Ui;Mi=1;var e=ui().Readable;function t(t,n,i){e.call(this,n),this._helper=t;var r=this;t.on("data",function(e,t){r.push(e)||r._helper.pause(),i&&i(t)}).on("error",function(e){r.emit("error",e)}).on("end",function(){r.push(null)})}return xi().inherits(t,e),t.prototype._read=function(){this._helper.resume()},Ui=t}()}catch(S_){}function zi(e,t){return new Fi.Promise(function(n,i){var r=[],a=e._internalType,s=e._outputType,A=e._mimeType;e.on("data",function(e,n){r.push(e),t&&t(n)}).on("error",function(e){r=[],i(e)}).on("end",function(){try{var e=function(e,t,n){switch(e){case"blob":return Li.newBlob(Li.transformTo("arraybuffer",t),n);case"base64":return Pi.encode(t);default:return Li.transformTo(e,t)}}(s,function(e,t){var n,i=0,r=null,a=0;for(n=0;n<t.length;n++)a+=t[n].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(r=new Uint8Array(a),n=0;n<t.length;n++)r.set(t[n],i),i+=t[n].length;return r;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(a,r),A);n(e)}catch(e){i(e)}r=[]}).resume()})}function Qi(e,t,n){var i=t;switch(t){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string"}try{this._internalType=i,this._outputType=t,this._mimeType=n,Li.checkSupport(i),this._worker=e.pipe(new Ni(i)),e.lock()}catch(e){this._worker=new Di("error"),this._worker.error(e)}}Qi.prototype={accumulate:function(e){return zi(this,e)},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,function(e){t.call(n,e.data,e.meta)}):this._worker.on(e,function(){Li.delay(t,arguments,n)}),this},resume:function(){return Li.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(Li.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new Oi(this,{objectMode:"nodebuffer"!==this._outputType},e)}};var Vi=Qi,Gi={base64:!1,binary:!1,dir:!1,createFolders:!0,date:null,compression:null,compressionOptions:null,comment:null,unixPermissions:null,dosPermissions:null},ji=xi(),Yi=Ci;function Ki(e){Yi.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=ji.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}ji.inherits(Ki,Yi),Ki.prototype.cleanUp=function(){Yi.prototype.cleanUp.call(this),this.data=null},Ki.prototype.resume=function(){return!!Yi.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,ji.delay(this._tickAndRepeat,[],this)),!0)},Ki.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(ji.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},Ki.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})};var qi=Ki,Hi=xi();var Ji=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();var Wi=function(e,t){return void 0!==e&&e.length?"string"!==Hi.getTypeOf(e)?function(e,t,n,i){var r=Ji,a=i+n;e^=-1;for(var s=i;s<a;s++)e=e>>>8^r[255&(e^t[s])];return-1^e}(0|t,e,e.length,0):function(e,t,n,i){var r=Ji,a=i+n;e^=-1;for(var s=i;s<a;s++)e=e>>>8^r[255&(e^t.charCodeAt(s))];return-1^e}(0|t,e,e.length,0):0},Xi=Ci,Zi=Wi;function $i(){Xi.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}xi().inherits($i,Xi),$i.prototype.processChunk=function(e){this.streamInfo.crc32=Zi(e.data,this.streamInfo.crc32||0),this.push(e)};var er=$i,tr=xi(),nr=Ci;function ir(e){nr.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}tr.inherits(ir,nr),ir.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}nr.prototype.processChunk.call(this,e)};var rr=Si,ar=qi,sr=er,Ar=ir;function or(e,t,n,i,r){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=i,this.compressedContent=r}or.prototype={getContentWorker:function(){var e=new ar(rr.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new Ar("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new ar(rr.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},or.createWorkerFrom=function(e,t,n){return e.pipe(new sr).pipe(new Ar("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new Ar("compressedSize")).withStreamInfo("compression",t)};var lr=or,cr=Vi,ur=qi,hr=i,dr=lr,gr=Ci,pr=function(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}};pr.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw new Error("No output type specified.");var i="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var r=!this._dataBinary;r&&!i&&(t=t.pipe(new hr.Utf8EncodeWorker)),!r&&i&&(t=t.pipe(new hr.Utf8DecodeWorker))}catch(e){(t=new gr("error")).error(e)}return new cr(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof dr&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new hr.Utf8EncodeWorker)),dr.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof dr?this._data.getContentWorker():this._data instanceof gr?this._data:new ur(this._data)}};for(var fr=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],mr=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},br=0;br<fr.length;br++)pr.prototype[fr[br]]=mr;var wr=pr,Er={},yr={},vr={},kr={};!function(e){var t="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var r in i)n(i,r)&&(e[r]=i[r])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,n,i,r){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+i),r);else for(var a=0;a<i;a++)e[r+a]=t[n+a]},flattenChunks:function(e){var t,n,i,r,a,s;for(i=0,t=0,n=e.length;t<n;t++)i+=e[t].length;for(s=new Uint8Array(i),r=0,t=0,n=e.length;t<n;t++)a=e[t],s.set(a,r),r+=a.length;return s}},r={arraySet:function(e,t,n,i,r){for(var a=0;a<i;a++)e[r+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,r))},e.setTyped(t)}(kr);var Sr={},xr={},Ir={},Cr=kr;function Tr(e){for(var t=e.length;--t>=0;)e[t]=0}var _r=256,Br=286,Ur=30,Mr=15,Rr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Lr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Nr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Dr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Pr=new Array(576);Tr(Pr);var Fr=new Array(60);Tr(Fr);var Or=new Array(512);Tr(Or);var zr=new Array(256);Tr(zr);var Qr=new Array(29);Tr(Qr);var Vr,Gr,jr,Yr=new Array(Ur);function Kr(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}function qr(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function Hr(e){return e<256?Or[e]:Or[256+(e>>>7)]}function Jr(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function Wr(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,Jr(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function Xr(e,t,n){Wr(e,n[2*t],n[2*t+1])}function Zr(e,t){var n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}function $r(e,t,n){var i,r,a=new Array(16),s=0;for(i=1;i<=Mr;i++)a[i]=s=s+n[i-1]<<1;for(r=0;r<=t;r++){var A=e[2*r+1];0!==A&&(e[2*r]=Zr(a[A]++,A))}}function ea(e){var t;for(t=0;t<Br;t++)e.dyn_ltree[2*t]=0;for(t=0;t<Ur;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ta(e){e.bi_valid>8?Jr(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function na(e,t,n,i){var r=2*t,a=2*n;return e[r]<e[a]||e[r]===e[a]&&i[t]<=i[n]}function ia(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&na(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!na(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function ra(e,t,n){var i,r,a,s,A=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*A]<<8|e.pending_buf[e.d_buf+2*A+1],r=e.pending_buf[e.l_buf+A],A++,0===i?Xr(e,r,t):(Xr(e,(a=zr[r])+_r+1,t),0!==(s=Rr[a])&&Wr(e,r-=Qr[a],s),Xr(e,a=Hr(--i),n),0!==(s=Lr[a])&&Wr(e,i-=Yr[a],s))}while(A<e.last_lit);Xr(e,256,t)}function aa(e,t){var n,i,r,a=t.dyn_tree,s=t.stat_desc.static_tree,A=t.stat_desc.has_stree,o=t.stat_desc.elems,l=-1;for(e.heap_len=0,e.heap_max=573,n=0;n<o;n++)0!==a[2*n]?(e.heap[++e.heap_len]=l=n,e.depth[n]=0):a[2*n+1]=0;for(;e.heap_len<2;)a[2*(r=e.heap[++e.heap_len]=l<2?++l:0)]=1,e.depth[r]=0,e.opt_len--,A&&(e.static_len-=s[2*r+1]);for(t.max_code=l,n=e.heap_len>>1;n>=1;n--)ia(e,a,n);r=o;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],ia(e,a,1),i=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=i,a[2*r]=a[2*n]+a[2*i],e.depth[r]=(e.depth[n]>=e.depth[i]?e.depth[n]:e.depth[i])+1,a[2*n+1]=a[2*i+1]=r,e.heap[1]=r++,ia(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,i,r,a,s,A,o=t.dyn_tree,l=t.max_code,c=t.stat_desc.static_tree,u=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,g=t.stat_desc.max_length,p=0;for(a=0;a<=Mr;a++)e.bl_count[a]=0;for(o[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=o[2*o[2*(i=e.heap[n])+1]+1]+1)>g&&(a=g,p++),o[2*i+1]=a,i>l||(e.bl_count[a]++,s=0,i>=d&&(s=h[i-d]),A=o[2*i],e.opt_len+=A*(a+s),u&&(e.static_len+=A*(c[2*i+1]+s)));if(0!==p){do{for(a=g-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[g]--,p-=2}while(p>0);for(a=g;0!==a;a--)for(i=e.bl_count[a];0!==i;)(r=e.heap[--n])>l||(o[2*r+1]!==a&&(e.opt_len+=(a-o[2*r+1])*o[2*r],o[2*r+1]=a),i--)}}(e,t),$r(a,l,e.bl_count)}function sa(e,t,n){var i,r,a=-1,s=t[1],A=0,o=7,l=4;for(0===s&&(o=138,l=3),t[2*(n+1)+1]=65535,i=0;i<=n;i++)r=s,s=t[2*(i+1)+1],++A<o&&r===s||(A<l?e.bl_tree[2*r]+=A:0!==r?(r!==a&&e.bl_tree[2*r]++,e.bl_tree[32]++):A<=10?e.bl_tree[34]++:e.bl_tree[36]++,A=0,a=r,0===s?(o=138,l=3):r===s?(o=6,l=3):(o=7,l=4))}function Aa(e,t,n){var i,r,a=-1,s=t[1],A=0,o=7,l=4;for(0===s&&(o=138,l=3),i=0;i<=n;i++)if(r=s,s=t[2*(i+1)+1],!(++A<o&&r===s)){if(A<l)do{Xr(e,r,e.bl_tree)}while(0!==--A);else 0!==r?(r!==a&&(Xr(e,r,e.bl_tree),A--),Xr(e,16,e.bl_tree),Wr(e,A-3,2)):A<=10?(Xr(e,17,e.bl_tree),Wr(e,A-3,3)):(Xr(e,18,e.bl_tree),Wr(e,A-11,7));A=0,a=r,0===s?(o=138,l=3):r===s?(o=6,l=3):(o=7,l=4)}}Tr(Yr);var oa=!1;function la(e,t,n,i){Wr(e,0+(i?1:0),3),function(e,t,n){ta(e),Jr(e,n),Jr(e,~n),Cr.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n)}Ir._tr_init=function(e){oa||(!function(){var e,t,n,i,r,a=new Array(16);for(n=0,i=0;i<28;i++)for(Qr[i]=n,e=0;e<1<<Rr[i];e++)zr[n++]=i;for(zr[n-1]=i,r=0,i=0;i<16;i++)for(Yr[i]=r,e=0;e<1<<Lr[i];e++)Or[r++]=i;for(r>>=7;i<Ur;i++)for(Yr[i]=r<<7,e=0;e<1<<Lr[i]-7;e++)Or[256+r++]=i;for(t=0;t<=Mr;t++)a[t]=0;for(e=0;e<=143;)Pr[2*e+1]=8,e++,a[8]++;for(;e<=255;)Pr[2*e+1]=9,e++,a[9]++;for(;e<=279;)Pr[2*e+1]=7,e++,a[7]++;for(;e<=287;)Pr[2*e+1]=8,e++,a[8]++;for($r(Pr,287,a),e=0;e<Ur;e++)Fr[2*e+1]=5,Fr[2*e]=Zr(e,5);Vr=new Kr(Pr,Rr,257,Br,Mr),Gr=new Kr(Fr,Lr,0,Ur,Mr),jr=new Kr(new Array(0),Nr,0,19,7)}(),oa=!0),e.l_desc=new qr(e.dyn_ltree,Vr),e.d_desc=new qr(e.dyn_dtree,Gr),e.bl_desc=new qr(e.bl_tree,jr),e.bi_buf=0,e.bi_valid=0,ea(e)},Ir._tr_stored_block=la,Ir._tr_flush_block=function(e,t,n,i){var r,a,s=0;e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<_r;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),aa(e,e.l_desc),aa(e,e.d_desc),s=function(e){var t;for(sa(e,e.dyn_ltree,e.l_desc.max_code),sa(e,e.dyn_dtree,e.d_desc.max_code),aa(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*Dr[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),r=e.opt_len+3+7>>>3,(a=e.static_len+3+7>>>3)<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!==t?la(e,t,n,i):4===e.strategy||a===r?(Wr(e,2+(i?1:0),3),ra(e,Pr,Fr)):(Wr(e,4+(i?1:0),3),function(e,t,n,i){var r;for(Wr(e,t-257,5),Wr(e,n-1,5),Wr(e,i-4,4),r=0;r<i;r++)Wr(e,e.bl_tree[2*Dr[r]+1],3);Aa(e,e.dyn_ltree,t-1),Aa(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,s+1),ra(e,e.dyn_ltree,e.dyn_dtree)),ea(e),i&&ta(e)},Ir._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(zr[n]+_r+1)]++,e.dyn_dtree[2*Hr(t)]++),e.last_lit===e.lit_bufsize-1},Ir._tr_align=function(e){Wr(e,2,3),Xr(e,256,Pr),function(e){16===e.bi_valid?(Jr(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)};var ca=function(e,t,n,i){for(var r=65535&e,a=e>>>16&65535,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{a=a+(r=r+t[i++]|0)|0}while(--s);r%=65521,a%=65521}return r|a<<16};var ua=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();var ha,da=function(e,t,n,i){var r=ua,a=i+n;e^=-1;for(var s=i;s<a;s++)e=e>>>8^r[255&(e^t[s])];return-1^e},ga={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},pa=kr,fa=Ir,ma=ca,ba=da,wa=ga,Ea=-2,ya=258,va=262,ka=103,Sa=113,xa=666;function Ia(e,t){return e.msg=wa[t],t}function Ca(e){return(e<<1)-(e>4?9:0)}function Ta(e){for(var t=e.length;--t>=0;)e[t]=0}function _a(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(pa.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function Ba(e,t){fa._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,_a(e.strm)}function Ua(e,t){e.pending_buf[e.pending++]=t}function Ma(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function Ra(e,t,n,i){var r=e.avail_in;return r>i&&(r=i),0===r?0:(e.avail_in-=r,pa.arraySet(t,e.input,e.next_in,r,n),1===e.state.wrap?e.adler=ma(e.adler,t,r,n):2===e.state.wrap&&(e.adler=ba(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)}function La(e,t){var n,i,r=e.max_chain_length,a=e.strstart,s=e.prev_length,A=e.nice_match,o=e.strstart>e.w_size-va?e.strstart-(e.w_size-va):0,l=e.window,c=e.w_mask,u=e.prev,h=e.strstart+ya,d=l[a+s-1],g=l[a+s];e.prev_length>=e.good_match&&(r>>=2),A>e.lookahead&&(A=e.lookahead);do{if(l[(n=t)+s]===g&&l[n+s-1]===d&&l[n]===l[a]&&l[++n]===l[a+1]){a+=2,n++;do{}while(l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&l[++a]===l[++n]&&a<h);if(i=ya-(h-a),a=h-ya,i>s){if(e.match_start=t,s=i,i>=A)break;d=l[a+s-1],g=l[a+s]}}}while((t=u[t&c])>o&&0!==--r);return s<=e.lookahead?s:e.lookahead}function Na(e){var t,n,i,r,a,s=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=s+(s-va)){pa.arraySet(e.window,e.window,s,s,0),e.match_start-=s,e.strstart-=s,e.block_start-=s,t=n=e.hash_size;do{i=e.head[--t],e.head[t]=i>=s?i-s:0}while(--n);t=n=s;do{i=e.prev[--t],e.prev[t]=i>=s?i-s:0}while(--n);r+=s}if(0===e.strm.avail_in)break;if(n=Ra(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=3)for(a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+3-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<va&&0!==e.strm.avail_in)}function Da(e,t){for(var n,i;;){if(e.lookahead<va){if(Na(e),e.lookahead<va&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-va&&(e.match_length=La(e,n)),e.match_length>=3)if(i=fa._tr_tally(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=fa._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(Ba(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,4===t?(Ba(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ba(e,!1),0===e.strm.avail_out)?1:2}function Pa(e,t){for(var n,i,r;;){if(e.lookahead<va){if(Na(e),e.lookahead<va&&0===t)return 1;if(0===e.lookahead)break}if(n=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-va&&(e.match_length=La(e,n),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-3,i=fa._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,i&&(Ba(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((i=fa._tr_tally(e,0,e.window[e.strstart-1]))&&Ba(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=fa._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t?(Ba(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ba(e,!1),0===e.strm.avail_out)?1:2}function Fa(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}function Oa(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new pa.Buf16(1146),this.dyn_dtree=new pa.Buf16(122),this.bl_tree=new pa.Buf16(78),Ta(this.dyn_ltree),Ta(this.dyn_dtree),Ta(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new pa.Buf16(16),this.heap=new pa.Buf16(573),Ta(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new pa.Buf16(573),Ta(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function za(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=2,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:Sa,e.adler=2===t.wrap?0:1,t.last_flush=0,fa._tr_init(t),0):Ia(e,Ea)}function Qa(e){var t,n=za(e);return 0===n&&((t=e.state).window_size=2*t.w_size,Ta(t.head),t.max_lazy_match=ha[t.level].max_lazy,t.good_match=ha[t.level].good_length,t.nice_match=ha[t.level].nice_length,t.max_chain_length=ha[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n}function Va(e,t,n,i,r,a){if(!e)return Ea;var s=1;if(-1===t&&(t=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),r<1||r>9||8!==n||i<8||i>15||t<0||t>9||a<0||a>4)return Ia(e,Ea);8===i&&(i=9);var A=new Oa;return e.state=A,A.strm=e,A.wrap=s,A.gzhead=null,A.w_bits=i,A.w_size=1<<A.w_bits,A.w_mask=A.w_size-1,A.hash_bits=r+7,A.hash_size=1<<A.hash_bits,A.hash_mask=A.hash_size-1,A.hash_shift=~~((A.hash_bits+3-1)/3),A.window=new pa.Buf8(2*A.w_size),A.head=new pa.Buf16(A.hash_size),A.prev=new pa.Buf16(A.w_size),A.lit_bufsize=1<<r+6,A.pending_buf_size=4*A.lit_bufsize,A.pending_buf=new pa.Buf8(A.pending_buf_size),A.d_buf=1*A.lit_bufsize,A.l_buf=3*A.lit_bufsize,A.level=t,A.strategy=a,A.method=n,Qa(e)}ha=[new Fa(0,0,0,0,function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Na(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,Ba(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-va&&(Ba(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(Ba(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(Ba(e,!1),e.strm.avail_out),1)}),new Fa(4,4,8,4,Da),new Fa(4,5,16,8,Da),new Fa(4,6,32,32,Da),new Fa(4,4,16,16,Pa),new Fa(8,16,32,32,Pa),new Fa(8,16,128,128,Pa),new Fa(8,32,128,256,Pa),new Fa(32,128,258,1024,Pa),new Fa(32,258,258,4096,Pa)],xr.deflateInit=function(e,t){return Va(e,t,8,15,8,0)},xr.deflateInit2=Va,xr.deflateReset=Qa,xr.deflateResetKeep=za,xr.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?Ea:(e.state.gzhead=t,0):Ea},xr.deflate=function(e,t){var n,i,r,a;if(!e||!e.state||t>5||t<0)return e?Ia(e,Ea):Ea;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===xa&&4!==t)return Ia(e,0===e.avail_out?-5:Ea);if(i.strm=e,n=i.last_flush,i.last_flush=t,42===i.status)if(2===i.wrap)e.adler=0,Ua(i,31),Ua(i,139),Ua(i,8),i.gzhead?(Ua(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Ua(i,255&i.gzhead.time),Ua(i,i.gzhead.time>>8&255),Ua(i,i.gzhead.time>>16&255),Ua(i,i.gzhead.time>>24&255),Ua(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),Ua(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(Ua(i,255&i.gzhead.extra.length),Ua(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=ba(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(Ua(i,0),Ua(i,0),Ua(i,0),Ua(i,0),Ua(i,0),Ua(i,9===i.level?2:i.strategy>=2||i.level<2?4:0),Ua(i,3),i.status=Sa);else{var s=8+(i.w_bits-8<<4)<<8;s|=(i.strategy>=2||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(s|=32),s+=31-s%31,i.status=Sa,Ma(i,s),0!==i.strstart&&(Ma(i,e.adler>>>16),Ma(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(r=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),_a(e),r=i.pending,i.pending!==i.pending_buf_size));)Ua(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),_a(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,Ua(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),0===a&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),_a(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}a=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,Ua(i,a)}while(0!==a);i.gzhead.hcrc&&i.pending>r&&(e.adler=ba(e.adler,i.pending_buf,i.pending-r,r)),0===a&&(i.status=ka)}else i.status=ka;if(i.status===ka&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&_a(e),i.pending+2<=i.pending_buf_size&&(Ua(i,255&e.adler),Ua(i,e.adler>>8&255),e.adler=0,i.status=Sa)):i.status=Sa),0!==i.pending){if(_a(e),0===e.avail_out)return i.last_flush=-1,0}else if(0===e.avail_in&&Ca(t)<=Ca(n)&&4!==t)return Ia(e,-5);if(i.status===xa&&0!==e.avail_in)return Ia(e,-5);if(0!==e.avail_in||0!==i.lookahead||0!==t&&i.status!==xa){var A=2===i.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(Na(e),0===e.lookahead)){if(0===t)return 1;break}if(e.match_length=0,n=fa._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Ba(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(Ba(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ba(e,!1),0===e.strm.avail_out)?1:2}(i,t):3===i.strategy?function(e,t){for(var n,i,r,a,s=e.window;;){if(e.lookahead<=ya){if(Na(e),e.lookahead<=ya&&0===t)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=s[r=e.strstart-1])===s[++r]&&i===s[++r]&&i===s[++r]){a=e.strstart+ya;do{}while(i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&i===s[++r]&&r<a);e.match_length=ya-(a-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=fa._tr_tally(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=fa._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Ba(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,4===t?(Ba(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ba(e,!1),0===e.strm.avail_out)?1:2}(i,t):ha[i.level].func(i,t);if(3!==A&&4!==A||(i.status=xa),1===A||3===A)return 0===e.avail_out&&(i.last_flush=-1),0;if(2===A&&(1===t?fa._tr_align(i):5!==t&&(fa._tr_stored_block(i,0,0,!1),3===t&&(Ta(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),_a(e),0===e.avail_out))return i.last_flush=-1,0}return 4!==t?0:i.wrap<=0?1:(2===i.wrap?(Ua(i,255&e.adler),Ua(i,e.adler>>8&255),Ua(i,e.adler>>16&255),Ua(i,e.adler>>24&255),Ua(i,255&e.total_in),Ua(i,e.total_in>>8&255),Ua(i,e.total_in>>16&255),Ua(i,e.total_in>>24&255)):(Ma(i,e.adler>>>16),Ma(i,65535&e.adler)),_a(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?0:1)},xr.deflateEnd=function(e){var t;return e&&e.state?42!==(t=e.state.status)&&69!==t&&73!==t&&91!==t&&t!==ka&&t!==Sa&&t!==xa?Ia(e,Ea):(e.state=null,t===Sa?Ia(e,-3):0):Ea},xr.deflateSetDictionary=function(e,t){var n,i,r,a,s,A,o,l,c=t.length;if(!e||!e.state)return Ea;if(2===(a=(n=e.state).wrap)||1===a&&42!==n.status||n.lookahead)return Ea;for(1===a&&(e.adler=ma(e.adler,t,c,0)),n.wrap=0,c>=n.w_size&&(0===a&&(Ta(n.head),n.strstart=0,n.block_start=0,n.insert=0),l=new pa.Buf8(n.w_size),pa.arraySet(l,t,c-n.w_size,n.w_size,0),t=l,c=n.w_size),s=e.avail_in,A=e.next_in,o=e.input,e.avail_in=c,e.next_in=0,e.input=t,Na(n);n.lookahead>=3;){i=n.strstart,r=n.lookahead-2;do{n.ins_h=(n.ins_h<<n.hash_shift^n.window[i+3-1])&n.hash_mask,n.prev[i&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=i,i++}while(--r);n.strstart=i,n.lookahead=2,Na(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,e.next_in=A,e.input=o,e.avail_in=s,n.wrap=a,0},xr.deflateInfo="pako deflate (from Nodeca project)";var Ga={},ja=kr,Ya=!0,Ka=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Ya=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Ka=!1}for(var qa=new ja.Buf8(256),Ha=0;Ha<256;Ha++)qa[Ha]=Ha>=252?6:Ha>=248?5:Ha>=240?4:Ha>=224?3:Ha>=192?2:1;function Ja(e,t){if(t<65534&&(e.subarray&&Ka||!e.subarray&&Ya))return String.fromCharCode.apply(null,ja.shrinkBuf(e,t));for(var n="",i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n}qa[254]=qa[254]=1,Ga.string2buf=function(e){var t,n,i,r,a,s=e.length,A=0;for(r=0;r<s;r++)55296==(64512&(n=e.charCodeAt(r)))&&r+1<s&&56320==(64512&(i=e.charCodeAt(r+1)))&&(n=65536+(n-55296<<10)+(i-56320),r++),A+=n<128?1:n<2048?2:n<65536?3:4;for(t=new ja.Buf8(A),a=0,r=0;a<A;r++)55296==(64512&(n=e.charCodeAt(r)))&&r+1<s&&56320==(64512&(i=e.charCodeAt(r+1)))&&(n=65536+(n-55296<<10)+(i-56320),r++),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Ga.buf2binstring=function(e){return Ja(e,e.length)},Ga.binstring2buf=function(e){for(var t=new ja.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},Ga.buf2string=function(e,t){var n,i,r,a,s=t||e.length,A=new Array(2*s);for(i=0,n=0;n<s;)if((r=e[n++])<128)A[i++]=r;else if((a=qa[r])>4)A[i++]=65533,n+=a-1;else{for(r&=2===a?31:3===a?15:7;a>1&&n<s;)r=r<<6|63&e[n++],a--;a>1?A[i++]=65533:r<65536?A[i++]=r:(r-=65536,A[i++]=55296|r>>10&1023,A[i++]=56320|1023&r)}return Ja(A,i)},Ga.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+qa[e[n]]>t?n:t};var Wa=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Xa=xr,Za=kr,$a=Ga,es=ga,ts=Wa,ns=Object.prototype.toString;function is(e){if(!(this instanceof is))return new is(e);this.options=Za.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ts,this.strm.avail_out=0;var n=Xa.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(0!==n)throw new Error(es[n]);if(t.header&&Xa.deflateSetHeader(this.strm,t.header),t.dictionary){var i;if(i="string"==typeof t.dictionary?$a.string2buf(t.dictionary):"[object ArrayBuffer]"===ns.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,0!==(n=Xa.deflateSetDictionary(this.strm,i)))throw new Error(es[n]);this._dict_set=!0}}function rs(e,t){var n=new is(t);if(n.push(e,!0),n.err)throw n.msg||es[n.err];return n.result}is.prototype.push=function(e,t){var n,i,r=this.strm,a=this.options.chunkSize;if(this.ended)return!1;i=t===~~t?t:!0===t?4:0,"string"==typeof e?r.input=$a.string2buf(e):"[object ArrayBuffer]"===ns.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Za.Buf8(a),r.next_out=0,r.avail_out=a),1!==(n=Xa.deflate(r,i))&&0!==n)return this.onEnd(n),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||4!==i&&2!==i)||("string"===this.options.to?this.onData($a.buf2binstring(Za.shrinkBuf(r.output,r.next_out))):this.onData(Za.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||0===r.avail_out)&&1!==n);return 4===i?(n=Xa.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,0===n):2!==i||(this.onEnd(0),r.avail_out=0,!0)},is.prototype.onData=function(e){this.chunks.push(e)},is.prototype.onEnd=function(e){0===e&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Za.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},Sr.Deflate=is,Sr.deflate=rs,Sr.deflateRaw=function(e,t){return(t=t||{}).raw=!0,rs(e,t)},Sr.gzip=function(e,t){return(t=t||{}).gzip=!0,rs(e,t)};var as={},ss={},As=kr,os=15,ls=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],cs=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],us=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],hs=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],ds=kr,gs=ca,ps=da,fs=function(e,t){var n,i,r,a,s,A,o,l,c,u,h,d,g,p,f,m,b,w,E,y,v,k,S,x,I;n=e.state,i=e.next_in,x=e.input,r=i+(e.avail_in-5),a=e.next_out,I=e.output,s=a-(t-e.avail_out),A=a+(e.avail_out-257),o=n.dmax,l=n.wsize,c=n.whave,u=n.wnext,h=n.window,d=n.hold,g=n.bits,p=n.lencode,f=n.distcode,m=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;e:do{g<15&&(d+=x[i++]<<g,g+=8,d+=x[i++]<<g,g+=8),w=p[d&m];t:for(;;){if(d>>>=E=w>>>24,g-=E,0===(E=w>>>16&255))I[a++]=65535&w;else{if(!(16&E)){if(64&E){if(32&E){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=p[(65535&w)+(d&(1<<E)-1)];continue t}for(y=65535&w,(E&=15)&&(g<E&&(d+=x[i++]<<g,g+=8),y+=d&(1<<E)-1,d>>>=E,g-=E),g<15&&(d+=x[i++]<<g,g+=8,d+=x[i++]<<g,g+=8),w=f[d&b];;){if(d>>>=E=w>>>24,g-=E,16&(E=w>>>16&255)){if(v=65535&w,g<(E&=15)&&(d+=x[i++]<<g,(g+=8)<E&&(d+=x[i++]<<g,g+=8)),(v+=d&(1<<E)-1)>o){e.msg="invalid distance too far back",n.mode=30;break e}if(d>>>=E,g-=E,v>(E=a-s)){if((E=v-E)>c&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(k=0,S=h,0===u){if(k+=l-E,E<y){y-=E;do{I[a++]=h[k++]}while(--E);k=a-v,S=I}}else if(u<E){if(k+=l+u-E,(E-=u)<y){y-=E;do{I[a++]=h[k++]}while(--E);if(k=0,u<y){y-=E=u;do{I[a++]=h[k++]}while(--E);k=a-v,S=I}}}else if(k+=u-E,E<y){y-=E;do{I[a++]=h[k++]}while(--E);k=a-v,S=I}for(;y>2;)I[a++]=S[k++],I[a++]=S[k++],I[a++]=S[k++],y-=3;y&&(I[a++]=S[k++],y>1&&(I[a++]=S[k++]))}else{k=a-v;do{I[a++]=I[k++],I[a++]=I[k++],I[a++]=I[k++],y-=3}while(y>2);y&&(I[a++]=I[k++],y>1&&(I[a++]=I[k++]))}break}if(64&E){e.msg="invalid distance code",n.mode=30;break e}w=f[(65535&w)+(d&(1<<E)-1)]}}break}}while(i<r&&a<A);i-=y=g>>3,d&=(1<<(g-=y<<3))-1,e.next_in=i,e.next_out=a,e.avail_in=i<r?r-i+5:5-(i-r),e.avail_out=a<A?A-a+257:257-(a-A),n.hold=d,n.bits=g},ms=function(e,t,n,i,r,a,s,A){var o,l,c,u,h,d,g,p,f,m=A.bits,b=0,w=0,E=0,y=0,v=0,k=0,S=0,x=0,I=0,C=0,T=null,_=0,B=new As.Buf16(16),U=new As.Buf16(16),M=null,R=0;for(b=0;b<=os;b++)B[b]=0;for(w=0;w<i;w++)B[t[n+w]]++;for(v=m,y=os;y>=1&&0===B[y];y--);if(v>y&&(v=y),0===y)return r[a++]=20971520,r[a++]=20971520,A.bits=1,0;for(E=1;E<y&&0===B[E];E++);for(v<E&&(v=E),x=1,b=1;b<=os;b++)if(x<<=1,(x-=B[b])<0)return-1;if(x>0&&(0===e||1!==y))return-1;for(U[1]=0,b=1;b<os;b++)U[b+1]=U[b]+B[b];for(w=0;w<i;w++)0!==t[n+w]&&(s[U[t[n+w]]++]=w);if(0===e?(T=M=s,d=19):1===e?(T=ls,_-=257,M=cs,R-=257,d=256):(T=us,M=hs,d=-1),C=0,w=0,b=E,h=a,k=v,S=0,c=-1,u=(I=1<<v)-1,1===e&&I>852||2===e&&I>592)return 1;for(;;){g=b-S,s[w]<d?(p=0,f=s[w]):s[w]>d?(p=M[R+s[w]],f=T[_+s[w]]):(p=96,f=0),o=1<<b-S,E=l=1<<k;do{r[h+(C>>S)+(l-=o)]=g<<24|p<<16|f}while(0!==l);for(o=1<<b-1;C&o;)o>>=1;if(0!==o?(C&=o-1,C+=o):C=0,w++,0===--B[b]){if(b===y)break;b=t[n+s[w]]}if(b>v&&(C&u)!==c){for(0===S&&(S=v),h+=E,x=1<<(k=b-S);k+S<y&&!((x-=B[k+S])<=0);)k++,x<<=1;if(I+=1<<k,1===e&&I>852||2===e&&I>592)return 1;r[c=C&u]=v<<24|k<<16|h-a}}return 0!==C&&(r[h+C]=b-S<<24|64<<16),A.bits=v,0},bs=-2,ws=12,Es=30;function ys(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function vs(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new ds.Buf16(320),this.work=new ds.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function ks(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new ds.Buf32(852),t.distcode=t.distdyn=new ds.Buf32(592),t.sane=1,t.back=-1,0):bs}function Ss(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,ks(e)):bs}function xs(e,t){var n,i;return e&&e.state?(i=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?bs:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,Ss(e))):bs}function Is(e,t){var n,i;return e?(i=new vs,e.state=i,i.window=null,0!==(n=xs(e,t))&&(e.state=null),n):bs}var Cs,Ts,_s=!0;function Bs(e){if(_s){var t;for(Cs=new ds.Buf32(512),Ts=new ds.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(ms(1,e.lens,0,288,Cs,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;ms(2,e.lens,0,32,Ts,0,e.work,{bits:5}),_s=!1}e.lencode=Cs,e.lenbits=9,e.distcode=Ts,e.distbits=5}function Us(e,t,n,i){var r,a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new ds.Buf8(a.wsize)),i>=a.wsize?(ds.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((r=a.wsize-a.wnext)>i&&(r=i),ds.arraySet(a.window,t,n-i,r,a.wnext),(i-=r)?(ds.arraySet(a.window,t,n-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0}ss.inflateReset=Ss,ss.inflateReset2=xs,ss.inflateResetKeep=ks,ss.inflateInit=function(e){return Is(e,15)},ss.inflateInit2=Is,ss.inflate=function(e,t){var n,i,r,a,s,A,o,l,c,u,h,d,g,p,f,m,b,w,E,y,v,k,S,x,I=0,C=new ds.Buf8(4),T=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return bs;(n=e.state).mode===ws&&(n.mode=13),s=e.next_out,r=e.output,o=e.avail_out,a=e.next_in,i=e.input,A=e.avail_in,l=n.hold,c=n.bits,u=A,h=o,k=0;e:for(;;)switch(n.mode){case 1:if(0===n.wrap){n.mode=13;break}for(;c<16;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(2&n.wrap&&35615===l){n.check=0,C[0]=255&l,C[1]=l>>>8&255,n.check=ps(n.check,C,2,0),l=0,c=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",n.mode=Es;break}if(8!=(15&l)){e.msg="unknown compression method",n.mode=Es;break}if(c-=4,v=8+(15&(l>>>=4)),0===n.wbits)n.wbits=v;else if(v>n.wbits){e.msg="invalid window size",n.mode=Es;break}n.dmax=1<<v,e.adler=n.check=1,n.mode=512&l?10:ws,l=0,c=0;break;case 2:for(;c<16;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(n.flags=l,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=Es;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=Es;break}n.head&&(n.head.text=l>>8&1),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=ps(n.check,C,2,0)),l=0,c=0,n.mode=3;case 3:for(;c<32;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.head&&(n.head.time=l),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,C[2]=l>>>16&255,C[3]=l>>>24&255,n.check=ps(n.check,C,4,0)),l=0,c=0,n.mode=4;case 4:for(;c<16;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.head&&(n.head.xflags=255&l,n.head.os=l>>8),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=ps(n.check,C,2,0)),l=0,c=0,n.mode=5;case 5:if(1024&n.flags){for(;c<16;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.length=l,n.head&&(n.head.extra_len=l),512&n.flags&&(C[0]=255&l,C[1]=l>>>8&255,n.check=ps(n.check,C,2,0)),l=0,c=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((d=n.length)>A&&(d=A),d&&(n.head&&(v=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),ds.arraySet(n.head.extra,i,a,d,v)),512&n.flags&&(n.check=ps(n.check,i,d,a)),A-=d,a+=d,n.length-=d),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===A)break e;d=0;do{v=i[a+d++],n.head&&v&&n.length<65536&&(n.head.name+=String.fromCharCode(v))}while(v&&d<A);if(512&n.flags&&(n.check=ps(n.check,i,d,a)),A-=d,a+=d,v)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===A)break e;d=0;do{v=i[a+d++],n.head&&v&&n.length<65536&&(n.head.comment+=String.fromCharCode(v))}while(v&&d<A);if(512&n.flags&&(n.check=ps(n.check,i,d,a)),A-=d,a+=d,v)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;c<16;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(l!==(65535&n.check)){e.msg="header crc mismatch",n.mode=Es;break}l=0,c=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=ws;break;case 10:for(;c<32;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}e.adler=n.check=ys(l),l=0,c=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=s,e.avail_out=o,e.next_in=a,e.avail_in=A,n.hold=l,n.bits=c,2;e.adler=n.check=1,n.mode=ws;case ws:if(5===t||6===t)break e;case 13:if(n.last){l>>>=7&c,c-=7&c,n.mode=27;break}for(;c<3;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}switch(n.last=1&l,c-=1,3&(l>>>=1)){case 0:n.mode=14;break;case 1:if(Bs(n),n.mode=20,6===t){l>>>=2,c-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=Es}l>>>=2,c-=2;break;case 14:for(l>>>=7&c,c-=7&c;c<32;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if((65535&l)!=(l>>>16^65535)){e.msg="invalid stored block lengths",n.mode=Es;break}if(n.length=65535&l,l=0,c=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(d=n.length){if(d>A&&(d=A),d>o&&(d=o),0===d)break e;ds.arraySet(r,i,a,d,s),A-=d,a+=d,o-=d,s+=d,n.length-=d;break}n.mode=ws;break;case 17:for(;c<14;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(n.nlen=257+(31&l),l>>>=5,c-=5,n.ndist=1+(31&l),l>>>=5,c-=5,n.ncode=4+(15&l),l>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Es;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;c<3;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.lens[T[n.have++]]=7&l,l>>>=3,c-=3}for(;n.have<19;)n.lens[T[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,S={bits:n.lenbits},k=ms(0,n.lens,0,19,n.lencode,0,n.work,S),n.lenbits=S.bits,k){e.msg="invalid code lengths set",n.mode=Es;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;m=(I=n.lencode[l&(1<<n.lenbits)-1])>>>16&255,b=65535&I,!((f=I>>>24)<=c);){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(b<16)l>>>=f,c-=f,n.lens[n.have++]=b;else{if(16===b){for(x=f+2;c<x;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(l>>>=f,c-=f,0===n.have){e.msg="invalid bit length repeat",n.mode=Es;break}v=n.lens[n.have-1],d=3+(3&l),l>>>=2,c-=2}else if(17===b){for(x=f+3;c<x;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}c-=f,v=0,d=3+(7&(l>>>=f)),l>>>=3,c-=3}else{for(x=f+7;c<x;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}c-=f,v=0,d=11+(127&(l>>>=f)),l>>>=7,c-=7}if(n.have+d>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Es;break}for(;d--;)n.lens[n.have++]=v}}if(n.mode===Es)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Es;break}if(n.lenbits=9,S={bits:n.lenbits},k=ms(1,n.lens,0,n.nlen,n.lencode,0,n.work,S),n.lenbits=S.bits,k){e.msg="invalid literal/lengths set",n.mode=Es;break}if(n.distbits=6,n.distcode=n.distdyn,S={bits:n.distbits},k=ms(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,S),n.distbits=S.bits,k){e.msg="invalid distances set",n.mode=Es;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(A>=6&&o>=258){e.next_out=s,e.avail_out=o,e.next_in=a,e.avail_in=A,n.hold=l,n.bits=c,fs(e,h),s=e.next_out,r=e.output,o=e.avail_out,a=e.next_in,i=e.input,A=e.avail_in,l=n.hold,c=n.bits,n.mode===ws&&(n.back=-1);break}for(n.back=0;m=(I=n.lencode[l&(1<<n.lenbits)-1])>>>16&255,b=65535&I,!((f=I>>>24)<=c);){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(m&&!(240&m)){for(w=f,E=m,y=b;m=(I=n.lencode[y+((l&(1<<w+E)-1)>>w)])>>>16&255,b=65535&I,!(w+(f=I>>>24)<=c);){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}l>>>=w,c-=w,n.back+=w}if(l>>>=f,c-=f,n.back+=f,n.length=b,0===m){n.mode=26;break}if(32&m){n.back=-1,n.mode=ws;break}if(64&m){e.msg="invalid literal/length code",n.mode=Es;break}n.extra=15&m,n.mode=22;case 22:if(n.extra){for(x=n.extra;c<x;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;m=(I=n.distcode[l&(1<<n.distbits)-1])>>>16&255,b=65535&I,!((f=I>>>24)<=c);){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(!(240&m)){for(w=f,E=m,y=b;m=(I=n.distcode[y+((l&(1<<w+E)-1)>>w)])>>>16&255,b=65535&I,!(w+(f=I>>>24)<=c);){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}l>>>=w,c-=w,n.back+=w}if(l>>>=f,c-=f,n.back+=f,64&m){e.msg="invalid distance code",n.mode=Es;break}n.offset=b,n.extra=15&m,n.mode=24;case 24:if(n.extra){for(x=n.extra;c<x;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Es;break}n.mode=25;case 25:if(0===o)break e;if(d=h-o,n.offset>d){if((d=n.offset-d)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Es;break}d>n.wnext?(d-=n.wnext,g=n.wsize-d):g=n.wnext-d,d>n.length&&(d=n.length),p=n.window}else p=r,g=s-n.offset,d=n.length;d>o&&(d=o),o-=d,n.length-=d;do{r[s++]=p[g++]}while(--d);0===n.length&&(n.mode=21);break;case 26:if(0===o)break e;r[s++]=n.length,o--,n.mode=21;break;case 27:if(n.wrap){for(;c<32;){if(0===A)break e;A--,l|=i[a++]<<c,c+=8}if(h-=o,e.total_out+=h,n.total+=h,h&&(e.adler=n.check=n.flags?ps(n.check,r,h,s-h):gs(n.check,r,h,s-h)),h=o,(n.flags?l:ys(l))!==n.check){e.msg="incorrect data check",n.mode=Es;break}l=0,c=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;c<32;){if(0===A)break e;A--,l+=i[a++]<<c,c+=8}if(l!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=Es;break}l=0,c=0}n.mode=29;case 29:k=1;break e;case Es:k=-3;break e;case 31:return-4;default:return bs}return e.next_out=s,e.avail_out=o,e.next_in=a,e.avail_in=A,n.hold=l,n.bits=c,(n.wsize||h!==e.avail_out&&n.mode<Es&&(n.mode<27||4!==t))&&Us(e,e.output,e.next_out,h-e.avail_out),u-=e.avail_in,h-=e.avail_out,e.total_in+=u,e.total_out+=h,n.total+=h,n.wrap&&h&&(e.adler=n.check=n.flags?ps(n.check,r,h,e.next_out-h):gs(n.check,r,h,e.next_out-h)),e.data_type=n.bits+(n.last?64:0)+(n.mode===ws?128:0)+(20===n.mode||15===n.mode?256:0),(0===u&&0===h||4===t)&&0===k&&(k=-5),k},ss.inflateEnd=function(e){if(!e||!e.state)return bs;var t=e.state;return t.window&&(t.window=null),e.state=null,0},ss.inflateGetHeader=function(e,t){var n;return e&&e.state&&2&(n=e.state).wrap?(n.head=t,t.done=!1,0):bs},ss.inflateSetDictionary=function(e,t){var n,i=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?bs:11===n.mode&&gs(1,t,i,0)!==n.check?-3:Us(e,t,i,i)?(n.mode=31,-4):(n.havedict=1,0):bs},ss.inflateInfo="pako inflate (from Nodeca project)";var Ms={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};var Rs=ss,Ls=kr,Ns=Ga,Ds=Ms,Ps=ga,Fs=Wa,Os=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},zs=Object.prototype.toString;function Qs(e){if(!(this instanceof Qs))return new Qs(e);this.options=Ls.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(15&t.windowBits||(t.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Fs,this.strm.avail_out=0;var n=Rs.inflateInit2(this.strm,t.windowBits);if(n!==Ds.Z_OK)throw new Error(Ps[n]);if(this.header=new Os,Rs.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=Ns.string2buf(t.dictionary):"[object ArrayBuffer]"===zs.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Rs.inflateSetDictionary(this.strm,t.dictionary))!==Ds.Z_OK))throw new Error(Ps[n])}function Vs(e,t){var n=new Qs(t);if(n.push(e,!0),n.err)throw n.msg||Ps[n.err];return n.result}Qs.prototype.push=function(e,t){var n,i,r,a,s,A=this.strm,o=this.options.chunkSize,l=this.options.dictionary,c=!1;if(this.ended)return!1;i=t===~~t?t:!0===t?Ds.Z_FINISH:Ds.Z_NO_FLUSH,"string"==typeof e?A.input=Ns.binstring2buf(e):"[object ArrayBuffer]"===zs.call(e)?A.input=new Uint8Array(e):A.input=e,A.next_in=0,A.avail_in=A.input.length;do{if(0===A.avail_out&&(A.output=new Ls.Buf8(o),A.next_out=0,A.avail_out=o),(n=Rs.inflate(A,Ds.Z_NO_FLUSH))===Ds.Z_NEED_DICT&&l&&(n=Rs.inflateSetDictionary(this.strm,l)),n===Ds.Z_BUF_ERROR&&!0===c&&(n=Ds.Z_OK,c=!1),n!==Ds.Z_STREAM_END&&n!==Ds.Z_OK)return this.onEnd(n),this.ended=!0,!1;A.next_out&&(0!==A.avail_out&&n!==Ds.Z_STREAM_END&&(0!==A.avail_in||i!==Ds.Z_FINISH&&i!==Ds.Z_SYNC_FLUSH)||("string"===this.options.to?(r=Ns.utf8border(A.output,A.next_out),a=A.next_out-r,s=Ns.buf2string(A.output,r),A.next_out=a,A.avail_out=o-a,a&&Ls.arraySet(A.output,A.output,r,a,0),this.onData(s)):this.onData(Ls.shrinkBuf(A.output,A.next_out)))),0===A.avail_in&&0===A.avail_out&&(c=!0)}while((A.avail_in>0||0===A.avail_out)&&n!==Ds.Z_STREAM_END);return n===Ds.Z_STREAM_END&&(i=Ds.Z_FINISH),i===Ds.Z_FINISH?(n=Rs.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Ds.Z_OK):i!==Ds.Z_SYNC_FLUSH||(this.onEnd(Ds.Z_OK),A.avail_out=0,!0)},Qs.prototype.onData=function(e){this.chunks.push(e)},Qs.prototype.onEnd=function(e){e===Ds.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ls.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},as.Inflate=Qs,as.inflate=Vs,as.inflateRaw=function(e,t){return(t=t||{}).raw=!0,Vs(e,t)},as.ungzip=Vs;var Gs={};(0,kr.assign)(Gs,Sr,as,Ms);var js="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,Ys=Gs,Ks=xi(),qs=Ci,Hs=js?"uint8array":"array";function Js(e,t){qs.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}vr.magic="\b\0",Ks.inherits(Js,qs),Js.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(Ks.transformTo(Hs,e.data),!1)},Js.prototype.flush=function(){qs.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},Js.prototype.cleanUp=function(){qs.prototype.cleanUp.call(this),this._pako=null},Js.prototype._createPako=function(){this._pako=new Ys[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},vr.compressWorker=function(e){return new Js("Deflate",e)},vr.uncompressWorker=function(){return new Js("Inflate",{})};var Ws=Ci;yr.STORE={magic:"\0\0",compressWorker:function(){return new Ws("STORE compression")},uncompressWorker:function(){return new Ws("STORE decompression")}},yr.DEFLATE=vr;var Xs={LOCAL_FILE_HEADER:"PK",CENTRAL_FILE_HEADER:"PK",CENTRAL_DIRECTORY_END:"PK",ZIP64_CENTRAL_DIRECTORY_LOCATOR:"PK",ZIP64_CENTRAL_DIRECTORY_END:"PK",DATA_DESCRIPTOR:"PK\b"},Zs=xi(),$s=Ci,eA=i,tA=Wi,nA=Xs,iA=function(e,t){var n,i="";for(n=0;n<t;n++)i+=String.fromCharCode(255&e),e>>>=8;return i},rA=function(e,t,n,i,r,a){var s,A,o=e.file,l=e.compression,c=a!==eA.utf8encode,u=Zs.transformTo("string",a(o.name)),h=Zs.transformTo("string",eA.utf8encode(o.name)),d=o.comment,g=Zs.transformTo("string",a(d)),p=Zs.transformTo("string",eA.utf8encode(d)),f=h.length!==o.name.length,m=p.length!==d.length,b="",w="",E="",y=o.dir,v=o.date,k={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(k.crc32=e.crc32,k.compressedSize=e.compressedSize,k.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),c||!f&&!m||(S|=2048);var x,I,C,T=0,_=0;y&&(T|=16),"UNIX"===r?(_=798,T|=(x=o.unixPermissions,I=y,C=x,x||(C=I?16893:33204),(65535&C)<<16)):(_=20,T|=63&(o.dosPermissions||0)),s=v.getUTCHours(),s<<=6,s|=v.getUTCMinutes(),s<<=5,s|=v.getUTCSeconds()/2,A=v.getUTCFullYear()-1980,A<<=4,A|=v.getUTCMonth()+1,A<<=5,A|=v.getUTCDate(),f&&(w=iA(1,1)+iA(tA(u),4)+h,b+="up"+iA(w.length,2)+w),m&&(E=iA(1,1)+iA(tA(g),4)+p,b+="uc"+iA(E.length,2)+E);var B="";return B+="\n\0",B+=iA(S,2),B+=l.magic,B+=iA(s,2),B+=iA(A,2),B+=iA(k.crc32,4),B+=iA(k.compressedSize,4),B+=iA(k.uncompressedSize,4),B+=iA(u.length,2),B+=iA(b.length,2),{fileRecord:nA.LOCAL_FILE_HEADER+B+u+b,dirRecord:nA.CENTRAL_FILE_HEADER+iA(_,2)+B+iA(g.length,2)+"\0\0\0\0"+iA(T,4)+iA(i,4)+u+b+g}},aA=function(e){return nA.DATA_DESCRIPTOR+iA(e.crc32,4)+iA(e.compressedSize,4)+iA(e.uncompressedSize,4)};function sA(e,t,n,i){$s.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=i,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Zs.inherits(sA,$s),sA.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,$s.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-i-1))/n:100}}))},sA.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=rA(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},sA.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=rA(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:aA(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},sA.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var n=this.bytesWritten-e,i=function(e,t,n,i,r){var a=Zs.transformTo("string",r(i));return nA.CENTRAL_DIRECTORY_END+"\0\0\0\0"+iA(e,2)+iA(e,2)+iA(t,4)+iA(n,4)+iA(a.length,2)+a}(this.dirRecords.length,n,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},sA.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},sA.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},sA.prototype.resume=function(){return!!$s.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},sA.prototype.error=function(e){var t=this._sources;if(!$s.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},sA.prototype.lock=function(){$s.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()};var AA=yr,oA=sA;Er.generateWorker=function(e,t,n){var i=new oA(t.streamFiles,n,t.platform,t.encodeFileName),r=0;try{e.forEach(function(e,n){r++;var a=function(e,t){var n=e||t,i=AA[n];if(!i)throw new Error(n+" is not a valid compression method !");return i}(n.options.compression,t.compression),s=n.options.compressionOptions||t.compressionOptions||{},A=n.dir,o=n.date;n._compressWorker(a,s).withStreamInfo("file",{name:e,dir:A,date:o,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(i)}),i.entriesCount=r}catch(e){i.error(e)}return i};var lA=xi(),cA=Ci;function uA(e,t){cA.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}lA.inherits(uA,cA),uA.prototype._bindStream=function(e){var t=this;this._stream=e,e.pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},uA.prototype.pause=function(){return!!cA.prototype.pause.call(this)&&(this._stream.pause(),!0)},uA.prototype.resume=function(){return!!cA.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)};var hA=uA,dA=i,gA=xi(),pA=Ci,fA=Vi,mA=Gi,bA=lr,wA=wr,EA=Er,yA=yi,vA=hA,kA=function(e,t,n){var i,r=gA.getTypeOf(t),a=gA.extend(n||{},mA);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=xA(e)),a.createFolders&&(i=SA(e))&&IA.call(this,i,!0);var s="string"===r&&!1===a.binary&&!1===a.base64;n&&void 0!==n.binary||(a.binary=!s),(t instanceof bA&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",r="string");var A=null;A=t instanceof bA||t instanceof pA?t:yA.isNode&&yA.isStream(t)?new vA(e,t):gA.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var o=new wA(e,A,a);this.files[e]=o},SA=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},xA=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},IA=function(e,t){return t=void 0!==t?t:mA.createFolders,e=xA(e),this.files[e]||kA.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function CA(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var TA={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,i;for(t in this.files)i=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,i)},filter:function(e){var t=[];return this.forEach(function(n,i){e(n,i)&&t.push(i)}),t},file:function(e,t,n){if(1===arguments.length){if(CA(e)){var i=e;return this.filter(function(e,t){return!t.dir&&i.test(e)})}var r=this.files[this.root+e];return r&&!r.dir?r:null}return e=this.root+e,kA.call(this,e,t,n),this},folder:function(e){if(!e)return this;if(CA(e))return this.filter(function(t,n){return n.dir&&e.test(t)});var t=this.root+e,n=IA.call(this,t),i=this.clone();return i.root=n.name,i},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter(function(t,n){return n.name.slice(0,e.length)===e}),i=0;i<n.length;i++)delete this.files[n[i].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=gA.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:dA.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw new Error("No output type specified.");gA.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var i=n.comment||this.comment||"";t=EA.generateWorker(this,n,i)}catch(e){(t=new pA("error")).error(e)}return new fA(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}},_A=TA,BA=xi();function UA(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}UA.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return BA.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}};var MA=UA,RA=MA;function LA(e){RA.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}xi().inherits(LA,RA),LA.prototype.byteAt=function(e){return this.data[this.zero+e]},LA.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),a=this.length-4;a>=0;--a)if(this.data[a]===t&&this.data[a+1]===n&&this.data[a+2]===i&&this.data[a+3]===r)return a-this.zero;return-1},LA.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),i=e.charCodeAt(2),r=e.charCodeAt(3),a=this.readData(4);return t===a[0]&&n===a[1]&&i===a[2]&&r===a[3]},LA.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t};var NA=LA,DA=MA;function PA(e){DA.call(this,e)}xi().inherits(PA,DA),PA.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},PA.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},PA.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},PA.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t};var FA=PA,OA=NA;function zA(e){OA.call(this,e)}xi().inherits(zA,OA),zA.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t};var QA=zA,VA=QA;function GA(e){VA.call(this,e)}xi().inherits(GA,VA),GA.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t};var jA=GA,YA=xi(),KA=a,qA=NA,HA=FA,JA=jA,WA=QA,XA=function(e){var t=YA.getTypeOf(e);return YA.checkSupport(t),"string"!==t||KA.uint8array?"nodebuffer"===t?new JA(e):KA.uint8array?new WA(YA.transformTo("uint8array",e)):new qA(YA.transformTo("array",e)):new HA(e)},ZA=XA,$A=xi(),eo=lr,to=Wi,no=i,io=yr,ro=a;function ao(e,t){this.options=e,this.loadOptions=t}ao.prototype={isEncrypted:function(){return!(1&~this.bitFlag)},useUTF8:function(){return!(2048&~this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(t=function(e){for(var t in io)if(Object.prototype.hasOwnProperty.call(io,t)&&io[t].magic===e)return io[t];return null}(this.compressionMethod),null===t)throw new Error("Corrupted zip : compression "+$A.pretty(this.compressionMethod)+" unknown (inner file : "+$A.transformTo("string",this.fileName)+")");this.decompressed=new eo(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=ZA(this.extraFields[1].value);this.uncompressedSize===$A.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===$A.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===$A.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===$A.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,n,i,r=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<r;)t=e.readInt(2),n=e.readInt(2),i=e.readData(n),this.extraFields[t]={id:t,length:n,value:i};e.setIndex(r)},handleUTF8:function(){var e=ro.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=no.utf8decode(this.fileName),this.fileCommentStr=no.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=$A.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else{var r=$A.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(r)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=ZA(e.value);return 1!==t.readInt(1)||to(this.fileName)!==t.readInt(4)?null:no.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=ZA(e.value);return 1!==t.readInt(1)||to(this.fileComment)!==t.readInt(4)?null:no.utf8decode(t.readData(e.length-5))}return null}};var so=ao,Ao=XA,oo=xi(),lo=Xs,co=so,uo=a;function ho(e){this.files=[],this.loadOptions=e}ho.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+oo.pretty(t)+", expected "+oo.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var i=this.reader.readString(4)===t;return this.reader.setIndex(n),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=uo.uint8array?"uint8array":"array",n=oo.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,i=this.zip64EndOfCentralSize-44;0<i;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(lo.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(lo.CENTRAL_FILE_HEADER);)(e=new co({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(lo.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,lo.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(lo.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===oo.MAX_VALUE_16BITS||this.diskWithCentralDirStart===oo.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===oo.MAX_VALUE_16BITS||this.centralDirRecords===oo.MAX_VALUE_16BITS||this.centralDirSize===oo.MAX_VALUE_32BITS||this.centralDirOffset===oo.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(lo.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(lo.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,lo.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(lo.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(lo.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var i=t-n;if(i>0)this.isSignature(t,lo.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(e){this.reader=Ao(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}};var go=ho,po=xi(),fo=Si,mo=i,bo=go,wo=er,Eo=yi;function yo(e){return new fo.Promise(function(t,n){var i=e.decompressed.getContentWorker().pipe(new wo);i.on("error",function(e){n(e)}).on("end",function(){i.streamInfo.crc32!==e.decompressed.crc32?n(new Error("Corrupted zip : CRC32 mismatch")):t()}).resume()})}function vo(){if(!(this instanceof vo))return new vo;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new vo;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}vo.prototype=_A,vo.prototype.loadAsync=function(e,t){var n=this;return t=po.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:mo.utf8decode}),Eo.isNode&&Eo.isStream(e)?fo.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):po.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then(function(e){var n=new bo(t);return n.load(e),n}).then(function(e){var n=[fo.Promise.resolve(e)],i=e.files;if(t.checkCRC32)for(var r=0;r<i.length;r++)n.push(yo(i[r]));return fo.Promise.all(n)}).then(function(e){for(var i=e.shift(),r=i.files,a=0;a<r.length;a++){var s=r[a],A=s.fileNameStr,o=po.resolve(s.fileNameStr);n.file(o,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders}),s.dir||(n.file(o).unsafeOriginalName=A)}return i.zipComment.length&&(n.comment=i.zipComment),n})},vo.support=a,vo.defaults=Gi,vo.version="3.10.1",vo.loadAsync=function(e,t){return(new vo).loadAsync(e,t)},vo.external=Si;var ko=t(vo);class So extends Error{constructor(){super("End-Of-Stream"),this.name="EndOfStreamError"}}class xo extends Error{constructor(e="The operation was aborted"){super(e),this.name="AbortError"}}class Io{constructor(){this.endOfStream=!1,this.interrupted=!1,this.peekQueue=[]}async peek(e,t=!1){const n=await this.read(e,t);return this.peekQueue.push(e.subarray(0,n)),n}async read(e,t=!1){if(0===e.length)return 0;let n=this.readFromPeekBuffer(e);if(this.endOfStream||(n+=await this.readRemainderFromStream(e.subarray(n),t)),0===n&&!t)throw new So;return n}readFromPeekBuffer(e){let t=e.length,n=0;for(;this.peekQueue.length>0&&t>0;){const i=this.peekQueue.pop();if(!i)throw new Error("peekData should be defined");const r=Math.min(i.length,t);e.set(i.subarray(0,r),n),n+=r,t-=r,r<i.length&&this.peekQueue.push(i.subarray(r))}return n}async readRemainderFromStream(e,t){let n=0;for(;n<e.length&&!this.endOfStream;){if(this.interrupted)throw new xo;const i=await this.readFromStream(e.subarray(n),t);if(0===i)break;n+=i}if(!t&&n<e.length)throw new So;return n}}class Co extends Io{constructor(e){super(),this.reader=e}async abort(){return this.close()}async close(){this.reader.releaseLock()}}class To extends Co{async readFromStream(e,t){if(0===e.length)return 0;const n=await this.reader.read(new Uint8Array(e.length),{min:t?void 0:e.length});return n.done&&(this.endOfStream=n.done),n.value?(e.set(n.value),n.value.length):0}}class _o extends Io{constructor(e){super(),this.reader=e,this.buffer=null}writeChunk(e,t){const n=Math.min(t.length,e.length);return e.set(t.subarray(0,n)),n<t.length?this.buffer=t.subarray(n):this.buffer=null,n}async readFromStream(e,t){if(0===e.length)return 0;let n=0;for(this.buffer&&(n+=this.writeChunk(e,this.buffer));n<e.length&&!this.endOfStream;){const t=await this.reader.read();if(t.done){this.endOfStream=!0;break}t.value&&(n+=this.writeChunk(e.subarray(n),t.value))}if(!t&&0===n&&this.endOfStream)throw new So;return n}abort(){return this.interrupted=!0,this.reader.cancel()}async close(){await this.abort(),this.reader.releaseLock()}}class Bo{constructor(e){this.numBuffer=new Uint8Array(8),this.position=0,this.onClose=e?.onClose,e?.abortSignal&&e.abortSignal.addEventListener("abort",()=>{this.abort()})}async readToken(e,t=this.position){const n=new Uint8Array(e.len);if(await this.readBuffer(n,{position:t})<e.len)throw new So;return e.get(n,0)}async peekToken(e,t=this.position){const n=new Uint8Array(e.len);if(await this.peekBuffer(n,{position:t})<e.len)throw new So;return e.get(n,0)}async readNumber(e){if(await this.readBuffer(this.numBuffer,{length:e.len})<e.len)throw new So;return e.get(this.numBuffer,0)}async peekNumber(e){if(await this.peekBuffer(this.numBuffer,{length:e.len})<e.len)throw new So;return e.get(this.numBuffer,0)}async ignore(e){if(void 0!==this.fileInfo.size){const t=this.fileInfo.size-this.position;if(e>t)return this.position+=t,t}return this.position+=e,e}async close(){await this.abort(),await(this.onClose?.())}normalizeOptions(e,t){if(!this.supportsRandomAccess()&&t&&void 0!==t.position&&t.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return{mayBeLess:!1,offset:0,length:e.length,position:this.position,...t}}abort(){return Promise.resolve()}}class Uo extends Bo{constructor(e,t){super(t),this.streamReader=e,this.fileInfo=t?.fileInfo??{}}async readBuffer(e,t){const n=this.normalizeOptions(e,t),i=n.position-this.position;if(i>0)return await this.ignore(i),this.readBuffer(e,t);if(i<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===n.length)return 0;const r=await this.streamReader.read(e.subarray(0,n.length),n.mayBeLess);if(this.position+=r,(!t||!t.mayBeLess)&&r<n.length)throw new So;return r}async peekBuffer(e,t){const n=this.normalizeOptions(e,t);let i=0;if(n.position){const t=n.position-this.position;if(t>0){const r=new Uint8Array(n.length+t);return i=await this.peekBuffer(r,{mayBeLess:n.mayBeLess}),e.set(r.subarray(t)),i-t}if(t<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{i=await this.streamReader.peek(e.subarray(0,n.length),n.mayBeLess)}catch(e){if(t?.mayBeLess&&e instanceof So)return 0;throw e}if(!n.mayBeLess&&i<n.length)throw new So}return i}async ignore(e){const t=Math.min(256e3,e),n=new Uint8Array(t);let i=0;for(;i<e;){const r=e-i,a=await this.readBuffer(n,{length:Math.min(t,r)});if(a<0)return a;i+=a}return i}abort(){return this.streamReader.abort()}async close(){return this.streamReader.close()}supportsRandomAccess(){return!1}}class Mo extends Bo{constructor(e,t){super(t),this.uint8Array=e,this.fileInfo={...t?.fileInfo??{},size:e.length}}async readBuffer(e,t){t?.position&&(this.position=t.position);const n=await this.peekBuffer(e,t);return this.position+=n,n}async peekBuffer(e,t){const n=this.normalizeOptions(e,t),i=Math.min(this.uint8Array.length-n.position,n.length);if(!n.mayBeLess&&i<n.length)throw new So;return e.set(this.uint8Array.subarray(n.position,n.position+i)),i}close(){return super.close()}supportsRandomAccess(){return!0}setPosition(e){this.position=e}}function Ro(e,t){const n=function(e){try{const t=e.getReader({mode:"byob"});return t instanceof ReadableStreamDefaultReader?new _o(t):new To(t)}catch(t){if(t instanceof TypeError)return new _o(e.getReader());throw t}}(e),i=t??{},r=i.onClose;return i.onClose=async()=>{if(await n.close(),r)return r()},new Uo(n,i)}function Lo(e,t){return new Mo(e,t)}
|
|
2
|
+
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */var No=function(e,t,n,i,r){var a,s,A=8*r-i-1,o=(1<<A)-1,l=o>>1,c=-7,u=n?r-1:0,h=n?-1:1,d=e[t+u];for(u+=h,a=d&(1<<-c)-1,d>>=-c,c+=A;c>0;a=256*a+e[t+u],u+=h,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=i;c>0;s=256*s+e[t+u],u+=h,c-=8);if(0===a)a=1-l;else{if(a===o)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),a-=l}return(d?-1:1)*s*Math.pow(2,a-i)},Do=function(e,t,n,i,r,a){var s,A,o,l=8*a-r-1,c=(1<<l)-1,u=c>>1,h=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:a-1,g=i?1:-1,p=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(A=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-s))<1&&(s--,o*=2),(t+=s+u>=1?h/o:h*Math.pow(2,1-u))*o>=2&&(s++,o/=2),s+u>=c?(A=0,s=c):s+u>=1?(A=(t*o-1)*Math.pow(2,r),s+=u):(A=t*Math.pow(2,u-1)*Math.pow(2,r),s=0));r>=8;e[n+d]=255&A,d+=g,A/=256,r-=8);for(s=s<<r|A,l+=r;l>0;e[n+d]=255&s,d+=g,s/=256,l-=8);e[n+d-g]|=128*p};function Po(e){return new DataView(e.buffer,e.byteOffset)}const Fo={len:1,get:(e,t)=>Po(e).getUint8(t),put:(e,t,n)=>(Po(e).setUint8(t,n),t+1)},Oo={len:2,get:(e,t)=>Po(e).getUint16(t,!0),put:(e,t,n)=>(Po(e).setUint16(t,n,!0),t+2)},zo={len:2,get:(e,t)=>Po(e).getUint16(t),put:(e,t,n)=>(Po(e).setUint16(t,n),t+2)},Qo={len:3,get(e,t){const n=Po(e);return n.getUint8(t)+(n.getUint16(t+1,!0)<<8)},put(e,t,n){const i=Po(e);return i.setUint8(t,255&n),i.setUint16(t+1,n>>8,!0),t+3}},Vo={len:3,get(e,t){const n=Po(e);return(n.getUint16(t)<<8)+n.getUint8(t+2)},put(e,t,n){const i=Po(e);return i.setUint16(t,n>>8),i.setUint8(t+2,255&n),t+3}},Go={len:4,get:(e,t)=>Po(e).getUint32(t,!0),put:(e,t,n)=>(Po(e).setUint32(t,n,!0),t+4)},jo={len:4,get:(e,t)=>Po(e).getUint32(t),put:(e,t,n)=>(Po(e).setUint32(t,n),t+4)},Yo={len:1,get:(e,t)=>Po(e).getInt8(t),put:(e,t,n)=>(Po(e).setInt8(t,n),t+1)},Ko={len:2,get:(e,t)=>Po(e).getInt16(t),put:(e,t,n)=>(Po(e).setInt16(t,n),t+2)},qo={len:2,get:(e,t)=>Po(e).getInt16(t,!0),put:(e,t,n)=>(Po(e).setInt16(t,n,!0),t+2)},Ho={len:3,get(e,t){const n=Qo.get(e,t);return n>8388607?n-16777216:n},put(e,t,n){const i=Po(e);return i.setUint8(t,255&n),i.setUint16(t+1,n>>8,!0),t+3}},Jo={len:3,get(e,t){const n=Vo.get(e,t);return n>8388607?n-16777216:n},put(e,t,n){const i=Po(e);return i.setUint16(t,n>>8),i.setUint8(t+2,255&n),t+3}},Wo={len:4,get:(e,t)=>Po(e).getInt32(t),put:(e,t,n)=>(Po(e).setInt32(t,n),t+4)},Xo={len:4,get:(e,t)=>Po(e).getInt32(t,!0),put:(e,t,n)=>(Po(e).setInt32(t,n,!0),t+4)},Zo={len:8,get:(e,t)=>Po(e).getBigUint64(t,!0),put:(e,t,n)=>(Po(e).setBigUint64(t,n,!0),t+8)},$o={len:8,get:(e,t)=>Po(e).getBigInt64(t,!0),put:(e,t,n)=>(Po(e).setBigInt64(t,n,!0),t+8)},el={len:8,get:(e,t)=>Po(e).getBigUint64(t),put:(e,t,n)=>(Po(e).setBigUint64(t,n),t+8)},tl={len:8,get:(e,t)=>Po(e).getBigInt64(t),put:(e,t,n)=>(Po(e).setBigInt64(t,n),t+8)},nl={len:2,get(e,t){return No(e,t,!1,10,this.len)},put(e,t,n){return Do(e,n,t,!1,10,this.len),t+this.len}},il={len:2,get(e,t){return No(e,t,!0,10,this.len)},put(e,t,n){return Do(e,n,t,!0,10,this.len),t+this.len}},rl={len:4,get:(e,t)=>Po(e).getFloat32(t),put:(e,t,n)=>(Po(e).setFloat32(t,n),t+4)},al={len:4,get:(e,t)=>Po(e).getFloat32(t,!0),put:(e,t,n)=>(Po(e).setFloat32(t,n,!0),t+4)},sl={len:8,get:(e,t)=>Po(e).getFloat64(t),put:(e,t,n)=>(Po(e).setFloat64(t,n),t+8)},Al={len:8,get:(e,t)=>Po(e).getFloat64(t,!0),put:(e,t,n)=>(Po(e).setFloat64(t,n,!0),t+8)},ol={len:10,get(e,t){return No(e,t,!1,63,this.len)},put(e,t,n){return Do(e,n,t,!1,63,this.len),t+this.len}},ll={len:10,get(e,t){return No(e,t,!0,63,this.len)},put(e,t,n){return Do(e,n,t,!0,63,this.len),t+this.len}};class cl{constructor(e){this.len=e}get(e,t){return e.subarray(t,t+this.len)}}class ul{constructor(e,t){if(this.len=e,t&&"windows-1252"===t.toLowerCase())this.decoder=ul.decodeWindows1252;else{const e=new TextDecoder(t);this.decoder=t=>e.decode(t)}}get(e,t=0){const n=e.subarray(t,t+this.len);return this.decoder(n)}static decodeWindows1252(e){let t="";for(let n=0;n<e.length;n++){const i=e[n];t+=i<128||i>=160?String.fromCharCode(i):ul.win1252Map[i-128]}return t}}ul.win1252Map="€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ";var hl=Object.freeze({__proto__:null,AnsiStringType:class extends ul{constructor(e){super(e,"windows-1252")}},Float16_BE:nl,Float16_LE:il,Float32_BE:rl,Float32_LE:al,Float64_BE:sl,Float64_LE:Al,Float80_BE:ol,Float80_LE:ll,INT16_BE:Ko,INT16_LE:qo,INT24_BE:Jo,INT24_LE:Ho,INT32_BE:Wo,INT32_LE:Xo,INT64_BE:tl,INT64_LE:$o,INT8:Yo,IgnoreType:class{constructor(e){this.len=e}get(e,t){}},StringType:ul,UINT16_BE:zo,UINT16_LE:Oo,UINT24_BE:Vo,UINT24_LE:Qo,UINT32_BE:jo,UINT32_LE:Go,UINT64_BE:el,UINT64_LE:Zo,UINT8:Fo,Uint8ArrayType:cl}),dl=Uint8Array,gl=Uint16Array,pl=Int32Array,fl=new dl([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ml=new dl([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),bl=new dl([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),wl=function(e,t){for(var n=new gl(31),i=0;i<31;++i)n[i]=t+=1<<e[i-1];var r=new pl(n[30]);for(i=1;i<30;++i)for(var a=n[i];a<n[i+1];++a)r[a]=a-n[i]<<5|i;return{b:n,r:r}},El=wl(fl,2),yl=El.b,vl=El.r;yl[28]=258,vl[258]=28;for(var kl=wl(ml,0).b,Sl=new gl(32768),xl=0;xl<32768;++xl){var Il=(43690&xl)>>1|(21845&xl)<<1;Il=(61680&(Il=(52428&Il)>>2|(13107&Il)<<2))>>4|(3855&Il)<<4,Sl[xl]=((65280&Il)>>8|(255&Il)<<8)>>1}var Cl=function(e,t,n){for(var i=e.length,r=0,a=new gl(t);r<i;++r)e[r]&&++a[e[r]-1];var s,A=new gl(t);for(r=1;r<t;++r)A[r]=A[r-1]+a[r-1]<<1;if(n){s=new gl(1<<t);var o=15-t;for(r=0;r<i;++r)if(e[r])for(var l=r<<4|e[r],c=t-e[r],u=A[e[r]-1]++<<c,h=u|(1<<c)-1;u<=h;++u)s[Sl[u]>>o]=l}else for(s=new gl(i),r=0;r<i;++r)e[r]&&(s[r]=Sl[A[e[r]-1]++]>>15-e[r]);return s},Tl=new dl(288);for(xl=0;xl<144;++xl)Tl[xl]=8;for(xl=144;xl<256;++xl)Tl[xl]=9;for(xl=256;xl<280;++xl)Tl[xl]=7;for(xl=280;xl<288;++xl)Tl[xl]=8;var _l=new dl(32);for(xl=0;xl<32;++xl)_l[xl]=5;var Bl=Cl(Tl,9,1),Ul=Cl(_l,5,1),Ml=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},Rl=function(e,t,n){var i=t/8|0;return(e[i]|e[i+1]<<8)>>(7&t)&n},Ll=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},Nl=function(e){return(e+7)/8|0},Dl=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],Pl=function(e,t,n){var i=new Error(t||Dl[e]);if(i.code=e,Error.captureStackTrace&&Error.captureStackTrace(i,Pl),!n)throw i;return i},Fl=function(e,t,n,i){var r=e.length;if(!r||t.f&&!t.l)return n||new dl(0);var a=!n,s=a||2!=t.i,A=t.i;a&&(n=new dl(3*r));var o=function(e){var t=n.length;if(e>t){var i=new dl(Math.max(2*t,e));i.set(n),n=i}},l=t.f||0,c=t.p||0,u=t.b||0,h=t.l,d=t.d,g=t.m,p=t.n,f=8*r;do{if(!h){l=Rl(e,c,1);var m=Rl(e,c+1,3);if(c+=3,!m){var b=e[(_=Nl(c)+4)-4]|e[_-3]<<8,w=_+b;if(w>r){A&&Pl(0);break}s&&o(u+b),n.set(e.subarray(_,w),u),t.b=u+=b,t.p=c=8*w,t.f=l;continue}if(1==m)h=Bl,d=Ul,g=9,p=5;else if(2==m){var E=Rl(e,c,31)+257,y=Rl(e,c+10,15)+4,v=E+Rl(e,c+5,31)+1;c+=14;for(var k=new dl(v),S=new dl(19),x=0;x<y;++x)S[bl[x]]=Rl(e,c+3*x,7);c+=3*y;var I=Ml(S),C=(1<<I)-1,T=Cl(S,I,1);for(x=0;x<v;){var _,B=T[Rl(e,c,C)];if(c+=15&B,(_=B>>4)<16)k[x++]=_;else{var U=0,M=0;for(16==_?(M=3+Rl(e,c,3),c+=2,U=k[x-1]):17==_?(M=3+Rl(e,c,7),c+=3):18==_&&(M=11+Rl(e,c,127),c+=7);M--;)k[x++]=U}}var R=k.subarray(0,E),L=k.subarray(E);g=Ml(R),p=Ml(L),h=Cl(R,g,1),d=Cl(L,p,1)}else Pl(1);if(c>f){A&&Pl(0);break}}s&&o(u+131072);for(var N=(1<<g)-1,D=(1<<p)-1,P=c;;P=c){var F=(U=h[Ll(e,c)&N])>>4;if((c+=15&U)>f){A&&Pl(0);break}if(U||Pl(2),F<256)n[u++]=F;else{if(256==F){P=c,h=null;break}var O=F-254;if(F>264){var z=fl[x=F-257];O=Rl(e,c,(1<<z)-1)+yl[x],c+=z}var Q=d[Ll(e,c)&D],V=Q>>4;Q||Pl(3),c+=15&Q;L=kl[V];if(V>3){z=ml[V];L+=Ll(e,c)&(1<<z)-1,c+=z}if(c>f){A&&Pl(0);break}s&&o(u+131072);var G=u+O;if(u<L){var j=0-L,Y=Math.min(L,G);for(j+u<0&&Pl(3);u<Y;++u)n[u]=i[j+u]}for(;u<G;++u)n[u]=n[u-L]}}t.l=h,t.p=P,t.b=u,t.f=l,h&&(l=1,t.m=g,t.d=d,t.n=p)}while(!l);return u!=n.length&&a?function(e,t,n){return(null==n||n>e.length)&&(n=e.length),new dl(e.subarray(t,n))}(n,0,u):n.subarray(0,u)},Ol=new dl(0);function zl(e,t){var n=function(e){31==e[0]&&139==e[1]&&8==e[2]||Pl(6,"invalid gzip data");var t=e[3],n=10;4&t&&(n+=2+(e[10]|e[11]<<8));for(var i=(t>>3&1)+(t>>4&1);i>0;i-=!e[n++]);return n+(2&t)}(e);return n+8>e.length&&Pl(6,"invalid gzip data"),Fl(e.subarray(n,-8),{i:2},new dl(function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}(e)),t)}function Ql(e,t){return Fl(e.subarray(function(e,t){return(8!=(15&e[0])||e[0]>>4>7||(e[0]<<8|e[1])%31)&&Pl(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&Pl(6,"invalid zlib data: "+(32&e[1]?"need":"unexpected")+" dictionary"),2+(e[1]>>3&4)}(e,t),-4),{i:2},t,t)}function Vl(e,t){return 31==e[0]&&139==e[1]&&8==e[2]?zl(e,t):8!=(15&e[0])||e[0]>>4>7||(e[0]<<8|e[1])%31?function(e,t){return Fl(e,{i:2},t,t)}(e,t):Ql(e,t)}var Gl="undefined"!=typeof TextDecoder&&new TextDecoder;try{Gl.decode(Ol,{stream:!0})}catch(S_){}var jl,Yl,Kl,ql,Hl,Jl={exports:{}},Wl={exports:{}};function Xl(){if(Yl)return jl;Yl=1;var e=1e3,t=60*e,n=60*t,i=24*n,r=7*i,a=365.25*i;function s(e,t,n,i){var r=t>=1.5*n;return Math.round(e/n)+" "+i+(r?"s":"")}return jl=function(A,o){o=o||{};var l=typeof A;if("string"===l&&A.length>0)return function(s){if((s=String(s)).length>100)return;var A=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(!A)return;var o=parseFloat(A[1]);switch((A[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return o*a;case"weeks":case"week":case"w":return o*r;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*t;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}(A);if("number"===l&&isFinite(A))return o.long?function(r){var a=Math.abs(r);if(a>=i)return s(r,a,i,"day");if(a>=n)return s(r,a,n,"hour");if(a>=t)return s(r,a,t,"minute");if(a>=e)return s(r,a,e,"second");return r+" ms"}(A):function(r){var a=Math.abs(r);if(a>=i)return Math.round(r/i)+"d";if(a>=n)return Math.round(r/n)+"h";if(a>=t)return Math.round(r/t)+"m";if(a>=e)return Math.round(r/e)+"s";return r+"ms"}(A);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(A))},jl}function Zl(){if(ql)return Kl;return ql=1,Kl=function(e){function t(e){let i,r,a,s=null;function A(...e){if(!A.enabled)return;const n=A,r=Number(new Date),a=r-(i||r);n.diff=a,n.prev=i,n.curr=r,i=r,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,r)=>{if("%%"===i)return"%";s++;const a=t.formatters[r];if("function"==typeof a){const t=e[s];i=a.call(n,t),e.splice(s,1),s--}return i}),t.formatArgs.call(n,e);(n.log||t.log).apply(n,e)}return A.namespace=e,A.useColors=t.useColors(),A.color=t.selectColor(e),A.extend=n,A.destroy=t.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(r!==t.namespaces&&(r=t.namespaces,a=t.enabled(e)),a),set:e=>{s=e}}),"function"==typeof t.init&&t.init(A),A}function n(e,n){const i=t(this.namespace+(void 0===n?":":n)+e);return i.log=this.log,i}function i(e,t){let n=0,i=0,r=-1,a=0;for(;n<e.length;)if(i<t.length&&(t[i]===e[n]||"*"===t[i]))"*"===t[i]?(r=i,a=n,i++):(n++,i++);else{if(-1===r)return!1;i=r+1,a++,n=a}for(;i<t.length&&"*"===t[i];)i++;return i===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(i(e,n))return!1;for(const n of t.names)if(i(e,n))return!0;return!1},t.humanize=Xl(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t},Kl}var $l={exports:{}};function ec(){return!1}function tc(){throw new Error("tty.ReadStream is not implemented")}function nc(){throw new Error("tty.ReadStream is not implemented")}var ic,rc={isatty:ec,ReadStream:tc,WriteStream:nc},ac=n(Object.freeze({__proto__:null,ReadStream:tc,WriteStream:nc,default:rc,isatty:ec}));function sc(){if(void 0===ic){var e=new ArrayBuffer(2),t=new Uint8Array(e),n=new Uint16Array(e);if(t[0]=1,t[1]=2,258===n[0])ic="BE";else{if(513!==n[0])throw new Error("unable to figure out endianess");ic="LE"}}return ic}function Ac(){return void 0!==p.location?p.location.hostname:""}function oc(){return[]}function lc(){return 0}function cc(){return Number.MAX_VALUE}function uc(){return Number.MAX_VALUE}function hc(){return[]}function dc(){return"Browser"}function gc(){return void 0!==p.navigator?p.navigator.appVersion:""}function pc(){return{}}function fc(){return{}}function mc(){return"javascript"}function bc(){return"browser"}function wc(){return"/tmp"}var Ec=wc;function yc(){return"$HOME"}var vc,kc,Sc,xc,Ic,Cc={homedir:yc,EOL:"\n",arch:mc,platform:bc,tmpdir:Ec,tmpDir:wc,networkInterfaces:pc,getNetworkInterfaces:fc,release:gc,type:dc,cpus:hc,totalmem:uc,freemem:cc,uptime:lc,loadavg:oc,hostname:Ac,endianness:sc},Tc=n(Object.freeze({__proto__:null,EOL:"\n",arch:mc,cpus:hc,default:Cc,endianness:sc,freemem:cc,getNetworkInterfaces:fc,homedir:yc,hostname:Ac,loadavg:oc,networkInterfaces:pc,platform:bc,release:gc,tmpDir:wc,tmpdir:Ec,totalmem:uc,type:dc,uptime:lc}));function _c(){return kc||(kc=1,vc=(e,t=process.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return-1!==i&&(-1===r||i<r)}),vc}function Bc(){if(xc)return Sc;xc=1;const e=Tc,t=ac,n=_c(),{env:i}=process;let r;function a(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function s(t,a){if(0===r)return 0;if(n("color=16m")||n("color=full")||n("color=truecolor"))return 3;if(n("color=256"))return 2;if(t&&!a&&void 0===r)return 0;const s=r||0;if("dumb"===i.TERM)return s;if("win32"===process.platform){const t=e.release().split(".");return Number(t[0])>=10&&Number(t[2])>=10586?Number(t[2])>=14931?3:2:1}if("CI"in i)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(e=>e in i)||"codeship"===i.CI_NAME?1:s;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if("truecolor"===i.COLORTERM)return 3;if("TERM_PROGRAM"in i){const e=parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:s}return n("no-color")||n("no-colors")||n("color=false")||n("color=never")?r=0:(n("color")||n("colors")||n("color=true")||n("color=always"))&&(r=1),"FORCE_COLOR"in i&&(r="true"===i.FORCE_COLOR?1:"false"===i.FORCE_COLOR?0:0===i.FORCE_COLOR.length?1:Math.min(parseInt(i.FORCE_COLOR,10),3)),Sc={supportsColor:function(e){return a(s(e,e&&e.isTTY))},stdout:a(s(!0,t.isatty(1))),stderr:a(s(!0,t.isatty(2)))},Sc}"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?Jl.exports=(Hl||(Hl=1,function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let i=0,r=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(i++,"%c"===e&&(r=i))}),t.splice(r,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"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&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=Zl()(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(Wl,Wl.exports)),Wl.exports):Jl.exports=(Ic||(Ic=1,function(e,t){const n=ac,i=Jn;t.init=function(e){e.inspectOpts={};const n=Object.keys(t.inspectOpts);for(let i=0;i<n.length;i++)e.inspectOpts[n[i]]=t.inspectOpts[n[i]]},t.log=function(...e){return process.stderr.write(i.formatWithOptions(t.inspectOpts,...e)+"\n")},t.formatArgs=function(n){const{namespace:i,useColors:r}=this;if(r){const t=this.color,r="[3"+(t<8?t:"8;5;"+t),a=` ${r};1m${i} [0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(r+"m+"+e.exports.humanize(this.diff)+"[0m")}else n[0]=(t.inspectOpts.hideDate?"":(new Date).toISOString()+" ")+i+" "+n[0]},t.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},t.load=function(){return process.env.DEBUG},t.useColors=function(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(process.stderr.fd)},t.destroy=i.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=Bc();e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{const n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase());let i=process.env[t];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[n]=i,e},{}),e.exports=Zl()(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).split("\n").map(e=>e.trim()).join(" ")},r.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}}($l,$l.exports)),$l.exports);var Uc=t(Jl.exports);const Mc=67324752,Rc=134695760,Lc=33639248,Nc=101010256,Dc={get:e=>(Oo.get(e,6),{signature:Go.get(e,0),compressedSize:Go.get(e,8),uncompressedSize:Go.get(e,12)}),len:16},Pc={get(e){const t=Oo.get(e,6);return{signature:Go.get(e,0),minVersion:Oo.get(e,4),dataDescriptor:!!(8&t),compressedMethod:Oo.get(e,8),compressedSize:Go.get(e,18),uncompressedSize:Go.get(e,22),filenameLength:Oo.get(e,26),extraFieldLength:Oo.get(e,28),filename:null}},len:30},Fc={get:e=>({signature:Go.get(e,0),nrOfThisDisk:Oo.get(e,4),nrOfThisDiskWithTheStart:Oo.get(e,6),nrOfEntriesOnThisDisk:Oo.get(e,8),nrOfEntriesOfSize:Oo.get(e,10),sizeOfCd:Go.get(e,12),offsetOfStartOfCd:Go.get(e,16),zipFileCommentLength:Oo.get(e,20)}),len:22},Oc={get(e){const t=Oo.get(e,8);return{signature:Go.get(e,0),minVersion:Oo.get(e,6),dataDescriptor:!!(8&t),compressedMethod:Oo.get(e,10),compressedSize:Go.get(e,20),uncompressedSize:Go.get(e,24),filenameLength:Oo.get(e,28),extraFieldLength:Oo.get(e,30),fileCommentLength:Oo.get(e,32),relativeOffsetOfLocalHeader:Go.get(e,42),filename:null}},len:46};function zc(e){const t=new Uint8Array(Go.len);return Go.put(t,0,e),t}const Qc=Uc("tokenizer:inflate"),Vc=262144,Gc=zc(Rc),jc=zc(Nc);class Yc{constructor(e){this.tokenizer=e,this.syncBuffer=new Uint8Array(Vc)}async isZip(){return await this.peekSignature()===Mc}peekSignature(){return this.tokenizer.peekToken(Go)}async findEndOfCentralDirectoryLocator(){const e=this.tokenizer,t=Math.min(16384,e.fileInfo.size),n=this.syncBuffer.subarray(0,t);await this.tokenizer.readBuffer(n,{position:e.fileInfo.size-t});for(let i=n.length-4;i>=0;i--)if(n[i]===jc[0]&&n[i+1]===jc[1]&&n[i+2]===jc[2]&&n[i+3]===jc[3])return e.fileInfo.size-t+i;return-1}async readCentralDirectory(){if(!this.tokenizer.supportsRandomAccess())return void Qc("Cannot reading central-directory without random-read support");Qc("Reading central-directory...");const e=this.tokenizer.position,t=await this.findEndOfCentralDirectoryLocator();if(t>0){Qc("Central-directory 32-bit signature found");const n=await this.tokenizer.readToken(Fc,t),i=[];this.tokenizer.setPosition(n.offsetOfStartOfCd);for(let e=0;e<n.nrOfEntriesOfSize;++e){const t=await this.tokenizer.readToken(Oc);if(t.signature!==Lc)throw new Error("Expected Central-File-Header signature");t.filename=await this.tokenizer.readToken(new ul(t.filenameLength,"utf-8")),await this.tokenizer.ignore(t.extraFieldLength),await this.tokenizer.ignore(t.fileCommentLength),i.push(t),Qc(`Add central-directory file-entry: n=${e+1}/${i.length}: filename=${i[e].filename}`)}return this.tokenizer.setPosition(e),i}this.tokenizer.setPosition(e)}async unzip(e){const t=await this.readCentralDirectory();if(t)return this.iterateOverCentralDirectory(t,e);let n=!1;do{const t=await this.readLocalFileHeader();if(!t)break;const i=e(t);let r;if(n=!!i.stop,await this.tokenizer.ignore(t.extraFieldLength),t.dataDescriptor&&0===t.compressedSize){const e=[];let n=Vc;Qc("Compressed-file-size unknown, scanning for next data-descriptor-signature....");let r=-1;for(;r<0&&n===Vc;){n=await this.tokenizer.peekBuffer(this.syncBuffer,{mayBeLess:!0}),r=Kc(this.syncBuffer.subarray(0,n),Gc);const t=r>=0?r:n;if(i.handler){const n=new Uint8Array(t);await this.tokenizer.readBuffer(n),e.push(n)}else await this.tokenizer.ignore(t)}Qc(`Found data-descriptor-signature at pos=${this.tokenizer.position}`),i.handler&&await this.inflate(t,qc(e),i.handler)}else i.handler?(Qc(`Reading compressed-file-data: ${t.compressedSize} bytes`),r=new Uint8Array(t.compressedSize),await this.tokenizer.readBuffer(r),await this.inflate(t,r,i.handler)):(Qc(`Ignoring compressed-file-data: ${t.compressedSize} bytes`),await this.tokenizer.ignore(t.compressedSize));if(Qc(`Reading data-descriptor at pos=${this.tokenizer.position}`),t.dataDescriptor){if(134695760!==(await this.tokenizer.readToken(Dc)).signature)throw new Error("Expected data-descriptor-signature at position "+(this.tokenizer.position-Dc.len))}}while(!n)}async iterateOverCentralDirectory(e,t){for(const n of e){const e=t(n);if(e.handler){this.tokenizer.setPosition(n.relativeOffsetOfLocalHeader);const t=await this.readLocalFileHeader();if(t){await this.tokenizer.ignore(t.extraFieldLength);const i=new Uint8Array(n.compressedSize);await this.tokenizer.readBuffer(i),await this.inflate(t,i,e.handler)}}if(e.stop)break}}inflate(e,t,n){if(0===e.compressedMethod)return n(t);Qc(`Decompress filename=${e.filename}, compressed-size=${t.length}`);return n(Vl(t))}async readLocalFileHeader(){const e=await this.tokenizer.peekToken(Go);if(e===Mc){const e=await this.tokenizer.readToken(Pc);return e.filename=await this.tokenizer.readToken(new ul(e.filenameLength,"utf-8")),e}if(e===Lc)return!1;if(3759263696===e)throw new Error("Encrypted ZIP");throw new Error("Unexpected signature")}}function Kc(e,t){const n=e.length,i=t.length;if(i>n)return-1;for(let r=0;r<=n-i;r++){let n=!0;for(let a=0;a<i;a++)if(e[r+a]!==t[a]){n=!1;break}if(n)return r}return-1}function qc(e){const t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t);let i=0;for(const t of e)n.set(t,i),i+=t.length;return n}const Hc=Object.prototype.toString;function Jc(e,t,n){return!!e&&(e.constructor===t||Hc.call(e)===n)}function Wc(e){return Jc(e,Uint8Array,"[object Uint8Array]")}function Xc(e){return Wc(e)||function(e){return Jc(e,ArrayBuffer,"[object ArrayBuffer]")}(e)}const Zc={utf8:new globalThis.TextDecoder("utf8")};function $c(e,t="utf8"){return function(e){if(!Xc(e))throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``)}(e),Zc[t]??=new globalThis.TextDecoder(t),Zc[t].decode(e)}function eu(e){if("string"!=typeof e)throw new TypeError(`Expected \`string\`, got \`${typeof e}\``)}const tu=new globalThis.TextEncoder;const nu=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function iu(e){!function(e){if(!Wc(e))throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof e}\``)}(e);let t="";for(let n=0;n<e.length;n++)t+=nu[e[n]];return t}const ru={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function au(e){if(eu(e),e.length%2!=0)throw new Error("Invalid Hex string length.");const t=e.length/2,n=new Uint8Array(t);for(let i=0;i<t;i++){const t=ru[e[2*i]],r=ru[e[2*i+1]];if(void 0===t||void 0===r)throw new Error("Invalid Hex character encountered at position "+2*i);n[i]=t<<4|r}return n}function su(e){const{byteLength:t}=e;return 6===t?e.getUint16(0)*2**32+e.getUint32(2):5===t?e.getUint8(0)*2**32+e.getUint32(1):4===t?e.getUint32(0):3===t?65536*e.getUint8(0)+e.getUint16(1):2===t?e.getUint16(0):1===t?e.getUint8(0):void 0}const Au={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},ou=4100;async function lu(e,t){return new hu(t).fromBuffer(e)}function cu(e){switch(e=e.toLowerCase()){case"application/epub+zip":return{ext:"epub",mime:e};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:e};case"application/vnd.oasis.opendocument.text-template":return{ext:"ott",mime:e};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:e};case"application/vnd.oasis.opendocument.spreadsheet-template":return{ext:"ots",mime:e};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:e};case"application/vnd.oasis.opendocument.presentation-template":return{ext:"otp",mime:e};case"application/vnd.oasis.opendocument.graphics":return{ext:"odg",mime:e};case"application/vnd.oasis.opendocument.graphics-template":return{ext:"otg",mime:e};case"application/vnd.openxmlformats-officedocument.presentationml.slideshow":return{ext:"ppsx",mime:e};case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return{ext:"xlsx",mime:e};case"application/vnd.ms-excel.sheet.macroenabled":return{ext:"xlsm",mime:"application/vnd.ms-excel.sheet.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.spreadsheetml.template":return{ext:"xltx",mime:e};case"application/vnd.ms-excel.template.macroenabled":return{ext:"xltm",mime:"application/vnd.ms-excel.template.macroenabled.12"};case"application/vnd.ms-powerpoint.slideshow.macroenabled":return{ext:"ppsm",mime:"application/vnd.ms-powerpoint.slideshow.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return{ext:"docx",mime:e};case"application/vnd.ms-word.document.macroenabled":return{ext:"docm",mime:"application/vnd.ms-word.document.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.wordprocessingml.template":return{ext:"dotx",mime:e};case"application/vnd.ms-word.template.macroenabledtemplate":return{ext:"dotm",mime:"application/vnd.ms-word.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.template":return{ext:"potx",mime:e};case"application/vnd.ms-powerpoint.template.macroenabled":return{ext:"potm",mime:"application/vnd.ms-powerpoint.template.macroenabled.12"};case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return{ext:"pptx",mime:e};case"application/vnd.ms-powerpoint.presentation.macroenabled":return{ext:"pptm",mime:"application/vnd.ms-powerpoint.presentation.macroenabled.12"};case"application/vnd.ms-visio.drawing":return{ext:"vsdx",mime:"application/vnd.visio"};case"application/vnd.ms-package.3dmanufacturing-3dmodel+xml":return{ext:"3mf",mime:"model/3mf"}}}function uu(e,t,n){n={offset:0,...n};for(const[i,r]of t.entries())if(n.mask){if(r!==(n.mask[i]&e[i+n.offset]))return!1}else if(r!==e[i+n.offset])return!1;return!0}class hu{constructor(e){this.options={mpegOffsetTolerance:0,...e},this.detectors=[...e?.customDetectors??[],{id:"core",detect:this.detectConfident},{id:"core.imprecise",detect:this.detectImprecise}],this.tokenizerOptions={abortSignal:e?.signal}}async fromTokenizer(e){const t=e.position;for(const n of this.detectors){const i=await n.detect(e);if(i)return i;if(t!==e.position)return}}async fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Uint8Array?e:new Uint8Array(e);if(t?.length>1)return this.fromTokenizer(Lo(t,this.tokenizerOptions))}async fromBlob(e){return this.fromStream(e.stream())}async fromStream(e){const t=await Ro(e,this.tokenizerOptions);try{return await this.fromTokenizer(t)}finally{await t.close()}}async toDetectionStream(e,t){const{sampleSize:n=ou}=t;let i,r;const a=e.getReader({mode:"byob"});try{const{value:e,done:t}=await a.read(new Uint8Array(n));if(r=e,!t&&e)try{i=await this.fromBuffer(e.subarray(0,n))}catch(e){if(!(e instanceof So))throw e;i=void 0}r=e}finally{a.releaseLock()}const s=new TransformStream({async start(e){e.enqueue(r)},transform(e,t){t.enqueue(e)}}),A=e.pipeThrough(s);return A.fileType=i,A}check(e,t){return uu(this.buffer,e,t)}checkString(e,t){return this.check((n=e,[...n].map(e=>e.charCodeAt(0))),t);var n}detectConfident=async e=>{if(this.buffer=new Uint8Array(ou),void 0===e.fileInfo.size&&(e.fileInfo.size=Number.MAX_SAFE_INTEGER),this.tokenizer=e,await e.peekBuffer(this.buffer,{length:12,mayBeLess:!0}),this.check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(this.check([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(this.check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(this.check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(this.check([37,33]))return await e.peekBuffer(this.buffer,{length:24,mayBeLess:!0}),this.checkString("PS-Adobe-",{offset:2})&&this.checkString(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(this.check([31,160])||this.check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(this.check([199,113]))return{ext:"cpio",mime:"application/x-cpio"};if(this.check([96,234]))return{ext:"arj",mime:"application/x-arj"};if(this.check([239,187,191]))return this.tokenizer.ignore(3),this.detectConfident(e);if(this.check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(this.check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(this.check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(this.check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(this.checkString("ID3")){await e.ignore(6);const t=await e.readToken(Au);return e.position+t>e.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await e.ignore(t),this.fromTokenizer(e))}if(this.checkString("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((67===this.buffer[0]||70===this.buffer[0])&&this.check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(this.check([255,216,255]))return this.check([247],{offset:3})?{ext:"jls",mime:"image/jls"}:{ext:"jpg",mime:"image/jpeg"};if(this.check([79,98,106,1]))return{ext:"avro",mime:"application/avro"};if(this.checkString("FLIF"))return{ext:"flif",mime:"image/flif"};if(this.checkString("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(this.checkString("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(this.checkString("FORM"))return{ext:"aif",mime:"audio/aiff"};if(this.checkString("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(this.check([80,75,3,4])){let n;return await new Yc(e).unzip(e=>{switch(e.filename){case"META-INF/mozilla.rsa":return n={ext:"xpi",mime:"application/x-xpinstall"},{stop:!0};case"META-INF/MANIFEST.MF":return n={ext:"jar",mime:"application/java-archive"},{stop:!0};case"mimetype":return{async handler(e){const t=new TextDecoder("utf-8").decode(e).trim();n=cu(t)},stop:!0};case"[Content_Types].xml":return{async handler(e){let t=new TextDecoder("utf-8").decode(e);const i=t.indexOf('.main+xml"');if(-1===i){const e="application/vnd.ms-package.3dmanufacturing-3dmodel+xml";t.includes(`ContentType="${e}"`)&&(n=cu(e))}else{t=t.slice(0,Math.max(0,i));const e=t.lastIndexOf('"'),r=t.slice(Math.max(0,e+1));n=cu(r)}},stop:!0};default:return/classes\d*\.dex/.test(e.filename)?(n={ext:"apk",mime:"application/vnd.android.package-archive"},{stop:!0}):{}}}),n??{ext:"zip",mime:"application/zip"}}if(this.checkString("OggS")){await e.ignore(28);const i=new Uint8Array(8);return await e.readBuffer(i),uu(i,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/ogg; codecs=opus"}:uu(i,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:uu(i,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:uu(i,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:uu(i,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:uu(i,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(this.check([80,75])&&(3===this.buffer[2]||5===this.buffer[2]||7===this.buffer[2])&&(4===this.buffer[3]||6===this.buffer[3]||8===this.buffer[3]))return{ext:"zip",mime:"application/zip"};if(this.checkString("MThd"))return{ext:"mid",mime:"audio/midi"};if(this.checkString("wOFF")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(this.checkString("wOF2")&&(this.check([0,1,0,0],{offset:4})||this.checkString("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(this.check([212,195,178,161])||this.check([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(this.checkString("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(this.checkString("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(this.checkString("fLaC"))return{ext:"flac",mime:"audio/flac"};if(this.check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(this.checkString("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(this.checkString("%PDF"))return{ext:"pdf",mime:"application/pdf"};if(this.check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(this.check([73,73])){const r=await this.readTiffHeader(!1);if(r)return r}if(this.check([77,77])){const a=await this.readTiffHeader(!0);if(a)return a}if(this.checkString("MAC "))return{ext:"ape",mime:"audio/ape"};if(this.check([26,69,223,163])){async function s(){const t=await e.peekNumber(Fo);let n=128,i=0;for(;0===(t&n)&&0!==n;)++i,n>>=1;const r=new Uint8Array(i+1);return await e.readBuffer(r),r}async function A(){const e=await s(),t=await s();t[0]^=128>>t.length-1;const n=Math.min(6,t.length),i=new DataView(e.buffer),r=new DataView(t.buffer,t.length-n,n);return{id:su(i),len:su(r)}}async function o(t){for(;t>0;){const n=await A();if(17026===n.id){return(await e.readToken(new ul(n.len))).replaceAll(/\00.*$/g,"")}await e.ignore(n.len),--t}}const l=await A();switch(await o(l.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/matroska"};default:return}}if(this.checkString("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(this.check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(this.checkString("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(this.checkString("MSCF")||this.checkString("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(this.check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(this.check([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(this.check([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(this.check([127,69,76,70]))return{ext:"elf",mime:"application/x-elf"};if(this.check([33,66,68,78]))return{ext:"pst",mime:"application/vnd.ms-outlook"};if(this.checkString("PAR1")||this.checkString("PARE"))return{ext:"parquet",mime:"application/vnd.apache.parquet"};if(this.checkString("ttcf"))return{ext:"ttc",mime:"font/collection"};if(this.check([207,250,237,254]))return{ext:"macho",mime:"application/x-mach-binary"};if(this.check([4,34,77,24]))return{ext:"lz4",mime:"application/x-lz4"};if(this.check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(this.checkString("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(this.checkString("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(this.check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(this.checkString("IMPM"))return{ext:"it",mime:"audio/x-it"};if(this.checkString("-lh0-",{offset:2})||this.checkString("-lh1-",{offset:2})||this.checkString("-lh2-",{offset:2})||this.checkString("-lh3-",{offset:2})||this.checkString("-lh4-",{offset:2})||this.checkString("-lh5-",{offset:2})||this.checkString("-lh6-",{offset:2})||this.checkString("-lh7-",{offset:2})||this.checkString("-lzs-",{offset:2})||this.checkString("-lz4-",{offset:2})||this.checkString("-lz5-",{offset:2})||this.checkString("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(this.check([0,0,1,186])){if(this.check([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(this.check([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(this.checkString("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(this.check([202,254,186,190]))return{ext:"class",mime:"application/java-vm"};if(this.checkString(".RMF"))return{ext:"rm",mime:"application/vnd.rn-realmedia"};if(this.checkString("DRACO"))return{ext:"drc",mime:"application/vnd.google.draco"};if(this.check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(this.checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(this.check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(this.check([82,97,114,33,26,7])&&(0===this.buffer[6]||1===this.buffer[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(this.checkString("solid "))return{ext:"stl",mime:"model/stl"};if(this.checkString("AC")){const c=new ul(4,"latin1").get(this.buffer,2);if(c.match("^d*")&&c>=1e3&&c<=1050)return{ext:"dwg",mime:"image/vnd.dwg"}}if(this.checkString("070707"))return{ext:"cpio",mime:"application/x-cpio"};if(this.checkString("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(this.checkString("!<arch>")){await e.ignore(8);return"debian-binary"===await e.readToken(new ul(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"}}if(this.checkString("WEBVTT")&&["\n","\r","\t"," ","\0"].some(e=>this.checkString(e,{offset:6})))return{ext:"vtt",mime:"text/vtt"};if(this.check([137,80,78,71,13,10,26,10])){async function u(){return{length:await e.readToken(Wo),type:await e.readToken(new ul(4,"latin1"))}}await e.ignore(8);do{const h=await u();if(h.length<0)return;switch(h.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await e.ignore(h.length+4)}}while(e.position+8<e.fileInfo.size);return{ext:"png",mime:"image/png"}}if(this.check([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/vnd.apache.arrow.file"};if(this.check([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(this.check([102,114,101,101],{offset:4})||this.check([109,100,97,116],{offset:4})||this.check([109,111,111,118],{offset:4})||this.check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(this.check([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(this.checkString("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(this.checkString("ftyp",{offset:4})&&96&this.buffer[8]){const d=new ul(4,"latin1").get(this.buffer,8).replace("\0"," ").trim();switch(d){case"avif":case"avis":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return d.startsWith("3g")?d.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(this.check([82,73,70,70])){if(this.checkString("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(this.check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(this.check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/wav"};if(this.check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(this.check([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(this.check([48,38,178,117,142,102,207,17,166,217])){async function g(){const t=new Uint8Array(16);return await e.readBuffer(t),{id:t,size:Number(await e.readToken(Zo))}}for(await e.ignore(30);e.position+24<e.fileInfo.size;){const p=await g();let f=p.size-24;if(uu(p.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const m=new Uint8Array(16);if(f-=await e.readBuffer(m),uu(m,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(uu(m,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await e.ignore(f)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(this.check([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((this.check([126,16,4])||this.check([126,24,4]))&&this.check([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(this.check([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(this.check([255,79,255,81]))return{ext:"j2c",mime:"image/j2c"};if(this.check([0,0,0,12,106,80,32,32,13,10,135,10])){await e.ignore(20);switch(await e.readToken(new ul(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}}if(this.check([255,10])||this.check([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(this.check([254,255]))return this.check([0,60,0,63,0,120,0,109,0,108],{offset:2})?{ext:"xml",mime:"application/xml"}:void 0;if(this.check([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(this.buffer,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),this.check([97,99,115,112],{offset:36}))return{ext:"icc",mime:"application/vnd.iccprofile"};if(this.checkString("**ACE",{offset:7})&&this.checkString("**",{offset:12}))return{ext:"ace",mime:"application/x-ace-compressed"};if(this.checkString("BEGIN:")){if(this.checkString("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(this.checkString("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(this.checkString("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(this.checkString("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(this.checkString("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(this.check([4,0,0,0])&&this.buffer.length>=16){const b=new DataView(this.buffer.buffer).getUint32(12,!0);if(b>12&&this.buffer.length>=b+16)try{const w=(new TextDecoder).decode(this.buffer.subarray(16,b+16));if(JSON.parse(w).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}return this.check([6,14,43,52,2,5,1,1,13,1,2,1,1,2])?{ext:"mxf",mime:"application/mxf"}:this.checkString("SCRM",{offset:44})?{ext:"s3m",mime:"audio/x-s3m"}:this.check([71])&&this.check([71],{offset:188})||this.check([71],{offset:4})&&this.check([71],{offset:196})?{ext:"mts",mime:"video/mp2t"}:this.check([66,79,79,75,77,79,66,73],{offset:60})?{ext:"mobi",mime:"application/x-mobipocket-ebook"}:this.check([68,73,67,77],{offset:128})?{ext:"dcm",mime:"application/dicom"}:this.check([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70])?{ext:"lnk",mime:"application/x.ms.shortcut"}:this.check([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0])?{ext:"alias",mime:"application/x.apple.alias"}:this.checkString("Kaydara FBX Binary \0")?{ext:"fbx",mime:"application/x.autodesk.fbx"}:this.check([76,80],{offset:34})&&(this.check([0,0,1],{offset:8})||this.check([1,0,2],{offset:8})||this.check([2,0,2],{offset:8}))?{ext:"eot",mime:"application/vnd.ms-fontobject"}:this.check([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29])?{ext:"indd",mime:"application/x-indesign"}:(await e.peekBuffer(this.buffer,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),this.checkString("ustar",{offset:257})&&(this.checkString("\0",{offset:262})||this.checkString(" ",{offset:262}))||this.check([0,0,0,0,0,0],{offset:257})&&function(e,t=0){const n=Number.parseInt(new ul(6).get(e,148).replace(/\0.*$/,"").trim(),8);if(Number.isNaN(n))return!1;let i=256;for(let n=t;n<t+148;n++)i+=e[n];for(let n=t+156;n<t+512;n++)i+=e[n];return n===i}(this.buffer)?{ext:"tar",mime:"application/x-tar"}:this.check([255,254])?this.check([60,0,63,0,120,0,109,0,108,0],{offset:2})?{ext:"xml",mime:"application/xml"}:this.check([255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0],{offset:2})?{ext:"skp",mime:"application/vnd.sketchup.skp"}:void 0:this.checkString("-----BEGIN PGP MESSAGE-----")?{ext:"pgp",mime:"application/pgp-encrypted"}:void 0)};detectImprecise=async e=>{if(this.buffer=new Uint8Array(ou),await e.peekBuffer(this.buffer,{length:Math.min(8,e.fileInfo.size),mayBeLess:!0}),this.check([0,0,1,186])||this.check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(this.check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(this.check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(this.check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(await e.peekBuffer(this.buffer,{length:Math.min(2+this.options.mpegOffsetTolerance,e.fileInfo.size),mayBeLess:!0}),this.buffer.length>=2+this.options.mpegOffsetTolerance)for(let e=0;e<=this.options.mpegOffsetTolerance;++e){const t=this.scanMpeg(e);if(t)return t}};async readTiffTag(e){const t=await this.tokenizer.readToken(e?zo:Oo);switch(this.tokenizer.ignore(10),t){case 50341:return{ext:"arw",mime:"image/x-sony-arw"};case 50706:return{ext:"dng",mime:"image/x-adobe-dng"}}}async readTiffIFD(e){const t=await this.tokenizer.readToken(e?zo:Oo);for(let n=0;n<t;++n){const t=await this.readTiffTag(e);if(t)return t}}async readTiffHeader(e){const t=(e?zo:Oo).get(this.buffer,2),n=(e?jo:Go).get(this.buffer,4);if(42===t){if(n>=6){if(this.checkString("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(n>=8){const t=(e?zo:Oo).get(this.buffer,8),n=(e?zo:Oo).get(this.buffer,10);if(28===t&&254===n||31===t&&11===n)return{ext:"nef",mime:"image/x-nikon-nef"}}}await this.tokenizer.ignore(n);return await this.readTiffIFD(e)??{ext:"tif",mime:"image/tiff"}}if(43===t)return{ext:"tif",mime:"image/tiff"}}scanMpeg(e){if(this.check([255,224],{offset:e,mask:[255,224]})){if(this.check([16],{offset:e+1,mask:[22]}))return this.check([8],{offset:e+1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(this.check([2],{offset:e+1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(this.check([4],{offset:e+1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(this.check([6],{offset:e+1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}}new Set(["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","elf","macho","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ttc","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","j2c","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf","jls","pst","dwg","parquet","class","arj","cpio","ace","avro","icc","fbx","vsdx","vtt","apk","drc","lz4","potx","xltx","dotx","xltm","ott","ots","otp","odg","otg","xlsm","docm","dotm","potm","pptm","jar","rm","ppsm","ppsx"]),new Set(["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.ms-powerpoint.slideshow.macroenabled.12","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/vnd.apache.arrow.file","video/mp4","audio/midi","video/matroska","video/webm","video/quicktime","video/vnd.avi","audio/wav","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","video/ogg","audio/ogg","audio/ogg; codecs=opus","application/ogg","audio/flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-elf","application/x-mach-binary","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","font/collection","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/j2c","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","text/vtt","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd","image/jls","application/vnd.ms-outlook","image/vnd.dwg","application/vnd.apache.parquet","application/java-vm","application/x-arj","application/x-cpio","application/x-ace-compressed","application/avro","application/vnd.iccprofile","application/x.autodesk.fbx","application/vnd.visio","application/vnd.android.package-archive","application/vnd.google.draco","application/x-lz4","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-excel.template.macroenabled.12","application/vnd.oasis.opendocument.text-template","application/vnd.oasis.opendocument.spreadsheet-template","application/vnd.oasis.opendocument.presentation-template","application/vnd.oasis.opendocument.graphics","application/vnd.oasis.opendocument.graphics-template","application/vnd.ms-excel.sheet.macroenabled.12","application/vnd.ms-word.document.macroenabled.12","application/vnd.ms-word.template.macroenabled.12","application/vnd.ms-powerpoint.template.macroenabled.12","application/vnd.ms-powerpoint.presentation.macroenabled.12","application/java-archive","application/vnd.rn-realmedia"]);var du={},gu=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,pu=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,fu=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,mu=/\\([\u000b\u0020-\u00ff])/g,bu=/([\\"])/g,wu=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
|
|
3
|
+
/*!
|
|
4
|
+
* content-type
|
|
5
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
6
|
+
* MIT Licensed
|
|
7
|
+
*/function Eu(e){var t=String(e);if(fu.test(t))return t;if(t.length>0&&!pu.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(bu,"\\$1")+'"'}function yu(e){this.parameters=Object.create(null),this.type=e}
|
|
8
|
+
/*!
|
|
9
|
+
* media-typer
|
|
10
|
+
* Copyright(c) 2014-2017 Douglas Christopher Wilson
|
|
11
|
+
* MIT Licensed
|
|
12
|
+
*/du.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,n=e.type;if(!n||!wu.test(n))throw new TypeError("invalid type");var i=n;if(t&&"object"==typeof t)for(var r,a=Object.keys(t).sort(),s=0;s<a.length;s++){if(r=a[s],!fu.test(r))throw new TypeError("invalid parameter name");i+="; "+r+"="+Eu(t[r])}return i},du.parse=function(e){if(!e)throw new TypeError("argument string is required");var t="object"==typeof e?function(e){var t;"function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]);if("string"!=typeof t)throw new TypeError("content-type header is missing from object");return t}(e):e;if("string"!=typeof t)throw new TypeError("argument string is required to be a string");var n=t.indexOf(";"),i=-1!==n?t.slice(0,n).trim():t.trim();if(!wu.test(i))throw new TypeError("invalid media type");var r=new yu(i.toLowerCase());if(-1!==n){var a,s,A;for(gu.lastIndex=n;s=gu.exec(t);){if(s.index!==n)throw new TypeError("invalid parameter format");n+=s[0].length,a=s[1].toLowerCase(),34===(A=s[2]).charCodeAt(0)&&-1!==(A=A.slice(1,-1)).indexOf("\\")&&(A=A.replace(mu,"$1")),r.parameters[a]=A}if(n!==t.length)throw new TypeError("invalid parameter format")}return r};var vu=/^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$/,ku=function(e){if(!e)throw new TypeError("argument string is required");if("string"!=typeof e)throw new TypeError("argument string is required to be a string");var t=vu.exec(e.toLowerCase());if(!t)throw new TypeError("invalid media type");var n,i=t[1],r=t[2],a=r.lastIndexOf("+");-1!==a&&(n=r.substr(a+1),r=r.substr(0,a));return new Su(i,r,n)};function Su(e,t,n){this.type=e,this.subtype=t,this.suffix=n}var xu,Iu,Cu,Tu={exports:{}},_u={exports:{}};function Bu(){if(Iu)return xu;return Iu=1,xu=function(e){function t(e){let i,r,a,s=null;function A(...e){if(!A.enabled)return;const n=A,r=Number(new Date),a=r-(i||r);n.diff=a,n.prev=i,n.curr=r,i=r,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let s=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(i,r)=>{if("%%"===i)return"%";s++;const a=t.formatters[r];if("function"==typeof a){const t=e[s];i=a.call(n,t),e.splice(s,1),s--}return i}),t.formatArgs.call(n,e);(n.log||t.log).apply(n,e)}return A.namespace=e,A.useColors=t.useColors(),A.color=t.selectColor(e),A.extend=n,A.destroy=t.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==s?s:(r!==t.namespaces&&(r=t.namespaces,a=t.enabled(e)),a),set:e=>{s=e}}),"function"==typeof t.init&&t.init(A),A}function n(e,n){const i=t(this.namespace+(void 0===n?":":n)+e);return i.log=this.log,i}function i(e,t){let n=0,i=0,r=-1,a=0;for(;n<e.length;)if(i<t.length&&(t[i]===e[n]||"*"===t[i]))"*"===t[i]?(r=i,a=n,i++):(n++,i++);else{if(-1===r)return!1;i=r+1,a++,n=a}for(;i<t.length&&"*"===t[i];)i++;return i===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(i(e,n))return!1;for(const n of t.names)if(i(e,n))return!0;return!1},t.humanize=Xl(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t},xu}var Uu,Mu={exports:{}};"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?Tu.exports=(Cu||(Cu=1,function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let i=0,r=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(i++,"%c"===e&&(r=i))}),t.splice(r,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"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&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=Bu()(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(_u,_u.exports)),_u.exports):Tu.exports=(Uu||(Uu=1,function(e,t){const n=ac,i=Jn;t.init=function(e){e.inspectOpts={};const n=Object.keys(t.inspectOpts);for(let i=0;i<n.length;i++)e.inspectOpts[n[i]]=t.inspectOpts[n[i]]},t.log=function(...e){return process.stderr.write(i.formatWithOptions(t.inspectOpts,...e)+"\n")},t.formatArgs=function(n){const{namespace:i,useColors:r}=this;if(r){const t=this.color,r="[3"+(t<8?t:"8;5;"+t),a=` ${r};1m${i} [0m`;n[0]=a+n[0].split("\n").join("\n"+a),n.push(r+"m+"+e.exports.humanize(this.diff)+"[0m")}else n[0]=(t.inspectOpts.hideDate?"":(new Date).toISOString()+" ")+i+" "+n[0]},t.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},t.load=function(){return process.env.DEBUG},t.useColors=function(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):n.isatty(process.stderr.fd)},t.destroy=i.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=Bc();e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{const n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase());let i=process.env[t];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[n]=i,e},{}),e.exports=Bu()(t);const{formatters:r}=e.exports;r.o=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts).split("\n").map(e=>e.trim()).join(" ")},r.O=function(e){return this.inspectOpts.colors=this.useColors,i.inspect(e,this.inspectOpts)}}(Mu,Mu.exports)),Mu.exports);var Ru=t(Tu.exports);const Lu={10:"shot",20:"scene",30:"track",40:"part",50:"album",60:"edition",70:"collection"},Nu=1,Du=2,Pu=3,Fu=4,Ou=17,zu=18,Qu=32,Vu={[Nu]:"video",[Du]:"audio",[Pu]:"complex",[Fu]:"logo",[Ou]:"subtitle",[zu]:"button",[Qu]:"control"},Gu=e=>class extends Error{constructor(t){super(t),this.name=e}};class ju extends(Gu("CouldNotDetermineFileTypeError")){}class Yu extends(Gu("UnsupportedFileTypeError")){}class Ku extends(Gu("UnexpectedFileContentError")){constructor(e,t){super(t),this.fileType=e}toString(){return`${this.name} (FileType: ${this.fileType}): ${this.message}`}}class qu extends(Gu("FieldDecodingError")){}class Hu extends(Gu("InternalParserError")){}const Ju=e=>class extends Ku{constructor(t){super(e,t)}};function Wu(e,t,n){return!!(e[t]&1<<n)}function Xu(e,t,n,i){let r=t;if("utf-16le"===i){for(;0!==e[r]||0!==e[r+1];){if(r>=n)return n;r+=2}return r}for(;0!==e[r];){if(r>=n)return n;r++}return r}function Zu(e){const t=e.indexOf("\0");return-1===t?e:e.substr(0,t)}function $u(e,t){if(255===e[0]&&254===e[1])return $u(e.subarray(2),t);if("utf-16le"===t&&254===e[0]&&255===e[1]){if(1&e.length)throw new qu("Expected even number of octets for 16-bit unicode string");return $u(function(e){const t=e.length;if(1&t)throw new qu("Buffer length must be even");for(let n=0;n<t;n+=2){const t=e[n];e[n]=e[n+1],e[n+1]=t}return e}(e),t)}return new ul(e.length,t).get(e,0)}function eh(e){return e=(e=e.replace(/^\x00+/g,"")).replace(/\x00+$/g,"")}function th(e,t,n,i){const r=n%8;let a=e[t+~~(n/8)];a&=255>>r;const s=8-r,A=i-s;return A<0?a>>=8-r-i:A>0&&(a<<=A,a|=th(e,t,n+s,A)),a}function nh(e,t,n){return 1===th(e,t,n,1)}const ih={0:"Other",1:"32x32 pixels 'file icon' (PNG only)",2:"Other file icon",3:"Cover (front)",4:"Cover (back)",5:"Leaflet page",6:"Media (e.g. label side of CD)",7:"Lead artist/lead performer/soloist",8:"Artist/performer",9:"Conductor",10:"Band/Orchestra",11:"Composer",12:"Lyricist/text writer",13:"Recording Location",14:"During recording",15:"During performance",16:"Movie/video screen capture",17:"A bright coloured fish",18:"Illustration",19:"Band/artist logotype",20:"Publisher/Studio logotype"},rh={other:0,lyrics:1,text:2,movement_part:3,events:4,chord:5,trivia_pop:6},ah={notSynchronized0:0,mpegFrameNumber:1,milliseconds:2},sh={get:(e,t)=>127&e[t+3]|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4},Ah={len:10,get:(e,t)=>({fileIdentifier:new ul(3,"ascii").get(e,t),version:{major:Yo.get(e,t+3),revision:Yo.get(e,t+4)},flags:{unsynchronisation:Wu(e,t+5,7),isExtendedHeader:Wu(e,t+5,6),expIndicator:Wu(e,t+5,5),footer:Wu(e,t+5,4)},size:sh.get(e,t+6)})},oh={len:10,get:(e,t)=>({size:jo.get(e,t),extendedFlags:zo.get(e,t+4),sizeOfPadding:jo.get(e,t+6),crcDataPresent:Wu(e,t+4,31)})},lh=(e,t)=>{switch(e[t]){case 0:return{encoding:"latin1"};case 1:return{encoding:"utf-16le",bom:!0};case 2:return{encoding:"utf-16le",bom:!1};default:return{encoding:"utf8",bom:!1}}},ch=4,uh=(e,t)=>({encoding:lh(e,t),language:new ul(3,"latin1").get(e,t+1)}),hh=6,dh=(e,t)=>{const n=uh(e,t);return{encoding:n.encoding,language:n.language,timeStampFormat:Fo.get(e,t+4),contentType:Fo.get(e,t+5)}},gh={multiple:!1},ph={year:gh,track:gh,disk:gh,title:gh,artist:gh,artists:{multiple:!0,unique:!0},albumartist:gh,album:gh,date:gh,originaldate:gh,originalyear:gh,releasedate:gh,comment:{multiple:!0,unique:!1},genre:{multiple:!0,unique:!0},picture:{multiple:!0,unique:!0},composer:{multiple:!0,unique:!0},lyrics:{multiple:!0,unique:!1},albumsort:{multiple:!1,unique:!0},titlesort:{multiple:!1,unique:!0},work:{multiple:!1,unique:!0},artistsort:{multiple:!1,unique:!0},albumartistsort:{multiple:!1,unique:!0},composersort:{multiple:!1,unique:!0},lyricist:{multiple:!0,unique:!0},writer:{multiple:!0,unique:!0},conductor:{multiple:!0,unique:!0},remixer:{multiple:!0,unique:!0},arranger:{multiple:!0,unique:!0},engineer:{multiple:!0,unique:!0},producer:{multiple:!0,unique:!0},technician:{multiple:!0,unique:!0},djmixer:{multiple:!0,unique:!0},mixer:{multiple:!0,unique:!0},label:{multiple:!0,unique:!0},grouping:gh,subtitle:{multiple:!0},discsubtitle:gh,totaltracks:gh,totaldiscs:gh,compilation:gh,rating:{multiple:!0},bpm:gh,mood:gh,media:gh,catalognumber:{multiple:!0,unique:!0},tvShow:gh,tvShowSort:gh,tvSeason:gh,tvEpisode:gh,tvEpisodeId:gh,tvNetwork:gh,podcast:gh,podcasturl:gh,releasestatus:gh,releasetype:{multiple:!0},releasecountry:gh,script:gh,language:gh,copyright:gh,license:gh,encodedby:gh,encodersettings:gh,gapless:gh,barcode:gh,isrc:{multiple:!0},asin:gh,musicbrainz_recordingid:gh,musicbrainz_trackid:gh,musicbrainz_albumid:gh,musicbrainz_artistid:{multiple:!0},musicbrainz_albumartistid:{multiple:!0},musicbrainz_releasegroupid:gh,musicbrainz_workid:gh,musicbrainz_trmid:gh,musicbrainz_discid:gh,acoustid_id:gh,acoustid_fingerprint:gh,musicip_puid:gh,musicip_fingerprint:gh,website:gh,"performer:instrument":{multiple:!0,unique:!0},averageLevel:gh,peakLevel:gh,notes:{multiple:!0,unique:!1},key:gh,originalalbum:gh,originalartist:gh,discogs_artist_id:{multiple:!0,unique:!0},discogs_release_id:gh,discogs_label_id:gh,discogs_master_release_id:gh,discogs_votes:gh,discogs_rating:gh,replaygain_track_peak:gh,replaygain_track_gain:gh,replaygain_album_peak:gh,replaygain_album_gain:gh,replaygain_track_minmax:gh,replaygain_album_minmax:gh,replaygain_undo:gh,description:{multiple:!0},longDescription:gh,category:{multiple:!0},hdVideo:gh,keywords:{multiple:!0},movement:gh,movementIndex:gh,movementTotal:gh,podcastId:gh,showMovement:gh,stik:gh};class fh{static toIntOrNull(e){const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t}static normalizeTrack(e){const t=e.toString().split("/");return{no:Number.parseInt(t[0],10)||null,of:Number.parseInt(t[1],10)||null}}constructor(e,t){this.tagTypes=e,this.tagMap=t}mapGenericTag(e,t){e={id:e.id,value:e.value},this.postMap(e,t);const n=this.getCommonName(e.id);return n?{id:n,value:e.value}:null}getCommonName(e){return this.tagMap[e]}postMap(e,t){}}fh.maxRatingScore=1;const mh={title:"title",artist:"artist",album:"album",year:"year",comment:"comment",track:"track",genre:"genre"};class bh extends fh{constructor(){super(["ID3v1"],mh)}}class wh extends fh{constructor(e,t){const n={};for(const e of Object.keys(t))n[e.toUpperCase()]=t[e];super(e,n)}getCommonName(e){return this.tagMap[e.toUpperCase()]}}const Eh={TIT2:"title",TPE1:"artist","TXXX:Artists":"artists",TPE2:"albumartist",TALB:"album",TDRV:"date",TORY:"originalyear",TPOS:"disk",TCON:"genre",APIC:"picture",TCOM:"composer",USLT:"lyrics",TSOA:"albumsort",TSOT:"titlesort",TOAL:"originalalbum",TSOP:"artistsort",TSO2:"albumartistsort",TSOC:"composersort",TEXT:"lyricist","TXXX:Writer":"writer",TPE3:"conductor",TPE4:"remixer","IPLS:arranger":"arranger","IPLS:engineer":"engineer","IPLS:producer":"producer","IPLS:DJ-mix":"djmixer","IPLS:mix":"mixer",TPUB:"label",TIT1:"grouping",TIT3:"subtitle",TRCK:"track",TCMP:"compilation",POPM:"rating",TBPM:"bpm",TMED:"media","TXXX:CATALOGNUMBER":"catalognumber","TXXX:MusicBrainz Album Status":"releasestatus","TXXX:MusicBrainz Album Type":"releasetype","TXXX:MusicBrainz Album Release Country":"releasecountry","TXXX:RELEASECOUNTRY":"releasecountry","TXXX:SCRIPT":"script",TLAN:"language",TCOP:"copyright",WCOP:"license",TENC:"encodedby",TSSE:"encodersettings","TXXX:BARCODE":"barcode","TXXX:ISRC":"isrc",TSRC:"isrc","TXXX:ASIN":"asin","TXXX:originalyear":"originalyear","UFID:http://musicbrainz.org":"musicbrainz_recordingid","TXXX:MusicBrainz Release Track Id":"musicbrainz_trackid","TXXX:MusicBrainz Album Id":"musicbrainz_albumid","TXXX:MusicBrainz Artist Id":"musicbrainz_artistid","TXXX:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","TXXX:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","TXXX:MusicBrainz Work Id":"musicbrainz_workid","TXXX:MusicBrainz TRM Id":"musicbrainz_trmid","TXXX:MusicBrainz Disc Id":"musicbrainz_discid","TXXX:ACOUSTID_ID":"acoustid_id","TXXX:Acoustid Id":"acoustid_id","TXXX:Acoustid Fingerprint":"acoustid_fingerprint","TXXX:MusicIP PUID":"musicip_puid","TXXX:MusicMagic Fingerprint":"musicip_fingerprint",WOAR:"website",TDRC:"date",TYER:"year",TDOR:"originaldate","TIPL:arranger":"arranger","TIPL:engineer":"engineer","TIPL:producer":"producer","TIPL:DJ-mix":"djmixer","TIPL:mix":"mixer",TMOO:"mood",SYLT:"lyrics",TSST:"discsubtitle",TKEY:"key",COMM:"comment",TOPE:"originalartist","PRIV:AverageLevel":"averageLevel","PRIV:PeakLevel":"peakLevel","TXXX:DISCOGS_ARTIST_ID":"discogs_artist_id","TXXX:DISCOGS_ARTISTS":"artists","TXXX:DISCOGS_ARTIST_NAME":"artists","TXXX:DISCOGS_ALBUM_ARTISTS":"albumartist","TXXX:DISCOGS_CATALOG":"catalognumber","TXXX:DISCOGS_COUNTRY":"releasecountry","TXXX:DISCOGS_DATE":"originaldate","TXXX:DISCOGS_LABEL":"label","TXXX:DISCOGS_LABEL_ID":"discogs_label_id","TXXX:DISCOGS_MASTER_RELEASE_ID":"discogs_master_release_id","TXXX:DISCOGS_RATING":"discogs_rating","TXXX:DISCOGS_RELEASED":"date","TXXX:DISCOGS_RELEASE_ID":"discogs_release_id","TXXX:DISCOGS_VOTES":"discogs_votes","TXXX:CATALOGID":"catalognumber","TXXX:STYLE":"genre","TXXX:REPLAYGAIN_TRACK_PEAK":"replaygain_track_peak","TXXX:REPLAYGAIN_TRACK_GAIN":"replaygain_track_gain","TXXX:REPLAYGAIN_ALBUM_PEAK":"replaygain_album_peak","TXXX:REPLAYGAIN_ALBUM_GAIN":"replaygain_album_gain","TXXX:MP3GAIN_MINMAX":"replaygain_track_minmax","TXXX:MP3GAIN_ALBUM_MINMAX":"replaygain_album_minmax","TXXX:MP3GAIN_UNDO":"replaygain_undo",MVNM:"movement",MVIN:"movementIndex",PCST:"podcast",TCAT:"category",TDES:"description",TDRL:"releasedate",TGID:"podcastId",TKWD:"keywords",WFED:"podcasturl",GRP1:"grouping"};class yh extends wh{static toRating(e){return{source:e.email,rating:e.rating>0?(e.rating-1)/254*fh.maxRatingScore:void 0}}constructor(){super(["ID3v2.3","ID3v2.4"],Eh)}postMap(e,t){switch(e.id){case"UFID":{const t=e.value;"http://musicbrainz.org"===t.owner_identifier&&(e.id+=`:${t.owner_identifier}`,e.value=$u(t.identifier,"latin1"))}break;case"PRIV":{const n=e.value;switch(n.owner_identifier){case"AverageLevel":case"PeakValue":e.id+=`:${n.owner_identifier}`,e.value=4===n.data.length?Go.get(n.data,0):null,null===e.value&&t.addWarning("Failed to parse PRIV:PeakValue");break;default:t.addWarning(`Unknown PRIV owner-identifier: ${n.data}`)}}break;case"POPM":e.value=yh.toRating(e.value)}}}const vh={Title:"title",Author:"artist","WM/AlbumArtist":"albumartist","WM/AlbumTitle":"album","WM/Year":"date","WM/OriginalReleaseTime":"originaldate","WM/OriginalReleaseYear":"originalyear",Description:"comment","WM/TrackNumber":"track","WM/PartOfSet":"disk","WM/Genre":"genre","WM/Composer":"composer","WM/Lyrics":"lyrics","WM/AlbumSortOrder":"albumsort","WM/TitleSortOrder":"titlesort","WM/ArtistSortOrder":"artistsort","WM/AlbumArtistSortOrder":"albumartistsort","WM/ComposerSortOrder":"composersort","WM/Writer":"lyricist","WM/Conductor":"conductor","WM/ModifiedBy":"remixer","WM/Engineer":"engineer","WM/Producer":"producer","WM/DJMixer":"djmixer","WM/Mixer":"mixer","WM/Publisher":"label","WM/ContentGroupDescription":"grouping","WM/SubTitle":"subtitle","WM/SetSubTitle":"discsubtitle","WM/IsCompilation":"compilation","WM/SharedUserRating":"rating","WM/BeatsPerMinute":"bpm","WM/Mood":"mood","WM/Media":"media","WM/CatalogNo":"catalognumber","MusicBrainz/Album Status":"releasestatus","MusicBrainz/Album Type":"releasetype","MusicBrainz/Album Release Country":"releasecountry","WM/Script":"script","WM/Language":"language",Copyright:"copyright",LICENSE:"license","WM/EncodedBy":"encodedby","WM/EncodingSettings":"encodersettings","WM/Barcode":"barcode","WM/ISRC":"isrc","MusicBrainz/Track Id":"musicbrainz_recordingid","MusicBrainz/Release Track Id":"musicbrainz_trackid","MusicBrainz/Album Id":"musicbrainz_albumid","MusicBrainz/Artist Id":"musicbrainz_artistid","MusicBrainz/Album Artist Id":"musicbrainz_albumartistid","MusicBrainz/Release Group Id":"musicbrainz_releasegroupid","MusicBrainz/Work Id":"musicbrainz_workid","MusicBrainz/TRM Id":"musicbrainz_trmid","MusicBrainz/Disc Id":"musicbrainz_discid","Acoustid/Id":"acoustid_id","Acoustid/Fingerprint":"acoustid_fingerprint","MusicIP/PUID":"musicip_puid","WM/ARTISTS":"artists","WM/InitialKey":"key",ASIN:"asin","WM/Work":"work","WM/AuthorURL":"website","WM/Picture":"picture"};class kh extends fh{static toRating(e){return{rating:Number.parseFloat(e+1)/5}}constructor(){super(["asf"],vh)}postMap(e){switch(e.id){case"WM/SharedUserRating":{const t=e.id.split(":");e.value=kh.toRating(e.value),e.id=t[0];break}}}}const Sh={TT2:"title",TP1:"artist",TP2:"albumartist",TAL:"album",TYE:"year",COM:"comment",TRK:"track",TPA:"disk",TCO:"genre",PIC:"picture",TCM:"composer",TOR:"originaldate",TOT:"originalalbum",TXT:"lyricist",TP3:"conductor",TPB:"label",TT1:"grouping",TT3:"subtitle",TLA:"language",TCR:"copyright",WCP:"license",TEN:"encodedby",TSS:"encodersettings",WAR:"website",PCS:"podcast",TCP:"compilation",TDR:"date",TS2:"albumartistsort",TSA:"albumsort",TSC:"composersort",TSP:"artistsort",TST:"titlesort",WFD:"podcasturl",TBP:"bpm"};class xh extends wh{constructor(){super(["ID3v2.2"],Sh)}}const Ih={Title:"title",Artist:"artist",Artists:"artists","Album Artist":"albumartist",Album:"album",Year:"date",Originalyear:"originalyear",Originaldate:"originaldate",Releasedate:"releasedate",Comment:"comment",Track:"track",Disc:"disk",DISCNUMBER:"disk",Genre:"genre","Cover Art (Front)":"picture","Cover Art (Back)":"picture",Composer:"composer",Lyrics:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",Lyricist:"lyricist",Writer:"writer",Conductor:"conductor",MixArtist:"remixer",Arranger:"arranger",Engineer:"engineer",Producer:"producer",DJMixer:"djmixer",Mixer:"mixer",Label:"label",Grouping:"grouping",Subtitle:"subtitle",DiscSubtitle:"discsubtitle",Compilation:"compilation",BPM:"bpm",Mood:"mood",Media:"media",CatalogNumber:"catalognumber",MUSICBRAINZ_ALBUMSTATUS:"releasestatus",MUSICBRAINZ_ALBUMTYPE:"releasetype",RELEASECOUNTRY:"releasecountry",Script:"script",Language:"language",Copyright:"copyright",LICENSE:"license",EncodedBy:"encodedby",EncoderSettings:"encodersettings",Barcode:"barcode",ISRC:"isrc",ASIN:"asin",musicbrainz_trackid:"musicbrainz_recordingid",musicbrainz_releasetrackid:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",Acoustid_Id:"acoustid_id",ACOUSTID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",Weblink:"website",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",MP3GAIN_MINMAX:"replaygain_track_minmax",MP3GAIN_UNDO:"replaygain_undo"};class Ch extends wh{constructor(){super(["APEv2"],Ih)}}const Th={"©nam":"title","©ART":"artist",aART:"albumartist","----:com.apple.iTunes:Band":"albumartist","©alb":"album","©day":"date","©cmt":"comment","©com":"comment",trkn:"track",disk:"disk","©gen":"genre",covr:"picture","©wrt":"composer","©lyr":"lyrics",soal:"albumsort",sonm:"titlesort",soar:"artistsort",soaa:"albumartistsort",soco:"composersort","----:com.apple.iTunes:LYRICIST":"lyricist","----:com.apple.iTunes:CONDUCTOR":"conductor","----:com.apple.iTunes:REMIXER":"remixer","----:com.apple.iTunes:ENGINEER":"engineer","----:com.apple.iTunes:PRODUCER":"producer","----:com.apple.iTunes:DJMIXER":"djmixer","----:com.apple.iTunes:MIXER":"mixer","----:com.apple.iTunes:LABEL":"label","©grp":"grouping","----:com.apple.iTunes:SUBTITLE":"subtitle","----:com.apple.iTunes:DISCSUBTITLE":"discsubtitle",cpil:"compilation",tmpo:"bpm","----:com.apple.iTunes:MOOD":"mood","----:com.apple.iTunes:MEDIA":"media","----:com.apple.iTunes:CATALOGNUMBER":"catalognumber",tvsh:"tvShow",tvsn:"tvSeason",tves:"tvEpisode",sosn:"tvShowSort",tven:"tvEpisodeId",tvnn:"tvNetwork",pcst:"podcast",purl:"podcasturl","----:com.apple.iTunes:MusicBrainz Album Status":"releasestatus","----:com.apple.iTunes:MusicBrainz Album Type":"releasetype","----:com.apple.iTunes:MusicBrainz Album Release Country":"releasecountry","----:com.apple.iTunes:SCRIPT":"script","----:com.apple.iTunes:LANGUAGE":"language",cprt:"copyright","©cpy":"copyright","----:com.apple.iTunes:LICENSE":"license","©too":"encodedby",pgap:"gapless","----:com.apple.iTunes:BARCODE":"barcode","----:com.apple.iTunes:ISRC":"isrc","----:com.apple.iTunes:ASIN":"asin","----:com.apple.iTunes:NOTES":"comment","----:com.apple.iTunes:MusicBrainz Track Id":"musicbrainz_recordingid","----:com.apple.iTunes:MusicBrainz Release Track Id":"musicbrainz_trackid","----:com.apple.iTunes:MusicBrainz Album Id":"musicbrainz_albumid","----:com.apple.iTunes:MusicBrainz Artist Id":"musicbrainz_artistid","----:com.apple.iTunes:MusicBrainz Album Artist Id":"musicbrainz_albumartistid","----:com.apple.iTunes:MusicBrainz Release Group Id":"musicbrainz_releasegroupid","----:com.apple.iTunes:MusicBrainz Work Id":"musicbrainz_workid","----:com.apple.iTunes:MusicBrainz TRM Id":"musicbrainz_trmid","----:com.apple.iTunes:MusicBrainz Disc Id":"musicbrainz_discid","----:com.apple.iTunes:Acoustid Id":"acoustid_id","----:com.apple.iTunes:Acoustid Fingerprint":"acoustid_fingerprint","----:com.apple.iTunes:MusicIP PUID":"musicip_puid","----:com.apple.iTunes:fingerprint":"musicip_fingerprint","----:com.apple.iTunes:replaygain_track_gain":"replaygain_track_gain","----:com.apple.iTunes:replaygain_track_peak":"replaygain_track_peak","----:com.apple.iTunes:replaygain_album_gain":"replaygain_album_gain","----:com.apple.iTunes:replaygain_album_peak":"replaygain_album_peak","----:com.apple.iTunes:replaygain_track_minmax":"replaygain_track_minmax","----:com.apple.iTunes:replaygain_album_minmax":"replaygain_album_minmax","----:com.apple.iTunes:replaygain_undo":"replaygain_undo",gnre:"genre","----:com.apple.iTunes:ALBUMARTISTSORT":"albumartistsort","----:com.apple.iTunes:ARTISTS":"artists","----:com.apple.iTunes:ORIGINALDATE":"originaldate","----:com.apple.iTunes:ORIGINALYEAR":"originalyear","----:com.apple.iTunes:RELEASEDATE":"releasedate",desc:"description",ldes:"longDescription","©mvn":"movement","©mvi":"movementIndex","©mvc":"movementTotal","©wrk":"work",catg:"category",egid:"podcastId",hdvd:"hdVideo",keyw:"keywords",shwm:"showMovement",stik:"stik",rate:"rating"};class _h extends wh{constructor(){super(["iTunes"],Th)}postMap(e,t){if("rate"===e.id)e.value={source:void 0,rating:Number.parseFloat(e.value)/100}}}const Bh={TITLE:"title",ARTIST:"artist",ARTISTS:"artists",ALBUMARTIST:"albumartist","ALBUM ARTIST":"albumartist",ALBUM:"album",DATE:"date",ORIGINALDATE:"originaldate",ORIGINALYEAR:"originalyear",RELEASEDATE:"releasedate",COMMENT:"comment",TRACKNUMBER:"track",DISCNUMBER:"disk",GENRE:"genre",METADATA_BLOCK_PICTURE:"picture",COMPOSER:"composer",LYRICS:"lyrics",ALBUMSORT:"albumsort",TITLESORT:"titlesort",WORK:"work",ARTISTSORT:"artistsort",ALBUMARTISTSORT:"albumartistsort",COMPOSERSORT:"composersort",LYRICIST:"lyricist",WRITER:"writer",CONDUCTOR:"conductor",REMIXER:"remixer",ARRANGER:"arranger",ENGINEER:"engineer",PRODUCER:"producer",DJMIXER:"djmixer",MIXER:"mixer",LABEL:"label",GROUPING:"grouping",SUBTITLE:"subtitle",DISCSUBTITLE:"discsubtitle",TRACKTOTAL:"totaltracks",DISCTOTAL:"totaldiscs",COMPILATION:"compilation",RATING:"rating",BPM:"bpm",KEY:"key",MOOD:"mood",MEDIA:"media",CATALOGNUMBER:"catalognumber",RELEASESTATUS:"releasestatus",RELEASETYPE:"releasetype",RELEASECOUNTRY:"releasecountry",SCRIPT:"script",LANGUAGE:"language",COPYRIGHT:"copyright",LICENSE:"license",ENCODEDBY:"encodedby",ENCODERSETTINGS:"encodersettings",BARCODE:"barcode",ISRC:"isrc",ASIN:"asin",MUSICBRAINZ_TRACKID:"musicbrainz_recordingid",MUSICBRAINZ_RELEASETRACKID:"musicbrainz_trackid",MUSICBRAINZ_ALBUMID:"musicbrainz_albumid",MUSICBRAINZ_ARTISTID:"musicbrainz_artistid",MUSICBRAINZ_ALBUMARTISTID:"musicbrainz_albumartistid",MUSICBRAINZ_RELEASEGROUPID:"musicbrainz_releasegroupid",MUSICBRAINZ_WORKID:"musicbrainz_workid",MUSICBRAINZ_TRMID:"musicbrainz_trmid",MUSICBRAINZ_DISCID:"musicbrainz_discid",ACOUSTID_ID:"acoustid_id",ACOUSTID_ID_FINGERPRINT:"acoustid_fingerprint",MUSICIP_PUID:"musicip_puid",WEBSITE:"website",NOTES:"notes",TOTALTRACKS:"totaltracks",TOTALDISCS:"totaldiscs",DISCOGS_ARTIST_ID:"discogs_artist_id",DISCOGS_ARTISTS:"artists",DISCOGS_ARTIST_NAME:"artists",DISCOGS_ALBUM_ARTISTS:"albumartist",DISCOGS_CATALOG:"catalognumber",DISCOGS_COUNTRY:"releasecountry",DISCOGS_DATE:"originaldate",DISCOGS_LABEL:"label",DISCOGS_LABEL_ID:"discogs_label_id",DISCOGS_MASTER_RELEASE_ID:"discogs_master_release_id",DISCOGS_RATING:"discogs_rating",DISCOGS_RELEASED:"date",DISCOGS_RELEASE_ID:"discogs_release_id",DISCOGS_VOTES:"discogs_votes",CATALOGID:"catalognumber",STYLE:"genre",REPLAYGAIN_TRACK_GAIN:"replaygain_track_gain",REPLAYGAIN_TRACK_PEAK:"replaygain_track_peak",REPLAYGAIN_ALBUM_GAIN:"replaygain_album_gain",REPLAYGAIN_ALBUM_PEAK:"replaygain_album_peak",REPLAYGAIN_MINMAX:"replaygain_track_minmax",REPLAYGAIN_ALBUM_MINMAX:"replaygain_album_minmax",REPLAYGAIN_UNDO:"replaygain_undo"};class Uh extends fh{static toRating(e,t,n){return{source:e?e.toLowerCase():void 0,rating:Number.parseFloat(t)/n*fh.maxRatingScore}}constructor(){super(["vorbis"],Bh)}postMap(e){if("RATING"===e.id)e.value=Uh.toRating(void 0,e.value,100);else if(0===e.id.indexOf("RATING:")){const t=e.id.split(":");e.value=Uh.toRating(t[1],e.value,1),e.id=t[0]}}}const Mh={IART:"artist",ICRD:"date",INAM:"title",TITL:"title",IPRD:"album",ITRK:"track",IPRT:"track",COMM:"comment",ICMT:"comment",ICNT:"releasecountry",GNRE:"genre",IWRI:"writer",RATE:"rating",YEAR:"year",ISFT:"encodedby",CODE:"encodedby",TURL:"website",IGNR:"genre",IENG:"engineer",ITCH:"technician",IMED:"media",IRPD:"album"};class Rh extends fh{constructor(){super(["exif"],Mh)}}const Lh={"segment:title":"title","album:ARTIST":"albumartist","album:ARTISTSORT":"albumartistsort","album:TITLE":"album","album:DATE_RECORDED":"originaldate","album:DATE_RELEASED":"releasedate","album:PART_NUMBER":"disk","album:TOTAL_PARTS":"totaltracks","track:ARTIST":"artist","track:ARTISTSORT":"artistsort","track:TITLE":"title","track:PART_NUMBER":"track","track:MUSICBRAINZ_TRACKID":"musicbrainz_recordingid","track:MUSICBRAINZ_ALBUMID":"musicbrainz_albumid","track:MUSICBRAINZ_ARTISTID":"musicbrainz_artistid","track:PUBLISHER":"label","track:GENRE":"genre","track:ENCODER":"encodedby","track:ENCODER_OPTIONS":"encodersettings","edition:TOTAL_PARTS":"totaldiscs",picture:"picture"};class Nh extends wh{constructor(){super(["matroska"],Lh)}}const Dh={NAME:"title",AUTH:"artist","(c) ":"copyright",ANNO:"comment"};class Ph extends fh{constructor(){super(["AIFF"],Dh)}}class Fh{constructor(){this.tagMappers={},[new bh,new xh,new yh,new _h,new _h,new Uh,new Ch,new kh,new Rh,new Nh,new Ph].forEach(e=>{this.registerTagMapper(e)})}mapTag(e,t,n){if(this.tagMappers[e])return this.tagMappers[e].mapGenericTag(t,n);throw new Hu(`No generic tag mapper defined for tag-format: ${e}`)}registerTagMapper(e){for(const t of e.tagTypes)this.tagMappers[t]=e}}const Oh=Ru("music-metadata:collector"),zh=["matroska","APEv2","vorbis","ID3v2.4","ID3v2.3","ID3v2.2","exif","asf","iTunes","AIFF","ID3v1"];class Qh{constructor(e){this.format={tagTypes:[],trackInfo:[]},this.native={},this.common={track:{no:null,of:null},disk:{no:null,of:null},movementIndex:{no:null,of:null}},this.quality={warnings:[]},this.commonOrigin={},this.originPriority={},this.tagMapper=new Fh,this.opts=e;let t=1;for(const e of zh)this.originPriority[e]=t++;this.originPriority.artificial=500,this.originPriority.id3v1=600}hasAny(){return Object.keys(this.native).length>0}addStreamInfo(e){Oh(`streamInfo: type=${e.type?Vu[e.type]:"?"}, codec=${e.codecName}`),this.format.trackInfo.push(e)}setFormat(e,t){Oh(`format: ${e} = ${t}`),this.format[e]=t,this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"format",id:e,value:t}})}setAudioOnly(){this.setFormat("hasAudio",!0),this.setFormat("hasVideo",!1)}async addTag(e,t,n){Oh(`tag ${e}.${t} = ${n}`),this.native[e]||(this.format.tagTypes.push(e),this.native[e]=[]),this.native[e].push({id:t,value:n}),await this.toCommon(e,t,n)}addWarning(e){this.quality.warnings.push({message:e})}async postMap(e,t){switch(t.id){case"artist":if(this.commonOrigin.artist===this.originPriority[e])return this.postMap("artificial",{id:"artists",value:t.value});this.common.artists||this.setGenericTag("artificial",{id:"artists",value:t.value});break;case"artists":if(!(this.common.artist&&this.commonOrigin.artist!==this.originPriority.artificial||this.common.artists&&-1!==this.common.artists.indexOf(t.value))){const e=function(e){if(e.length>2)return`${e.slice(0,e.length-1).join(", ")} & ${e[e.length-1]}`;return e.join(" & ")}((this.common.artists||[]).concat([t.value])),n={id:"artist",value:e};this.setGenericTag("artificial",n)}break;case"picture":return this.postFixPicture(t.value).then(n=>{null!==n&&(t.value=n,this.setGenericTag(e,t))});case"totaltracks":return void(this.common.track.of=fh.toIntOrNull(t.value));case"totaldiscs":return void(this.common.disk.of=fh.toIntOrNull(t.value));case"movementTotal":return void(this.common.movementIndex.of=fh.toIntOrNull(t.value));case"track":case"disk":case"movementIndex":{const e=this.common[t.id].of;return this.common[t.id]=fh.normalizeTrack(t.value),void(this.common[t.id].of=null!=e?e:this.common[t.id].of)}case"bpm":case"year":case"originalyear":t.value=Number.parseInt(t.value,10);break;case"date":{const e=Number.parseInt(t.value.substr(0,4),10);Number.isNaN(e)||(this.common.year=e);break}case"discogs_label_id":case"discogs_release_id":case"discogs_master_release_id":case"discogs_artist_id":case"discogs_votes":t.value="string"==typeof t.value?Number.parseInt(t.value,10):t.value;break;case"replaygain_track_gain":case"replaygain_track_peak":case"replaygain_album_gain":case"replaygain_album_peak":t.value=function(e){const t=e.split(" ").map(e=>e.trim().toLowerCase());if(t.length>=1){const e=Number.parseFloat(t[0]);return 2===t.length&&"db"===t[1]?{dB:e,ratio:(i=e,10**(i/10))}:{dB:(n=e,10*Math.log10(n)),ratio:e}}var n,i}(t.value);break;case"replaygain_track_minmax":t.value=t.value.split(",").map(e=>Number.parseInt(e,10));break;case"replaygain_undo":{const e=t.value.split(",").map(e=>Number.parseInt(e,10));t.value={leftChannel:e[0],rightChannel:e[1]};break}case"gapless":case"compilation":case"podcast":case"showMovement":t.value="1"===t.value||1===t.value;break;case"isrc":{const e=this.common[t.id];if(e&&-1!==e.indexOf(t.value))return;break}case"comment":"string"==typeof t.value&&(t.value={text:t.value}),"iTunPGAP"===t.value.descriptor&&this.setGenericTag(e,{id:"gapless",value:"1"===t.value.text});break;case"lyrics":"string"==typeof t.value&&(t.value=function(e){const t=e.split("\n"),n=[],i=/\[(\d{2}):(\d{2})\.(\d{2,3})\]/;for(const e of t){const t=e.match(i);if(t){const r=Number.parseInt(t[1],10),a=Number.parseInt(t[2],10),s=t[3];let A;A=3===s.length?Number.parseInt(s,10):10*Number.parseInt(s,10);const o=1e3*(60*r+a)+A,l=e.replace(i,"").trim();n.push({timestamp:o,text:l})}}return{contentType:rh.lyrics,timeStampFormat:ah.milliseconds,syncText:n}}(t.value))}null!==t.value&&this.setGenericTag(e,t)}toCommonMetadata(){return{format:this.format,native:this.native,quality:this.quality,common:this.common}}async postFixPicture(e){if(e.data&&e.data.length>0){if(!e.format){const t=await lu(Uint8Array.from(e.data));if(!t)return null;e.format=t.mime}if(e.format=e.format.toLocaleLowerCase(),"image/jpg"===e.format)e.format="image/jpeg";return e}return this.addWarning("Empty picture tag found"),null}async toCommon(e,t,n){const i={id:t,value:n},r=this.tagMapper.mapTag(e,i,this);r&&await this.postMap(e,r)}setGenericTag(e,t){Oh(`common.${t.id} = ${t.value}`);const n=this.commonOrigin[t.id]||1e3,i=this.originPriority[e];if(r=t.id,ph[r]&&!ph[r].multiple){if(!(i<=n))return Oh(`Ignore native tag (singleton): ${e}.${t.id} = ${t.value}`);this.common[t.id]=t.value,this.commonOrigin[t.id]=i}else if(i===n)!function(e){return!ph[e].multiple||ph[e].unique||!1}(t.id)||-1===this.common[t.id].indexOf(t.value)?this.common[t.id].push(t.value):Oh(`Ignore duplicate value: ${e}.${t.id} = ${t.value}`);else{if(!(i<n))return Oh(`Ignore native tag (list): ${e}.${t.id} = ${t.value}`);this.common[t.id]=[t.value],this.commonOrigin[t.id]=i}var r;this.opts?.observer&&this.opts.observer({metadata:this,tag:{type:"common",id:t.id,value:t.value}})}}const Vh={parserType:"mpeg",extensions:[".mp2",".mp3",".m2a",".aac","aacp"],mimeTypes:["audio/mpeg","audio/mp3","audio/aacs","audio/aacp"],load:async()=>(await Promise.resolve().then(function(){return kV})).MpegParser},Gh={parserType:"apev2",extensions:[".ape"],mimeTypes:["audio/ape","audio/monkeys-audio"],load:async()=>(await Promise.resolve().then(function(){return vd})).APEv2Parser},jh={parserType:"asf",extensions:[".asf"],mimeTypes:["audio/ms-wma","video/ms-wmv","audio/ms-asf","video/ms-asf","application/vnd.ms-asf"],load:async()=>(await Promise.resolve().then(function(){return JV})).AsfParser},Yh={parserType:"dsdiff",extensions:[".dff"],mimeTypes:["audio/dsf","audio/dsd"],load:async()=>(await Promise.resolve().then(function(){return $V})).DsdiffParser},Kh={parserType:"aiff",extensions:[".aif","aiff","aifc"],mimeTypes:["audio/aiff","audio/aif","audio/aifc","application/aiff"],load:async()=>(await Promise.resolve().then(function(){return aG})).AIFFParser},qh={parserType:"dsf",extensions:[".dsf"],mimeTypes:["audio/dsf"],load:async()=>(await Promise.resolve().then(function(){return uG})).DsfParser},Hh={parserType:"flac",extensions:[".flac"],mimeTypes:["audio/flac"],load:async()=>(await Promise.resolve().then(function(){return UG})).FlacParser},Jh={parserType:"matroska",extensions:[".mka",".mkv",".mk3d",".mks","webm"],mimeTypes:["audio/matroska","video/matroska","audio/webm","video/webm"],load:async()=>(await Promise.resolve().then(function(){return XG})).MatroskaParser},Wh={parserType:"mp4",extensions:[".mp4",".m4a",".m4b",".m4pa","m4v","m4r","3gp"],mimeTypes:["audio/mp4","audio/m4a","video/m4v","video/mp4"],load:async()=>(await Promise.resolve().then(function(){return Nj})).MP4Parser},Xh={parserType:"musepack",extensions:[".mpc"],mimeTypes:["audio/musepack"],load:async()=>(await Promise.resolve().then(function(){return Jj})).MusepackParser},Zh={parserType:"ogg",extensions:[".ogg",".ogv",".oga",".ogm",".ogx",".opus",".spx"],mimeTypes:["audio/ogg","audio/opus","audio/speex","video/ogg"],load:async()=>(await Promise.resolve().then(function(){return cY})).OggParser},$h={parserType:"wavpack",extensions:[".wv",".wvp"],mimeTypes:["audio/wavpack"],load:async()=>(await Promise.resolve().then(function(){return bY})).WavPackParser},ed={parserType:"riff",extensions:[".wav","wave",".bwf"],mimeTypes:["audio/vnd.wave","audio/wav","audio/wave"],load:async()=>(await Promise.resolve().then(function(){return zY})).WaveParser},td=Ru("music-metadata:parser:factory");class nd{constructor(){this.parsers=[],[Hh,Vh,Gh,Wh,Jh,ed,Zh,jh,Kh,$h,Xh,qh,Yh].forEach(e=>this.registerParser(e))}registerParser(e){this.parsers.push(e)}async parse(e,t,n){if(e.supportsRandomAccess()?(td("tokenizer supports random-access, scanning for appending headers"),await Ud(e,n)):td("tokenizer does not support random-access, cannot scan for appending headers"),!t){const n=new Uint8Array(4100);if(e.fileInfo.mimeType&&(t=this.findLoaderForContentType(e.fileInfo.mimeType)),!t&&e.fileInfo.path&&(t=this.findLoaderForExtension(e.fileInfo.path)),!t){td("Guess parser on content..."),await e.peekBuffer(n,{mayBeLess:!0});const i=await lu(n,{mpegOffsetTolerance:10});if(!i||!i.mime)throw new ju("Failed to determine audio format");if(td(`Guessed file type is mime=${i.mime}, extension=${i.ext}`),!(t=this.findLoaderForContentType(i.mime)))throw new Yu(`Guessed MIME-type not supported: ${i.mime}`)}}td(`Loading ${t.parserType} parser...`);const i=new Qh(n),r=new(await t.load())(i,e,n??{});return td(`Parser ${t.parserType} loaded`),await r.parse(),i.format.trackInfo&&(void 0===i.format.hasAudio&&i.setFormat("hasAudio",!!i.format.trackInfo.find(e=>e.type===Du)),void 0===i.format.hasVideo&&i.setFormat("hasVideo",!!i.format.trackInfo.find(e=>e.type===Nu))),i.toCommonMetadata()}findLoaderForExtension(e){if(!e)return;const t=function(e){const t=e.lastIndexOf(".");return-1===t?"":e.slice(t)}(e).toLocaleLowerCase()||e;return this.parsers.find(e=>-1!==e.extensions.indexOf(t))}findLoaderForContentType(e){let t;if(!e)return;try{t=function(e){const t=du.parse(e),n=ku(t.type);return{type:n.type,subtype:n.subtype,suffix:n.suffix,parameters:t.parameters}}(e)}catch(t){return void td(`Invalid HTTP Content-Type header value: ${e}`)}const n=0===t.subtype.indexOf("x-")?t.subtype.substring(2):t.subtype;return this.parsers.find(e=>e.mimeTypes.find(e=>-1!==e.indexOf(`${t.type}/${n}`)))}getSupportedMimeTypes(){const e=new Set;return this.parsers.forEach(t=>{t.mimeTypes.forEach(t=>{e.add(t),e.add(t.replace("/","/x-"))})}),Array.from(e)}}class id{constructor(e,t,n){this.metadata=e,this.tokenizer=t,this.options=n}}const rd=/^[\x21-\x7e©][\x20-\x7e\x00()]{3}/,ad={len:4,get:(e,t)=>{const n=$c(e.slice(t,t+ad.len),"latin1");if(!n.match(rd))throw new qu(`FourCC contains invalid characters: ${function(e){const t=[];for(let n=0,i=e.length;n<i;n++){const i=Number(e.charCodeAt(n)).toString(16);t.push(1===i.length?`0${i}`:i)}return t.join(" ")}(n)} "${n}"`);return n},put:(e,t,n)=>{const i=(eu(r=n),tu.encode(r));var r;if(4!==i.length)throw new Hu("Invalid length");return e.set(i,t),t+4}},sd=0,Ad=1,od=2,ld=3,cd={len:52,get:(e,t)=>({ID:ad.get(e,t),version:Go.get(e,t+4)/1e3,descriptorBytes:Go.get(e,t+8),headerBytes:Go.get(e,t+12),seekTableBytes:Go.get(e,t+16),headerDataBytes:Go.get(e,t+20),apeFrameDataBytes:Go.get(e,t+24),apeFrameDataBytesHigh:Go.get(e,t+28),terminatingDataBytes:Go.get(e,t+32),fileMD5:new cl(16).get(e,t+36)})},ud={len:24,get:(e,t)=>({compressionLevel:Oo.get(e,t),formatFlags:Oo.get(e,t+2),blocksPerFrame:Go.get(e,t+4),finalFrameBlocks:Go.get(e,t+8),totalFrames:Go.get(e,t+12),bitsPerSample:Oo.get(e,t+16),channel:Oo.get(e,t+18),sampleRate:Go.get(e,t+20)})},hd={len:32,get:(e,t)=>({ID:new ul(8,"ascii").get(e,t),version:Go.get(e,t+8),size:Go.get(e,t+12),fields:Go.get(e,t+16),flags:gd(Go.get(e,t+20))})},dd={len:8,get:(e,t)=>({size:Go.get(e,t),flags:gd(Go.get(e,t+4))})};function gd(e){return{containsHeader:pd(e,31),containsFooter:pd(e,30),isHeader:pd(e,29),readOnly:pd(e,0),dataType:(6&e)>>1}}function pd(e,t){return!!(e&1<<t)}const fd=Ru("music-metadata:parser:APEv2"),md="APEv2",bd="APETAGEX";class wd extends(Ju("APEv2")){}function Ed(e,t,n){return new yd(e,t,n).tryParseApeHeader()}class yd extends id{constructor(){super(...arguments),this.ape={}}static calculateDuration(e){let t=e.totalFrames>1?e.blocksPerFrame*(e.totalFrames-1):0;return t+=e.finalFrameBlocks,t/e.sampleRate}static async findApeFooterOffset(e,t){const n=new Uint8Array(hd.len),i=e.position;if(t<=hd.len)fd(`Offset is too small to read APE footer: offset=${t}`);else if(t>hd.len){await e.readBuffer(n,{position:t-hd.len}),e.setPosition(i);const r=hd.get(n,0);if("APETAGEX"===r.ID)return r.flags.isHeader?fd("APE Header found at offset="+(t-hd.len)):(fd("APE Footer found at offset="+(t-hd.len)),t-=r.size),{footer:r,offset:t}}}static parseTagFooter(e,t,n){const i=hd.get(t,t.length-hd.len);if(i.ID!==bd)throw new wd("Unexpected APEv2 Footer ID preamble value");Lo(t);return new yd(e,Lo(t),n).parseTags(i)}async tryParseApeHeader(){if(this.tokenizer.fileInfo.size&&this.tokenizer.fileInfo.size-this.tokenizer.position<hd.len)return void fd("No APEv2 header found, end-of-file reached");const e=await this.tokenizer.peekToken(hd);if(e.ID===bd)return await this.tokenizer.ignore(hd.len),this.parseTags(e);if(fd(`APEv2 header not found at offset=${this.tokenizer.position}`),this.tokenizer.fileInfo.size){const e=this.tokenizer.fileInfo.size-this.tokenizer.position,t=new Uint8Array(e);return await this.tokenizer.readBuffer(t),yd.parseTagFooter(this.metadata,t,this.options)}}async parse(){const e=await this.tokenizer.readToken(cd);if("MAC "!==e.ID)throw new wd("Unexpected descriptor ID");this.ape.descriptor=e;const t=e.descriptorBytes-cd.len,n=await(t>0?this.parseDescriptorExpansion(t):this.parseHeader());return this.metadata.setAudioOnly(),await this.tokenizer.ignore(n.forwardBytes),this.tryParseApeHeader()}async parseTags(e){const t=new Uint8Array(256);let n=e.size-hd.len;fd(`Parse APE tags at offset=${this.tokenizer.position}, size=${n}`);for(let i=0;i<e.fields;i++){if(n<dd.len){this.metadata.addWarning(`APEv2 Tag-header: ${e.fields-i} items remaining, but no more tag data to read.`);break}const r=await this.tokenizer.readToken(dd);n-=dd.len+r.size,await this.tokenizer.peekBuffer(t,{length:Math.min(t.length,n)});let a=Xu(t,0,t.length);const s=await this.tokenizer.readToken(new ul(a,"ascii"));switch(await this.tokenizer.ignore(1),n-=s.length+1,r.flags.dataType){case sd:{const e=(await this.tokenizer.readToken(new ul(r.size,"utf8"))).split(/\x00/g);await Promise.all(e.map(e=>this.metadata.addTag(md,s,e)));break}case Ad:if(this.options.skipCovers)await this.tokenizer.ignore(r.size);else{const e=new Uint8Array(r.size);await this.tokenizer.readBuffer(e),a=Xu(e,0,e.length);const t=$c(e.slice(0,a)),n=e.slice(a+1);await this.metadata.addTag(md,s,{description:t,data:n})}break;case od:fd(`Ignore external info ${s}`),await this.tokenizer.ignore(r.size);break;case ld:fd(`Ignore external info ${s}`),this.metadata.addWarning(`APEv2 header declares a reserved datatype for "${s}"`),await this.tokenizer.ignore(r.size)}}}async parseDescriptorExpansion(e){return await this.tokenizer.ignore(e),this.parseHeader()}async parseHeader(){const e=await this.tokenizer.readToken(ud);if(this.metadata.setFormat("lossless",!0),this.metadata.setFormat("container","Monkey's Audio"),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("numberOfChannels",e.channel),this.metadata.setFormat("duration",yd.calculateDuration(e)),!this.ape.descriptor)throw new wd("Missing APE descriptor");return{forwardBytes:this.ape.descriptor.seekTableBytes+this.ape.descriptor.headerDataBytes+this.ape.descriptor.apeFrameDataBytes+this.ape.descriptor.terminatingDataBytes}}}var vd=Object.freeze({__proto__:null,APEv2Parser:yd,ApeContentError:wd,tryParseApeHeader:Ed});const kd=Ru("music-metadata:parser:ID3v1"),Sd=["Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal","New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial","Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk","Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise","Alt. Rock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic","Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta Rap","Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychedelic","Rave","Showtunes","Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock","Folk","Folk/Rock","National Folk","Swing","Fast-Fusion","Bebob","Latin","Revival","Celtic","Bluegrass","Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic","Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove","Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Power Ballad","Rhythmic Soul","Freestyle","Duet","Punk Rock","Drum Solo","A Cappella","Euro-House","Dance Hall","Goa","Drum & Bass","Club-House","Hardcore","Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover","Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop","Abstract","Art Rock","Baroque","Bhangra","Big Beat","Breakbeat","Chillout","Downtempo","Dub","EBM","Eclectic","Electro","Electroclash","Emo","Experimental","Garage","Global","IDM","Illbient","Industro-Goth","Jam Band","Krautrock","Leftfield","Lounge","Math Rock","New Romantic","Nu-Breakz","Post-Punk","Post-Rock","Psytrance","Shoegaze","Space Rock","Trop Rock","World Music","Neoclassical","Audiobook","Audio Theatre","Neue Deutsche Welle","Podcast","Indie Rock","G-Funk","Dubstep","Garage Rock","Psybient"],xd={len:128,get:(e,t)=>{const n=new Id(3).get(e,t);return"TAG"===n?{header:n,title:new Id(30).get(e,t+3),artist:new Id(30).get(e,t+33),album:new Id(30).get(e,t+63),year:new Id(4).get(e,t+93),comment:new Id(28).get(e,t+97),zeroByte:Fo.get(e,t+127),track:Fo.get(e,t+126),genre:Fo.get(e,t+127)}:null}};class Id{constructor(e){this.len=e,this.stringType=new ul(e,"latin1")}get(e,t){let n=this.stringType.get(e,t);return n=Zu(n),n=n.trim(),n.length>0?n:void 0}}class Cd extends id{constructor(e,t,n){super(e,t,n),this.apeHeader=n.apeHeader}static getGenre(e){if(e<Sd.length)return Sd[e]}async parse(){if(!this.tokenizer.fileInfo.size)return void kd("Skip checking for ID3v1 because the file-size is unknown");if(this.apeHeader){this.tokenizer.ignore(this.apeHeader.offset-this.tokenizer.position);const e=new yd(this.metadata,this.tokenizer,this.options);await e.parseTags(this.apeHeader.footer)}const e=this.tokenizer.fileInfo.size-xd.len;if(this.tokenizer.position>e)return void kd("Already consumed the last 128 bytes");const t=await this.tokenizer.readToken(xd,e);if(t){kd("ID3v1 header found at: pos=%s",this.tokenizer.fileInfo.size-xd.len);const e=["title","artist","album","comment","track","year"];for(const n of e)t[n]&&""!==t[n]&&await this.addTag(n,t[n]);const n=Cd.getGenre(t.genre);n&&await this.addTag("genre",n)}else kd("ID3v1 header not found at: pos=%s",this.tokenizer.fileInfo.size-xd.len)}async addTag(e,t){await this.metadata.addTag("ID3v1",e,t)}}const Td="LYRICS200";async function _d(e,t,n={}){const i=Ro(e,{fileInfo:"string"==typeof t?{mimeType:t}:t});try{return await Bd(i,n)}finally{await i.close()}}function Bd(e,t){return(new nd).parse(e,void 0,t)}async function Ud(e,t={}){let n=e.fileInfo.size;if(await async function(e){if(e.fileInfo.size>=128){const t=new Uint8Array(3),n=e.position;return await e.readBuffer(t,{position:e.fileInfo.size-128}),e.setPosition(n),"TAG"===new TextDecoder("latin1").decode(t)}return!1}(e)){n-=128;const t=await async function(e){const t=e.fileInfo.size;if(t>=143){const n=new Uint8Array(15),i=e.position;await e.readBuffer(n,{position:t-143}),e.setPosition(i);const r=new TextDecoder("latin1").decode(n);if(r.slice(6)===Td)return Number.parseInt(r.slice(0,6),10)+15}return 0}(e);n-=t}t.apeHeader=await yd.findApeFooterOffset(e,n)}var Md=Object.freeze({__proto__:null,CouldNotDetermineFileTypeError:ju,FieldDecodingError:qu,InternalParserError:Hu,LyricsContentType:rh,TimestampFormat:ah,UnsupportedFileTypeError:Yu,getSupportedMimeTypes:function(){return(new nd).getSupportedMimeTypes()},makeParseError:Gu,makeUnexpectedFileContentError:Ju,orderTags:function(e){const t={};for(const{id:n,value:i}of e)(t[n]||(t[n]=[])).push(i);return t},parseBlob:async function(e,t={}){const n={mimeType:e.type,size:e.size};return e instanceof File&&(n.path=e.name),_d(e.stream(),n,t)},parseBuffer:async function(e,t,n={}){return Bd(Lo(e,{fileInfo:"string"==typeof t?{mimeType:t}:t}),n)},parseFile:async function(e,t={}){throw new Error("This function require a Node engine. To load Web API File objects use parseBlob instead.")},parseFromTokenizer:Bd,parseStream:async function(e,t,n={}){throw new Error("This function require a Node engine.")},parseWebStream:_d,ratingToStars:function(e){return void 0===e?0:1+Math.round(4*e)},scanAppendingHeaders:Ud,selectCover:function(e){return e?e.reduce((e,t)=>t.name&&t.name.toLowerCase()in["front","cover","cover (front)"]?t:e):null}}),Rd={exports:{}},Ld={},Nd=Symbol.for("react.transitional.element"),Dd=Symbol.for("react.fragment");function Pd(e,t,n){var i=null;if(void 0!==n&&(i=""+n),void 0!==t.key&&(i=""+t.key),"key"in t)for(var r in n={},t)"key"!==r&&(n[r]=t[r]);else n=t;return t=n.ref,{$$typeof:Nd,type:e,key:i,ref:void 0!==t?t:null,props:n}}Ld.Fragment=Dd,Ld.jsx=Pd,Ld.jsxs=Pd,Rd.exports=Ld;var Fd=Rd.exports,Od={exports:{}},zd={},Qd={exports:{}},Vd={};
|
|
13
|
+
/**
|
|
14
|
+
* @license React
|
|
15
|
+
* scheduler.production.js
|
|
16
|
+
*
|
|
17
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the MIT license found in the
|
|
20
|
+
* LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/
|
|
22
|
+
!function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,a=e[i];if(!(0<r(a,t)))break e;e[i]=t,e[n]=a,n=i}}function n(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,a=e.length,s=a>>>1;i<s;){var A=2*(i+1)-1,o=e[A],l=A+1,c=e[l];if(0>r(o,n))l<a&&0>r(c,o)?(e[i]=c,e[l]=n,i=l):(e[i]=o,e[A]=n,i=A);else{if(!(l<a&&0>r(c,n)))break e;e[i]=c,e[l]=n,i=l}}}return t}function r(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(e.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()}}else{var s=Date,A=s.now();e.unstable_now=function(){return s.now()-A}}var o=[],l=[],c=1,u=null,h=3,d=!1,g=!1,p=!1,f=!1,m="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function E(e){for(var r=n(l);null!==r;){if(null===r.callback)i(l);else{if(!(r.startTime<=e))break;i(l),r.sortIndex=r.expirationTime,t(o,r)}r=n(l)}}function y(e){if(p=!1,E(e),!g)if(null!==n(o))g=!0,k||(k=!0,v());else{var t=n(l);null!==t&&U(y,t.startTime-e)}}var v,k=!1,S=-1,x=5,I=-1;function C(){return!!f||!(e.unstable_now()-I<x)}function T(){if(f=!1,k){var t=e.unstable_now();I=t;var r=!0;try{e:{g=!1,p&&(p=!1,b(S),S=-1),d=!0;var a=h;try{t:{for(E(t),u=n(o);null!==u&&!(u.expirationTime>t&&C());){var s=u.callback;if("function"==typeof s){u.callback=null,h=u.priorityLevel;var A=s(u.expirationTime<=t);if(t=e.unstable_now(),"function"==typeof A){u.callback=A,E(t),r=!0;break t}u===n(o)&&i(o),E(t)}else i(o);u=n(o)}if(null!==u)r=!0;else{var c=n(l);null!==c&&U(y,c.startTime-t),r=!1}}break e}finally{u=null,h=a,d=!1}r=void 0}}finally{r?v():k=!1}}}if("function"==typeof w)v=function(){w(T)};else if("undefined"!=typeof MessageChannel){var _=new MessageChannel,B=_.port2;_.port1.onmessage=T,v=function(){B.postMessage(null)}}else v=function(){m(T,0)};function U(t,n){S=m(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):x=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},e.unstable_requestPaint=function(){f=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},e.unstable_scheduleCallback=function(i,r,a){var s=e.unstable_now();switch("object"==typeof a&&null!==a?a="number"==typeof(a=a.delay)&&0<a?s+a:s:a=s,i){case 1:var A=-1;break;case 2:A=250;break;case 5:A=1073741823;break;case 4:A=1e4;break;default:A=5e3}return i={id:c++,callback:r,priorityLevel:i,startTime:a,expirationTime:A=a+A,sortIndex:-1},a>s?(i.sortIndex=a,t(l,i),null===n(o)&&i===n(l)&&(p?(b(S),S=-1):p=!0,U(y,a-s))):(i.sortIndex=A,t(o,i),g||d||(g=!0,k||(k=!0,v()))),i},e.unstable_shouldYield=C,e.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}}(Vd),Qd.exports=Vd;var Gd=Qd.exports,jd={exports:{}},Yd={},Kd=Symbol.for("react.transitional.element"),qd=Symbol.for("react.portal"),Hd=Symbol.for("react.fragment"),Jd=Symbol.for("react.strict_mode"),Wd=Symbol.for("react.profiler"),Xd=Symbol.for("react.consumer"),Zd=Symbol.for("react.context"),$d=Symbol.for("react.forward_ref"),eg=Symbol.for("react.suspense"),tg=Symbol.for("react.memo"),ng=Symbol.for("react.lazy"),ig=Symbol.iterator;var rg={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ag=Object.assign,sg={};function Ag(e,t,n){this.props=e,this.context=t,this.refs=sg,this.updater=n||rg}function og(){}function lg(e,t,n){this.props=e,this.context=t,this.refs=sg,this.updater=n||rg}Ag.prototype.isReactComponent={},Ag.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},Ag.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},og.prototype=Ag.prototype;var cg=lg.prototype=new og;cg.constructor=lg,ag(cg,Ag.prototype),cg.isPureReactComponent=!0;var ug=Array.isArray,hg={H:null,A:null,T:null,S:null,V:null},dg=Object.prototype.hasOwnProperty;function gg(e,t,n,i,r,a){return n=a.ref,{$$typeof:Kd,type:e,key:t,ref:void 0!==n?n:null,props:a}}function pg(e){return"object"==typeof e&&null!==e&&e.$$typeof===Kd}var fg=/\/+/g;function mg(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function bg(){}function wg(e,t,n,i,r){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var s,A,o=!1;if(null===e)o=!0;else switch(a){case"bigint":case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Kd:case qd:o=!0;break;case ng:return wg((o=e._init)(e._payload),t,n,i,r)}}if(o)return r=r(e),o=""===i?"."+mg(e,0):i,ug(r)?(n="",null!=o&&(n=o.replace(fg,"$&/")+"/"),wg(r,t,n,"",function(e){return e})):null!=r&&(pg(r)&&(s=r,A=n+(null==r.key||e&&e.key===r.key?"":(""+r.key).replace(fg,"$&/")+"/")+o,r=gg(s.type,A,void 0,0,0,s.props)),t.push(r)),1;o=0;var l,c=""===i?".":i+":";if(ug(e))for(var u=0;u<e.length;u++)o+=wg(i=e[u],t,n,a=c+mg(i,u),r);else if("function"==typeof(u=null===(l=e)||"object"!=typeof l?null:"function"==typeof(l=ig&&l[ig]||l["@@iterator"])?l:null))for(e=u.call(e),u=0;!(i=e.next()).done;)o+=wg(i=i.value,t,n,a=c+mg(i,u++),r);else if("object"===a){if("function"==typeof e.then)return wg(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(bg,bg):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(e),t,n,i,r);throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return o}function Eg(e,t,n){if(null==e)return e;var i=[],r=0;return wg(e,i,"","",function(e){return t.call(n,e,r++)}),i}function yg(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var vg="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)};function kg(){}Yd.Children={map:Eg,forEach:function(e,t,n){Eg(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Eg(e,function(){t++}),t},toArray:function(e){return Eg(e,function(e){return e})||[]},only:function(e){if(!pg(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},Yd.Component=Ag,Yd.Fragment=Hd,Yd.Profiler=Wd,Yd.PureComponent=lg,Yd.StrictMode=Jd,Yd.Suspense=eg,Yd.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=hg,Yd.__COMPILER_RUNTIME={__proto__:null,c:function(e){return hg.H.useMemoCache(e)}},Yd.cache=function(e){return function(){return e.apply(null,arguments)}},Yd.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var i=ag({},e.props),r=e.key;if(null!=t)for(a in void 0!==t.ref&&void 0,void 0!==t.key&&(r=""+t.key),t)!dg.call(t,a)||"key"===a||"__self"===a||"__source"===a||"ref"===a&&void 0===t.ref||(i[a]=t[a]);var a=arguments.length-2;if(1===a)i.children=n;else if(1<a){for(var s=Array(a),A=0;A<a;A++)s[A]=arguments[A+2];i.children=s}return gg(e.type,r,void 0,0,0,i)},Yd.createContext=function(e){return(e={$$typeof:Zd,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:Xd,_context:e},e},Yd.createElement=function(e,t,n){var i,r={},a=null;if(null!=t)for(i in void 0!==t.key&&(a=""+t.key),t)dg.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&(r[i]=t[i]);var s=arguments.length-2;if(1===s)r.children=n;else if(1<s){for(var A=Array(s),o=0;o<s;o++)A[o]=arguments[o+2];r.children=A}if(e&&e.defaultProps)for(i in s=e.defaultProps)void 0===r[i]&&(r[i]=s[i]);return gg(e,a,void 0,0,0,r)},Yd.createRef=function(){return{current:null}},Yd.forwardRef=function(e){return{$$typeof:$d,render:e}},Yd.isValidElement=pg,Yd.lazy=function(e){return{$$typeof:ng,_payload:{_status:-1,_result:e},_init:yg}},Yd.memo=function(e,t){return{$$typeof:tg,type:e,compare:void 0===t?null:t}},Yd.startTransition=function(e){var t=hg.T,n={};hg.T=n;try{var i=e(),r=hg.S;null!==r&&r(n,i),"object"==typeof i&&null!==i&&"function"==typeof i.then&&i.then(kg,vg)}catch(e){vg(e)}finally{hg.T=t}},Yd.unstable_useCacheRefresh=function(){return hg.H.useCacheRefresh()},Yd.use=function(e){return hg.H.use(e)},Yd.useActionState=function(e,t,n){return hg.H.useActionState(e,t,n)},Yd.useCallback=function(e,t){return hg.H.useCallback(e,t)},Yd.useContext=function(e){return hg.H.useContext(e)},Yd.useDebugValue=function(){},Yd.useDeferredValue=function(e,t){return hg.H.useDeferredValue(e,t)},Yd.useEffect=function(e,t,n){var i=hg.H;if("function"==typeof n)throw Error("useEffect CRUD overload is not enabled in this build of React.");return i.useEffect(e,t)},Yd.useId=function(){return hg.H.useId()},Yd.useImperativeHandle=function(e,t,n){return hg.H.useImperativeHandle(e,t,n)},Yd.useInsertionEffect=function(e,t){return hg.H.useInsertionEffect(e,t)},Yd.useLayoutEffect=function(e,t){return hg.H.useLayoutEffect(e,t)},Yd.useMemo=function(e,t){return hg.H.useMemo(e,t)},Yd.useOptimistic=function(e,t){return hg.H.useOptimistic(e,t)},Yd.useReducer=function(e,t,n){return hg.H.useReducer(e,t,n)},Yd.useRef=function(e){return hg.H.useRef(e)},Yd.useState=function(e){return hg.H.useState(e)},Yd.useSyncExternalStore=function(e,t,n){return hg.H.useSyncExternalStore(e,t,n)},Yd.useTransition=function(){return hg.H.useTransition()},Yd.version="19.1.0",jd.exports=Yd;var Sg=jd.exports,xg={exports:{}},Ig={},Cg=Sg;function Tg(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function _g(){}var Bg={d:{f:_g,r:function(){throw Error(Tg(522))},D:_g,C:_g,L:_g,m:_g,X:_g,S:_g,M:_g},p:0,findDOMNode:null},Ug=Symbol.for("react.portal");var Mg=Cg.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Rg(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}Ig.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Bg,Ig.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(Tg(299));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ug,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},Ig.flushSync=function(e){var t=Mg.T,n=Bg.p;try{if(Mg.T=null,Bg.p=2,e)return e()}finally{Mg.T=t,Bg.p=n,Bg.d.f()}},Ig.preconnect=function(e,t){"string"==typeof e&&(t?t="string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:t=null,Bg.d.C(e,t))},Ig.prefetchDNS=function(e){"string"==typeof e&&Bg.d.D(e)},Ig.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var n=t.as,i=Rg(n,t.crossOrigin),r="string"==typeof t.integrity?t.integrity:void 0,a="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===n?Bg.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:i,integrity:r,fetchPriority:a}):"script"===n&&Bg.d.X(e,{crossOrigin:i,integrity:r,fetchPriority:a,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},Ig.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var n=Rg(t.as,t.crossOrigin);Bg.d.M(e,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&Bg.d.M(e)},Ig.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var n=t.as,i=Rg(n,t.crossOrigin);Bg.d.L(e,n,{crossOrigin:i,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},Ig.preloadModule=function(e,t){if("string"==typeof e)if(t){var n=Rg(t.as,t.crossOrigin);Bg.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else Bg.d.m(e)},Ig.requestFormReset=function(e){Bg.d.r(e)},Ig.unstable_batchedUpdates=function(e,t){return e(t)},Ig.useFormState=function(e,t,n){return Mg.H.useFormState(e,t,n)},Ig.useFormStatus=function(){return Mg.H.useHostTransitionStatus()},Ig.version="19.1.0",function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),xg.exports=Ig;var Lg=xg.exports,Ng=t(Lg),Dg=Gd,Pg=Sg,Fg=Lg;function Og(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function zg(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Qg(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Vg(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Gg(e){if(Qg(e)!==e)throw Error(Og(188))}function jg(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e;for(e=e.child;null!==e;){if(null!==(t=jg(e)))return t;e=e.sibling}return null}var Yg=Object.assign,Kg=Symbol.for("react.element"),qg=Symbol.for("react.transitional.element"),Hg=Symbol.for("react.portal"),Jg=Symbol.for("react.fragment"),Wg=Symbol.for("react.strict_mode"),Xg=Symbol.for("react.profiler"),Zg=Symbol.for("react.provider"),$g=Symbol.for("react.consumer"),ep=Symbol.for("react.context"),tp=Symbol.for("react.forward_ref"),np=Symbol.for("react.suspense"),ip=Symbol.for("react.suspense_list"),rp=Symbol.for("react.memo"),ap=Symbol.for("react.lazy"),sp=Symbol.for("react.activity"),Ap=Symbol.for("react.memo_cache_sentinel"),op=Symbol.iterator;function lp(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=op&&e[op]||e["@@iterator"])?e:null}var cp=Symbol.for("react.client.reference");function up(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===cp?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case Jg:return"Fragment";case Xg:return"Profiler";case Wg:return"StrictMode";case np:return"Suspense";case ip:return"SuspenseList";case sp:return"Activity"}if("object"==typeof e)switch(e.$$typeof){case Hg:return"Portal";case ep:return(e.displayName||"Context")+".Provider";case $g:return(e._context.displayName||"Context")+".Consumer";case tp:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case rp:return null!==(t=e.displayName||null)?t:up(e.type)||"Memo";case ap:t=e._payload,e=e._init;try{return up(e(t))}catch(e){}}return null}var hp=Array.isArray,dp=Pg.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,gp=Fg.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pp={pending:!1,data:null,method:null,action:null},fp=[],mp=-1;function bp(e){return{current:e}}function wp(e){0>mp||(e.current=fp[mp],fp[mp]=null,mp--)}function Ep(e,t){mp++,fp[mp]=e.current,e.current=t}var yp=bp(null),vp=bp(null),kp=bp(null),Sp=bp(null);function xp(e,t){switch(Ep(kp,t),Ep(vp,e),Ep(yp,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?PI(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=FI(t=PI(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}wp(yp),Ep(yp,e)}function Ip(){wp(yp),wp(vp),wp(kp)}function Cp(e){null!==e.memoizedState&&Ep(Sp,e);var t=yp.current,n=FI(t,e.type);t!==n&&(Ep(vp,e),Ep(yp,n))}function Tp(e){vp.current===e&&(wp(yp),wp(vp)),Sp.current===e&&(wp(Sp),CC._currentValue=pp)}var _p=Object.prototype.hasOwnProperty,Bp=Dg.unstable_scheduleCallback,Up=Dg.unstable_cancelCallback,Mp=Dg.unstable_shouldYield,Rp=Dg.unstable_requestPaint,Lp=Dg.unstable_now,Np=Dg.unstable_getCurrentPriorityLevel,Dp=Dg.unstable_ImmediatePriority,Pp=Dg.unstable_UserBlockingPriority,Fp=Dg.unstable_NormalPriority,Op=Dg.unstable_LowPriority,zp=Dg.unstable_IdlePriority,Qp=Dg.log,Vp=Dg.unstable_setDisableYieldValue,Gp=null,jp=null;function Yp(e){if("function"==typeof Qp&&Vp(e),jp&&"function"==typeof jp.setStrictMode)try{jp.setStrictMode(Gp,e)}catch(e){}}var Kp=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(qp(e)/Hp|0)|0},qp=Math.log,Hp=Math.LN2;var Jp=256,Wp=4194304;function Xp(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Zp(e,t,n){var i=e.pendingLanes;if(0===i)return 0;var r=0,a=e.suspendedLanes,s=e.pingedLanes;e=e.warmLanes;var A=134217727&i;return 0!==A?0!==(i=A&~a)?r=Xp(i):0!==(s&=A)?r=Xp(s):n||0!==(n=A&~e)&&(r=Xp(n)):0!==(A=i&~a)?r=Xp(A):0!==s?r=Xp(s):n||0!==(n=i&~e)&&(r=Xp(n)),0===r?0:0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(n=t&-t)||32===a&&4194048&n)?t:r}function $p(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function ef(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function tf(){var e=Jp;return!(4194048&(Jp<<=1))&&(Jp=256),e}function nf(){var e=Wp;return!(62914560&(Wp<<=1))&&(Wp=4194304),e}function rf(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function af(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function sf(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var i=31-Kp(t);e.entangledLanes|=t,e.entanglements[i]=1073741824|e.entanglements[i]|4194090&n}function Af(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-Kp(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}function of(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function lf(e){return 2<(e&=-e)?8<e?134217727&e?32:268435456:8:2}function cf(){var e=gp.p;return 0!==e?e:void 0===(e=window.event)?32:VC(e.type)}var uf=Math.random().toString(36).slice(2),hf="__reactFiber$"+uf,df="__reactProps$"+uf,gf="__reactContainer$"+uf,pf="__reactEvents$"+uf,ff="__reactListeners$"+uf,mf="__reactHandles$"+uf,bf="__reactResources$"+uf,wf="__reactMarker$"+uf;function Ef(e){delete e[hf],delete e[df],delete e[pf],delete e[ff],delete e[mf]}function yf(e){var t=e[hf];if(t)return t;for(var n=e.parentNode;n;){if(t=n[gf]||n[hf]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ZI(e);null!==e;){if(n=e[hf])return n;e=ZI(e)}return t}n=(e=n).parentNode}return null}function vf(e){if(e=e[hf]||e[gf]){var t=e.tag;if(5===t||6===t||13===t||26===t||27===t||3===t)return e}return null}function kf(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(Og(33))}function Sf(e){var t=e[bf];return t||(t=e[bf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function xf(e){e[wf]=!0}var If=new Set,Cf={};function Tf(e,t){_f(e,t),_f(e+"Capture",t)}function _f(e,t){for(Cf[e]=t,e=0;e<t.length;e++)If.add(t[e])}var Bf,Uf,Mf=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Rf={},Lf={};function Nf(e,t,n){if(r=t,_p.call(Lf,r)||!_p.call(Rf,r)&&(Mf.test(r)?Lf[r]=!0:(Rf[r]=!0,0)))if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":return void e.removeAttribute(t);case"boolean":var i=t.toLowerCase().slice(0,5);if("data-"!==i&&"aria-"!==i)return void e.removeAttribute(t)}e.setAttribute(t,""+n)}var r}function Df(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":return void e.removeAttribute(t)}e.setAttribute(t,""+n)}}function Pf(e,t,n,i){if(null===i)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":return void e.removeAttribute(n)}e.setAttributeNS(t,n,""+i)}}function Ff(e){if(void 0===Bf)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Bf=t&&t[1]||"",Uf=-1<e.stack.indexOf("\n at")?" (<anonymous>)":-1<e.stack.indexOf("@")?"@unknown:0:0":""}return"\n"+Bf+e+Uf}var Of=!1;function zf(e,t){if(!e||Of)return"";Of=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var i=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){i=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){i=e}(n=e())&&"function"==typeof n.catch&&n.catch(function(){})}}catch(e){if(e&&i&&"string"==typeof e.stack)return[e.stack,i.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=i.DetermineComponentFrameRoot(),s=a[0],A=a[1];if(s&&A){var o=s.split("\n"),l=A.split("\n");for(r=i=0;i<o.length&&!o[i].includes("DetermineComponentFrameRoot");)i++;for(;r<l.length&&!l[r].includes("DetermineComponentFrameRoot");)r++;if(i===o.length||r===l.length)for(i=o.length-1,r=l.length-1;1<=i&&0<=r&&o[i]!==l[r];)r--;for(;1<=i&&0<=r;i--,r--)if(o[i]!==l[r]){if(1!==i||1!==r)do{if(i--,0>--r||o[i]!==l[r]){var c="\n"+o[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=r);break}}}finally{Of=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ff(n):""}function Qf(e){switch(e.tag){case 26:case 27:case 5:return Ff(e.type);case 16:return Ff("Lazy");case 13:return Ff("Suspense");case 19:return Ff("SuspenseList");case 0:case 15:return zf(e.type,!1);case 11:return zf(e.type.render,!1);case 1:return zf(e.type,!0);case 31:return Ff("Activity");default:return""}}function Vf(e){try{var t="";do{t+=Qf(e),e=e.return}while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function Gf(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function jf(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Yf(e){e._valueTracker||(e._valueTracker=function(e){var t=jf(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Kf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=jf(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function qf(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var Hf=/[\n"\\]/g;function Jf(e){return e.replace(Hf,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function Wf(e,t,n,i,r,a,s,A){e.name="",null!=s&&"function"!=typeof s&&"symbol"!=typeof s&&"boolean"!=typeof s?e.type=s:e.removeAttribute("type"),null!=t?"number"===s?(0===t&&""===e.value||e.value!=t)&&(e.value=""+Gf(t)):e.value!==""+Gf(t)&&(e.value=""+Gf(t)):"submit"!==s&&"reset"!==s||e.removeAttribute("value"),null!=t?Zf(e,s,Gf(t)):null!=n?Zf(e,s,Gf(n)):null!=i&&e.removeAttribute("value"),null==r&&null!=a&&(e.defaultChecked=!!a),null!=r&&(e.checked=r&&"function"!=typeof r&&"symbol"!=typeof r),null!=A&&"function"!=typeof A&&"symbol"!=typeof A&&"boolean"!=typeof A?e.name=""+Gf(A):e.removeAttribute("name")}function Xf(e,t,n,i,r,a,s,A){if(null!=a&&"function"!=typeof a&&"symbol"!=typeof a&&"boolean"!=typeof a&&(e.type=a),null!=t||null!=n){if(("submit"===a||"reset"===a)&&null==t)return;n=null!=n?""+Gf(n):"",t=null!=t?""+Gf(t):n,A||t===e.value||(e.value=t),e.defaultValue=t}i="function"!=typeof(i=null!=i?i:r)&&"symbol"!=typeof i&&!!i,e.checked=A?e.checked:!!i,e.defaultChecked=!!i,null!=s&&"function"!=typeof s&&"symbol"!=typeof s&&"boolean"!=typeof s&&(e.name=s)}function Zf(e,t,n){"number"===t&&qf(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function $f(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+Gf(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function em(e,t,n){null==t||((t=""+Gf(t))!==e.value&&(e.value=t),null!=n)?e.defaultValue=null!=n?""+Gf(n):"":e.defaultValue!==t&&(e.defaultValue=t)}function tm(e,t,n,i){if(null==t){if(null!=i){if(null!=n)throw Error(Og(92));if(hp(i)){if(1<i.length)throw Error(Og(93));i=i[0]}n=i}null==n&&(n=""),t=n}n=Gf(t),e.defaultValue=n,(i=e.textContent)===n&&""!==i&&null!==i&&(e.value=i)}function nm(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var im=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function rm(e,t,n){var i=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?i?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":i?e.setProperty(t,n):"number"!=typeof n||0===n||im.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function am(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(Og(62));if(e=e.style,null!=n){for(var i in n)!n.hasOwnProperty(i)||null!=t&&t.hasOwnProperty(i)||(0===i.indexOf("--")?e.setProperty(i,""):"float"===i?e.cssFloat="":e[i]="");for(var r in t)i=t[r],t.hasOwnProperty(r)&&n[r]!==i&&rm(e,r,i)}else for(var a in t)t.hasOwnProperty(a)&&rm(e,a,t[a])}function sm(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Am=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),om=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function lm(e){return om.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}var cm=null;function um(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var hm=null,dm=null;function gm(e){var t=vf(e);if(t&&(e=t.stateNode)){var n=e[df]||null;e:switch(e=t.stateNode,t.type){case"input":if(Wf(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Jf(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=i[df]||null;if(!r)throw Error(Og(90));Wf(i,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<n.length;t++)(i=n[t]).form===e.form&&Kf(i)}break e;case"textarea":em(e,n.value,n.defaultValue);break e;case"select":null!=(t=n.value)&&$f(e,!!n.multiple,t,!1)}}}var pm=!1;function fm(e,t,n){if(pm)return e(t,n);pm=!0;try{return e(t)}finally{if(pm=!1,(null!==hm||null!==dm)&&(Ex(),hm&&(t=hm,e=dm,dm=hm=null,gm(t),e)))for(t=0;t<e.length;t++)gm(e[t])}}function mm(e,t){var n=e.stateNode;if(null===n)return null;var i=n[df]||null;if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(Og(231,t,typeof n));return n}var bm=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),wm=!1;if(bm)try{var Em={};Object.defineProperty(Em,"passive",{get:function(){wm=!0}}),window.addEventListener("test",Em,Em),window.removeEventListener("test",Em,Em)}catch(S_){wm=!1}var ym=null,vm=null,km=null;function Sm(){if(km)return km;var e,t,n=vm,i=n.length,r="value"in ym?ym.value:ym.textContent,a=r.length;for(e=0;e<i&&n[e]===r[e];e++);var s=i-e;for(t=1;t<=s&&n[i-t]===r[a-t];t++);return km=r.slice(e,1<t?1-t:void 0)}function xm(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function Im(){return!0}function Cm(){return!1}function Tm(e){function t(t,n,i,r,a){for(var s in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(r):r[s]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?Im:Cm,this.isPropagationStopped=Cm,this}return Yg(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Im)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Im)},persist:function(){},isPersistent:Im}),t}var _m,Bm,Um,Mm={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Rm=Tm(Mm),Lm=Yg({},Mm,{view:0,detail:0}),Nm=Tm(Lm),Dm=Yg({},Lm,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:qm,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Um&&(Um&&"mousemove"===e.type?(_m=e.screenX-Um.screenX,Bm=e.screenY-Um.screenY):Bm=_m=0,Um=e),_m)},movementY:function(e){return"movementY"in e?e.movementY:Bm}}),Pm=Tm(Dm),Fm=Tm(Yg({},Dm,{dataTransfer:0})),Om=Tm(Yg({},Lm,{relatedTarget:0})),zm=Tm(Yg({},Mm,{animationName:0,elapsedTime:0,pseudoElement:0})),Qm=Tm(Yg({},Mm,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),Vm=Tm(Yg({},Mm,{data:0})),Gm={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},jm={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Ym={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Km(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Ym[e])&&!!t[e]}function qm(){return Km}var Hm=Yg({},Lm,{key:function(e){if(e.key){var t=Gm[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=xm(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?jm[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:qm,charCode:function(e){return"keypress"===e.type?xm(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?xm(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Jm=Tm(Hm),Wm=Tm(Yg({},Dm,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Xm=Tm(Yg({},Lm,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:qm})),Zm=Tm(Yg({},Mm,{propertyName:0,elapsedTime:0,pseudoElement:0})),$m=Tm(Yg({},Dm,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),eb=Tm(Yg({},Mm,{newState:0,oldState:0})),tb=[9,13,27,32],nb=bm&&"CompositionEvent"in window,ib=null;bm&&"documentMode"in document&&(ib=document.documentMode);var rb=bm&&"TextEvent"in window&&!ib,ab=bm&&(!nb||ib&&8<ib&&11>=ib),sb=String.fromCharCode(32),Ab=!1;function ob(e,t){switch(e){case"keyup":return-1!==tb.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lb(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var cb=!1;var ub={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function hb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!ub[e.type]:"textarea"===t}function db(e,t,n,i){hm?dm?dm.push(i):dm=[i]:hm=i,0<(t=kI(t,"onChange")).length&&(n=new Rm("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var gb=null,pb=null;function fb(e){pI(e,0)}function mb(e){if(Kf(kf(e)))return e}function bb(e,t){if("change"===e)return t}var wb=!1;if(bm){var Eb;if(bm){var yb="oninput"in document;if(!yb){var vb=document.createElement("div");vb.setAttribute("oninput","return;"),yb="function"==typeof vb.oninput}Eb=yb}else Eb=!1;wb=Eb&&(!document.documentMode||9<document.documentMode)}function kb(){gb&&(gb.detachEvent("onpropertychange",Sb),pb=gb=null)}function Sb(e){if("value"===e.propertyName&&mb(pb)){var t=[];db(t,pb,e,um(e)),fm(fb,t)}}function xb(e,t,n){"focusin"===e?(kb(),pb=n,(gb=t).attachEvent("onpropertychange",Sb)):"focusout"===e&&kb()}function Ib(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return mb(pb)}function Cb(e,t){if("click"===e)return mb(t)}function Tb(e,t){if("input"===e||"change"===e)return mb(t)}var _b="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Bb(e,t){if(_b(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!_p.call(t,r)||!_b(e[r],t[r]))return!1}return!0}function Ub(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Mb(e,t){var n,i=Ub(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Ub(i)}}function Rb(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?Rb(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function Lb(e){for(var t=qf((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=qf((e=t.contentWindow).document)}return t}function Nb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var Db=bm&&"documentMode"in document&&11>=document.documentMode,Pb=null,Fb=null,Ob=null,zb=!1;function Qb(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;zb||null==Pb||Pb!==qf(i)||("selectionStart"in(i=Pb)&&Nb(i)?i={start:i.selectionStart,end:i.selectionEnd}:i={anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},Ob&&Bb(Ob,i)||(Ob=i,0<(i=kI(Fb,"onSelect")).length&&(t=new Rm("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=Pb)))}function Vb(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Gb={animationend:Vb("Animation","AnimationEnd"),animationiteration:Vb("Animation","AnimationIteration"),animationstart:Vb("Animation","AnimationStart"),transitionrun:Vb("Transition","TransitionRun"),transitionstart:Vb("Transition","TransitionStart"),transitioncancel:Vb("Transition","TransitionCancel"),transitionend:Vb("Transition","TransitionEnd")},jb={},Yb={};function Kb(e){if(jb[e])return jb[e];if(!Gb[e])return e;var t,n=Gb[e];for(t in n)if(n.hasOwnProperty(t)&&t in Yb)return jb[e]=n[t];return e}bm&&(Yb=document.createElement("div").style,"AnimationEvent"in window||(delete Gb.animationend.animation,delete Gb.animationiteration.animation,delete Gb.animationstart.animation),"TransitionEvent"in window||delete Gb.transitionend.transition);var qb=Kb("animationend"),Hb=Kb("animationiteration"),Jb=Kb("animationstart"),Wb=Kb("transitionrun"),Xb=Kb("transitionstart"),Zb=Kb("transitioncancel"),$b=Kb("transitionend"),ew=new Map,tw="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function nw(e,t){ew.set(e,t),Tf(t,[e])}tw.push("scrollEnd");var iw=new WeakMap;function rw(e,t){if("object"==typeof e&&null!==e){var n=iw.get(e);return void 0!==n?n:(t={value:e,source:t,stack:Vf(t)},iw.set(e,t),t)}return{value:e,source:t,stack:Vf(t)}}var aw=[],sw=0,Aw=0;function ow(){for(var e=sw,t=Aw=sw=0;t<e;){var n=aw[t];aw[t++]=null;var i=aw[t];aw[t++]=null;var r=aw[t];aw[t++]=null;var a=aw[t];if(aw[t++]=null,null!==i&&null!==r){var s=i.pending;null===s?r.next=r:(r.next=s.next,s.next=r),i.pending=r}0!==a&&hw(n,r,a)}}function lw(e,t,n,i){aw[sw++]=e,aw[sw++]=t,aw[sw++]=n,aw[sw++]=i,Aw|=i,e.lanes|=i,null!==(e=e.alternate)&&(e.lanes|=i)}function cw(e,t,n,i){return lw(e,t,n,i),dw(e)}function uw(e,t){return lw(e,null,null,t),dw(e)}function hw(e,t,n){e.lanes|=n;var i=e.alternate;null!==i&&(i.lanes|=n);for(var r=!1,a=e.return;null!==a;)a.childLanes|=n,null!==(i=a.alternate)&&(i.childLanes|=n),22===a.tag&&(null===(e=a.stateNode)||1&e._visibility||(r=!0)),e=a,a=a.return;return 3===e.tag?(a=e.stateNode,r&&null!==t&&(r=31-Kp(n),null===(i=(e=a.hiddenUpdates)[r])?e[r]=[t]:i.push(t),t.lane=536870912|n),a):null}function dw(e){if(50<ux)throw ux=0,hx=null,Error(Og(185));for(var t=e.return;null!==t;)t=(e=t).return;return 3===e.tag?e.stateNode:null}var gw={};function pw(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function fw(e,t,n,i){return new pw(e,t,n,i)}function mw(e){return!(!(e=e.prototype)||!e.isReactComponent)}function bw(e,t){var n=e.alternate;return null===n?((n=fw(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=65011712&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function ww(e,t){e.flags&=65011714;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ew(e,t,n,i,r,a){var s=0;if(i=e,"function"==typeof e)mw(e)&&(s=1);else if("string"==typeof e)s=function(e,t,n){if(1===n||null!=t.itemProp)return!1;switch(e){case"meta":case"title":return!0;case"style":if("string"!=typeof t.precedence||"string"!=typeof t.href||""===t.href)break;return!0;case"link":if("string"!=typeof t.rel||"string"!=typeof t.href||""===t.href||t.onLoad||t.onError)break;return"stylesheet"!==t.rel||(e=t.disabled,"string"==typeof t.precedence&&null==e);case"script":if(t.async&&"function"!=typeof t.async&&"symbol"!=typeof t.async&&!t.onLoad&&!t.onError&&t.src&&"string"==typeof t.src)return!0}return!1}(e,n,yp.current)?26:"html"===e||"head"===e||"body"===e?27:5;else e:switch(e){case sp:return(e=fw(31,n,t,r)).elementType=sp,e.lanes=a,e;case Jg:return yw(n.children,r,a,t);case Wg:s=8,r|=24;break;case Xg:return(e=fw(12,n,t,2|r)).elementType=Xg,e.lanes=a,e;case np:return(e=fw(13,n,t,r)).elementType=np,e.lanes=a,e;case ip:return(e=fw(19,n,t,r)).elementType=ip,e.lanes=a,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case Zg:case ep:s=10;break e;case $g:s=9;break e;case tp:s=11;break e;case rp:s=14;break e;case ap:s=16,i=null;break e}s=29,n=Error(Og(130,null===e?"null":typeof e,"")),i=null}return(t=fw(s,n,t,r)).elementType=e,t.type=i,t.lanes=a,t}function yw(e,t,n,i){return(e=fw(7,e,i,t)).lanes=n,e}function vw(e,t,n){return(e=fw(6,e,null,t)).lanes=n,e}function kw(e,t,n){return(t=fw(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Sw=[],xw=0,Iw=null,Cw=0,Tw=[],_w=0,Bw=null,Uw=1,Mw="";function Rw(e,t){Sw[xw++]=Cw,Sw[xw++]=Iw,Iw=e,Cw=t}function Lw(e,t,n){Tw[_w++]=Uw,Tw[_w++]=Mw,Tw[_w++]=Bw,Bw=e;var i=Uw;e=Mw;var r=32-Kp(i)-1;i&=~(1<<r),n+=1;var a=32-Kp(t)+r;if(30<a){var s=r-r%5;a=(i&(1<<s)-1).toString(32),i>>=s,r-=s,Uw=1<<32-Kp(t)+r|n<<r|i,Mw=a+e}else Uw=1<<a|n<<r|i,Mw=e}function Nw(e){null!==e.return&&(Rw(e,1),Lw(e,1,0))}function Dw(e){for(;e===Iw;)Iw=Sw[--xw],Sw[xw]=null,Cw=Sw[--xw],Sw[xw]=null;for(;e===Bw;)Bw=Tw[--_w],Tw[_w]=null,Mw=Tw[--_w],Tw[_w]=null,Uw=Tw[--_w],Tw[_w]=null}var Pw=null,Fw=null,Ow=!1,zw=null,Qw=!1,Vw=Error(Og(519));function Gw(e){throw Jw(rw(Error(Og(418,"")),e)),Vw}function jw(e){var t=e.stateNode,n=e.type,i=e.memoizedProps;switch(t[hf]=e,t[df]=i,n){case"dialog":fI("cancel",t),fI("close",t);break;case"iframe":case"object":case"embed":fI("load",t);break;case"video":case"audio":for(n=0;n<dI.length;n++)fI(dI[n],t);break;case"source":fI("error",t);break;case"img":case"image":case"link":fI("error",t),fI("load",t);break;case"details":fI("toggle",t);break;case"input":fI("invalid",t),Xf(t,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0),Yf(t);break;case"select":fI("invalid",t);break;case"textarea":fI("invalid",t),tm(t,i.value,i.defaultValue,i.children),Yf(t)}"string"!=typeof(n=i.children)&&"number"!=typeof n&&"bigint"!=typeof n||t.textContent===""+n||!0===i.suppressHydrationWarning||_I(t.textContent,n)?(null!=i.popover&&(fI("beforetoggle",t),fI("toggle",t)),null!=i.onScroll&&fI("scroll",t),null!=i.onScrollEnd&&fI("scrollend",t),null!=i.onClick&&(t.onclick=BI),t=!0):t=!1,t||Gw(e)}function Yw(e){for(Pw=e.return;Pw;)switch(Pw.tag){case 5:case 13:return void(Qw=!1);case 27:case 3:return void(Qw=!0);default:Pw=Pw.return}}function Kw(e){if(e!==Pw)return!1;if(!Ow)return Yw(e),Ow=!0,!1;var t,n=e.tag;if((t=3!==n&&27!==n)&&((t=5===n)&&(t=!("form"!==(t=e.type)&&"button"!==t)||OI(e.type,e.memoizedProps)),t=!t),t&&Fw&&Gw(e),Yw(e),13===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(Og(317));e:{for(e=e.nextSibling,n=0;e;){if(8===e.nodeType)if("/$"===(t=e.data)){if(0===n){Fw=WI(e.nextSibling);break e}n--}else"$"!==t&&"$!"!==t&&"$?"!==t||n++;e=e.nextSibling}Fw=null}}else 27===n?(n=Fw,KI(e.type)?(e=XI,XI=null,Fw=e):Fw=n):Fw=Pw?WI(e.stateNode.nextSibling):null;return!0}function qw(){Fw=Pw=null,Ow=!1}function Hw(){var e=zw;return null!==e&&(null===ZS?ZS=e:ZS.push.apply(ZS,e),zw=null),e}function Jw(e){null===zw?zw=[e]:zw.push(e)}var Ww=bp(null),Xw=null,Zw=null;function $w(e,t,n){Ep(Ww,t._currentValue),t._currentValue=n}function eE(e){e._currentValue=Ww.current,wp(Ww)}function tE(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function nE(e,t,n,i){var r=e.child;for(null!==r&&(r.return=e);null!==r;){var a=r.dependencies;if(null!==a){var s=r.child;a=a.firstContext;e:for(;null!==a;){var A=a;a=r;for(var o=0;o<t.length;o++)if(A.context===t[o]){a.lanes|=n,null!==(A=a.alternate)&&(A.lanes|=n),tE(a.return,n,e),i||(s=null);break e}a=A.next}}else if(18===r.tag){if(null===(s=r.return))throw Error(Og(341));s.lanes|=n,null!==(a=s.alternate)&&(a.lanes|=n),tE(s,n,e),s=null}else s=r.child;if(null!==s)s.return=r;else for(s=r;null!==s;){if(s===e){s=null;break}if(null!==(r=s.sibling)){r.return=s.return,s=r;break}s=s.return}r=s}}function iE(e,t,n,i){e=null;for(var r=t,a=!1;null!==r;){if(!a)if(524288&r.flags)a=!0;else if(262144&r.flags)break;if(10===r.tag){var s=r.alternate;if(null===s)throw Error(Og(387));if(null!==(s=s.memoizedProps)){var A=r.type;_b(r.pendingProps.value,s.value)||(null!==e?e.push(A):e=[A])}}else if(r===Sp.current){if(null===(s=r.alternate))throw Error(Og(387));s.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(null!==e?e.push(CC):e=[CC])}r=r.return}null!==e&&nE(t,e,n,i),t.flags|=262144}function rE(e){for(e=e.firstContext;null!==e;){if(!_b(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function aE(e){Xw=e,Zw=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function sE(e){return oE(Xw,e)}function AE(e,t){return null===Xw&&aE(e),oE(e,t)}function oE(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===Zw){if(null===e)throw Error(Og(308));Zw=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Zw=Zw.next=t;return n}var lE="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},cE=Dg.unstable_scheduleCallback,uE=Dg.unstable_NormalPriority,hE={$$typeof:ep,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function dE(){return{controller:new lE,data:new Map,refCount:0}}function gE(e){e.refCount--,0===e.refCount&&cE(uE,function(){e.controller.abort()})}var pE=null,fE=0,mE=0,bE=null;function wE(){if(0===--fE&&null!==pE){null!==bE&&(bE.status="fulfilled");var e=pE;pE=null,mE=0,bE=null;for(var t=0;t<e.length;t++)(0,e[t])()}}var EE=dp.S;dp.S=function(e,t){"object"==typeof t&&null!==t&&"function"==typeof t.then&&function(e,t){if(null===pE){var n=pE=[];fE=0,mE=oI(),bE={status:"pending",value:void 0,then:function(e){n.push(e)}}}fE++,t.then(wE,wE)}(0,t),null!==EE&&EE(e,t)};var yE=bp(null);function vE(){var e=yE.current;return null!==e?e:DS.pooledCache}function kE(e,t){Ep(yE,null===t?yE.current:t.pool)}function SE(){var e=vE();return null===e?null:{parent:hE._currentValue,pool:e}}var xE=Error(Og(460)),IE=Error(Og(474)),CE=Error(Og(542)),TE={then:function(){}};function _E(e){return"fulfilled"===(e=e.status)||"rejected"===e}function BE(){}function UE(e,t,n){switch(void 0===(n=e[n])?e.push(t):n!==t&&(t.then(BE,BE),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw LE(e=t.reason),e;default:if("string"==typeof t.status)t.then(BE,BE);else{if(null!==(e=DS)&&100<e.shellSuspendCounter)throw Error(Og(482));(e=t).status="pending",e.then(function(e){if("pending"===t.status){var n=t;n.status="fulfilled",n.value=e}},function(e){if("pending"===t.status){var n=t;n.status="rejected",n.reason=e}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw LE(e=t.reason),e}throw ME=t,xE}}var ME=null;function RE(){if(null===ME)throw Error(Og(459));var e=ME;return ME=null,e}function LE(e){if(e===xE||e===CE)throw Error(Og(483))}var NE=!1;function DE(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function PE(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function FE(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function OE(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&NS){var r=i.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=dw(e),hw(e,null,n),t}return lw(e,i,t,n),dw(e)}function zE(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194048&n)){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,Af(e,n)}}function QE(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===a?r=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?r=a=t:a=a.next=t}else r=a=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:a,shared:i.shared,callbacks:i.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var VE=!1;function GE(){if(VE){if(null!==bE)throw bE}}function jE(e,t,n,i){VE=!1;var r=e.updateQueue;NE=!1;var a=r.firstBaseUpdate,s=r.lastBaseUpdate,A=r.shared.pending;if(null!==A){r.shared.pending=null;var o=A,l=o.next;o.next=null,null===s?a=l:s.next=l,s=o;var c=e.alternate;null!==c&&((A=(c=c.updateQueue).lastBaseUpdate)!==s&&(null===A?c.firstBaseUpdate=l:A.next=l,c.lastBaseUpdate=o))}if(null!==a){var u=r.baseState;for(s=0,c=l=o=null,A=a;;){var h=-536870913&A.lane,d=h!==A.lane;if(d?(FS&h)===h:(i&h)===h){0!==h&&h===mE&&(VE=!0),null!==c&&(c=c.next={lane:0,tag:A.tag,payload:A.payload,callback:null,next:null});e:{var g=e,p=A;h=t;var f=n;switch(p.tag){case 1:if("function"==typeof(g=p.payload)){u=g.call(f,u,h);break e}u=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(h="function"==typeof(g=p.payload)?g.call(f,u,h):g))break e;u=Yg({},u,h);break e;case 2:NE=!0}}null!==(h=A.callback)&&(e.flags|=64,d&&(e.flags|=8192),null===(d=r.callbacks)?r.callbacks=[h]:d.push(h))}else d={lane:h,tag:A.tag,payload:A.payload,callback:A.callback,next:null},null===c?(l=c=d,o=u):c=c.next=d,s|=h;if(null===(A=A.next)){if(null===(A=r.shared.pending))break;A=(d=A).next,d.next=null,r.lastBaseUpdate=d,r.shared.pending=null}}null===c&&(o=u),r.baseState=o,r.firstBaseUpdate=l,r.lastBaseUpdate=c,null===a&&(r.shared.lanes=0),KS|=s,e.lanes=s,e.memoizedState=u}}function YE(e,t){if("function"!=typeof e)throw Error(Og(191,e));e.call(t)}function KE(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e<n.length;e++)YE(n[e],t)}var qE=bp(null),HE=bp(0);function JE(e,t){Ep(HE,e=jS),Ep(qE,t),jS=e|t.baseLanes}function WE(){Ep(HE,jS),Ep(qE,qE.current)}function XE(){jS=HE.current,wp(qE),wp(HE)}var ZE=0,$E=null,ey=null,ty=null,ny=!1,iy=!1,ry=!1,ay=0,sy=0,Ay=null,oy=0;function ly(){throw Error(Og(321))}function cy(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!_b(e[n],t[n]))return!1;return!0}function uy(e,t,n,i,r,a){return ZE=a,$E=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,dp.H=null===e||null===e.memoizedState?xv:Iv,ry=!1,a=n(i,r),ry=!1,iy&&(a=dy(t,n,i,r)),hy(e),a}function hy(e){dp.H=Sv;var t=null!==ey&&null!==ey.next;if(ZE=0,ty=ey=$E=null,ny=!1,sy=0,Ay=null,t)throw Error(Og(300));null===e||sk||null!==(e=e.dependencies)&&rE(e)&&(sk=!0)}function dy(e,t,n,i){$E=e;var r=0;do{if(iy&&(Ay=null),sy=0,iy=!1,25<=r)throw Error(Og(301));if(r+=1,ty=ey=null,null!=e.updateQueue){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,null!=a.memoCache&&(a.memoCache.index=0)}dp.H=Cv,a=t(n,i)}while(iy);return a}function gy(){var e=dp.H,t=e.useState()[0];return t="function"==typeof t.then?Ey(t):t,e=e.useState()[0],(null!==ey?ey.memoizedState:null)!==e&&($E.flags|=1024),t}function py(){var e=0!==ay;return ay=0,e}function fy(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function my(e){if(ny){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}ny=!1}ZE=0,ty=ey=$E=null,iy=!1,sy=ay=0,Ay=null}function by(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ty?$E.memoizedState=ty=e:ty=ty.next=e,ty}function wy(){if(null===ey){var e=$E.alternate;e=null!==e?e.memoizedState:null}else e=ey.next;var t=null===ty?$E.memoizedState:ty.next;if(null!==t)ty=t,ey=e;else{if(null===e){if(null===$E.alternate)throw Error(Og(467));throw Error(Og(310))}e={memoizedState:(ey=e).memoizedState,baseState:ey.baseState,baseQueue:ey.baseQueue,queue:ey.queue,next:null},null===ty?$E.memoizedState=ty=e:ty=ty.next=e}return ty}function Ey(e){var t=sy;return sy+=1,null===Ay&&(Ay=[]),e=UE(Ay,e,t),t=$E,null===(null===ty?t.memoizedState:ty.next)&&(t=t.alternate,dp.H=null===t||null===t.memoizedState?xv:Iv),e}function yy(e){if(null!==e&&"object"==typeof e){if("function"==typeof e.then)return Ey(e);if(e.$$typeof===ep)return sE(e)}throw Error(Og(438,String(e)))}function vy(e){var t=null,n=$E.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var i=$E.alternate;null!==i&&(null!==(i=i.updateQueue)&&(null!=(i=i.memoCache)&&(t={data:i.data.map(function(e){return e.slice()}),index:0})))}if(null==t&&(t={data:[],index:0}),null===n&&(n={lastEffect:null,events:null,stores:null,memoCache:null},$E.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index]))for(n=t.data[t.index]=Array(e),i=0;i<e;i++)n[i]=Ap;return t.index++,n}function ky(e,t){return"function"==typeof t?t(e):t}function Sy(e){return xy(wy(),ey,e)}function xy(e,t,n){var i=e.queue;if(null===i)throw Error(Og(311));i.lastRenderedReducer=n;var r=e.baseQueue,a=i.pending;if(null!==a){if(null!==r){var s=r.next;r.next=a.next,a.next=s}t.baseQueue=r=a,i.pending=null}if(a=e.baseState,null===r)e.memoizedState=a;else{var A=s=null,o=null,l=t=r.next,c=!1;do{var u=-536870913&l.lane;if(u!==l.lane?(FS&u)===u:(ZE&u)===u){var h=l.revertLane;if(0===h)null!==o&&(o=o.next={lane:0,revertLane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),u===mE&&(c=!0);else{if((ZE&h)===h){l=l.next,h===mE&&(c=!0);continue}u={lane:0,revertLane:l.revertLane,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},null===o?(A=o=u,s=a):o=o.next=u,$E.lanes|=h,KS|=h}u=l.action,ry&&n(a,u),a=l.hasEagerState?l.eagerState:n(a,u)}else h={lane:u,revertLane:l.revertLane,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null},null===o?(A=o=h,s=a):o=o.next=h,$E.lanes|=u,KS|=u;l=l.next}while(null!==l&&l!==t);if(null===o?s=a:o.next=A,!_b(a,e.memoizedState)&&(sk=!0,c&&null!==(n=bE)))throw n;e.memoizedState=a,e.baseState=s,e.baseQueue=o,i.lastRenderedState=a}return null===r&&(i.lanes=0),[e.memoizedState,i.dispatch]}function Iy(e){var t=wy(),n=t.queue;if(null===n)throw Error(Og(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,a=t.memoizedState;if(null!==r){n.pending=null;var s=r=r.next;do{a=e(a,s.action),s=s.next}while(s!==r);_b(a,t.memoizedState)||(sk=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,i]}function Cy(e,t,n){var i=$E,r=wy(),a=Ow;if(a){if(void 0===n)throw Error(Og(407));n=n()}else n=t();var s=!_b((ey||r).memoizedState,n);if(s&&(r.memoizedState=n,sk=!0),r=r.queue,Wy(2048,8,By.bind(null,i,r,e),[e]),r.getSnapshot!==t||s||null!==ty&&1&ty.memoizedState.tag){if(i.flags|=2048,qy(9,{destroy:void 0,resource:void 0},_y.bind(null,i,r,n,t),null),null===DS)throw Error(Og(349));a||124&ZE||Ty(i,t,n)}return n}function Ty(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=$E.updateQueue)?(t={lastEffect:null,events:null,stores:null,memoCache:null},$E.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function _y(e,t,n,i){t.value=n,t.getSnapshot=i,Uy(t)&&My(e)}function By(e,t,n){return n(function(){Uy(t)&&My(e)})}function Uy(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!_b(e,n)}catch(e){return!0}}function My(e){var t=uw(e,2);null!==t&&px(t,e,2)}function Ry(e){var t=by();if("function"==typeof e){var n=e;if(e=n(),ry){Yp(!0);try{n()}finally{Yp(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ky,lastRenderedState:e},t}function Ly(e,t,n,i){return e.baseState=n,xy(e,ey,"function"==typeof i?i:ky)}function Ny(e,t,n,i,r){if(yv(e))throw Error(Og(485));if(null!==(e=t.action)){var a={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};null!==dp.T?n(!0):a.isTransition=!1,i(a),null===(n=t.pending)?(a.next=t.pending=a,Dy(t,a)):(a.next=n.next,t.pending=n.next=a)}}function Dy(e,t){var n=t.action,i=t.payload,r=e.state;if(t.isTransition){var a=dp.T,s={};dp.T=s;try{var A=n(r,i),o=dp.S;null!==o&&o(s,A),Py(e,t,A)}catch(n){Oy(e,t,n)}finally{dp.T=a}}else try{Py(e,t,a=n(r,i))}catch(n){Oy(e,t,n)}}function Py(e,t,n){null!==n&&"object"==typeof n&&"function"==typeof n.then?n.then(function(n){Fy(e,t,n)},function(n){return Oy(e,t,n)}):Fy(e,t,n)}function Fy(e,t,n){t.status="fulfilled",t.value=n,zy(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,Dy(e,n)))}function Oy(e,t,n){var i=e.pending;if(e.pending=null,null!==i){i=i.next;do{t.status="rejected",t.reason=n,zy(t),t=t.next}while(t!==i)}e.action=null}function zy(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Qy(e,t){return t}function Vy(e,t){if(Ow){var n=DS.formState;if(null!==n){e:{var i=$E;if(Ow){if(Fw){t:{for(var r=Fw,a=Qw;8!==r.nodeType;){if(!a){r=null;break t}if(null===(r=WI(r.nextSibling))){r=null;break t}}r="F!"===(a=r.data)||"F"===a?r:null}if(r){Fw=WI(r.nextSibling),i="F!"===r.data;break e}}Gw(i)}i=!1}i&&(t=n[0])}}return(n=by()).memoizedState=n.baseState=t,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qy,lastRenderedState:t},n.queue=i,n=bv.bind(null,$E,i),i.dispatch=n,i=Ry(!1),a=Ev.bind(null,$E,!1,i.queue),r={state:t,dispatch:null,action:e,pending:null},(i=by()).queue=r,n=Ny.bind(null,$E,r,a,n),r.dispatch=n,i.memoizedState=e,[t,n,!1]}function Gy(e){return jy(wy(),ey,e)}function jy(e,t,n){if(t=xy(e,t,Qy)[0],e=Sy(ky)[0],"object"==typeof t&&null!==t&&"function"==typeof t.then)try{var i=Ey(t)}catch(e){if(e===xE)throw CE;throw e}else i=t;var r=(t=wy()).queue,a=r.dispatch;return n!==t.memoizedState&&($E.flags|=2048,qy(9,{destroy:void 0,resource:void 0},Yy.bind(null,r,n),null)),[i,a,e]}function Yy(e,t){e.action=t}function Ky(e){var t=wy(),n=ey;if(null!==n)return jy(t,n,e);wy(),t=t.memoizedState;var i=(n=wy()).queue.dispatch;return n.memoizedState=e,[t,i,!1]}function qy(e,t,n,i){return e={tag:e,create:n,deps:i,inst:t,next:null},null===(t=$E.updateQueue)&&(t={lastEffect:null,events:null,stores:null,memoCache:null},$E.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function Hy(){return wy().memoizedState}function Jy(e,t,n,i){var r=by();i=void 0===i?null:i,$E.flags|=e,r.memoizedState=qy(1|t,{destroy:void 0,resource:void 0},n,i)}function Wy(e,t,n,i){var r=wy();i=void 0===i?null:i;var a=r.memoizedState.inst;null!==ey&&null!==i&&cy(i,ey.memoizedState.deps)?r.memoizedState=qy(t,a,n,i):($E.flags|=e,r.memoizedState=qy(1|t,a,n,i))}function Xy(e,t){Jy(8390656,8,e,t)}function Zy(e,t){Wy(2048,8,e,t)}function $y(e,t){return Wy(4,2,e,t)}function ev(e,t){return Wy(4,4,e,t)}function tv(e,t){if("function"==typeof t){e=e();var n=t(e);return function(){"function"==typeof n?n():t(null)}}if(null!=t)return e=e(),t.current=e,function(){t.current=null}}function nv(e,t,n){n=null!=n?n.concat([e]):null,Wy(4,4,tv.bind(null,t,e),n)}function iv(){}function rv(e,t){var n=wy();t=void 0===t?null:t;var i=n.memoizedState;return null!==t&&cy(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function av(e,t){var n=wy();t=void 0===t?null:t;var i=n.memoizedState;if(null!==t&&cy(t,i[1]))return i[0];if(i=e(),ry){Yp(!0);try{e()}finally{Yp(!1)}}return n.memoizedState=[i,t],i}function sv(e,t,n){return void 0===n||1073741824&ZE?e.memoizedState=t:(e.memoizedState=n,e=gx(),$E.lanes|=e,KS|=e,n)}function Av(e,t,n,i){return _b(n,t)?n:null!==qE.current?(e=sv(e,n,i),_b(e,t)||(sk=!0),e):42&ZE?(e=gx(),$E.lanes|=e,KS|=e,t):(sk=!0,e.memoizedState=n)}function ov(e,t,n,i,r){var a=gp.p;gp.p=0!==a&&8>a?a:8;var s,A,o,l=dp.T,c={};dp.T=c,Ev(e,!1,t,n);try{var u=r(),h=dp.S;if(null!==h&&h(c,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var d=(s=i,A=[],o={status:"pending",value:null,reason:null,then:function(e){A.push(e)}},u.then(function(){o.status="fulfilled",o.value=s;for(var e=0;e<A.length;e++)(0,A[e])(s)},function(e){for(o.status="rejected",o.reason=e,e=0;e<A.length;e++)(0,A[e])(void 0)}),o);wv(e,t,d,dx())}else wv(e,t,i,dx())}catch(n){wv(e,t,{then:function(){},status:"rejected",reason:n},dx())}finally{gp.p=a,dp.T=l}}function lv(){}function cv(e,t,n,i){if(5!==e.tag)throw Error(Og(476));var r=uv(e).queue;ov(e,r,t,pp,null===n?lv:function(){return hv(e),n(i)})}function uv(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:pp,baseState:pp,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ky,lastRenderedState:pp},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ky,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function hv(e){wv(e,uv(e).next.queue,{},dx())}function dv(){return sE(CC)}function gv(){return wy().memoizedState}function pv(){return wy().memoizedState}function fv(e){for(var t=e.return;null!==t;){switch(t.tag){case 24:case 3:var n=dx(),i=OE(t,e=FE(n),n);return null!==i&&(px(i,t,n),zE(i,t,n)),t={cache:dE()},void(e.payload=t)}t=t.return}}function mv(e,t,n){var i=dx();n={lane:i,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null},yv(e)?vv(t,n):null!==(n=cw(e,t,n,i))&&(px(n,e,i),kv(n,t,i))}function bv(e,t,n){wv(e,t,n,dx())}function wv(e,t,n,i){var r={lane:i,revertLane:0,action:n,hasEagerState:!1,eagerState:null,next:null};if(yv(e))vv(t,r);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,A=a(s,n);if(r.hasEagerState=!0,r.eagerState=A,_b(A,s))return lw(e,t,r,0),null===DS&&ow(),!1}catch(e){}if(null!==(n=cw(e,t,r,i)))return px(n,e,i),kv(n,t,i),!0}return!1}function Ev(e,t,n,i){if(i={lane:2,revertLane:oI(),action:i,hasEagerState:!1,eagerState:null,next:null},yv(e)){if(t)throw Error(Og(479))}else null!==(t=cw(e,n,i,2))&&px(t,e,2)}function yv(e){var t=e.alternate;return e===$E||null!==t&&t===$E}function vv(e,t){iy=ny=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kv(e,t,n){if(4194048&n){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,Af(e,n)}}var Sv={readContext:sE,use:yy,useCallback:ly,useContext:ly,useEffect:ly,useImperativeHandle:ly,useLayoutEffect:ly,useInsertionEffect:ly,useMemo:ly,useReducer:ly,useRef:ly,useState:ly,useDebugValue:ly,useDeferredValue:ly,useTransition:ly,useSyncExternalStore:ly,useId:ly,useHostTransitionStatus:ly,useFormState:ly,useActionState:ly,useOptimistic:ly,useMemoCache:ly,useCacheRefresh:ly},xv={readContext:sE,use:yy,useCallback:function(e,t){return by().memoizedState=[e,void 0===t?null:t],e},useContext:sE,useEffect:Xy,useImperativeHandle:function(e,t,n){n=null!=n?n.concat([e]):null,Jy(4194308,4,tv.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Jy(4194308,4,e,t)},useInsertionEffect:function(e,t){Jy(4,2,e,t)},useMemo:function(e,t){var n=by();t=void 0===t?null:t;var i=e();if(ry){Yp(!0);try{e()}finally{Yp(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=by();if(void 0!==n){var r=n(t);if(ry){Yp(!0);try{n(t)}finally{Yp(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=mv.bind(null,$E,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},by().memoizedState=e},useState:function(e){var t=(e=Ry(e)).queue,n=bv.bind(null,$E,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:iv,useDeferredValue:function(e,t){return sv(by(),e,t)},useTransition:function(){var e=Ry(!1);return e=ov.bind(null,$E,e.queue,!0,!1),by().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=$E,r=by();if(Ow){if(void 0===n)throw Error(Og(407));n=n()}else{if(n=t(),null===DS)throw Error(Og(349));124&FS||Ty(i,t,n)}r.memoizedState=n;var a={value:n,getSnapshot:t};return r.queue=a,Xy(By.bind(null,i,a,e),[e]),i.flags|=2048,qy(9,{destroy:void 0,resource:void 0},_y.bind(null,i,a,n,t),null),n},useId:function(){var e=by(),t=DS.identifierPrefix;if(Ow){var n=Mw;t="«"+t+"R"+(n=(Uw&~(1<<32-Kp(Uw)-1)).toString(32)+n),0<(n=ay++)&&(t+="H"+n.toString(32)),t+="»"}else t="«"+t+"r"+(n=oy++).toString(32)+"»";return e.memoizedState=t},useHostTransitionStatus:dv,useFormState:Vy,useActionState:Vy,useOptimistic:function(e){var t=by();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ev.bind(null,$E,!0,n),n.dispatch=t,[e,t]},useMemoCache:vy,useCacheRefresh:function(){return by().memoizedState=fv.bind(null,$E)}},Iv={readContext:sE,use:yy,useCallback:rv,useContext:sE,useEffect:Zy,useImperativeHandle:nv,useInsertionEffect:$y,useLayoutEffect:ev,useMemo:av,useReducer:Sy,useRef:Hy,useState:function(){return Sy(ky)},useDebugValue:iv,useDeferredValue:function(e,t){return Av(wy(),ey.memoizedState,e,t)},useTransition:function(){var e=Sy(ky)[0],t=wy().memoizedState;return["boolean"==typeof e?e:Ey(e),t]},useSyncExternalStore:Cy,useId:gv,useHostTransitionStatus:dv,useFormState:Gy,useActionState:Gy,useOptimistic:function(e,t){return Ly(wy(),0,e,t)},useMemoCache:vy,useCacheRefresh:pv},Cv={readContext:sE,use:yy,useCallback:rv,useContext:sE,useEffect:Zy,useImperativeHandle:nv,useInsertionEffect:$y,useLayoutEffect:ev,useMemo:av,useReducer:Iy,useRef:Hy,useState:function(){return Iy(ky)},useDebugValue:iv,useDeferredValue:function(e,t){var n=wy();return null===ey?sv(n,e,t):Av(n,ey.memoizedState,e,t)},useTransition:function(){var e=Iy(ky)[0],t=wy().memoizedState;return["boolean"==typeof e?e:Ey(e),t]},useSyncExternalStore:Cy,useId:gv,useHostTransitionStatus:dv,useFormState:Ky,useActionState:Ky,useOptimistic:function(e,t){var n=wy();return null!==ey?Ly(n,0,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:vy,useCacheRefresh:pv},Tv=null,_v=0;function Bv(e){var t=_v;return _v+=1,null===Tv&&(Tv=[]),UE(Tv,e,t)}function Uv(e,t){t=t.props.ref,e.ref=void 0!==t?t:null}function Mv(e,t){if(t.$$typeof===Kg)throw Error(Og(525));throw e=Object.prototype.toString.call(t),Error(Og(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Rv(e){return(0,e._init)(e._payload)}function Lv(e){function t(t,n){if(e){var i=t.deletions;null===i?(t.deletions=[n],t.flags|=16):i.push(n)}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e){for(var t=new Map;null!==e;)null!==e.key?t.set(e.key,e):t.set(e.index,e),e=e.sibling;return t}function r(e,t){return(e=bw(e,t)).index=0,e.sibling=null,e}function a(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags|=67108866,n):i:(t.flags|=67108866,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=67108866),t}function A(e,t,n,i){return null===t||6!==t.tag?((t=vw(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function o(e,t,n,i){var a=n.type;return a===Jg?c(e,t,n.props.children,i,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===ap&&Rv(a)===t.type)?(Uv(t=r(t,n.props),n),t.return=e,t):(Uv(t=Ew(n.type,n.key,n.props,null,e.mode,i),n),t.return=e,t)}function l(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=kw(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function c(e,t,n,i,a){return null===t||7!==t.tag?((t=yw(n,e.mode,i,a)).return=e,t):((t=r(t,n)).return=e,t)}function u(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t||"bigint"==typeof t)return(t=vw(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case qg:return Uv(n=Ew(t.type,t.key,t.props,null,e.mode,n),t),n.return=e,n;case Hg:return(t=kw(t,e.mode,n)).return=e,t;case ap:return u(e,t=(0,t._init)(t._payload),n)}if(hp(t)||lp(t))return(t=yw(t,e.mode,n,null)).return=e,t;if("function"==typeof t.then)return u(e,Bv(t),n);if(t.$$typeof===ep)return u(e,AE(e,t),n);Mv(e,t)}return null}function h(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n||"bigint"==typeof n)return null!==r?null:A(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case qg:return n.key===r?o(e,t,n,i):null;case Hg:return n.key===r?l(e,t,n,i):null;case ap:return h(e,t,n=(r=n._init)(n._payload),i)}if(hp(n)||lp(n))return null!==r?null:c(e,t,n,i,null);if("function"==typeof n.then)return h(e,t,Bv(n),i);if(n.$$typeof===ep)return h(e,t,AE(e,n),i);Mv(e,n)}return null}function d(e,t,n,i,r){if("string"==typeof i&&""!==i||"number"==typeof i||"bigint"==typeof i)return A(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case qg:return o(t,e=e.get(null===i.key?n:i.key)||null,i,r);case Hg:return l(t,e=e.get(null===i.key?n:i.key)||null,i,r);case ap:return d(e,t,n,i=(0,i._init)(i._payload),r)}if(hp(i)||lp(i))return c(t,e=e.get(n)||null,i,r,null);if("function"==typeof i.then)return d(e,t,n,Bv(i),r);if(i.$$typeof===ep)return d(e,t,n,AE(t,i),r);Mv(t,i)}return null}function g(A,o,l,c){if("object"==typeof l&&null!==l&&l.type===Jg&&null===l.key&&(l=l.props.children),"object"==typeof l&&null!==l){switch(l.$$typeof){case qg:e:{for(var p=l.key;null!==o;){if(o.key===p){if((p=l.type)===Jg){if(7===o.tag){n(A,o.sibling),(c=r(o,l.props.children)).return=A,A=c;break e}}else if(o.elementType===p||"object"==typeof p&&null!==p&&p.$$typeof===ap&&Rv(p)===o.type){n(A,o.sibling),Uv(c=r(o,l.props),l),c.return=A,A=c;break e}n(A,o);break}t(A,o),o=o.sibling}l.type===Jg?((c=yw(l.props.children,A.mode,c,l.key)).return=A,A=c):(Uv(c=Ew(l.type,l.key,l.props,null,A.mode,c),l),c.return=A,A=c)}return s(A);case Hg:e:{for(p=l.key;null!==o;){if(o.key===p){if(4===o.tag&&o.stateNode.containerInfo===l.containerInfo&&o.stateNode.implementation===l.implementation){n(A,o.sibling),(c=r(o,l.children||[])).return=A,A=c;break e}n(A,o);break}t(A,o),o=o.sibling}(c=kw(l,A.mode,c)).return=A,A=c}return s(A);case ap:return g(A,o,l=(p=l._init)(l._payload),c)}if(hp(l))return function(r,s,A,o){for(var l=null,c=null,g=s,p=s=0,f=null;null!==g&&p<A.length;p++){g.index>p?(f=g,g=null):f=g.sibling;var m=h(r,g,A[p],o);if(null===m){null===g&&(g=f);break}e&&g&&null===m.alternate&&t(r,g),s=a(m,s,p),null===c?l=m:c.sibling=m,c=m,g=f}if(p===A.length)return n(r,g),Ow&&Rw(r,p),l;if(null===g){for(;p<A.length;p++)null!==(g=u(r,A[p],o))&&(s=a(g,s,p),null===c?l=g:c.sibling=g,c=g);return Ow&&Rw(r,p),l}for(g=i(g);p<A.length;p++)null!==(f=d(g,r,p,A[p],o))&&(e&&null!==f.alternate&&g.delete(null===f.key?p:f.key),s=a(f,s,p),null===c?l=f:c.sibling=f,c=f);return e&&g.forEach(function(e){return t(r,e)}),Ow&&Rw(r,p),l}(A,o,l,c);if(lp(l)){if("function"!=typeof(p=lp(l)))throw Error(Og(150));return function(r,s,A,o){if(null==A)throw Error(Og(151));for(var l=null,c=null,g=s,p=s=0,f=null,m=A.next();null!==g&&!m.done;p++,m=A.next()){g.index>p?(f=g,g=null):f=g.sibling;var b=h(r,g,m.value,o);if(null===b){null===g&&(g=f);break}e&&g&&null===b.alternate&&t(r,g),s=a(b,s,p),null===c?l=b:c.sibling=b,c=b,g=f}if(m.done)return n(r,g),Ow&&Rw(r,p),l;if(null===g){for(;!m.done;p++,m=A.next())null!==(m=u(r,m.value,o))&&(s=a(m,s,p),null===c?l=m:c.sibling=m,c=m);return Ow&&Rw(r,p),l}for(g=i(g);!m.done;p++,m=A.next())null!==(m=d(g,r,p,m.value,o))&&(e&&null!==m.alternate&&g.delete(null===m.key?p:m.key),s=a(m,s,p),null===c?l=m:c.sibling=m,c=m);return e&&g.forEach(function(e){return t(r,e)}),Ow&&Rw(r,p),l}(A,o,l=p.call(l),c)}if("function"==typeof l.then)return g(A,o,Bv(l),c);if(l.$$typeof===ep)return g(A,o,AE(A,l),c);Mv(A,l)}return"string"==typeof l&&""!==l||"number"==typeof l||"bigint"==typeof l?(l=""+l,null!==o&&6===o.tag?(n(A,o.sibling),(c=r(o,l)).return=A,A=c):(n(A,o),(c=vw(l,A.mode,c)).return=A,A=c),s(A)):n(A,o)}return function(e,t,n,i){try{_v=0;var r=g(e,t,n,i);return Tv=null,r}catch(t){if(t===xE||t===CE)throw t;var a=fw(29,t,null,e.mode);return a.lanes=i,a.return=e,a}}}var Nv=Lv(!0),Dv=Lv(!1),Pv=bp(null),Fv=null;function Ov(e){var t=e.alternate;Ep(Gv,1&Gv.current),Ep(Pv,e),null===Fv&&(null===t||null!==qE.current||null!==t.memoizedState)&&(Fv=e)}function zv(e){if(22===e.tag){if(Ep(Gv,Gv.current),Ep(Pv,e),null===Fv){var t=e.alternate;null!==t&&null!==t.memoizedState&&(Fv=e)}}else Qv()}function Qv(){Ep(Gv,Gv.current),Ep(Pv,Pv.current)}function Vv(e){wp(Pv),Fv===e&&(Fv=null),wp(Gv)}var Gv=bp(0);function jv(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||JI(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Yv(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:Yg({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Kv={enqueueSetState:function(e,t,n){e=e._reactInternals;var i=dx(),r=FE(i);r.payload=t,null!=n&&(r.callback=n),null!==(t=OE(e,r,i))&&(px(t,e,i),zE(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=dx(),r=FE(i);r.tag=1,r.payload=t,null!=n&&(r.callback=n),null!==(t=OE(e,r,i))&&(px(t,e,i),zE(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=dx(),i=FE(n);i.tag=2,null!=t&&(i.callback=t),null!==(t=OE(e,i,n))&&(px(t,e,n),zE(t,e,n))}};function qv(e,t,n,i,r,a,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,a,s):!t.prototype||!t.prototype.isPureReactComponent||(!Bb(n,i)||!Bb(r,a))}function Hv(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&Kv.enqueueReplaceState(t,t.state,null)}function Jv(e,t){var n=t;if("ref"in t)for(var i in n={},t)"ref"!==i&&(n[i]=t[i]);if(e=e.defaultProps)for(var r in n===t&&(n=Yg({},n)),e)void 0===n[r]&&(n[r]=e[r]);return n}var Wv="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)};function Xv(e){Wv(e)}function Zv(e){console.error(e)}function $v(e){Wv(e)}function ek(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function tk(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function nk(e,t,n){return(n=FE(n)).tag=3,n.payload={element:null},n.callback=function(){ek(e,t)},n}function ik(e){return(e=FE(e)).tag=3,e}function rk(e,t,n,i){var r=n.type.getDerivedStateFromError;if("function"==typeof r){var a=i.value;e.payload=function(){return r(a)},e.callback=function(){tk(t,n,i)}}var s=n.stateNode;null!==s&&"function"==typeof s.componentDidCatch&&(e.callback=function(){tk(t,n,i),"function"!=typeof r&&(null===ix?ix=new Set([this]):ix.add(this));var e=i.stack;this.componentDidCatch(i.value,{componentStack:null!==e?e:""})})}var ak=Error(Og(461)),sk=!1;function Ak(e,t,n,i){t.child=null===e?Dv(t,null,n,i):Nv(t,e.child,n,i)}function ok(e,t,n,i,r){n=n.render;var a=t.ref;if("ref"in i){var s={};for(var A in i)"ref"!==A&&(s[A]=i[A])}else s=i;return aE(t),i=uy(e,t,n,s,a,r),A=py(),null===e||sk?(Ow&&A&&Nw(t),t.flags|=1,Ak(e,t,i,r),t.child):(fy(e,t,r),Tk(e,t,r))}function lk(e,t,n,i,r){if(null===e){var a=n.type;return"function"!=typeof a||mw(a)||void 0!==a.defaultProps||null!==n.compare?((e=Ew(n.type,null,i,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,ck(e,t,a,i,r))}if(a=e.child,!_k(e,r)){var s=a.memoizedProps;if((n=null!==(n=n.compare)?n:Bb)(s,i)&&e.ref===t.ref)return Tk(e,t,r)}return t.flags|=1,(e=bw(a,i)).ref=t.ref,e.return=t,t.child=e}function ck(e,t,n,i,r){if(null!==e){var a=e.memoizedProps;if(Bb(a,i)&&e.ref===t.ref){if(sk=!1,t.pendingProps=i=a,!_k(e,r))return t.lanes=e.lanes,Tk(e,t,r);131072&e.flags&&(sk=!0)}}return gk(e,t,n,i,r)}function uk(e,t,n){var i=t.pendingProps,r=i.children,a=null!==e?e.memoizedState:null;if("hidden"===i.mode){if(128&t.flags){if(i=null!==a?a.baseLanes|n:n,null!==e){for(r=t.child=e.child,a=0;null!==r;)a=a|r.lanes|r.childLanes,r=r.sibling;t.childLanes=a&~i}else t.childLanes=0,t.child=null;return hk(e,t,i,n)}if(!(536870912&n))return t.lanes=t.childLanes=536870912,hk(e,t,null!==a?a.baseLanes|n:n,n);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&kE(0,null!==a?a.cachePool:null),null!==a?JE(t,a):WE(),zv(t)}else null!==a?(kE(0,a.cachePool),JE(t,a),Qv(),t.memoizedState=null):(null!==e&&kE(0,null),WE(),Qv());return Ak(e,t,r,n),t.child}function hk(e,t,n,i){var r=vE();return r=null===r?null:{parent:hE._currentValue,pool:r},t.memoizedState={baseLanes:n,cachePool:r},null!==e&&kE(0,null),WE(),zv(t),null!==e&&iE(e,t,i,!0),null}function dk(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!=typeof n&&"object"!=typeof n)throw Error(Og(284));null!==e&&e.ref===n||(t.flags|=4194816)}}function gk(e,t,n,i,r){return aE(t),n=uy(e,t,n,i,void 0,r),i=py(),null===e||sk?(Ow&&i&&Nw(t),t.flags|=1,Ak(e,t,n,r),t.child):(fy(e,t,r),Tk(e,t,r))}function pk(e,t,n,i,r,a){return aE(t),t.updateQueue=null,n=dy(t,i,n,r),hy(e),i=py(),null===e||sk?(Ow&&i&&Nw(t),t.flags|=1,Ak(e,t,n,a),t.child):(fy(e,t,a),Tk(e,t,a))}function fk(e,t,n,i,r){if(aE(t),null===t.stateNode){var a=gw,s=n.contextType;"object"==typeof s&&null!==s&&(a=sE(s)),a=new n(i,a),t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,a.updater=Kv,t.stateNode=a,a._reactInternals=t,(a=t.stateNode).props=i,a.state=t.memoizedState,a.refs={},DE(t),s=n.contextType,a.context="object"==typeof s&&null!==s?sE(s):gw,a.state=t.memoizedState,"function"==typeof(s=n.getDerivedStateFromProps)&&(Yv(t,n,s,i),a.state=t.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(s=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),s!==a.state&&Kv.enqueueReplaceState(a,a.state,null),jE(t,i,a,r),GE(),a.state=t.memoizedState),"function"==typeof a.componentDidMount&&(t.flags|=4194308),i=!0}else if(null===e){a=t.stateNode;var A=t.memoizedProps,o=Jv(n,A);a.props=o;var l=a.context,c=n.contextType;s=gw,"object"==typeof c&&null!==c&&(s=sE(c));var u=n.getDerivedStateFromProps;c="function"==typeof u||"function"==typeof a.getSnapshotBeforeUpdate,A=t.pendingProps!==A,c||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(A||l!==s)&&Hv(t,a,i,s),NE=!1;var h=t.memoizedState;a.state=h,jE(t,i,a,r),GE(),l=t.memoizedState,A||h!==l||NE?("function"==typeof u&&(Yv(t,n,u,i),l=t.memoizedState),(o=NE||qv(t,n,o,i,h,l,s))?(c||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.flags|=4194308)):("function"==typeof a.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=l),a.props=i,a.state=l,a.context=s,i=o):("function"==typeof a.componentDidMount&&(t.flags|=4194308),i=!1)}else{a=t.stateNode,PE(e,t),c=Jv(n,s=t.memoizedProps),a.props=c,u=t.pendingProps,h=a.context,l=n.contextType,o=gw,"object"==typeof l&&null!==l&&(o=sE(l)),(l="function"==typeof(A=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(s!==u||h!==o)&&Hv(t,a,i,o),NE=!1,h=t.memoizedState,a.state=h,jE(t,i,a,r),GE();var d=t.memoizedState;s!==u||h!==d||NE||null!==e&&null!==e.dependencies&&rE(e.dependencies)?("function"==typeof A&&(Yv(t,n,A,i),d=t.memoizedState),(c=NE||qv(t,n,c,i,h,d,o)||null!==e&&null!==e.dependencies&&rE(e.dependencies))?(l||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(i,d,o),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(i,d,o)),"function"==typeof a.componentDidUpdate&&(t.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=d),a.props=i,a.state=d,a.context=o,i=c):("function"!=typeof a.componentDidUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||s===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return a=i,dk(e,t),i=!!(128&t.flags),a||i?(a=t.stateNode,n=i&&"function"!=typeof n.getDerivedStateFromError?null:a.render(),t.flags|=1,null!==e&&i?(t.child=Nv(t,e.child,null,r),t.child=Nv(t,null,n,r)):Ak(e,t,n,r),t.memoizedState=a.state,e=t.child):e=Tk(e,t,r),e}function mk(e,t,n,i){return qw(),t.flags|=256,Ak(e,t,n,i),t.child}var bk={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function wk(e){return{baseLanes:e,cachePool:SE()}}function Ek(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=JS),e}function yk(e,t,n){var i,r=t.pendingProps,a=!1,s=!!(128&t.flags);if((i=s)||(i=(null===e||null!==e.memoizedState)&&!!(2&Gv.current)),i&&(a=!0,t.flags&=-129),i=!!(32&t.flags),t.flags&=-33,null===e){if(Ow){if(a?Ov(t):Qv(),Ow){var A,o=Fw;if(A=o){e:{for(A=o,o=Qw;8!==A.nodeType;){if(!o){o=null;break e}if(null===(A=WI(A.nextSibling))){o=null;break e}}o=A}null!==o?(t.memoizedState={dehydrated:o,treeContext:null!==Bw?{id:Uw,overflow:Mw}:null,retryLane:536870912,hydrationErrors:null},(A=fw(18,null,null,0)).stateNode=o,A.return=t,t.child=A,Pw=t,Fw=null,A=!0):A=!1}A||Gw(t)}if(null!==(o=t.memoizedState)&&null!==(o=o.dehydrated))return JI(o)?t.lanes=32:t.lanes=536870912,null;Vv(t)}return o=r.children,r=r.fallback,a?(Qv(),o=kk({mode:"hidden",children:o},a=t.mode),r=yw(r,a,n,null),o.return=t,r.return=t,o.sibling=r,t.child=o,(a=t.child).memoizedState=wk(n),a.childLanes=Ek(e,i,n),t.memoizedState=bk,r):(Ov(t),vk(t,o))}if(null!==(A=e.memoizedState)&&null!==(o=A.dehydrated)){if(s)256&t.flags?(Ov(t),t.flags&=-257,t=Sk(e,t,n)):null!==t.memoizedState?(Qv(),t.child=e.child,t.flags|=128,t=null):(Qv(),a=r.fallback,o=t.mode,r=kk({mode:"visible",children:r.children},o),(a=yw(a,o,n,null)).flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,Nv(t,e.child,null,n),(r=t.child).memoizedState=wk(n),r.childLanes=Ek(e,i,n),t.memoizedState=bk,t=a);else if(Ov(t),JI(o)){if(i=o.nextSibling&&o.nextSibling.dataset)var l=i.dgst;i=l,(r=Error(Og(419))).stack="",r.digest=i,Jw({value:r,source:null,stack:null}),t=Sk(e,t,n)}else if(sk||iE(e,t,n,!1),i=0!==(n&e.childLanes),sk||i){if(null!==(i=DS)&&(0!==(r=0!==((r=42&(r=n&-n)?1:of(r))&(i.suspendedLanes|n))?0:r)&&r!==A.retryLane))throw A.retryLane=r,uw(e,r),px(i,e,r),ak;"$?"===o.data||Ix(),t=Sk(e,t,n)}else"$?"===o.data?(t.flags|=192,t.child=e.child,t=null):(e=A.treeContext,Fw=WI(o.nextSibling),Pw=t,Ow=!0,zw=null,Qw=!1,null!==e&&(Tw[_w++]=Uw,Tw[_w++]=Mw,Tw[_w++]=Bw,Uw=e.id,Mw=e.overflow,Bw=t),(t=vk(t,r.children)).flags|=4096);return t}return a?(Qv(),a=r.fallback,o=t.mode,l=(A=e.child).sibling,(r=bw(A,{mode:"hidden",children:r.children})).subtreeFlags=65011712&A.subtreeFlags,null!==l?a=bw(l,a):(a=yw(a,o,n,null)).flags|=2,a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,null===(o=e.child.memoizedState)?o=wk(n):(null!==(A=o.cachePool)?(l=hE._currentValue,A=A.parent!==l?{parent:l,pool:l}:A):A=SE(),o={baseLanes:o.baseLanes|n,cachePool:A}),a.memoizedState=o,a.childLanes=Ek(e,i,n),t.memoizedState=bk,r):(Ov(t),e=(n=e.child).sibling,(n=bw(n,{mode:"visible",children:r.children})).return=t,n.sibling=null,null!==e&&(null===(i=t.deletions)?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function vk(e,t){return(t=kk({mode:"visible",children:t},e.mode)).return=e,e.child=t}function kk(e,t){return(e=fw(22,e,null,t)).lanes=0,e.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null},e}function Sk(e,t,n){return Nv(t,e.child,null,n),(e=vk(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function xk(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),tE(e.return,t,n)}function Ik(e,t,n,i,r){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=i,a.tail=n,a.tailMode=r)}function Ck(e,t,n){var i=t.pendingProps,r=i.revealOrder,a=i.tail;if(Ak(e,t,i.children,n),2&(i=Gv.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&xk(e,n,t);else if(19===e.tag)xk(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}switch(Ep(Gv,i),r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===jv(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Ik(t,!1,r,n,a);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===jv(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Ik(t,!0,n,null,a);break;case"together":Ik(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Tk(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),KS|=t.lanes,0===(n&t.childLanes)){if(null===e)return null;if(iE(e,t,n,!1),0===(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(Og(153));if(null!==t.child){for(n=bw(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=bw(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function _k(e,t){return 0!==(e.lanes&t)||!(null===(e=e.dependencies)||!rE(e))}function Bk(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)sk=!0;else{if(!(_k(e,n)||128&t.flags))return sk=!1,function(e,t,n){switch(t.tag){case 3:xp(t,t.stateNode.containerInfo),$w(0,hE,e.memoizedState.cache),qw();break;case 27:case 5:Cp(t);break;case 4:xp(t,t.stateNode.containerInfo);break;case 10:$w(0,t.type,t.memoizedProps.value);break;case 13:var i=t.memoizedState;if(null!==i)return null!==i.dehydrated?(Ov(t),t.flags|=128,null):0!==(n&t.child.childLanes)?yk(e,t,n):(Ov(t),null!==(e=Tk(e,t,n))?e.sibling:null);Ov(t);break;case 19:var r=!!(128&e.flags);if((i=0!==(n&t.childLanes))||(iE(e,t,n,!1),i=0!==(n&t.childLanes)),r){if(i)return Ck(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),Ep(Gv,Gv.current),i)break;return null;case 22:case 23:return t.lanes=0,uk(e,t,n);case 24:$w(0,hE,e.memoizedState.cache)}return Tk(e,t,n)}(e,t,n);sk=!!(131072&e.flags)}else sk=!1,Ow&&1048576&t.flags&&Lw(t,Cw,t.index);switch(t.lanes=0,t.tag){case 16:e:{e=t.pendingProps;var i=t.elementType,r=i._init;if(i=r(i._payload),t.type=i,"function"!=typeof i){if(null!=i){if((r=i.$$typeof)===tp){t.tag=11,t=ok(null,t,i,e,n);break e}if(r===rp){t.tag=14,t=lk(null,t,i,e,n);break e}}throw t=up(i)||i,Error(Og(306,t,""))}mw(i)?(e=Jv(i,e),t.tag=1,t=fk(null,t,i,e,n)):(t.tag=0,t=gk(null,t,i,e,n))}return t;case 0:return gk(e,t,t.type,t.pendingProps,n);case 1:return fk(e,t,i=t.type,r=Jv(i,t.pendingProps),n);case 3:e:{if(xp(t,t.stateNode.containerInfo),null===e)throw Error(Og(387));i=t.pendingProps;var a=t.memoizedState;r=a.element,PE(e,t),jE(t,i,null,n);var s=t.memoizedState;if(i=s.cache,$w(0,hE,i),i!==a.cache&&nE(t,[hE],n,!0),GE(),i=s.element,a.isDehydrated){if(a={element:i,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){t=mk(e,t,i,n);break e}if(i!==r){Jw(r=rw(Error(Og(424)),t)),t=mk(e,t,i,n);break e}if(9===(e=t.stateNode.containerInfo).nodeType)e=e.body;else e="HTML"===e.nodeName?e.ownerDocument.body:e;for(Fw=WI(e.firstChild),Pw=t,Ow=!0,zw=null,Qw=!0,n=Dv(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(qw(),i===r){t=Tk(e,t,n);break e}Ak(e,t,i,n)}t=t.child}return t;case 26:return dk(e,t),null===e?(n=AC(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ow||(n=t.type,e=t.pendingProps,(i=DI(kp.current).createElement(n))[hf]=t,i[df]=e,RI(i,n,e),xf(i),t.stateNode=i):t.memoizedState=AC(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Cp(t),null===e&&Ow&&(i=t.stateNode=$I(t.type,t.pendingProps,kp.current),Pw=t,Qw=!0,r=Fw,KI(t.type)?(XI=r,Fw=WI(i.firstChild)):Fw=r),Ak(e,t,t.pendingProps.children,n),dk(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&Ow&&((r=i=Fw)&&(i=function(e,t,n,i){for(;1===e.nodeType;){var r=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!i&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(i){if(!e[wf])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(a=e.getAttribute("rel"))&&e.hasAttribute("data-precedence"))break;if(a!==r.rel||e.getAttribute("href")!==(null==r.href||""===r.href?null:r.href)||e.getAttribute("crossorigin")!==(null==r.crossOrigin?null:r.crossOrigin)||e.getAttribute("title")!==(null==r.title?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((a=e.getAttribute("src"))!==(null==r.src?null:r.src)||e.getAttribute("type")!==(null==r.type?null:r.type)||e.getAttribute("crossorigin")!==(null==r.crossOrigin?null:r.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var a=null==r.name?null:""+r.name;if("hidden"===r.type&&e.getAttribute("name")===a)return e}if(null===(e=WI(e.nextSibling)))break}return null}(i,t.type,t.pendingProps,Qw),null!==i?(t.stateNode=i,Pw=t,Fw=WI(i.firstChild),Qw=!1,r=!0):r=!1),r||Gw(t)),Cp(t),r=t.type,a=t.pendingProps,s=null!==e?e.memoizedProps:null,i=a.children,OI(r,a)?i=null:null!==s&&OI(r,s)&&(t.flags|=32),null!==t.memoizedState&&(r=uy(e,t,gy,null,null,n),CC._currentValue=r),dk(e,t),Ak(e,t,i,n),t.child;case 6:return null===e&&Ow&&((e=n=Fw)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;){if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n)return null;if(null===(e=WI(e.nextSibling)))return null}return e}(n,t.pendingProps,Qw))?(t.stateNode=n,Pw=t,Fw=null,e=!0):e=!1),e||Gw(t)),null;case 13:return yk(e,t,n);case 4:return xp(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=Nv(t,null,i,n):Ak(e,t,i,n),t.child;case 11:return ok(e,t,t.type,t.pendingProps,n);case 7:return Ak(e,t,t.pendingProps,n),t.child;case 8:case 12:return Ak(e,t,t.pendingProps.children,n),t.child;case 10:return i=t.pendingProps,$w(0,t.type,i.value),Ak(e,t,i.children,n),t.child;case 9:return r=t.type._context,i=t.pendingProps.children,aE(t),i=i(r=sE(r)),t.flags|=1,Ak(e,t,i,n),t.child;case 14:return lk(e,t,t.type,t.pendingProps,n);case 15:return ck(e,t,t.type,t.pendingProps,n);case 19:return Ck(e,t,n);case 31:return i=t.pendingProps,n=t.mode,i={mode:i.mode,children:i.children},null===e?((n=kk(i,n)).ref=t.ref,t.child=n,n.return=t,t=n):((n=bw(e.child,i)).ref=t.ref,t.child=n,n.return=t,t=n),t;case 22:return uk(e,t,n);case 24:return aE(t),i=sE(hE),null===e?(null===(r=vE())&&(r=DS,a=dE(),r.pooledCache=a,a.refCount++,null!==a&&(r.pooledCacheLanes|=n),r=a),t.memoizedState={parent:i,cache:r},DE(t),$w(0,hE,r)):(0!==(e.lanes&n)&&(PE(e,t),jE(t,null,null,n),GE()),r=e.memoizedState,a=t.memoizedState,r.parent!==i?(r={parent:i,cache:i},t.memoizedState=r,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=r),$w(0,hE,i)):(i=a.cache,$w(0,hE,i),i!==r.cache&&nE(t,[hE],n,!0))),Ak(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(Og(156,t.tag))}function Uk(e){e.flags|=4}function Mk(e,t){if("stylesheet"!==t.type||4&t.state.loading)e.flags&=-16777217;else if(e.flags|=16777216,!EC(t)){if(null!==(t=Pv.current)&&((4194048&FS)===FS?null!==Fv:(62914560&FS)!==FS&&!(536870912&FS)||t!==Fv))throw ME=TE,IE;e.flags|=8192}}function Rk(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?nf():536870912,e.lanes|=t,WS|=t)}function Lk(e,t){if(!Ow)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function Nk(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=65011712&r.subtreeFlags,i|=65011712&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Dk(e,t,n){var i=t.pendingProps;switch(Dw(t),t.tag){case 31:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return Nk(t),null;case 3:return n=t.stateNode,i=null,null!==e&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),eE(hE),Ip(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(Kw(t)?Uk(t):null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,Hw())),Nk(t),null;case 26:return n=t.memoizedState,null===e?(Uk(t),null!==n?(Nk(t),Mk(t,n)):(Nk(t),t.flags&=-16777217)):n?n!==e.memoizedState?(Uk(t),Nk(t),Mk(t,n)):(Nk(t),t.flags&=-16777217):(e.memoizedProps!==i&&Uk(t),Nk(t),t.flags&=-16777217),null;case 27:Tp(t),n=kp.current;var r=t.type;if(null!==e&&null!=t.stateNode)e.memoizedProps!==i&&Uk(t);else{if(!i){if(null===t.stateNode)throw Error(Og(166));return Nk(t),null}e=yp.current,Kw(t)?jw(t):(e=$I(r,i,n),t.stateNode=e,Uk(t))}return Nk(t),null;case 5:if(Tp(t),n=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==i&&Uk(t);else{if(!i){if(null===t.stateNode)throw Error(Og(166));return Nk(t),null}if(e=yp.current,Kw(t))jw(t);else{switch(r=DI(kp.current),e){case 1:e=r.createElementNS("http://www.w3.org/2000/svg",n);break;case 2:e=r.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;default:switch(n){case"svg":e=r.createElementNS("http://www.w3.org/2000/svg",n);break;case"math":e=r.createElementNS("http://www.w3.org/1998/Math/MathML",n);break;case"script":(e=r.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof i.is?r.createElement("select",{is:i.is}):r.createElement("select"),i.multiple?e.multiple=!0:i.size&&(e.size=i.size);break;default:e="string"==typeof i.is?r.createElement(n,{is:i.is}):r.createElement(n)}}e[hf]=t,e[df]=i;e:for(r=t.child;null!==r;){if(5===r.tag||6===r.tag)e.appendChild(r.stateNode);else if(4!==r.tag&&27!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;null===r.sibling;){if(null===r.return||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=e;e:switch(RI(e,n,i),n){case"button":case"input":case"select":case"textarea":e=!!i.autoFocus;break e;case"img":e=!0;break e;default:e=!1}e&&Uk(t)}}return Nk(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==i&&Uk(t);else{if("string"!=typeof i&&null===t.stateNode)throw Error(Og(166));if(e=kp.current,Kw(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,null!==(r=Pw))switch(r.tag){case 27:case 5:i=r.memoizedProps}e[hf]=t,(e=!!(e.nodeValue===n||null!==i&&!0===i.suppressHydrationWarning||_I(e.nodeValue,n)))||Gw(t)}else(e=DI(e).createTextNode(i))[hf]=t,t.stateNode=e}return Nk(t),null;case 13:if(i=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(r=Kw(t),null!==i&&null!==i.dehydrated){if(null===e){if(!r)throw Error(Og(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(Og(317));r[hf]=t}else qw(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Nk(t),r=!1}else r=Hw(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return 256&t.flags?(Vv(t),t):(Vv(t),null)}if(Vv(t),128&t.flags)return t.lanes=n,t;if(n=null!==i,e=null!==e&&null!==e.memoizedState,n){r=null,null!==(i=t.child).alternate&&null!==i.alternate.memoizedState&&null!==i.alternate.memoizedState.cachePool&&(r=i.alternate.memoizedState.cachePool.pool);var a=null;null!==i.memoizedState&&null!==i.memoizedState.cachePool&&(a=i.memoizedState.cachePool.pool),a!==r&&(i.flags|=2048)}return n!==e&&n&&(t.child.flags|=8192),Rk(t,t.updateQueue),Nk(t),null;case 4:return Ip(),null===e&&wI(t.stateNode.containerInfo),Nk(t),null;case 10:return eE(t.type),Nk(t),null;case 19:if(wp(Gv),null===(r=t.memoizedState))return Nk(t),null;if(i=!!(128&t.flags),null===(a=r.rendering))if(i)Lk(r,!1);else{if(0!==YS||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(a=jv(e))){for(t.flags|=128,Lk(r,!1),e=a.updateQueue,t.updateQueue=e,Rk(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ww(n,e),n=n.sibling;return Ep(Gv,1&Gv.current|2),t.child}e=e.sibling}null!==r.tail&&Lp()>tx&&(t.flags|=128,i=!0,Lk(r,!1),t.lanes=4194304)}else{if(!i)if(null!==(e=jv(a))){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Rk(t,e),Lk(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate&&!Ow)return Nk(t),null}else 2*Lp()-r.renderingStartTime>tx&&536870912!==n&&(t.flags|=128,i=!0,Lk(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=r.last)?e.sibling=a:t.child=a,r.last=a)}return null!==r.tail?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=Lp(),t.sibling=null,e=Gv.current,Ep(Gv,i?1&e|2:1&e),t):(Nk(t),null);case 22:case 23:return Vv(t),XE(),i=null!==t.memoizedState,null!==e?null!==e.memoizedState!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?!!(536870912&n)&&!(128&t.flags)&&(Nk(t),6&t.subtreeFlags&&(t.flags|=8192)):Nk(t),null!==(n=t.updateQueue)&&Rk(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),i=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),null!==e&&wp(yE),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),eE(hE),Nk(t),null;case 25:case 30:return null}throw Error(Og(156,t.tag))}function Pk(e,t){switch(Dw(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return eE(hE),Ip(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Tp(t),null;case 13:if(Vv(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(Og(340));qw()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return wp(Gv),null;case 4:return Ip(),null;case 10:return eE(t.type),null;case 22:case 23:return Vv(t),XE(),null!==e&&wp(yE),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return eE(hE),null;default:return null}}function Fk(e,t){switch(Dw(t),t.tag){case 3:eE(hE),Ip();break;case 26:case 27:case 5:Tp(t);break;case 4:Ip();break;case 13:Vv(t);break;case 19:wp(Gv);break;case 10:eE(t.type);break;case 22:case 23:Vv(t),XE(),null!==e&&wp(yE);break;case 24:eE(hE)}}function Ok(e,t){try{var n=t.updateQueue,i=null!==n?n.lastEffect:null;if(null!==i){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var a=n.create,s=n.inst;i=a(),s.destroy=i}n=n.next}while(n!==r)}}catch(e){Gx(t,t.return,e)}}function zk(e,t,n){try{var i=t.updateQueue,r=null!==i?i.lastEffect:null;if(null!==r){var a=r.next;i=a;do{if((i.tag&e)===e){var s=i.inst,A=s.destroy;if(void 0!==A){s.destroy=void 0,r=t;var o=n,l=A;try{l()}catch(e){Gx(r,o,e)}}}i=i.next}while(i!==a)}}catch(e){Gx(t,t.return,e)}}function Qk(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{KE(t,n)}catch(t){Gx(e,e.return,t)}}}function Vk(e,t,n){n.props=Jv(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Gx(e,t,n)}}function Gk(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;default:i=e.stateNode}"function"==typeof n?e.refCleanup=n(i):n.current=i}}catch(n){Gx(e,t,n)}}function jk(e,t){var n=e.ref,i=e.refCleanup;if(null!==n)if("function"==typeof i)try{i()}catch(n){Gx(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(n){Gx(e,t,n)}else n.current=null}function Yk(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(t){Gx(e,e.return,t)}}function Kk(e,t,n){try{var i=e.stateNode;!function(e,t,n,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,a=null,s=null,A=null,o=null,l=null,c=null;for(d in n){var u=n[d];if(n.hasOwnProperty(d)&&null!=u)switch(d){case"checked":case"value":break;case"defaultValue":o=u;default:i.hasOwnProperty(d)||UI(e,t,d,null,i,u)}}for(var h in i){var d=i[h];if(u=n[h],i.hasOwnProperty(h)&&(null!=d||null!=u))switch(h){case"type":a=d;break;case"name":r=d;break;case"checked":l=d;break;case"defaultChecked":c=d;break;case"value":s=d;break;case"defaultValue":A=d;break;case"children":case"dangerouslySetInnerHTML":if(null!=d)throw Error(Og(137,t));break;default:d!==u&&UI(e,t,h,d,i,u)}}return void Wf(e,s,A,o,l,c,a,r);case"select":for(a in d=s=A=h=null,n)if(o=n[a],n.hasOwnProperty(a)&&null!=o)switch(a){case"value":break;case"multiple":d=o;default:i.hasOwnProperty(a)||UI(e,t,a,null,i,o)}for(r in i)if(a=i[r],o=n[r],i.hasOwnProperty(r)&&(null!=a||null!=o))switch(r){case"value":h=a;break;case"defaultValue":A=a;break;case"multiple":s=a;default:a!==o&&UI(e,t,r,a,i,o)}return t=A,n=s,i=d,void(null!=h?$f(e,!!n,h,!1):!!i!=!!n&&(null!=t?$f(e,!!n,t,!0):$f(e,!!n,n?[]:"",!1)));case"textarea":for(A in d=h=null,n)if(r=n[A],n.hasOwnProperty(A)&&null!=r&&!i.hasOwnProperty(A))switch(A){case"value":case"children":break;default:UI(e,t,A,null,i,r)}for(s in i)if(r=i[s],a=n[s],i.hasOwnProperty(s)&&(null!=r||null!=a))switch(s){case"value":h=r;break;case"defaultValue":d=r;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=r)throw Error(Og(91));break;default:r!==a&&UI(e,t,s,r,i,a)}return void em(e,h,d);case"option":for(var g in n)if(h=n[g],n.hasOwnProperty(g)&&null!=h&&!i.hasOwnProperty(g))if("selected"===g)e.selected=!1;else UI(e,t,g,null,i,h);for(o in i)if(h=i[o],d=n[o],i.hasOwnProperty(o)&&h!==d&&(null!=h||null!=d))if("selected"===o)e.selected=h&&"function"!=typeof h&&"symbol"!=typeof h;else UI(e,t,o,h,i,d);return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var p in n)h=n[p],n.hasOwnProperty(p)&&null!=h&&!i.hasOwnProperty(p)&&UI(e,t,p,null,i,h);for(l in i)if(h=i[l],d=n[l],i.hasOwnProperty(l)&&h!==d&&(null!=h||null!=d))switch(l){case"children":case"dangerouslySetInnerHTML":if(null!=h)throw Error(Og(137,t));break;default:UI(e,t,l,h,i,d)}return;default:if(sm(t)){for(var f in n)h=n[f],n.hasOwnProperty(f)&&void 0!==h&&!i.hasOwnProperty(f)&&MI(e,t,f,void 0,i,h);for(c in i)h=i[c],d=n[c],!i.hasOwnProperty(c)||h===d||void 0===h&&void 0===d||MI(e,t,c,h,i,d);return}}for(var m in n)h=n[m],n.hasOwnProperty(m)&&null!=h&&!i.hasOwnProperty(m)&&UI(e,t,m,null,i,h);for(u in i)h=i[u],d=n[u],!i.hasOwnProperty(u)||h===d||null==h&&null==d||UI(e,t,u,h,i,d)}(i,e.type,n,t),i[df]=t}catch(t){Gx(e,e.return,t)}}function qk(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&KI(e.type)||4===e.tag}function Hk(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||qk(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&KI(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Jk(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?(9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=BI));else if(4!==i&&(27===i&&KI(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(Jk(e,t,n),e=e.sibling;null!==e;)Jk(e,t,n),e=e.sibling}function Wk(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&(27===i&&KI(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(Wk(e,t,n),e=e.sibling;null!==e;)Wk(e,t,n),e=e.sibling}function Xk(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);RI(t,i,n),t[hf]=e,t[df]=n}catch(t){Gx(e,e.return,t)}}var Zk=!1,$k=!1,eS=!1,tS="function"==typeof WeakSet?WeakSet:Set,nS=null;function iS(e,t,n){var i=n.flags;switch(n.tag){case 0:case 11:case 15:fS(e,n),4&i&&Ok(5,n);break;case 1:if(fS(e,n),4&i)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){Gx(n,n.return,e)}else{var r=Jv(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Gx(n,n.return,e)}}64&i&&Qk(n),512&i&&Gk(n,n.return);break;case 3:if(fS(e,n),64&i&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{KE(e,t)}catch(e){Gx(n,n.return,e)}}break;case 27:null===t&&4&i&&Xk(n);case 26:case 5:fS(e,n),null===t&&4&i&&Yk(n),512&i&&Gk(n,n.return);break;case 12:fS(e,n);break;case 13:fS(e,n),4&i&&lS(e,n),64&i&&(null!==(e=n.memoizedState)&&(null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$?"!==e.data||"complete"===n.readyState)t();else{var i=function(){t(),n.removeEventListener("DOMContentLoaded",i)};n.addEventListener("DOMContentLoaded",i),e._reactRetry=i}}(e,n=qx.bind(null,n))));break;case 22:if(!(i=null!==n.memoizedState||Zk)){t=null!==t&&null!==t.memoizedState||$k,r=Zk;var a=$k;Zk=i,($k=t)&&!a?bS(e,n,!!(8772&n.subtreeFlags)):fS(e,n),Zk=r,$k=a}break;case 30:break;default:fS(e,n)}}function rS(e){var t=e.alternate;null!==t&&(e.alternate=null,rS(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&Ef(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var aS=null,sS=!1;function AS(e,t,n){for(n=n.child;null!==n;)oS(e,t,n),n=n.sibling}function oS(e,t,n){if(jp&&"function"==typeof jp.onCommitFiberUnmount)try{jp.onCommitFiberUnmount(Gp,n)}catch(e){}switch(n.tag){case 26:$k||jk(n,t),AS(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:$k||jk(n,t);var i=aS,r=sS;KI(n.type)&&(aS=n.stateNode,sS=!1),AS(e,t,n),eC(n.stateNode),aS=i,sS=r;break;case 5:$k||jk(n,t);case 6:if(i=aS,r=sS,aS=null,AS(e,t,n),sS=r,null!==(aS=i))if(sS)try{(9===aS.nodeType?aS.body:"HTML"===aS.nodeName?aS.ownerDocument.body:aS).removeChild(n.stateNode)}catch(e){Gx(n,t,e)}else try{aS.removeChild(n.stateNode)}catch(e){Gx(n,t,e)}break;case 18:null!==aS&&(sS?(qI(9===(e=aS).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),sT(e)):qI(aS,n.stateNode));break;case 4:i=aS,r=sS,aS=n.stateNode.containerInfo,sS=!0,AS(e,t,n),aS=i,sS=r;break;case 0:case 11:case 14:case 15:$k||zk(2,n,t),$k||zk(4,n,t),AS(e,t,n);break;case 1:$k||(jk(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount&&Vk(n,t,i)),AS(e,t,n);break;case 21:AS(e,t,n);break;case 22:$k=(i=$k)||null!==n.memoizedState,AS(e,t,n),$k=i;break;default:AS(e,t,n)}}function lS(e,t){if(null===t.memoizedState&&(null!==(e=t.alternate)&&(null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))))try{sT(e)}catch(e){Gx(t,t.return,e)}}function cS(e,t){var n=function(e){switch(e.tag){case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new tS),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new tS),t;default:throw Error(Og(435,e.tag))}}(e);t.forEach(function(t){var i=Hx.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))})}function uS(e,t){var n=t.deletions;if(null!==n)for(var i=0;i<n.length;i++){var r=n[i],a=e,s=t,A=s;e:for(;null!==A;){switch(A.tag){case 27:if(KI(A.type)){aS=A.stateNode,sS=!1;break e}break;case 5:aS=A.stateNode,sS=!1;break e;case 3:case 4:aS=A.stateNode.containerInfo,sS=!0;break e}A=A.return}if(null===aS)throw Error(Og(160));oS(a,s,r),aS=null,sS=!1,null!==(a=r.alternate)&&(a.return=null),r.return=null}if(13878&t.subtreeFlags)for(t=t.child;null!==t;)dS(t,e),t=t.sibling}var hS=null;function dS(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:uS(t,e),gS(e),4&i&&(zk(3,e,e.return),Ok(3,e),zk(5,e,e.return));break;case 1:uS(t,e),gS(e),512&i&&($k||null===n||jk(n,n.return)),64&i&&Zk&&(null!==(e=e.updateQueue)&&(null!==(i=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?i:n.concat(i))));break;case 26:var r=hS;if(uS(t,e),gS(e),512&i&&($k||null===n||jk(n,n.return)),4&i){var a=null!==n?n.memoizedState:null;if(i=e.memoizedState,null===n)if(null===i)if(null===e.stateNode){e:{i=e.type,n=e.memoizedProps,r=r.ownerDocument||r;t:switch(i){case"title":(!(a=r.getElementsByTagName("title")[0])||a[wf]||a[hf]||"http://www.w3.org/2000/svg"===a.namespaceURI||a.hasAttribute("itemprop"))&&(a=r.createElement(i),r.head.insertBefore(a,r.querySelector("head > title"))),RI(a,i,n),a[hf]=e,xf(a),i=a;break e;case"link":var s=bC("link","href",r).get(i+(n.href||""));if(s)for(var A=0;A<s.length;A++)if((a=s[A]).getAttribute("href")===(null==n.href||""===n.href?null:n.href)&&a.getAttribute("rel")===(null==n.rel?null:n.rel)&&a.getAttribute("title")===(null==n.title?null:n.title)&&a.getAttribute("crossorigin")===(null==n.crossOrigin?null:n.crossOrigin)){s.splice(A,1);break t}RI(a=r.createElement(i),i,n),r.head.appendChild(a);break;case"meta":if(s=bC("meta","content",r).get(i+(n.content||"")))for(A=0;A<s.length;A++)if((a=s[A]).getAttribute("content")===(null==n.content?null:""+n.content)&&a.getAttribute("name")===(null==n.name?null:n.name)&&a.getAttribute("property")===(null==n.property?null:n.property)&&a.getAttribute("http-equiv")===(null==n.httpEquiv?null:n.httpEquiv)&&a.getAttribute("charset")===(null==n.charSet?null:n.charSet)){s.splice(A,1);break t}RI(a=r.createElement(i),i,n),r.head.appendChild(a);break;default:throw Error(Og(468,i))}a[hf]=e,xf(a),i=a}e.stateNode=i}else wC(r,e.type,e.stateNode);else e.stateNode=dC(r,i,e.memoizedProps);else a!==i?(null===a?null!==n.stateNode&&(n=n.stateNode).parentNode.removeChild(n):a.count--,null===i?wC(r,e.type,e.stateNode):dC(r,i,e.memoizedProps)):null===i&&null!==e.stateNode&&Kk(e,e.memoizedProps,n.memoizedProps)}break;case 27:uS(t,e),gS(e),512&i&&($k||null===n||jk(n,n.return)),null!==n&&4&i&&Kk(e,e.memoizedProps,n.memoizedProps);break;case 5:if(uS(t,e),gS(e),512&i&&($k||null===n||jk(n,n.return)),32&e.flags){r=e.stateNode;try{nm(r,"")}catch(t){Gx(e,e.return,t)}}4&i&&null!=e.stateNode&&Kk(e,r=e.memoizedProps,null!==n?n.memoizedProps:r),1024&i&&(eS=!0);break;case 6:if(uS(t,e),gS(e),4&i){if(null===e.stateNode)throw Error(Og(162));i=e.memoizedProps,n=e.stateNode;try{n.nodeValue=i}catch(t){Gx(e,e.return,t)}}break;case 3:if(mC=null,r=hS,hS=iC(t.containerInfo),uS(t,e),hS=r,gS(e),4&i&&null!==n&&n.memoizedState.isDehydrated)try{sT(t.containerInfo)}catch(t){Gx(e,e.return,t)}eS&&(eS=!1,pS(e));break;case 4:i=hS,hS=iC(e.stateNode.containerInfo),uS(t,e),gS(e),hS=i;break;case 12:default:uS(t,e),gS(e);break;case 13:uS(t,e),gS(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==n&&null!==n.memoizedState)&&(ex=Lp()),4&i&&(null!==(i=e.updateQueue)&&(e.updateQueue=null,cS(e,i)));break;case 22:r=null!==e.memoizedState;var o=null!==n&&null!==n.memoizedState,l=Zk,c=$k;if(Zk=l||r,$k=c||o,uS(t,e),$k=c,Zk=l,gS(e),8192&i)e:for(t=e.stateNode,t._visibility=r?-2&t._visibility:1|t._visibility,r&&(null===n||o||Zk||$k||mS(e)),n=null,t=e;;){if(5===t.tag||26===t.tag){if(null===n){o=n=t;try{if(a=o.stateNode,r)"function"==typeof(s=a.style).setProperty?s.setProperty("display","none","important"):s.display="none";else{A=o.stateNode;var u=o.memoizedProps.style,h=null!=u&&u.hasOwnProperty("display")?u.display:null;A.style.display=null==h||"boolean"==typeof h?"":(""+h).trim()}}catch(e){Gx(o,o.return,e)}}}else if(6===t.tag){if(null===n){o=t;try{o.stateNode.nodeValue=r?"":o.memoizedProps}catch(e){Gx(o,o.return,e)}}}else if((22!==t.tag&&23!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;null===t.sibling;){if(null===t.return||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}4&i&&(null!==(i=e.updateQueue)&&(null!==(n=i.retryQueue)&&(i.retryQueue=null,cS(e,n))));break;case 19:uS(t,e),gS(e),4&i&&(null!==(i=e.updateQueue)&&(e.updateQueue=null,cS(e,i)));case 30:case 21:}}function gS(e){var t=e.flags;if(2&t){try{for(var n,i=e.return;null!==i;){if(qk(i)){n=i;break}i=i.return}if(null==n)throw Error(Og(160));switch(n.tag){case 27:var r=n.stateNode;Wk(e,Hk(e),r);break;case 5:var a=n.stateNode;32&n.flags&&(nm(a,""),n.flags&=-33),Wk(e,Hk(e),a);break;case 3:case 4:var s=n.stateNode.containerInfo;Jk(e,Hk(e),s);break;default:throw Error(Og(161))}}catch(t){Gx(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function pS(e){if(1024&e.subtreeFlags)for(e=e.child;null!==e;){var t=e;pS(t),5===t.tag&&1024&t.flags&&t.stateNode.reset(),e=e.sibling}}function fS(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)iS(e,t.alternate,t),t=t.sibling}function mS(e){for(e=e.child;null!==e;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:zk(4,t,t.return),mS(t);break;case 1:jk(t,t.return);var n=t.stateNode;"function"==typeof n.componentWillUnmount&&Vk(t,t.return,n),mS(t);break;case 27:eC(t.stateNode);case 26:case 5:jk(t,t.return),mS(t);break;case 22:null===t.memoizedState&&mS(t);break;default:mS(t)}e=e.sibling}}function bS(e,t,n){for(n=n&&!!(8772&t.subtreeFlags),t=t.child;null!==t;){var i=t.alternate,r=e,a=t,s=a.flags;switch(a.tag){case 0:case 11:case 15:bS(r,a,n),Ok(4,a);break;case 1:if(bS(r,a,n),"function"==typeof(r=(i=a).stateNode).componentDidMount)try{r.componentDidMount()}catch(e){Gx(i,i.return,e)}if(null!==(r=(i=a).updateQueue)){var A=i.stateNode;try{var o=r.shared.hiddenCallbacks;if(null!==o)for(r.shared.hiddenCallbacks=null,r=0;r<o.length;r++)YE(o[r],A)}catch(e){Gx(i,i.return,e)}}n&&64&s&&Qk(a),Gk(a,a.return);break;case 27:Xk(a);case 26:case 5:bS(r,a,n),n&&null===i&&4&s&&Yk(a),Gk(a,a.return);break;case 12:bS(r,a,n);break;case 13:bS(r,a,n),n&&4&s&&lS(r,a);break;case 22:null===a.memoizedState&&bS(r,a,n),Gk(a,a.return);break;case 30:break;default:bS(r,a,n)}t=t.sibling}}function wS(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&e.refCount++,null!=n&&gE(n))}function ES(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&gE(e))}function yS(e,t,n,i){if(10256&t.subtreeFlags)for(t=t.child;null!==t;)vS(e,t,n,i),t=t.sibling}function vS(e,t,n,i){var r=t.flags;switch(t.tag){case 0:case 11:case 15:yS(e,t,n,i),2048&r&&Ok(9,t);break;case 1:case 13:default:yS(e,t,n,i);break;case 3:yS(e,t,n,i),2048&r&&(e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&gE(e)));break;case 12:if(2048&r){yS(e,t,n,i),e=t.stateNode;try{var a=t.memoizedProps,s=a.id,A=a.onPostCommit;"function"==typeof A&&A(s,null===t.alternate?"mount":"update",e.passiveEffectDuration,-0)}catch(e){Gx(t,t.return,e)}}else yS(e,t,n,i);break;case 23:break;case 22:a=t.stateNode,s=t.alternate,null!==t.memoizedState?2&a._visibility?yS(e,t,n,i):SS(e,t):2&a._visibility?yS(e,t,n,i):(a._visibility|=2,kS(e,t,n,i,!!(10256&t.subtreeFlags))),2048&r&&wS(s,t);break;case 24:yS(e,t,n,i),2048&r&&ES(t.alternate,t)}}function kS(e,t,n,i,r){for(r=r&&!!(10256&t.subtreeFlags),t=t.child;null!==t;){var a=e,s=t,A=n,o=i,l=s.flags;switch(s.tag){case 0:case 11:case 15:kS(a,s,A,o,r),Ok(8,s);break;case 23:break;case 22:var c=s.stateNode;null!==s.memoizedState?2&c._visibility?kS(a,s,A,o,r):SS(a,s):(c._visibility|=2,kS(a,s,A,o,r)),r&&2048&l&&wS(s.alternate,s);break;case 24:kS(a,s,A,o,r),r&&2048&l&&ES(s.alternate,s);break;default:kS(a,s,A,o,r)}t=t.sibling}}function SS(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=e,i=t,r=i.flags;switch(i.tag){case 22:SS(n,i),2048&r&&wS(i.alternate,i);break;case 24:SS(n,i),2048&r&&ES(i.alternate,i);break;default:SS(n,i)}t=t.sibling}}var xS=8192;function IS(e){if(e.subtreeFlags&xS)for(e=e.child;null!==e;)CS(e),e=e.sibling}function CS(e){switch(e.tag){case 26:IS(e),e.flags&xS&&null!==e.memoizedState&&function(e,t,n){if(null===yC)throw Error(Og(475));var i=yC;if(!("stylesheet"!==t.type||"string"==typeof n.media&&!1===matchMedia(n.media).matches||4&t.state.loading)){if(null===t.instance){var r=oC(n.href),a=e.querySelector(lC(r));if(a)return null!==(e=a._p)&&"object"==typeof e&&"function"==typeof e.then&&(i.count++,i=kC.bind(i),e.then(i,i)),t.state.loading|=4,t.instance=a,void xf(a);a=e.ownerDocument||e,n=cC(n),(r=tC.get(r))&&pC(n,r),xf(a=a.createElement("link"));var s=a;s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),RI(a,"link",n),t.instance=a}null===i.stylesheets&&(i.stylesheets=new Map),i.stylesheets.set(t,e),(e=t.state.preload)&&!(3&t.state.loading)&&(i.count++,t=kC.bind(i),e.addEventListener("load",t),e.addEventListener("error",t))}}(hS,e.memoizedState,e.memoizedProps);break;case 5:default:IS(e);break;case 3:case 4:var t=hS;hS=iC(e.stateNode.containerInfo),IS(e),hS=t;break;case 22:null===e.memoizedState&&(null!==(t=e.alternate)&&null!==t.memoizedState?(t=xS,xS=16777216,IS(e),xS=t):IS(e))}}function TS(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do{t=e.sibling,e.sibling=null,e=t}while(null!==e)}}function _S(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var i=t[n];nS=i,MS(i,e)}TS(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)BS(e),e=e.sibling}function BS(e){switch(e.tag){case 0:case 11:case 15:_S(e),2048&e.flags&&zk(9,e,e.return);break;case 3:case 12:default:_S(e);break;case 22:var t=e.stateNode;null!==e.memoizedState&&2&t._visibility&&(null===e.return||13!==e.return.tag)?(t._visibility&=-3,US(e)):_S(e)}}function US(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var i=t[n];nS=i,MS(i,e)}TS(e)}for(e=e.child;null!==e;){switch((t=e).tag){case 0:case 11:case 15:zk(8,t,t.return),US(t);break;case 22:2&(n=t.stateNode)._visibility&&(n._visibility&=-3,US(t));break;default:US(t)}e=e.sibling}}function MS(e,t){for(;null!==nS;){var n=nS;switch(n.tag){case 0:case 11:case 15:zk(8,n,t);break;case 23:case 22:if(null!==n.memoizedState&&null!==n.memoizedState.cachePool){var i=n.memoizedState.cachePool.pool;null!=i&&i.refCount++}break;case 24:gE(n.memoizedState.cache)}if(null!==(i=n.child))i.return=n,nS=i;else e:for(n=e;null!==nS;){var r=(i=nS).sibling,a=i.return;if(rS(i),i===n){nS=null;break e}if(null!==r){r.return=a,nS=r;break e}nS=a}}}var RS={getCacheForType:function(e){var t=sE(hE),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n}},LS="function"==typeof WeakMap?WeakMap:Map,NS=0,DS=null,PS=null,FS=0,OS=0,zS=null,QS=!1,VS=!1,GS=!1,jS=0,YS=0,KS=0,qS=0,HS=0,JS=0,WS=0,XS=null,ZS=null,$S=!1,ex=0,tx=1/0,nx=null,ix=null,rx=0,ax=null,sx=null,Ax=0,ox=0,lx=null,cx=null,ux=0,hx=null;function dx(){if(2&NS&&0!==FS)return FS&-FS;if(null!==dp.T){return 0!==mE?mE:oI()}return cf()}function gx(){0===JS&&(JS=536870912&FS&&!Ow?536870912:tf());var e=Pv.current;return null!==e&&(e.flags|=32),JS}function px(e,t,n){(e!==DS||2!==OS&&9!==OS)&&null===e.cancelPendingCommit||(vx(e,0),wx(e,FS,JS,!1)),af(e,n),2&NS&&e===DS||(e===DS&&(!(2&NS)&&(qS|=n),4===YS&&wx(e,FS,JS,!1)),tI(e))}function fx(e,t,n){if(6&NS)throw Error(Og(327));for(var i=!n&&!(124&t)&&0===(t&e.expiredLanes)||$p(e,t),r=i?function(e,t){var n=NS;NS|=2;var i=Sx(),r=xx();DS!==e||FS!==t?(nx=null,tx=Lp()+500,vx(e,t)):VS=$p(e,t);e:for(;;)try{if(0!==OS&&null!==PS){t=PS;var a=zS;t:switch(OS){case 1:OS=0,zS=null,Mx(e,t,a,1);break;case 2:case 9:if(_E(a)){OS=0,zS=null,Ux(t);break}t=function(){2!==OS&&9!==OS||DS!==e||(OS=7),tI(e)},a.then(t,t);break e;case 3:OS=7;break e;case 4:OS=5;break e;case 7:_E(a)?(OS=0,zS=null,Ux(t)):(OS=0,zS=null,Mx(e,t,a,7));break;case 5:var s=null;switch(PS.tag){case 26:s=PS.memoizedState;case 5:case 27:var A=PS;if(!s||EC(s)){OS=0,zS=null;var o=A.sibling;if(null!==o)PS=o;else{var l=A.return;null!==l?(PS=l,Rx(l)):PS=null}break t}}OS=0,zS=null,Mx(e,t,a,5);break;case 6:OS=0,zS=null,Mx(e,t,a,6);break;case 8:yx(),YS=6;break e;default:throw Error(Og(462))}}_x();break}catch(t){kx(e,t)}return Zw=Xw=null,dp.H=i,dp.A=r,NS=n,null!==PS?0:(DS=null,FS=0,ow(),YS)}(e,t):Cx(e,t,!0),a=i;;){if(0===r){VS&&!i&&wx(e,t,0,!1);break}if(n=e.current.alternate,!a||bx(n)){if(2===r){if(a=t,e.errorRecoveryDisabledLanes&a)var s=0;else s=0!==(s=-536870913&e.pendingLanes)?s:536870912&s?536870912:0;if(0!==s){t=s;e:{var A=e;r=XS;var o=A.current.memoizedState.isDehydrated;if(o&&(vx(A,s).flags|=256),2!==(s=Cx(A,s,!1))){if(GS&&!o){A.errorRecoveryDisabledLanes|=a,qS|=a,r=4;break e}a=ZS,ZS=r,null!==a&&(null===ZS?ZS=a:ZS.push.apply(ZS,a))}r=s}if(a=!1,2!==r)continue}}if(1===r){vx(e,0),wx(e,t,0,!0);break}e:{switch(i=e,a=r){case 0:case 1:throw Error(Og(345));case 4:if((4194048&t)!==t)break;case 6:wx(i,t,JS,!QS);break e;case 2:ZS=null;break;case 3:case 5:break;default:throw Error(Og(329))}if((62914560&t)===t&&10<(r=ex+300-Lp())){if(wx(i,t,JS,!QS),0!==Zp(i,0,!0))break e;i.timeoutHandle=QI(mx.bind(null,i,n,ZS,nx,$S,t,JS,qS,WS,QS,a,2,-0,0),r)}else mx(i,n,ZS,nx,$S,t,JS,qS,WS,QS,a,0,-0,0)}break}r=Cx(e,t,!1),a=!1}tI(e)}function mx(e,t,n,i,r,a,s,A,o,l,c,u,h,d){if(e.timeoutHandle=-1,(8192&(u=t.subtreeFlags)||!(16785408&~u))&&(yC={stylesheets:null,count:0,unsuspend:vC},CS(t),null!==(u=function(){if(null===yC)throw Error(Og(475));var e=yC;return e.stylesheets&&0===e.count&&xC(e,e.stylesheets),0<e.count?function(t){var n=setTimeout(function(){if(e.stylesheets&&xC(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4);return e.unsuspend=t,function(){e.unsuspend=null,clearTimeout(n)}}:null}())))return e.cancelPendingCommit=u(Nx.bind(null,e,t,a,n,i,r,s,A,o,c,1,h,d)),void wx(e,a,s,!l);Nx(e,t,a,n,i,r,s,A,o)}function bx(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&(null!==(n=t.updateQueue)&&null!==(n=n.stores)))for(var i=0;i<n.length;i++){var r=n[i],a=r.getSnapshot;r=r.value;try{if(!_b(a(),r))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function wx(e,t,n,i){t&=~HS,t&=~qS,e.suspendedLanes|=t,e.pingedLanes&=~t,i&&(e.warmLanes|=t),i=e.expirationTimes;for(var r=t;0<r;){var a=31-Kp(r),s=1<<a;i[a]=-1,r&=~s}0!==n&&sf(e,n,t)}function Ex(){return!!(6&NS)||(nI(0),!1)}function yx(){if(null!==PS){if(0===OS)var e=PS.return;else Zw=Xw=null,my(e=PS),Tv=null,_v=0,e=PS;for(;null!==e;)Fk(e.alternate,e),e=e.return;PS=null}}function vx(e,t){var n=e.timeoutHandle;-1!==n&&(e.timeoutHandle=-1,VI(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),yx(),DS=e,PS=n=bw(e.current,null),FS=t,OS=0,zS=null,QS=!1,VS=$p(e,t),GS=!1,WS=JS=HS=qS=KS=YS=0,ZS=XS=null,$S=!1,8&t&&(t|=32&t);var i=e.entangledLanes;if(0!==i)for(e=e.entanglements,i&=t;0<i;){var r=31-Kp(i),a=1<<r;t|=e[r],i&=~a}return jS=t,ow(),n}function kx(e,t){$E=null,dp.H=Sv,t===xE||t===CE?(t=RE(),OS=3):t===IE?(t=RE(),OS=4):OS=t===ak?8:null!==t&&"object"==typeof t&&"function"==typeof t.then?6:1,zS=t,null===PS&&(YS=1,ek(e,rw(t,e.current)))}function Sx(){var e=dp.H;return dp.H=Sv,null===e?Sv:e}function xx(){var e=dp.A;return dp.A=RS,e}function Ix(){YS=4,QS||(4194048&FS)!==FS&&null!==Pv.current||(VS=!0),!(134217727&KS)&&!(134217727&qS)||null===DS||wx(DS,FS,JS,!1)}function Cx(e,t,n){var i=NS;NS|=2;var r=Sx(),a=xx();DS===e&&FS===t||(nx=null,vx(e,t)),t=!1;var s=YS;e:for(;;)try{if(0!==OS&&null!==PS){var A=PS,o=zS;switch(OS){case 8:yx(),s=6;break e;case 3:case 2:case 9:case 6:null===Pv.current&&(t=!0);var l=OS;if(OS=0,zS=null,Mx(e,A,o,l),n&&VS){s=0;break e}break;default:l=OS,OS=0,zS=null,Mx(e,A,o,l)}}Tx(),s=YS;break}catch(t){kx(e,t)}return t&&e.shellSuspendCounter++,Zw=Xw=null,NS=i,dp.H=r,dp.A=a,null===PS&&(DS=null,FS=0,ow()),s}function Tx(){for(;null!==PS;)Bx(PS)}function _x(){for(;null!==PS&&!Mp();)Bx(PS)}function Bx(e){var t=Bk(e.alternate,e,jS);e.memoizedProps=e.pendingProps,null===t?Rx(e):PS=t}function Ux(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=pk(n,t,t.pendingProps,t.type,void 0,FS);break;case 11:t=pk(n,t,t.pendingProps,t.type.render,t.ref,FS);break;case 5:my(t);default:Fk(n,t),t=Bk(n,t=PS=ww(t,jS),jS)}e.memoizedProps=e.pendingProps,null===t?Rx(e):PS=t}function Mx(e,t,n,i){Zw=Xw=null,my(t),Tv=null,_v=0;var r=t.return;try{if(function(e,t,n,i,r){if(n.flags|=32768,null!==i&&"object"==typeof i&&"function"==typeof i.then){if(null!==(t=n.alternate)&&iE(t,n,r,!0),null!==(n=Pv.current)){switch(n.tag){case 13:return null===Fv?Ix():null===n.alternate&&0===YS&&(YS=3),n.flags&=-257,n.flags|=65536,n.lanes=r,i===TE?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([i]):t.add(i),jx(e,i,r)),!1;case 22:return n.flags|=65536,i===TE?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([i]):n.add(i),jx(e,i,r)),!1}throw Error(Og(435,n.tag))}return jx(e,i,r),Ix(),!1}if(Ow)return null!==(t=Pv.current)?(!(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=r,i!==Vw&&Jw(rw(e=Error(Og(422),{cause:i}),n))):(i!==Vw&&Jw(rw(t=Error(Og(423),{cause:i}),n)),(e=e.current.alternate).flags|=65536,r&=-r,e.lanes|=r,i=rw(i,n),QE(e,r=nk(e.stateNode,i,r)),4!==YS&&(YS=2)),!1;var a=Error(Og(520),{cause:i});if(a=rw(a,n),null===XS?XS=[a]:XS.push(a),4!==YS&&(YS=2),null===t)return!0;i=rw(i,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=r&-r,n.lanes|=e,QE(n,e=nk(n.stateNode,i,e)),!1;case 1:if(t=n.type,a=n.stateNode,!(128&n.flags||"function"!=typeof t.getDerivedStateFromError&&(null===a||"function"!=typeof a.componentDidCatch||null!==ix&&ix.has(a))))return n.flags|=65536,r&=-r,n.lanes|=r,rk(r=ik(r),e,n,i),QE(n,r),!1}n=n.return}while(null!==n);return!1}(e,r,t,n,FS))return YS=1,ek(e,rw(n,e.current)),void(PS=null)}catch(t){if(null!==r)throw PS=r,t;return YS=1,ek(e,rw(n,e.current)),void(PS=null)}32768&t.flags?(Ow||1===i?e=!0:VS||536870912&FS?e=!1:(QS=e=!0,(2===i||9===i||3===i||6===i)&&(null!==(i=Pv.current)&&13===i.tag&&(i.flags|=16384))),Lx(t,e)):Rx(t)}function Rx(e){var t=e;do{if(32768&t.flags)return void Lx(t,QS);e=t.return;var n=Dk(t.alternate,t,jS);if(null!==n)return void(PS=n);if(null!==(t=t.sibling))return void(PS=t);PS=t=e}while(null!==t);0===YS&&(YS=5)}function Lx(e,t){do{var n=Pk(e.alternate,e);if(null!==n)return n.flags&=32767,void(PS=n);if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling))return void(PS=e);PS=e=n}while(null!==e);YS=6,PS=null}function Nx(e,t,n,i,r,a,s,A,o){e.cancelPendingCommit=null;do{zx()}while(0!==rx);if(6&NS)throw Error(Og(327));if(null!==t){if(t===e.current)throw Error(Og(177));if(a=t.lanes|t.childLanes,function(e,t,n,i,r,a){var s=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var A=e.entanglements,o=e.expirationTimes,l=e.hiddenUpdates;for(n=s&~n;0<n;){var c=31-Kp(n),u=1<<c;A[c]=0,o[c]=-1;var h=l[c];if(null!==h)for(l[c]=null,c=0;c<h.length;c++){var d=h[c];null!==d&&(d.lane&=-536870913)}n&=~u}0!==i&&sf(e,i,0),0!==a&&0===r&&0!==e.tag&&(e.suspendedLanes|=a&~(s&~t))}(e,n,a|=Aw,s,A,o),e===DS&&(PS=DS=null,FS=0),sx=t,ax=e,Ax=n,ox=a,lx=r,cx=i,10256&t.subtreeFlags||10256&t.flags?(e.callbackNode=null,e.callbackPriority=0,Bp(Fp,function(){return Qx(),null})):(e.callbackNode=null,e.callbackPriority=0),i=!!(13878&t.flags),13878&t.subtreeFlags||i){i=dp.T,dp.T=null,r=gp.p,gp.p=2,s=NS,NS|=4;try{!function(e,t){if(e=e.containerInfo,LI=NC,Nb(e=Lb(e))){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var i=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(i&&0!==i.rangeCount){n=i.anchorNode;var r=i.anchorOffset,a=i.focusNode;i=i.focusOffset;try{n.nodeType,a.nodeType}catch(e){n=null;break e}var s=0,A=-1,o=-1,l=0,c=0,u=e,h=null;t:for(;;){for(var d;u!==n||0!==r&&3!==u.nodeType||(A=s+r),u!==a||0!==i&&3!==u.nodeType||(o=s+i),3===u.nodeType&&(s+=u.nodeValue.length),null!==(d=u.firstChild);)h=u,u=d;for(;;){if(u===e)break t;if(h===n&&++l===r&&(A=s),h===a&&++c===i&&(o=s),null!==(d=u.nextSibling))break;h=(u=h).parentNode}u=d}n=-1===A||-1===o?null:{start:A,end:o}}else n=null}n=n||{start:0,end:0}}else n=null;for(NI={focusedElem:e,selectionRange:n},NC=!1,nS=t;null!==nS;)if(e=(t=nS).child,1024&t.subtreeFlags&&null!==e)e.return=t,nS=e;else for(;null!==nS;){switch(a=(t=nS).alternate,e=t.flags,t.tag){case 0:case 11:case 15:case 5:case 26:case 27:case 6:case 4:case 17:break;case 1:if(1024&e&&null!==a){e=void 0,n=t,r=a.memoizedProps,a=a.memoizedState,i=n.stateNode;try{var g=Jv(n.type,r,(n.elementType,n.type));e=i.getSnapshotBeforeUpdate(g,a),i.__reactInternalSnapshotBeforeUpdate=e}catch(e){Gx(n,n.return,e)}}break;case 3:if(1024&e)if(9===(n=(e=t.stateNode.containerInfo).nodeType))HI(e);else if(1===n)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":HI(e);break;default:e.textContent=""}break;default:if(1024&e)throw Error(Og(163))}if(null!==(e=t.sibling)){e.return=t.return,nS=e;break}nS=t.return}}(e,t)}finally{NS=s,gp.p=r,dp.T=i}}rx=1,Dx(),Px(),Fx()}}function Dx(){if(1===rx){rx=0;var e=ax,t=sx,n=!!(13878&t.flags);if(13878&t.subtreeFlags||n){n=dp.T,dp.T=null;var i=gp.p;gp.p=2;var r=NS;NS|=4;try{dS(t,e);var a=NI,s=Lb(e.containerInfo),A=a.focusedElem,o=a.selectionRange;if(s!==A&&A&&A.ownerDocument&&Rb(A.ownerDocument.documentElement,A)){if(null!==o&&Nb(A)){var l=o.start,c=o.end;if(void 0===c&&(c=l),"selectionStart"in A)A.selectionStart=l,A.selectionEnd=Math.min(c,A.value.length);else{var u=A.ownerDocument||document,h=u&&u.defaultView||window;if(h.getSelection){var d=h.getSelection(),g=A.textContent.length,p=Math.min(o.start,g),f=void 0===o.end?p:Math.min(o.end,g);!d.extend&&p>f&&(s=f,f=p,p=s);var m=Mb(A,p),b=Mb(A,f);if(m&&b&&(1!==d.rangeCount||d.anchorNode!==m.node||d.anchorOffset!==m.offset||d.focusNode!==b.node||d.focusOffset!==b.offset)){var w=u.createRange();w.setStart(m.node,m.offset),d.removeAllRanges(),p>f?(d.addRange(w),d.extend(b.node,b.offset)):(w.setEnd(b.node,b.offset),d.addRange(w))}}}}for(u=[],d=A;d=d.parentNode;)1===d.nodeType&&u.push({element:d,left:d.scrollLeft,top:d.scrollTop});for("function"==typeof A.focus&&A.focus(),A=0;A<u.length;A++){var E=u[A];E.element.scrollLeft=E.left,E.element.scrollTop=E.top}}NC=!!LI,NI=LI=null}finally{NS=r,gp.p=i,dp.T=n}}e.current=t,rx=2}}function Px(){if(2===rx){rx=0;var e=ax,t=sx,n=!!(8772&t.flags);if(8772&t.subtreeFlags||n){n=dp.T,dp.T=null;var i=gp.p;gp.p=2;var r=NS;NS|=4;try{iS(e,t.alternate,t)}finally{NS=r,gp.p=i,dp.T=n}}rx=3}}function Fx(){if(4===rx||3===rx){rx=0,Rp();var e=ax,t=sx,n=Ax,i=cx;10256&t.subtreeFlags||10256&t.flags?rx=5:(rx=0,sx=ax=null,Ox(e,e.pendingLanes));var r=e.pendingLanes;if(0===r&&(ix=null),lf(n),t=t.stateNode,jp&&"function"==typeof jp.onCommitFiberRoot)try{jp.onCommitFiberRoot(Gp,t,void 0,!(128&~t.current.flags))}catch(e){}if(null!==i){t=dp.T,r=gp.p,gp.p=2,dp.T=null;try{for(var a=e.onRecoverableError,s=0;s<i.length;s++){var A=i[s];a(A.value,{componentStack:A.stack})}}finally{dp.T=t,gp.p=r}}3&Ax&&zx(),tI(e),r=e.pendingLanes,4194090&n&&42&r?e===hx?ux++:(ux=0,hx=e):ux=0,nI(0)}}function Ox(e,t){0===(e.pooledCacheLanes&=t)&&(null!=(t=e.pooledCache)&&(e.pooledCache=null,gE(t)))}function zx(e){return Dx(),Px(),Fx(),Qx()}function Qx(){if(5!==rx)return!1;var e=ax,t=ox;ox=0;var n=lf(Ax),i=dp.T,r=gp.p;try{gp.p=32>n?32:n,dp.T=null,n=lx,lx=null;var a=ax,s=Ax;if(rx=0,sx=ax=null,Ax=0,6&NS)throw Error(Og(331));var A=NS;if(NS|=4,BS(a.current),vS(a,a.current,s,n),NS=A,nI(0,!1),jp&&"function"==typeof jp.onPostCommitFiberRoot)try{jp.onPostCommitFiberRoot(Gp,a)}catch(e){}return!0}finally{gp.p=r,dp.T=i,Ox(e,t)}}function Vx(e,t,n){t=rw(n,t),null!==(e=OE(e,t=nk(e.stateNode,t,2),2))&&(af(e,2),tI(e))}function Gx(e,t,n){if(3===e.tag)Vx(e,e,n);else for(;null!==t;){if(3===t.tag){Vx(t,e,n);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===ix||!ix.has(i))){e=rw(n,e),null!==(i=OE(t,n=ik(2),2))&&(rk(n,i,t,e),af(i,2),tI(i));break}}t=t.return}}function jx(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new LS;var r=new Set;i.set(t,r)}else void 0===(r=i.get(t))&&(r=new Set,i.set(t,r));r.has(n)||(GS=!0,r.add(n),e=Yx.bind(null,e,t,n),t.then(e,e))}function Yx(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,DS===e&&(FS&n)===n&&(4===YS||3===YS&&(62914560&FS)===FS&&300>Lp()-ex?!(2&NS)&&vx(e,0):HS|=n,WS===FS&&(WS=0)),tI(e)}function Kx(e,t){0===t&&(t=nf()),null!==(e=uw(e,t))&&(af(e,t),tI(e))}function qx(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Kx(e,n)}function Hx(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(Og(314))}null!==i&&i.delete(t),Kx(e,n)}var Jx=null,Wx=null,Xx=!1,Zx=!1,$x=!1,eI=0;function tI(e){e!==Wx&&null===e.next&&(null===Wx?Jx=Wx=e:Wx=Wx.next=e),Zx=!0,Xx||(Xx=!0,jI(function(){6&NS?Bp(Dp,iI):rI()}))}function nI(e,t){if(!$x&&Zx){$x=!0;do{for(var n=!1,i=Jx;null!==i;){if(0!==e){var r=i.pendingLanes;if(0===r)var a=0;else{var s=i.suspendedLanes,A=i.pingedLanes;a=(1<<31-Kp(42|e)+1)-1,a=201326741&(a&=r&~(s&~A))?201326741&a|1:a?2|a:0}0!==a&&(n=!0,AI(i,a))}else a=FS,!(3&(a=Zp(i,i===DS?a:0,null!==i.cancelPendingCommit||-1!==i.timeoutHandle)))||$p(i,a)||(n=!0,AI(i,a));i=i.next}}while(n);$x=!1}}function iI(){rI()}function rI(){Zx=Xx=!1;var e=0;0!==eI&&(function(){var e=window.event;if(e&&"popstate"===e.type)return e!==zI&&(zI=e,!0);return zI=null,!1}()&&(e=eI),eI=0);for(var t=Lp(),n=null,i=Jx;null!==i;){var r=i.next,a=aI(i,t);0===a?(i.next=null,null===n?Jx=r:n.next=r,null===r&&(Wx=n)):(n=i,(0!==e||3&a)&&(Zx=!0)),i=r}nI(e)}function aI(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,a=-62914561&e.pendingLanes;0<a;){var s=31-Kp(a),A=1<<s,o=r[s];-1===o?0!==(A&n)&&0===(A&i)||(r[s]=ef(A,t)):o<=t&&(e.expiredLanes|=A),a&=~A}if(n=FS,n=Zp(e,e===(t=DS)?n:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle),i=e.callbackNode,0===n||e===t&&(2===OS||9===OS)||null!==e.cancelPendingCommit)return null!==i&&null!==i&&Up(i),e.callbackNode=null,e.callbackPriority=0;if(!(3&n)||$p(e,n)){if((t=n&-n)===e.callbackPriority)return t;switch(null!==i&&Up(i),lf(n)){case 2:case 8:n=Pp;break;case 32:default:n=Fp;break;case 268435456:n=zp}return i=sI.bind(null,e),n=Bp(n,i),e.callbackPriority=t,e.callbackNode=n,t}return null!==i&&null!==i&&Up(i),e.callbackPriority=2,e.callbackNode=null,2}function sI(e,t){if(0!==rx&&5!==rx)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(zx()&&e.callbackNode!==n)return null;var i=FS;return 0===(i=Zp(e,e===DS?i:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle))?null:(fx(e,i,t),aI(e,Lp()),null!=e.callbackNode&&e.callbackNode===n?sI.bind(null,e):null)}function AI(e,t){if(zx())return null;fx(e,t,!0)}function oI(){return 0===eI&&(eI=tf()),eI}function lI(e){return null==e||"symbol"==typeof e||"boolean"==typeof e?null:"function"==typeof e?e:lm(""+e)}function cI(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}for(var uI=0;uI<tw.length;uI++){var hI=tw[uI];nw(hI.toLowerCase(),"on"+(hI[0].toUpperCase()+hI.slice(1)))}nw(qb,"onAnimationEnd"),nw(Hb,"onAnimationIteration"),nw(Jb,"onAnimationStart"),nw("dblclick","onDoubleClick"),nw("focusin","onFocus"),nw("focusout","onBlur"),nw(Wb,"onTransitionRun"),nw(Xb,"onTransitionStart"),nw(Zb,"onTransitionCancel"),nw($b,"onTransitionEnd"),_f("onMouseEnter",["mouseout","mouseover"]),_f("onMouseLeave",["mouseout","mouseover"]),_f("onPointerEnter",["pointerout","pointerover"]),_f("onPointerLeave",["pointerout","pointerover"]),Tf("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),Tf("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),Tf("onBeforeInput",["compositionend","keypress","textInput","paste"]),Tf("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),Tf("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),Tf("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var dI="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),gI=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(dI));function pI(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var a=void 0;if(t)for(var s=i.length-1;0<=s;s--){var A=i[s],o=A.instance,l=A.currentTarget;if(A=A.listener,o!==a&&r.isPropagationStopped())break e;a=A,r.currentTarget=l;try{a(r)}catch(e){Wv(e)}r.currentTarget=null,a=o}else for(s=0;s<i.length;s++){if(o=(A=i[s]).instance,l=A.currentTarget,A=A.listener,o!==a&&r.isPropagationStopped())break e;a=A,r.currentTarget=l;try{a(r)}catch(e){Wv(e)}r.currentTarget=null,a=o}}}}function fI(e,t){var n=t[pf];void 0===n&&(n=t[pf]=new Set);var i=e+"__bubble";n.has(i)||(EI(t,e,2,!1),n.add(i))}function mI(e,t,n){var i=0;t&&(i|=4),EI(n,e,i,t)}var bI="_reactListening"+Math.random().toString(36).slice(2);function wI(e){if(!e[bI]){e[bI]=!0,If.forEach(function(t){"selectionchange"!==t&&(gI.has(t)||mI(t,!1,e),mI(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[bI]||(t[bI]=!0,mI("selectionchange",!1,t))}}function EI(e,t,n,i){switch(VC(t)){case 2:var r=DC;break;case 8:r=PC;break;default:r=FC}n=r.bind(null,t,n,e),r=void 0,!wm||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function yI(e,t,n,i,r){var a=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var s=i.tag;if(3===s||4===s){var A=i.stateNode.containerInfo;if(A===r)break;if(4===s)for(s=i.return;null!==s;){var o=s.tag;if((3===o||4===o)&&s.stateNode.containerInfo===r)return;s=s.return}for(;null!==A;){if(null===(s=yf(A)))return;if(5===(o=s.tag)||6===o||26===o||27===o){i=a=s;continue e}A=A.parentNode}}i=i.return}fm(function(){var i=a,r=um(n),s=[];e:{var A=ew.get(e);if(void 0!==A){var o=Rm,l=e;switch(e){case"keypress":if(0===xm(n))break e;case"keydown":case"keyup":o=Jm;break;case"focusin":l="focus",o=Om;break;case"focusout":l="blur",o=Om;break;case"beforeblur":case"afterblur":o=Om;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":o=Pm;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":o=Fm;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":o=Xm;break;case qb:case Hb:case Jb:o=zm;break;case $b:o=Zm;break;case"scroll":case"scrollend":o=Nm;break;case"wheel":o=$m;break;case"copy":case"cut":case"paste":o=Qm;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":o=Wm;break;case"toggle":case"beforetoggle":o=eb}var c=!!(4&t),u=!c&&("scroll"===e||"scrollend"===e),h=c?null!==A?A+"Capture":null:A;c=[];for(var d,g=i;null!==g;){var p=g;if(d=p.stateNode,5!==(p=p.tag)&&26!==p&&27!==p||null===d||null===h||null!=(p=mm(g,h))&&c.push(vI(g,p,d)),u)break;g=g.return}0<c.length&&(A=new o(A,l,null,n,r),s.push({event:A,listeners:c}))}}if(!(7&t)){if(o="mouseout"===e||"pointerout"===e,(!(A="mouseover"===e||"pointerover"===e)||n===cm||!(l=n.relatedTarget||n.fromElement)||!yf(l)&&!l[gf])&&(o||A)&&(A=r.window===r?r:(A=r.ownerDocument)?A.defaultView||A.parentWindow:window,o?(o=i,null!==(l=(l=n.relatedTarget||n.toElement)?yf(l):null)&&(u=Qg(l),c=l.tag,l!==u||5!==c&&27!==c&&6!==c)&&(l=null)):(o=null,l=i),o!==l)){if(c=Pm,p="onMouseLeave",h="onMouseEnter",g="mouse","pointerout"!==e&&"pointerover"!==e||(c=Wm,p="onPointerLeave",h="onPointerEnter",g="pointer"),u=null==o?A:kf(o),d=null==l?A:kf(l),(A=new c(p,g+"leave",o,n,r)).target=u,A.relatedTarget=d,p=null,yf(r)===i&&((c=new c(h,g+"enter",l,n,r)).target=d,c.relatedTarget=u,p=c),u=p,o&&l)e:{for(h=l,g=0,d=c=o;d;d=SI(d))g++;for(d=0,p=h;p;p=SI(p))d++;for(;0<g-d;)c=SI(c),g--;for(;0<d-g;)h=SI(h),d--;for(;g--;){if(c===h||null!==h&&c===h.alternate)break e;c=SI(c),h=SI(h)}c=null}else c=null;null!==o&&xI(s,A,o,c,!1),null!==l&&null!==u&&xI(s,u,l,c,!0)}if("select"===(o=(A=i?kf(i):window).nodeName&&A.nodeName.toLowerCase())||"input"===o&&"file"===A.type)var f=bb;else if(hb(A))if(wb)f=Tb;else{f=Ib;var m=xb}else!(o=A.nodeName)||"input"!==o.toLowerCase()||"checkbox"!==A.type&&"radio"!==A.type?i&&sm(i.elementType)&&(f=bb):f=Cb;switch(f&&(f=f(e,i))?db(s,f,n,r):(m&&m(e,A,i),"focusout"===e&&i&&"number"===A.type&&null!=i.memoizedProps.value&&Zf(A,"number",A.value)),m=i?kf(i):window,e){case"focusin":(hb(m)||"true"===m.contentEditable)&&(Pb=m,Fb=i,Ob=null);break;case"focusout":Ob=Fb=Pb=null;break;case"mousedown":zb=!0;break;case"contextmenu":case"mouseup":case"dragend":zb=!1,Qb(s,n,r);break;case"selectionchange":if(Db)break;case"keydown":case"keyup":Qb(s,n,r)}var b;if(nb)e:{switch(e){case"compositionstart":var w="onCompositionStart";break e;case"compositionend":w="onCompositionEnd";break e;case"compositionupdate":w="onCompositionUpdate";break e}w=void 0}else cb?ob(e,n)&&(w="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(w="onCompositionStart");w&&(ab&&"ko"!==n.locale&&(cb||"onCompositionStart"!==w?"onCompositionEnd"===w&&cb&&(b=Sm()):(vm="value"in(ym=r)?ym.value:ym.textContent,cb=!0)),0<(m=kI(i,w)).length&&(w=new Vm(w,e,null,n,r),s.push({event:w,listeners:m}),b?w.data=b:null!==(b=lb(n))&&(w.data=b))),(b=rb?function(e,t){switch(e){case"compositionend":return lb(t);case"keypress":return 32!==t.which?null:(Ab=!0,sb);case"textInput":return(e=t.data)===sb&&Ab?null:e;default:return null}}(e,n):function(e,t){if(cb)return"compositionend"===e||!nb&&ob(e,t)?(e=Sm(),km=vm=ym=null,cb=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return ab&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(w=kI(i,"onBeforeInput")).length&&(m=new Vm("onBeforeInput","beforeinput",null,n,r),s.push({event:m,listeners:w}),m.data=b)),function(e,t,n,i,r){if("submit"===t&&n&&n.stateNode===r){var a=lI((r[df]||null).action),s=i.submitter;s&&null!==(t=(t=s[df]||null)?lI(t.formAction):s.getAttribute("formAction"))&&(a=t,s=null);var A=new Rm("action","action",null,i,r);e.push({event:A,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(0!==eI){var e=s?cI(r,s):new FormData(r);cv(n,{pending:!0,data:e,method:r.method,action:a},null,e)}}else"function"==typeof a&&(A.preventDefault(),e=s?cI(r,s):new FormData(r),cv(n,{pending:!0,data:e,method:r.method,action:a},a,e))},currentTarget:r}]})}}(s,e,i,n,r)}pI(s,t)})}function vI(e,t,n){return{instance:e,listener:t,currentTarget:n}}function kI(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,a=r.stateNode;if(5!==(r=r.tag)&&26!==r&&27!==r||null===a||(null!=(r=mm(e,n))&&i.unshift(vI(e,r,a)),null!=(r=mm(e,t))&&i.push(vI(e,r,a))),3===e.tag)return i;e=e.return}return[]}function SI(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag&&27!==e.tag);return e||null}function xI(e,t,n,i,r){for(var a=t._reactName,s=[];null!==n&&n!==i;){var A=n,o=A.alternate,l=A.stateNode;if(A=A.tag,null!==o&&o===i)break;5!==A&&26!==A&&27!==A||null===l||(o=l,r?null!=(l=mm(n,a))&&s.unshift(vI(n,l,o)):r||null!=(l=mm(n,a))&&s.push(vI(n,l,o))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var II=/\r\n?/g,CI=/\u0000|\uFFFD/g;function TI(e){return("string"==typeof e?e:""+e).replace(II,"\n").replace(CI,"")}function _I(e,t){return t=TI(t),TI(e)===t}function BI(){}function UI(e,t,n,i,r,a){switch(n){case"children":"string"==typeof i?"body"===t||"textarea"===t&&""===i||nm(e,i):("number"==typeof i||"bigint"==typeof i)&&"body"!==t&&nm(e,""+i);break;case"className":Df(e,"class",i);break;case"tabIndex":Df(e,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":Df(e,n,i);break;case"style":am(e,i,a);break;case"data":if("object"!==t){Df(e,"data",i);break}case"src":case"href":if(""===i&&("a"!==t||"href"!==n)){e.removeAttribute(n);break}if(null==i||"function"==typeof i||"symbol"==typeof i||"boolean"==typeof i){e.removeAttribute(n);break}i=lm(""+i),e.setAttribute(n,i);break;case"action":case"formAction":if("function"==typeof i){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}if("function"==typeof a&&("formAction"===n?("input"!==t&&UI(e,t,"name",r.name,r,null),UI(e,t,"formEncType",r.formEncType,r,null),UI(e,t,"formMethod",r.formMethod,r,null),UI(e,t,"formTarget",r.formTarget,r,null)):(UI(e,t,"encType",r.encType,r,null),UI(e,t,"method",r.method,r,null),UI(e,t,"target",r.target,r,null))),null==i||"symbol"==typeof i||"boolean"==typeof i){e.removeAttribute(n);break}i=lm(""+i),e.setAttribute(n,i);break;case"onClick":null!=i&&(e.onclick=BI);break;case"onScroll":null!=i&&fI("scroll",e);break;case"onScrollEnd":null!=i&&fI("scrollend",e);break;case"dangerouslySetInnerHTML":if(null!=i){if("object"!=typeof i||!("__html"in i))throw Error(Og(61));if(null!=(n=i.__html)){if(null!=r.children)throw Error(Og(60));e.innerHTML=n}}break;case"multiple":e.multiple=i&&"function"!=typeof i&&"symbol"!=typeof i;break;case"muted":e.muted=i&&"function"!=typeof i&&"symbol"!=typeof i;break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":case"autoFocus":break;case"xlinkHref":if(null==i||"function"==typeof i||"boolean"==typeof i||"symbol"==typeof i){e.removeAttribute("xlink:href");break}n=lm(""+i),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":null!=i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,""+i):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":!0===i?e.setAttribute(n,""):!1!==i&&null!=i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,i):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&!isNaN(i)&&1<=i?e.setAttribute(n,i):e.removeAttribute(n);break;case"rowSpan":case"start":null==i||"function"==typeof i||"symbol"==typeof i||isNaN(i)?e.removeAttribute(n):e.setAttribute(n,i);break;case"popover":fI("beforetoggle",e),fI("toggle",e),Nf(e,"popover",i);break;case"xlinkActuate":Pf(e,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":Pf(e,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":Pf(e,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":Pf(e,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":Pf(e,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":Pf(e,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":Pf(e,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":Pf(e,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":Pf(e,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":Nf(e,"is",i);break;case"innerText":case"textContent":break;default:(!(2<n.length)||"o"!==n[0]&&"O"!==n[0]||"n"!==n[1]&&"N"!==n[1])&&Nf(e,n=Am.get(n)||n,i)}}function MI(e,t,n,i,r,a){switch(n){case"style":am(e,i,a);break;case"dangerouslySetInnerHTML":if(null!=i){if("object"!=typeof i||!("__html"in i))throw Error(Og(61));if(null!=(n=i.__html)){if(null!=r.children)throw Error(Og(60));e.innerHTML=n}}break;case"children":"string"==typeof i?nm(e,i):("number"==typeof i||"bigint"==typeof i)&&nm(e,""+i);break;case"onScroll":null!=i&&fI("scroll",e);break;case"onScrollEnd":null!=i&&fI("scrollend",e);break;case"onClick":null!=i&&(e.onclick=BI);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":case"innerText":case"textContent":break;default:Cf.hasOwnProperty(n)||("o"!==n[0]||"n"!==n[1]||(r=n.endsWith("Capture"),t=n.slice(2,r?n.length-7:void 0),"function"==typeof(a=null!=(a=e[df]||null)?a[n]:null)&&e.removeEventListener(t,a,r),"function"!=typeof i)?n in e?e[n]=i:!0===i?e.setAttribute(n,""):Nf(e,n,i):("function"!=typeof a&&null!==a&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,i,r)))}}function RI(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":fI("error",e),fI("load",e);var i,r=!1,a=!1;for(i in n)if(n.hasOwnProperty(i)){var s=n[i];if(null!=s)switch(i){case"src":r=!0;break;case"srcSet":a=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(Og(137,t));default:UI(e,t,i,s,n,null)}}return a&&UI(e,t,"srcSet",n.srcSet,n,null),void(r&&UI(e,t,"src",n.src,n,null));case"input":fI("invalid",e);var A=i=s=a=null,o=null,l=null;for(r in n)if(n.hasOwnProperty(r)){var c=n[r];if(null!=c)switch(r){case"name":a=c;break;case"type":s=c;break;case"checked":o=c;break;case"defaultChecked":l=c;break;case"value":i=c;break;case"defaultValue":A=c;break;case"children":case"dangerouslySetInnerHTML":if(null!=c)throw Error(Og(137,t));break;default:UI(e,t,r,c,n,null)}}return Xf(e,i,A,o,l,s,a,!1),void Yf(e);case"select":for(a in fI("invalid",e),r=s=i=null,n)if(n.hasOwnProperty(a)&&null!=(A=n[a]))switch(a){case"value":i=A;break;case"defaultValue":s=A;break;case"multiple":r=A;default:UI(e,t,a,A,n,null)}return t=i,n=s,e.multiple=!!r,void(null!=t?$f(e,!!r,t,!1):null!=n&&$f(e,!!r,n,!0));case"textarea":for(s in fI("invalid",e),i=a=r=null,n)if(n.hasOwnProperty(s)&&null!=(A=n[s]))switch(s){case"value":r=A;break;case"defaultValue":a=A;break;case"children":i=A;break;case"dangerouslySetInnerHTML":if(null!=A)throw Error(Og(91));break;default:UI(e,t,s,A,n,null)}return tm(e,r,a,i),void Yf(e);case"option":for(o in n)if(n.hasOwnProperty(o)&&null!=(r=n[o]))if("selected"===o)e.selected=r&&"function"!=typeof r&&"symbol"!=typeof r;else UI(e,t,o,r,n,null);return;case"dialog":fI("beforetoggle",e),fI("toggle",e),fI("cancel",e),fI("close",e);break;case"iframe":case"object":fI("load",e);break;case"video":case"audio":for(r=0;r<dI.length;r++)fI(dI[r],e);break;case"image":fI("error",e),fI("load",e);break;case"details":fI("toggle",e);break;case"embed":case"source":case"link":fI("error",e),fI("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(l in n)if(n.hasOwnProperty(l)&&null!=(r=n[l]))switch(l){case"children":case"dangerouslySetInnerHTML":throw Error(Og(137,t));default:UI(e,t,l,r,n,null)}return;default:if(sm(t)){for(c in n)n.hasOwnProperty(c)&&(void 0!==(r=n[c])&&MI(e,t,c,r,n,void 0));return}}for(A in n)n.hasOwnProperty(A)&&(null!=(r=n[A])&&UI(e,t,A,r,n,null))}var LI=null,NI=null;function DI(e){return 9===e.nodeType?e:e.ownerDocument}function PI(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function FI(e,t){if(0===e)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return 1===e&&"foreignObject"===t?0:e}function OI(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"bigint"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var zI=null;var QI="function"==typeof setTimeout?setTimeout:void 0,VI="function"==typeof clearTimeout?clearTimeout:void 0,GI="function"==typeof Promise?Promise:void 0,jI="function"==typeof queueMicrotask?queueMicrotask:void 0!==GI?function(e){return GI.resolve(null).then(e).catch(YI)}:QI;function YI(e){setTimeout(function(){throw e})}function KI(e){return"head"===e}function qI(e,t){var n=t,i=0,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0<i&&8>i){n=i;var s=e.ownerDocument;if(1&n&&eC(s.documentElement),2&n&&eC(s.body),4&n)for(eC(n=s.head),s=n.firstChild;s;){var A=s.nextSibling,o=s.nodeName;s[wf]||"SCRIPT"===o||"STYLE"===o||"LINK"===o&&"stylesheet"===s.rel.toLowerCase()||n.removeChild(s),s=A}}if(0===r)return e.removeChild(a),void sT(t);r--}else"$"===n||"$?"===n||"$!"===n?r++:i=n.charCodeAt(0)-48;else i=0;n=a}while(n);sT(t)}function HI(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":HI(n),Ef(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===n.rel.toLowerCase())continue}e.removeChild(n)}}function JI(e){return"$!"===e.data||"$?"===e.data&&"complete"===e.ownerDocument.readyState}function WI(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t||"F!"===t||"F"===t)break;if("/$"===t)return null}}return e}var XI=null;function ZI(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}function $I(e,t,n){switch(t=DI(n),e){case"html":if(!(e=t.documentElement))throw Error(Og(452));return e;case"head":if(!(e=t.head))throw Error(Og(453));return e;case"body":if(!(e=t.body))throw Error(Og(454));return e;default:throw Error(Og(451))}}function eC(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ef(e)}var tC=new Map,nC=new Set;function iC(e){return"function"==typeof e.getRootNode?e.getRootNode():9===e.nodeType?e:e.ownerDocument}var rC=gp.d;gp.d={f:function(){var e=rC.f(),t=Ex();return e||t},r:function(e){var t=vf(e);null!==t&&5===t.tag&&"form"===t.type?hv(t):rC.r(e)},D:function(e){rC.D(e),sC("dns-prefetch",e,null)},C:function(e,t){rC.C(e,t),sC("preconnect",e,t)},L:function(e,t,n){rC.L(e,t,n);var i=aC;if(i&&e&&t){var r='link[rel="preload"][as="'+Jf(t)+'"]';"image"===t&&n&&n.imageSrcSet?(r+='[imagesrcset="'+Jf(n.imageSrcSet)+'"]',"string"==typeof n.imageSizes&&(r+='[imagesizes="'+Jf(n.imageSizes)+'"]')):r+='[href="'+Jf(e)+'"]';var a=r;switch(t){case"style":a=oC(e);break;case"script":a=uC(e)}tC.has(a)||(e=Yg({rel:"preload",href:"image"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),tC.set(a,e),null!==i.querySelector(r)||"style"===t&&i.querySelector(lC(a))||"script"===t&&i.querySelector(hC(a))||(RI(t=i.createElement("link"),"link",e),xf(t),i.head.appendChild(t)))}},m:function(e,t){rC.m(e,t);var n=aC;if(n&&e){var i=t&&"string"==typeof t.as?t.as:"script",r='link[rel="modulepreload"][as="'+Jf(i)+'"][href="'+Jf(e)+'"]',a=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=uC(e)}if(!tC.has(a)&&(e=Yg({rel:"modulepreload",href:e},t),tC.set(a,e),null===n.querySelector(r))){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(hC(a)))return}RI(i=n.createElement("link"),"link",e),xf(i),n.head.appendChild(i)}}},X:function(e,t){rC.X(e,t);var n=aC;if(n&&e){var i=Sf(n).hoistableScripts,r=uC(e),a=i.get(r);a||((a=n.querySelector(hC(r)))||(e=Yg({src:e,async:!0},t),(t=tC.get(r))&&fC(e,t),xf(a=n.createElement("script")),RI(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},i.set(r,a))}},S:function(e,t,n){rC.S(e,t,n);var i=aC;if(i&&e){var r=Sf(i).hoistableStyles,a=oC(e);t=t||"default";var s=r.get(a);if(!s){var A={loading:0,preload:null};if(s=i.querySelector(lC(a)))A.loading=5;else{e=Yg({rel:"stylesheet",href:e,"data-precedence":t},n),(n=tC.get(a))&&pC(e,n);var o=s=i.createElement("link");xf(o),RI(o,"link",e),o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),o.addEventListener("load",function(){A.loading|=1}),o.addEventListener("error",function(){A.loading|=2}),A.loading|=4,gC(s,t,i)}s={type:"stylesheet",instance:s,count:1,state:A},r.set(a,s)}}},M:function(e,t){rC.M(e,t);var n=aC;if(n&&e){var i=Sf(n).hoistableScripts,r=uC(e),a=i.get(r);a||((a=n.querySelector(hC(r)))||(e=Yg({src:e,async:!0,type:"module"},t),(t=tC.get(r))&&fC(e,t),xf(a=n.createElement("script")),RI(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},i.set(r,a))}}};var aC="undefined"==typeof document?null:document;function sC(e,t,n){var i=aC;if(i&&"string"==typeof t&&t){var r=Jf(t);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof n&&(r+='[crossorigin="'+n+'"]'),nC.has(r)||(nC.add(r),e={rel:e,crossOrigin:n,href:t},null===i.querySelector(r)&&(RI(t=i.createElement("link"),"link",e),xf(t),i.head.appendChild(t)))}}function AC(e,t,n,i){var r=(r=kp.current)?iC(r):null;if(!r)throw Error(Og(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof n.precedence&&"string"==typeof n.href?(t=oC(n.href),(i=(n=Sf(r).hoistableStyles).get(t))||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===n.rel&&"string"==typeof n.href&&"string"==typeof n.precedence){e=oC(n.href);var a=Sf(r).hoistableStyles,s=a.get(e);if(s||(r=r.ownerDocument||r,s={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,s),(a=r.querySelector(lC(e)))&&!a._p&&(s.instance=a,s.state.loading=5),tC.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},tC.set(e,n),a||function(e,t,n,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),RI(t,"link",n),xf(t),e.head.appendChild(t))}(r,e,n,s.state))),t&&null===i)throw Error(Og(528,""));return s}if(t&&null!==i)throw Error(Og(529,""));return null;case"script":return t=n.async,"string"==typeof(n=n.src)&&t&&"function"!=typeof t&&"symbol"!=typeof t?(t=uC(n),(i=(n=Sf(r).hoistableScripts).get(t))||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(Og(444,e))}}function oC(e){return'href="'+Jf(e)+'"'}function lC(e){return'link[rel="stylesheet"]['+e+"]"}function cC(e){return Yg({},e,{"data-precedence":e.precedence,precedence:null})}function uC(e){return'[src="'+Jf(e)+'"]'}function hC(e){return"script[async]"+e}function dC(e,t,n){if(t.count++,null===t.instance)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Jf(n.href)+'"]');if(i)return t.instance=i,xf(i),i;var r=Yg({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return xf(i=(e.ownerDocument||e).createElement("style")),RI(i,"style",r),gC(i,n.precedence,e),t.instance=i;case"stylesheet":r=oC(n.href);var a=e.querySelector(lC(r));if(a)return t.state.loading|=4,t.instance=a,xf(a),a;i=cC(n),(r=tC.get(r))&&pC(i,r),xf(a=(e.ownerDocument||e).createElement("link"));var s=a;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),RI(a,"link",i),t.state.loading|=4,gC(a,n.precedence,e),t.instance=a;case"script":return a=uC(n.src),(r=e.querySelector(hC(a)))?(t.instance=r,xf(r),r):(i=n,(r=tC.get(a))&&fC(i=Yg({},n),r),xf(r=(e=e.ownerDocument||e).createElement("script")),RI(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(Og(443,t.type))}else"stylesheet"===t.type&&!(4&t.state.loading)&&(i=t.instance,t.state.loading|=4,gC(i,n.precedence,e));return t.instance}function gC(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,a=r,s=0;s<i.length;s++){var A=i[s];if(A.dataset.precedence===t)a=A;else if(a!==r)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function pC(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function fC(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}var mC=null;function bC(e,t,n){if(null===mC){var i=new Map,r=mC=new Map;r.set(n,i)}else(i=(r=mC).get(n))||(i=new Map,r.set(n,i));if(i.has(e))return i;for(i.set(e,null),n=n.getElementsByTagName(e),r=0;r<n.length;r++){var a=n[r];if(!(a[wf]||a[hf]||"link"===e&&"stylesheet"===a.getAttribute("rel"))&&"http://www.w3.org/2000/svg"!==a.namespaceURI){var s=a.getAttribute(t)||"";s=e+s;var A=i.get(s);A?A.push(a):i.set(s,[a])}}return i}function wC(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,"title"===t?e.querySelector("head > title"):null)}function EC(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var yC=null;function vC(){}function kC(){if(this.count--,0===this.count)if(this.stylesheets)xC(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var SC=null;function xC(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,SC=new Map,t.forEach(IC,e),SC=null,kC.call(e))}function IC(e,t){if(!(4&t.state.loading)){var n=SC.get(e);if(n)var i=n.get(null);else{n=new Map,SC.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<r.length;a++){var s=r[a];"LINK"!==s.nodeName&&"not all"===s.getAttribute("media")||(n.set(s.dataset.precedence,s),i=s)}i&&n.set(null,i)}s=(r=t.instance).getAttribute("data-precedence"),(a=n.get(s)||i)===i&&n.set(null,r),n.set(s,r),this.count++,i=kC.bind(this),r.addEventListener("load",i),r.addEventListener("error",i),a?a.parentNode.insertBefore(r,a.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(r,e.firstChild),t.state.loading|=4}}var CC={$$typeof:ep,Provider:null,Consumer:null,_currentValue:pp,_currentValue2:pp,_threadCount:0};function TC(e,t,n,i,r,a,s,A){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=rf(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rf(0),this.hiddenUpdates=rf(null),this.identifierPrefix=i,this.onUncaughtError=r,this.onCaughtError=a,this.onRecoverableError=s,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=A,this.incompleteTransitions=new Map}function _C(e,t,n,i,r,a,s,A,o,l,c,u){return e=new TC(e,t,n,s,A,o,l,u),t=1,!0===a&&(t|=24),a=fw(3,null,null,t),e.current=a,a.stateNode=e,(t=dE()).refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:i,isDehydrated:n,cache:t},DE(a),e}function BC(e){return e?e=gw:gw}function UC(e,t,n,i,r,a){r=BC(r),null===i.context?i.context=r:i.pendingContext=r,(i=FE(t)).payload={element:n},null!==(a=void 0===a?null:a)&&(i.callback=a),null!==(n=OE(e,i,t))&&(px(n,0,t),zE(n,e,t))}function MC(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function RC(e,t){MC(e,t),(e=e.alternate)&&MC(e,t)}function LC(e){if(13===e.tag){var t=uw(e,67108864);null!==t&&px(t,0,67108864),RC(e,67108864)}}var NC=!0;function DC(e,t,n,i){var r=dp.T;dp.T=null;var a=gp.p;try{gp.p=2,FC(e,t,n,i)}finally{gp.p=a,dp.T=r}}function PC(e,t,n,i){var r=dp.T;dp.T=null;var a=gp.p;try{gp.p=8,FC(e,t,n,i)}finally{gp.p=a,dp.T=r}}function FC(e,t,n,i){if(NC){var r=OC(i);if(null===r)yI(e,t,i,zC,n),XC(e,i);else if(function(e,t,n,i,r){switch(t){case"focusin":return jC=ZC(jC,e,t,n,i,r),!0;case"dragenter":return YC=ZC(YC,e,t,n,i,r),!0;case"mouseover":return KC=ZC(KC,e,t,n,i,r),!0;case"pointerover":var a=r.pointerId;return qC.set(a,ZC(qC.get(a)||null,e,t,n,i,r)),!0;case"gotpointercapture":return a=r.pointerId,HC.set(a,ZC(HC.get(a)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i))i.stopPropagation();else if(XC(e,i),4&t&&-1<WC.indexOf(e)){for(;null!==r;){var a=vf(r);if(null!==a)switch(a.tag){case 3:if((a=a.stateNode).current.memoizedState.isDehydrated){var s=Xp(a.pendingLanes);if(0!==s){var A=a;for(A.pendingLanes|=2,A.entangledLanes|=2;s;){var o=1<<31-Kp(s);A.entanglements[1]|=o,s&=~o}tI(a),!(6&NS)&&(tx=Lp()+500,nI(0))}}break;case 13:null!==(A=uw(a,2))&&px(A,0,2),Ex(),RC(a,2)}if(null===(a=OC(i))&&yI(e,t,i,zC,n),a===r)break;r=a}null!==r&&i.stopPropagation()}else yI(e,t,i,null,n)}}function OC(e){return QC(e=um(e))}var zC=null;function QC(e){if(zC=null,null!==(e=yf(e))){var t=Qg(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=Vg(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return zC=e,null}function VC(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(Np()){case Dp:return 2;case Pp:return 8;case Fp:case Op:return 32;case zp:return 268435456;default:return 32}default:return 32}}var GC=!1,jC=null,YC=null,KC=null,qC=new Map,HC=new Map,JC=[],WC="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function XC(e,t){switch(e){case"focusin":case"focusout":jC=null;break;case"dragenter":case"dragleave":YC=null;break;case"mouseover":case"mouseout":KC=null;break;case"pointerover":case"pointerout":qC.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":HC.delete(t.pointerId)}}function ZC(e,t,n,i,r,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:a,targetContainers:[r]},null!==t&&(null!==(t=vf(t))&&LC(t)),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function $C(e){var t=yf(e.target);if(null!==t){var n=Qg(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Vg(n)))return e.blockedOn=t,void function(e,t){var n=gp.p;try{return gp.p=e,t()}finally{gp.p=n}}(e.priority,function(){if(13===n.tag){var e=dx();e=of(e);var t=uw(n,e);null!==t&&px(t,0,e),RC(n,e)}})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function eT(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=OC(e.nativeEvent);if(null!==n)return null!==(t=vf(n))&&LC(t),e.blockedOn=n,!1;var i=new(n=e.nativeEvent).constructor(n.type,n);cm=i,n.target.dispatchEvent(i),cm=null,t.shift()}return!0}function tT(e,t,n){eT(e)&&n.delete(t)}function nT(){GC=!1,null!==jC&&eT(jC)&&(jC=null),null!==YC&&eT(YC)&&(YC=null),null!==KC&&eT(KC)&&(KC=null),qC.forEach(tT),HC.forEach(tT)}function iT(e,t){e.blockedOn===t&&(e.blockedOn=null,GC||(GC=!0,Dg.unstable_scheduleCallback(Dg.unstable_NormalPriority,nT)))}var rT=null;function aT(e){rT!==e&&(rT=e,Dg.unstable_scheduleCallback(Dg.unstable_NormalPriority,function(){rT===e&&(rT=null);for(var t=0;t<e.length;t+=3){var n=e[t],i=e[t+1],r=e[t+2];if("function"!=typeof i){if(null===QC(i||n))continue;break}var a=vf(n);null!==a&&(e.splice(t,3),t-=3,cv(a,{pending:!0,data:r,method:n.method,action:i},i,r))}}))}function sT(e){function t(t){return iT(t,e)}null!==jC&&iT(jC,e),null!==YC&&iT(YC,e),null!==KC&&iT(KC,e),qC.forEach(t),HC.forEach(t);for(var n=0;n<JC.length;n++){var i=JC[n];i.blockedOn===e&&(i.blockedOn=null)}for(;0<JC.length&&null===(n=JC[0]).blockedOn;)$C(n),null===n.blockedOn&&JC.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(i=0;i<n.length;i+=3){var r=n[i],a=n[i+1],s=r[df]||null;if("function"==typeof a)s||aT(n);else if(s){var A=null;if(a&&a.hasAttribute("formAction")){if(r=a,s=a[df]||null)A=s.formAction;else if(null!==QC(r))continue}else A=s.action;"function"==typeof A?n[i+1]=A:(n.splice(i,3),i-=3),aT(n)}}}function AT(e){this._internalRoot=e}function oT(e){this._internalRoot=e}oT.prototype.render=AT.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(Og(409));UC(t.current,dx(),e,t,null,null)},oT.prototype.unmount=AT.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;UC(e.current,2,null,e,null,null),Ex(),t[gf]=null}},oT.prototype.unstable_scheduleHydration=function(e){if(e){var t=cf();e={blockedOn:null,target:e,priority:t};for(var n=0;n<JC.length&&0!==t&&t<JC[n].priority;n++);JC.splice(n,0,e),0===n&&$C(e)}};var lT=Pg.version;if("19.1.0"!==lT)throw Error(Og(527,lT,"19.1.0"));gp.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(Og(188));throw e=Object.keys(e).join(","),Error(Og(268,e))}return e=function(e){var t=e.alternate;if(!t){if(null===(t=Qg(e)))throw Error(Og(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var a=r.alternate;if(null===a){if(null!==(i=r.return)){n=i;continue}break}if(r.child===a.child){for(a=r.child;a;){if(a===n)return Gg(r),e;if(a===i)return Gg(r),t;a=a.sibling}throw Error(Og(188))}if(n.return!==i.return)n=r,i=a;else{for(var s=!1,A=r.child;A;){if(A===n){s=!0,n=r,i=a;break}if(A===i){s=!0,i=r,n=a;break}A=A.sibling}if(!s){for(A=a.child;A;){if(A===n){s=!0,n=a,i=r;break}if(A===i){s=!0,i=a,n=r;break}A=A.sibling}if(!s)throw Error(Og(189))}}if(n.alternate!==i)throw Error(Og(190))}if(3!==n.tag)throw Error(Og(188));return n.stateNode.current===n?e:t}(t),e=null===(e=null!==e?jg(e):null)?null:e.stateNode};var cT={bundleType:0,version:"19.1.0",rendererPackageName:"react-dom",currentDispatcherRef:dp,reconcilerVersion:"19.1.0"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var uT=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!uT.isDisabled&&uT.supportsFiber)try{Gp=uT.inject(cT),jp=uT}catch(Pl){}}zd.createRoot=function(e,t){if(!zg(e))throw Error(Og(299));var n=!1,i="",r=Xv,a=Zv,s=$v;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(i=t.identifierPrefix),void 0!==t.onUncaughtError&&(r=t.onUncaughtError),void 0!==t.onCaughtError&&(a=t.onCaughtError),void 0!==t.onRecoverableError&&(s=t.onRecoverableError),void 0!==t.unstable_transitionCallbacks&&t.unstable_transitionCallbacks),t=_C(e,1,!1,null,0,n,i,r,a,s,0,null),e[gf]=t.current,wI(e),new AT(t)},zd.hydrateRoot=function(e,t,n){if(!zg(e))throw Error(Og(299));var i=!1,r="",a=Xv,s=Zv,A=$v,o=null;return null!=n&&(!0===n.unstable_strictMode&&(i=!0),void 0!==n.identifierPrefix&&(r=n.identifierPrefix),void 0!==n.onUncaughtError&&(a=n.onUncaughtError),void 0!==n.onCaughtError&&(s=n.onCaughtError),void 0!==n.onRecoverableError&&(A=n.onRecoverableError),void 0!==n.unstable_transitionCallbacks&&n.unstable_transitionCallbacks,void 0!==n.formState&&(o=n.formState)),(t=_C(e,1,!0,t,0,i,r,a,s,A,0,o)).context=BC(null),n=t.current,(r=FE(i=of(i=dx()))).callback=null,OE(n,r,i),n=i,t.current.lanes=n,af(t,n),tI(t),e[gf]=t.current,wI(e),new oT(t)},zd.version="19.1.0",function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),Od.exports=zd;var hT=Od.exports,dT=t(hT),gT={exports:{}},pT={},fT=Sg;var mT="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},bT=fT.useState,wT=fT.useEffect,ET=fT.useLayoutEffect,yT=fT.useDebugValue;function vT(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!mT(e,n)}catch(e){return!0}}var kT="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),i=bT({inst:{value:n,getSnapshot:t}}),r=i[0].inst,a=i[1];return ET(function(){r.value=n,r.getSnapshot=t,vT(r)&&a({inst:r})},[e,n,t]),wT(function(){return vT(r)&&a({inst:r}),e(function(){vT(r)&&a({inst:r})})},[e]),yT(n),n};pT.useSyncExternalStore=void 0!==fT.useSyncExternalStore?fT.useSyncExternalStore:kT,gT.exports=pT;var ST=gT.exports,xT={exports:{}},IT={},CT=Sg,TT=ST;var _T="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},BT=TT.useSyncExternalStore,UT=CT.useRef,MT=CT.useEffect,RT=CT.useMemo,LT=CT.useDebugValue;IT.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var a=UT(null);if(null===a.current){var s={hasValue:!1,value:null};a.current=s}else s=a.current;a=RT(function(){function e(e){if(!o){if(o=!0,a=e,e=i(e),void 0!==r&&s.hasValue){var t=s.value;if(r(t,e))return A=t}return A=e}if(t=A,_T(a,e))return t;var n=i(e);return void 0!==r&&r(t,n)?t:(a=e,A=n)}var a,A,o=!1,l=void 0===n?null:n;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]},[t,n,i,r]);var A=BT(e,a[0],a[1]);return MT(function(){s.hasValue=!0,s.value=A},[A]),LT(A),A},xT.exports=IT;var NT=xT.exports;let DT=function(e){e()};const PT=()=>DT,FT=Symbol.for("react-redux-context"),OT="undefined"!=typeof globalThis?globalThis:{};function zT(){var e;if(!Sg.createContext)return{};const t=null!=(e=OT[FT])?e:OT[FT]=new Map;let n=t.get(Sg.createContext);return n||(n=Sg.createContext(null),t.set(Sg.createContext,n)),n}const QT=zT();function VT(e=QT){return function(){return Sg.useContext(e)}}const GT=VT();let jT=()=>{throw new Error("uSES not initialized!")};const YT=(e,t)=>e===t;function KT(e=QT){const t=e===QT?GT:VT(e);return function(e,n={}){const{equalityFn:i=YT,stabilityCheck:r,noopCheck:a}="function"==typeof n?{equalityFn:n}:n,{store:s,subscription:A,getServerState:o,stabilityCheck:l,noopCheck:c}=t();Sg.useRef(!0);const u=Sg.useCallback({[e.name]:t=>e(t)}[e.name],[e,l,r]),h=jT(A.addNestedSub,s.getState,o||s.getState,u,i);return Sg.useDebugValue(h),h}}const qT=KT();var HT={exports:{}},JT={},WT="function"==typeof Symbol&&Symbol.for,XT=WT?Symbol.for("react.element"):60103,ZT=WT?Symbol.for("react.portal"):60106,$T=WT?Symbol.for("react.fragment"):60107,e_=WT?Symbol.for("react.strict_mode"):60108,t_=WT?Symbol.for("react.profiler"):60114,n_=WT?Symbol.for("react.provider"):60109,i_=WT?Symbol.for("react.context"):60110,r_=WT?Symbol.for("react.async_mode"):60111,a_=WT?Symbol.for("react.concurrent_mode"):60111,s_=WT?Symbol.for("react.forward_ref"):60112,A_=WT?Symbol.for("react.suspense"):60113,o_=WT?Symbol.for("react.suspense_list"):60120,l_=WT?Symbol.for("react.memo"):60115,c_=WT?Symbol.for("react.lazy"):60116,u_=WT?Symbol.for("react.block"):60121,h_=WT?Symbol.for("react.fundamental"):60117,d_=WT?Symbol.for("react.responder"):60118,g_=WT?Symbol.for("react.scope"):60119;function p_(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case XT:switch(e=e.type){case r_:case a_:case $T:case t_:case e_:case A_:return e;default:switch(e=e&&e.$$typeof){case i_:case s_:case c_:case l_:case n_:return e;default:return t}}case ZT:return t}}}function f_(e){return p_(e)===a_}JT.AsyncMode=r_,JT.ConcurrentMode=a_,JT.ContextConsumer=i_,JT.ContextProvider=n_,JT.Element=XT,JT.ForwardRef=s_,JT.Fragment=$T,JT.Lazy=c_,JT.Memo=l_,JT.Portal=ZT,JT.Profiler=t_,JT.StrictMode=e_,JT.Suspense=A_,JT.isAsyncMode=function(e){return f_(e)||p_(e)===r_},JT.isConcurrentMode=f_,JT.isContextConsumer=function(e){return p_(e)===i_},JT.isContextProvider=function(e){return p_(e)===n_},JT.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===XT},JT.isForwardRef=function(e){return p_(e)===s_},JT.isFragment=function(e){return p_(e)===$T},JT.isLazy=function(e){return p_(e)===c_},JT.isMemo=function(e){return p_(e)===l_},JT.isPortal=function(e){return p_(e)===ZT},JT.isProfiler=function(e){return p_(e)===t_},JT.isStrictMode=function(e){return p_(e)===e_},JT.isSuspense=function(e){return p_(e)===A_},JT.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===$T||e===a_||e===t_||e===e_||e===A_||e===o_||"object"==typeof e&&null!==e&&(e.$$typeof===c_||e.$$typeof===l_||e.$$typeof===n_||e.$$typeof===i_||e.$$typeof===s_||e.$$typeof===h_||e.$$typeof===d_||e.$$typeof===g_||e.$$typeof===u_)},JT.typeOf=p_,HT.exports=JT;var m_=HT.exports,b_={};b_[m_.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},b_[m_.Memo]={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0};var w_,E_={},y_=Symbol.for("react.element"),v_=Symbol.for("react.portal"),k_=Symbol.for("react.fragment"),S_=Symbol.for("react.strict_mode"),x_=Symbol.for("react.profiler"),I_=Symbol.for("react.provider"),C_=Symbol.for("react.context"),T_=Symbol.for("react.server_context"),__=Symbol.for("react.forward_ref"),B_=Symbol.for("react.suspense"),U_=Symbol.for("react.suspense_list"),M_=Symbol.for("react.memo"),R_=Symbol.for("react.lazy"),L_=Symbol.for("react.offscreen");
|
|
23
|
+
/**
|
|
24
|
+
* @license React
|
|
25
|
+
* react-is.production.min.js
|
|
26
|
+
*
|
|
27
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the MIT license found in the
|
|
30
|
+
* LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/function N_(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case y_:switch(e=e.type){case k_:case x_:case S_:case B_:case U_:return e;default:switch(e=e&&e.$$typeof){case T_:case C_:case __:case R_:case M_:case I_:return e;default:return t}}case v_:return t}}}w_=Symbol.for("react.module.reference"),E_.ContextConsumer=C_,E_.ContextProvider=I_,E_.Element=y_,E_.ForwardRef=__,E_.Fragment=k_,E_.Lazy=R_,E_.Memo=M_,E_.Portal=v_,E_.Profiler=x_,E_.StrictMode=S_,E_.Suspense=B_,E_.SuspenseList=U_,E_.isAsyncMode=function(){return!1},E_.isConcurrentMode=function(){return!1},E_.isContextConsumer=function(e){return N_(e)===C_},E_.isContextProvider=function(e){return N_(e)===I_},E_.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===y_},E_.isForwardRef=function(e){return N_(e)===__},E_.isFragment=function(e){return N_(e)===k_},E_.isLazy=function(e){return N_(e)===R_},E_.isMemo=function(e){return N_(e)===M_},E_.isPortal=function(e){return N_(e)===v_},E_.isProfiler=function(e){return N_(e)===x_},E_.isStrictMode=function(e){return N_(e)===S_},E_.isSuspense=function(e){return N_(e)===B_},E_.isSuspenseList=function(e){return N_(e)===U_},E_.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===k_||e===x_||e===S_||e===B_||e===U_||e===L_||"object"==typeof e&&null!==e&&(e.$$typeof===R_||e.$$typeof===M_||e.$$typeof===I_||e.$$typeof===C_||e.$$typeof===__||e.$$typeof===w_||void 0!==e.getModuleId)},E_.typeOf=N_;const D_={notify(){},get:()=>[]};function P_(e,t){let n,i=D_,r=0,a=!1;function s(){l.onStateChange&&l.onStateChange()}function A(){r++,n||(n=e.subscribe(s),i=function(){const e=PT();let t=null,n=null;return{clear(){t=null,n=null},notify(){e(()=>{let e=t;for(;e;)e.callback(),e=e.next})},get(){let e=[],n=t;for(;n;)e.push(n),n=n.next;return e},subscribe(e){let i=!0,r=n={callback:e,next:null,prev:n};return r.prev?r.prev.next=r:t=r,function(){i&&null!==t&&(i=!1,r.next?r.next.prev=r.prev:n=r.prev,r.prev?r.prev.next=r.next:t=r.next)}}}}())}function o(){r--,n&&0===r&&(n(),n=void 0,i.clear(),i=D_)}const l={addNestedSub:function(e){A();const t=i.subscribe(e);let n=!1;return()=>{n||(n=!0,t(),o())}},notifyNestedSubs:function(){i.notify()},handleChangeWrapper:s,isSubscribed:function(){return a},trySubscribe:function(){a||(a=!0,A())},tryUnsubscribe:function(){a&&(a=!1,o())},getListeners:()=>i};return l}const F_=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?Sg.useLayoutEffect:Sg.useEffect;function O_({store:e,context:t,children:n,serverState:i,stabilityCheck:r="once",noopCheck:a="once"}){const s=Sg.useMemo(()=>{const t=P_(e);return{store:e,subscription:t,getServerState:i?()=>i:void 0,stabilityCheck:r,noopCheck:a}},[e,i,r,a]),A=Sg.useMemo(()=>e.getState(),[e]);F_(()=>{const{subscription:t}=s;return t.onStateChange=t.notifyNestedSubs,t.trySubscribe(),A!==e.getState()&&t.notifyNestedSubs(),()=>{t.tryUnsubscribe(),t.onStateChange=void 0}},[s,A]);const o=t||QT;return Sg.createElement(o.Provider,{value:s},n)}function z_(e=QT){const t=e===QT?GT:VT(e);return function(){const{store:e}=t();return e}}const Q_=z_();function V_(e=QT){const t=e===QT?Q_:z_(e);return function(){return t().dispatch}}const G_=V_();var j_,Y_;function K_(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}j_=NT.useSyncExternalStoreWithSelector,jT=j_,Y_=Lg.unstable_batchedUpdates,DT=Y_;var q_=(()=>"function"==typeof Symbol&&Symbol.observable||"@@observable")(),H_=()=>Math.random().toString(36).substring(7).split("").join("."),J_={INIT:`@@redux/INIT${H_()}`,REPLACE:`@@redux/REPLACE${H_()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${H_()}`};function W_(e,t,n){if("function"!=typeof e)throw new Error(K_(2));if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(K_(0));if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error(K_(1));return n(W_)(e,t)}let i=e,r=t,a=new Map,s=a,A=0,o=!1;function l(){s===a&&(s=new Map,a.forEach((e,t)=>{s.set(t,e)}))}function c(){if(o)throw new Error(K_(3));return r}function u(e){if("function"!=typeof e)throw new Error(K_(4));if(o)throw new Error(K_(5));let t=!0;l();const n=A++;return s.set(n,e),function(){if(t){if(o)throw new Error(K_(6));t=!1,l(),s.delete(n),a=null}}}function h(e){if(!function(e){if("object"!=typeof e||null===e)return!1;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||null===Object.getPrototypeOf(e)}(e))throw new Error(K_(7));if(void 0===e.type)throw new Error(K_(8));if("string"!=typeof e.type)throw new Error(K_(17));if(o)throw new Error(K_(9));try{o=!0,r=i(r,e)}finally{o=!1}return(a=s).forEach(e=>{e()}),e}h({type:J_.INIT});return{dispatch:h,subscribe:u,getState:c,replaceReducer:function(e){if("function"!=typeof e)throw new Error(K_(10));i=e,h({type:J_.REPLACE})},[q_]:function(){const e=u;return{subscribe(t){if("object"!=typeof t||null===t)throw new Error(K_(11));function n(){const e=t;e.next&&e.next(c())}n();return{unsubscribe:e(n)}},[q_](){return this}}}}}function X_(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function Z_(e){return function(t){var n=t.dispatch,i=t.getState;return function(t){return function(r){return"function"==typeof r?r(n,i,e):t(r)}}}}var $_=Z_();$_.withExtraArgument=Z_;const eB="undefined"!=typeof window&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(0!==t.length)return"object"==typeof t[0]?X_:X_(...t)},tB="ADD_TRACK_FROM_URL",nB="CLOSE_WINAMP",iB="OPEN_WINAMP",rB="MINIMIZE_WINAMP",aB="IS_PLAYING",sB="IS_STOPPED",AB="PAUSE",oB="PLAY",lB="SEEK_TO_PERCENT_COMPLETE",cB="SET_BALANCE",uB="SET_BAND_VALUE",hB="SET_FOCUS",dB="SET_BAND_FOCUS",gB="SET_FOCUSED_WINDOW",pB="SET_MEDIA",fB="SET_SCRUB_POSITION",mB="SET_SKIN_DATA",bB="SET_VOLUME",wB="START_WORKING",EB="STEP_MARQUEE",yB="STOP",vB="STOP_WORKING",kB="TOGGLE_DOUBLESIZE_MODE",SB="SET_EQ_AUTO",xB="SET_EQ_ON",IB="SET_EQ_OFF",CB="TOGGLE_LLAMA_MODE",TB="TOGGLE_REPEAT",_B="TOGGLE_SHUFFLE",BB="TOGGLE_TIME_MODE",UB="TOGGLE_VISUALIZER_STYLE",MB="UNSET_FOCUS",RB="UPDATE_TIME_ELAPSED",LB="SET_PLAYLIST_SCROLL_POSITION",NB="CLICKED_TRACK",DB="CTRL_CLICKED_TRACK",PB="SHIFT_CLICKED_TRACK",FB="SELECT_ALL",OB="SELECT_ZERO",zB="INVERT_SELECTION",QB="REMOVE_ALL_TRACKS",VB="REMOVE_TRACKS",GB="SET_AVAILABLE_SKINS",jB="REVERSE_LIST",YB="RANDOMIZE_LIST",KB="SET_TRACK_ORDER",qB="PLAY_TRACK",HB="BUFFER_TRACK",JB="DRAG_SELECTED",WB="SET_MEDIA_TAGS",XB="SET_MEDIA_DURATION",ZB="TOGGLE_WINDOW",$B="CLOSE_WINDOW",eU="MEDIA_TAG_REQUEST_INITIALIZED",tU="MEDIA_TAG_REQUEST_FAILED",nU="NETWORK_CONNECTED",iU="NETWORK_DISCONNECTED",rU="UPDATE_WINDOW_POSITIONS",aU="WINDOW_SIZE_CHANGED",sU="TOGGLE_WINDOW_SHADE_MODE",AU="LOADED",oU="SET_Z_INDEX",lU="LOADING",cU="CLOSE_REQUESTED",uU="LOAD_SERIALIZED_STATE",hU="RESET_WINDOW_SIZES",dU="BROWSER_WINDOW_SIZE_CHANGED",gU="LOAD_DEFAULT_SKIN",pU="ENABLE_MILKDROP",fU="SET_MILKDROP_DESKTOP",mU="GOT_BUTTERCHURN_PRESETS",bU="GOT_BUTTERCHURN",wU="RESOLVE_PRESET_AT_INDEX",EU="SELECT_PRESET_AT_INDEX",yU="TOGGLE_PRESET_OVERLAY",vU="PRESET_REQUESTED",kU="TOGGLE_RANDOMIZE_PRESETS",SU="TOGGLE_PRESET_CYCLING",xU="SCHEDULE_MILKDROP_MESSAGE",IU="SET_MILKDROP_FULLSCREEN";var CU={images:{EQ_PREAMP_LINE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",EQ_GRAPH_LINE_COLORS:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="},colors:["rgb(0,0,0)","rgb(24,33,41)","rgb(239,49,16)","rgb(206,41,16)","rgb(214,90,0)","rgb(214,102,0)","rgb(214,115,0)","rgb(198,123,8)","rgb(222,165,24)","rgb(214,181,33)","rgb(189,222,41)","rgb(148,222,33)","rgb(41,206,16)","rgb(50,190,16)","rgb(57,181,16)","rgb(49,156,8)","rgb(41,148,0)","rgb(24,132,8)","rgb(255,255,255)","rgb(214,214,222)","rgb(181,189,189)","rgb(160,170,175)","rgb(148,156,165)","rgb(150,150,150)"],playlistStyle:{normal:"#00FF00",current:"#FFFFFF",normalbg:"#000000",selectedbg:"#0000FF",font:"Arial"}};const TU=[60,170,310,600,1e3,3e3,6e3,12e3,14e3,16e3],_U="main",BU="playlist",UU="equalizer",MU="milkdrop",RU="BUFFER",LU="PLAY",NU="NONE",DU="INITIALIZED",PU="FAILED",FU="COMPLETE",OU="…",zU="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),QU=CU,VU="OSCILLOSCOPE",GU="BAR",jU="NONE",YU="MILKDROP",KU=[GU,VU,jU],qU="ELAPSED",HU="REMAINING",JU="PLAYING",WU="STOPPED",XU="PAUSED",ZU="PLAYING",$U="STOPPED",eM="PAUSED",tM="ENDED",nM="CLOSED";function iM(e){return new Promise((t,n)=>{const i=new Image;i.onload=()=>{t(i)},i.onerror=n,i.src=e})}const rM=e=>{if(null==e)return{minutesFirstDigit:" ",minutesSecondDigit:" ",secondsFirstDigit:" ",secondsSecondDigit:" "};const t=Math.floor(e/60),n=e%60,i=null==e?[" "," "," "," "]:[String(Math.floor(t/10)),String(Math.floor(t%10)),String(Math.floor(n/10)),String(Math.floor(n%10))],[r,a,s,A]=i;return{minutesFirstDigit:r,minutesSecondDigit:a,secondsFirstDigit:s,secondsSecondDigit:A}},aM=(e,t=!0)=>{if(null==e)return"";const{minutesFirstDigit:n,minutesSecondDigit:i,secondsFirstDigit:r,secondsSecondDigit:a}=rM(e);return[t&&"0"===n?"":n,i,":",r,a].join("")},sM=/^\s*\[(.+?)\]\s*$/,AM=/^\s*([^;][^=]*)\s*=\s*(.*)\s*$/,oM=e=>{let t,n;return e.split(/[\r\n]+/g).reduce((e,i)=>{if((n=i.match(AM))&&null!=t){const i=n[1].trim().toLowerCase(),r=n[2].replace(/\=.*$/g,"").trim().replace(/(^")|("$)|(^')|('$)/g,"");e[t][i]=r}else(n=i.match(sM))&&(t=n[1].trim().toLowerCase(),e[t]={});return e},{})},lM=(e,t,n)=>Math.min(Math.max(e,t),n);function cM(e){return window.btoa(Array.from(e).map(e=>String.fromCharCode(e)).join(""))}function uM(e,t){const n=document.createElement("a");n.download=t,n.href=e,window.document.body.appendChild(n),n.click(),window.document.body.removeChild(n)}const hM=(e,t,n)=>(n-e)/(t-e),dM=(e,t,n)=>t+Math.round(e*(n-t)),gM=(e,t)=>dM(e,0,t-1),pM=(e,t,n,i)=>r=>dM(hM(e,t,r),n,i),fM=pM(1,64,0,100),mM=pM(0,100,1,64);function bM(e,t){const n=t,i=e;for(const e of Object.keys(n))n[e]instanceof Object&&Object.assign(n[e],bM(i[e],n[e]));return Object.assign(e||{},t),e}function wM(e,t,n,i){const r=hM(e,t,n);return i[gM(r,i.length)]}function EM(e){const t=[...e];let n=t.length;for(;n;){const e=Math.floor(Math.random()*n--),i=t[n];t[n]=t[e],t[e]=i}return t}function yM(e,t,n){const i=new Array(e.length);let r=0;for(let a=0;a<i.length;a++){const s=a-n;if(s>=0&&s<e.length&&t(s))i[a]=e[s];else{for(;r<e.length&&t(r);)r++;i[a]=e[r],r++}}return i}function vM(e,t,n){return[...e.slice(0,t),n,...e.slice(t+1)]}let kM=0;function SM(e,t){const n={};return Object.keys(e).forEach(i=>n[i]=t(e[i],i)),n}const xM=e=>{if(0===e.length)return null;const t=e.map(e=>({left:e.x,top:e.y,bottom:e.y+e.height,right:e.x+e.width}));return t.reduce((e,t)=>({left:Math.min(e.left,t.left),top:Math.min(e.top,t.top),bottom:Math.max(e.bottom,t.bottom),right:Math.max(e.right,t.right)}))};function IM(){return{width:Math.max(document.body.scrollWidth,document.documentElement.scrollWidth,document.body.offsetWidth,document.documentElement.offsetWidth,document.body.clientWidth,document.documentElement.clientWidth),height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)}}function CM(e){switch(e.type){case"touchstart":case"touchmove":{const t=e.targetTouches[0]??e.touches[0];if(null==t)throw new Error("Unexpected touch event with zero touch targets.");return t}case"mousedown":case"mousemove":return e;default:throw new Error(`Unexpected event type: ${e.type}`)}}function TM(e){return CM(e).clientX}function _M(e){return CM(e).clientY}const BM={trackOrder:[],currentTrack:null,lastSelectedIndex:null,selectedTracks:new Set};const UM={focused:_U,positionsAreRelative:!0,genWindows:{[_U]:{title:"Main Window",size:[0,0],open:!0,shade:!1,canResize:!1,canShade:!0,canDouble:!0,hotkey:"Alt+W",position:{x:0,y:0}},[UU]:{title:"Equalizer",size:[0,0],open:!0,shade:!1,canResize:!1,canShade:!0,canDouble:!0,hotkey:"Alt+G",position:{x:0,y:0}},[BU]:{title:"Playlist Editor",size:[0,0],open:!0,shade:!1,canResize:!0,canShade:!0,canDouble:!1,hotkey:"Alt+E",position:{x:0,y:0}},[MU]:{title:"Milkdrop",size:[0,0],open:!1,shade:!1,canResize:!0,canShade:!1,canDouble:!1,position:{x:0,y:0}}},browserWindowSize:{width:0,height:0},windowOrder:[BU,UU,MU,_U],milkdropEnabled:!1};function MM(e){return{positionsAreRelative:e.positionsAreRelative,genWindows:SM(e.genWindows,e=>({size:e.size,open:e.open,hidden:!1,shade:e.shade||!1,position:e.position})),focused:e.focused}}const RM={timeMode:qU,timeElapsed:0,volume:Math.round(200/255*100),balance:0,shuffle:!1,repeat:!1,status:$U};function LM(e){const{volume:t,balance:n,shuffle:i,repeat:r}=e;return{volume:t,balance:n,shuffle:i,repeat:r}}var NM,DM=FM;function PM(e,t){return e===t}function FM(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:PM,n=null,i=null;return function(){return function(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var i=t.length,r=0;r<i;r++)if(!e(t[r],n[r]))return!1;return!0}(t,n,arguments)||(i=e.apply(null,arguments)),n=arguments,i}}NM=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(){for(var t=arguments.length,i=Array(t),r=0;r<t;r++)i[r]=arguments[r];var a=0,s=i.pop(),A=function(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every(function(e){return"function"==typeof e})){var n=t.map(function(e){return typeof e}).join(", ");throw new Error("Selector creators expect all input-selectors to be functions, instead received the following types: ["+n+"]")}return t}(i),o=e.apply(void 0,[function(){return a++,s.apply(null,arguments)}].concat(n)),l=FM(function(){for(var e=[],t=A.length,n=0;n<t;n++)e.push(A[n].apply(null,arguments));return o.apply(null,e)});return l.resultFunc=s,l.recomputations=function(){return a},l.resetRecomputations=function(){return a=0},l}}(FM);const OM={itemBackground:"rgb(0,0,0)",itemForeground:"rgb(0,255,0)",windowBackground:"rgb(56,55,87)",buttonText:"rgb(57,57,66)",windowText:"rgb(255,255,255)",divider:"rgb(117,116,139)",playlistSelection:"rgb(0,0,198)",listHeaderBackground:"rgb(72,72,120)",listHeaderText:"rgb(255,255,255)",listHeaderFrameTopAndLeft:"rgb(108,108,180)",listHeaderFrameBottomAndRight:"rgb(36,36,60)",listHeaderFramePressed:"rgb(18,18,30)",listHeaderDeadArea:"rgb(36,36,60)",scrollbarOne:"rgb(36,36,60)",scrollbarTwo:"rgb(36,36,60)",pressedScrollbarOne:"rgb(121,130,150)",pressedScrollbarTwo:"rgb(78,88,110)",scrollbarDeadArea:"rgb(36,36,60)",listTextHighlighted:"rgb(0,198,255)",listTextHighlightedBackground:"rgb(0,198,255)",listTextSelected:"rgb(0,198,255)",listTextSelectedBackground:"rgb(0,198,255)"},zM={doubled:!1,marqueeStep:0,disableMarquee:!1,loading:!0,llama:!1,closed:!1,working:!1,skinImages:QU.images,skinColors:QU.colors,skinCursors:null,skinPlaylistStyle:null,skinRegion:{},visualizerStyle:0,dummyVizData:null,playlistScrollPosition:0,skinGenLetterWidths:null,skinGenExColors:OM,additionalVisualizers:[],zIndex:0},QM=e=>{const{visualizerStyle:t,doubled:n,llama:i,marqueeStep:r,skinImages:a,skinCursors:s,skinRegion:A,skinGenLetterWidths:o,skinColors:l,skinPlaylistStyle:c}=e;let u=null;return null!=s&&(u=SM(s,e=>"cur"===e.type?e.url:void 0)),{visualizerStyle:t,doubled:n,llama:i,marqueeStep:r,skinImages:a,skinCursors:u,skinRegion:A,skinGenLetterWidths:o,skinColors:l,skinPlaylistStyle:c}},VM=NM(e=>e.visualizerStyle,e=>KU[e]),GM={focus:null,bandFocused:null,scrubPosition:0,userMessage:null},jM={on:!0,auto:!1,sliders:{preamp:50,60:50,170:50,310:50,600:50,1e3:50,3e3:50,6e3:50,12e3:50,14e3:50,16e3:50}};const YM={availableSkins:[]};var KM=function(e,t,n,i,r,a,s,A){if(!e){var o;if(void 0===t)o=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,i,r,a,s,A],c=0;(o=new Error(t.replace(/%s/g,function(){return l[c++]}))).name="Invariant Violation"}throw o.framesToPop=1,o}},qM=t(KM);async function HM(e){return new Promise((t,n)=>{const i=new FileReader;i.onload=()=>{t(i.result)},i.onerror=n,i.readAsText(e)})}async function JM({accept:e,directory:t=!1}={accept:null,directory:!1}){return new Promise(n=>{const i=document.createElement("input");e&&i.setAttribute("accept",e),i.type="file",i.multiple=!0,i.webkitdirectory=t,i.directory=t,i.mozdirectory=t,i.value=null,i.addEventListener("change",e=>{const t=e.target.files;n(t)}),i.click()})}function WM(e){return`data:image/x-win-bitmap;base64,${cM(e)}`}const XM=function(e){const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))}(e=>{const{artist:t,title:n,defaultName:i,url:r}=e;if(t&&n)return`${t} - ${n}`;if(n)return n;if(i)return i;if(r){const e=function(e){if(function(e){return/^blob:/.test(e)}(e))return null;const t=e.split("/").pop();return null==t?null:t.split("#")[0].split("?")[0]}(r);if(e)return e}return"???"}),ZM={};var $M;!function(e){e[e.IMMEDIATE=0]="IMMEDIATE",e[e.DEFAULT=1]="DEFAULT",e[e.USER_PRESET=2]="USER_PRESET"}($M||($M={}));const eR={display:"WINDOW",overlay:!1,presetHistory:[],presets:[],currentPresetIndex:null,butterchurn:null,transitionType:$M.DEFAULT,randomize:!0,cycling:!0,message:null},tR=function(e){const t=Object.keys(e),n={};for(let i=0;i<t.length;i++){const r=t[i];"function"==typeof e[r]&&(n[r]=e[r])}const i=Object.keys(n);let r;try{!function(e){Object.keys(e).forEach(t=>{const n=e[t];if(void 0===n(void 0,{type:J_.INIT}))throw new Error(K_(12));if(void 0===n(void 0,{type:J_.PROBE_UNKNOWN_ACTION()}))throw new Error(K_(13))})}(n)}catch(e){r=e}return function(e={},t){if(r)throw r;let a=!1;const s={};for(let r=0;r<i.length;r++){const A=i[r],o=n[A],l=e[A],c=o(l,t);if(void 0===c)throw t&&t.type,new Error(K_(14));s[A]=c,a=a||c!==l}return a=a||i.length!==Object.keys(e).length,a?s:e}}({userInput:(e=GM,t)=>{switch(t.type){case hB:return{...e,focus:t.input,bandFocused:null};case dB:return{...e,focus:t.input,bandFocused:t.bandFocused};case MB:return{...e,focus:null,bandFocused:null};case fB:return{...e,scrubPosition:t.position};case"SET_USER_MESSAGE":return{...e,userMessage:t.message};case"UNSET_USER_MESSAGE":return{...e,userMessage:null};default:return e}},windows:(e=UM,t)=>{switch(t.type){case pU:return{...e,milkdropEnabled:!0,genWindows:{...e.genWindows,[MU]:{...e.genWindows[MU],open:t.open}}};case gB:let n=e.windowOrder;return null!=t.window&&(n=[...e.windowOrder.filter(e=>e!==t.window),t.window]),{...e,focused:t.window,windowOrder:n};case sU:const{canShade:i}=e.genWindows[t.windowId];if(!i)throw new Error(`Tried to shade/unshade a window that cannot be shaded: ${t.windowId}`);return{...e,genWindows:{...e.genWindows,[t.windowId]:{...e.genWindows[t.windowId],shade:!e.genWindows[t.windowId].shade}}};case ZB:const r=e.genWindows[t.windowId];return{...e,genWindows:{...e.genWindows,[t.windowId]:{...r,open:!r.open}}};case $B:return{...e,genWindows:{...e.genWindows,[t.windowId]:{...e.genWindows[t.windowId],open:!1}}};case aU:const{canResize:a}=e.genWindows[t.windowId];if(!a)throw new Error(`Tried to resize a window that cannot be resized: ${t.windowId}`);return{...e,genWindows:{...e.genWindows,[t.windowId]:{...e.genWindows[t.windowId],size:t.size}}};case rU:return{...e,positionsAreRelative:!0!==t.absolute&&e.positionsAreRelative,genWindows:SM(e.genWindows,(e,n)=>{const i=t.positions[n];return null==i?e:{...e,position:i}})};case hU:return{...e,genWindows:SM(e.genWindows,e=>({...e,size:[0,0]}))};case uU:{const{genWindows:n,focused:i,positionsAreRelative:r}=t.serializedState.windows;return{...e,positionsAreRelative:r,genWindows:SM(e.genWindows,(e,t)=>{const i=n[t];if(null==i)return e;const{hidden:r,...a}=i;return{...e,...a}}),focused:i}}case dU:return{...e,browserWindowSize:{height:t.height,width:t.width}};default:return e}},display:(e=zM,t)=>{switch(t.type){case gU:{const{skinImages:t,skinColors:n,skinCursors:i,skinPlaylistStyle:r,skinRegion:a,skinGenLetterWidths:s,skinGenExColors:A}=zM;return{...e,skinImages:t,skinColors:n,skinCursors:i,skinPlaylistStyle:r,skinRegion:a,skinGenLetterWidths:s,skinGenExColors:A}}case kB:return{...e,doubled:!e.doubled};case CB:return{...e,llama:!e.llama};case EB:return e.disableMarquee?e:{...e,marqueeStep:e.marqueeStep+1};case"DISABLE_MARQUEE":return{...e,disableMarquee:!0};case vB:return{...e,working:!1};case wB:return{...e,working:!0};case nB:return{...e,closed:!0};case iB:return{...e,closed:!1};case lU:return{...e,loading:!0};case AU:return{...e,loading:!1};case mB:const{data:n}=t;return{...e,loading:!1,skinImages:n.skinImages,skinColors:n.skinColors,skinPlaylistStyle:n.skinPlaylistStyle,skinCursors:n.skinCursors,skinRegion:n.skinRegion,skinGenLetterWidths:n.skinGenLetterWidths,skinGenExColors:n.skinGenExColors||OM};case UB:return{...e,visualizerStyle:(e.visualizerStyle+1)%KU.length};case LB:return{...e,playlistScrollPosition:t.position};case oU:return{...e,zIndex:t.zIndex};case"SET_DUMMY_VIZ_DATA":return{...e,dummyVizData:t.data};case uU:{const{skinCursors:n,...i}=t.serializedState.display,r=null==n?null:SM(n,e=>({type:"cur",url:e}));return{...e,skinCursors:r,...i}}default:return e}},settings:(e=YM,t)=>t.type===GB?{...e,availableSkins:t.skins}:e,equalizer:(e=jM,t)=>{switch(t.type){case uB:const n={...e.sliders,[t.band]:t.value};return{...e,sliders:n};case xB:return{...e,on:!0};case IB:return{...e,on:!1};case SB:return{...e,auto:t.value};case uU:return t.serializedState.equalizer||e;default:return e}},playlist:(e=BM,t)=>{switch(t.type){case NB:return{...e,selectedTracks:new Set([e.trackOrder[t.index]]),lastSelectedIndex:t.index};case DB:{const r=e.trackOrder[t.index],a=new Set(e.selectedTracks);return i=r,(n=a).has(i)?n.delete(i):n.add(i),{...e,selectedTracks:a,lastSelectedIndex:t.index}}case PB:if(null==e.lastSelectedIndex)return e;const r=t.index,a=Math.min(r,e.lastSelectedIndex),s=Math.max(r,e.lastSelectedIndex),A=new Set(e.trackOrder.slice(a,s+1));return{...e,selectedTracks:A};case FB:return{...e,selectedTracks:new Set(e.trackOrder)};case OB:return{...e,selectedTracks:new Set};case zB:return{...e,selectedTracks:new Set(e.trackOrder.filter(t=>!e.selectedTracks.has(t)))};case QB:return{...e,trackOrder:[],currentTrack:null,selectedTracks:new Set,lastSelectedIndex:null};case VB:const o=new Set(t.ids.map(Number)),{currentTrack:l}=e;return{...e,trackOrder:e.trackOrder.filter(e=>!o.has(e)),currentTrack:o.has(Number(l))?null:l,selectedTracks:new Set(Array.from(e.selectedTracks).filter(e=>o.has(e))),lastSelectedIndex:null};case jB:return{...e,trackOrder:[...e.trackOrder].reverse(),lastSelectedIndex:null};case YB:return{...e,trackOrder:EM(e.trackOrder)};case KB:const{trackOrder:c}=t;return{...e,trackOrder:c};case tB:const u=null==t.atIndex?e.trackOrder.length:t.atIndex;return{...e,trackOrder:[...e.trackOrder.slice(0,u),Number(t.id),...e.trackOrder.slice(u)],lastSelectedIndex:null};case qB:case HB:return{...e,currentTrack:t.id};case JB:return{...e,trackOrder:yM(e.trackOrder,t=>e.selectedTracks.has(e.trackOrder[t]),t.offset),lastSelectedIndex:null};default:return e}var n,i},media:(e=RM,t)=>{switch(t.type){case oB:case aB:return{...e,status:ZU};case AB:return{...e,status:eM};case yB:return{...e,status:$U};case sB:return{...e,status:tM};case iB:return{...e,status:$U};case nB:return{...e,status:nM};case BB:const n=e.timeMode===HU?qU:HU;return{...e,timeMode:n};case RB:return{...e,timeElapsed:t.elapsed};case pB:return{...e};case bB:return{...e,volume:t.volume};case cB:return{...e,balance:t.balance};case TB:return{...e,repeat:!e.repeat};case _B:return{...e,shuffle:!e.shuffle};case uU:return{...e,...t.serializedState.media};default:return e}},network:(e={connected:!0},t)=>{switch(t.type){case nU:return{...e,connected:!0};case iU:return{...e,connected:!1};default:return e}},tracks:(e=ZM,t)=>{switch(t.type){case tB:return{...e,[t.id]:{id:t.id,defaultName:t.defaultName||null,duration:t.duration??null,url:t.url,mediaTagsRequestStatus:DU}};case pB:{const n={...e[t.id],duration:t.length};return{...e,[t.id]:n}}case eU:return{...e,[t.id]:{...e[t.id],mediaTagsRequestStatus:DU}};case tU:return{...e,[t.id]:{...e[t.id],mediaTagsRequestStatus:PU}};case XB:return{...e,[t.id]:{...e[t.id],duration:t.duration}};case WB:const n=e[t.id],{sampleRate:i,bitrate:r,numberOfChannels:a,title:s,artist:A,album:o,albumArtUrl:l}=t,{kbps:c,khz:u,channels:h}=n;return{...e,[t.id]:{...n,mediaTagsRequestStatus:FU,title:s,artist:A,album:o,albumArtUrl:l,kbps:null!=r?String(Math.round(r/1e3)):c,khz:null!=i?String(Math.round(i/1e3)):u,channels:null!=a?a:h}};default:return e}},milkdrop:(e=eR,t)=>{switch(t.type){case fU:return{...e,display:t.enabled?"DESKTOP":"WINDOW"};case IU:return{...e,display:t.enabled?"FULLSCREEN":"WINDOW"};case bU:return{...e,butterchurn:t.butterchurn};case mU:return{...e,presets:e.presets.concat(t.presets)};case vU:return t.addToHistory?{...e,presetHistory:[...e.presetHistory,t.index]}:{...e,presetHistory:e.presetHistory.slice(0,-1)};case wU:const n=e.presets[t.index];return{...e,presets:vM(e.presets,t.index,{type:"RESOLVED",name:n.name,preset:t.json})};case EU:return{...e,currentPresetIndex:t.index,transitionType:t.transitionType};case yU:return{...e,overlay:!e.overlay};case kU:return{...e,randomize:!e.randomize};case SU:return{...e,cycling:!e.cycling};case xU:return{...e,message:{text:t.message,time:Date.now()}};default:return e}}}),nR={height:"2px",borderWidth:0,color:"gray",backgroundColor:"gray"},iR=e=>Fd.jsx("font",{...e}),rR=e=>Fd.jsx("hr",{...e}),aR=e=>Fd.jsx("div",{...e}),sR=e=>Fd.jsx("table",{...e}),AR=e=>Fd.jsxs(Fd.Fragment,{children:[Fd.jsxs(aR,{align:"center",children:[Fd.jsx(aR,{className:"para2",align:"center",children:Fd.jsx("p",{children:"WINAMP"})}),Fd.jsx(aR,{className:"para1",align:"center",children:Fd.jsx("p",{children:"playlist"})})]}),Fd.jsx(rR,{align:"left",width:"90%",size:"1",color:"#FFBF00",style:nR}),Fd.jsx(aR,{align:"right",children:Fd.jsx(sR,{border:"0",cellSpacing:"0",cellPadding:"0",width:"98%",children:Fd.jsx("tbody",{children:Fd.jsx("tr",{children:Fd.jsxs("td",{children:[Fd.jsx("small",{children:Fd.jsxs("small",{children:[Fd.jsx(iR,{face:"Arial",color:"#FFBF00",children:e.numberOfTracks}),Fd.jsx(iR,{color:"#409FFF",face:"Arial",children:" track in playlist, average track length: "}),Fd.jsx(iR,{face:"Arial",color:"#FFBF00",children:e.averageTrackLength})]})}),Fd.jsx("br",{}),Fd.jsx("small",{children:Fd.jsxs("small",{children:[Fd.jsx(iR,{color:"#409FFF",face:"Arial",children:"Playlist length: "}),Fd.jsx(iR,{face:"Arial",color:"#FFBF00",children:e.playlistLengthMinutes}),Fd.jsx(iR,{color:"#409FFF",face:"Arial",children:" minutes "}),Fd.jsx(iR,{face:"Arial",color:"#FFBF00",children:e.playlistLengthSeconds}),Fd.jsx(iR,{color:"#409FFF",face:"Arial",children:" second "}),Fd.jsx("br",{}),Fd.jsxs(iR,{color:"#409FFF",face:"Arial",children:["Right-click ",Fd.jsx("a",{href:"./",children:"here"})," to save this HTML file."]})]})})]})})})})}),Fd.jsxs("blockquote",{children:[Fd.jsx("p",{children:Fd.jsx(iR,{color:"#FFBF00",face:"Arial",children:Fd.jsx("big",{children:"Playlist files:"})})}),Fd.jsx("ul",{children:Fd.jsx(iR,{face:"Arial",color:"#FFFFFF",children:Fd.jsx("small",{children:e.tracks.map(e=>Fd.jsxs("span",{children:[e,Fd.jsx("br",{})]},e))})})})]}),Fd.jsx(rR,{align:"left",width:"90%",size:"1",color:"#FFBF00",style:nR})]}),oR=e=>{return t=(e=>{const t=document.createElement("div"),n=hT.createRoot(t);return Lg.flushSync(()=>{n.render(Fd.jsx(AR,{...e}))}),`\n <html>\n <head>\n <link rel="stylesheet" href="null" />\n <style type="text/css">\n body { background: #000040; }\n .para1 { margin-top: -42px; margin-left: 145px; margin-right: 10px; font-family: "font2, Arial"; font-size: 30px; line-height: 35px; text-align: left; color: #E1E1E1; }\n .para2 { margin-top: 15px; margin-left: 15px; margin-right: 50px; font-family: "font1, Arial Black"; font-size: 50px; line-height: 40px; text-align: left; color: #004080; }\n </style>\n <title>Winamp Generated PlayList</title>\n </head>\n <body bgcolor="#000080" topmargin="0" leftmargin="0" text="#FFFFFF">\n ${t.innerHTML}\n </body\n </html>`})(e),`data:text/html;base64,${window.btoa(t)}`;var t},lR=(e,t)=>{const n=(i=(t-50)/50*12,(Math.round(10*i)/10).toFixed(1));var i;var r;return`EQ: ${"preamp"===e?"Preamp":(r=e)<1e3?`${r}HZ`:r/1e3+"KHZ"} ${(e=>e>0?`+${e}`:e.toString())(Number(n))} DB`};const cR=e=>e.equalizer.sliders,uR=NM(cR,e=>{const t={name:"Entry1",preamp:mM(e.preamp)};TU.forEach(n=>{t[`hz${n}`]=mM(e[n])});return{presets:[t],type:"Winamp EQ library file v1.1"}}),hR=e=>e.tracks,dR=e=>t=>e.tracks[t]?.url,gR=e=>e.playlist.trackOrder,pR=NM(gR,e=>e.length),fR=NM(hR,gR,(e,t)=>t.filter(t=>e[t])),mR=NM(hR,gR,(e,t)=>t.map(t=>e[t]).filter(Boolean)),bR=NM(hR,gR,(e,t)=>t.map(t=>{const n=e[t];return{url:n.url,metaData:{artist:n.artist||"",title:n.title||"",album:n.album,albumArtUrl:n.albumArtUrl||""}}})),wR=NM(hR,fR,(e,t)=>t.map(t=>e[t])),ER=e=>e.playlist.selectedTracks,yR=NM(wR,ER,(e,t)=>e.filter(e=>t.has(e.id))),vR=e=>e.reduce((e,t)=>e+Number(t.duration),0),kR=NM(wR,vR),SR=NM(yR,vR),xR=NM(kR,SR,(e,t)=>`${aM(t)}/${aM(e)}`),IR=e=>{const{playlist:t}=e;return null==t.currentTrack?-1:t.trackOrder.indexOf(t.currentTrack)},CR=NM(IR,e=>e+1),TR=e=>e.playlist.currentTrack,_R=(e,t=1)=>{const{playlist:{trackOrder:n},media:{repeat:i,shuffle:r}}=e;if(r)return(e=>{const{playlist:{trackOrder:t,currentTrack:n}}=e;if(0===t.length)return null;let i;do{i=t[Math.floor(t.length*Math.random())]}while(i===n&&t.length>1);return i})(e);const a=pR(e);if(0===a)return null;const s=IR(e);let A=s+t;return i?(A%=a,A<0&&(A+=a),n[A]):s===a-1&&t>0||0===s&&t<0?null:(A=lM(A,0,a-1),n[A])},BR=e=>e.windows.genWindows,UR=NM(BR,e=>t=>e[t].open),MR=NM(function(e){return"WINDOW"===e.milkdrop.display},e=>t=>t===MU&&!e),RR=NM(BR,e=>t=>e[t].shade),LR=NM(BR,e=>t=>e[t].size),NR=NM(BR,e=>SM(e,e=>e.position)),DR=NM(LR,e=>{const t=e("playlist");return Math.floor((58+29*t[1])/13)}),PR=NM(pR,DR,(e,t)=>Math.max(0,e-t)),FR=e=>e.display.playlistScrollPosition,OR=NM(PR,FR,(e,t)=>0===e?0:Math.round(Math.round(e*t/100)/e*100)),zR=NM(FR,pR,DR,(e,t,n)=>{const i=Math.max(0,t-n);return gM(e/100,i+1)}),QR=NM(zR,gR,DR,(e,t,n)=>t.slice(e,e+n));function VR(e){return QR(e).length===e.playlist.trackOrder.length}const GR=NM(QR,e=>t=>e.includes(t));NM(QR,hR,(e,t)=>e.map(e=>t[e]));const jR=e=>{const{playlist:t,tracks:n}=e;if(null==t.currentTrack)return null;const i=n[t.currentTrack];return i&&i.duration},YR=NM(hR,e=>DM(t=>((e,t=null)=>{if(null==t)return null;const n=e[t];return null==n?null:XM(n)})(e,t))),KR=NM(TR,YR,(e,t)=>t(e)),qR=e=>e.media.status,HR=NM(qR,e=>{switch(e){case"PLAYING":case"PAUSED":return e;case"STOPPED":case"ENDED":case"CLOSED":return"STOPPED";default:throw new Error(`Unknown media status: ${e}`)}}),JR=e=>e.media.status===JU,WR=NM(TR,hR,(e,t)=>null==e?null:t[e]),XR=NM(JR,WR,(e,t)=>e&&t&&t.mediaTagsRequestStatus!==DU?t.id:null),ZR=NM(WR,e=>null==e?null:{url:e.url,metaData:{title:e.title||null,artist:e.artist||null,album:e.album||null,albumArtUrl:e.albumArtUrl||null}}),$R=NM(CR,KR,(e,t)=>null==t?null:`${e}. ${t}`),eL=NM($R,jR,(e,t)=>null==e?null:`${e} (${aM(t)})`),tL=e=>gR(e).length,nL=NM(hR,e=>Object.values(e).reduce((e,t)=>e+(t.duration||0),0)),iL=NM(tL,nL,gR,hR,YR,(e,t,n,i,r)=>oR({numberOfTracks:e,averageTrackLength:aM(t/e),playlistLengthMinutes:Math.floor(t/60),playlistLengthSeconds:Math.floor(t%60),tracks:n.map((e,t)=>`${t+1}. ${r(e)} (${aM(i[e].duration)})`)}));function rL(e,t){const[n,i]=e.size,r=t&&e.canDouble?2:1,a=116+29*i,s=275+25*n;return{height:(e.shade?14:a)*r,width:s*r}}function aL(e){return e.windows.focused}function sL(e){return e.display.doubled}function AL(e){return e.display.llama}function oL(e){return e.display.zIndex}const lL=NM(BR,sL,(e,t)=>SM(e,e=>rL(e,t))),cL=NM(lL,e=>t=>e[t]),uL=NM(e=>e.windows.windowOrder,BR,(e,t)=>[_U,...e.filter(e=>e!==_U&&null!=t[e])]),hL=NM(lL,NR,uL,(e,t,n)=>n.map(n=>({key:n,...e[n],...t[n]}))),dL=NM(hL,function(e){const t={},n={};for(const i of e){const e=i.y+i.height;t[e]?t[e].push(i):t[e]=[i];const r=i.x+i.width;n[r]?n[r].push(i):n[r]=[i]}const i={};for(const r of e){const e={},a=r.y,s=r.x,A=t[a],o=n[s];if(A)for(const t of A){const n=t.x+t.width<r.x,i=t.x>r.x+r.width;if(!(n||i)){e.below=t.key;break}}if(o)for(const t of o){const n=t.y+t.height<r.y,i=t.y>r.y+r.height;if(!(n||i)){e.right=t.key;break}}i[r.key]=e}return i}),gL={normal:"#00FF00",current:"#FFFFFF",normalbg:"#000000",selectedbg:"#0000C6",font:"Arial"};function pL(e){return e.display.skinColors}const fL=e=>e.display.skinPlaylistStyle||gL,mL=e=>{const t=e.windows.genWindows[MU];return null!=t&&t.open?YU:VM(e.display)},bL=e=>e.media.volume,wL=e=>e.media.balance,EL=e=>e.media.shuffle,yL=e=>e.media.repeat,vL=NM(WR,e=>null!=e&&e.channels||null),kL=e=>e.media.timeElapsed;function SL(e){return e.equalizer.on}function xL(e){return e.windows.browserWindowSize}const IL=NM(BR,e=>{return t=e,n=e=>e.open,Object.keys(t).reduce((e,i)=>(n(t[i],i)&&(e[i]=t[i]),e),{});var t,n}),CL=NM(IL,sL,(e,t)=>{let n=0;return SM(e,e=>{const i={x:0,y:n};return n+=rL(e,t).height,i})}),TL=e=>e.userInput.focus,_L=e=>e.userInput.scrubPosition,BL=e=>{const t="Winamp 2.91";if(null!=e.userInput.userMessage)return e.userInput.userMessage;switch(TL(e)){case"balance":return(e=>{if(0===e)return"Balance: Center";const t=e>0?"Right":"Left";return`Balance: ${Math.abs(e)}% ${t}`})(e.media.balance);case"volume":return`Volume: ${e.media.volume}%`;case"position":const n=jR(e);return null==n?t:((e,t)=>`Seek to: ${aM(e*t/100,!1)}/${aM(e,!1)} (${t}%)`)(n,_L(e));case"double":return(e.display.doubled?"Disable":"Enable")+" doublesize mode";case"eq":const i=e.userInput.bandFocused;return null==i?t:lR(i,e.equalizer.sliders[i])}if(null!=e.playlist.currentTrack){const n=eL(e);return null==n?t:n}return t},UL=NM(WR,e=>null!=e&&e.kbps||null),ML=NM(WR,e=>null!=e&&e.khz||null);function RL(e){return e.milkdrop.message}function LL(e){return e.windows.milkdropEnabled}function NL(e){return"DESKTOP"===e.milkdrop.display}function DL(e){return"FULLSCREEN"===e.milkdrop.display}function PL(e){return e.milkdrop.butterchurn}function FL(e){return e.milkdrop.transitionType}function OL(e){return e.milkdrop.currentPresetIndex}function zL(e){const t=OL(e);if(null==t)return null;const n=e.milkdrop.presets[t];return null==n||"UNRESOLVED"===n.type?null:n.preset}function QL(e){return e.milkdrop.presets.map(e=>e.name)}function VL(e){return e.milkdrop.overlay}function GL(e){return e.milkdrop.cycling}function jL(e){return e.milkdrop.randomize}function YL(e){return e.display.closed}function KL(e){return e.display.skinRegion}const qL=NM(function(e){return e.display.skinImages.EQ_PREAMP_LINE},async e=>null==e?null:iM(e)),HL=NM(function(e){return e.display.skinImages.EQ_GRAPH_LINE_COLORS},async e=>null==e?null:iM(e));function JL(e){return e.display.marqueeStep}function WL(e){return e.network.connected}function XL(e){return e.media.timeMode}function ZL(e){return e.display.loading}function $L(e){return e.display.working}function eN(e){return e.settings.availableSkins}const tN=15,nN=e=>e.y,iN=e=>e.y+e.height,rN=e=>e.x,aN=e=>e.x+e.width,sN=(e,t)=>Math.abs(e-t)<tN,AN=(e,t)=>{let n,i;return((e,t)=>nN(e)<=iN(t)+tN&&nN(t)<=iN(e)+tN)(e,t)&&(sN(rN(e),aN(t))?n=aN(t):sN(aN(e),rN(t))?n=rN(t)-e.width:sN(rN(e),rN(t))?n=rN(t):sN(aN(e),aN(t))&&(n=aN(t)-e.width)),((e,t)=>rN(e)<=aN(t)+tN&&rN(t)<=aN(e)+tN)(e,t)&&(sN(nN(e),iN(t))?i=iN(t):sN(iN(e),nN(t))?i=nN(t)-e.height:sN(nN(e),nN(t))?i=nN(t):sN(iN(e),iN(t))&&(i=iN(t)-e.height)),{x:n,y:i}},oN=(e,t)=>{const n=AN(e,t);return{x:void 0===n.x?0:n.x-e.x,y:void 0===n.y?0:n.y-e.y}},lN=(e,t)=>{let n=0,i=0;for(const r of e)for(const e of t){const t=oN(r,e);if(n=n||t.x,i=i||t.y,void 0!==n&&n>0&&void 0!==i&&i>0)break}return{x:n,y:i}},cN=(e,t)=>{const n=((e,t)=>{let n,i;return e.x-tN<0?n=0:e.x+e.width+tN>t.width&&(n=t.width-e.width),e.y-tN<0?i=0:e.y+e.height+tN>t.height&&(i=t.height-e.height),{x:n,y:i}})(e,t);return{x:void 0===n.x?0:n.x-e.x,y:void 0===n.y?0:n.y-e.y}};const uN=(e,t)=>({x:e.x+t.x,y:e.y+t.y});function hN(e){return(t,n)=>{const i=n(),r=dL(i),a=lL(i);t(e);const s=lL(n()),A={};for(const e of Object.keys(s)){const t=a[e],n=s[e];A[e]={height:n.height-t.height,width:n.width-t.width}}const o=function(e,t){const n={},i={};for(const t of Object.keys(e))n[t]={above:[],left:[]},i[t]={x:0,y:0};for(const[t,i]of Object.entries(e)){const{below:e,right:r}=i;null!=r&&n[r].left.push(t),null!=e&&n[e].above.push(t)}function r(e){const a=n[e],s=t[e];a.left.forEach(t=>{i[t].x+=s.width+i[e].x,r(t)})}function a(e){const r=n[e],s=t[e];r.above.forEach(t=>{i[t].y+=s.height+i[e].y,a(t)})}for(const[t,n]of Object.entries(e))null==n.below&&a(t),null==n.right&&r(t);return i}(r,A),l=SM(NR(i),(e,t)=>uN(e,o[t]));t(yN(l))}}function dN(){return hN({type:kB})}function gN(){return hN({type:sU,windowId:"equalizer"})}function pN(){return hN({type:sU,windowId:"main"})}function fN(){return hN({type:sU,windowId:"playlist"})}function mN(e){return{type:$B,windowId:e}}function bN(e){return{type:gB,window:e}}function wN(e,t){return{type:aU,windowId:e,size:t}}function EN(e){return{type:ZB,windowId:e}}function yN(e,t){return{type:rU,positions:e,absolute:t}}function vN({left:e,top:t,width:n,height:i}){return(r,a)=>{const s=a(),A=hL(s),o=UR(s),l=e+window.scrollX,c=t+window.scrollY,u=xM(A.filter(e=>o(e.key)));if(null==u)return;const h=u.bottom-u.top,d=u.right-u.left,g=Math.ceil(l-u.left+(n-d)/2),p=Math.ceil(c-u.top+(i-h)/2),f=A.reduce((e,t)=>({...e,[t.key]:{x:g+t.x,y:p+t.y}}),{});r(yN(f,!0))}}function kN(e){return t=>{t({type:dU,...e}),t(xN())}}function SN(){return(e,t)=>{e(yN(CL(t())))}}function xN(){return(e,t)=>{const n=t(),i=hL(n),r=UR(n),{height:a,width:s}=IM(),A=xM(i.filter(e=>r(e.key)));if(null==A)return;const o=NR(n);if(A.left>=0&&A.top>=0&&A.right<=s&&A.bottom<=a)return;const l=A.bottom-A.top;if(A.right-A.left<=s&&l<=a){let t=0,n=0;A.top<=0?t=A.top:A.bottom>a&&(t=A.bottom-a),A.left<=0?n=A.left:A.right>s&&(n=A.right-s);e(yN(SM(o,e=>({x:e.x-n,y:e.y-t}))))}else e({type:hU}),e(SN()),e(function(){const e=window.innerHeight;return vN({left:0,top:0,width:window.innerWidth,height:e})}())}}function IN(e){return(t,n)=>{const i=n();t(HR(i)===WU?{type:HB,id:e}:{type:qB,id:e})}}function CN(e){return{type:qB,id:e}}function TN(){return(e,t)=>{const n=t();n.media.status===WU&&null==n.playlist.currentTrack&&0===n.playlist.trackOrder.length?e(sP()):e({type:oB})}}function _N(){return(e,t)=>{const{status:n}=t().media;e(n===JU?{type:AB}:{type:oB})}}function BN(){return{type:yB}}function UN(e){return(t,n)=>{const i=_R(n(),e);t(null!=i?IN(i):{type:sB})}}function MN(){return UN(1)}function RN(){return UN(-1)}function LN(e){return function(t,n){const i=n(),r=jR(i);null!=r&&t({type:lB,percent:e/r*100})}}function NN(e){return function(t,n){t(LN(kL(n())+e))}}function DN(e){return NN(-e)}function PN(e){return{type:bB,volume:lM(e,0,100)}}function FN(e){return(t,n)=>t(PN(n().media.volume+e))}function ON(e){return e.preventDefault(),(t,n)=>t(PN(n().media.volume+e.deltaY))}function zN(e){return e=lM(e,-100,100),Math.abs(e)<25&&(e=0),{type:cB,balance:e}}function QN(){return{type:TB}}function VN(){return{type:_B}}function GN(){return{type:BB}}const jN=5,YN=50;function KN(e){return e<YN+jN&&e>YN-jN?YN:e}function qN(e,t){return{type:uB,band:e,value:KN(t)}}function HN(e){return t=>{Object.values(TU).forEach(n=>{t({type:uB,value:e,band:n})})}}function JN(){return HN(100)}function WN(){return HN(50)}function XN(){return HN(0)}function ZN(e){return{type:uB,band:"preamp",value:KN(e)}}function $N(){return(e,t)=>{t().equalizer.on?e({type:IB}):e({type:xB})}}function eD(){return e=>{e({type:SB,value:!1})}}var tD={PRESET_VALUES:["hz60","hz170","hz310","hz600","hz1000","hz3000","hz6000","hz12000","hz14000","hz16000","preamp"],HEADER:"Winamp EQ library file v1.1"},nD=tD;var iD=function(e){var t={},n=0,i=new Int8Array(e);if(t.type=String.fromCharCode.apply(null,i.slice(n,nD.HEADER.length)),t.type!==nD.HEADER)throw new Error("Invalid .eqf file.");for(n+=nD.HEADER.length,n+=4,t.presets=[];n<i.length;){for(var r={},a=n,s=a+257;0!==i[n]&&n<=s;)n++;r.name=String.fromCharCode.apply(null,i.slice(a,n)),n=s,nD.PRESET_VALUES.forEach(function(e){r[e]=64-i[n++]}),t.presets.push(r)}return t},rD=tD;var aD=function(e){for(var t=[],n=0;n<rD.HEADER.length;n++)t.push(rD.HEADER.charCodeAt(n));for(t.push(26),n=0;n<3;n++)t.push("!--".charCodeAt(n));if(!e.presets)throw new Error("Eqf data is missing presets");return e.presets.forEach(function(e){for(var n=0;n<e.name.length;n++)t.push(e.name.charCodeAt(n));for(;n<257;n++)t.push(0);rD.PRESET_VALUES.forEach(function(n){t.push(64-e[n])})}),new Uint8Array(t).buffer},sD={parser:iD,creator:aD};const AD={a:[0,0],b:[0,1],c:[0,2],d:[0,3],e:[0,4],f:[0,5],g:[0,6],h:[0,7],i:[0,8],j:[0,9],k:[0,10],l:[0,11],m:[0,12],n:[0,13],o:[0,14],p:[0,15],q:[0,16],r:[0,17],s:[0,18],t:[0,19],u:[0,20],v:[0,21],w:[0,22],x:[0,23],y:[0,24],z:[0,25],'"':[0,26],"@":[0,27]," ":[0,30],0:[1,0],1:[1,1],2:[1,2],3:[1,3],4:[1,4],5:[1,5],6:[1,6],7:[1,7],8:[1,8],9:[1,9],[OU]:[1,10],".":[1,11],":":[1,12],"(":[1,13],")":[1,14],"-":[1,15],"'":[1,16],"!":[1,17],_:[1,18],"+":[1,19],"\\":[1,20],"/":[1,21],"[":[1,22],"]":[1,23],"^":[1,24],"&":[1,25],"%":[1,26],",":[1,27],"=":[1,28],$:[1,29],"#":[1,30],"Å":[2,0],"Ö":[2,1],"Ä":[2,2],"?":[2,3],"*":[2,4],"<":[1,22],">":[1,23],"{":[1,22],"}":[1,23]},oD=e=>`CHARACTER_${e.charCodeAt(0)}`,lD=[];for(const e in AD)if(AD.hasOwnProperty(e)){const t=AD[e];lD.push({name:oD(e),y:6*t[0],x:5*t[1],width:5,height:6})}const cD={BALANCE:[{name:"MAIN_BALANCE_BACKGROUND",x:9,y:0,width:38,height:420},{name:"MAIN_BALANCE_THUMB",x:15,y:422,width:14,height:11},{name:"MAIN_BALANCE_THUMB_ACTIVE",x:0,y:422,width:14,height:11}],CBUTTONS:[{name:"MAIN_PREVIOUS_BUTTON",x:0,y:0,width:23,height:18},{name:"MAIN_PREVIOUS_BUTTON_ACTIVE",x:0,y:18,width:23,height:18},{name:"MAIN_PLAY_BUTTON",x:23,y:0,width:23,height:18},{name:"MAIN_PLAY_BUTTON_ACTIVE",x:23,y:18,width:23,height:18},{name:"MAIN_PAUSE_BUTTON",x:46,y:0,width:23,height:18},{name:"MAIN_PAUSE_BUTTON_ACTIVE",x:46,y:18,width:23,height:18},{name:"MAIN_STOP_BUTTON",x:69,y:0,width:23,height:18},{name:"MAIN_STOP_BUTTON_ACTIVE",x:69,y:18,width:23,height:18},{name:"MAIN_NEXT_BUTTON",x:92,y:0,width:23,height:18},{name:"MAIN_NEXT_BUTTON_ACTIVE",x:92,y:18,width:22,height:18},{name:"MAIN_EJECT_BUTTON",x:114,y:0,width:22,height:16},{name:"MAIN_EJECT_BUTTON_ACTIVE",x:114,y:16,width:22,height:16}],MAIN:[{name:"MAIN_WINDOW_BACKGROUND",x:0,y:0,width:275,height:116}],MONOSTER:[{name:"MAIN_STEREO",x:0,y:12,width:29,height:12},{name:"MAIN_STEREO_SELECTED",x:0,y:0,width:29,height:12},{name:"MAIN_MONO",x:29,y:12,width:27,height:12},{name:"MAIN_MONO_SELECTED",x:29,y:0,width:27,height:12}],NUMBERS:[{name:"NO_MINUS_SIGN",x:9,y:6,width:5,height:1},{name:"MINUS_SIGN",x:20,y:6,width:5,height:1},{name:"DIGIT_0",x:0,y:0,width:9,height:13},{name:"DIGIT_1",x:9,y:0,width:9,height:13},{name:"DIGIT_2",x:18,y:0,width:9,height:13},{name:"DIGIT_3",x:27,y:0,width:9,height:13},{name:"DIGIT_4",x:36,y:0,width:9,height:13},{name:"DIGIT_5",x:45,y:0,width:9,height:13},{name:"DIGIT_6",x:54,y:0,width:9,height:13},{name:"DIGIT_7",x:63,y:0,width:9,height:13},{name:"DIGIT_8",x:72,y:0,width:9,height:13},{name:"DIGIT_9",x:81,y:0,width:9,height:13}],NUMS_EX:[{name:"NO_MINUS_SIGN_EX",x:90,y:0,width:9,height:13},{name:"MINUS_SIGN_EX",x:99,y:0,width:9,height:13},{name:"DIGIT_0_EX",x:0,y:0,width:9,height:13},{name:"DIGIT_1_EX",x:9,y:0,width:9,height:13},{name:"DIGIT_2_EX",x:18,y:0,width:9,height:13},{name:"DIGIT_3_EX",x:27,y:0,width:9,height:13},{name:"DIGIT_4_EX",x:36,y:0,width:9,height:13},{name:"DIGIT_5_EX",x:45,y:0,width:9,height:13},{name:"DIGIT_6_EX",x:54,y:0,width:9,height:13},{name:"DIGIT_7_EX",x:63,y:0,width:9,height:13},{name:"DIGIT_8_EX",x:72,y:0,width:9,height:13},{name:"DIGIT_9_EX",x:81,y:0,width:9,height:13}],PLAYPAUS:[{name:"MAIN_PLAYING_INDICATOR",x:0,y:0,width:9,height:9},{name:"MAIN_PAUSED_INDICATOR",x:9,y:0,width:9,height:9},{name:"MAIN_STOPPED_INDICATOR",x:18,y:0,width:9,height:9},{name:"MAIN_NOT_WORKING_INDICATOR",x:36,y:0,width:9,height:9},{name:"MAIN_WORKING_INDICATOR",x:39,y:0,width:9,height:9}],PLEDIT:[{name:"PLAYLIST_TOP_TILE",x:127,y:21,width:25,height:20},{name:"PLAYLIST_TOP_LEFT_CORNER",x:0,y:21,width:25,height:20},{name:"PLAYLIST_TITLE_BAR",x:26,y:21,width:100,height:20},{name:"PLAYLIST_TOP_RIGHT_CORNER",x:153,y:21,width:25,height:20},{name:"PLAYLIST_TOP_TILE_SELECTED",x:127,y:0,width:25,height:20},{name:"PLAYLIST_TOP_LEFT_SELECTED",x:0,y:0,width:25,height:20},{name:"PLAYLIST_TITLE_BAR_SELECTED",x:26,y:0,width:100,height:20},{name:"PLAYLIST_TOP_RIGHT_CORNER_SELECTED",x:153,y:0,width:25,height:20},{name:"PLAYLIST_LEFT_TILE",x:0,y:42,width:12,height:29},{name:"PLAYLIST_RIGHT_TILE",x:31,y:42,width:20,height:29},{name:"PLAYLIST_BOTTOM_TILE",x:179,y:0,width:25,height:38},{name:"PLAYLIST_BOTTOM_LEFT_CORNER",x:0,y:72,width:125,height:38},{name:"PLAYLIST_BOTTOM_RIGHT_CORNER",x:126,y:72,width:150,height:38},{name:"PLAYLIST_VISUALIZER_BACKGROUND",x:205,y:0,width:75,height:38},{name:"PLAYLIST_SHADE_BACKGROUND",x:72,y:57,width:25,height:14},{name:"PLAYLIST_SHADE_BACKGROUND_LEFT",x:72,y:42,width:25,height:14},{name:"PLAYLIST_SHADE_BACKGROUND_RIGHT",x:99,y:57,width:50,height:14},{name:"PLAYLIST_SHADE_BACKGROUND_RIGHT_SELECTED",x:99,y:42,width:50,height:14},{name:"PLAYLIST_SCROLL_HANDLE_SELECTED",x:61,y:53,width:8,height:18},{name:"PLAYLIST_SCROLL_HANDLE",x:52,y:53,width:8,height:18},{name:"PLAYLIST_ADD_URL",x:0,y:111,width:22,height:18},{name:"PLAYLIST_ADD_URL_SELECTED",x:23,y:111,width:22,height:18},{name:"PLAYLIST_ADD_DIR",x:0,y:130,width:22,height:18},{name:"PLAYLIST_ADD_DIR_SELECTED",x:23,y:130,width:22,height:18},{name:"PLAYLIST_ADD_FILE",x:0,y:149,width:22,height:18},{name:"PLAYLIST_ADD_FILE_SELECTED",x:23,y:149,width:22,height:18},{name:"PLAYLIST_REMOVE_ALL",x:54,y:111,width:22,height:18},{name:"PLAYLIST_REMOVE_ALL_SELECTED",x:77,y:111,width:22,height:18},{name:"PLAYLIST_CROP",x:54,y:130,width:22,height:18},{name:"PLAYLIST_CROP_SELECTED",x:77,y:130,width:22,height:18},{name:"PLAYLIST_REMOVE_SELECTED",x:54,y:149,width:22,height:18},{name:"PLAYLIST_REMOVE_SELECTED_SELECTED",x:77,y:149,width:22,height:18},{name:"PLAYLIST_REMOVE_MISC",x:54,y:168,width:22,height:18},{name:"PLAYLIST_REMOVE_MISC_SELECTED",x:77,y:168,width:22,height:18},{name:"PLAYLIST_INVERT_SELECTION",x:104,y:111,width:22,height:18},{name:"PLAYLIST_INVERT_SELECTION_SELECTED",x:127,y:111,width:22,height:18},{name:"PLAYLIST_SELECT_ZERO",x:104,y:130,width:22,height:18},{name:"PLAYLIST_SELECT_ZERO_SELECTED",x:127,y:130,width:22,height:18},{name:"PLAYLIST_SELECT_ALL",x:104,y:149,width:22,height:18},{name:"PLAYLIST_SELECT_ALL_SELECTED",x:127,y:149,width:22,height:18},{name:"PLAYLIST_SORT_LIST",x:154,y:111,width:22,height:18},{name:"PLAYLIST_SORT_LIST_SELECTED",x:177,y:111,width:22,height:18},{name:"PLAYLIST_FILE_INFO",x:154,y:130,width:22,height:18},{name:"PLAYLIST_FILE_INFO_SELECTED",x:177,y:130,width:22,height:18},{name:"PLAYLIST_MISC_OPTIONS",x:154,y:149,width:22,height:18},{name:"PLAYLIST_MISC_OPTIONS_SELECTED",x:177,y:149,width:22,height:18},{name:"PLAYLIST_NEW_LIST",x:204,y:111,width:22,height:18},{name:"PLAYLIST_NEW_LIST_SELECTED",x:227,y:111,width:22,height:18},{name:"PLAYLIST_SAVE_LIST",x:204,y:130,width:22,height:18},{name:"PLAYLIST_SAVE_LIST_SELECTED",x:227,y:130,width:22,height:18},{name:"PLAYLIST_LOAD_LIST",x:204,y:149,width:22,height:18},{name:"PLAYLIST_LOAD_LIST_SELECTED",x:227,y:149,width:22,height:18},{name:"PLAYLIST_ADD_MENU_BAR",x:48,y:111,width:3,height:54},{name:"PLAYLIST_REMOVE_MENU_BAR",x:100,y:111,width:3,height:72},{name:"PLAYLIST_SELECT_MENU_BAR",x:150,y:111,width:3,height:54},{name:"PLAYLIST_MISC_MENU_BAR",x:200,y:111,width:3,height:54},{name:"PLAYLIST_LIST_BAR",x:250,y:111,width:3,height:54},{name:"PLAYLIST_CLOSE_SELECTED",x:52,y:42,width:9,height:9},{name:"PLAYLIST_COLLAPSE_SELECTED",x:62,y:42,width:9,height:9},{name:"PLAYLIST_EXPAND_SELECTED",x:150,y:42,width:9,height:9}],EQ_EX:[{name:"EQ_SHADE_BACKGROUND_SELECTED",x:0,y:0,width:275,height:14},{name:"EQ_SHADE_BACKGROUND",x:0,y:15,width:275,height:14},{name:"EQ_SHADE_VOLUME_SLIDER_LEFT",x:1,y:30,width:3,height:7},{name:"EQ_SHADE_VOLUME_SLIDER_CENTER",x:4,y:30,width:3,height:7},{name:"EQ_SHADE_VOLUME_SLIDER_RIGHT",x:7,y:30,width:3,height:7},{name:"EQ_SHADE_BALANCE_SLIDER_LEFT",x:11,y:30,width:3,height:7},{name:"EQ_SHADE_BALANCE_SLIDER_CENTER",x:14,y:30,width:3,height:7},{name:"EQ_SHADE_BALANCE_SLIDER_RIGHT",x:17,y:30,width:3,height:7},{name:"EQ_MAXIMIZE_BUTTON_ACTIVE",x:1,y:38,width:9,height:9},{name:"EQ_MINIMIZE_BUTTON_ACTIVE",x:1,y:47,width:9,height:9},{name:"EQ_SHADE_CLOSE_BUTTON",x:11,y:38,width:9,height:9},{name:"EQ_SHADE_CLOSE_BUTTON_ACTIVE",x:11,y:47,width:9,height:9}],EQMAIN:[{name:"EQ_WINDOW_BACKGROUND",x:0,y:0,width:275,height:116},{name:"EQ_TITLE_BAR",x:0,y:149,width:275,height:14},{name:"EQ_TITLE_BAR_SELECTED",x:0,y:134,width:275,height:14},{name:"EQ_SLIDER_BACKGROUND",x:13,y:164,width:209,height:129},{name:"EQ_SLIDER_THUMB",x:0,y:164,width:11,height:11},{name:"EQ_SLIDER_THUMB_SELECTED",x:0,y:176,width:11,height:11},{name:"EQ_CLOSE_BUTTON",x:0,y:116,width:9,height:9},{name:"EQ_CLOSE_BUTTON_ACTIVE",x:0,y:125,width:9,height:9},{name:"EQ_MAXIMIZE_BUTTON_ACTIVE_FALLBACK",x:254,y:152,width:9,height:9},{name:"EQ_ON_BUTTON",x:10,y:119,width:26,height:12},{name:"EQ_ON_BUTTON_DEPRESSED",x:128,y:119,width:26,height:12},{name:"EQ_ON_BUTTON_SELECTED",x:69,y:119,width:26,height:12},{name:"EQ_ON_BUTTON_SELECTED_DEPRESSED",x:187,y:119,width:26,height:12},{name:"EQ_AUTO_BUTTON",x:36,y:119,width:32,height:12},{name:"EQ_AUTO_BUTTON_DEPRESSED",x:154,y:119,width:32,height:12},{name:"EQ_AUTO_BUTTON_SELECTED",x:95,y:119,width:32,height:12},{name:"EQ_AUTO_BUTTON_SELECTED_DEPRESSED",x:213,y:119,width:32,height:12},{name:"EQ_GRAPH_BACKGROUND",x:0,y:294,width:113,height:19},{name:"EQ_GRAPH_LINE_COLORS",x:115,y:294,width:1,height:19},{name:"EQ_PRESETS_BUTTON",x:224,y:164,width:44,height:12},{name:"EQ_PRESETS_BUTTON_SELECTED",x:224,y:176,width:44,height:12},{name:"EQ_PREAMP_LINE",x:0,y:314,width:113,height:1}],POSBAR:[{name:"MAIN_POSITION_SLIDER_BACKGROUND",x:0,y:0,width:248,height:10},{name:"MAIN_POSITION_SLIDER_THUMB",x:248,y:0,width:29,height:10},{name:"MAIN_POSITION_SLIDER_THUMB_SELECTED",x:278,y:0,width:29,height:10}],SHUFREP:[{name:"MAIN_SHUFFLE_BUTTON",x:28,y:0,width:47,height:15},{name:"MAIN_SHUFFLE_BUTTON_DEPRESSED",x:28,y:15,width:47,height:15},{name:"MAIN_SHUFFLE_BUTTON_SELECTED",x:28,y:30,width:47,height:15},{name:"MAIN_SHUFFLE_BUTTON_SELECTED_DEPRESSED",x:28,y:45,width:47,height:15},{name:"MAIN_REPEAT_BUTTON",x:0,y:0,width:28,height:15},{name:"MAIN_REPEAT_BUTTON_DEPRESSED",x:0,y:15,width:28,height:15},{name:"MAIN_REPEAT_BUTTON_SELECTED",x:0,y:30,width:28,height:15},{name:"MAIN_REPEAT_BUTTON_SELECTED_DEPRESSED",x:0,y:45,width:28,height:15},{name:"MAIN_EQ_BUTTON",x:0,y:61,width:23,height:12},{name:"MAIN_EQ_BUTTON_SELECTED",x:0,y:73,width:23,height:12},{name:"MAIN_EQ_BUTTON_DEPRESSED",x:46,y:61,width:23,height:12},{name:"MAIN_EQ_BUTTON_DEPRESSED_SELECTED",x:46,y:73,width:23,height:12},{name:"MAIN_PLAYLIST_BUTTON",x:23,y:61,width:23,height:12},{name:"MAIN_PLAYLIST_BUTTON_SELECTED",x:23,y:73,width:23,height:12},{name:"MAIN_PLAYLIST_BUTTON_DEPRESSED",x:69,y:61,width:23,height:12},{name:"MAIN_PLAYLIST_BUTTON_DEPRESSED_SELECTED",x:69,y:73,width:23,height:12}],TEXT:lD,TITLEBAR:[{name:"MAIN_TITLE_BAR",x:27,y:15,width:275,height:14},{name:"MAIN_TITLE_BAR_SELECTED",x:27,y:0,width:275,height:14},{name:"MAIN_EASTER_EGG_TITLE_BAR",x:27,y:72,width:275,height:14},{name:"MAIN_EASTER_EGG_TITLE_BAR_SELECTED",x:27,y:57,width:275,height:14},{name:"MAIN_OPTIONS_BUTTON",x:0,y:0,width:9,height:9},{name:"MAIN_OPTIONS_BUTTON_DEPRESSED",x:0,y:9,width:9,height:9},{name:"MAIN_MINIMIZE_BUTTON",x:9,y:0,width:9,height:9},{name:"MAIN_MINIMIZE_BUTTON_DEPRESSED",x:9,y:9,width:9,height:9},{name:"MAIN_SHADE_BUTTON",x:0,y:18,width:9,height:9},{name:"MAIN_SHADE_BUTTON_DEPRESSED",x:9,y:18,width:9,height:9},{name:"MAIN_CLOSE_BUTTON",x:18,y:0,width:9,height:9},{name:"MAIN_CLOSE_BUTTON_DEPRESSED",x:18,y:9,width:9,height:9},{name:"MAIN_CLUTTER_BAR_BACKGROUND",x:304,y:0,width:8,height:43},{name:"MAIN_CLUTTER_BAR_BACKGROUND_DISABLED",x:312,y:0,width:8,height:43},{name:"MAIN_CLUTTER_BAR_BUTTON_O_SELECTED",x:304,y:47,width:8,height:8},{name:"MAIN_CLUTTER_BAR_BUTTON_A_SELECTED",x:312,y:55,width:8,height:7},{name:"MAIN_CLUTTER_BAR_BUTTON_I_SELECTED",x:320,y:62,width:8,height:7},{name:"MAIN_CLUTTER_BAR_BUTTON_D_SELECTED",x:328,y:69,width:8,height:8},{name:"MAIN_CLUTTER_BAR_BUTTON_V_SELECTED",x:336,y:77,width:8,height:7},{name:"MAIN_SHADE_BACKGROUND",x:27,y:42,width:275,height:14},{name:"MAIN_SHADE_BACKGROUND_SELECTED",x:27,y:29,width:275,height:14},{name:"MAIN_SHADE_BUTTON_SELECTED",x:0,y:27,width:9,height:9},{name:"MAIN_SHADE_BUTTON_SELECTED_DEPRESSED",x:9,y:27,width:9,height:9},{name:"MAIN_SHADE_POSITION_BACKGROUND",x:0,y:36,width:17,height:7},{name:"MAIN_SHADE_POSITION_THUMB",x:20,y:36,width:3,height:7},{name:"MAIN_SHADE_POSITION_THUMB_LEFT",x:17,y:36,width:3,height:7},{name:"MAIN_SHADE_POSITION_THUMB_RIGHT",x:23,y:36,width:3,height:7}],VOLUME:[{name:"MAIN_VOLUME_BACKGROUND",x:0,y:0,width:68,height:420},{name:"MAIN_VOLUME_THUMB",x:15,y:422,width:14,height:11},{name:"MAIN_VOLUME_THUMB_SELECTED",x:0,y:422,width:14,height:11}],GEN:[{name:"GEN_TOP_LEFT_SELECTED",x:0,y:0,width:25,height:20},{name:"GEN_TOP_LEFT_END_SELECTED",x:26,y:0,width:25,height:20},{name:"GEN_TOP_CENTER_FILL_SELECTED",x:52,y:0,width:25,height:20},{name:"GEN_TOP_RIGHT_END_SELECTED",x:78,y:0,width:25,height:20},{name:"GEN_TOP_LEFT_RIGHT_FILL_SELECTED",x:104,y:0,width:25,height:20},{name:"GEN_TOP_RIGHT_SELECTED",x:130,y:0,width:25,height:20},{name:"GEN_TOP_LEFT",x:0,y:21,width:25,height:20},{name:"GEN_TOP_LEFT_END",x:26,y:21,width:25,height:20},{name:"GEN_TOP_CENTER_FILL",x:52,y:21,width:25,height:20},{name:"GEN_TOP_RIGHT_END",x:78,y:21,width:25,height:20},{name:"GEN_TOP_LEFT_RIGHT_FILL",x:104,y:21,width:25,height:20},{name:"GEN_TOP_RIGHT",x:130,y:21,width:25,height:20},{name:"GEN_BOTTOM_LEFT",x:0,y:42,width:125,height:14},{name:"GEN_BOTTOM_RIGHT",x:0,y:57,width:125,height:14},{name:"GEN_BOTTOM_FILL",x:127,y:72,width:25,height:14},{name:"GEN_MIDDLE_LEFT",x:127,y:42,width:11,height:29},{name:"GEN_MIDDLE_LEFT_BOTTOM",x:158,y:42,width:11,height:24},{name:"GEN_MIDDLE_RIGHT",x:139,y:42,width:8,height:29},{name:"GEN_MIDDLE_RIGHT_BOTTOM",x:170,y:42,width:8,height:24},{name:"GEN_CLOSE_SELECTED",x:148,y:42,width:9,height:9}]};const uD=e=>{const t=/\.([a-z]{3,4})$/i.exec(e);return t?t[1].toLowerCase():null};function hD(e,t){return new RegExp(`^(.*[/\\\\])?${e}.(${t})$`,"i")}async function dD(e,t,n,i){const r=e.file(hD(t,n));if(!r.length)return null;const a=r[r.length-1];try{return{contents:await a.async(i),name:a.name}}catch(e){return console.warn(`Failed to extract "${t}.${n}" from the skin archive.`),null}}async function gD(e){try{return await window.createImageBitmap(e)}catch(t){try{return await function(e){return iM(URL.createObjectURL(e))}(e)}catch(e){return null}}}function pD(e,t){const n=document.createElement("canvas"),i=n.getContext("2d",{willReadFrequently:!0});if(null==i)throw new Error("Failed to get canvas context");const r={};return t.forEach(t=>{n.height=t.height,n.width=t.width,i.drawImage(e,-t.x,-t.y);const a=n.toDataURL();r[t.name]=a}),r}async function fD(e,t){const n=await dD(e,t,"(png|bmp)","blob");if(!n)return null;const i=`image/${uD(n.name)||"*"}`;return gD(new Blob([n.contents],{type:i}))}const mD="RIFF".split("").map(e=>e.charCodeAt(0));async function bD(e,t){const n=await dD(e,t,"CUR","uint8array");if(null==n)return null;const i=n.contents;return r=i,mD.every((e,t)=>r[t]===e)?{type:"ani",aniData:i}:{type:"cur",url:WM(i)};var r}async function wD(e){const t=e.file(hD("PLEDIT","txt"))[0];if(null==t)return QU.playlistStyle;const n=await t.async("text");if(null==n)return QU.playlistStyle;const i=n&&oM(n).text;return i?(["normal","current","normalbg","selectedbg","mbFG","mbBG"].forEach(e=>{let t=i[e];t&&("#"!==t[0]&&(t=`#${t}`),i[e]=t.slice(0,7))}),{...QU.playlistStyle,...i}):QU.playlistStyle}async function ED(e){const t=await fD(e,"GENEX");if(null==t)return null;const n=document.createElement("canvas"),i=n.getContext("2d",{willReadFrequently:!0});if(null==i)return null;n.width=t.width,n.height=t.height,i.drawImage(t,0,0);const r=e=>`rgb(${i.getImageData(e,0,1,1).data.slice(0,3).join(",")})`;return{itemBackground:r(48),itemForeground:r(50),windowBackground:r(52),buttonText:r(54),windowText:r(56),divider:r(58),playlistSelection:r(60),listHeaderBackground:r(62),listHeaderText:r(64),listHeaderFrameTopAndLeft:r(66),listHeaderFrameBottomAndRight:r(68),listHeaderFramePressed:r(70),listHeaderDeadArea:r(72),scrollbarOne:r(74),scrollbarTwo:r(76),pressedScrollbarOne:r(78),pressedScrollbarTwo:r(80),scrollbarDeadArea:r(82),listTextHighlighted:r(84),listTextHighlightedBackground:r(86),listTextSelected:r(88),listTextSelectedBackground:r(90)}}const yD=e=>e.reduce((e,t)=>Object.assign(e,t),{}),vD=["CLOSE","EQCLOSE","EQNORMAL","EQSLID","EQTITLE","MAINMENU","MMENU","MIN","NORMAL","PCLOSE","PNORMAL","POSBAR","PSIZE","PTBAR","PVSCROLL","PWINBUT","PWSNORM","PWSSIZE","SONGNAME","TITLEBAR","VOLBAL","WINBUT","WSNORMAL","WSPOSBAR"];async function kD(e){const t=await dD(e,"VISCOLOR","txt","text");return t?(e=>{const t=e.split("\n"),n=/^\s*(\d+)\s*,?\s*(\d+)\s*,?\s*(\d+)/,i=[...QU.colors];return t.map(e=>n.exec(e)).filter(Boolean).map(e=>e.slice(1,4).join(",")).map((e,t)=>{i[t]=`rgb(${e})`}),i})(t.contents):QU.colors}async function SD(e){const t=await Promise.all(Object.keys(cD).map(t=>async function(e,t){const n=await fD(e,t);return null==n?{}:pD(n,cD[t])}(e,t)));return yD(t)}async function xD(e){const t=await Promise.all(vD.map(async t=>({[t]:await bD(e,t)})));return yD(t)}async function ID(e){const t=await dD(e,"REGION","txt","text");return t?function(e){const t=oM(e),n={};return Object.keys(t).forEach(e=>{const{numpoints:i,pointlist:r}=t[e];if(!i||!r)return;const a=i.split(/\s*,\s*/).filter(e=>""!==e),s=function(e){const t=[];for(let n=0;n<e.length;n+=2)t.push(`${e[n]},${e[n+1]}`);return t}(r.split(/\s*[, ]\s*/).filter(e=>""!==e));let A=0;const o=a.map(e=>{const t=Number(e);if(t<3)return A+=t,null;const n=s.slice(A,A+t).join(" ");return n.length?(A+=t,n):null}).filter(e=>null!=e);o.length&&(n[e]=o)}),n}(t.contents):{}}async function CD(e){const t=await fD(e,"GEN");if(null==t)return null;const n=document.createElement("canvas"),i=n.getContext("2d",{willReadFrequently:!0});n.width=t.width,n.height=t.height,i.drawImage(t,0,0);const r=(e,t)=>{const r=t=>i.getImageData(t,e,1,1).data.join(",");let a=1;const s=r(0);return zU.map(i=>{let A=a;for(;r(A)!==s&&A<n.width;)A++;const o={x:a,y:e,height:7,width:A-a,name:`${t}_${i}`};return a=A+1,o})},a={},s=[...r(88,"GEN_TEXT_SELECTED"),...r(96,"GEN_TEXT")];return s.forEach(e=>{a[e.name]=e.width}),[a,pD(t,s)]}var TD={exports:{}};function _D(e,t){if(!(this instanceof _D))return new _D(e,t);if(this.data=e||[],this.length=this.data.length,this.compare=t||BD,this.length>0)for(var n=(this.length>>1)-1;n>=0;n--)this._down(n)}function BD(e,t){return e<t?-1:e>t?1:0}TD.exports=_D,TD.exports.default=_D,_D.prototype={push:function(e){this.data.push(e),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var e=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),e}},peek:function(){return this.data[0]},_up:function(e){for(var t=this.data,n=this.compare,i=t[e];e>0;){var r=e-1>>1,a=t[r];if(n(i,a)>=0)break;t[e]=a,e=r}t[e]=i},_down:function(e){for(var t=this.data,n=this.compare,i=this.length>>1,r=t[e];e<i;){var a=1+(e<<1),s=a+1,A=t[a];if(s<this.length&&n(t[s],A)<0&&(a=s,A=t[s]),n(A,r)>=0)break;t[e]=A,e=a}t[e]=r}};var UD=t(TD.exports);function MD(){return(e,t)=>{const n=t();if(0===yR(n).length)return;const i=ER(n),{playlist:{trackOrder:r}}=n;e({type:VB,ids:r.filter(e=>!i.has(e))})}}function RD(){return(e,t)=>{e({type:VB,ids:Array.from(ER(t()))})}}function LD(){return e=>{e({type:yB}),e({type:QB})}}function ND(){return{type:jB}}function DD(){return{type:YB}}function PD(){return(e,t)=>{const n=t(),i=hR(n),r=(a=gR(n),s=e=>`${i[e].title}`.toLowerCase(),[...a].sort((e,t)=>{const n=s(e),i=s(t);return n<i?-1:n>i?1:0}));var a,s;return e({type:KB,trackOrder:r})}}function FD(e){return{type:LB,position:e}}function OD(e){return(t,n)=>{const i=n(),r=PR(i),a=zR(i),s=r?lM((a+e)/r,0,1):0;return t({type:LB,position:100*s})}}function zD(e){return e.preventDefault(),(t,n)=>{const i=n();PR(i)&&e.stopPropagation();const r=13*i.playlist.trackOrder.length,a=e.deltaY/r*100;t({type:LB,position:lM(i.display.playlistScrollPosition+a,0,100)})}}function QD(){return OD(-4)}function VD(){return OD(4)}function GD(e){return(t,n)=>{const i=n(),r=hR(i),a=gR(i),s=ER(i),A=a.findIndex(e=>r[e]&&s.has(e));if(-1===A)return;const o=function(e,t){for(let n=e.length-1;n>=0;n--)if(t(e[n]))return n;return-1}(a,e=>r[e]&&s.has(e));if(-1===o)throw new Error("We found a first selected, but not a last selected.");const l=-A,c=a.length-1-o,u=lM(e,l,c);0!==u&&t({type:JB,offset:u})}}function jD(){return{type:zB}}function YD(){return{type:OB}}function KD(){return{type:FB}}const qD=5,HD=10,JD=15,WD=20,XD=new class{constructor({threads:e}){this._queue=new UD([],(e,t)=>e.priority()-t.priority()),this._availableThreads=e}push(e,t){const n={task:e,priority:t};return this._queue.push(n),setTimeout(()=>{this._run()},0),()=>{this._queue=this._queue.filter(e=>e!==n)}}_run(){for(;this._availableThreads>0;){if(0===this._queue.length)return;this._availableThreads--;const e=this._queue.pop().task();qM("function"==typeof e.then,`LoadQueue only supports loading Promises. Got ${e}`),e.then(()=>{this._availableThreads++,this._run()})}}}({threads:4});function ZD(e,t,n){return cP(Array.from(e).map(e=>({blob:e,defaultName:e.name})),t,n)}const $D=new RegExp("(wsz|zip)$","i"),eP=new RegExp("eqf$","i");function tP(e,t=LU,n=void 0){return i=>{if(!(e.length<1)){if(1===e.length){const t=e[0];if($D.test(t.name))return void i(nP(t));if(eP.test(t.name))return void i(function(e){return async t=>{const n=await async function(e){return qM(null!=e,"Attempt to get an ArrayBuffer without assigning a fileReference"),new Promise((t,n)=>{const i=new FileReader;i.onload=()=>{t(i.result)},i.onerror=n,i.readAsArrayBuffer(e)})}(e);t(hP(sD.parser(n).presets[0]))}}(t))}i(ZD(e,t,n))}}}function nP(e){return async(t,n,{requireJSZip:i})=>{if(!i)return void alert("Webamp has not been configured to support custom skins.");let r;t({type:lU});try{r=await i()}catch(e){return console.error(e),t({type:AU}),void alert("Failed to load the skin parser.")}try{const n=await async function(e,t){const n=await t.loadAsync(e),[i,r,a,s,A,o,l]=await Promise.all([kD(n),wD(n),SD(n),xD(n),ID(n),CD(n),ED(n)]),[c,u]=o||[null,{}];return{colors:i,playlistStyle:r,images:{...a,...u},genLetterWidths:c,cursors:s,region:A,genExColors:l}}(e,r);t({type:mB,data:{skinImages:n.images,skinColors:n.colors,skinPlaylistStyle:n.playlistStyle,skinCursors:n.cursors,skinRegion:n.region,skinGenLetterWidths:n.genLetterWidths,skinGenExColors:n.genExColors}})}catch(e){console.error(e),t({type:AU}),alert("Failed to parse skin")}}}function iP(e){return async t=>{t({type:lU});try{const n=await fetch(e);if(!n.ok)throw new Error(n.statusText);t(nP(n.blob()))}catch(n){console.error(n),t({type:AU}),alert(`Failed to download skin from ${e}`)}}}function rP(e,t){return async n=>{const i=await JM({accept:e});n({type:"OPENED_FILES",expectedType:t,count:i.length,firstFileName:i[0]?.name}),n(tP(i))}}function aP(){return rP(".eqf","EQ")}function sP(){return rP(null,"MEDIA")}function AP(){return rP(".zip, .wsz","SKIN")}function oP(e,t){return(n,i)=>{XD.push(async()=>{try{const i=await function(e){return qM("string"==typeof e,"Attempted to get the duration of media file without passing a url"),new Promise((t,n)=>{const i=document.createElement("audio");i.crossOrigin="anonymous";const r=()=>{t(i.duration),i.removeEventListener("durationchange",r),i.src=""};i.addEventListener("durationchange",r),i.addEventListener("error",e=>{n(e)}),i.src=e})}(e);n({type:XB,duration:i,id:t})}catch(e){}},()=>GR(i())(t)?qD:JD)}}function lP(e,t=NU,n=0){const{files:i}=e.dataTransfer;return async(r,a,{handleTrackDropEvent:s})=>{if(s){const i=await s(e);if(null!=i)return void r(cP(i,t,n))}r(tP(i,t,n))}}function cP(e,t=NU,n=0){return i=>{t===LU&&i(LD()),e.forEach((e,r)=>{i(function(e,t=NU,n=0){return i=>{const r=kM++,{defaultName:a,metaData:s,duration:A}=e;let o;if("url"in e)o=e.url.toString();else{if(!("blob"in e))throw new Error("Expected track to have either a blob or a url");o=URL.createObjectURL(e.blob)}switch(i({type:tB,url:o,duration:e.duration,defaultName:a,id:r,atIndex:n}),t){case RU:i({type:HB,id:r});break;case LU:i({type:qB,id:r});break;default:i(null!=A?{type:XB,duration:A,id:r}:oP(o,r))}if(null!=s){const{artist:e,title:t,album:n}=s;i({type:WB,artist:e,title:t,album:n,sampleRate:44e3,bitrate:192e3,numberOfChannels:2,id:r})}else i("blob"in e?uP(e.blob,r):function(e){return(t,n)=>{const i=hR(n())[e];XD.push(()=>t(uP(i.url,e)),()=>GR(n())(e)?HD:WD)}}(r))}}(e,0===r?t:NU,n+r))})}}function uP(e,t){return async(n,i,{requireMusicMetadata:r})=>{n({type:eU,id:t});try{const i=await async function(e,t){qM(null!=e,"Attempted to get the tags of media file without passing a file");const n={duration:!0,skipPostHeaders:!0};if("string"==typeof e){if("parseWebStream"in t&&"function"==typeof t.parseWebStream){const i=await fetch(e);if(!i.ok)throw new Error(`Failed to fetch URL: ${e}, status: ${i.status}`);const r=i.body;if(null==r)throw new Error("Response body is null, cannot parse metadata.");return t.parseWebStream(r,void 0,n)}if("fetchFromUrl"in t&&"function"==typeof t.fetchFromUrl)return t.fetchFromUrl(e,n);throw new Error("No suitable method available to parse URL")}return t.parseBlob(e,n)}(e,await r()),{artist:a,title:s,album:A,picture:o}=i.common,{numberOfChannels:l,bitrate:c,sampleRate:u}=i.format;let h=null;if(o&&o.length>=1){const e=new Uint8Array(o[0].data),t=new Blob([e],{type:o[0].format});h=URL.createObjectURL(t)}n({type:WB,artist:a||"",title:s||"",album:A,albumArtUrl:h,numberOfChannels:l,bitrate:c,sampleRate:u,id:t})}catch(e){n({type:tU,id:t})}}}function hP(e){return t=>{t(ZN(fM(e.preamp))),TU.forEach(n=>{t(qN(n,fM(e[`hz${n}`])))})}}function dP(){return(e,t)=>{const n=t(),i=uR(n),r=(e=>cM(new Uint8Array(e)))(sD.creator(i));uM(`data:application/zip;base64,${r}`,"entry.eqf")}}function gP(){return(e,t)=>{uM(iL(t()),"Winamp Playlist.html")}}let pP=document.createElement("input");pP.type="file";const fP=void 0!==pP.webkitdirectory||void 0!==pP.mozdirectory||void 0!==pP.directory;function mP(e){return async t=>{t(ZD(await JM(),NU,e))}}function bP(e){return async t=>{if(!fP)return void alert("Not supported in your browser");t(ZD(await JM({directory:!0}),NU,e))}}function wP(e=0){return async(t,n,{handleAddUrlEvent:i})=>{if(i){const n=await i();if(null!=n)return void t(cP(n,NU,e))}else alert("Not supported in Webamp")}}function EP(){return async(e,t,{handleLoadListEvent:n})=>{if(n){const t=await n();if(null!=t)return e(LD()),void e(cP(t,NU,0))}else alert("Not supported in Webamp")}}function yP(){return(e,t,{handleSaveListEvent:n})=>{n?n(bR(t())):alert("Not supported in Webamp")}}function vP(e,t){return n=>n({type:"DROPPED_FILES",count:e.dataTransfer.files.length,firstFileName:e.dataTransfer.files[0]?.name,windowId:t})}function kP(e){const{name:t}=e;if("butterchurnPresetObject"in e)return{type:"RESOLVED",name:t,preset:e.butterchurnPresetObject};if("getButterchrunPresetObject"in e)return{type:"UNRESOLVED",name:t,getPreset:e.getButterchrunPresetObject};if("butterchurnPresetUrl"in e)return{type:"UNRESOLVED",name:t,getPreset:async()=>(await fetch(e.butterchurnPresetUrl)).json()};throw new Error("Invalid preset object")}function SP(e){return(t,n)=>{const i=n(),r=i.milkdrop.presets.length;t({type:mU,presets:e}),0===r&&jL(i)?t(TP()):t(_P(r,$M.IMMEDIATE,!0))}}function xP(e){return async(t,n,{convertPreset:i})=>{t(SP(Array.from(e).map(e=>{const t=".json",n=".milk",r=e.name.toLowerCase();if(r.endsWith(n)){if(null==i)throw new Error("Invalid type");return{type:"UNRESOLVED",name:e.name.slice(0,e.name.length-5),getPreset:()=>i(e)}}return r.endsWith(t)?{type:"UNRESOLVED",name:e.name.slice(0,e.name.length-5),getPreset:async()=>{const t=await HM(e);return JSON.parse(t)}}:(console.error("Invalid type preset when loading directory"),null)}).filter(Boolean)))}}function IP(e=$M.DEFAULT){return(t,n)=>{const i=n();if(jL(i))return t(TP(e));const r=OL(i);if(null==r)return;t(_P(r+1,e,!0))}}function CP(e=$M.DEFAULT){return(t,n)=>{const i=n(),{presetHistory:r}=i.milkdrop;if(r.length<1)return;t(_P(r[r.length-2],e,!1))}}function TP(e=$M.DEFAULT){return(t,n)=>{const i=n();t(_P(Math.floor(Math.random()*i.milkdrop.presets.length),e,!0))}}function _P(e,t,n){return async(i,r)=>{const a=r().milkdrop.presets[e];if(null!=a)switch(i({type:vU,index:e,addToHistory:n}),a.type){case"RESOLVED":return void i({type:EU,index:e,transitionType:t});case"UNRESOLVED":const n=await a.getPreset();return i({type:wU,index:e,json:n}),void i({type:EU,index:e,transitionType:t})}}}function BP(e){return xP(e.dataTransfer.files)}function UP(){return{type:kU}}function MP(){return{type:SU}}function RP(e){return{type:xU,message:e}}function LP(){return e=>{let t=!1;e({type:cU,cancel:()=>{t=!0}}),t||(e({type:yB}),e({type:nB}))}}function NP(){return{type:UB}}function DP(){return{type:rB}}function PP(e){return{type:hB,input:e}}function FP(){return{type:MB}}function OP(e){return{type:dB,input:"eq",bandFocused:e}}function zP(){return{type:gU}}function QP(){return(e,t)=>{NL(t())?e({type:fU,enabled:!1}):e({type:fU,enabled:!0})}}function VP(e){return{type:IU,enabled:e}}function GP(){return(e,t)=>{e(VP(!DL(t())))}}function jP(){return(e,t)=>{VL(t())&&e(bN(MU)),e({type:yU})}}function YP(){return{type:EB}}pP=null;var KP=e=>t=>{const{media:{volume:n,balance:i},equalizer:{sliders:r}}=t.getState();return e.setVolume(n),e.setBalance(i),e.setPreamp(r.preamp),e.on("timeupdate",()=>{t.dispatch({type:RB,elapsed:e.timeElapsed()})}),e.on("ended",()=>{t.dispatch(MN())}),e.on("playing",()=>{t.dispatch({type:aB})}),e.on("waiting",()=>{t.dispatch({type:wB})}),e.on("stopWaiting",()=>{t.dispatch({type:vB})}),e.on("fileLoaded",()=>{const n=TR(t.getState());null!=n&&t.dispatch({id:n,type:pB,kbps:"128",khz:"44",channels:2,length:e.duration()})}),n=>i=>{const r=n(i),a=t.getState();switch(i.type){case oB:e.play();break;case AB:e.pause();break;case yB:e.stop();break;case bB:e.setVolume(bL(a));break;case cB:e.setBalance(wL(a));break;case lB:e.seekToPercentComplete(i.percent);break;case qB:{const n=dR(t.getState())(i.id);null!=n&&e.loadFromUrl(n,!0);break}case HB:{const n=dR(t.getState())(i.id);null!=n&&e.loadFromUrl(n,!1);break}case uB:"preamp"===i.band?e.setPreamp(i.value):e.setEqBand(i.band,i.value);break;case IB:e.disableEq();break;case xB:e.enableEq();break;case uU:SL(a)?e.enableEq():e.disableEq(),e.setVolume(bL(a)),e.setBalance(wL(a)),s=a.equalizer.sliders,A=(t,n)=>{"preamp"===n?e.setPreamp(t):e.setEqBand(n,t)},Object.keys(s).forEach(e=>A(s[e],e))}var s,A;return r}};const qP=eB({actionsDenylist:[RB,EB]});function HP(e,t,n=[],i,r){let a;i&&(a=bM(tR(void 0,{type:"@@init"}),i));const s=[$_.withExtraArgument(r),KP(e),()=>e=>n=>(t.trigger(n.type,n),e(n)),...n],A=qP(function(...e){return t=>(n,i)=>{const r=t(n,i);let a=()=>{throw new Error(K_(15))};const s={getState:r.getState,dispatch:(e,...t)=>a(e,...t)},A=e.map(e=>e(s));return a=X_(...A)(r.dispatch),{...r,dispatch:a}}}(...s));return function(e,t,n){return W_(e,t,n)}(tR,a,A)}var JP={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},WP=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],XP=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],ZP=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],$P="undefined"!=typeof window&&void 0!==window.document?window.document:{},eF="fullscreenEnabled"in $P&&Object.keys(JP)||WP[0]in $P&&WP||XP[0]in $P&&XP||ZP[0]in $P&&ZP||[],tF={requestFullscreen:function(e){return e[eF[JP.requestFullscreen]]()},requestFullscreenFunction:function(e){return e[eF[JP.requestFullscreen]]},get exitFullscreen(){return $P[eF[JP.exitFullscreen]].bind($P)},get fullscreenPseudoClass(){return":"+eF[JP.fullscreen]},addEventListener:function(e,t,n){return $P.addEventListener(eF[JP[e]],t,n)},removeEventListener:function(e,t,n){return $P.removeEventListener(eF[JP[e]],t,n)},get fullscreenEnabled(){return Boolean($P[eF[JP.fullscreenEnabled]])},set fullscreenEnabled(e){},get fullscreenElement(){return $P[eF[JP.fullscreenElement]]},set fullscreenElement(e){},get onfullscreenchange(){return $P[("on"+eF[JP.fullscreenchange]).toLowerCase()]},set onfullscreenchange(e){return $P[("on"+eF[JP.fullscreenchange]).toLowerCase()]=e},get onfullscreenerror(){return $P[("on"+eF[JP.fullscreenerror]).toLowerCase()]},set onfullscreenerror(e){return $P[("on"+eF[JP.fullscreenerror]).toLowerCase()]=e}};function nF(e){const{onChange:t,enabled:n}=e,i=Sg.useRef(null);return Sg.useEffect(()=>{function e(){t&&t(tF.fullscreenElement===i.current)}return tF.addEventListener("fullscreenchange",e),()=>{tF.removeEventListener("fullscreenchange",e)}},[t]),Sg.useLayoutEffect(()=>{const e=tF.fullscreenElement===i.current;e&&!n?tF.fullscreenEnabled&&tF.exitFullscreen():!e&&n&&null!=i.current&&function(e){tF.fullscreenEnabled&&tF.requestFullscreen(e)}(i.current)},[n]),Fd.jsx("div",{ref:i,style:e.enabled?{height:"100%",width:"100%"}:void 0,children:e.children})}function iF(e){const[t,n]=Sg.useState(null);return Sg.useEffect(()=>{let t=!1;return e.then(e=>{t||n(e)}),()=>{t=!0}},[e]),t}function rF(){const[e]=Sg.useState({width:window.screen.width,height:window.screen.height});return e}const aF={current:{pageX:0,pageY:0}};function sF(){const e=aF,[t,n]=Sg.useState(!1),[i,r]=Sg.useState(null);return Sg.useLayoutEffect(()=>{if(null==i)return void n(!1);const t=i.getBoundingClientRect(),{pageX:r,pageY:a}=e.current;n(r>=t.left&&r<=t.right&&a>=t.top&&a<=t.bottom);const s=()=>n(!0),A=()=>n(!1);return i.addEventListener("mouseenter",s),i.addEventListener("mouseleave",A),()=>{i.removeEventListener("mouseenter",s),i.removeEventListener("mouseleave",A)}},[i,e]),{ref:r,hover:t}}function AF(e){return qT(e)}function oF(e){const t=lF();return Sg.useCallback((...n)=>t(e(...n)),[t,e])}function lF(){return G_()}window.document.addEventListener("mousemove",({pageX:e,pageY:t})=>{aF.current={pageX:e,pageY:t}});var cF,uF={exports:{}};
|
|
32
|
+
/*!
|
|
33
|
+
Copyright (c) 2018 Jed Watson.
|
|
34
|
+
Licensed under the MIT License (MIT), see
|
|
35
|
+
http://jedwatson.github.io/classnames
|
|
36
|
+
*/cF=uF,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var r=arguments[t];r&&(e=i(e,n(r)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var r="";for(var a in n)e.call(n,a)&&n[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+" "+t:e+t:e}cF.exports?(t.default=t,cF.exports=t):window.classNames=t}();var hF=t(uF.exports);var dF=Sg.memo(function(e){const{currentSize:t,setWindowSize:n,widthOnly:i,...r}=e,[a,s]=Sg.useState(!1),[A,o]=Sg.useState(null);Sg.useEffect(()=>{if(!1===a||null==A)return;const[n,r]=t,o=t=>{const a=TM(t)-A.x,s=_M(t)-A.y,o=[Math.max(0,n+Math.round(a/25)),i?n:Math.max(0,r+Math.round(s/29))];e.setWindowSize(o)};window.addEventListener("mousemove",o),window.addEventListener("touchmove",o);const l=()=>s(!1);return window.addEventListener("mouseup",l),window.addEventListener("touchend",l),()=>{window.removeEventListener("mousemove",o),window.removeEventListener("touchmove",o),window.removeEventListener("mouseup",l),window.removeEventListener("touchend",l)}},[A,a]);const l=e=>{o({x:TM(e),y:_M(e)}),s(!0)};return Fd.jsx("div",{onMouseDown:l,onTouchStart:l,...r})});function gF({onKeyDown:e,windowId:t,children:n}){const i=AF(aL),r=oF(bN),a=Sg.useCallback(()=>{t!==i&&r(t)},[t,i,r]),[s,A]=Sg.useState(null);return Sg.useEffect(()=>{if(null!=s&&null!=e)return s.addEventListener("keydown",e),()=>s.removeEventListener("keydown",e)},[e,t,i,s]),Sg.useEffect(()=>{if(null==s||t!==i)return;const e=new MutationObserver(e=>{document.activeElement===document.body&&e.some(e=>e.removedNodes.length>0)&&s.focus()});return e.observe(s,{subtree:!0,attributes:!1,childList:!0}),()=>e.disconnect()},[t,i,s]),Fd.jsx("div",{ref:A,onPointerDown:a,onFocus:a,tabIndex:-1,style:{height:"100%",width:"100%"},children:n})}const pF="winamp-active";function fF({requireClicksOriginateLocally:e=!0,onPointerDown:t,className:n,...i}){const[r,a]=Sg.useState(!1),s=Sg.useCallback(n=>{null!=t&&t(n),e||n.target.releasePointerCapture(n.pointerId),-1!==n.nativeEvent.button&&0!==n.nativeEvent.button||(a(!0),document.addEventListener("pointerup",function e(t){a(!1),document.removeEventListener("pointerup",e)}))},[t,e]);return Fd.jsx("div",{...i,className:hF(n,{[pF]:r}),onPointerDown:s,onPointerEnter:e?void 0:e=>{1===e.buttons&&(document.dispatchEvent(new CustomEvent("pointerup",{detail:-42})),s(e))}})}const mF=({children:e})=>{const t=e.split("");return Fd.jsx(Sg.Fragment,{children:t.map((e,t)=>Fd.jsx("div",{className:`draggable gen-text-letter gen-text-${" "===e?"space":e.toLowerCase()}`},t))})},bF=({children:e,title:t,windowId:n,onKeyDown:i})=>{const r=oF(wN),a=oF(mN),s=AF(cL),A=AF(aL),o=AF(LR)(n),l=A===n,{width:c,height:u}=s(n);return Fd.jsx(gF,{windowId:n,onKeyDown:i,children:Fd.jsxs("div",{className:hF("gen-window","window",{selected:l}),style:{width:c,height:u},children:[Fd.jsxs("div",{className:"gen-top draggable",children:[Fd.jsx("div",{className:"gen-top-left draggable"}),Fd.jsx("div",{className:"gen-top-left-fill draggable"}),Fd.jsx("div",{className:"gen-top-left-end draggable"}),Fd.jsx("div",{className:"gen-top-title draggable",children:Fd.jsx(mF,{children:t})}),Fd.jsx("div",{className:"gen-top-right-end draggable"}),Fd.jsx("div",{className:"gen-top-right-fill draggable"}),Fd.jsx("div",{className:"gen-top-right draggable",children:Fd.jsx(fF,{className:"gen-close selected",onClick:()=>a(n)})})]}),Fd.jsxs("div",{className:"gen-middle",children:[Fd.jsx("div",{className:"gen-middle-left draggable",children:Fd.jsx("div",{className:"gen-middle-left-bottom draggable"})}),Fd.jsx("div",{className:"gen-middle-center",children:e({width:c-19,height:u-34})}),Fd.jsx("div",{className:"gen-middle-right draggable",children:Fd.jsx("div",{className:"gen-middle-right-bottom draggable"})})]}),Fd.jsxs("div",{className:"gen-bottom draggable",children:[Fd.jsx("div",{className:"gen-bottom-left draggable"}),Fd.jsx("div",{className:"gen-bottom-right draggable",children:Fd.jsx(dF,{currentSize:o,setWindowSize:e=>r(n,e),id:"gen-resize-target"})})]})]})})},wF={[$M.DEFAULT]:2.7,[$M.IMMEDIATE]:0,[$M.USER_PRESET]:5.7};function EF({analyser:e,width:t,height:n}){const i=AF(mL),r=AF(JR),a=AF(PL),s=AF(KR),A=AF(zL),o=AF(FL),l=AF(RL),c=i===YU,u=Sg.useRef(null),[h,d]=Sg.useState(null);Sg.useEffect(()=>{if(null==u.current||null==a)return;if(null!=h)return;const i=a.createVisualizer(e.context,u.current,{width:t,height:n,meshWidth:32,meshHeight:24,pixelRatio:window.devicePixelRatio||1});i.connectAudio(e),d(i)},[a,e,n,t,h]),Sg.useEffect(()=>{null!=h&&h.setRendererSize(t,n)},[h,t,n]);const g=Sg.useRef(!1);Sg.useEffect(()=>{null!=h&&null!=A&&(g.current?h.loadPreset(A,wF[o]):(h.loadPreset(A,wF[$M.IMMEDIATE]),g.current=!0))},[h,A]),Sg.useEffect(()=>{null!=h&&s&&h.launchSongTitleAnim(s)},[h,s]);const p=Sg.useRef(null);Sg.useEffect(()=>{null!=h&&null!=l&&(null==p.current||l.time>p.current)&&(p.current=Date.now(),h.launchSongTitleAnim(l.text))},[h,l]);const f=r&&c;return Sg.useEffect(()=>{if(!f||null==h)return;let e=null;const t=()=>{h.render(),e=window.requestAnimationFrame(t)};return t(),()=>{null!=e&&window.cancelAnimationFrame(e)}},[h,f]),Fd.jsx("canvas",{height:n,width:t,style:{height:"100%",width:"100%",display:c?"block":"none"},ref:u})}const yF=e=>{const{innerRef:t}=e;return Fd.jsx("div",{ref:t,className:"draggable",style:{backgroundColor:"#000",position:"absolute",top:0,bottom:0,left:0,right:0,height:"100%",width:"100%"},tabIndex:0,children:e.children})},vF={position:"absolute",top:0,left:0,color:"white",background:"rgba(0.33, 0.33, 0.33, 0.33)"},kF={position:"absolute",top:0,left:0,padding:"15px 10px 0 10px"},SF={display:"inline-block",whiteSpace:"nowrap",overflow:"hidden",background:"rgba(0, 0, 0, 0.815)",fontSize:"12px"};function xF(e){return e-1}function IF({height:e,width:t}){const n=AF(QL),i=AF(OL),r=oF(_P),a=oF(jP),s=oF(xP),A=function(){const e=Sg.useRef(!1);return Sg.useEffect(()=>()=>{e.current=!0},[]),e}(),[o,l]=Sg.useState(()=>null!=i?i+1:0),c=n.length,u=Sg.useCallback(()=>{const t=Math.floor((e-15)/14),r=Math.floor(.75*t),[a,s]=function(e,t,n){const i=Math.min(e,t),r=Math.floor(i/2),a=lM(n-r,0,e-i),s=a+i-1;return[a,s]}(c+1,r,o),A=[];for(let e=a;e<=s;e++){const t=xF(e),r=t===i;let a;a=e===o?r?"#FFCC22":"#FF5050":r?"#CCFF03":"#CCCCCC",A.push(Fd.jsx("li",{style:{color:a,lineHeight:"14px"},children:0===e?"Load Local Directory":n[t]},e))}return A},[i,e,c,n,o]),h=Sg.useCallback(async()=>{const e=await JM({directory:!0});A.current||s(e)},[s,A]),d=Sg.useCallback(e=>{switch(e.keyCode){case 38:l(e=>Math.max(e-1,0)),e.stopPropagation();break;case 40:l(e=>Math.min(e+1,c)),e.stopPropagation();break;case 13:0===o?h():r(xF(o),$M.DEFAULT,!0),e.stopPropagation();break;case 27:a(),e.stopPropagation()}},[h,c,r,o,a]),g=Sg.useCallback(e=>{null!=e&&document.activeElement!==e&&e.focus()},[]);return null==n?Fd.jsx("div",{style:vF,children:Fd.jsx("span",{children:"Loading presets"})}):Fd.jsx("div",{ref:g,tabIndex:-1,style:kF,onKeyDown:d,children:Fd.jsx("div",{style:{...SF,width:t-20-20,maxHeight:e-15},children:Fd.jsx("ul",{style:{listStyleType:"none",padding:0,margin:0},children:u()})})})}function CF(e){e.stopPropagation(),e.preventDefault(),e.dataTransfer.dropEffect="link",e.dataTransfer.effectAllowed="link"}function TF(e){const{handleDrop:t,windowId:n,onWheelActive:i,...r}=e,a=Sg.useRef(null),s=oF(vP);Sg.useEffect(()=>{const e=a.current;if(!e||!i)return;const t=e=>{i(e)};return e.addEventListener("wheel",t,{passive:!1}),()=>{e.removeEventListener("wheel",t)}},[i]);const A=Sg.useCallback(e=>{CF(e),s(e,n);const{currentTarget:i}=e;if(!(i instanceof Element))return;const{left:r,top:a}=i.getBoundingClientRect();t(e,{x:r,y:a})},[t,s,n]);return Fd.jsx("div",{ref:a,...r,onDragStart:CF,onDragEnter:CF,onDragOver:CF,onDrop:A})}const _F=e=>{const t=Sg.useMemo(()=>{const t=document.createElement("div");return t.id="webamp-context-menu",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.zIndex=String(e.zIndex+1),t},[e.zIndex]);Sg.useEffect(()=>(document.body.appendChild(t),()=>{document.body.removeChild(t)}),[t]);const n={top:e.top,left:e.left,position:"absolute"};return Lg.createPortal(Fd.jsx("div",{style:n,children:e.children}),t)},BF=()=>Fd.jsx("li",{className:"hr",children:Fd.jsx("hr",{})}),UF=({children:e,label:t})=>Fd.jsxs("li",{className:"parent",children:[Fd.jsx("ul",{children:e}),t]}),MF=e=>Fd.jsx("li",{children:Fd.jsx("a",{...e,children:e.label})}),RF=e=>{const{label:t,checked:n,className:i="",...r}=e;return Fd.jsx("li",{className:hF(i,{checked:n}),...r,children:t})};function LF({children:e,offsetTop:t,offsetLeft:n,top:i,bottom:r,selected:a}){const s=AF(oL);return a?Fd.jsx(_F,{top:t,left:n,zIndex:s,children:Fd.jsx("ul",{className:hF("context-menu",{top:i,bottom:r}),children:e})}):null}function NF({children:e,renderContents:t,...n}){const[i,r]=Sg.useState(null),a=Sg.useCallback(()=>{r(null)},[]),s=Sg.useCallback(e=>{2!==e.button&&a()},[a]),A=Sg.useCallback(e=>{const{pageX:t,pageY:n}=e;r({x:t,y:n}),e.preventDefault(),e.stopPropagation()},[]);return Sg.useEffect(()=>{if(null!=i)return document.addEventListener("click",s),document.body.addEventListener("contextmenu",a),()=>{document.removeEventListener("click",s),document.body.removeEventListener("contextmenu",a)}},[i,a,s]),Fd.jsxs("div",{onContextMenu:A,style:{width:"100%",height:"100%"},...n,children:[Fd.jsx(LF,{selected:null!=i,offsetTop:i?.y??0,offsetLeft:i?.x??0,children:t()}),e]})}const DF=e=>{const t=AF(NL),n=oF(mN),i=oF(QP),r=oF(GP);return Fd.jsx(NF,{renderContents:()=>Fd.jsxs(Fd.Fragment,{children:[Fd.jsx(RF,{onClick:r,label:"Fullscreen",hotkey:"Alt+Enter"}),Fd.jsx(RF,{onClick:i,checked:t,label:"Desktop Mode",hotkey:"Alt+D"}),Fd.jsx(BF,{}),Fd.jsx(RF,{onClick:()=>n(MU),label:"Quit"})]}),children:e.children})},PF=Sg.memo(({children:e})=>{const[t]=Sg.useState(()=>document.createElement("div"));return Sg.useEffect(()=>(t.classList.add("webamp-desktop"),document.body.appendChild(t),()=>{document.body.removeChild(t)}),[t]),Ng.createPortal(e,t)});function FF({analyser:e}){const t=AF(NL),n=AF(DL),i=AF(VL),r=AF(GL),a=AF(OL),s=AF(JR),A=oF(GP),o=oF(IP),l=oF(BP),c=oF(VP),u=function(){const e=AF(KR),t=oF(IP),n=oF(CP),i=oF(UP),r=oF(jP),a=oF(RP),s=oF(MP);return Sg.useCallback(A=>{switch(A.keyCode){case 32:t();break;case 8:n($M.IMMEDIATE);break;case 72:t($M.IMMEDIATE);break;case 82:i();break;case 76:r(),A.stopPropagation();break;case 84:null!=e&&a(e),A.stopPropagation();break;case 145:case 125:s()}},[a,t,n,s,r,i,e])}();Sg.useEffect(()=>{if(!r||!s)return;const e=setInterval(o,15e3);return()=>clearInterval(e)},[r,a,s,o]);const h=rF(),d=function(){const[e,t]=Sg.useState(IM()),n=Sg.useCallback(()=>{},[]);return Sg.useEffect(()=>(window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}),[n]),e}();return t?Fd.jsx(PF,{children:Fd.jsx(DF,{children:Fd.jsx(EF,{...d,analyser:e})})}):Fd.jsx(bF,{title:"Milkdrop",windowId:MU,onKeyDown:u,children:t=>{const r=n?h:t;return Fd.jsx(DF,{children:Fd.jsx(yF,{children:Fd.jsxs(TF,{windowId:MU,handleDrop:l,children:[i&&Fd.jsx(IF,{...r}),Fd.jsx(nF,{enabled:n,onChange:c,children:Fd.jsx("div",{onDoubleClick:A,children:Fd.jsx(EF,{...r,analyser:e})})})]})})})}})}const OF=()=>{const e=oF(RN),t=oF(TN),n=oF(_N),i=oF(BN),r=oF(MN),a=oF(NN),s=oF(DN),A=oF(UN);return Fd.jsxs(Sg.Fragment,{children:[Fd.jsx(RF,{label:"Previous",hotkey:"Z",onClick:e}),Fd.jsx(RF,{label:"Play",hotkey:"X",onClick:t}),Fd.jsx(RF,{label:"Pause",hotkey:"C",onClick:n}),Fd.jsx(RF,{label:"Stop",hotkey:"V",onClick:i}),Fd.jsx(RF,{label:"Next",hotkey:"B",onClick:r}),Fd.jsx(BF,{}),Fd.jsx(RF,{label:"Back 5 seconds",hotkey:"Left",onClick:()=>s(5)}),Fd.jsx(RF,{label:"Fwd 5 seconds",hotkey:"Right",onClick:()=>a(5)}),Fd.jsx(RF,{label:"10 tracks back",hotkey:"Num. 1",onClick:()=>A(-10)}),Fd.jsx(RF,{label:"10 tracks fwd",hotkey:"Num. 3",onClick:()=>A(10)})]})},zF=()=>{const e=oF(zP),t=oF(AP),n=oF(iP),i=AF(eN);return Fd.jsxs(UF,{label:"Skins",children:[Fd.jsx(RF,{onClick:t,label:"Load Skin..."}),Fd.jsx(BF,{}),Fd.jsx(RF,{onClick:e,label:"<Base Skin>"}),i.map(e=>Fd.jsx(RF,{onClick:()=>n(e.url),label:e.name},e.url))]})},QF=()=>{const e=oF(GN),t=oF(dN),n=oF(QN),i=oF(VN),r=AF(sL),a=AF(XL),s=AF(yL),A=AF(EL);return Fd.jsxs(Fd.Fragment,{children:[Fd.jsx(zF,{}),Fd.jsx(BF,{}),Fd.jsx(RF,{label:"Time elapsed",hotkey:"(Ctrl+T toggles)",onClick:e,checked:a===qU}),Fd.jsx(RF,{label:"Time remaining",hotkey:"(Ctrl+T toggles)",onClick:e,checked:a===HU}),Fd.jsx(RF,{label:"Double Size",hotkey:"Ctrl+D",onClick:t,checked:r}),Fd.jsx(BF,{}),Fd.jsx(RF,{label:"Repeat",hotkey:"R",onClick:n,checked:s}),Fd.jsx(RF,{label:"Shuffle",hotkey:"S",onClick:i,checked:A})]})},VF=Sg.memo(({filePickers:e})=>{const t=AF(WL),n=AF(BR),i=oF(LP),r=oF(sP),a=oF(cP),s=oF(EN),A=oF(()=>({type:"MAIN_CONTEXT_MENU_OPENED"})),o=AF(LL);return Sg.useEffect(()=>{A()},[A]),Fd.jsxs(Sg.Fragment,{children:[Fd.jsx(MF,{href:"https://webamp.org/about",target:"_blank",label:"Webamp..."}),Fd.jsx(BF,{}),Fd.jsxs(UF,{label:"Play",children:[Fd.jsx(RF,{onClick:r,label:"File...",hotkey:"L"}),null!=e&&e.map((e,n)=>(t||!e.requiresNetwork)&&Fd.jsx(RF,{onClick:async()=>{let t;try{t=await e.filePicker()}catch(e){console.error("Error loading from file picker",e)}a(t||[],LU)},label:e.contextMenuName},n))]}),Fd.jsx(BF,{}),Object.keys(n).map(e=>e!==MU||o?Fd.jsx(RF,{label:n[e].title,checked:n[e].open,onClick:()=>s(e),hotkey:n[e].hotkey},e):null),Fd.jsx(BF,{}),Fd.jsx(zF,{}),Fd.jsx(BF,{}),Fd.jsx(UF,{label:"Options",children:Fd.jsx(QF,{})}),Fd.jsx(UF,{label:"Playback",children:Fd.jsx(OF,{})}),Fd.jsx(BF,{}),Fd.jsx(RF,{onClick:i,label:"Exit"})]})}),GF=(e,t)=>{const n=AN(e,t);return void 0!==n.x||void 0!==n.y};function jF(e){const t=AF(hL),n=AF(MR),i=AF(xL),r=oF(yN),[a,s]=Sg.useState(null);return Sg.useEffect(()=>{if(null==a)return;const{boundingBox:e,moving:t,stationary:n,mouseStart:A}=a,o=a=>{const s={x:TM(a)-A.x,y:_M(a)-A.y},o=t.map(e=>({...e,...uN(e,s)})),l={...e,...uN(e,s)},c=lN(o,n),u=cN(l,i),h=((e,...t)=>{const n=t.reduce((e,t)=>({x:0===e.x||0===t.x?e.x+t.x:Math.min(e.x,t.x),y:0===e.y||0===t.y?e.y+t.y:Math.min(e.y,t.y)}));return uN(e,n)})(s,c,u),d={};t.forEach(e=>{d[e.key]=uN(e,h)}),r(d,!1)};function l(){s(null)}return window.addEventListener("mouseup",l),window.addEventListener("touchend",l),window.addEventListener("mousemove",o,{passive:!1}),window.addEventListener("touchmove",o,{passive:!1}),()=>{window.removeEventListener("mousemove",o),window.removeEventListener("touchmove",o),window.removeEventListener("mouseup",l),window.removeEventListener("touchend",l)}},[i,a,r]),Sg.useCallback((i,r)=>{if(!r.target.classList.contains("draggable"))return;const a=TM(r),A=_M(r);if(n(i))return;const o=t.filter(t=>null!=e[t.key]&&!n(t.key)),l=o.find(e=>e.key===i);if(null==l)throw new Error(`Tried to move a node that does not exist: ${i}`);let c=new Set([l]);if("main"===i){const e=(u=GF,(e,t)=>{const n=new Set,i=t=>{for(const r of e)!n.has(r)&&u(r,t)&&(n.add(r),i(r))};return i(t),n});c=e(o,l)}var u;const h=o.filter(e=>!c.has(e)),d=Array.from(c),g={x:a,y:A},p=(e=>{const t=e.slice(),n=t.pop();if(null==n)throw new Error("boundingBox must be called with at least one node");const i={top:nN(n),right:aN(n),bottom:iN(n),left:rN(n)};return t.forEach(e=>{i.top=Math.min(i.top,nN(e)),i.right=Math.max(i.right,aN(e)),i.bottom=Math.max(i.bottom,iN(e)),i.left=Math.min(i.left,rN(e))}),{x:i.left,y:i.top,width:i.right-i.left,height:i.bottom-i.top}})(d);s({boundingBox:p,moving:d,stationary:h,mouseStart:g})},[n,e,t])}function YF({windows:e}){const t=AF(hL),n=oF(bN),i=jF(e),r=t.filter(t=>e[t.key]),a=Sg.useCallback(e=>{const{currentTarget:t,relatedTarget:i}=e;t===i||t.contains(i)||n(null)},[n]);return Fd.jsx(Fd.Fragment,{children:r.map(t=>Fd.jsx("div",{onBlur:a,onMouseDown:e=>{i(t.key,e)},onTouchStart:e=>{i(t.key,e)},style:{position:"absolute",top:0,left:0,transform:`translate(${t.x}px, ${t.y}px)`,touchAction:"none"},children:e[t.key]},t.key))})}var KF=function(e){return function(t){return null==e?void 0:e[t]}},qF=KF({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),HF="object"==typeof e&&e&&e.Object===Object&&e,JF="object"==typeof self&&self&&self.Object===Object&&self,WF=(HF||JF||Function("return this")()).Symbol;var XF=function(e,t){for(var n=-1,i=null==e?0:e.length,r=Array(i);++n<i;)r[n]=t(e[n],n,e);return r},ZF=Array.isArray,$F=WF,eO=Object.prototype,tO=eO.hasOwnProperty,nO=eO.toString,iO=$F?$F.toStringTag:void 0;var rO=function(e){var t=tO.call(e,iO),n=e[iO];try{e[iO]=void 0;var i=!0}catch(e){}var r=nO.call(e);return i&&(t?e[iO]=n:delete e[iO]),r},aO=Object.prototype.toString;var sO=rO,AO=function(e){return aO.call(e)},oO=WF?WF.toStringTag:void 0;var lO=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":oO&&oO in Object(e)?sO(e):AO(e)},cO=function(e){return null!=e&&"object"==typeof e};var uO=XF,hO=ZF,dO=function(e){return"symbol"==typeof e||cO(e)&&"[object Symbol]"==lO(e)},gO=WF?WF.prototype:void 0,pO=gO?gO.toString:void 0;var fO=function e(t){if("string"==typeof t)return t;if(hO(t))return uO(t,e)+"";if(dO(t))return pO?pO.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},mO=fO;var bO=qF,wO=function(e){return null==e?"":mO(e)},EO=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yO=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");var vO=t(function(e){return(e=wO(e))&&e.replace(EO,bO).replace(yO,"")});const kO=e=>`character-${vO(e.toString()).toLowerCase().charCodeAt(0)}`,SO=Sg.memo(({children:e,className:t,...n})=>Fd.jsx("span",{...n,className:`${t||""} character ${kO(e)}`,children:e})),xO=()=>Fd.jsx(Sg.Fragment,{children:[1,7,12,20,25].map((e,t)=>Fd.jsx(SO,{style:{left:e},className:"background-character",children:" "},t))}),IO=()=>{const e=AF(HR),t=AF(jR),n=AF(kL),i=AF(XL),r=oF(GN);let a=null;e!==WU&&null!=t&&(a=i===qU?n:t-n);const s=rM(a),A=i===HU&&e!==WU;return Fd.jsxs("div",{onClick:r,className:hF("mini-time","countdown",{blinking:e===XU}),children:[Fd.jsx(xO,{}),Fd.jsx(SO,{style:{left:1},children:A?"-":" "}),Fd.jsx(SO,{style:{left:7},children:s.minutesFirstDigit}),Fd.jsx(SO,{style:{left:12},children:s.minutesSecondDigit}),Fd.jsx(SO,{style:{left:20},children:s.secondsFirstDigit}),Fd.jsx(SO,{style:{left:25},children:s.secondsSecondDigit})]})};function CO(e){const[t,n]=Sg.useState(!1);return Fd.jsx(fF,{...e,className:hF(e.className,{clicked:t}),onPointerDown:function(t){n(!0),e.onPointerDown&&e.onPointerDown(t)}})}function TO(e){const t=Sg.useRef(null),[n,i]=Sg.useState(!1);Sg.useEffect(()=>{if(n)return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)};function e(e){n&&e.target instanceof Element&&n&&t.current&&!t.current.contains(e.target)&&i(!1)}},[n]);const r=Sg.useMemo(()=>n?function(e){if(null==e)return{top:0,left:0};const t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,i=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top+i,left:t.left+n}}(t.current):{top:0,left:0},[n]),{renderMenu:a,children:s,top:A,bottom:o,...l}=e;return Fd.jsxs("div",{...l,children:[Fd.jsx("div",{className:"handle",style:{width:"100%",height:"100%"},ref:t,onClick:()=>i(!n),children:s}),Fd.jsx(LF,{selected:n,offsetTop:r.top,offsetLeft:r.left,top:A,bottom:o,children:a()})]})}class _O{bitrevtable;envelope;equalize;temp1;temp2;cossintable;static TWO_PI=6.2831853;static HALF_PI=1.5707963268;constructor(){const e=1024;this.bitrevtable=this.initBitRevTable(e),this.cossintable=this.initCosSinTable(e),this.envelope=this.initEnvelopeTable(1024,1),this.equalize=this.initEqualizeTable(e,!1),this.temp1=new Float32Array(e),this.temp2=new Float32Array(e)}initEqualizeTable(e,t){const n=new Float32Array(e/2);let i=.04;for(let t=0;t<e/2;t++){const r=(9-i)/(e/2);n[t]=Math.log10(1+i+(t+1)*r),i/=1.0025}return n}initEnvelopeTable(e,t){const n=1/e*_O.TWO_PI,i=new Float32Array(e);for(let r=0;r<e;r++)i[r]=Math.pow(.5+.5*Math.sin(r*n-_O.HALF_PI),t);return i}initBitRevTable(e){const t=new Array(e);for(let n=0;n<e;n++)t[n]=n;for(let n=0,i=0;n<e;n++){if(i>n){const e=t[n];t[n]=t[i],t[i]=e}let r=e>>1;for(;r>=1&&i>=r;)i-=r,r>>=1;i+=r}return t}initCosSinTable(e){const t=[];let n=2;for(;n<=e;){const e=-2*Math.PI/n;t.push(new Float32Array([Math.cos(e),Math.sin(e)])),n<<=1}return t}timeToFrequencyDomain(e,t){if(!this.temp1||!this.temp2||!this.cossintable)return;for(let t=0;t<this.temp1.length;t++){const n=this.bitrevtable[t];n<e.length?this.temp1[t]=e[n]*(this.envelope?this.envelope[n]:1):this.temp1[t]=0}this.temp2.fill(0);const n=this.temp1,i=this.temp2;let r=2,a=0;for(;r<=this.temp1.length;){const e=this.cossintable[a][0],t=this.cossintable[a][1];let s=1,A=0;const o=r>>1;for(let a=0;a<o;a+=1){for(let e=a;e<this.temp1.length;e+=r){const t=e+o,r=s*n[t]-A*i[t],a=s*i[t]+A*n[t];n[t]=n[e]-r,i[t]=i[e]-a,n[e]+=r,i[e]+=a}const l=s;s=s*e-A*t,A=A*e+l*t}r<<=1,++a}for(let e=0;e<t.length;e++)t[e]=Math.sqrt(n[e]*n[e]+i[e]*i[e])*(this.equalize?this.equalize[e]:1)}}class BO{_vis;_ctx;constructor(e){this._vis=e,this._ctx=e.canvas.getContext("2d")}prepare(){}paintFrame(){}dispose(){}}class UO extends BO{saPeaks;saData2;saData;saFalloff;sample;barPeak;chunk;uVar12;falloff;peakFalloff;pushDown;inWaveData=new Float32Array(1024);outSpectralData=new Float32Array(512);_analyser;_fft;_color="rgb(255,255,255)";_colorPeak="rgb(255,255,255)";_bar=document.createElement("canvas");_peak=document.createElement("canvas");_16h=document.createElement("canvas");_bufferLength;_dataArray;colorssmall;colorssmall2;_renderHeight;_smallVis;_pixelDensity;_doubled;_isMWOpen;paintBar;paintFrame;constructor(e){switch(super(e),this._analyser=this._vis.analyser,this._fft=new _O,this._bufferLength=this._analyser.frequencyBinCount,this._dataArray=new Uint8Array(this._bufferLength),this._renderHeight=e.renderHeight,this._smallVis=e.smallVis,this._pixelDensity=e.pixelDensity,this._doubled=e.doubled,this._isMWOpen=e.isMWOpen,this.colorssmall=[e.colors[17],e.colors[14],e.colors[11],e.colors[8],e.colors[4]],this.colorssmall2=[e.colors[17],e.colors[16],e.colors[14],e.colors[13],e.colors[11],e.colors[10],e.colors[8],e.colors[7],e.colors[5],e.colors[4]],this._16h.width=1,this._16h.height=16,this._16h.setAttribute("width","75"),this._16h.setAttribute("height","16"),this.paintFrame=this.paintAnalyzer.bind(this),this.saPeaks=new Int16Array(76).fill(0),this.saData2=new Float32Array(76).fill(0),this.saData=new Int16Array(76).fill(0),this.saFalloff=new Float32Array(76).fill(0),this.sample=new Float32Array(76).fill(0),this.barPeak=new Int16Array(76).fill(0),this.chunk=0,this.uVar12=0,this.pushDown=0,this._vis.coloring){case"fire":this.paintBar=this.paintBarFire.bind(this);break;case"line":this.paintBar=this.paintBarLine.bind(this);break;default:this.paintBar=this.paintBarNormal.bind(this)}switch(this._vis.saFalloff){case"slower":this.falloff=3;break;case"slow":this.falloff=6;break;case"moderate":default:this.falloff=12;break;case"fast":this.falloff=16;break;case"faster":this.falloff=32}switch(this._vis.saPeakFalloff){case"slower":this.peakFalloff=1.05;break;case"slow":default:this.peakFalloff=1.1;break;case"moderate":this.peakFalloff=1.2;break;case"fast":this.peakFalloff=1.4;break;case"faster":this.peakFalloff=1.6}}prepare(){const e=this._vis;this._peak.height=1,this._peak.width=1;let t=this._peak.getContext("2d");t.fillStyle=e.colors[23],t.fillRect(0,0,1,1),this._vis.smallVis?this.pushDown=0:this._vis.doubled&&!this._vis.isMWOpen?this.pushDown=2:this._vis.doubled?this.pushDown=0:this.pushDown=2,this._bar.height=16,this._bar.width=1,this._bar.setAttribute("width","1"),this._bar.setAttribute("height","16"),t=this._bar.getContext("2d");for(let n=0;n<16;n++)2===this._vis.pixelDensity&&this._vis.smallVis?t.fillStyle=this.colorssmall2[9-n]:t.fillStyle=this._vis.smallVis?this.colorssmall[4-n]:e.colors[2-this.pushDown- -n],t.fillRect(0,n,1,n+1)}paintAnalyzer(){if(!this._ctx)return;const e=this._ctx;e.canvas.width,e.canvas.height,e.fillStyle=this._color;const t=512,n=Math.log10(t);let i,r,a;2===this._vis.pixelDensity?(i=75,r=10):(i=this._vis.smallVis?40:75,r=this._vis.smallVis?5:15),function(e,t,n,i){const r=new Uint8Array(1024);e.getByteTimeDomainData(r);for(let e=0;e<r.length;e++)n[e]=(r[e]-128)/24;t.timeToFrequencyDomain(n,i)}(this._analyser,this._fft,this.inWaveData,this.outSpectralData),a=this._vis.smallVis?2===this._vis.pixelDensity?75:37:75;for(let e=0;e<i;e++){const r=0+(n-0)*e/(i-1),a=(1-.91)*(e/(i-1)*511)+.91*Math.pow(10,r);let s=Math.floor(a),A=Math.ceil(a);if(s>=t&&(s=511),A>=t&&(A=511),s===A)this.sample[e]=this.outSpectralData[s];else{const t=a-s,n=1-t;this.sample[e]=n*this.outSpectralData[s]+t*this.outSpectralData[A]}}for(let t=0;t<a;t++)"wide"===this._vis.bandwidth?(this.chunk=this.chunk=4294967292&t,this.uVar12=(this.sample[this.chunk+3]+this.sample[this.chunk+2]+this.sample[this.chunk+1]+this.sample[this.chunk])/4,this.saData[t]=this.uVar12):(this.chunk=0,this.saData[t]=this.sample[t]),this.saData[t]>=r&&(this.saData[t]=r),this.saPeaks[t]>=256*r&&(this.saPeaks[t]=256*r),this.saFalloff[t]-=this.falloff/16,this.saFalloff[t]<=this.saData[t]&&(this.saFalloff[t]=this.saData[t]),this.saPeaks[t]<=Math.round(256*this.saFalloff[t])&&(this.saPeaks[t]=256*this.saFalloff[t],this.saData2[t]=3),this.barPeak[t]=this.saPeaks[t]/256,this.saPeaks[t]-=Math.round(this.saData2[t]),this.saData2[t]*=this.peakFalloff,this.saPeaks[t]<=0&&(this.saPeaks[t]=0),this._vis.smallVis||Math.round(this.barPeak[t])<1&&(this.barPeak[t]=-3),t===this.chunk+3&&"wide"===this._vis.bandwidth||this.paintBar(e,t,t,Math.round(this.saFalloff[t])-this.pushDown,this.barPeak[t]+1-this.pushDown)}paintBarNormal(e,t,n,i,r){const a=e.canvas.height,s=a-i;if(e.drawImage(this._bar,0,s,1,a-s,t,s,n-t+1,a-s),this._vis.peaks){const i=a-r;e.drawImage(this._peak,0,0,1,1,t,i,n-t+1,1)}}paintBarFire(e,t,n,i,r){const a=e.canvas.height,s=a-i;if(e.drawImage(this._bar,0,0,this._bar.width,a-s,t,s,n-t+1,a-s),this._vis.peaks){const i=a-r;e.drawImage(this._peak,0,0,1,1,t,i,n-t+1,1)}}paintBarLine(e,t,n,i,r){const a=e.canvas.height,s=a-i;if(e.drawImage(this._bar,0,0,this._bar.width,a-s,t,s,n-t+1,a-s),this._vis.peaks){const i=a-r;e.drawImage(this._peak,0,0,1,1,t,i,n-t+1,1)}}}function MO(e,t,n){return e[t*n]}class RO extends BO{pushDown;_analyser;_bufferLength;_lastX=0;_lastY=0;_dataArray;_pixelRatio;_bar=document.createElement("canvas");_16h=document.createElement("canvas");paintWav;constructor(e){super(e),this._analyser=this._vis.analyser,this._bufferLength=this._analyser.fftSize,this._dataArray=new Uint8Array(this._bufferLength),this._16h.width=1,this._16h.height=16,this._16h.setAttribute("width","75"),this._16h.setAttribute("height","16"),this._pixelRatio=window.devicePixelRatio||1,this.paintWav=this.paintOscilloscope.bind(this),this.pushDown=0}prepare(){const e=this._vis;this._bar.width=1,this._bar.height=5,this._bar.setAttribute("width","1"),this._bar.setAttribute("height","5");const t=this._bar.getContext("2d");if(t)for(let n=0;n<5;n++)t.fillStyle=e.colors[18+n],t.fillRect(0,n,1,n+1);this._ctx.imageSmoothingEnabled=!1,this._ctx.mozImageSmoothingEnabled=!1,this._ctx.webkitImageSmoothingEnabled=!1,this._ctx.msImageSmoothingEnabled=!1}paintFrame(){if(!this._ctx)return;this._analyser.getByteTimeDomainData(this._dataArray),this._dataArray=this._dataArray.slice(0,576);const e=this._dataArray.length;this._ctx.canvas.width,this._ctx.canvas.height;const t=Math.floor(e/75);for(let e=0;e<=75;e++){const n=MO(this._dataArray,t,e);this.paintWav(e,n)}}colorIndex(e){return this._vis.smallVis?0:e>=14?4:e>=12?3:e>=10?2:e>=8?1:e>=6?0:e>=4?1:e>=2?2:3}paintOscilloscope(e,t){if(this._vis.smallVis&&this._vis.doubled){if(e>=75)return}else if(e>=(this._vis.smallVis?38:75))return;let n;this._vis.smallVis?this.pushDown=0:this._vis.doubled&&!this._vis.isMWOpen?this.pushDown=2:this._vis.doubled?this.pushDown=0:this.pushDown=2,t=Math.round(t/16*2)-9,n=2===this._vis.pixelDensity?3:5,t=this._vis.smallVis?t-n:t,this._vis.smallVis&&2===this._vis.pixelDensity?t=Math.round((t+11)/16*10)-5:this._vis.smallVis&&(t=Math.round((t+11)/16*5)-2);const i=t=this._vis.smallVis&&2===this._vis.pixelDensity?t<0?0:t>9?9:t:t<0?0:t>this._vis.renderHeight-1?this._vis.renderHeight-1:t;0===e&&(this._lastY=t);let r=t,a=this._lastY;for(this._lastY=t,"solid"===this._vis.oscStyle?2===this._vis.pixelDensity?(t>=(this._vis.smallVis?5:8)?(r=this._vis.smallVis?5:8,a=t):(r=t,a=this._vis.smallVis?5:7),0===e&&this._vis.smallVis&&(r=t,a=t)):(t>=(this._vis.smallVis?2:8)?(r=this._vis.smallVis?2:8,a=t):(r=t,a=this._vis.smallVis?2:7),0===e&&this._vis.smallVis&&(r=t,a=t)):"dots"===this._vis.oscStyle?(r=t,a=t):a<r&&([a,r]=[r,a],this._vis.smallVis||r++),t=r;t<=a;t++)this._ctx.drawImage(this._bar,0,this.colorIndex(i),1,1,e,t+this.pushDown,1,1)}}class LO extends BO{cleared=!1;prepare(){this.cleared=!1}paintFrame(){this._ctx&&(this._ctx,this.cleared=!0)}}function NO({analyser:e}){Sg.useLayoutEffect(()=>{e.fftSize=1024},[e,e.fftSize]);const t=AF(pL),n=AF(mL),i=AF(HR),r=AF(RR),a=AF(UR)("main"),s=AF(sL),A=oF(NP),o=r("main"),l=o&&a,c=l?5:16,u=s&&l?2:1,h=a?o?s?76:38:76*u:76,d=76*u,g=c*u,p=Sg.useMemo(()=>function(e,t,n,i,r,a){const s=document.createElement("canvas");s.width=e,s.height=t;const A=2*a,o=s.getContext("2d");if(null==o)throw new Error("Could not construct canvas context");if(o.fillStyle=n,o.fillRect(0,0,e,t),!r){o.fillStyle=i;for(let n=0;n<e;n+=A)for(let e=a;e<t;e+=A)o.fillRect(n,e,a,a)}return s}(h,g,t[0],t[1],Boolean(o),u),[t,g,h,o,u]),[f,m]=Sg.useState(null),b=Sg.useMemo(()=>{if(!f)return null;const i={canvas:f,colors:t,analyser:e,oscStyle:"lines",bandwidth:"wide",coloring:"normal",peaks:!0,saFalloff:"moderate",saPeakFalloff:"slow",sa:"analyzer",renderHeight:c,smallVis:l,pixelDensity:u,doubled:s,isMWOpen:a};switch(n){case VU:return new RO(i);case GU:return new UO(i);default:return new LO(i)}},[e,f,n,t,c,l,u,s,a]);return Sg.useEffect(()=>{if(f&&b){const e=f.getContext("2d");e&&(b.prepare(),i===XU&&e.clearRect(0,0,f.width,f.height))}},[s,f,b]),Sg.useEffect(()=>{if(null==f||null==b)return;const e=f.getContext("2d");if(null==e)return;e.imageSmoothingEnabled=!1;let t=null;const r=()=>{e.drawImage(p,0,0),b.paintFrame(),t=window.requestAnimationFrame(r)};return i===JU&&(n===jU?e.clearRect(0,0,h,g):r()),()=>{null!==t&&window.cancelAnimationFrame(t)}},[i,f,b,p,h,g,n]),i===WU?null:Fd.jsx("canvas",{id:"visualizer",ref:m,style:{width:76,height:c},width:d,height:g,onClick:A})}const DO=Sg.memo(()=>{const e=oF(RN),t=oF(TN),n=oF(_N),i=oF(MN),r=oF(BN);return Fd.jsxs("div",{className:"actions",children:[Fd.jsx(fF,{id:"previous",onClick:e,title:"Previous Track"}),Fd.jsx(fF,{id:"play",onClick:t,title:"Play"}),Fd.jsx(fF,{id:"pause",onClick:n,title:"Pause"}),Fd.jsx(fF,{id:"stop",onClick:r,title:"Stop"}),Fd.jsx(fF,{id:"next",onClick:i,title:"Next Track"})]})});function PO({style:e,className:t,id:n}){const i=AF(wL),r=oF(zN),a=oF(PP),s=oF(FP);return Fd.jsx("input",{id:n,className:t,type:"range",min:"-100",max:"100",step:"1",value:i,style:{...e,touchAction:"none"},onChange:e=>r(Number(e.target.value)),onPointerDown:()=>a("balance"),onPointerUp:s,title:"Balance"})}const FO=e=>{const t=Math.abs(e)/100;return 15*Math.floor(27*t)},OO=Sg.memo(()=>{const e=AF(wL);return Fd.jsx(PO,{id:"balance",style:{backgroundPosition:`0 -${FO(e)}px`}})}),zO=Sg.memo(()=>{const e=oF(LP);return Fd.jsx(CO,{id:"close",onClick:e,title:"Close"})});function QO(){return PP("double")}function VO(){return e=>{e(dN()),e(FP())}}const GO=Sg.memo(()=>{const e=oF(QO),t=oF(VO),n=AF(sL);return Fd.jsxs("div",{id:"clutter-bar",children:[Fd.jsx(TO,{bottom:!0,renderMenu:()=>Fd.jsx(QF,{}),children:Fd.jsx("div",{id:"button-o"})}),Fd.jsx("div",{id:"button-a"}),Fd.jsx("div",{id:"button-i"}),Fd.jsx("div",{title:"Toggle Doublesize Mode",id:"button-d",className:hF({selected:n}),onPointerUp:t,onPointerDown:t=>{t.preventDefault(),e()}}),Fd.jsx("div",{id:"button-v"})]})}),jO=Sg.memo(()=>{const e=oF(sP);return Fd.jsx(fF,{id:"eject",onClick:e,title:"Open File(s)"})});function YO(){return EN("equalizer")}const KO=Sg.memo(()=>{const e=oF(YO),t=AF(UR)("equalizer");return Fd.jsx(fF,{id:"equalizer-button",className:hF({selected:t}),onClick:e,title:"Toggle Graphical Equalizer"})});function qO(){return EN("playlist")}const HO=Sg.memo(()=>{const e=AF(UR)("playlist"),t=oF(qO);return Fd.jsx(fF,{id:"playlist-button",className:hF({selected:e}),onClick:t,title:"Toggle Playlist Editor"})}),JO=Sg.memo(e=>{const t=(`${e.children}`||"").split("");return Fd.jsx(Sg.Fragment,{children:t.map((e,t)=>Fd.jsx(SO,{children:e},t+e))})}),WO=Sg.memo(()=>{const e=AF(UL);return Fd.jsx("div",{id:"kbps",children:Fd.jsx(JO,{children:e||""})})}),XO=Sg.memo(()=>{const e=AF(ML);return Fd.jsx("div",{id:"khz",children:Fd.jsx(JO,{children:e||""})})}),ZO=" *** ",$O=e=>e.length>=31,ez=e=>$O(e)?`${e}${ZO}${e}`:e.padEnd(31," ");const tz=Sg.memo(()=>{const e=AF(BL),t=AF(sL),n=AF(JL),i=oF(YP),{handleMouseDown:r,dragOffset:a,dragging:s}=function(){const[e,t]=Sg.useState(null),[n,i]=Sg.useState(0);Sg.useEffect(()=>{if(null==e)return;const n=e,r=e=>{const t=TM(e)-n;i(-t)};let a=!1;const s=()=>{a||(document.removeEventListener("mousemove",r),document.removeEventListener("touchmove",r),document.removeEventListener("mouseup",s),document.removeEventListener("touchend",s),t(null),a=!0)};return document.addEventListener("mousemove",r),document.addEventListener("touchmove",r),document.addEventListener("touseup",s),document.addEventListener("touchend",s),s},[e]);const r=Sg.useCallback(e=>{t(TM(e))},[]);return{handleMouseDown:r,dragOffset:n,dragging:null!=e}}(),A=((e,t,n)=>$O(e)?((e,t)=>(e%t+t)%t)(5*t+n,5*(e.length+7)):0)(e,n,a),o=`${-A}px`;return function({step:e,dragging:t}){const[n,i]=Sg.useState(!0);Sg.useEffect(()=>{if(!1===n)return;const t=setInterval(e,220);return()=>clearInterval(t)},[e,n]),Sg.useEffect(()=>{if(t)return void i(!1);const e=window.setTimeout(()=>{i(!0)},1e3);return()=>{window.clearTimeout(e)}},[t])}({step:i,dragging:s}),Fd.jsx("div",{id:"marquee",className:"text",onPointerDown:r,title:"Song Title",children:Fd.jsx("div",{style:{whiteSpace:"nowrap",willChange:"transform",transform:`translateX(${o})`},children:Fd.jsx(JO,{children:ez(e)})},t?"doubled":"not-doubled")})}),nz=Sg.memo(()=>{const e=AF(vL);return Fd.jsxs("div",{className:"mono-stereo",children:[Fd.jsx("div",{id:"stereo",className:hF({selected:2===e})}),Fd.jsx("div",{id:"mono",className:hF({selected:1===e})})]})});const iz=Sg.memo(()=>{const[e,t]=function(){const e=AF(jR),t=AF(kL),n=e?Math.floor(t)/e*100:0,i=AF(_L);return[n,"position"===AF(TL)?i:n]}(),n=lF(),i=Sg.useCallback(e=>{n({type:lB,percent:Number(e.target.value)}),n({type:MB})},[n]),r=Sg.useCallback(e=>{n({type:hB,input:"position"}),n({type:fB,position:Number(e.target.value)})},[n]);let a="";return e<=33?a="left":e>=66&&(a="right"),Fd.jsx("input",{id:"position",className:a,type:"range",min:"0",max:"100",step:"1",style:{touchAction:"none"},value:t,onInput:r,onChange:()=>{},onPointerUp:i,onPointerDown:r,title:"Seeking Bar"})}),rz=Sg.memo(()=>{const e=AF(yL),t=oF(QN);return Fd.jsx(NF,{renderContents:()=>Fd.jsx(RF,{checked:e,label:"Repeat",onClick:t,hotkey:"(R)"}),children:Fd.jsx(fF,{id:"repeat",className:hF({selected:e}),onClick:t,title:"Toggle Repeat"})})}),az=Sg.memo(()=>{const e=oF(pN);return Fd.jsx(CO,{id:"shade",onPointerDown:e,onDoubleClick:e=>e.stopPropagation(),title:"Toggle Windowshade Mode"})}),sz=Sg.memo(()=>{const e=oF(DP);return Fd.jsx(CO,{id:"minimize",title:"Minimize",onClick:e})}),Az=Sg.memo(()=>{const e=AF(EL),t=oF(VN);return Fd.jsx(NF,{renderContents:()=>Fd.jsx(RF,{checked:e,label:"Shuffle",onClick:t,hotkey:"(S)"}),children:Fd.jsx(fF,{id:"shuffle",className:hF({selected:e}),onClick:t,title:"Toggle Shuffle"})})}),oz=Sg.memo(()=>{const e=oF(GN),t=AF(kL),n=AF(jR)||0,i=AF(XL),r=rM(i===qU?t:n-t);return Fd.jsxs("div",{id:"time",onClick:e,className:"countdown",children:[i===HU&&Fd.jsx("div",{id:"minus-sign"}),Fd.jsx("div",{id:"minute-first-digit",className:`digit digit-${r.minutesFirstDigit}`}),Fd.jsx("div",{id:"minute-second-digit",className:`digit digit-${r.minutesSecondDigit}`}),Fd.jsx("div",{id:"second-first-digit",className:`digit digit-${r.secondsFirstDigit}`}),Fd.jsx("div",{id:"second-second-digit",className:`digit digit-${r.secondsSecondDigit}`})]})});function lz({id:e,style:t,className:n}){const i=AF(bL),r=oF(PP),a=oF(FP),s=oF(PN);return Fd.jsx("input",{id:e,type:"range",min:"0",max:"100",step:"1",value:i,style:{...t,touchAction:"none"},className:n,onChange:e=>s(Number(e.target.value)),onPointerDown:()=>r("volume"),onPointerUp:a,title:"Volume Bar"})}const cz=Sg.memo(()=>{const e=AF(bL)/100,t={backgroundPosition:`0 -${15*(Math.round(28*e)-1)}px`};return Fd.jsx("div",{id:"volume",style:t,children:Fd.jsx(lz,{})})});function uz(e){return lP(e,LU)}const hz=Sg.memo(({analyser:e,filePickers:t})=>{const n=AF(RR)("main"),i=AF(HR),r=AF(aL),a=AF(ZL),s=AF(sL),A=AF(AL),o=AF($L),l=hF({window:!0,play:i===JU,stop:i===WU,pause:i===XU,selected:r===_U,shade:n,draggable:!0,loading:a,doubled:s,llama:A}),c=oF(pN),u=oF(ON),h=oF(uz);return Fd.jsx(TF,{id:"main-window",windowId:_U,className:l,handleDrop:h,onWheelActive:u,children:Fd.jsxs(gF,{windowId:_U,children:[Fd.jsxs("div",{id:"title-bar",className:"selected draggable",onDoubleClick:c,children:[Fd.jsx(TO,{id:"option-context",bottom:!0,renderMenu:()=>Fd.jsx(VF,{filePickers:t}),children:Fd.jsx(CO,{id:"option",title:"Winamp Menu"})}),n&&Fd.jsx(IO,{}),Fd.jsx(sz,{}),Fd.jsx(az,{}),Fd.jsx(zO,{})]}),Fd.jsxs("div",{className:"webamp-status",children:[Fd.jsx(GO,{}),!o&&Fd.jsx("div",{id:"play-pause"}),Fd.jsx("div",{id:"work-indicator",className:hF({selected:o})}),Fd.jsx(oz,{})]}),Fd.jsx(NO,{analyser:e}),Fd.jsxs("div",{className:"media-info",children:[Fd.jsx(tz,{}),Fd.jsx(WO,{}),Fd.jsx(XO,{}),Fd.jsx(nz,{})]}),Fd.jsx(cz,{}),Fd.jsx(OO,{}),Fd.jsxs("div",{className:"windows",children:[Fd.jsx(KO,{}),Fd.jsx(HO,{})]}),Fd.jsx(iz,{}),Fd.jsx(DO,{}),Fd.jsx(jO,{}),Fd.jsxs("div",{className:"shuffle-repeat",children:[Fd.jsx(Az,{}),Fd.jsx(rz,{})]}),Fd.jsx("a",{id:"about",target:"_blank",href:"https://webamp.org/about",title:"About"})]})})});function dz({widthOnly:e}){const t=AF(LR),n=oF(wN),i=t("playlist");return Fd.jsx(dF,{currentSize:i,id:"playlist-resize-target",setWindowSize:e=>{n("playlist",e)},widthOnly:e})}function gz(){const e=AF(aL),t=AF(LR)("playlist"),n=AF(jR),i=AF($R),r=oF(mN),a=oF(fN),s=oF(bN),A=25*t[0],o=Sg.useMemo(()=>{if(null==i)return"[No file]";const e=(205+A)/5;return i.length>e?i.slice(0,e-1)+"…":i},[A,i]),l=Sg.useMemo(()=>null==i?"":aM(n),[n,i]);return Fd.jsx("div",{id:"playlist-window-shade",className:hF("window","draggable",{selected:e===BU}),style:{width:`${275+A}px`},onPointerDown:()=>s("playlist"),onDoubleClick:a,children:Fd.jsx("div",{className:"left",children:Fd.jsxs("div",{className:"right draggable",children:[Fd.jsx("div",{id:"playlist-shade-track-title",children:Fd.jsx(JO,{children:o})}),Fd.jsx("div",{id:"playlist-shade-time",children:Fd.jsx(JO,{children:l})}),Fd.jsx(dz,{widthOnly:!0}),Fd.jsx(fF,{id:"playlist-shade-button",onClick:a}),Fd.jsx(fF,{id:"playlist-close-button",onClick:()=>r("playlist")})]})})})}var pz=Sg.memo(function({children:e}){const{ref:t,hover:n}=sF();return Fd.jsx("li",{ref:t,className:hF({hover:n}),children:e})});var fz=Sg.memo(function(e){const[t,n]=Sg.useState(!1),[i,r]=Sg.useState(null),a=Sg.useCallback(()=>{setTimeout(()=>{n(!1)},0)},[]);return function(e,t){Sg.useEffect(()=>{if(null==e||null==t)return;const n=i=>{const r=i.target;r instanceof Element&&(e.contains(r)||(t(),window.document.removeEventListener("click",n,{capture:!0})))};return window.document.addEventListener("click",n,{capture:!0}),()=>{window.document.removeEventListener("click",n,{capture:!0})}},[e,t])}(i,t?a:null),Fd.jsxs("div",{id:e.id,className:hF("playlist-menu",{selected:t}),ref:r,onClick:()=>n(e=>!e),children:[Fd.jsx("div",{className:"bar"}),t&&Fd.jsx("ul",{children:Sg.Children.map(e.children,(e,t)=>Fd.jsx(pz,{children:e},t))})]})});const mz=()=>{const e=AF(pR),t=oF(bP),n=oF(mP),i=oF(wP);return Fd.jsxs(fz,{id:"playlist-add-menu",children:[Fd.jsx("div",{className:"add-url",onClick:()=>i(e)}),Fd.jsx("div",{className:"add-dir",onClick:()=>t(e)}),Fd.jsx("div",{className:"add-file",onClick:()=>n(e)})]})},bz=()=>{const e=oF(RD),t=oF(LD),n=oF(MD);return Fd.jsxs(fz,{id:"playlist-remove-menu",children:[Fd.jsx("div",{className:"remove-misc",onClick:()=>alert("Not supported in Webamp")}),Fd.jsx("div",{className:"remove-all",onClick:t}),Fd.jsx("div",{className:"crop",onClick:n}),Fd.jsx("div",{className:"remove-selected",onClick:e})]})};function wz(){const e=oF(jD),t=oF(YD),n=oF(KD);return Fd.jsxs(fz,{id:"playlist-selection-menu",children:[Fd.jsx("div",{className:"invert-selection",onClick:e}),Fd.jsx("div",{className:"select-zero",onClick:t}),Fd.jsx("div",{className:"select-all",onClick:n})]})}function Ez(){const e=oF(ND),t=oF(DD),n=oF(PD);return Fd.jsx(TO,{style:{width:"100%",height:"100%"},top:!0,renderMenu:()=>Fd.jsxs(Fd.Fragment,{children:[Fd.jsx(RF,{label:"Sort list by title",onClick:n}),Fd.jsx(BF,{}),Fd.jsx(RF,{label:"Reverse list",onClick:e}),Fd.jsx(RF,{label:"Randomize list",onClick:t})]}),children:Fd.jsx("div",{})})}const yz=()=>{const e=oF(gP);return Fd.jsx(TO,{style:{width:"100%",height:"100%"},top:!0,renderMenu:()=>Fd.jsx(RF,{onClick:e,label:"Generate HTML playlist"}),children:Fd.jsx("div",{})})},vz=()=>Fd.jsxs(fz,{id:"playlist-misc-menu",children:[Fd.jsx("div",{className:"sort-list",onClick:e=>e.stopPropagation(),children:Fd.jsx(Ez,{})}),Fd.jsx("div",{className:"file-info",onClick:()=>alert("Not supported in Webamp")}),Fd.jsx("div",{className:"misc-options",onClick:e=>e.stopPropagation(),children:Fd.jsx(yz,{})})]});function kz(){const e=oF(LD),t=oF(EP),n=oF(yP);return Fd.jsxs(fz,{id:"playlist-list-menu",children:[Fd.jsx("div",{className:"new-list",onClick:e}),Fd.jsx("div",{className:"save-list",onClick:n}),Fd.jsx("div",{className:"load-list",onClick:t})]})}const Sz=()=>{const e=AF(xR),t=Sg.useMemo(()=>function(e,t,n){for(;e.length<t;)e+=n;return e}(e,18," "),[e]);return Fd.jsx("div",{className:"playlist-running-time-display draggable",children:Fd.jsx("div",{children:Fd.jsx(JO,{children:t})})})},xz=()=>{const e=oF(TN),t=oF(_N),n=oF(BN),i=oF(sP),r=oF(MN),a=oF(RN);return Fd.jsxs(Sg.Fragment,{children:[Fd.jsx(Sz,{}),Fd.jsxs("div",{className:"playlist-action-buttons",children:[Fd.jsx("div",{className:"playlist-previous-button",onClick:a}),Fd.jsx("div",{className:"playlist-play-button",onClick:e}),Fd.jsx("div",{className:"playlist-pause-button",onClick:t}),Fd.jsx("div",{className:"playlist-stop-button",onClick:n}),Fd.jsx("div",{className:"playlist-next-button",onClick:r}),Fd.jsx("div",{className:"playlist-eject-button",onClick:i})]}),Fd.jsx(IO,{})]})};function Iz({children:e,handleMoveClick:t,index:n,id:i}){const r=AF(fL),a=AF(ER),s=AF(TR),A=a.has(i),o=s===i,l=lF(),c=oF(CN),u=Sg.useCallback(e=>e.shiftKey?(e.preventDefault(),void l({type:PB,index:n})):e.metaKey||e.ctrlKey?(e.preventDefault(),void l({type:DB,index:n})):(A||l({type:NB,index:n}),void t(e)),[l,t,n,A]),h=Sg.useCallback(e=>{function r(){c(i)}A||l({type:NB,index:n}),t(e),e.target.addEventListener("touchstart",r),setTimeout(()=>{e.target.removeEventListener("touchstart",r)},250)},[l,t,i,n,c,A]),d={backgroundColor:A?r.selectedbg:void 0,color:o?r.current:void 0};return Fd.jsx("div",{className:hF("track-cell",{selected:A,current:o}),style:d,onClick:e=>e.stopPropagation(),onMouseDown:u,onTouchStart:h,onContextMenu:e=>e.preventDefault(),onDoubleClick:()=>c(i),children:e})}const Cz=({id:e,paddedTrackNumber:t})=>{const n=AF(YR)(e);return Fd.jsxs("span",{children:[t,". ",n]})};function Tz(){const e=AF(zR),t=AF(QR),n=AF(hR),i=AF(tL),r=oF(YD),a=oF(GD),s=oF(zD),[A,o]=Sg.useState(null),[l,c]=Sg.useState(!1),[u,h]=Sg.useState(null),d=e=>{c(!0),h(_M(e))};function g(n){return t.map((t,i)=>Fd.jsx(Iz,{id:t,index:e+i,handleMoveClick:d,children:n(t,i)},t))}Sg.useEffect(()=>{if(null==A||null==u||!1===l)return;const{top:e,bottom:t,left:n,right:i}=A.getBoundingClientRect();let r=0;const s=s=>{const A=TM(s),o=_M(s);if(o<e||o>t||A<n||A>i)return;const l=Math.floor((o-u)/13);if(l!==r){a(l-r),r=l}},o=()=>c(!1);return window.addEventListener("mouseup",o),window.addEventListener("mousemove",s),window.addEventListener("touchend",o),window.addEventListener("touchmove",s),()=>{window.removeEventListener("mousemove",s),window.removeEventListener("touchmove",s),window.removeEventListener("mouseup",o),window.removeEventListener("touchend",o)}},[l]);const p=i.toString().length;const f=t=>(t+1+e).toString().padStart(p," ");return Sg.useEffect(()=>{if(null!=A)return A.addEventListener("wheel",s,{passive:!1}),()=>{A.removeEventListener("wheel",s)}},[A,s]),Fd.jsxs("div",{ref:o,className:"playlist-tracks",style:{height:"100%",userSelect:"none"},onClick:r,children:[Fd.jsx("div",{className:"playlist-track-titles",children:g((e,t)=>Fd.jsx(Cz,{id:e,paddedTrackNumber:f(t)}))}),Fd.jsx("div",{className:"playlist-track-durations",children:g(e=>aM(n[e].duration))})]})}function _z({value:e,height:t,width:n,handle:i,handleHeight:r,onBeforeChange:a,onChange:s,onAfterChange:A,requireClicksOriginateLocally:o=!0,disabled:l}){const c=Sg.useRef(null),u=Sg.useRef(null);function h(e){e.preventDefault(),function({target:e,clientY:t}){const n=c.current,i=u.current;if(null==n||null==i)return null;const r=n.getBoundingClientRect(),o=i.getBoundingClientRect(),{top:l,height:h}=r,{top:d,height:g}=o,p=l+(i.contains(e)?t-d:g/2),f=h-g;function m(e){s(lM((e-p)/f,0,1))}const b=e=>{e.preventDefault(),m(e.clientY)},w=()=>{null!=A&&A(),document.removeEventListener("pointermove",b),document.removeEventListener("pointerup",w)};document.addEventListener("pointermove",b),document.addEventListener("pointerup",w),null!=a&&a(),m(t)}({target:e.target,clientY:e.clientY})}const d=Math.floor((t-r)*e);return Fd.jsx("div",{style:{height:t,width:n},onPointerDown:l?void 0:h,onPointerEnter:l||o?void 0:function(e){1===e.buttons&&h(e)},ref:c,children:Fd.jsx("div",{style:{transform:`translateY(${d}px)`},ref:u,children:i})})}const Bz=()=>Fd.jsx("div",{className:"playlist-scrollbar-handle",style:{height:18}});function Uz(){const e=AF(cL)(BU).height,t=AF(OR),n=AF(VR),i=oF(FD);return Fd.jsx("div",{className:"playlist-scrollbar",style:{marginLeft:5},children:Fd.jsx(_z,{height:e-58,handleHeight:18,width:8,value:t/100,onChange:e=>i(100*e),handle:Fd.jsx(Bz,{}),disabled:n})})}function Mz(e){return e.playlist.trackOrder.length-1}function Rz({analyser:e}){const t=AF(zR),n=AF(LR),i=AF(aL),r=AF(RR),a=AF(UR),s=AF(Mz),A=AF(fL),o=AF(cL),l=i===BU,c=Boolean(r(BU)),u=n(BU),h=o(BU),d=oF(mN),g=oF(fN),p=oF(QD),f=oF(VD),m=oF(ON),b=oF(lP),w=u[0]>2,E=!a(_U),y=Sg.useCallback((e,n)=>{const i=e.clientY-n.y,r=lM(t+Math.round((i-23)/13),0,s+1);b(e,NU,r)},[b,s,t]);if(c)return Fd.jsx(gz,{});const v={color:A.normal,backgroundColor:A.normalbg,fontFamily:`${A.font}, Arial, sans-serif`,height:`${h.height}px`,width:`${h.width}px`},k=hF("window","draggable",{selected:l}),S=u[0]%2==0;return Fd.jsx(gF,{windowId:BU,children:Fd.jsxs(TF,{id:"playlist-window",windowId:BU,className:k,style:v,handleDrop:y,onWheelActive:m,children:[Fd.jsxs("div",{className:"playlist-top draggable",onDoubleClick:g,children:[Fd.jsx("div",{className:"playlist-top-left draggable"}),S&&Fd.jsx("div",{className:"playlist-top-left-spacer draggable"}),Fd.jsx("div",{className:"playlist-top-left-fill draggable"}),Fd.jsx("div",{className:"playlist-top-title draggable"}),S&&Fd.jsx("div",{className:"playlist-top-right-spacer draggable"}),Fd.jsx("div",{className:"playlist-top-right-fill draggable"}),Fd.jsxs("div",{className:"playlist-top-right draggable",children:[Fd.jsx(fF,{id:"playlist-shade-button",onClick:g}),Fd.jsx(fF,{id:"playlist-close-button",onClick:()=>d(BU)})]})]}),Fd.jsxs("div",{className:"playlist-middle draggable",children:[Fd.jsx("div",{className:"playlist-middle-left draggable"}),Fd.jsx("div",{className:"playlist-middle-center",children:Fd.jsx(Tz,{})}),Fd.jsx(fF,{className:"playlist-middle-right draggable",children:Fd.jsx(Uz,{})})]}),Fd.jsxs("div",{className:"playlist-bottom draggable",children:[Fd.jsxs("div",{className:"playlist-bottom-left draggable",children:[Fd.jsx(mz,{}),Fd.jsx(bz,{}),Fd.jsx(wz,{}),Fd.jsx(vz,{})]}),Fd.jsx("div",{className:"playlist-bottom-center draggable"}),Fd.jsxs("div",{className:"playlist-bottom-right draggable",children:[w&&Fd.jsx("div",{className:"playlist-visualizer",children:E&&Fd.jsx("div",{className:"visualizer-wrapper",children:Fd.jsx(NO,{analyser:e})})}),Fd.jsx(xz,{}),Fd.jsx(kz,{}),Fd.jsx("div",{id:"playlist-scroll-up-button",onClick:p}),Fd.jsx("div",{id:"playlist-scroll-down-button",onClick:f}),Fd.jsx(dz,{})]})]})]})})}const Lz=()=>Fd.jsx("div",{style:{width:11,height:11,marginLeft:1},className:"slider-handle"});function Nz({id:e,onChange:t,band:n,clickOriginatedInEq:i}){const r=AF(cR)[n],a=Sg.useMemo(()=>{const{x:e,y:t}=(n=(e=>{const t=e/100;return Math.round(27*t)})(r),{x:n%14,y:Math.floor(n/14)});var n;return`-${15*e}px -${65*t}px`},[r]),s=oF(OP),A=oF(FP);return Fd.jsx(fF,{id:e,className:"band",style:{backgroundPosition:a,height:63},requireClicksOriginateLocally:!("preamp"!==n&&i),children:Fd.jsx(_z,{height:62,width:14,handleHeight:11,value:1-r/100,onBeforeChange:()=>s(n),onChange:e=>t(100*(1-e)),onAfterChange:A,requireClicksOriginateLocally:!("preamp"!==n&&i),handle:Fd.jsx(Lz,{})})})}const Dz=()=>{const e=oF($N),t=AF(SL);return Fd.jsx(fF,{id:"on",className:hF({selected:t}),onClick:e})},Pz=Sg.memo(()=>{const e=AF(e=>e.equalizer.auto),t=oF(eD);return Fd.jsx(fF,{id:"auto",className:hF({selected:e}),onClick:t})});function Fz(e,t){const n=function(e,t){const n=e.map(()=>0),i=e.length-1,r=function(e,t){const n=[];for(let i=0;i<e;i++){n.push([]);for(let e=0;e<t;e++)n[i].push(0)}return n}(i+1,i+2);for(let n=1;n<i;n++)r[n][n-1]=1/(e[n]-e[n-1]),r[n][n]=2*(1/(e[n]-e[n-1])+1/(e[n+1]-e[n])),r[n][n+1]=1/(e[n+1]-e[n]),r[n][i+1]=3*((t[n]-t[n-1])/((e[n]-e[n-1])*(e[n]-e[n-1]))+(t[n+1]-t[n])/((e[n+1]-e[n])*(e[n+1]-e[n])));return r[0][0]=2/(e[1]-e[0]),r[0][1]=1/(e[1]-e[0]),r[0][i+1]=3*(t[1]-t[0])/((e[1]-e[0])*(e[1]-e[0])),r[i][i-1]=1/(e[i]-e[i-1]),r[i][i]=2/(e[i]-e[i-1]),r[i][i+1]=3*(t[i]-t[i-1])/((e[i]-e[i-1])*(e[i]-e[i-1])),function(e,t){const n=e.length;for(let t=0;t<n;t++){let i=0,r=Number.NEGATIVE_INFINITY;for(let a=t;a<n;a++)e[a][t]>r&&(i=a,r=e[a][t]);Oz(e,t,i);for(let i=t+1;i<n;i++){for(let r=t+1;r<n+1;r++)e[i][r]=e[i][r]-e[t][r]*(e[i][t]/e[t][t]);e[i][t]=0}}for(let i=n-1;i>=0;i--){const r=e[i][n]/e[i][i];t[i]=r;for(let t=i-1;t>=0;t--)e[t][n]-=e[t][i]*r,e[t][i]=0}return t}(r,n)}(e,t),i=e[e.length-1],r=[];let a=1;for(let s=0;s<=i;s++){for(;e[a]<s;)a++;const i=(s-e[a-1])/(e[a]-e[a-1]),A=n[a-1]*(e[a]-e[a-1])-(t[a]-t[a-1]),o=-n[a]*(e[a]-e[a-1])+(t[a]-t[a-1]),l=(1-i)*t[a-1]+i*t[a]+i*(1-i)*(A*(1-i)+o*i);r.push(l)}return r}function Oz(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}const zz=19;function Qz(){const e=AF(cR),t=iF(AF(qL)),[n,i]=Sg.useState(null),r=Sg.useMemo(()=>n?.getContext("2d")??null,[n]),a=function(e){const t=iF(AF(HL));return Sg.useMemo(()=>null==e||null==t?null:e.createPattern(t,"repeat-x"),[e,t])}(r);return Sg.useLayoutEffect(()=>{if(null==r||null==n||null==t||null==a)return;const i=Number(n.width),s=Number(n.height);r.clearRect(0,0,i,s),function({colorPattern:e,sliders:t,canvasCtx:n,preampLineImage:i}){const r=dM(t.preamp/100,0,18);n.drawImage(i,0,r,i.width,i.height);const a=TU.map(e=>t[e]);n.fillStyle=e;const s=2,A=0,o=18,l=[],c=[];a.forEach((e,t)=>{const n=(100-e)/100;l.push(12*t),c.push(dM(n,A,o))});const u=Fz(l,c),h=l[l.length-1];let d=c[0];for(let e=0;e<=h;e++){const t=lM(Math.round(u[e]),0,18),i=Math.min(t,d),r=1+Math.abs(d-t);n.fillRect(s+e,i,1,r),d=t}}({colorPattern:a,sliders:e,canvasCtx:r,preampLineImage:t})},[r,n,a,t,e]),Fd.jsx("canvas",{id:"eqGraph",ref:i,width:113,height:zz})}var Vz={type:"Winamp EQ library file v1.1",presets:[{name:"Classical",hz60:33,hz170:33,hz310:33,hz600:33,hz1000:33,hz3000:33,hz6000:20,hz12000:20,hz14000:20,hz16000:16,preamp:33},{name:"Club",hz60:33,hz170:33,hz310:38,hz600:42,hz1000:42,hz3000:42,hz6000:38,hz12000:33,hz14000:33,hz16000:33,preamp:33},{name:"Dance",hz60:48,hz170:44,hz310:36,hz600:32,hz1000:32,hz3000:22,hz6000:20,hz12000:20,hz14000:32,hz16000:32,preamp:33},{name:"Laptop speakers/headphones",hz60:40,hz170:50,hz310:41,hz600:26,hz1000:28,hz3000:35,hz6000:40,hz12000:48,hz14000:53,hz16000:56,preamp:33},{name:"Large hall",hz60:49,hz170:49,hz310:42,hz600:42,hz1000:33,hz3000:24,hz6000:24,hz12000:24,hz14000:33,hz16000:33,preamp:33},{name:"Party",hz60:44,hz170:44,hz310:33,hz600:33,hz1000:33,hz3000:33,hz6000:33,hz12000:33,hz14000:44,hz16000:44,preamp:33},{name:"Pop",hz60:29,hz170:40,hz310:44,hz600:45,hz1000:41,hz3000:30,hz6000:28,hz12000:28,hz14000:29,hz16000:29,preamp:33},{name:"Reggae",hz60:33,hz170:33,hz310:31,hz600:22,hz1000:33,hz3000:43,hz6000:43,hz12000:33,hz14000:33,hz16000:33,preamp:33},{name:"Rock",hz60:45,hz170:40,hz310:23,hz600:19,hz1000:26,hz3000:39,hz6000:47,hz12000:50,hz14000:50,hz16000:50,preamp:33},{name:"Soft",hz60:40,hz170:35,hz310:30,hz600:28,hz1000:30,hz3000:39,hz6000:46,hz12000:48,hz14000:50,hz16000:52,preamp:33},{name:"Ska",hz60:28,hz170:24,hz310:25,hz600:31,hz1000:39,hz3000:42,hz6000:47,hz12000:48,hz14000:50,hz16000:48,preamp:33},{name:"Full Bass",hz60:48,hz170:48,hz310:48,hz600:42,hz1000:35,hz3000:25,hz6000:18,hz12000:15,hz14000:14,hz16000:14,preamp:33},{name:"Soft Rock",hz60:39,hz170:39,hz310:36,hz600:31,hz1000:25,hz3000:23,hz6000:26,hz12000:31,hz14000:37,hz16000:47,preamp:33},{name:"Full Treble",hz60:16,hz170:16,hz310:16,hz600:25,hz1000:37,hz3000:50,hz6000:58,hz12000:58,hz14000:58,hz16000:60,preamp:33},{name:"Full Bass & Treble",hz60:44,hz170:42,hz310:33,hz600:20,hz1000:24,hz3000:35,hz6000:46,hz12000:50,hz14000:52,hz16000:52,preamp:33},{name:"Live",hz60:24,hz170:33,hz310:39,hz600:41,hz1000:42,hz3000:42,hz6000:39,hz12000:37,hz14000:37,hz16000:36,preamp:33},{name:"Techno",hz60:45,hz170:42,hz310:33,hz600:23,hz1000:24,hz3000:33,hz6000:45,hz12000:48,hz14000:48,hz16000:47,preamp:33}]};const Gz=()=>{const e=oF(aP),t=oF(dP),n=oF(hP);return Fd.jsx(TO,{top:!0,id:"presets-context",renderMenu:()=>Fd.jsxs(Fd.Fragment,{children:[Fd.jsxs(UF,{label:"Load",children:[Vz.presets.map(e=>Fd.jsx(RF,{onClick:()=>n(e),label:e.name},e.name)),Fd.jsx(BF,{}),Fd.jsx(RF,{onClick:e,label:"From Eqf..."})]}),Fd.jsx(RF,{onClick:t,label:"Save"})]}),children:Fd.jsx(fF,{id:"presets"})})};function jz(){const e=AF(aL)===UU,t=oF(mN),n=oF(gN);return Fd.jsxs(CO,{id:"eq-buttons",children:[Fd.jsx(fF,{id:"equalizer-shade",onClick:n}),Fd.jsx(fF,{id:"equalizer-close",onClick:()=>t(UU)})]},e?"selected":"unselected")}const Yz=()=>{const e=AF(bL),t=AF(wL),n=oF(gN),i=["left","center","right"],r=wM(0,100,e,i),a=wM(-100,100,t,i);return Fd.jsxs("div",{className:"draggable",onDoubleClick:n,style:{width:"100%",height:"100%"},children:[Fd.jsx(jz,{}),Fd.jsx(lz,{id:"equalizer-volume",className:r}),Fd.jsx(PO,{id:"equalizer-balance",className:a})]})},Kz=()=>{const e=AF(sL),t=AF(aL),n=AF(RR),i=t===UU,r=n(UU),a=oF(ZN),s=oF(XN),A=oF(WN),o=oF(JN),l=oF(qN),c=oF(gN),u=hF({selected:i,doubled:e,shade:r,window:!0,draggable:!0}),[h,d]=Sg.useState(!1);return Fd.jsx("div",{id:"equalizer-window",className:u,children:Fd.jsx(gF,{windowId:UU,children:r?Fd.jsx(Yz,{}):Fd.jsxs("div",{children:[Fd.jsx("div",{className:"equalizer-top title-bar draggable",onDoubleClick:c,children:Fd.jsx(jz,{})}),Fd.jsx(Dz,{}),Fd.jsx(Pz,{}),Fd.jsx(Qz,{}),Fd.jsx(Gz,{}),Fd.jsx(Nz,{id:"preamp",band:"preamp",onChange:a}),Fd.jsx("div",{id:"plus12db",onClick:o}),Fd.jsx("div",{id:"zerodb",onClick:A}),Fd.jsx("div",{id:"minus12db",onClick:s}),Fd.jsx("div",{onPointerDown:e=>{e.stopPropagation();e.target.releasePointerCapture(e.pointerId),d(!0),document.addEventListener("pointerup",function e(t){0===t.detail&&(d(!1),document.removeEventListener("pointerup",e))})},children:TU.map(e=>{return Fd.jsx(Nz,{id:(t=e,`band-${t}`),band:e,onChange:t=>l(e,t),clickOriginatedInEq:h},e);var t})})]})})})},qz={MAIN_BALANCE_BACKGROUND:["#balance"],MAIN_BALANCE_THUMB:["#balance::-webkit-slider-thumb","#balance::-moz-range-thumb"],MAIN_BALANCE_THUMB_ACTIVE:["#balance:active::-webkit-slider-thumb","#balance:active::-moz-range-thumb"],MAIN_PREVIOUS_BUTTON:[".actions #previous"],MAIN_PREVIOUS_BUTTON_ACTIVE:[".actions #previous.winamp-active"],MAIN_PLAY_BUTTON:[".actions #play"],MAIN_PLAY_BUTTON_ACTIVE:[".actions #play.winamp-active"],MAIN_PAUSE_BUTTON:[".actions #pause"],MAIN_PAUSE_BUTTON_ACTIVE:[".actions #pause.winamp-active"],MAIN_STOP_BUTTON:[".actions #stop"],MAIN_STOP_BUTTON_ACTIVE:[".actions #stop.winamp-active"],MAIN_NEXT_BUTTON:[".actions #next"],MAIN_NEXT_BUTTON_ACTIVE:[".actions #next.winamp-active"],MAIN_EJECT_BUTTON:["#eject"],MAIN_EJECT_BUTTON_ACTIVE:["#eject.winamp-active"],MAIN_WINDOW_BACKGROUND:["#main-window"],MAIN_STEREO:[".media-info #stereo",".stop .media-info #stereo.selected"],MAIN_STEREO_SELECTED:[".media-info #stereo.selected"],MAIN_MONO:[".media-info #mono",".stop .media-info #mono.selected"],MAIN_MONO_SELECTED:[".media-info #mono.selected"],NO_MINUS_SIGN:["#time #minus-sign"],MINUS_SIGN:["#time.countdown #minus-sign"],DIGIT_0:[".digit-0"],DIGIT_1:[".digit-1"],DIGIT_2:[".digit-2"],DIGIT_3:[".digit-3"],DIGIT_4:[".digit-4"],DIGIT_5:[".digit-5"],DIGIT_6:[".digit-6"],DIGIT_7:[".digit-7"],DIGIT_8:[".digit-8"],DIGIT_9:[".digit-9"],NO_MINUS_SIGN_EX:["#time #minus-sign"],MINUS_SIGN_EX:["#time.countdown #minus-sign"],DIGIT_0_EX:[".digit-0"],DIGIT_1_EX:[".digit-1"],DIGIT_2_EX:[".digit-2"],DIGIT_3_EX:[".digit-3"],DIGIT_4_EX:[".digit-4"],DIGIT_5_EX:[".digit-5"],DIGIT_6_EX:[".digit-6"],DIGIT_7_EX:[".digit-7"],DIGIT_8_EX:[".digit-8"],DIGIT_9_EX:[".digit-9"],MAIN_PLAYING_INDICATOR:[".play #play-pause"],MAIN_PAUSED_INDICATOR:[".pause #play-pause"],MAIN_STOPPED_INDICATOR:[".stop #play-pause"],MAIN_NOT_WORKING_INDICATOR:["#work-indicator"],MAIN_WORKING_INDICATOR:["#work-indicator.selected"],PLAYLIST_TOP_TILE:[".playlist-top-left-fill",".playlist-top-left-spacer",".playlist-top-right-fill",".playlist-top-right-spacer"],PLAYLIST_TOP_LEFT_CORNER:[".playlist-top-left"],PLAYLIST_TITLE_BAR:[".playlist-top-title"],PLAYLIST_TOP_RIGHT_CORNER:[".playlist-top-right"],PLAYLIST_TOP_TILE_SELECTED:[".selected .playlist-top-left-fill",".selected .playlist-top-left-spacer",".selected .playlist-top-right-fill",".selected .playlist-top-right-spacer"],PLAYLIST_TOP_LEFT_SELECTED:[".selected .playlist-top-left"],PLAYLIST_TITLE_BAR_SELECTED:[".selected .playlist-top-title"],PLAYLIST_TOP_RIGHT_CORNER_SELECTED:[".selected .playlist-top-right"],PLAYLIST_LEFT_TILE:[".playlist-middle-left"],PLAYLIST_RIGHT_TILE:[".playlist-middle-right"],PLAYLIST_SCROLL_HANDLE:[".playlist-scrollbar-handle"],PLAYLIST_SCROLL_HANDLE_SELECTED:[".playlist-middle-right.winamp-active .playlist-scrollbar-handle"],PLAYLIST_BOTTOM_TILE:[".playlist-bottom"],PLAYLIST_BOTTOM_LEFT_CORNER:[".playlist-bottom-left"],PLAYLIST_BOTTOM_RIGHT_CORNER:[".playlist-bottom-right"],PLAYLIST_VISUALIZER_BACKGROUND:[".playlist-visualizer"],PLAYLIST_SHADE_BACKGROUND:["#playlist-window-shade"],PLAYLIST_SHADE_BACKGROUND_LEFT:["#playlist-window-shade .left"],PLAYLIST_SHADE_BACKGROUND_RIGHT:["#playlist-window-shade .right"],PLAYLIST_SHADE_BACKGROUND_RIGHT_SELECTED:["#playlist-window-shade.selected .right"],PLAYLIST_ADD_MENU_BAR:["#playlist-add-menu.selected .bar"],PLAYLIST_ADD_URL:["#playlist-add-menu .add-url"],PLAYLIST_ADD_URL_SELECTED:["#playlist-add-menu .hover .add-url"],PLAYLIST_ADD_DIR:["#playlist-add-menu .add-dir"],PLAYLIST_ADD_DIR_SELECTED:["#playlist-add-menu .hover .add-dir"],PLAYLIST_ADD_FILE:["#playlist-add-menu .add-file"],PLAYLIST_ADD_FILE_SELECTED:["#playlist-add-menu .hover .add-file"],PLAYLIST_REMOVE_MENU_BAR:["#playlist-remove-menu.selected .bar"],PLAYLIST_REMOVE_ALL:["#playlist-remove-menu .remove-all"],PLAYLIST_REMOVE_ALL_SELECTED:["#playlist-remove-menu .hover .remove-all"],PLAYLIST_CROP:["#playlist-remove-menu .crop"],PLAYLIST_CROP_SELECTED:["#playlist-remove-menu .hover .crop"],PLAYLIST_REMOVE_SELECTED:["#playlist-remove-menu .remove-selected"],PLAYLIST_REMOVE_SELECTED_SELECTED:["#playlist-remove-menu .hover .remove-selected"],PLAYLIST_REMOVE_MISC:["#playlist-remove-menu .remove-misc"],PLAYLIST_REMOVE_MISC_SELECTED:["#playlist-remove-menu .hover .remove-misc"],PLAYLIST_SELECT_MENU_BAR:["#playlist-selection-menu.selected .bar"],PLAYLIST_INVERT_SELECTION:["#playlist-selection-menu .invert-selection"],PLAYLIST_INVERT_SELECTION_SELECTED:["#playlist-selection-menu .hover .invert-selection"],PLAYLIST_SELECT_ZERO:["#playlist-selection-menu .select-zero"],PLAYLIST_SELECT_ZERO_SELECTED:["#playlist-selection-menu .hover .select-zero"],PLAYLIST_SELECT_ALL:["#playlist-selection-menu .select-all"],PLAYLIST_SELECT_ALL_SELECTED:["#playlist-selection-menu .hover .select-all"],PLAYLIST_CLOSE_SELECTED:["#playlist-close-button.winamp-active"],PLAYLIST_COLLAPSE_SELECTED:["#playlist-window #playlist-shade-button.winamp-active"],PLAYLIST_EXPAND_SELECTED:["#playlist-window-shade #playlist-shade-button.winamp-active"],PLAYLIST_MISC_MENU_BAR:["#playlist-misc-menu.selected .bar"],PLAYLIST_MISC_OPTIONS:["#playlist-misc-menu .misc-options"],PLAYLIST_MISC_OPTIONS_SELECTED:["#playlist-misc-menu .hover .misc-options"],PLAYLIST_FILE_INFO:["#playlist-misc-menu .file-info"],PLAYLIST_FILE_INFO_SELECTED:["#playlist-misc-menu .hover .file-info"],PLAYLIST_SORT_LIST:["#playlist-misc-menu .sort-list"],PLAYLIST_SORT_LIST_SELECTED:["#playlist-misc-menu .hover .sort-list"],PLAYLIST_LIST_BAR:["#playlist-list-menu.selected .bar"],PLAYLIST_NEW_LIST:["#playlist-list-menu .new-list"],PLAYLIST_NEW_LIST_SELECTED:["#playlist-list-menu .hover .new-list"],PLAYLIST_LOAD_LIST:["#playlist-list-menu .load-list"],PLAYLIST_LOAD_LIST_SELECTED:["#playlist-list-menu .hover .load-list"],PLAYLIST_SAVE_LIST:["#playlist-list-menu .save-list"],PLAYLIST_SAVE_LIST_SELECTED:["#playlist-list-menu .hover .save-list"],EQ_WINDOW_BACKGROUND:["#equalizer-window:not(.shade)"],EQ_TITLE_BAR:[".equalizer-top"],EQ_TITLE_BAR_SELECTED:[".selected .equalizer-top"],EQ_SLIDER_BACKGROUND:[".band"],EQ_SLIDER_THUMB:[".band .slider-handle"],EQ_SLIDER_THUMB_SELECTED:[".band.winamp-active .slider-handle"],EQ_ON_BUTTON:["#on"],EQ_ON_BUTTON_DEPRESSED:["#on.winamp-active"],EQ_ON_BUTTON_SELECTED:["#on.selected"],EQ_ON_BUTTON_SELECTED_DEPRESSED:["#on.selected.winamp-active"],EQ_AUTO_BUTTON:["#auto"],EQ_AUTO_BUTTON_DEPRESSED:["#auto.winamp-active"],EQ_AUTO_BUTTON_SELECTED:["#auto.selected"],EQ_AUTO_BUTTON_SELECTED_DEPRESSED:["#auto.selected.winamp-active"],EQ_GRAPH_BACKGROUND:["#eqGraph"],EQ_PRESETS_BUTTON:["#presets"],EQ_PRESETS_BUTTON_SELECTED:["#presets.winamp-active"],EQ_PREAMP_LINE:["#preamp-line"],EQ_SHADE_BACKGROUND:["#equalizer-window.shade"],EQ_SHADE_BACKGROUND_SELECTED:["#equalizer-window.shade.selected"],EQ_SHADE_VOLUME_SLIDER_LEFT:["#equalizer-volume.left::-webkit-slider-thumb","#equalizer-volume.left::-moz-range-thumb"],EQ_SHADE_VOLUME_SLIDER_CENTER:["#equalizer-volume.center::-webkit-slider-thumb","#equalizer-volume.center::-moz-range-thumb"],EQ_SHADE_VOLUME_SLIDER_RIGHT:["#equalizer-volume.right::-webkit-slider-thumb","#equalizer-volume.right::-moz-range-thumb"],EQ_SHADE_BALANCE_SLIDER_LEFT:["#equalizer-balance.left::-webkit-slider-thumb","#equalizer-balance.left::-moz-range-thumb"],EQ_SHADE_BALANCE_SLIDER_CENTER:["#equalizer-balance.center::-webkit-slider-thumb","#equalizer-balance.center::-moz-range-thumb"],EQ_SHADE_BALANCE_SLIDER_RIGHT:["#equalizer-balance.right::-webkit-slider-thumb","#equalizer-balance.right::-moz-range-thumb"],EQ_MAXIMIZE_BUTTON_ACTIVE:["#equalizer-shade.winamp-active"],EQ_MINIMIZE_BUTTON_ACTIVE:["#equalizer-window.shade #equalizer-shade.winamp-active"],EQ_CLOSE_BUTTON:["#equalizer-window.selected #eq-buttons.clicked #equalizer-close"],EQ_CLOSE_BUTTON_ACTIVE:["#equalizer-window.selected #eq-buttons.clicked #equalizer-close.winamp-active"],EQ_SHADE_CLOSE_BUTTON:["#equalizer-window.shade.selected #eq-buttons.clicked #equalizer-close"],EQ_SHADE_CLOSE_BUTTON_ACTIVE:["#equalizer-window.shade.selected #eq-buttons.clicked #equalizer-close.winamp-active"],MAIN_POSITION_SLIDER_BACKGROUND:["#position"],MAIN_POSITION_SLIDER_THUMB:["#position::-webkit-slider-thumb","#position::-moz-range-thumb"],MAIN_POSITION_SLIDER_THUMB_SELECTED:["#position:active::-webkit-slider-thumb","#position:active::-moz-range-thumb"],MAIN_SHUFFLE_BUTTON:["#shuffle"],MAIN_SHUFFLE_BUTTON_DEPRESSED:["#shuffle.winamp-active"],MAIN_SHUFFLE_BUTTON_SELECTED:["#shuffle.selected"],MAIN_SHUFFLE_BUTTON_SELECTED_DEPRESSED:["#shuffle.selected.winamp-active"],MAIN_REPEAT_BUTTON:["#repeat"],MAIN_REPEAT_BUTTON_DEPRESSED:["#repeat.winamp-active"],MAIN_REPEAT_BUTTON_SELECTED:["#repeat.selected"],MAIN_REPEAT_BUTTON_SELECTED_DEPRESSED:["#repeat.selected.winamp-active"],MAIN_EQ_BUTTON:["#equalizer-button"],MAIN_EQ_BUTTON_SELECTED:["#equalizer-button.selected"],MAIN_EQ_BUTTON_DEPRESSED:["#equalizer-button.winamp-active"],MAIN_EQ_BUTTON_DEPRESSED_SELECTED:["#equalizer-button.selected.winamp-button"],MAIN_PLAYLIST_BUTTON:["#playlist-button"],MAIN_PLAYLIST_BUTTON_SELECTED:["#playlist-button.selected"],MAIN_PLAYLIST_BUTTON_DEPRESSED:["#playlist-button.winamp-active"],MAIN_PLAYLIST_BUTTON_DEPRESSED_SELECTED:["#playlist-button.selected.winamp-active"],MAIN_TITLE_BAR:["#title-bar"],MAIN_TITLE_BAR_SELECTED:[".selected #title-bar"],MAIN_EASTER_EGG_TITLE_BAR:[".llama #title-bar"],MAIN_EASTER_EGG_TITLE_BAR_SELECTED:[".llama.selected #title-bar"],MAIN_OPTIONS_BUTTON:[".selected #title-bar #option.clicked"],MAIN_OPTIONS_BUTTON_DEPRESSED:[".selected #title-bar #option:active",".selected #title-bar #option.selected"],MAIN_MINIMIZE_BUTTON:[".selected #title-bar #minimize.clicked"],MAIN_MINIMIZE_BUTTON_DEPRESSED:[".selected #title-bar #minimize.winamp-active"],MAIN_SHADE_BUTTON:[".selected #title-bar #shade.clicked"],MAIN_SHADE_BUTTON_DEPRESSED:[".selected #title-bar #shade.winamp-active"],MAIN_CLOSE_BUTTON:[".selected #title-bar #close.clicked"],MAIN_CLOSE_BUTTON_DEPRESSED:[".selected #title-bar #close.winamp-active"],MAIN_CLUTTER_BAR_BACKGROUND:["#clutter-bar"],MAIN_CLUTTER_BAR_BACKGROUND_DISABLED:["#clutter-bar.disabled"],MAIN_CLUTTER_BAR_BUTTON_O_SELECTED:["#button-o:active","#button-0.selected"],MAIN_CLUTTER_BAR_BUTTON_A_SELECTED:["#button-a:active","#button-a.selected"],MAIN_CLUTTER_BAR_BUTTON_I_SELECTED:["#button-i:active","#button-i.selected"],MAIN_CLUTTER_BAR_BUTTON_D_SELECTED:["#button-d:active","#button-d.selected"],MAIN_CLUTTER_BAR_BUTTON_V_SELECTED:["#button-v:active","#button-v.selected"],MAIN_SHADE_BACKGROUND:[".shade #title-bar"],MAIN_SHADE_BACKGROUND_SELECTED:[".shade.selected #title-bar"],MAIN_SHADE_BUTTON_SELECTED:[".shade.selected #title-bar #shade"],MAIN_SHADE_BUTTON_SELECTED_DEPRESSED:[".shade #title-bar #shade.winamp-active"],MAIN_SHADE_POSITION_BACKGROUND:[".shade #position"],MAIN_SHADE_POSITION_THUMB:[".shade #position::-moz-range-thumb",".shade #position::-webkit-slider-thumb"],MAIN_SHADE_POSITION_THUMB_LEFT:[".shade #position.left::-moz-range-thumb",".shade #position.left::-webkit-slider-thumb"],MAIN_SHADE_POSITION_THUMB_RIGHT:[".shade #position.right::-moz-range-thumb",".shade #position.right::-webkit-slider-thumb"],MAIN_VOLUME_BACKGROUND:["#volume"],MAIN_VOLUME_THUMB:["#volume input::-webkit-slider-thumb","#volume input::-moz-range-thumb"],MAIN_VOLUME_THUMB_SELECTED:["#volume input:active::-webkit-slider-thumb","#volume input:active::-moz-range-thumb"],GEN_TOP_CENTER_FILL:[".gen-window .gen-top"],GEN_TOP_LEFT:[".gen-window .gen-top-left"],GEN_TOP_LEFT_END:[".gen-window .gen-top-left-end"],GEN_TOP_RIGHT:[".gen-window .gen-top-right"],GEN_TOP_RIGHT_END:[".gen-window .gen-top-right-end"],GEN_TOP_LEFT_RIGHT_FILL:[".gen-window .gen-top-left-fill",".gen-window .gen-top-right-fill"],GEN_TOP_CENTER_FILL_SELECTED:[".gen-window.selected .gen-top"],GEN_TOP_LEFT_SELECTED:[".gen-window.selected .gen-top-left"],GEN_TOP_LEFT_END_SELECTED:[".gen-window.selected .gen-top-left-end"],GEN_TOP_RIGHT_SELECTED:[".gen-window.selected .gen-top-right"],GEN_TOP_RIGHT_END_SELECTED:[".gen-window.selected .gen-top-right-end"],GEN_TOP_LEFT_RIGHT_FILL_SELECTED:[".gen-window.selected .gen-top-left-fill",".gen-window.selected .gen-top-right-fill"],GEN_BOTTOM_LEFT:[".gen-window .gen-bottom-left"],GEN_BOTTOM_RIGHT:[".gen-window .gen-bottom-right"],GEN_BOTTOM_FILL:[".gen-window .gen-bottom"],GEN_MIDDLE_LEFT:[".gen-window .gen-middle-left"],GEN_MIDDLE_LEFT_BOTTOM:[".gen-window .gen-middle-left-bottom"],GEN_MIDDLE_RIGHT:[".gen-window .gen-middle-right"],GEN_MIDDLE_RIGHT_BOTTOM:[".gen-window .gen-middle-right-bottom"],GEN_CLOSE_SELECTED:[".gen-window .gen-close.winamp-active"]};Object.keys(AD).forEach(e=>{const t=oD(e),n=e.charCodeAt(0);qz[t]=[`.character-${n}`]}),zU.forEach(e=>{qz[`GEN_TEXT_${e}`]=[`.gen-text-${e.toLowerCase()}`],qz[`GEN_TEXT_SELECTED_${e}`]=[`.gen-window.selected .gen-text-${e.toLowerCase()}`]});const Hz={CLOSE:["#title-bar #close"],EQSLID:["#equalizer-window .band"],EQNORMAL:["#equalizer-window"],EQCLOSE:["#equalizer-window #equalizer-close"],EQTITLE:["#equalizer-window .title-bar","#equalizer-window.shade","#equalizer-window.shade input"],MAINMENU:["#main-window #option","#webamp-context-menu .context-menu"],MIN:["#main-window #minimize"],NORMAL:[".window",".window input","#main-window","#main-window.shade #title-bar"],MMENU:["#main-window.shade #option"],PNORMAL:["#playlist-window"],PTBAR:["#playlist-window .playlist-top"],PCLOSE:["#playlist-window #playlist-close-button","#playlist-window-shade #playlist-close-button"],PWINBUT:["#playlist-window #playlist-shade-button","#playlist-window-shade #playlist-shade-button"],POSBAR:["#main-window #position"],PSIZE:["#playlist-window #playlist-resize-target"],PWSSIZE:["#playlist-window-shade #playlist-resize-target"],PWSNORM:["#playlist-window-shade"],PVSCROLL:["#playlist-window .playlist-scrollbar"],SONGNAME:["#main-window #marquee"],TITLEBAR:["#main-window #title-bar"],VOLBAL:["#volume","#volume input","#balance"],WINBUT:["#main-window #shade"],WSNORMAL:["#main-window.shade #title-bar"],WSPOSBAR:["#main-window.shade #position"]};function Jz({children:e,id:t}){const n=Sg.useMemo(()=>{const e=document.createElement("style");return e.type="text/css",null!=t&&(e.id=t),e},[t]);return Sg.useLayoutEffect(()=>(document.head.appendChild(n),()=>n.remove()),[n]),Lg.createPortal(e,n)}function Wz({children:e}){const t=Sg.useMemo(()=>document.createElement("div"),[]);return Sg.useLayoutEffect(()=>(document.body.appendChild(t),()=>t.remove()),[t]),Lg.createPortal(Fd.jsx("svg",{height:0,width:0,children:Fd.jsx("defs",{children:Object.keys(e).map(t=>Fd.jsx("clipPath",{id:t,children:e[t].map((e,t)=>Fd.jsx("polygon",{points:e},t))},t))})}),t)}var Xz={},Zz={};function $z(e,t,n=0,i=e.length){if(i%t)throw new Error("Bad buffer length.");for(let r=n;r<i;r+=t)eQ(e,t,r)}function eQ(e,t,n){t--;for(let i=0;i<t;i++){let r=e[n+i];e[n+i]=e[n+t],e[n+t]=r,t--}}function tQ(e,t,n=0){for(let i=0,r=e.length;i<r;i++){let r=e.codePointAt(i);if(r<128)t[n]=r,n++;else{let e=0,a=0;for(r<=2047?(e=1,a=192):r<=65535?(e=2,a=224):r<=1114111&&(e=3,a=240,i++),t[n]=(r>>6*e)+a,n++;e>0;)t[n]=128|r>>6*(e-1)&63,n++,e--}}return n}class nQ{constructor(e,t=!1,n=!1){this.bits=e,this.bytes=e<8?1:Math.ceil(e/8),this.max=Math.pow(2,e)-1,this.min=0;let i=8-(1+(e-1|7)-e);this.lastByteMask_=Math.pow(2,i>0?i:8)-1,this.unpack=this.unpackUnsigned_,t&&(this.max=Math.pow(2,e)/2-1,this.min=-this.max-1,this.unpack=this.unpackSigned_),n&&(this.overflow_=this.overflowClamp_)}pack(e,t,n=0){if(t!=t||t.constructor!=Number)throw new TypeError;t=this.overflow_(t),e[n]=255&(t<0?t+Math.pow(2,this.bits):t),n++;for(let i=2,r=this.bytes;i<r;i++)e[n]=255&Math.floor(t/Math.pow(2,8*(i-1))),n++;return this.bits>8&&(e[n]=Math.floor(t/Math.pow(2,8*(this.bytes-1)))&this.lastByteMask_,n++),n}unpack_(e,t=0){let n=0;for(let i=0;i<this.bytes;i++)n+=e[t+i]*Math.pow(256,i);return n}unpackUnsigned_(e,t=0){return this.overflow_(this.unpack_(e,t))}unpackSigned_(e,t=0){return this.overflow_(this.sign_(this.unpack_(e,t)))}overflow_(e){if(e>this.max||e<this.min)throw new RangeError;return e}overflowClamp_(e){return e>this.max?this.max:e<this.min?this.min:e}sign_(e){return e>this.max&&(e-=2*this.max+2),e}}class iQ{constructor(e,t){this.ebits=e,this.fbits=t,this.bias=(1<<e-1)-1,this.numBytes=Math.ceil((e+t)/8),this.biasP2=Math.pow(2,this.bias+1),this.ebitsFbits=e+t,this.fbias=Math.pow(2,-(8*this.numBytes-1-e))}pack(e,t,n){if("number"!=typeof t)throw new TypeError;Math.abs(t)>this.biasP2-2*this.ebitsFbits&&(t=t<0?-1/0:1/0);let i=((t=+t)||1/t)<0||t<0?1:0;t=Math.abs(t);let r=Math.min(Math.floor(Math.log(t)/Math.LN2),1023),a=rQ(t/Math.pow(2,r)*Math.pow(2,this.fbits));return t!=t?(a=Math.pow(2,this.fbits-1),r=(1<<this.ebits)-1):0!==t&&(t>=Math.pow(2,1-this.bias)?(a/Math.pow(2,this.fbits)>=2&&(r+=1,a=1),r>this.bias?(r=(1<<this.ebits)-1,a=0):(r+=this.bias,a=rQ(a)-Math.pow(2,this.fbits))):(a=rQ(t/Math.pow(2,1-this.bias-this.fbits)),r=0)),this.packFloatBits_(e,n,i,r,a)}unpack(e,t){let n,i=(1<<this.ebits)-1,r="";for(let n=this.numBytes-1;n>=0;n--){let i=e[n+t].toString(2);r+="00000000".substring(i.length)+i}let a="1"==r.charAt(0)?-1:1;r=r.substring(1);let s=parseInt(r.substring(0,this.ebits),2);return r=r.substring(this.ebits),s==i?0!==parseInt(r,2)?NaN:a*(1/0):(0===s?(s+=1,n=parseInt(r,2)):n=parseInt("1"+r,2),a*n*this.fbias*Math.pow(2,s-this.bias))}packFloatBits_(e,t,n,i,r){let a=[];a.push(n);for(let e=this.ebits;e>0;e-=1)a[e]=i%2?1:0,i=Math.floor(i/2);let s=a.length;for(let e=this.fbits;e>0;e-=1)a[s+e]=r%2?1:0,r=Math.floor(r/2);let A=a.join(""),o=this.numBytes+t-1,l=t;for(;o>=t;)e[o]=parseInt(A.substring(0,8),2),A=A.substring(8),o--,l++;return l}}function rQ(e){let t=Math.floor(e),n=e-t;return n<.5?t:n>.5||t%2?t+1:t}function aQ(e,t=0,n=e.length){return function(e,t=0,n=e.length){let i="";for(let r=t;r<n;){let t=128,n=191,a=!1,s=e[r++];if(s>=0&&s<=127)i+=String.fromCharCode(s);else{let A=0;s>=194&&s<=223?A=1:s>=224&&s<=239?(A=2,224===e[r]&&(t=160),237===e[r]&&(n=159)):s>=240&&s<=244?(A=3,240===e[r]&&(t=144),244===e[r]&&(n=143)):a=!0,s&=(1<<8-A-1)-1;for(let i=0;i<A;i++)(e[r]<t||e[r]>n)&&(a=!0),s=s<<6|63&e[r],r++;a?i+=String.fromCharCode(65533):s<=65535?i+=String.fromCharCode(s):(s-=65536,i+=String.fromCharCode(55296+(s>>10&1023),56320+(1023&s)))}}return i}(e,t,n)}function sQ(e,t,n,i=0,r=!1){let a=hQ((t=t||{}).bits,t.fp,t.signed,r),s=Math.ceil(t.bits/8),A=0,o=i;try{for(let t=e.length;A<t;A++)i=a.pack(n,e[A],i);t.be&&$z(n,s,o,i)}catch(t){uQ(t,e[A],A)}return i}function AQ(e,t,n,i=0,r=e.length,a=!1,s=!1){let A=hQ((t=t||{}).bits,t.fp,t.signed,s),o=Math.ceil(t.bits/8);r=function(e,t,n,i,r){let a=(n-t)%i;if(r&&(a||e.length<i))throw new Error("Bad buffer length");return n-a}(e,i,r,o,a);let l=0,c=i;try{for(t.be&&$z(e,o,i,r);c<r;c+=o,l++)n[l]=A.unpack(e,c);t.be&&$z(e,o,i,r)}catch(t){uQ(t,e.slice(c,c+o),c)}}function oQ(e,t,n,i=0,r=!1){return sQ([e],t,n,i,r)}function lQ(e,t,n=0,i=e.length,r=!1,a=!1){let s=[];return AQ(e,t,s,n,i,r,a),s}function cQ(e,t,n=0,i=!1){return lQ(e,t,n,n+Math.ceil(t.bits/8),!0,i)[0]}function uQ(e,t,n){throw e.message=e.constructor.name+" at index "+n+": "+t,e}function hQ(e,t,n,i){return t?function(e){if(!e||16!==e&&32!==e&&64!==e)throw new Error(dQ+": float, bits: "+e)}(e):function(e){if(!e||e<1||e>53)throw new Error(dQ+": int, bits: "+e)}(e),t&&16===e?new iQ(5,11):t&&32==e?new iQ(8,23):t&&64==e?new iQ(11,52):new nQ(e,n,i)}const dQ="Unsupported type";var gQ=Object.freeze({__proto__:null,pack:function(e,t,n=!1){let i=[];return oQ(e,t,i,0,n),i},packArray:function(e,t,n=!1){let i=[];return sQ(e,t,i,0,n),i},packArrayTo:sQ,packString:function(e){let t=[];return tQ(e,t,0),t},packStringTo:function(e,t,n=0){return tQ(e,t,n)},packTo:oQ,unpack:cQ,unpackArray:lQ,unpackArrayTo:AQ,unpackString:aQ});var pQ=Object.freeze({__proto__:null,RIFFFile:class{constructor(){this.container="",this.chunkSize=0,this.format="",this.signature=null,this.head=0,this.uInt32={bits:32,be:!1,signed:!1,fp:!1},this.supported_containers=["RIFF","RIFX"]}setSignature(e){if(this.head=0,this.container=this.readString(e,4),-1===this.supported_containers.indexOf(this.container))throw Error("Not a supported format.");this.uInt32.be="RIFX"===this.container,this.chunkSize=this.readUInt32(e),this.format=this.readString(e,4),this.signature={chunkId:this.container,chunkSize:this.chunkSize,format:this.format,subChunks:this.getSubChunksIndex_(e),chunkData:{start:0,end:this.chunkSize}}}findChunk(e,t=!1){let n=this.signature.subChunks,i=[];for(let r=0;r<n.length;r++)if(n[r].chunkId==e){if(!t)return n[r];i.push(n[r])}return"LIST"==e&&i.length?i:null}readString(e,t){let n="";return n=aQ(e,this.head,this.head+t),this.head+=t,n}readUInt32(e){let t=cQ(e,this.uInt32,this.head);return this.head+=4,t}getSubChunksIndex_(e){let t=[],n=this.head;for(;n<=e.length-8;)t.push(this.getSubChunkIndex_(e,n)),n+=8+t[t.length-1].chunkSize,n=n%2?n+1:n;return t}getSubChunkIndex_(e,t){let n={chunkId:this.getChunkId_(e,t),chunkSize:this.getChunkSize_(e,t)};if("LIST"==n.chunkId)n.format=aQ(e,t+8,t+12),this.head+=4,n.subChunks=this.getSubChunksIndex_(e);else{let e=n.chunkSize%2?n.chunkSize+1:n.chunkSize;this.head=t+8+e,n.chunkData={start:t+8,end:this.head}}return n}getChunkId_(e,t){return this.head+=4,aQ(e,t,t+4)}getChunkSize_(e,t){return this.head+=4,cQ(e,this.uInt32,t+4)}}}),fQ=n(pQ),mQ=n(gQ);Object.defineProperty(Zz,"__esModule",{value:!0}),Zz.parseAni=void 0;var bQ=fQ,wQ=mQ,EQ={bits:32,be:!1,signed:!1,fp:!1};Zz.parseAni=function(e){var t=new bQ.RIFFFile;t.setSignature(e);var n=t.signature;if("ACON"!==n.format)throw new Error('Expected format. Expected "ACON", got "'+n.format+'"');function i(e,n){var i=t.findChunk(e);return null==i?null:n(i)}var r=i("anih",function(t){var n=wQ.unpackArray(e,EQ,t.chunkData.start,t.chunkData.end);return{cbSize:n[0],nFrames:n[1],nSteps:n[2],iWidth:n[3],iHeight:n[4],iBitCount:n[5],nPlanes:n[6],iDispRate:n[7],bfAttributes:n[8]}});if(null==r)throw new Error("Did not find anih");var a=i("rate",function(t){return wQ.unpackArray(e,EQ,t.chunkData.start,t.chunkData.end)}),s=i("seq ",function(t){return wQ.unpackArray(e,EQ,t.chunkData.start,t.chunkData.end)}),A=t.findChunk("LIST",!0),o=null==A?void 0:A.find(function(e){return"fram"===e.format});if(null==o)throw new Error("Did not find fram LIST");var l=o.subChunks.slice(0,r.nFrames).map(function(t){if("icon"!==t.chunkId)throw new Error("Unexpected chunk type in fram: "+t.chunkId);return e.slice(t.chunkData.start,t.chunkData.end)}),c=null,u=null,h=null==A?void 0:A.find(function(e){return"INFO"===e.format});return null!=h&&h.subChunks.forEach(function(t){switch(t.chunkId){case"INAM":c=wQ.unpackString(e,t.chunkData.start,t.chunkData.end);break;case"IART":u=wQ.unpackString(e,t.chunkData.start,t.chunkData.end)}}),{images:l,rate:a,seq:s,metadata:r,artist:u,title:c}};var yQ=e&&e.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,r,a=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(i=a.next()).done;)s.push(i.value)}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}return s},vQ=e&&e.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(yQ(arguments[t]));return e};Object.defineProperty(Xz,"__esModule",{value:!0});var kQ=Xz.convertAniBinaryToCSS=void 0,SQ=Zz,xQ=1e3/60;kQ=Xz.convertAniBinaryToCSS=function(e,t){var n=function(e){var t,n=SQ.parseAni(e),i=null!==(t=n.rate)&&void 0!==t?t:n.images.map(function(){return n.metadata.iDispRate}),r=(A=i,A.reduce(function(e,t){return e+t},0)),a=n.images.map(function(e){return{url:TQ(e),percents:[]}}),s=0;var A;return i.forEach(function(e,t){var i=n.seq?n.seq[t]:t;a[i].percents.push(s/r*100),s+=e}),{duration:r*xQ,frames:a}}(t),i="ani-cursor-"+CQ(),r=n.frames.map(function(e){var t=e.url;return e.percents.map(function(e){return e+"%"}).join(", ")+" { cursor: url("+t+"), auto; }"});return"\n @keyframes "+i+" {\n "+r.join("\n")+"\n }\n "+e+":hover {\n animation: "+i+" "+n.duration+"ms step-end infinite;\n }\n "};var IQ=0,CQ=function(){return IQ++};function TQ(e){var t;return"data:image/x-win-bitmap;base64,"+(t=e,window.btoa(String.fromCharCode.apply(String,vQ(t))))}const _Q="#webamp",BQ={normal:"mainWindowClipPath",windowshade:"shadeMainWindowClipPath",equalizer:"equalizerWindowClipPath",equalizerws:"shadeEqualizerWindowClipPath"},UQ={normal:"#main-window:not(.shade)",windowshade:"#main-window.shade",equalizer:"#equalizer-window:not(.shade)",equalizerws:"#equalizer-window.shade"},MQ={MAIN_BALANCE_BACKGROUND:"MAIN_VOLUME_BACKGROUND",MAIN_BALANCE_THUMB:"MAIN_VOLUME_THUMB",MAIN_BALANCE_THUMB_ACTIVE:"MAIN_VOLUME_THUMB_SELECTED",EQ_MAXIMIZE_BUTTON_ACTIVE:"EQ_MAXIMIZE_BUTTON_ACTIVE_FALLBACK"};function RQ(e){return`${e.startsWith("#webamp-context-menu")?"":_Q} ${e}`}const LQ=NM(function(e){return e.display.skinImages},function(e){return e.display.skinCursors},function(e){return e.display.skinGenLetterWidths},KL,(e,t,n,i)=>{if(!e||!t)return null;const r=[];Object.keys(qz).forEach(t=>{const n=e[t]||e[MQ[t]];n&&qz[t].forEach(e=>{const t=e;r.push(`${_Q} ${t} {background-image: url(${n})}`)})}),null!=n&&zU.forEach(e=>{const t=n[`GEN_TEXT_${e}`],i=n[`GEN_TEXT_SELECTED_${e}`];r.push(`${_Q} .gen-text-${e.toLowerCase()} {width: ${t}px;}`),r.push(`${_Q} .selected .gen-text-${e.toLowerCase()} {width: ${i}px;}`)}),Object.entries(Hz).forEach(([e,n])=>{const i=t[e];if(null==i)return;const a=n.map(RQ).map(e=>{switch(i.type){case"cur":return`${e} {cursor: url(${i.url}), auto}`;case"ani":try{return kQ(e,i.aniData)}catch(e){return console.error(e),null}}}).filter(Boolean);r.push(...a)}),(e=>Boolean(e.DIGIT_0_EX))(e)&&r.push(`${_Q} .webamp-status #time #minus-sign { top: 0px; left: -1px; width: 9px; height: 13px; }`);for(const[e,t]of Object.entries(i))if(t){const t=UQ[e],n=BQ[e];r.push(`${_Q} ${t} { clip-path: url(#${n}); }`)}return r.join("\n")}),NQ=NM(KL,e=>{const t={};for(const[n,i]of Object.entries(e))if(i){t[BQ[n]]=i}return t});function DQ(){const e=AF(LQ),t=AF(NQ);return null==e?null:Fd.jsxs(Fd.Fragment,{children:[Fd.jsx(Jz,{id:"webamp-skin",children:e}),Fd.jsx(Wz,{children:t})]})}function PQ({media:e,filePickers:t,onMount:n,parentDomNode:i}){const r=AF(YL),a=AF(BR),s=AF(oL),A=oF(kN),o=oF(bN),[l]=Sg.useState(()=>{const e=document.createElement("div");return e.id="webamp",e.role="application",e});Sg.useLayoutEffect(()=>{l.style.zIndex=String(s)},[l,s]),Sg.useLayoutEffect(()=>(i.appendChild(l),()=>{i.removeChild(l)}),[l,i]),Sg.useEffect(()=>{const e=()=>{null!=l&&(l.style.right="0",l.style.bottom="0",l.style.overflow="hidden",A(IM()),l.style.right="auto",l.style.bottom="auto",l.style.overflow="visible")};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[A,l]),Sg.useEffect(()=>{null!=n&&n()},[n]);const c=Sg.useCallback(()=>SM(a,(n,i)=>{if(!n.open)return null;switch(i){case _U:return Fd.jsx(hz,{analyser:e.getAnalyser(),filePickers:t});case UU:return Fd.jsx(Kz,{});case BU:return Fd.jsx(Rz,{analyser:e.getAnalyser()});case MU:return Fd.jsx(FF,{analyser:e.getAnalyser()});default:throw new Error(`Tried to render an unknown window: ${i}`)}}),[e,t,a]);return r?null:Ng.createPortal(Fd.jsxs(Sg.StrictMode,{children:[Fd.jsx(Jz,{children:'#webamp #balance {background-image: url(data:image/png;base64,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)}\n#webamp #balance::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYvL0RKWmt7hJStvMTa5+opTTwbAAAAMUlEQVQI12NQFAQBIQaxNBBIZGALBYIQAyAtKiqKlwapM2RgcwEBQwZhYxAwZICaBwCdgQ6Jd297uQAAAABJRU5ErkJggg==)}\n#webamp #balance::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYvL0RKWmt7hJStvMTa5+opTTwbAAAAMUlEQVQI12NQFAQBIQaxNBBIZGALBYIQAyAtKiqKlwapM2RgcwEBQwZhYxAwZICaBwCdgQ6Jd297uQAAAABJRU5ErkJggg==)}\n#webamp #balance:active::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYZICovL0RKWmva5+r///+U4Y9MAAAAMUlEQVQI12MwFAQBYQbRUBAQZGBlAAIWBiQ6ISEBKw2SV4TTIi4gIMhgJKQopCgoDAB2aAh/NddRQgAAAABJRU5ErkJggg==)}\n#webamp #balance:active::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYZICovL0RKWmva5+r///+U4Y9MAAAAMUlEQVQI12MwFAQBYQbRUBAQZGBlAAIWBiQ6ISEBKw2SV4TTIi4gIMhgJKQopCgoDAB2aAh/NddRQgAAAABJRU5ErkJggg==)}\n#webamp .actions #previous {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAASFBMVEUfHzEgHzIgIDMhITQiITMiITQiIjUjIzYjJDgkIzckIzgkJDklJTolJjsmJTsmJjtKWmtSY3N7hJSElKWXqLmttca9ztbv//8qmLzOAAAAcklEQVQY022QMQ7DMAwDj7KQvqD/f2UXD2YGN43cWAuNo0wI1JvNjE8SGzwiwf/Ywwr2k1M6HFMPwDgvvxnoU2DN6fl7xh7X/YJx4a/yte67FaPmV2O5pxi5ZN/Gt5+rI998DD/ridxiLAQiHBKEJYGaT1TOJE+BDpf2AAAAAElFTkSuQmCC)}\n#webamp .actions #previous.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASBAMAAABCyVggAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAAS0lEQVQI12NgwA1MXKDACMhxDYWCEBAHJuOChcPAAsQwDmOIi4MoEocRieMgiMRhROYEInNckTkugcgcVzgnNASIwRxTZOcoIHwDAI4lI4lOrG7eAAAAAElFTkSuQmCC)}\n#webamp .actions #play {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAARVBMVEUmJTsmJTwnJz0nKD4oJz4oKD8pKUAqKUEqKUIqKkMrK0QrLEQsK0MsK0QsK0ZKWmtSY3N7hJSElKWXqLmttca9ztbv//93JWkaAAAAcElEQVQY022QQQ7FIAhEHzJpL/Dvf8y/MBG70VZbYEPeAIGxH0nEX5QEB4L+xj26CnkMXus2QJv92hXXrETluHnT07MqrnV6UbSfcY6rY+N+/1KUUTBl9Nl/vtxow5+PRyKif+1xpZhmmIEZMxFh+AXgtiNLLYv6agAAAABJRU5ErkJggg==)}\n#webamp .actions #play.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASBAMAAABCyVggAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAARUlEQVQI12NgwA1MXKDACMhxDYWCEBAHJuOChcOAzGFkQOYIMiBzwDw4B8RDcEKROKFIykKRDAhFMjoUbqkpsnMUEL4BAGRUIvLymjxCAAAAAElFTkSuQmCC)}\n#webamp .actions #pause {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAARVBMVEUsLEUsLEYtLUctLkguLUguLkkvL0ovMEswL0swL0wwMEsxMU0xMU4xMk0yMU5KWmtSY3N7hJSElKWXqLmttca9ztbv//90IK75AAAAY0lEQVQYGW3BwQ3DQAwDwRVPsBtI/3UGfpCBDfiT00x9GPjbiI2dhvAnjsSsuV3AARdwAMHNo1kBmhVuEjMxEyOLkcRMzMRIze3kcfJyQyA8wqsaO2zSdtitogqqqEoJIgTLP/lyHlITiB2JAAAAAElFTkSuQmCC)}\n#webamp .actions #pause.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASBAMAAABCyVggAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAAOUlEQVQI12NgwA1MXKDACMhxDYWCEBAHJuOCyXFgYAEyYBzBEBdGUdpzXENDXEJDwRxTZOcoIHwDAEquItl9JSARAAAAAElFTkSuQmCC)}\n#webamp .actions #stop {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASCAMAAACHObUhAAAAP1BMVEUyMU4yMk8zM1AzNFE0M1E0M1I0NFE0NFM1NVQ1NlQ2NVM2NVQ2NlVKWmtSY3N7hJSElKWXqLmttca9ztbv//8mgTHJAAAAXElEQVQYGW3BQQ7DMAwDwRUttPf+/6FFD2SBBLnYmqkPA38bcbBpCJs4ErPm8uPxAgLNrbmtcBGjiFHETIyWGFmMIkarubzZNAQIm8YOB7cdTqsooERWkEXJheoPfCIcRKB1vkQAAAAASUVORK5CYII=)}\n#webamp .actions #stop.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASBAMAAABCyVggAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAAMklEQVQI12NgwA1MXKDACMhxDYWCEBAHJuOChQPWC+MwCgoKitKBA3YamGOK7BwFhG8A34IfFkPmwnYAAAAASUVORK5CYII=)}\n#webamp .actions #next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAASBAMAAABCyVggAAAALVBMVEUICBA2NlU2NlY3N1c4N1g4OFk4OFpKWmtSY3N7hJSElKWXqLmttca9ztbv//8TuYuxAAAAaUlEQVQI12M4AwenDjCcewcDJ4Ccu1BwZzkmp/zu3evld+9MB3Oqa+9e3wfnbEfm7K5F5mxH5uxD5rxF4uxDNuAtEufd3bv33kE4cFcDOWdWzoSC6QkMK8rhgIFB0MjY2NjFxSU0NJQBAK7vnSRnYMknAAAAAElFTkSuQmCC)}\n#webamp .actions #next.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAATElEQVQI12NgwAVMXCDAWYGBwTUUChyAbKi4CyabAcSAshlZXBxEYWwBJLYgCxJbAIktisQOQbBFkfSGINihLi6uoSC2KZIbFOCuBwDE5iIH3QcLbQAAAABJRU5ErkJggg==)}\n#webamp #eject {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQBAMAAADgw5IVAAAAIVBMVEU4OFk4OFo5OVpKWmtSY3N7hJSElKWXqLmttca9ztbv//8Mnk1wAAAAVUlEQVQI12PogIM2hq5VMNDC0DUTCmYEQ9iWCPbkYgTbvNwSxp5cXl4MY5uXlwMlwOxZYBPh5sDNnGwMAlA2UHl5FYZ6uNuCGTpSQ6EgmEGISQkKmAB+iFckwoyJQwAAAABJRU5ErkJggg==)}\n#webamp #eject.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAQBAMAAADgw5IVAAAAElBMVEUICBBKWmtSa3Nje4R7jJytvcYAUCbCAAAATUlEQVQI12NgwAVMXCDAWYGBwTUUChyAbJAgCxBD2Q4CCDajIAuM7SAoKABjMwoKAiXAbIhJMPVgAGY7gO2EsoHKBUXR1ZsiqVeAuxIAu8seNVNafDwAAAAASUVORK5CYII=)}\n#webamp #main-window {background-image: url(data:image/png;base64,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)}\n#webamp .media-info #stereo {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAMCAMAAACpx0YDAAAAk1BMVEUlJTklJTolJjsmJTsmJjsnJz0nJz4oJz4oKD8pKUApKkEqKUEqKUIqKkEqKkIrK0MrK0QsK0QsLEUtLUYtLUguLUcuLUguLkcvL0U8PFNDQ1hJSWFQUGNaWm9lZXZpaXpvcH5wcX9xcYF3d4Z5eYh8e4x+fpCBgY+Dg5KKipaLi5mMi5mRkZ2bmqaioqypqbKqqrTexa8FAAAAvUlEQVQYGQXBQW4aURAFwOrPIJCjEY5Hytq73P9giCj2YBTy+7mqfkUTiURmtUiqRY8eJBJRFAGULIemEipBQySka0xQL+9Bz4FEwbBUj9PP+ffF22P1cXbc1+fnsv7br5ExRr9mz911M99Op+d2P1+22/yRitHttr9eUPP5cH+w/3ftQ4cFx9VX93a7nD+ObufVn/nbdSRqk4qWSCfERHS1USq6ggwkKTCMLBERpCuoVAQdYyAl4dASNJjKN1/Kh0LDHtt2AAAAAElFTkSuQmCC)}\n#webamp .stop .media-info #stereo.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAMCAMAAACpx0YDAAAAk1BMVEUlJTklJTolJjsmJTsmJjsnJz0nJz4oJz4oKD8pKUApKkEqKUEqKUIqKkEqKkIrK0MrK0QsK0QsLEUtLUYtLUguLUcuLUguLkcvL0U8PFNDQ1hJSWFQUGNaWm9lZXZpaXpvcH5wcX9xcYF3d4Z5eYh8e4x+fpCBgY+Dg5KKipaLi5mMi5mRkZ2bmqaioqypqbKqqrTexa8FAAAAvUlEQVQYGQXBQW4aURAFwOrPIJCjEY5Hytq73P9giCj2YBTy+7mqfkUTiURmtUiqRY8eJBJRFAGULIemEipBQySka0xQL+9Bz4FEwbBUj9PP+ffF22P1cXbc1+fnsv7br5ExRr9mz911M99Op+d2P1+22/yRitHttr9eUPP5cH+w/3ftQ4cFx9VX93a7nD+ObufVn/nbdSRqk4qWSCfERHS1USq6ggwkKTCMLBERpCuoVAQdYyAl4dASNJjKN1/Kh0LDHtt2AAAAAElFTkSuQmCC)}\n#webamp .media-info #stereo.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAMCAMAAACpx0YDAAABXFBMVEUA/wAD+AQG7gkG8QkH4wwI6A0K2g8K3xAL2xIL4hIM2RMN2BUN3RUOxRYO1RUQ0xkSxh0SzBwS0RwTuR0VvCEVxSEapCkbnyscrSwfczAgpzIhkzQinDUlJTklJTolJjslJzklKDolLjslkzomJjsmKTsmKzsmLDomMjsmMjwmNjsmOjsmRjsmWjwmdzsmiDwnJz0nKT0nLT0nNT0nOj0nQjwnTj0nYj0oKz4oLT8oND4oOT8oRz4oSz4oZT8pL0ApO0ApTEApTkApZkApZ0EqMEIqMkMqPEEqTEMqT0IqUEIqZUIqZkMqa0IrLkIrL0UrNEQrPEQrPUQrQEMrSkUrYkQrfUQsMUQsNkUsQkQsS0MsTkYsVEQsWEUsYEYsZ0UtLkUtLkctL0gtMEYtM0YtM0gtNEgtNUctNkctOUYtP0YtQkctR0YtS0Yti0cuLUguLkcuMUcuM0cuN0c2LFEQAAABDklEQVQYGQXBvVHDQBCA0W/3TrJkBBhmPAQkBATUQA+0QEROT9RBwtADCQQkDMaBLIOk8+nnlvfkUfYq0HKgtzIMMIBBxNpR/+Qsy+pcxLnj46iFiKrquJeuw/xp51QvayeuxkSikk+YHuFmxLdetRH//HXnCIuoxiSxpzS1hFfRlw+/DrxWO1YdqdgXV9vd4mrZmWgl9UdaUnD/LX4bo9ue9O8/N/lnkFG0g+tquwGSy5dUR1BlABio2fmmoVzL00XfZMluV027WL3tK8DkIWtUJRBMJGCMQKQve5vT4C2tRDd5LSaS2wEDcjqz2cbZM0l7Nh/KHiPCCERIKfjR8EmnEApqAGMASDD9uiHBP3bmjPqWVRjwAAAAAElFTkSuQmCC)}\n#webamp .media-info #mono {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAMCAMAAACk2TZEAAAAclBMVEUtLUguLkcuLkgvL0ovMEswL0swMEsxMU0xMU4xMk0xMk4yMU4yMk8zM1AzNFE0M1E0M1I0NFE0NFI0NVM3N1E8PFNJSWFQUGdSUmtaWm9gYHZuboJ2dol8e4x+fpCGhpeOjp2VlaOdnaqlpbKsrLetrbnuzsEEAAAAp0lEQVQYGQXBQU4bURQEwOrvkcA4iRS4/+VYwI6VEyTPzGuq8ppyrjHKIVPQsSnnGpReZkQnQzfImKJUU8saWUEWQZyV0g7dqs6X349tf7qfN3uf6t/N/imLDL7WY1/Xx8d1m/+X6+P9+U1XSADNH8Xkr9aqmTW7fY5+r9v9OHp859f9i7z2vJwZpUdUjWpqSZQytlYJUrOpWaR1FhhgbcLQRiEFTH4AmtR0pKKbMGAAAAAASUVORK5CYII=)}\n#webamp .stop .media-info #mono.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAMCAMAAACk2TZEAAAAclBMVEUtLUguLkcuLkgvL0ovMEswL0swMEsxMU0xMU4xMk0xMk4yMU4yMk8zM1AzNFE0M1E0M1I0NFE0NFI0NVM3N1E8PFNJSWFQUGdSUmtaWm9gYHZuboJ2dol8e4x+fpCGhpeOjp2VlaOdnaqlpbKsrLetrbnuzsEEAAAAp0lEQVQYGQXBQU4bURQEwOrvkcA4iRS4/+VYwI6VEyTPzGuq8ppyrjHKIVPQsSnnGpReZkQnQzfImKJUU8saWUEWQZyV0g7dqs6X349tf7qfN3uf6t/N/imLDL7WY1/Xx8d1m/+X6+P9+U1XSADNH8Xkr9aqmTW7fY5+r9v9OHp859f9i7z2vJwZpUdUjWpqSZQytlYJUrOpWaR1FhhgbcLQRiEFTH4AmtR0pKKbMGAAAAAASUVORK5CYII=)}\n#webamp .media-info #mono.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAMCAMAAACk2TZEAAABJlBMVEUA/wAD9wUG8QkI6A0J5g4L4hIM2RMM3xMN2BUN3RUP2hgQ0xkSzBwS0RwVvCEVxSEWySIZwicZwigcrSwgpzIhkzQkpzkmdzsmiDwnmD0olD8qa0IrfUQtL0gtMUgtQkcti0cuLkcuMEguMUcuNkguOkkuR0ovL0ovMEsvM0ovNEkvNEovNkovOkovPUovUUkvXEovZkswMEswM0swNUswNkwwP0swQkowTEswT0swUEwwVkswZkswaksxNU0xN04xP04xRE0xZk4xbk0yNU8yNk4yNlAyOE8yQ00yTk4yU04yVk4yY04yaU8ybE8yek4zNFEzOVEzPVAzQ1EzRlEzTFEzU1AzXlE0M1E0NFE0NFI0NVM0NlE0NlI0OlE0PlI0QVI0RlJbMtAUAAAA50lEQVQYGQXBTW7CMBCA0W9mrJKEAKr4WXXTu3TXG3Dc7nuOIiohKLHjGJzpe3IUreZ6BxJkIIHjnlxxbDBVs7EXaVV1u1UtpehDAdloNB3Xo6p1XbF7CN2kj0YFEYmasmUz05yb3KjmfW5LcBnEvk7L1N8P4UwvN+HwS/c+iqIrAT68XTyvq7frZNt6W33+nUAFHADAHAyw+ZsA6tXx0AxtaHTz/Nm9dGGxqef9bkKOntdRUh8BIFGIOD42KSBLn6WtFQAWN7zBL68plYDXQVwYASABGTy6h4DMOHEOyATMOHWmJh7hH8HfcsJFco7ZAAAAAElFTkSuQmCC)}\n#webamp #time #minus-sign {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAABCAYAAAAW/mTzAAAAF0lEQVQYV2OUUNT8/+L+dQYJRU0GGA0AVz4HY4h207oAAAAASUVORK5CYII=)}\n#webamp #time.countdown #minus-sign {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAABCAYAAAAW/mTzAAAAEElEQVQYV2Nk+MHwnwENAAAjgQH5sdp7TQAAAABJRU5ErkJggg==)}\n#webamp .digit-0 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAFklEQVQI12OYGtrA4ACEHh0ORNFA9QAiPQsl393R7gAAAABJRU5ErkJggg==)}\n#webamp .digit-1 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAE0lEQVQI12PsYNjBwMDgwEgCDQAItwpIh/66WgAAAABJRU5ErkJggg==)}\n#webamp .digit-2 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAH0lEQVQI12OYGtrAwMDgwNDR4YBCg8RBLI8OVBooDgAebgr//9NFIgAAAABJRU5ErkJggg==)}\n#webamp .digit-3 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAGElEQVQI12OYGtrAwMDgwNDR4YBC4xEHAB3uCv9NUBWtAAAAAElFTkSuQmCC)}\n#webamp .digit-4 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAGklEQVQI12Pw6HBgAEF0emqoAwMDkO7owKABD8wKi451feQAAAAASUVORK5CYII=)}\n#webamp .digit-5 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAIElEQVQI12OYGtrA4MDAwODRgUqDxBmArI4OBxQaKA4AHm4K/5vyk78AAAAASUVORK5CYII=)}\n#webamp .digit-6 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAH0lEQVQI12OYGtrA4MDAwODRgUqHgsUdgHwHFBqoHgAbbgr/DdfRzgAAAABJRU5ErkJggg==)}\n#webamp .digit-7 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAFklEQVQI12MMZdBmYGBwYOxg2EEsDQDjggmI1L+I9wAAAABJRU5ErkJggg==)}\n#webamp .digit-8 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAFklEQVQI12OYGtrA4ACEHh0OKDQecQArbgt/wD0r9gAAAABJRU5ErkJggg==)}\n#webamp .digit-9 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANAgMAAAAGbqyVAAAACVBMVEUAAAAA+AAYISknP40bAAAAIUlEQVQI12OYGtrA4ACEHh0OKPTUUAcGBiDd0YFKA9UDACFuCv9mR03UAAAAAElFTkSuQmCC)}\n#webamp .play #play-pause {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6DAAAACVBMVEUAAAAA6AAYISlH3xqZAAAAH0lEQVQI12Po8GhgYAhgYOgIAdKhQDrUAUKHQMU9GgCL+gfA1jUO8AAAAABJRU5ErkJggg==)}\n#webamp .pause #play-pause {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6DAAAACVBMVEUAAAAA6AAYISlH3xqZAAAAGklEQVQI12Po6GhgAIGQVgeGEFYHFBoEgPIAiaIHnsCfw8kAAAAASUVORK5CYII=)}\n#webamp .stop #play-pause {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAgMAAACd/+6DAAAACVBMVEUAAAAA6AAYISlH3xqZAAAAGUlEQVQI12Po6GhgAIHWkAYG1hBUGgSA8gCN1wfe41RVhgAAAABJRU5ErkJggg==)}\n#webamp #work-indicator {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAFVBMVEUAAAAAAAAA6AARQDMYISlODwD/KDN/MQZsAAAAAXRSTlMAQObYZgAAAB9JREFUCNdjUFI2ZmBgQCYFBQWBpKOLCJwdGpaGSgIAfI8Fm6vX5/8AAAAASUVORK5CYII=)}\n#webamp #work-indicator.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEUAAAAAAAARQDMYISn/KDPWqFE6AAAAAXRSTlMAQObYZgAAABpJREFUCNdjUFJgAAJkUlAARBoaINguDmgkAEabAvbVxDW5AAAAAElFTkSuQmCC)}\n#webamp .playlist-top-left-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWUlEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TllWjvk7ZyX9pb0jeRDhFvYqBDe5+kxzjR3hK6xImKqibtfUKXzEiXsosulowWkKRUQYx0SV10sYQeqQsAf0Ul/5LwY0QAAAAASUVORK5CYII=)}\n#webamp .playlist-top-left-spacer {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWUlEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TllWjvk7ZyX9pb0jeRDhFvYqBDe5+kxzjR3hK6xImKqibtfUKXzEiXsosulowWkKRUQYx0SV10sYQeqQsAf0Ul/5LwY0QAAAAASUVORK5CYII=)}\n#webamp .playlist-top-right-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWUlEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TllWjvk7ZyX9pb0jeRDhFvYqBDe5+kxzjR3hK6xImKqibtfUKXzEiXsosulowWkKRUQYx0SV10sYQeqQsAf0Ul/5LwY0QAAAAASUVORK5CYII=)}\n#webamp .playlist-top-right-spacer {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWUlEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TllWjvk7ZyX9pb0jeRDhFvYqBDe5+kxzjR3hK6xImKqibtfUKXzEiXsosulowWkKRUQYx0SV10sYQeqQsAf0Ul/5LwY0QAAAAASUVORK5CYII=)}\n#webamp .playlist-top-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAA/FBMVEUdHS0dHS4eHi8fHyIfHzAfHzIgHzIgITMhITQiITQiIjUjIzYkIzckIzgkJDckJDkkJSklJTomJTsmJjsmJjwnJz0oJz4oKD8pKUApKUEqKUEqKkEqKkIrKUIrKkMrK0QsK0MsK0QsLEMsLEUtLUYuLUcuLUguLkcuLkkvL0owMEsxMEwyMU0yMU4yMk8zM1A0MCw0MlA0NFE1NFM2NVM2NVQ2NlU3NVY3N1Y4N1c4N1g4OFg5OFk6OVo7Olw8O109O149PF9FQTtnXEJqanpra3xsbHxsbH1tbX9uboFwb4NxcYZzcoh0c4p0dIp1dYx4do54d5CGd02OkZDLe86vAAAAvUlEQVQYGQXBMUodUBQFwDnnXdMq2LuWQFy/nYVFQAIu47+bmSDSpFFtmyRp452oiIhIIjJ8Nr/2nD1Nc5ppJS3idhVqIRii93wDABiC79/PAACDdbwAABju8fAXAMBg7/EKAGBYu/YFAGAg9+0DAMDgNo/XSdLm5JxW0sH+JE2TJm1a9aQI2NiSYD0Mlj9JEiKSkAzY/XrKnPQkpydJUoDrXnvFQlIAu67aLVDAfbAgu4k1gHX/pZ2cJKme/xmiNhnfUYYUAAAAAElFTkSuQmCC)}\n#webamp .playlist-top-title {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAMAAABMHminAAABd1BMVEUdHS0dHS4eHS4eHi8fHyIfHzAfHzIgHzIgITMhITQiITQiIjUjIzYkIzckIzgkJDkkJSklJTomJTsmJjsmJjwnJz0oJz4oKD8pJ0ApKUApKUEpKkEqKUEqKkEqKkIrKUIrKkMrK0QrLEQsK0MsK0QsLEUtLUYtLkctLkguLUcuLUguLkcuLkkvL0ovMEsvMSUwL0swMEsxMEwyMU0yMU4yMk8zM1A0MCw0MlA0M1E0NFE1NFM2NVM2NVQ2Nk82NlU3NVY3N1Y4N1c4N1g4OFg5OFM5OFk6OVo7Olo7Olw8O109O149O2A9PFs9PF89PGA+PGBAQFhCQV9FQTtIR2ZMTGFVVG1WVmNbWnZfYGpgX3dlZXdlZnRnXEJnaHZoaHhpaXtqanpraoBra3xsbHxsbH1tbX9uboFwb4NxcYZzcohzc4p0c4p0dIp1dYZ1dYx4do54d5B5eIl9fY6FhJSGd02LjJqOkZCQj6CXlqeioq+srbettMQFH6KtAAADiklEQVQYGQXBTa8VVhkG0PW8+1zuRYuN4gfgpV4q3PpRNTFGw8Q4MlaJsUPjr/D3OHJgjANnNR2hxA6MNW00mKJAC0YSSZu2SkmBnrP361o5gsY09UL3Ymrd3bq7073obgAQSoUYJJKoqIgoY0DYvAgaaFbr1tA0mrawAABKQghBEIkBQXTY3AG7mrpZbfYylzVr123ZrWx199TLWsBYo6vYJEYqoySxFzV6qEqhGIUCGmKJXlqoKRoaWbozWwKzDYvVDYDRmFmAAGTDFVZtdbN69WQuvey6Lbu1stOzrc4uC1ClspkjGTGGSmKjkhpJRUnsbfdeYvNz9399xXze354/8dqFT7z+rfGnb9fNunTr3/393H3Djzz53Qsn/ea7h6x//Hnxs32eXL14fPeVTD8++ejlH+7fvPXC9vc/2P5Bff7SuzeOT5tv1UXsro+XfnpGVZ1DPqqTJzz99AOQI8zz6bPB/pcOSLv5cj1rwC9v738F9Djog/VqX7ycN8PQ+Nzp7Y23//f+a++5fV2cq9pc85iu/1w44my9B+yfpc6s7f7pd8xxyXavpxMXbWvC5T0LJd/MvcNv/P3uhU/d/1dYo8Hel7cPPwDaNer4+OvEEwe7+XHvB+aTp3Dqow99Ju733mMW559555UZ+MKZu3/E0odz69Bfp9ehFN6+M+0dLcHg+Ph4c8Zb8GiOD058bAuLf34tzmc85dwNHp+8d6R481WrFvyKcPo7/nKwDvsgWYMYz3iAz5697Tk05p4Pn7X5hYdXiAeffNcXH2qK/9694OyTa763/2nuXbx+JBu6uxZgcOqU+G0uH371DWh1yS08Gs+ZtwtYV65elZ8AW61ZbfYyl6V3utc0s9U9Wy89QWpupMgoNoY9STKSUpWNFAmbLnIENHNaTbduk2XRemltsRoARFEiBokkKpJEijEgFOgGQNC0poGGBQBIWokINAgJLABsXgQ0DaZumoamad1YAEChCCEIIWFAkA6bO2CZui169uq1dPeu25q92k6bbWXtohlzswbJJjJkZCTJiCqjYkRJ2IMC5gTFAugpFhB2pa01emCOXVplQ0iNClAMelDAahTYjQHoDkEIMaJmM2Z3d7cFU2CubtoEWExMAAkKbOYEizRTLLSYbQ0SCd0WkvRCNVitgVAI0OwgR9CYJqvp7ja17tZtac3S3QCQiJJIIpLEEBWkjAHh/7B25tuthDwsAAAAAElFTkSuQmCC)}\n#webamp .playlist-top-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAABNVBMVEULDxYMDAwOFQsUFBQdHS0dHS4eHS4eHi8fEQofHyIfHzAfHzIgHzIhITQhIjQiITQiIjUjIzYkIzckIzgkJDklJTomJjsmJjwnJz0oJz4oKD8pKUApKUEpKkEqKUEqKkEqKkIrKUIrKkMrK0QsK0QsLEUtLUYtLkguLUcuLUguLkcuLkkvL0ovMSUwL0swMEsxMEwyMU0yMU4yMk0yMk8zM1A0LhA0MlA0NFE1NFM2NVM2NVQ2NlU3NVY3N1Y4N1c4OFg5OFk5OVc6OVo7Olo7Olw8O109O149PFs9PF89PGA+PGBFQTtGQh9ORDBQPx5YVjxnXEJqanpra3xsbHxsbH1tbX9uboFwTyxwb4NxcYZzcohzk5p0c4p0dIp1dYx4do54d5B4h4yGd02LjJqNcTiOkZC/uXdbAAABJElEQVQYGQXBsWpTYRyH4ff7cig5a8FCKAge2slNqFvoBai4e5d26h0UrCnYpaCSrbV2cA0k5/97fZ42WYVR1ZCgZWC4REGDSEAVuRpeUoayyiqddU6IdIGeDkCHBQFgpo2s1dXR/mj/66BvHm/h4vSunocv/67XrpYsWb69L5yAadsaw+IV8hMAAl8/Tbtxe/tahhtAAKAXuBt30KCfnUEHAAL8HXcnQKcfH2huAPje4fO0/fNjujC0kbXMNwds75ydHr/B+9NNntuHlJZWYpWpOcb4NDxYpUTVSAzzx03RoQECIAQomGG4RESDSFCuABheUv2AVTFV2ScamnRCNYiYKAsUhA5g0pqNRpgVADq01gCaxNIgAMODVZJz+F2WWisA+A8o2vB09xIFIgAAAABJRU5ErkJggg==)}\n#webamp .selected .playlist-top-left-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TkVWnvkzfnqmhvyf///2lviaujNe0tWTcplfaW0CVOVFQ1ae8TumRGupRddLFktIAkpQpipEvqoosl9EhdAAvFKfTd8tQbAAAAAElFTkSuQmCC)}\n#webamp .selected .playlist-top-left-spacer {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TkVWnvkzfnqmhvyf///2lviaujNe0tWTcplfaW0CVOVFQ1ae8TumRGupRddLFktIAkpQpipEvqoosl9EhdAAvFKfTd8tQbAAAAAElFTkSuQmCC)}\n#webamp .selected .playlist-top-right-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TkVWnvkzfnqmhvyf///2lviaujNe0tWTcplfaW0CVOVFQ1ae8TumRGupRddLFktIAkpQpipEvqoosl9EhdAAvFKfTd8tQbAAAAAElFTkSuQmCC)}\n#webamp .selected .playlist-top-right-spacer {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU1nL+z0BjwFhRPoH2ltjZJAwTS+TkVWnvkzfnqmhvyf///2lviaujNe0tWTcplfaW0CVOVFQ1ae8TumRGupRddLFktIAkpQpipEvqoosl9EhdAAvFKfTd8tQbAAAAAElFTkSuQmCC)}\n#webamp .selected .playlist-top-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAA/FBMVEUdHS0dHS4eHi8eHyUfHzAfHzIgHzIgITMhITQiITQiIjUjIzYkIzckIzgkJDckJDkkJSklJTomJTsmJjsmJjwnJz0oJz4oKD8pKUApKUEqKUEqKkEqKkIrKUIrKkMrK0QsK0MsK0QsLEMsLEUtLUYuLUcuLUguLkcuLkkvL0owMEsxMEwyMU0yMU4yMk8zM1A0MlA0NFE1NFM2NVM2NVQ2NlU3NVY3N1Y4N1c4N1g4OFg5OFk6OVo7Olw8O109O149PF9FQTtqanpra3xsbHxsbH1tbX9uboFwb4NxcYZzbFJzcoh0c4p0dIp1dYx4do54d5CukmXsznr///9ua7yBAAAAvklEQVQYGQXBsU0dQBAFwHnvFsshErl7MQVQtlsgIEGWSMkd/FvPBJEmjWrbJEkbr0RFRFQSkeG9+bHn7GmaNtNKWsTtKsRCMETv+QQAMASfbwEAGKyjAACGezx8AwAY7D2eAQAMa9e/nwAAA7m//gAAGNzm8TJJ2jTntJIO9itpmjRp06onRcDGlgTrYbD8TpIQlYRkwO7HU+akTU5PkqQA1712xUJSALuu2C1QwH2wILuJNYB1/6adnCSpnv/+0TYBQOmyqAAAAABJRU5ErkJggg==)}\n#webamp .selected .playlist-top-title {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAUCAMAAABMHminAAABd1BMVEUdHS0dHS4eHS4eHi8eHyUfHzAfHzIgHzIgITMhITQiITQiIjUjIzYkIzckIzgkJDkkJSklJTomJTsmJjsmJjwnJz0oJz4oKD8pJ0ApKUApKUEpKkEqKUEqKkEqKkIrKUIrKkMrK0QrLEQsK0MsK0QsLEUtLUYtLkctLkguLUcuLUguLkcuLkkvL0ovMEswL0swMEsxMEwyMU0yMU4yMk8zM1A0MlA0M1E0NFE1NFM2NVM2NVQ2NlU3NVY3N1Y4N1c4N1g4OE44OFg5OFM5OFk6OVo7Olw8O109O149O2A9PF89PGA+PGA/QitAQFhCQV9FQTtIR2ZMTGFVVG1WVmNbWnZgX3djY3BlZXdlZnRqanpraoBra3xsbHxsbH1tbX9uboFwb4NxcYZzbFJzcohzc4p0c4p0dIp1dYZ1dYx4do54d5B9fY6FhJSLjJqQj6CXlqeioq+srbettMSukmW8u8XHx83KydLW1tzk5Ojsznry8vT////NCpc8AAADfklEQVQYGQXBS6tfBxUH0PXb5+Q+Y2oFI5ZoknpLiU8cCELopANJG+M38Ds48nM4ciw4cVJ0INhBK5T6KPVRChVFIzHUB4IQvYbEe+//7O1auQGDzWYaM81mzMyYmclMMzMAIJQKsZBIoqIioiwLhPUuGGDoMaNhGAyj0QAAJSGEICiJBYKYsD4EW9oMM3bTunVnm9G2zoWZ2UzrBpZepoo1saRSJYk1qmaxVIKiCgUMxIhpI6TFwCBtJttIYBuLpmcAUINOAwKQlTt07cww073Rbdo2o23d2Zlt9GSXBlSprNuSLLGUSmJRSZZURSTW3fo667edf+eO/pL3vrj/7mf3f/OVS29/df3Dwc0H9+dry3/eds/Zj1858oN7V9j+9Ivmm3uc/+rqC6c/yuYbR09+cnf//u9f3b3x6sWb6vmbj3/95eNcPLj8HC7er9e/taeqDpDz5XjftYMzkOfR15c5CPZvHRLu/3y5aYHv/XXvC2CWwzns387Nl+vPoQyeu3z+u6ePPnz3sb+/Lw6q1g9sTM4Ob/DMegpm/yq5ttv2P/XQbj1xvjdcPbTVBrevaJS8lNMrt985feb4vw/CZMD+586e/TcwPqBOTl4k/ubwYnc8HwZ2Z8c4ON+5Hk9n7ynN0ccfv7cFrh+c/hBtnt21j3pz5y2Iwj8eXdi/PqA4OTlZ9/wTnu7Ws6zn0Pzx83F9ucQBnh49uaL4yy91NXyflPX2vHO4Hc1h0oi84DE+uX/fLUCvHn3C+l2P7xD/u3zq+MJQ/OvRx1w7+6mX9z/Nk8O37glmphqwtKPPOPRaXvnISz+Dsd70AGfLLRf3A/Sd18jXgZ0xzNhN69ZmM9Nty4WZbUybDaS2VYosxWqxSpJKSiqXJCQsU+QGMGybHmbM2GjNmDZG0wMAoigRC4kkKpJEimWBUGAGAMEwhgEGGgCQjBIRGBASaACsdwHDgM0MzcAwjBk0AFAoQghCkbBAkAnrQ9DajGF20zNtZrYZ3dNjZ2yj07sYlm3thWSNLLKkkqSiSlWsEQkrFNANQgNMiwbCrozuZRZsyy6jshJSlQBFMSsBelBgqwJMF0EIUVHbsGwzMzMaNoGtZxgN0DR2ABIUWLrBUE2LxogevZBImNFIMo0a0GOAEBQwbJAbMNhs9DAzYzNmxow2hjYzAJCIkkgiksQiKkhZFgj/B6KI5O4cXV8dAAAAAElFTkSuQmCC)}\n#webamp .selected .playlist-top-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAABI1BMVEUdHS0dHS4eHS4eHi8eHyUfHzAfHzIgHzIhITQhIjQiITQiIjUjIzYkIzckIzgkJDklJTomJjsmJjwnJz0oJz4oKD8pKUApKUEpKkEqKUEqKkEqKkIrKUIrKkMrK0QsK0QsLEUtLUYtLkguLUcuLUguLkcuLkkvL0owL0swMEsxMEwyMU0yMU4yMk0yMk8zM1A0LhA0MlA0NFE1NFM2NVM2NVQ2NlU3NVY3N1Y4N1c4OFg4QlY5OFk5OVc6OVo7Olo7Olw8O109O149PFs9PF89PGA+PGA/QitFQTtYVjxnXEJqanpra3xsbHxsbH1tbX9uboFwb4NxcYZzbFJzcoh0c4p0dIp1dYx4do54d5CNcTisrbeukmWwmV7O4tDsznr////5EmU+AAABC0lEQVQYGQXBMUpcYRiG0ef7708qu4mgxYCFVdbgtIGsIesLZAOuQ0GIlfXFMEMgTOXc7308p/Z2Y1Q1JGgMzAcUVIIIqsjjPKUNm912a+uWEBkCIwsAAwYBYKMmB3UP8Oeid65wW8/9Pn/274P7BeDbS+PXsnbHKmZN5B8ABNba9XJalbkCWgCOBvvLhxTMa2BggQSo5WMpGMzlTMUS+D+a293J2vk3zF8crPMVwBmt4wqWUN/T2rETu022GOM6X+1Womokhv7x1AwoQACEAIEN5gMiKkFEeQRgntLjglvHdOeSaCgZhC6ImCgLCsIAMF1lUcimADCgqgBKYmsQgPlqt8R73tpWcwMAn2oG882E0Lr4AAAAAElFTkSuQmCC)}\n#webamp .playlist-middle-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAdAgMAAADjkWVKAAAADFBMVEUAAAAdHS0pKUBqano8VvpZAAAAD0lEQVQI12OoilvCQGcMALzxKw1EtyFgAAAAAElFTkSuQmCC)}\n#webamp .playlist-middle-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAdAgMAAADX6KRWAAAADFBMVEUAAAAdHS0pKUBqano8VvpZAAAAEklEQVQI12OwmrXq1UuGIUICAIEjYC7HaOXEAAAAAElFTkSuQmCC)}\n#webamp .playlist-scrollbar-handle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAASBAMAAACUbIJFAAAAG1BMVEUJAgJ1XCKNcTibgkmwmV6+sX3aypzy8vT06sbDyd/kAAAAKElEQVQI12NIAwKGJCWlAoakiHYHhqRGD/KJimYHhnQXFwEGBQYGBgB4dhfwKIryTQAAAABJRU5ErkJggg==)}\n#webamp .playlist-middle-right.winamp-active .playlist-scrollbar-handle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAASBAMAAACUbIJFAAAAGFBMVEUgDABsURh1XCKNcTihhkuwmV7DrnXaypzxKekLAAAAKklEQVQI12MIDQ0NYAgUFCxgCHRLN2AITDQjnyhLMmAINzYWYFBgYGAAAIGKEsehmtv8AAAAAElFTkSuQmCC)}\n#webamp .playlist-bottom {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAmAgMAAABMq9iIAAAACVBMVEUnJz04OFh0dIo98+79AAAAGUlEQVQY02NYBQYNDKFg4DDiaHSAKzygAADHT1L3iexI4AAAAABJRU5ErkJggg==)}\n#webamp .playlist-bottom-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAmCAMAAADeF2QjAAABpFBMVEUODhYPDxgQERkREhsTFB4UFB8UFSAVFSIVFiEVFiIWFiEWFyMXFyQXGCQYGCUYGSYZGigaGykbGyobHCsbHCwcHCscHSwdHS0dHS4dHi0dHi4eHS4eHi8fHzAfHzIfIDEgHzIgITMhITQhIjQhIzYiITQiIjUjIzYjIzgjJDcjJDgkIzckIzgkJDckJDklJTolJjsmJTsmJjsmJjwnJz0nJz4nKD0nKD4oJz4oKD8pKUApKUEpKkEqKkEqKkIrKUIrKkMrK0QrLEMrLEQsK0QsLEUtLUYtLUgtLkctLkguLUcuLUguLkcuLkkvL0ovMEsvMEwvN00wL0swMEsxMEwxMU4xMk0xMk4yMU0yMU4yMk8zM1AzNFE0MlA0M1E0NFE1NFM1NVQ1NlQ2NVQ2NlU3NVY3N1Y3N1g3OFc3OFg4N1c4N1g4OFg4OFk5OFk5OVdGUF1OWG5XZHZbXGRfYGpjY3BlZnRnaHZoaHhpaXlpaXtqanlqanpra3xsbH1tbX9uboFwb4NxcYZzcohzc4p0dIp1dYx5gpaBkqWttMS/zdPt//+lzFndAAAFVklEQVRYw4WYPa4sSRGFvxOZvYQnYBc4gGoVSGgkVjBiLFgBDj5IYKGxsdBI7GDcksCADWCOhB4G5n39OjMORmZV/9zqnpRu3e4+lRkZJ34yIvWDL7/l33z5bTu//dyAAcTj0NEXzU8q26/zT7eviaf/6/jkdn77/JdzZhpQbEsIoRAqAUIKRIUoeUKgQkFBcVAGpHozo4JKotILkuQAogLRKoohvZ/fzudzpg2K8KBgVw5y58QCTE1AYRIghRLK1DyhYmppTWQQFCRvyzZIJBjSL347fzpn9majvOHZEFjI89uckS23/UnbewiYKlnQUDXOsXdDxtgxGZQ2mOCSPn+6ZMvU2JEZ8sZWU95JAhtUcUwXsW5MDfTsDUPrVGJQEwONkHGGW4DLWLRl+u1zNjflpqI9VhUkKXKoGoMEN06BUOJo4LBJ1AyleqOtdVOu+5JtBWFqZkd24M/nbL649w4bi1MXY4gQY5shD7OPDUCCUkKpBFSFSQjR6wmKEwyis5GPrRYUkhL0y1u7kC374JhbsyNICzx0n5hEB6BAODEUYERMDnMayBE9w1p4urJqJZDkevHb28X0bEK/+hEHw38A4Itj8BtA/OQY/CcGPhyD32VNv31K3DLgd98R79/Kj4D4zTMwwL94AiYU/fgJaNX0pwtJkvHVRtj9Fm0s//IpKPGzZ2DNwodnYK/R3DLBgX/I4TAInoPp56BfgcVxoXcPX+TZSI6o20a8wLZIPx6KpF+4zxeHGvJqby+wl1PDvvh+l+sK6/6YUH8AV2C9Jj+u8IYO7LoqsLJuKwy0mtSdCuvCunB9ANaVwGVdWIB12UQU7+C6AMutcu10xVbmimNV5NjSonfzrev7w/3K7rpMpdcDJpf1AcgbnxjYcoW9Hx5SbhKW5b3d407A0HA5qDw2dBvlZuIEbsRTmYcncec9K8t8ACj1DjwSvs/aZoperuK3V5YBy/UdScu+zeWAo2WCNwa+mvYRgWuoLjeTJ+6I7wmnecDvPn8wyouZzlfxnrHVSy/F+7WIV9L9Mtsc1awHCev7CTqW/irXaXdmE/mfmf3vx8SfgrJ4Dqafg7MAnJn2z0A6H8fQ/q/PQIf992dgVvHx6bJ3Pp+//coffWw+Tn/84hlI+G8/PQYF6F8fjsFU3WOKDL4elaSsvSmRrAgp4xsRBFKBKCiQ5gEn/qEgFIFUHCHECUQW4L//6wVBjP4gKllb7UWzCGeW9gnWNIqQtrNvFGZjsjvyrNhinP7GwSyxy8haLoYyw30m9FEByq3RTME38Z65p3ONatbGeJSypOdxppLjbROZGlVuJEYJtIgAKm3LNS6zWGZ0aKJGKfTbqiF2J3woq8mhhTDq4B4mnIiMQmxNlqGCqzMx6qdR8I+6uHvfQWaFFpciYvuRjJjHbM4CGDzshMpsbFTwrJJjK7hj+k2AkdqwZqvG3WEcnVJk7EwPOcSlmodMO8I/uNp7rtyHsMhhftc5qwMywtNs3mh0AxWlGJ6HwDGSTxvForeI+/1tutN97z07aUsabhh7dzt2qem7dfgqkUWuvQwN6hZYIvCNl8s1rnnaB/cDnv5uD4+56bGuDfY0ErsRZ68/j/A6zm4RvisfTa8Ap1+/uql494t4R0w83Fvo6LLi7kpD1rhcMH+axLC5obQ3bChcYpAbLnKERJSsQiGhiEF7FAJVZQVx6lWlR0GUaTmXabg6CYotzYutvBQSZnd8CNNzc7jR10cPPNNHzFAcrWYnEiFXTA3jgI61JaJUpQ8n1QG5erzxGa417ikcN6x4JImRl8sehwVBma+V1EzHgcMbqRbS/wFHTmME7id3UQAAAABJRU5ErkJggg==)}\n#webamp .playlist-bottom-right {background-image: url(data:image/png;base64,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)}\n#webamp .playlist-visualizer {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAAAmBAMAAAB+CntdAAAAIVBMVEUAAAAAAAwAABAACCEAa7UYGCkZGSMnJz04OFhjnPd0dIrCNSsmAAAAW0lEQVQ4y2NYRQxYwNBBDGgYDsrKiQELGIgCCxhYiQFEm8aiSpRpTMSZxkmcaYxEus2MmqaNum0Yuk1FU0VTRFPF0sQSOwZBovNCFXEFF1HZuYBYZQNSWhLnNgDqVFE4O/Zo0wAAAABJRU5ErkJggg==)}\n#webamp #playlist-window-shade {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAOAgMAAACnVF/TAAAADFBMVEUAAAAdHS0pKUBqano8VvpZAAAAHUlEQVQI12MIBQMHhv9gcIBhFRg0MFALwMyD2gMAcRoULw29bBMAAAAASUVORK5CYII=)}\n#webamp #playlist-window-shade .left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAOAgMAAACnVF/TAAAADFBMVEUAAAAdHS0pKUBqano8VvpZAAAAIklEQVQI12MIBQMHhvr/IHCAoWoVCDQwVDFAAMU01DyoPQAU7xeZEgCs6QAAAABJRU5ErkJggg==)}\n#webamp #playlist-window-shade .right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAOCAMAAABaWb9VAAAANlBMVEUAAAALDxYMDAwdHS0fEQopKUA0LhBGQh9ORDBQPx5YVjxnXEJqanpwTyxzk5p5ip6NcTiOkZBJ6prXAAAAbUlEQVQoz6XSORaAIAxFUQjyFTEO+9+sBI82ajT6KgpukYAL5txgLbhoLbjLfpFGkkMGESHfk2kXGEtiegbA0MiGUEm5GKnjxCCdCMJykDZxekdKqASc5idSZ6nk5SznjXnvtY2p7/Lh9e3fcgVRHAwq+Kdj5gAAAABJRU5ErkJggg==)}\n#webamp #playlist-window-shade.selected .right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAOCAMAAABaWb9VAAAAM1BMVEUAAAAdHS0pKUA0LhBFQTtPSThYVjxnXEJqanpzk5p5ip6NcTiOkZCsrbewmV7O4tD///+ogWxMAAAAbElEQVQoz52SSQ7AIAgAsQjU3f+/tpIup9ZI58SBCSs4M7BbcbBZcfDKHyXeCV7RQBgRWb6VfkmeQilBHa7CUnmmnBJRGdCIUGqqgnNFJWqPwqknXlIGtFxFG/O5tUyLs0TrxuLsLj+ub3/LA63jB8yJpQTsAAAAAElFTkSuQmCC)}\n#webamp #playlist-add-menu.selected .bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAA2AgMAAAB/8csyAAAADFBMVEUvL0RGUF2BkqXt//98VqXeAAAAFklEQVQI12NgYTBhKGHYQmNYArSFBQBn5SMZFZ1KogAAAABJRU5ErkJggg==)}\n#webamp #playlist-add-menu .add-url {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAWElEQVQI14WOsQ2AMAwEv3LPKBYTABsgorTfxCtkfRyUOIiGq04v62Sk4EKugxPZOmVzpxAGKeoupInwcWD6e3eP+9FpTnppOvm3g6307cTPinSsHcW+BDd3RTueo3YTtwAAAABJRU5ErkJggg==)}\n#webamp #playlist-add-menu .hover .add-url {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAV0lEQVQI14WOyQ2AMAwE9+MCEEkDdEAnGwmXACWQ9skFmx/zGq2skbEJLALBB8eOmF8S4n11zupOIxzW3Eg3Y3NAPu/Fv/tB77CU5OTfDtZSQpg6q/5/AGMtMU3PzLN0AAAAAElFTkSuQmCC)}\n#webamp #playlist-add-menu .add-dir {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAWUlEQVQI122OsQ2AMAwEv/qeUSwmADZARG6/iVdgfRrHScFVp5d1MlrxwN/BDY+kH/AQhQC7wYNSkOoGD2D6ulPzfnQsO2K6gtLifzuF4Uunfja0a08M51Z82fg51vPZ5kgAAAAASUVORK5CYII=)}\n#webamp #playlist-add-menu .hover .add-dir {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAV0lEQVQI12NQQgAGQQRgEAmFghBDBtFyGAhkEC1Lg4BUEDs0gDWAIZSBFcxmDQgIZWUNALMZGBBsZHEgG64eCuDmBLBC2QFgLQg2NnGQehBbBMkcYYT7AQVAL9EsAFyYAAAAAElFTkSuQmCC)}\n#webamp #playlist-add-menu .add-file {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAXklEQVQI12WOsQ2AMAwEv3LPKBYTABsgorTfxCuwPpZJDIJzc3q9LaMkB+o52FGt0xZ3CmGQpu5CmgjDgcffuXv2xx13wseIcPOW8c4lXH65xQa+d/JnRdnmjmKdkguiDDkEOAftpAAAAABJRU5ErkJggg==)}\n#webamp #playlist-add-menu .hover .add-file {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXUlEQVQI12WOwQ2AMAwD/ckAiHYBNmATI+ERYARYnzQttBKXz8lyomDpYOogqbGvyPfLhnydlaO4aIRg4UbKjOFA9zF3//qN4oSPiHB5S6y5hdsvV2x4Pw135v7/A+euLyJ1PQpNAAAAAElFTkSuQmCC)}\n#webamp #playlist-remove-menu.selected .bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAABIAgMAAABO2aeDAAAADFBMVEUvL0RGUF2BkqXt//98VqXeAAAAFklEQVQI12NgYTBhKGHYMghgCdAlLABvUy/BqCAQTQAAAABJRU5ErkJggg==)}\n#webamp #playlist-remove-menu .remove-all {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAWklEQVQI13WOMQqAQBADp0rvUw5foP5AlG23MV/w+xbenSI41RBCCHtnI87GSrhyTIQxknUUwpJM3o4xPLnU/Om3nULYSmf1zJfzk2eS+LvTPxf2ZawU5qFzAa7rOIxN5zmHAAAAAElFTkSuQmCC)}\n#webamp #playlist-remove-menu .hover .remove-all {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAWElEQVQI13WO0QmAMAxE7ycDiO0CbuAmJ3gj6Ai6vtGmpD8+CDwuIRyWBFOComBfUe/OhnqdjeN1QTCTfW5uoPVcQOY+4XkfNDeK4eTg+MnpG7iX4c+c/R8m4y6+oJDkfgAAAABJRU5ErkJggg==)}\n#webamp #playlist-remove-menu .crop {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAR0lEQVQI12MIhYMQhvByGAhiCE+DglRHJLYhHjZDAlsCEIPYCWkJYABlswGZyOIw9QlA9fjNxMGGu9mQIdTZGAoMGZwE4QAAjAZBLD2pp6oAAAAASUVORK5CYII=)}\n#webamp #playlist-remove-menu .hover .crop {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAASElEQVQI12NQQgAGQQRgEAmFghBDBtFyGAhkEC1Lg4BUEBumCC+bIYA1AIhB7IDQADCAslmBTGRxmPoAoPpQ4swXQWILI9wPAIC4Ne4ZKh5qAAAAAElFTkSuQmCC)}\n#webamp #playlist-remove-menu .remove-selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAXUlEQVQI112OvQnDUBgDr1KfUR6ZIMkGxuZr1VgreP0Ufj/gqw4hhDgmO3UNNiqd80OFIEVnoyIp+HZCYOXS8NUfO41KMO7uOMMja7pXbhmT58783Dh+707j+5r8AVpzN34SgZTJAAAAAElFTkSuQmCC)}\n#webamp #playlist-remove-menu .hover .remove-selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAWklEQVQI102O0QmAMAwF388bQGwXcAM3iWBG0BF0fWOb+rxSOI40FIvAJFA82VfUe7ChXmfneN3hIJ3NGQbj6A6ox03XfNIdBku3drLT+LmpR40X4eW3Z9b/H/ZpLd3ACl8TAAAAAElFTkSuQmCC)}\n#webamp #playlist-remove-menu .remove-misc {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAYUlEQVQI102Ouw0CQRQDJ3JOKSsqADpAd3qpk3ULtE+wn7uJLGtkmXNzUL/Fl8qkv6gQpKg3KpKCRyYErl5a+fLXTqMcO4TeKIs4Hj04mtl27O1bw7/v7M+N8/OcNN6PzR8ABzaO5fDK/gAAAABJRU5ErkJggg==)}\n#webamp #playlist-remove-menu .hover .remove-misc {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXklEQVQI102O7QmAMAxE788NILYLuIGbRPBG0BF0fZN+EB8UXo9LCLYES4KiwbmjvpMD9bk7V7ggkGJzusE4cwGZ+xue/UG4ySwmmhPyf88BE4c7UZt9Y/TLb8+a93++ly0VHemPIgAAAABJRU5ErkJggg==)}\n#webamp #playlist-selection-menu.selected .bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAA2AgMAAAB/8csyAAAADFBMVEUvL0RGUF2BkqXt//98VqXeAAAAFklEQVQI12NgYTBhKGHYQmNYArSFBQBn5SMZFZ1KogAAAABJRU5ErkJggg==)}\n#webamp #playlist-selection-menu .invert-selection {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAXUlEQVQI113OsQ3DQAwEwY0udymEK7DdgSCBKZO/FtS+k39K0EYDgiDI0e3kudpIz8aHNFKVNYJ0mbu5LIxHzP3ldSdIu4Q0LcvLZdrWNccIPe/0z8Hxe8+C76v7A5OQN+oVjwHMAAAAAElFTkSuQmCC)}\n#webamp #playlist-selection-menu .hover .invert-selection {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXUlEQVQI103OwQ2AMAxDUV88AIIswAZs4kh4BBihrM+BhvafnqooKfYRlhE2984D8VSJaPfXlYgmyKSciGaKkzFZFP3Pd9eBRDSLgrppuSyLZXO8w4LgxDbtWcf/X0qvMI9I7cp+AAAAAElFTkSuQmCC)}\n#webamp #playlist-selection-menu .select-zero {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAYElEQVQI102OwQ2AMAwD/cqfUSomADZAVHz9oSuwPm4aAtfPyXKtoCYHzvtlx9mCa+kOgvIip7/hzWjp/HKl+hF57Mh7SGs2OqoL9z5jw30+cu8z+r+dvLmgbnNQsE7JAyOvPXLeVffRAAAAAElFTkSuQmCC)}\n#webamp #playlist-selection-menu .hover .select-zero {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAX0lEQVQI102Oyw2AMAxDc8kAiHYBNmATI+ERYARYn3wK4fXyZLlWZClkKqRxsK/S75dN+nUmhzspEJDhiJdOhX6Oyi21HyNP3D2EUrNjdSPcZzQ95kcefXi//Xbmuv8BohAy09WnmqwAAAAASUVORK5CYII=)}\n#webamp #playlist-selection-menu .select-all {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAUklEQVQI12MIhYMQhvByGAhiCE+DglRHEJshgSEByDYEshPAEMJOY0tgg7MTEOJAUaAOqDjUHKh6hBpk9Qw4xBOwmgN3syFDqLMxFBgyOAnCAQD0WT/cwFbKdgAAAABJRU5ErkJggg==)}\n#webamp #playlist-selection-menu .hover .select-all {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAVElEQVQI12NQQgAGQQRgEAmFghBDBtFyGAhkEC1Lg4BUEDs0lCGAISA0FMwOAEMIO5Q1gBXODkCIA0WBOqDiEABTj1CDrJ4Bh3gA1BwRJHOEEe4HAB23NNar7KHYAAAAAElFTkSuQmCC)}\n#webamp #playlist-close-button.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEU0MCxnXEKGd02ukmX///8tdlhEAAAAKElEQVQI12MwBgIDBkMBBkEgySjIaMBgIKAgACSFnARgbIg4RA1YPQCfwgXpyvsxsgAAAABJRU5ErkJggg==)}\n#webamp #playlist-window #playlist-shade-button.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAFVBMVEVFQTtPSThYVjxnXEKukmW0r4e+sX1mGpZYAAAANklEQVQI12NwAQIHBpe0tBQHBrfUtDAHBmdjY2MHBidjYyMgqWys5MDgqKSkCFQjKCACJEHqAT9eCss1JzHfAAAAAElFTkSuQmCC)}\n#webamp #playlist-window-shade #playlist-shade-button.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAFVBMVEVFQTtPSThYVjyukmW0r4e+sX3BsGNteY1yAAAAMUlEQVQI12MwBgIDBmMBAWEDBkORkEADBiPV0CAgmQom09KUgOJpaYogNYLMQBKkHgD8fwlqtoGUgQAAAABJRU5ErkJggg==)}\n#webamp #playlist-misc-menu.selected .bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAA2AgMAAAB/8csyAAAADFBMVEUvL0RGUF2BkqXt//98VqXeAAAAFklEQVQI12NgYTBhKGHYQmNYArSFBQBn5SMZFZ1KogAAAABJRU5ErkJggg==)}\n#webamp #playlist-misc-menu .misc-options {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAYElEQVQI112OsQ0CQQwEN9qcUiwqADpAvJxOctsC7RPgPyEmmmA9so7NS/0+eaozrJuaQBStUmOFkFVqJOJxIIwH8He/O6VGmLMDv7eO4/HEYfaJ8X9n/1w6HtehdL9sPlWoO+DkW3+GAAAAAElFTkSuQmCC)}\n#webamp #playlist-misc-menu .hover .misc-options {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAYElEQVQI102O2xGAIAwE7ycFOEIDdmAn54xXgpag7Rsembj8LMwSwJZgSVA0OXfUNzhQn3twNadIQehukO/VHaBsutOy6GmjjwdGT2PMaX3eNfmaLnfO3p1+Xn5z1vz/BxcjMYQLzDa1AAAAAElFTkSuQmCC)}\n#webamp #playlist-misc-menu .file-info {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAX0lEQVQI12WOsQ2AMAwEv/qeUSwmADZARGndxCuwPomJTcGlOb0+L6MkF+odnKg2aRuqoj9TNOluxu7mTnf+cvMf3s+d4WOG4JtTSVo4iHSN3PvR+XbyZkE51olgX5IHU8k5In6uSFkAAAAASUVORK5CYII=)}\n#webamp #playlist-misc-menu .hover .file-info {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXUlEQVQI12WOyw2AMAxDffEAiHYBNmCTIJERYAS6Pq1LKBIvlycrPywDTAMkf9hX5BJsyNfZOZobarlB7s7qLqecv9w1of44IG9rCPacRtLDQbxukau/efrsmcf/N3ldLzugWMN5AAAAAElFTkSuQmCC)}\n#webamp #playlist-misc-menu .sort-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAXklEQVQI102OsQ2AQAwDXaVnlIgJgA0Qr7Ru3iuwPgVJ4Corsk/BaC7EXZwIJXNDCASNmI6gSFI2HSEjaZn53WlEd8rzbiGUR0ZlXzLZL5cHRPt/nv7ZMY41cexL8wCXGToqpM1dFQAAAABJRU5ErkJggg==)}\n#webamp #playlist-misc-menu .hover .sort-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXUlEQVQI102O0Q2AMAhE74cBjO0CbuAmZyIj6Ai6vtBS6fvpCzmOYkuwJCganDvqOzhQn7tzuSsICuFOpaHS5mIq4cy5Z/9MELvwru62rZG3V2Xy0dPuupepZ83/f5v5MBfSedE0AAAAAElFTkSuQmCC)}\n#webamp #playlist-list-menu.selected .bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAA2AgMAAAB/8csyAAAADFBMVEUvL0RGUF2BkqXt//98VqXeAAAAFklEQVQI12NgYTBhKGHYQmNYArSFBQBn5SMZFZ1KogAAAABJRU5ErkJggg==)}\n#webamp #playlist-list-menu .new-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAYElEQVQI123OsQ2DQBBE0R9NTiknKgB3YIE2nYRpgfYd3PlEwI9esBot5+yg7n9fKqNroxwhRVejLClSNyLQbSm4+3E/dxrlmGC6I2dsJooe9jDGLzvz58b5WUeNfZn9AKbQNSZ12uygAAAAAElFTkSuQmCC)}\n#webamp #playlist-list-menu .hover .new-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAXklEQVQI112O0QmAMAxE7+cGENsF3MBNIngj6Ai6vk3T0uKDwCM5kmAbYBkgqXHuyG/nQH7u4HI3EaRYnW4MByEgvAwE4z/fD0TfSt4QLnp1Fye35iVrtZ+mPev4/wORlyvp1GfF2gAAAABJRU5ErkJggg==)}\n#webamp #playlist-list-menu .load-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAWklEQVQI12MIhYMQhvByGAhiCE+DglRHhvCEtAQGIGRLNQSzwQDOZkBiw8RBqhMg6uHmQNQwpAHlIOw0NhCGsUEQzk6AssG2pmGYA3ezIUOoszEUGDI4CcIBAJZqO86fMyFaAAAAAElFTkSuQmCC)}\n#webamp #playlist-list-menu .hover .load-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAV0lEQVQI12NQQgAGQQRgEAmFghBDBtFyGAhkEC1Lg4BUEDsgNIABCFmhbDCAsxmQ2DBxkOoAiHqYBTBzQoFyEHYoKwjD2CAIZwdA2WBbQWwRJHOEEe4HAE6RMXWXqbP6AAAAAElFTkSuQmCC)}\n#webamp #playlist-list-menu .save-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUvN01OWG5XZHZ5gpaBkqWttMS/zdPt//9STElyAAAAYklEQVQI102OuQ3EQAwDGSl3KYIrsK+Dwy2UTrJswe1fsA880YCgCKltfqpn8VV50i+VhQD1VGEA3FPlQED0VBlAIyfAMfp7Z9zKWjsO7FjueDnThZj5e2f/nGqfc5K6j80fAQw6zDOWMCAAAAAASUVORK5CYII=)}\n#webamp #playlist-list-menu .hover .save-list {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASBAMAAACtCzMeAAAAGFBMVEUAAAALDxYZICpXZHZneYZ5ip6Jmq2tvMRwzsuHAAAAYElEQVQI102O0Q2AIAxE76cDGHEBN3CTM7Ej6Ai6vlwL4iMkL5ejBesA0wDFG8eG5ensWO4rOeUOgiTkdAqP3CK3cKXInFYLlv2+oL2FZqXXRr3ddT5nc+2NvPzmzOP/L+cIMJ5Oo2aQAAAAAElFTkSuQmCC)}\n#webamp #equalizer-window:not(.shade) {background-image: url(data:image/png;base64,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)}\n#webamp .equalizer-top {background-image: url(data:image/png;base64,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)}\n#webamp .selected .equalizer-top {background-image: url(data:image/png;base64,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)}\n#webamp .band {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANEAAACBCAMAAABpaq8qAAABEVBMVEUAxv8SEh0SWwQTEx4XFyQaGigcGysdMBwfIDEhITQqKUIqKkEqmhYsK0MuLUcuLkgvL0ovL0svMiQwMEsxMC0xMU0xMU4yMU4yMk8yMlAzM1AzNFE0M1E0NFE0NFM1NVQ1NlQ2IRs2NVM2NlQ2NlU3N1Y3N1c3N1g4N1g4OFg4OFk5OFk5OVk9dCpCQl1EQTxNTWZYWHJZVjxasCxlmUVoaHhrcC1xzTR3QyiDg5WHd0yJ4jCNjp2QkJCQxz2SkqKTk6OTk6WWrI+ZmaidpDWfn62k4jipmGWrrZCtLSOvk4yvwziwcR3DcCrE2zLFVCrFhzDGeA/GszXOxtbTIhvTSR/cdx/gVB7gkijgsijgzTBk+3VYAAADm0lEQVR42u3bX09bNxjH8a8fP/lTombrhEC01TSkSuNik/Ym9q73XnKxqVs6VnUbNIFzbPcikNiIk4ZCIY4eXyB98OGIn+JjB4Wf+0aZN0l1KL5p4q+/VU91wqW0YXR0qsEnnHApPyJpUz5/dRe+4eJrU70nBjgaeG2jw3viyYTjYUaIOfs4t+KrtXwTSo75cBd+bO5OFSH+NAHtBfEREeIEJj+v2KeY7UPqZVTabjoFWXF4yV7TyfGAb88L8gVU8TCByS+hl5wgHgB8N5U2o4Lm1OLiQcDH7GeHzH0nB57B/N4U59zid+459Y7PU0E3vvgJqKpcDRdEqJ8iIVwJxVE/ld51QInaUj9l9Yo5glA/ZRlv+aVySlh+A6dQPxV3lfJqH6+esnyqHJDtE9VScRSjekoxFaifslOvz+qRupajfkqRTqmf4rxfPlIO6me5M+zC2MFEu3Yc2aqzRJbIElkiS2SJLJElskSWyBJZIktUT6JUun7u9KqL5UytFGIswlVPTalYjvVTs+crpET9LHaG1FI/7YTd/qHF+eSpn7JchiFBS/3UlJbHVFrshJXz+l8CiZAaqJ/Slu/56qcsT9wU8In6qeH6E7LkUhupn5r84kxypJZI/ZTUtg7AN8kHqJ8SQ9BjOBFPmwK38BJcxgCDjfkR2JgX0N6fGhMix4Nns1ZjhJgQOWGc0xVs2NNuxou1nLN31sn3eDe7NzW2DKZHvXYW274/Y8HhbB2bpptvP8Phv2uYhtyfGgQNfwBeIFA/Nfv7opXEDnDnhtvNRtUDNpteHzJ7Wuo9uksLHvA+4+H+3XgaunnINOcL2IQqQnwN4z+zdtK4LCut5UvhYLrivvLdP910JWG/nM15CIfvMvbpZ3wxgg+3UW9pNo2HMN+UDJjljaryVjfonhUX06NZM3ujfsW6ntcIRv9/YaPqBgXkcTpTIjlHMLJGlTWqrFH1lWiNqu2nNaq2n9ao2n5ao2r7aY0qa1TZJ8sPkMgaVbbqLJElskSWyBJZIktkiSyRJbJElsgSPVUia1TVtOqsUYU1qh6H1qjaftoJu/3DGlXbT2tUbT+tUWWNqsenNaq2hg5cd6PqPzjP2kl34l8l38GsmwkuM55C0z07LZtclzHGjGflxefLW+mijjQo2kmezTn/u2g2zeczf97J30fPc86mB8Xs976YnceQ3fntDyVf9ptbqQ9XZdqA06NUclpQhg9Aa1RtPz8But0Pz3B64+AAAAAASUVORK5CYII=)}\n#webamp .band .slider-handle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALBAMAAABbgmoVAAAAGFBMVEUAAAAICBApKUJKWmt7hJSLm6etvcbd5ukLNggsAAAAMElEQVQI12NQZGBgYFRgEC8vLy8WYBBPS0tzRqIExXDyQlxcQJQxEAgwAE1hFFQAAB9KDSykox1vAAAAAElFTkSuQmCC)}\n#webamp .band.winamp-active .slider-handle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALBAMAAABbgmoVAAAAD1BMVEUAAAApKUJKWmvd5un5/v8UiEZ+AAAAJ0lEQVQI12MQYAACAQZmY2NjIwYGZiCHCYlyccDNg1BKQAAyAGQKAHJPAsUS1KniAAAAAElFTkSuQmCC)}\n#webamp #on {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAMBAMAAACO67B7AAAAIVBMVEUAAAASWwQvN01KWmtSZnN7hJSLm6ettca9ztbV3vL5/v8M+RL1AAAATklEQVQI12MoRwIJDFWr4GC5A0NVBxyUGjBUNRsbdzRpNHVoQHiCkh0aTU0aKDwlKG/mTBCvCcID6UfoQzUTYTmQV54aCgcGDCnGCGAAAPUyQLvRdOj2AAAAAElFTkSuQmCC)}\n#webamp #on.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAMBAMAAACO67B7AAAAFVBMVEUICBASWwRSZnNje4R7jJyLm6etvcYvdU+XAAAAQElEQVQI12NgwAdMXODAgYHBLQ0OEoA8VDkgdnFgcXBhgfAERV1YHBxYUHgMUF5oKIjnAOGB9cP0maGYqYDkEgAFZxmn+1/+wgAAAABJRU5ErkJggg==)}\n#webamp #on.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAMBAMAAACO67B7AAAAIVBMVEUAAAAA1gAvN01KWmtSZnN7hJSLm6ettca9ztbV3vL5/v911B9qAAAATklEQVQI12MoRwIJDFWr4GC5A0NVBxyUGjBUNRsbdzRpNHVoQHiCkh0aTU0aKDwlKG/mTBCvCcID6UfoQzUTYTmQV54aCgcGDCnGCGAAAPUyQLvRdOj2AAAAAElFTkSuQmCC)}\n#webamp #on.selected.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAMBAMAAACO67B7AAAAFVBMVEUA1gAICBBSZnNje4R7jJyLm6etvcapTzEQAAAARElEQVQI12MQRAYMaDwTFzhwZBB0S4ODRCAPVc5RUNDFUcTRRQTCY2B1EXF0FEHhCUJ5oaEgniOEB9YP02eGYqYiklsAdNMdgDKFw2kAAAAASUVORK5CYII=)}\n#webamp #auto {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMBAMAAADxOqKKAAAAHlBMVEUSWwQvN01KWmtSZnN7hJSLm6ettca9ztbV3vL5/v/WADVeAAAAV0lEQVQI12NIQwWpDJkzUUAyQ2Y5MihzYsgsUlIqLxQvLBcXFC8UBwswcJSLFwIFQAgmICiILNDRgaoCZBaQI1heWA4xA8MWVIc5MaSFuCADJ4ZgJVQAABsNRRhxaDvQAAAAAElFTkSuQmCC)}\n#webamp #auto.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMBAMAAADxOqKKAAAAFVBMVEUICBASWwRSZnNje4R7jJyLm6etvcYvdU+XAAAAS0lEQVQI14WOsQ2AQBDDAh8GYKMUHgF6ihP7j0CFxF+DS8tSIv0ymIh8T1xy9aIkI5wIEbmW/Qh2cPAr9BXb2QogOMaIaPSVtR19ACp1H3+cU6+ZAAAAAElFTkSuQmCC)}\n#webamp #auto.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMBAMAAADxOqKKAAAAHlBMVEUA1gAvN01KWmtSZnN7hJSLm6ettca9ztbV3vL5/v+vLTjBAAAAV0lEQVQI12NIQwWpDJkzUUAyQ2Y5MihzYsgsUlIqLxQvLBcXFC8UBwswcJSLFwIFQAgmICiILNDRgaoCZBaQI1heWA4xA8MWVIc5MaSFuCADJ4ZgJVQAABsNRRhxaDvQAAAAAElFTkSuQmCC)}\n#webamp #auto.selected.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAMBAMAAADxOqKKAAAAFVBMVEUA1gAICBBSZnNje4R7jJyLm6etvcapTzEQAAAATElEQVQI12WOwQmAQBADtwSjsaDAlKAFCIf9l+BL8NZ5DgNJqVE/sTGR8j1xlUcvhmSEEyFSHksdwQ4OfoW+Yj9bAQTHGJHa+sranj59DSTnUdDwigAAAABJRU5ErkJggg==)}\n#webamp #eqGraph {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAATCAMAAACQnBKzAAAAw1BMVEUqKUEqKUIqKkMrK0QrLEQsK0MsK0QsLEUtLUYtLUgtLkctLkguLUcuLUguLkcuLkgvL0ovL0swL0owMEsxMU0xMU4xMk0xMk4yMU0yMU4yMk0yMk8yMlAzM1AzM1IzNFE0M1E0NFE0NFM1NVQ1NVY1NlM1NlQ2NVM2NVQ2NlQ2NlU3N1Y3N1c3N1g3OFc3OFg4N1c4N1g4OFc4OFg4OFk4OFo5OFk5OVk5OVpsbH5vb4JxcYZzc4hzc4p0c4p0dIt1dYwbWqB2AAAC2klEQVQYGQXBIQ9lSRkFwDpf930zCQqBxaLQ/H+PRuDXrCQkbObd7kNVzD/+qSay+fu/BDL87d/MMtL5628iiP2X31cQ5M//6cp3nrJ//u+upgM//2gAfv7BO6aOP/33ndQx4HVJMQGeXnSgB0/V/lWicJvObrKOrDNJCwJQ1XVzz1F3DxYTsaHBBbx7MIhsfDNHfwSNlE8vuCO8V7QAEJGzTnSlYxL3nojNJkVC+NRLGtoC8wjSIOl9Z2NJ3syeugkAwLvjyFtMl6FaGhoGyK/HZ1SX20D2CzQN+nn3vK8eOoaxAFC0vKxplMlx14qEucCdC10XJquy4/Ho/gKmbO/Mu5/sGQZcAAhN7tr1Jk3cWcu6EM4rGCbBXNdwouX72M0DgXizjh19T6S9twBASU1a+632nn2wiPIgCLDfTViHDV52oFHo+4Oy35M6Ww0KEBXlOilu9uKs6AMCHYH3McpZdQe29gshzE17tlSWZLkDAkCKhnV4wxwW8t4ZCqUAZC8xeL5yLihY6Xx3NGfclqEAgLg30dPcW3dcNzBCigBAigvI95kPSMp36Udti+be6kkBoK0knVTXJzKLwnYgzBAea8Y0hwGery9I2vjkheSMe5iJjABwG5G0Rm6v27ksCXNfEMDXoLHSAq/nM0grfDs+r46LIUgLwKRoj1wd5TOzSG2ZLUgFmCu1dALPd7sFSVDXO3L1rDWARAElTmXuEe5qf8290uDdUqZDyHJnJAfwePrc7wtVsz+SPdou5xwKCCDK0pNFuehkkaI0dC7YXDe6kzP4ft/j+bGJ4J5fH4WIZSnXBYBGxDrvgt2MPRW2hhB30nDHIHTw4OXXD9BBn3yCNF3W62aNAYA7Dtfc4867j2sOxBkCiWIGUsrw5bXyA9FRJj0SzVJZ9qK3ANqRvWql7crWMitq27OBlNAro0E6+OKeF6Sy7XOPNhk3CmQCIORWVk/inPcO/g8Gk8tpHAw47gAAAABJRU5ErkJggg==)}\n#webamp #presets {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAMBAMAAADrBkIEAAAAGFBMVEUvN01KWmtSZnN7hJSLm6ettca9ztb5/v8/TtPPAAAAXUlEQVQY022PsQ2AQAwDXblnlBcbwAYI9K0bbgXWpwAEErnSuii2topV/ShY1PmzN3UiZOQIWY7uGDsBEwj+2pHjyCF+bJwACdfBGyNfD9Bt102qOU3bPP5pmoaKE9BgTHfswQ68AAAAAElFTkSuQmCC)}\n#webamp #presets.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAMBAMAAADrBkIEAAAAElBMVEUAAAAICBBSZnNje4R7jJytvcYlh7IyAAAAW0lEQVQY03WPsQ2AMAwEv/gFMgI7QP+RLgNQsP8qFAGBlOTK01m2VaZopXdGqkq7Rk6VtqiJkJEjZDl6NHYCJhD8ryPHkUP81jgBEvrAp5H7AmSqyjG/ZJt9eQMWOi9EkrQa+gAAAABJRU5ErkJggg==)}\n#webamp #preamp-line {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-window.shade {background-image: url(data:image/png;base64,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)}\n#webamp #equalizer-window.shade.selected {background-image: url(data:image/png;base64,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)}\n#webamp #equalizer-volume.left::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-volume.left::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-volume.center::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp #equalizer-volume.center::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp #equalizer-volume.right::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp #equalizer-volume.right::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp #equalizer-balance.left::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-balance.left::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-balance.center::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp #equalizer-balance.center::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp #equalizer-balance.right::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp #equalizer-balance.right::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU5QE1jXjujlGrsznokh70QAAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp #equalizer-shade.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEVKQT5SSj1sXUO0kWO/uX6z+JYEAAAAM0lEQVQIHQXBwRGAIAwAsLT07Z2zsP8qbuDBAliTmDjl1m8Gob6HK5uWti27V6uxDDFxfn1PDx8P0VYSAAAAAElFTkSuQmCC)}\n#webamp #equalizer-window.shade #equalizer-shade.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEVKQT5SSj20kWO/uX7CsWHebnl7AAAALUlEQVQI12NQAgIFBiUGBiYFBgVhYwMFBkVhY0Mg6QwmXVwEgeIuLgIwNWD1AJzCBeFqt4OOAAAAAElFTkSuQmCC)}\n#webamp #equalizer-window.selected #eq-buttons.clicked #equalizer-close {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAFVBMVEUpKUI1LxJZVjxkW0SHd0ypmGX5/v9OYEDlAAAAJ0lEQVQI12NgAANmRUFlBgamYOUgBgZGU1dDIKmSoghjQ8QhasAAAHO7BEc0qEt/AAAAAElFTkSuQmCC)}\n#webamp #equalizer-window.selected #eq-buttons.clicked #equalizer-close.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAElBMVEUxMC1ZVjxkW0SHd0ypmGX5/v/v3/6CAAAAKUlEQVQI12NwAQIHBicBBiEHBkcmIUYHBgcFAwUgKRwsAGNDxCFqwOoB1gEH67W94+0AAAAASUVORK5CYII=)}\n#webamp #equalizer-window.shade.selected #eq-buttons.clicked #equalizer-close {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAALVBMVEUoJz4oKD8pKUAqKUEqKUIqKkMrK0Q6MSljXjtsXUORbkq0h2O0kWPCsWH///8vo79mAAAAO0lEQVQI12NIdTFWUmDIbC/vFGCI2Nl5QoAhfM6a6UCy61U7A4P7nLVAdsTJzhsMDJ5ANQwMLkaKCgwA6D4RaTQt0CAAAAAASUVORK5CYII=)}\n#webamp #equalizer-window.shade.selected #eq-buttons.clicked #equalizer-close.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAElBMVEU6MSljXjtsXUORbkq0kWP////9IyyfAAAAKUlEQVQI12NwAQIHBicBBiEHBkcmIUYHBgcFAwUgKRwsAGNDxCFqwOoB1gEH67W94+0AAAAASUVORK5CYII=)}\n#webamp #position {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPgAAAAKCAMAAACuVWMrAAAByFBMVEUPDxgPEBkQDxgQEBkRERoREhsSERsSEhsTEx0TEx4TFB4UEx8UFB8VFSEVFSIVFiEVFiIWFSEWFiIXFyMXFyQXGCUYFyUYGCUZGSYZGSgZGicZGigaGSYaGSgaGicaGikbGyobGywbHCsbHCwcGyscGywcHCsdHSwdHS4dHi0dHi4eHS0eHS4eHi0eHi8fHzAfHzEfHzIfIDEfIDIgHzEgHzIgIDEgIDMhITQhIjUiITUiIjUiIzYjIzcjJDgkIzckIzgkJDckJTklJTolJTwlJjslJjwmJTsmJTwmJjwnJz0nJz4nKD4oJz4oKD8pKUApKUIpKkEpKkIqKUEqKUIqKkErK0IrK0QrK0YrLEUrLEYsK0UsK0YsLEUtLUctLUgtLkctLkguLUcuLUguLkcuLkkvL0ovMEswL0swL0wwMEswMEwxMUwxMU1hYm1iYW1jY29jY3BjZHFkY3FlZHFlZXNmZXRmZnNnZnVnZ3ZoZ3VoaHVoaHdpaXhpaXppanlpanpqanlqanpra3xrbHxsbH1sbH9tbYBuboBvboFvb4NvcINwcINwcYVxcYZxcoZycYdycodzc4hzc4pzdIp0c4p0dIt1dYwExkcuAAACuklEQVQYGQXBAWEANxADMPmSFsOAjT+QNX+eFEYgZicIBCMQMBlphNGBIJgZQLjId3bmPtcHfncAkIZoAAAAAECBAuy7Hsfb2dnuwEPB7qKawjer1OYBhR0jAFMAFQIAQRJsAjSBnQUJF74aHp+DuQAgDVEAAAAA0EIVAPvgy7BSeLTgWUChFhr5QAsS/jFumXD3NrlkiGDOkNnJbGJigksiOHuIuyYmFdzxMmaH3/9+GHvAqKPTkMKgAQCbziLV77xZCiv/AZY+qB2bv/Oofmn5+1mPWnm0fPieUjVG5pZJMZJ9aqXB75nFTm3qxgAsxZ5SxrBNcN/uGQz256vdKdg5+aRBMSAAAFlorc0OCQtg11sXYnbtobUU7nJJ1FA+1D3QmNQZjHKXmptFA3+LmAzGK3D1OyAjxDo1swV0Abc95UQZY4toTBKjAAqgE1qdo5YW/HFh/OSBMuBiBLx97+GTtxrf0NVHpSbxHki4w65eI8GECWoGluBxP0gg7iQwgTdmAF9nx6iwmeecpNK0aVdQEKWKLch+MxB4zvVgAbCr3vewCp+5QKpU6FKASaQM7oWZ3y9vBPTMgtCMeyjoOzBN4fGZ3YDfmWVA7zcmpTjvWpVSVkYRQAiTgXxfp4uqrJt92KUPAJun+FJwAkpHFAsvoLuD81MLrLqSSwOHCRM2jBnhXi7iGxH3rmEGWH8H4P4NKglchgoTkwUA0M3aqJ67pgt8w9+MNcjlgcV3oaelLA/7bSgahUfBrBkMnlHoR1LMM0Ew7HQFfDcgi3pzQYB1i+HKDxbg+8yXENasqQAASbNa5c1OhjRr/d3HWNiF2tHOg1ShO6hxPCld4S8IuOPfCIjpIJiaHdMDaXL2QJAQEAYEGCKAEQRpgLGGaBoBAABomkIrWkAVbIFSNkVhU4raFMWbLYV2WcX/K67c097eK2wAAAAASUVORK5CYII=)}\n#webamp #position::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAKBAMAAAC6bkgfAAAAJ1BMVEUJAgJlZXNlZnN1WyKDaTCNdTqcgkqvmGHFsn7by57u4rv06sf19fW6wGFFAAAARElEQVQI12PQnIkMAhgkXZDAUQYGSY/dcLCnFMj3PgMHp8F8YziwBvPL4aAaxPdB6N8G4p9CyJebAvmhyICBQYABBQAALnc7YhsUgeUAAAAASUVORK5CYII=)}\n#webamp #position::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAKBAMAAAC6bkgfAAAAJ1BMVEUJAgJlZXNlZnN1WyKDaTCNdTqcgkqvmGHFsn7by57u4rv06sf19fW6wGFFAAAARElEQVQI12PQnIkMAhgkXZDAUQYGSY/dcLCnFMj3PgMHp8F8YziwBvPL4aAaxPdB6N8G4p9CyJebAvmhyICBQYABBQAALnc7YhsUgeUAAAAASUVORK5CYII=)}\n#webamp #position:active::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAKBAMAAAC6bkgfAAAAJ1BMVEUgDABhRhBmSxNsUBdwVRt4XSGBZyqPdTmhhkuwmF6+qG/DrnXYxZOv4MtwAAAAR0lEQVQI12PwnIkMAhg8XZDAUQYGT4/dcLCnlIHB0vsMHJwG85XgQBvML4eDaiBf0wehfxuIfwohX67KwCAZigwYGAQYUAAAXWI7mESGeYIAAAAASUVORK5CYII=)}\n#webamp #position:active::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAKBAMAAAC6bkgfAAAAJ1BMVEUgDABhRhBmSxNsUBdwVRt4XSGBZyqPdTmhhkuwmF6+qG/DrnXYxZOv4MtwAAAAR0lEQVQI12PwnIkMAhg8XZDAUQYGT4/dcLCnlIHB0vsMHJwG85XgQBvML4eDaiBf0wehfxuIfwohX67KwCAZigwYGAQYUAAAXWI7mESGeYIAAAAASUVORK5CYII=)}\n#webamp #shuffle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAPCAMAAABDVWaoAAAAilBMVEUQWgAqKUIqKkEqKkMrK0QsK0MsK0QsLEUsLEYtLUcuLUcuLUguLkkvL0ovN00wL0swL0wwMEsxMU0xMU4yMU4yMk8zM1A0M1E0M1I0NFE0NFM1NVQ1NlQ2NVM2NlU2NlY3N1c3N1g3OFc4N1g4OFk5OVpKWmtSY3N7hJSElKWttca9ztbV3vLv///LbncEAAAAqklEQVQoz5WSsQ7CMBBD37WpGPgDpJtY+/8fAxLLfUbVM0OiNgKG4CGKL45jRbYbiSUIkBAiMZJEqI2EMjGYynVhHHoWmIfle1IEOeqeogCwAQwFq3oesIoADyfaAt4mBHivb/Av5h8nRQCslQVOHPrK/Nif/ouaSdDd+OlvXYDD2qOP1r9j98s8/p/5KlarMIoCu/SPXvmf/yb2SQJkotZD087Z2VrcBIM3KB9V4lGQbMMAAAAASUVORK5CYII=)}\n#webamp #shuffle.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAPBAMAAACGpYupAAAAGFBMVEUAAAAICBAQWgBSa3Nje4R7jJyPn6itvca8iDuFAAAAY0lEQVQY02MQxA4EGHBLuIZighBDoER4ORYQCJLAoiMUIiEoKIpdQkgpNYAhIJSVNQBIARkBDEgSoRCJUAiESoilgXQwYOoAgQBsOkDiIDsCWMHCDCg6sLoKh4Q7LglD7IEIAKjwVurEkbm9AAAAAElFTkSuQmCC)}\n#webamp #shuffle.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAPCAMAAABDVWaoAAAAilBMVEUA1gAqKUIqKkEqKkMrK0QsK0MsK0QsLEUsLEYtLUcuLUcuLUguLkkvL0ovN00wL0swL0wwMEsxMU0xMU4yMU4yMk8zM1A0M1E0M1I0NFE0NFM1NVQ1NlQ2NVM2NlU2NlY3N1c3N1g3OFc4N1g4OFk5OVpKWmtSY3N7hJSElKWttca9ztbV3vLv//8gEwg9AAAAqklEQVQoz5WSsQ7CMBBD37WpGPgDpJtY+/8fAxLLfUbVM0OiNgKG4CGKL45jRbYbiSUIkBAiMZJEqI2EMjGYynVhHHoWmIfle1IEOeqeogCwAQwFq3oesIoADyfaAt4mBHivb/Av5h8nRQCslQVOHPrK/Nif/ouaSdDd+OlvXYDD2qOP1r9j98s8/p/5KlarMIoCu/SPXvmf/yb2SQJkotZD087Z2VrcBIM3KB9V4lGQbMMAAAAASUVORK5CYII=)}\n#webamp #shuffle.selected.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAPBAMAAACGpYupAAAAGFBMVEUAAAAA1gAICBBSa3Nje4R7jJyPn6itvcZs8alFAAAAY0lEQVQY02NQwg4UGHBLuIZighAjoER4ORYQBJLAoiMUIqGkpIpdQlEwNYAhIJSVNQBIARkBDEgSoRCJUAiESqilgXQwYOoAgQBsOkDiIDsCWMHCDCg6sLoKh4Q7Lgkj7IEIAGMfXXXsp3orAAAAAElFTkSuQmCC)}\n#webamp #repeat {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAPCAMAAADAkV+TAAAAeFBMVEUQWgAoKD8pKUApKkEqKUEqKkEqKkMrK0QsK0MsK0QsLEUsLEYtLUcuLUcuLUguLkkvL0ovN00wL0swL0wwMEsxMU01NlQ2NVM2NVQ2NlU2NlY3N1c3N1g3OFg4N1g4OFlKWmtSY3N7hJSElKWttca9ztbV3vLv//8ki4GoAAAAgUlEQVQYGQXBMQ7CUAwFMP+SzkgoO1vvfyQOgJBYWKB52OsOQpIVSJaZTdTnCgAAIDUuAACAcwoDAAAyKfCFHQBAAQ+OyO8NGlAAkL3Bs4Fa4AAvGgAqsAfQAKAWAPQTNKACgNYAoBYBAAAozgQAAFAyAQAAWLeRNSQRmS3j3GTCH4ZgNtlEi15VAAAAAElFTkSuQmCC)}\n#webamp #repeat.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAPBAMAAAAFYbKSAAAAFVBMVEUICBAQWgBSa3Nje4R7jJyPn6itvcb4vicLAAAASElEQVQI12NgwA9MXODAWYGBwS0NARyAXISsC5jLwMCCzGUUDAHpYkFwnUBSUC5raIgDA4ILkmFB5Tog9KJZhMI1Q+UqIHsAAPs1JqMDCtK2AAAAAElFTkSuQmCC)}\n#webamp #repeat.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAPCAMAAADAkV+TAAAAeFBMVEUA1gAoKD8pKUApKkEqKUEqKkEqKkMrK0QsK0MsK0QsLEUsLEYtLUcuLUcuLUguLkkvL0ovN00wL0swL0wwMEsxMU01NlQ2NVM2NVQ2NlU2NlY3N1c3N1g3OFg4N1g4OFlKWmtSY3N7hJSElKWttca9ztbV3vLv///lInoXAAAAgUlEQVQYGQXBMQ7CUAwFMP+SzkgoO1vvfyQOgJBYWKB52OsOQpIVSJaZTdTnCgAAIDUuAACAcwoDAAAyKfCFHQBAAQ+OyO8NGlAAkL3Bs4Fa4AAvGgAqsAfQAKAWAPQTNKACgNYAoBYBAAAozgQAAFAyAQAAWLeRNSQRmS3j3GTCH4ZgNtlEi15VAAAAAElFTkSuQmCC)}\n#webamp #repeat.selected.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAPBAMAAAAFYbKSAAAAFVBMVEUA1gAICBBSa3Nje4R7jJyPn6itvcYox7XLAAAATElEQVQI12MQRAEM6FwTFzhwVmQQdEtDAEcgFyHrAuYKCoogcwUYQpwVwWIwrhNICsoVDQ1xFERwQTIiqFxHhF40i1C4ZqhcRWQvAAA51isA/VWazgAAAABJRU5ErkJggg==)}\n#webamp #equalizer-button {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMCAMAAAC+5dbKAAAAUVBMVEUQWgAqKUIqKkMrK0QrLEQsK0MsK0QsK0YsLEUsLEYtLUcuLUcuLUguLkkvL0ovN00wL0wwMEsxMU1KWmtSY3N7hJSElKWttca9ztbV3vLv//9O4LHRAAAAaUlEQVQYGQXBwQ2DUAwFMEODRCao2H++HnrKofBf7e0NAAD5lhcAAM+6iwUAkJVXwQ8Ho42GVeDjimmmTSM7AGYAKHCBhmmww5GEntHTAykCcIozZ6A8CQAAqawAAEDda/NgbZFErMfuD041NCuZPULmAAAAAElFTkSuQmCC)}\n#webamp #equalizer-button.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAIVBMVEUA1gArK0QvN01KWmtSY3N7hJSElKWttca9ztbV3vLv//9R/wqlAAAAT0lEQVQI12Moh4MyAYaqVTBQAuR0QEF7MIhjbNzRpNGkAeEYcHZodGg0wTlKGjCO5UyQDFQZEAD1QGTg9gA55amhUADkpBjDgQCDIAIIAAAWsDNHmvvPEQAAAABJRU5ErkJggg==)}\n#webamp #equalizer-button.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAGFBMVEUAAAAICBAQWgBSa3Nje4R7jJyPn6itvca8iDuFAAAASElEQVQI12MQRAABBhSOgGsoFAQDOeHlUFAK4sBkQsEcQcHQANYAVghHSC2UNZQ1AM5hYIVxxNJAMlBlQADUA5ZxRzbNEOECAM5YHW8MP5O/AAAAAElFTkSuQmCC)}\n#webamp #equalizer-button.selected.winamp-button {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAGFBMVEUAAAAA1gAICBBSa3Nje4R7jJyPn6itvcZs8alFAAAAR0lEQVQI12NQUIIDBQZUjmsoFAQDOeHlUFAK4sBkQsEcJaXQANYAVghHUSyUNZQ1AM5hYIVx1NJAMlBlQADUA5ZxRzYNyQUAEUAg+7nvOG8AAAAASUVORK5CYII=)}\n#webamp #playlist-button {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMCAMAAAC+5dbKAAAAUVBMVEUQWgAjIzgkIzckIzgkJDklJTolJjsmJTwmJjsnJz0nKD4oJz0oJz4oKD8pKUAqKUEqKUIqKkEvN01KWmtSY3N7hJSElKWttca9ztbV3vLv//+EzjHeAAAAXklEQVQYGQXBgRHCMAwEMLk4WYFj//nKAOHqR6o3AADk214AADyjGQCATKrhh+WwzwZygfve2ADUBYADwDT4gA2AhhUAxwZNACssAtqTAACgMwEAwPRRI5GpmTIhUX81UygSftVjhQAAAABJRU5ErkJggg==)}\n#webamp #playlist-button.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAIVBMVEUA1gArK0QvN01KWmtSY3N7hJSElKWttca9ztbV3vLv//9R/wqlAAAASklEQVQI12Moh4MyAYaqVTBQAuR0QEF7MIhjbNyhpKEB5RhwdmggcxAyljM7NDpgHCDQAMqBOXB7gJzy1FAoAHJSjOFAgEEQAQQAwMcyRToQk0kAAAAASUVORK5CYII=)}\n#webamp #playlist-button.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAGFBMVEUAAAAICBAQWgBSa3Nje4R7jJyPn6itvca8iDuFAAAARElEQVQI12MQRAABBhQOo2soFDgDOeHlUFAK4sBkQsEcQcFQBlZWKEdILZQVmYOQEUsLZQ2FcYCAFSgH4rgjm2aIcAEAbLsb8tZoQy8AAAAASUVORK5CYII=)}\n#webamp #playlist-button.selected.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAMBAMAAAB7FTvLAAAAGFBMVEUAAAAA1gAICBBSa3Nje4R7jJyPn6itvcZs8alFAAAARElEQVQI12NgUoIDBQZUjmsoFDgDOeHlUFAK4sBkQsEcJaVQBlZWKEdRLJQVmYOQUUsLZQ2FcYCAFSgH4rgjm2aEcAEAZCcevKaFFFgAAAAASUVORK5CYII=)}\n#webamp #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .selected #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .llama #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .llama.selected #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .selected #title-bar #option.clicked {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAHlBMVEUUFB8VFSAVFSIVFiEWFSAWFiEWFiI0MCyah13sznoaG8L5AAAAPElEQVQI12NgYBAUCmBgmCCoaMDAWSmoZMAwvVIwNIBhRueMjgkMAoLTKwMYGAWnz0xgEBT0DAWxXdMSACxMDDJsyBoOAAAAAElFTkSuQmCC)}\n#webamp .selected #title-bar #option:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEUhKDU0MCyah12jlGrsznoe/O3VAAAAMklEQVQI12MwBgIDBgMHBgYDBhMRASDpKCIIJJ1UnJQcGAwEHUWAsoyOLkCSgQWIweoBtzQG0TH1VqcAAAAASUVORK5CYII=)}\n#webamp .selected #title-bar #option.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEUhKDU0MCyah12jlGrsznoe/O3VAAAAMklEQVQI12MwBgIDBgMHBgYDBhMRASDpKCIIJJ1UnJQcGAwEHUWAsoyOLkCSgQWIweoBtzQG0TH1VqcAAAAASUVORK5CYII=)}\n#webamp .selected #title-bar #minimize.clicked {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAMAAADXT/YiAAAASFBMVEUqKUIqKkMrK0QrLEQsK0QsLEUtLUctLUgtLkcuLUhFQTxSSj1aVzpoWTVrXUNzbFKId0mckXWqurG71tm/uX7AwcbE3+HO4c5KSa+JAAAAPElEQVQIHQXBwQHAMAjEMJvQfLv/lJ0ArpK3FsLQZxogW9uqXjqlkKQphYTmcGBI4wPU6OVd4FtvYEzyA+cLGDTjuSw1AAAAAElFTkSuQmCC)}\n#webamp .selected #title-bar #minimize.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAIVBMVEVFQTxSSj1aVzpoWTVrXUNzbFKId0mRbkqckXWjlGq/uX4Hs2WWAAAAOUlEQVQI12OYCQQTGKYzMLBPYJggKCgwgWGSiYvRBIYpYWkhExhmdK3qAJKrVq0AqunoaJ/AAFYPAAQVFS+2qihdAAAAAElFTkSuQmCC)}\n#webamp .selected #title-bar #shade.clicked {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAMFBMVEUtLUgtLkguLUcuLUguLkcuLkkvL0ovMEswL0swMEswMExFQTxSSj1rXUOqurHO4c6W/ePHAAAAQUlEQVQIHQE2AMn/AKqHZlVQAJnu7uUQAK7///4wAK3d3d0wAKzd3dwwAJzN3cwwAJvMzMNAAIi7u7MgAIZlVTAwDDgbUKzozR4AAAAASUVORK5CYII=)}\n#webamp .selected #title-bar #shade.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEVFQTxSSj1rXUOjlGq/uX5Idn/CAAAAM0lEQVQIHQXBwRGAIAwAsLT07Z2zsP8qbuDBAliTmDjl1m8Gob6HK5uWti27V6uxDDFxfn1PDx8P0VYSAAAAAElFTkSuQmCC)}\n#webamp .selected #title-bar #close.clicked {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAALVBMVEUoJz4oKD8pKUAqKUEqKUIqKkMrK0Q0MCxoWTVrXUORbkqjlGq0h2PCsWH///9ex0i3AAAAO0lEQVQI12NIdTFWUmDIbC/vFGCIONm5Q4AhfPbq6UCy61U7A4P77LVAdsTOzhsMDJ5ANQwMLkaKCgwA5wURVkMAFf0AAAAASUVORK5CYII=)}\n#webamp .selected #title-bar #close.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAElBMVEU0MCxoWTVrXUORbkqjlGr///+HjTObAAAAKUlEQVQI12NwAQIHBicBBiEHBkcmIUYHBgcFAwUgKRwsAGNDxCFqwOoB1gEH67W94+0AAAAASUVORK5CYII=)}\n#webamp #clutter-bar {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAArBAMAAAC3GdQgAAAAElBMVEUAAAAAAAgQECEYGCkzPElgYGraVCJcAAAAVElEQVQI132NsQ2AQAwDr8gCv0FGMNLTu8gKv/8qFCAgQqI7WWebbYyBACQJEUbyRDgaTf95Va3xeGWkKUTQqPz12m9eyyYB8s7eVEUSJs8VIPe1DmVJGRTmaMgdAAAAAElFTkSuQmCC)}\n#webamp #clutter-bar.disabled {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAArBAMAAAC3GdQgAAAAD1BMVEUAAAAAAAgQECEYGClgYGoHCnLLAAAAIklEQVQI12MwFBQUZDBgAAIDIBhULAVUlgJhFlivgomLCwA8qROh1kJ8awAAAABJRU5ErkJggg==)}\n#webamp #button-o:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAGUlEQVQI12Nw0GBwaWNwaIKRGQwODAwuLgA+SAT1jbNsAAAAAABJRU5ErkJggg==)}\n#webamp #button-0.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAGUlEQVQI12Nw0GBwaWNwaIKRGQwODAwuLgA+SAT1jbNsAAAAAABJRU5ErkJggg==)}\n#webamp #button-a:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAGElEQVQI12Nw0GBwaWNwaGJwWQUmgWwGADIVBK9/og4OAAAAAElFTkSuQmCC)}\n#webamp #button-a.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAGElEQVQI12Nw0GBwaWNwaGJwWQUmgWwGADIVBK9/og4OAAAAAElFTkSuQmCC)}\n#webamp #button-i:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAF0lEQVQI12NwcWFwWMHgksLgoAAjVwAALckEbUwsrjEAAAAASUVORK5CYII=)}\n#webamp #button-i.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAACVBMVEUAAAAYGClwgY/qIgoqAAAAF0lEQVQI12NwcWFwWMHgksLgoAAjVwAALckEbUwsrjEAAAAASUVORK5CYII=)}\n#webamp #button-d:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAADFBMVEUAAAAQECEYGClwgY/lGZUOAAAAHElEQVQI12NoYGDo6GBo+MPQcZqh4TCIdACSfwBnkgl9KMHv2wAAAABJRU5ErkJggg==)}\n#webamp #button-d.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAADFBMVEUAAAAQECEYGClwgY/lGZUOAAAAHElEQVQI12NoYGDo6GBo+MPQcZqh4TCIdACSfwBnkgl9KMHv2wAAAABJRU5ErkJggg==)}\n#webamp #button-v:active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAADFBMVEUAAAAQECEYGClwgY/lGZUOAAAAF0lEQVQI12NwYGDwOM3gcBhG/mdwsAEAPG8GMJvxEOEAAAAASUVORK5CYII=)}\n#webamp #button-v.selected {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHAgMAAABIN+TNAAAADFBMVEUAAAAQECEYGClwgY/lGZUOAAAAF0lEQVQI12NwYGDwOM3gcBhG/mdwsAEAPG8GMJvxEOEAAAAASUVORK5CYII=)}\n#webamp .shade #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .shade.selected #title-bar {background-image: url(data:image/png;base64,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)}\n#webamp .shade.selected #title-bar #shade {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAMAAADXT/YiAAAAM1BMVEUtLUgtLkguLUcuLUguLkcuLkkvL0ovMEswL0swMEswMExFQTxSSj1zk5qBl42qurHO4c7FV37rAAAAOklEQVQIHQXBwQ2EQAwEMCdEPK7/YhFiM2fXzybCxAXvN1VVbe9tpenSDDCh+GhZVmpyHDwZu2HP9QfI+BkLtDdVPQAAAABJRU5ErkJggg==)}\n#webamp .shade #title-bar #shade.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAD1BMVEVFQTxSSj2jlGq/uX7CsWH/Y2uiAAAALUlEQVQI12NQAgIFBiUGBiYFBgVhYwMFBkVhY0Mg6QwmXVwEgeIuLgIwNWD1AJzCBeFqt4OOAAAAAElFTkSuQmCC)}\n#webamp .shade #position {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAHAgMAAACTjE7vAAAADFBMVEUAABAwMEsxMUJaa3u9OGBkAAAAIklEQVQI12NgAIIDDFqrVq06wCAaBiZDQ8PAZCiM/A8EBwAZeBBhq+F40QAAAABJRU5ErkJggg==)}\n#webamp .shade #position::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp .shade #position::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAQMAAAD3d2XqAAAABlBMVEWjlGrsznoPowceAAAADklEQVQI12NwYHgAhw4AIi4E4a+iLsYAAAAASUVORK5CYII=)}\n#webamp .shade #position.left::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU9P0xoWTWjlGrsznp9Nqf9AAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp .shade #position.left::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU9P0xoWTWjlGrsznp9Nqf9AAAAE0lEQVQI12PYwPCF4QcYfmHYAAArXgYxq2vCDQAAAABJRU5ErkJggg==)}\n#webamp .shade #position.right::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU9P0xoWTWjlGrsznp9Nqf9AAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp .shade #position.right::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAHAgMAAACw1x86AAAADFBMVEU9P0xoWTWjlGrsznp9Nqf9AAAAEklEQVQI12OwYKhh2AOGNQwWABlSA52dOQTnAAAAAElFTkSuQmCC)}\n#webamp #volume {background-image: url(data:image/png;base64,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)}\n#webamp #volume input::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYvL0RKWmt7hJStvMTa5+opTTwbAAAAMUlEQVQI12NQFAQBIQaxNBBIZGALBYIQAyAtKiqKlwapM2RgcwEBQwZhYxAwZICaBwCdgQ6Jd297uQAAAABJRU5ErkJggg==)}\n#webamp #volume input::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYvL0RKWmt7hJStvMTa5+opTTwbAAAAMUlEQVQI12NQFAQBIQaxNBBIZGALBYIQAyAtKiqKlwapM2RgcwEBQwZhYxAwZICaBwCdgQ6Jd297uQAAAABJRU5ErkJggg==)}\n#webamp #volume input:active::-webkit-slider-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYZICovL0RKWmva5+r///+U4Y9MAAAAMUlEQVQI12MwFAQBYQbRUBAQZGBlAAIWBiQ6ISEBKw2SV4TTIi4gIMhgJKQopCgoDAB2aAh/NddRQgAAAABJRU5ErkJggg==)}\n#webamp #volume input:active::-moz-range-thumb {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAALBAMAAAC9q6FRAAAAFVBMVEUAAAALDxYZICovL0RKWmva5+r///+U4Y9MAAAAMUlEQVQI12MwFAQBYQbRUBAQZGBlAAIWBiQ6ISEBKw2SV4TTIi4gIMhgJKQopCgoDAB2aAh/NddRQgAAAABJRU5ErkJggg==)}\n#webamp .gen-window .gen-top {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUAgMAAAAFGX4uAAAACVBMVEUeHi8rK0Rra3zjkZV/AAAAG0lEQVQI12NggIJVYNDAEAoGDlSj0QGx9kABAFXxKF3wQT+3AAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-top-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAB4ElEQVRIS61Vu04DMRDc3WuQqEBIVKlAQkKioEZU1PkVpHzhXZX8RUCiTpUjojs04/XrcjyUxFF09p3t8c7OjnU2exikaiqqmt6wryY6iLCrxg5+aGp4Wh77WszjDMwFyHw+r2GwEb9jmm+GycXmEYhgFjaM8/fWRZCuXYaj8kweTbExI4gbqYpxnIFThFxj+UBlJG27DFQ4DE9anb4Y+yYJhNSoqMWD/ATSrSIxKZJtv67TdeAo5SREoqJD4Ljv1/LydCO3s7MDt87LEsg4J/3nmywWr0cDkP6U+G4l0LKnXQByeXF+YhCoC1lxmQIEdJ2iTdAlzEu/e5f7u2t5frw6GqcG8QrFA3Ww+/o4GqDOCeny5iqD7vkP9ZzrZqJOyDTs5bdipLpEZNtv9guSi8MBcuXnwvMP2SmSE4y8awwyrnzaSGmMlc2MDTLazR8gMM1sM7Rb5im4cuHCUZFuQdlQs9ftJT7SBZCOVuNUaSNmOGEjhnfsF5R5Tho1GSpjLax+TBdB2pWXTsPUmzXBYV0M6JvfN3R8CZTGdxRM6cLTIMH+UTe8nCJl1jh1iDJSmNVVglBt1X1SqCtE4rIeSdpIHaIK9FF4BmKjOAA88Nv/InHgcJXmeyJTN3X91ur6BrqJo0MRJOhhAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-top-left-end {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAABxklEQVRIS7WVvUoDQRDHZ/r4DIEThCiCtn4UCpa+gIiF76DmCWwv+D5WYm0nCFpZCSKWKZIdmY//Zu/CxSaXQPZuM7v/md2Z3/DO6FSEhESE9COSbCSbjUdKpC9qY7Nmu7wGa5MQsVn6Djy+qWMpRHwD1+nazIXwdVGTtfkU7+EZ8dHBpVnoD5tBcglsoqNGZ2Nsi7nCGbWx/+EYIhUhPj68Et/EpVTCDIsNTVznUyJhIUouZh7H8apzcIQ4HApRHg4rHH3cwHqHwaAivr87703k/XNKj88fxJPJpDcRPZO6fiDe39vtTSTxlH5/5sTXF2e9iWgkdlx93snTyze9vn0RV5tbvUUyn81osFGVdeJalu9R7VbBKVmN2JzWSVQ1UASUoBiBJq96rxdeF7u8lt3BJXZtj06CIisA2Y6uzbQcnQs5uhYI4vFtLZmuK6CIYyi5lsFYOBGYzAxTmwKQosjpZlcAEPfWuAtEUrQL3ImJAJDGOu0bIPAShb3XLHqP09lhGmgFqdVbPDdE0LDQrAoROwLNrPZcRn5k5X+o7+4nqXGMubdEerZT2BxpR+Ip7BlRpiHaL5pQo3aK7MpNOqLKTbHIrj9doofFD8vqAQAAAABJRU5ErkJggg==)}\n#webamp .gen-window .gen-top-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAABYlBMVEULFRIMDAweHS4eHi8fHyIfHzAfHzIgHzEgHzIhIDIhITMhITQiITQiIjUiIyYjIjYkIzckIzgkJDklJDomJTkmJTsmJTwmJjsnJj0oJj0oJz4oKD8oKEApKEApKUApKkEqKUAqKUEqKkEqKkIrKUIrKkMrK0QsK0QsLEMsLEUsLEYtLUYuLUcuLUguLkcvJwgvLkkvL0ovMSUwL0kwL0owMEsxL0wxMC0xMEwxMU4yMU0yMU4zMk8zMlA0MlA0M1E1M1I1NFM2NFM2NVQ2Nhg3KxA3NlU3NlY4NVU4NlU4N1c5N1g5OFo6OFk6OVo7OVw7Ols7Olw8OVs8Olw8O11GQh9JRjlORDBQPx5dVztiWkVqanprXUFra3xsa3xsbH5tbX9tboBubX9vboFvb4JwTyxwb4Nxb4RxcIVxcYZycYZzcodzcoh0c4l0c4p1dIt1dIx2dY13dY6Gd02QkJCZc0LWhhB9AAABJUlEQVQYGT3BvWqUYRRG0X2++bRSGxsVhBls0oidP3W8gYCFXoW3JV6DVgmxslBbIQELJRAQA0Kc9zzbmcBkrVrZrTEaYuylEXs+EK/EEKNo4HA+SVf0n2mTMTqJcc00TTeBoGwUBZMINXPteTL2fn2E/XvHg/ktOz/fP4Ve7ZerU2Cqaw/YePdndXd1+qEWzIfsrKGbXNy+OCPN/IhrX1nI7+XFw3OqnO+z8wOa17dOz86XL79L3WHn7zMz9r59gSePP62pgxrG0bG1L23TraRWI24kRGNilv3iqJiaAgQRtEAomF+JIYRotPGIrfkki3UcncTkcqQHsjEtGEBRVeRymIBsTBYb3lCaqTqJbE0lG5WqVHrEyJX586A12omj45tj2foP9wDyBsXxPvcAAAAASUVORK5CYII=)}\n#webamp .gen-window .gen-top-right-end {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAByUlEQVRIS7VVPUsDQRCdWRvBShGszoAKYg4C1mJj8m8Cgr2/1cLfENBu5b352D1NY7GXhLvszc57MzvzRqdpU1VV8MOlolJFpeCvFuEq3uMDGyxU3Ls1mrit22MvfWDffv9e7dGccfGXg3CYd5o6KS1GrtsbPoK0zuttNXtjh3thZG0zWaYTY8z3ngGVIlosMiMS0cNGhCBprCq1ihTEWVW0mPNMlRNAKrC5SAAZoRLA/uzsRed5Vw+HDxqNunS1uqnbp1u5m05HYQhB3t5ehwHweABycX42HgTpGnkxkvX9lTw/Xg7DYXV9fX8OA+CZzA8vVbwfotYhK9Zw3iuhAtmgaEhvvGhIykqoABq6UJ74vZ422YwhAyYLTbOsgTv5iOdOz9j1qVve/a5UekwgE2ThfAnSVMCpdXLS5MlOIQWyZ2tpa/q1EMbQOAV3k5c/kaYqe/r+L5AOvtAuW4voeKY8DmhfJ5BkXzwlfOksUBR5oFhvotkLa4BYVKHGATLvcp5AdS3DHYinrZ8XrQgccDEa4MMjCQVnCZ+oaEy7fkZ0g2kBQp1HfA3E5lArDpawF0OWcIaJ4/TDzPF7tMpatNYOffX5hPUW/wFZNjaZ4b4luAAAAABJRU5ErkJggg==)}\n#webamp .gen-window .gen-top-left-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU0nT8z0BjwFhe1kd7S2ysY4eJJfLySrT3SVu5L+0tmTBhAu0tMTTQpb0lSVGutLeELnGipKxGe5/QJTPSpeyiiyWjBSQpVRAjXVIXXSyhR+oCAGL8JbEqBdscAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-top-right-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU0nT8z0BjwFhe1kd7S2ysY4eJJfLySrT3SVu5L+0tmTBhAu0tMTTQpb0lSVGutLeELnGipKxGe5/QJTPSpeyiiyWjBSQpVRAjXVIXXSyhR+oCAGL8JbEqBdscAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-top {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUAgMAAAAFGX4uAAAACVBMVEUeHi8rK0Rra3zjkZV/AAAAG0lEQVQI12NggIJVYNDAEAoGDlSj0QGx9kABAFXxKF3wQT+3AAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-top-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAABHVBMVEUdHS0dHS4dHi4eHS4eHi8eHyUfHzAfHzIfIDIgHzEgHzIhIDIhITMiITQiIjUjIjYkIzckIzgkJDckJDklJDolJiwmJTsmJTwnJj0oJj0oJz4pKUApKkEqKUAqKUEqKkEqKkIrKUIrKkMrK0QsK0MsK0QsLEUsLEYtLUYuLUcuLUgvLkkvL0owL0owMEsxL0wxMEwyMU0yMU4zMk8zMlA0Mk80MlA0M1E0NFE1M1I1NFM2NFM2NVQ3NVY3NlY4NVU4NlU4N1c5N1g5OFk6OFlCQTtqanpra3xrbHxsa3xsbH1sbH5tbX9ubYBuboBvboFvb4Jwb4Nxb4RxcIVxcYZycYZzbFJzcodzcoh0c4l0c4p1dIujlGrsznr///9wBmqFAAAAvklEQVQYGQXBwQlVSQBFwTq33+DWnUuj0RQmXMNwMzAKgjkI/7dVQYdtrZwyq3xFTlqqtUoP39dOa9apc9pOjXe8cRky8NDN/gcA8HDVj38DAHiYew0AwMNeD78BADy8hk8AAB4W/nwAAHh4nXz+BgDgoejjqXaqp22nHs79lZ0yM2tVgze8BHcBD68zX0yt1Jbp4XrPf6fqbJ72zz1tsN7e6N47eo07eFvBcrnQIPdyXbjyuu7DdOlnZk5Z1V/Roy8hK3ODtwAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-top-left-end {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAByUlEQVRIS7WVPU4DQQyF7Z5cgaVJpAAnIFAk50AcgB4UwQEoKNJQp6GkpKCgp6ShoUFcgCJtkBgj/7zZ2Y0WmmwiZXcnXj97xv7MB+OZCAmJCOlHJNmVbDVuKZE+qI2tmu3mO3g3CRGbpXvg+cUiXoWIO3CdLmcuhK+Lmqytp3iOyIiPj07NQn/YDJJLwIleNTu7hlusFcGojf2PwJCpCPHJ5EzciUuphBkWDk1c11MiYSFKLmYRx/ZqcAiEOAIKUd6thtj6OIHtXgY7FfHX61VvIk8vK7q+fdZjyKe03RTCW7U3Ip5NJ71l8sMr+vz4Jr6/O+9NRJOx7erzTG6W7/Tw+EY8HB32lsl6vabBoCr7xLWs3qPbrYNTsh6xNe2T6GqgCChBMwJN3vXeL7wtdnkve4Ab7NofT4MifwCynV2baTk7F/KmqBHE88uFtQqI2QVFbEPJtQzGIojAZGaY2hSAFEVON7sCgDi3xlkgk2Jc4ExMBIA01uncAIE3KOyzpp49TmeHaaAVpNZocd8QwcDCsCpEbAu0stprGflRlf+hvnuepMY25tkS5dkuYQuknYmXsFdEWYYYvyiERu8U1ZWHdGRV47aurl8JSofPjXVkWwAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-top-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAABO1BMVEUeHyUfHzAfHzIgHzEgHzIhIDIhITMhITQiITQiIjUjIjYkIzckIzgkJDklJDolJiwmJTsmJTwmJjsnJj0oJj0oJz4oKD8oKEApKEApKUApKkEqKUAqKUEqKkEqKkIrKUIrKkMrK0QsK0QsLEUsLEYtLUYuLUcuLUguLkcvLkkvL0owL0owMEsxMEwyMU0yMU4zMk8zMlA0MlA0M1E1M1I1NFM2NFM2NVQ2Nhg3NlU3NlY4NVU4NlU4N1c5N1g5OFo6OFk6OVo7OVw7Ols7Olw8OVs8Olw8O10/QitCQTtdVztqanprXUFra3xsa3xsbH5tbX9tboBubYBvboFvb4Jwb4Nxb4RxcIVxcYZycYZzbFJzcodzcoh0c4l0c4p1dIt1dIx2dY13dY6Zc0KjlGqxnVm2nF7sznr///+ZhXPBAAABBUlEQVQYGQXBwYmUURBG0Vv1P90KvWtnQCcBxyBEEAMxKWMSWjQAB2V2DeKyX33Xc+reGY3RoHHeGHHWR1HVMWgUDXxbT5mK3swYkyQab3T3SyAoQFFQIhQAAPA+5iFXOPVls74AADBf30HuOn3+A6wCAGABXPucfr7WMesXAICAkry4hQzrDgAAoIru29FUuQ4AAP6BnM7P6df5LfUKAOAvj5qHXOHU32/Uh9rGnTiaMSapza77HdWEqCbm7Txetj0UIIigJRBkfRJDGKJq5EID6ynHLe4kMTpxAKEPNlBUFRiQAhZtAbgUqgqqJDV0CVCpEqHAojesn5vRyBh0/PyD5tj8B5vM5TGngJW4AAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-top-right-end {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAABzUlEQVRIS7VVu04DQQy0lx+gokuQEEjAiXwAJYSCgpIfoE1NgUTLT1KRjh4qKBbN+LF7kIZiL4nusuf1jL32WBeLVVVVwQ+XikoVlYK/WoSreI8PbLBQce/WaOK2bo+99IF9m81ztUdzxsVfDsJh3mnqpLQYuW5v+AjSOp1fV7M3drgXRtY2k2U6McZ87xlQKaLFIjMiET1sRAiSxqpSq0hBnFVFiznPVDkBpAKbiwSQESoB7M/OXnSa1vXjc0ujUZcuD0/qy+ON3F7uj8IQgmzfXocB8HgAcnx0MB4E6Rp5MZL7uwt5ejgdhsPq+vp+HwbAM5nOrqp4P0StQ1as4bxXQgWyQdGQ3njRkJSVUAE0dKE88btcrLIZQwZMFppmWQN38hHPnZ6x61O3vPtdqXSXQCbIzPkcpKmAU+vkpMmTnUIKZM/W0tb0ayaMoXEK7iYvfyJNVfb0/V8gHXymXbYW0fFMeRzQvk4gyb54SvjSWaAo8kCx3kSzF9YAsahCjQNkWuc8gepahjsQT1s/L1oROOBsNMCHRxIKzhLeU9GYdv2M6AbTDIQ6j/gaiM2hVhwsYS+GLOEME8fph5njd2eVtWitHfrq8wnrLf4D9zg6mAHJo5AAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-top-left-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU0nT8z0BjwFhe1kd7S2ysY4eJJXLyqrT3yZtzVbS35P///7S3xMnRmvaWLJ6SRXtL6BInqmo6tPcJXTIjXcouulgyWkCSUgUx0iV10cUSeqQuABQNKbDZQyxmAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-top-right-fill {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAAWklEQVRIS2PU0nT8z0BjwFhe1kd7S2ysY4eJJXLyqrT3yZtzVbS35P///7S3xMnRmvaWLJ6SRXtL6BInqmo6tPcJXTIjXcouulgyWkCSUgUx0iV10cUSeqQuABQNKbDZQyxmAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-bottom-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAOCAMAAAA16ON4AAABfVBMVEUdHS0dHS4dHi4eHS4eHi8fHzAfHzIgHzEgHzIhIDIhITMhITQiITQiIjUjIjYkIzckIzgkJDckJDklJDomJTsmJTwmJjsnJj0oJj0oJz4oKD8oKEApKEApKUApKkEqKUAqKUEqKkEqKkIrKUIrKkMrK0QrLEQsK0MsK0QsLEUsLEYtLUYtLUgtLkctLkguLUcuLUguLkcvLkkvL0ovMEowL0kwL0owMEsxL0wxMEwxMU4yMU0yMU4zMk8zMlA0MlA0M1E0NFE1M1I1NFM1NFQ2NFM2NFQ2NVQ3NlU3NlY4NVU4NlU4N1c5N1g5OFk5OFo6N1k6OFk6OVo7OVw7Ols7Olw8OVs8OVw8Olw8O109O149O2A9PF89PGA+O18+O2A+PF8+PGBqanpra3xsa3xsbH1sbH5tbX9ubX9ubYBuboBvboFvb4Jwb4Nxb4RxcIVxcYZycYZzcYhzcodzcoh0c4l0c4p1dIt1dIx2dY13dY53do54dY94do94d5Ap3ahhAAACBUlEQVQYGQXBAQEYNRAEwNlLig3E4KTCcFK81AZ8bpmJn7/89vOX3z+BgBAEgQyBNARCIEHS2YEICIEAIR0BUsEF8OcvxhhwKxiXKQNxZDCBMGJ0mL3OmhpJwxHBfacmzA4u333+gAGAMQk6PqlkL7tYrnOSWca2CaCb1g5vqESDReG8+koHcOdcHwYAI6SVPWcL+RgMvmA6kEQLdOrMDHYAOHaFxxl3Hxafz6Y9ywAQEZWKTEgVwQB9igVJqkbtpkA84Jl56tjNiaM78F1mtsMAaLSrxWjKTgIB4DQs1Wg13U5p0W3nALrS7TPd/x4MYHZzggGIBmlEvUrYizwLfWvBCAVNNB3zhMYDTo5xfpzPMQ4Bxk7+/f77GEDfiYyXYh3RrO+z3xgcqmWsgkjaRuweNSbn0VIv+rmM82jB4vtxzuUCf5OKQUBgEAiSgATSIBiCwGww0hAkHRyEA0BgAFSwAsDA7iaQAECRYUYCMDvMUBJoAp51AARw4c+/AASIRgTSmEYCIkAIIQ1iEAQEIg0CqVMBBBfrn67rHZEBmWCa+913YcLhwAghaSJx1umI2RwBZ08a15c5zyGBS3NoDGtekTFMmXNm26i6TsyMOk+2BkAlgjUZTM+8tiV7FJ9rzXlPAZv0CQGAMDUNBIaOkCbSEAIiMAEERo1UCCSB67vOOwBR8T8KSRhI0bzb7AAAAABJRU5ErkJggg==)}\n#webamp .gen-window .gen-bottom-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAAOCAMAAAA16ON4AAABfVBMVEUdHS0dHS4dHi4eHS4eHi8fHzAfHzIgHzEgHzIhIDIhITMhITQiITQiIjUjIjYkIzckIzgkJDklJDomJTkmJTsmJTwmJjsnJj0oJj0oJz4oKD8oKEApKEApKUApKkEqKUAqKUEqKkEqKkIrKUIrKkMrK0QrLEQsK0MsK0QsLEMsLEUsLEYtLUYuLUcuLUguLkcvLkkvL0ovMEowL0owMEsxL0wxMEwyMU0yMU4zMk8zMlA0Mk80MlA0M1E0NFE1M1I1NFM1NFQ2NFM2NFQ2NVQ3NlU3NlY4NVU4NlU4N1c5N1g5OFk5OFo6N1k6OFk6OVo7OVw7Ols7Olw8OVs8OVw8Olw8O109O149O2A9PF89PGA+O18+O2A+PF8+PGBAP1BAQFFAQFJfX3Fqanpra3xrbHxsa3xsbH1sbH5tbX9ubYBuboBvboFvb4Jwb4Nxb4RxcIVxcYZycYZzcYhzcodzcoh0c4l0c4p1dIt1dIx2dY13dY54dY94do94d5CUuEDKAAACKUlEQVQYGQXBwZFdRRAEwKyev3ZwwQ8gFisgdMIPzFlhhLhih2THvukiM3+jqRRolgIKpUAV2KZoU6WgaQGrKQoK3VQBvvH7Nz9e39nZ7ezsPJoFrni8PvOgNNUV91y7s21xqaaqWM2dy5qVLS12Ps3q1sL7v2Awd/u6Y56XmHB7N4960mOKVDO1uSwlSgsKjNQeZuhKStg9lkwM3i8wcPblwIOGfbzdFy6bfQFbaXtqZg+ROxEqBJ0ai91AUTvjhZox3u8HMKg8l31AlrfxibfXMHPQclzJubnWbTasVChFsFPQQXTgU6GM9/vxBRikk6zxAuHOcfAElAjS7dUTkxjOGBBgl1nAYjMLbxYhftt/vlxgIIfBA8rJTXa9WstC3UwS4s6dAl2ECjS7xI6Kxk6wDcT+0q9/7gcwwNnxvEAHV9t5PkPbCeFYHfSsG6gUGEV0UGMiomkhCeLXfvzZr1+A/ExTAFw8xwVdKIU1XdhZilIKFKWxpdGdsqBA2Ub565sfgzQAwHMu0AIKTAErSAMAKNJt0AoMAHsVLeD1B1QKaNEoqIJCUWiVpkpTTaEFbKooFLUACsDrO2zhARaXDg+3zNWUS+fiZnVn6ZaiTVk2FyzZplqWO4srzTaes2NgZ7AvUNyj1kOHc0mDmTjIIo2aCTQpRrOCDSvbbcApbaapcd2s13/QFMDlOXmgNtqURq1Ys3aWRosWUAW1qaZZDQuF7qkt+Gke/wNCVMxEPwTsWgAAAABJRU5ErkJggg==)}\n#webamp .gen-window .gen-bottom {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAOAgMAAACnVF/TAAAACVBMVEUrKkM+PGB4d5A1hmUAAAAAGElEQVQI12NYBQYNDKFg4EAyjQ5wmQcFAFaEHSfLt0cNAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-middle-left {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAdAgMAAAABTX4zAAAACVBMVEUdHS0qKUBqanoMSFahAAAAD0lEQVQI12NQ5QxhoDMGAFFyDru7vcmtAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-middle-left-bottom {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAYAgMAAABRgO+AAAAACVBMVEUdHS0qKUBqanoMSFahAAAAD0lEQVQI12NQ5QxhoCEGAEUWDDHkAu/CAAAAAElFTkSuQmCC)}\n#webamp .gen-window .gen-middle-right {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAdAgMAAADqesUwAAAACVBMVEUdHS0qKUBqanoMSFahAAAADklEQVQI12OYOoWBBggAuDohplXr188AAAAASUVORK5CYII=)}\n#webamp .gen-window .gen-middle-right-bottom {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAYAgMAAAC6t1SDAAAACVBMVEUdHS0qKUBqanoMSFahAAAADklEQVQI12OYOoWBGggA6uEb2fBejlkAAAAASUVORK5CYII=)}\n#webamp .gen-window .gen-close.winamp-active {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAAElBMVEU6MSljXjtsXUORbkq0kWP////9IyyfAAAAKUlEQVQI12NwAQIHBicBBiEHBkcmIUYHBgcFAwUgKRwsAGNDxCFqwOoB1gEH67W94+0AAAAASUVORK5CYII=)}\n#webamp .character-48 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12NIYJjAsIHhApBMAAAULANhy/alSwAAAABJRU5ErkJggg==)}\n#webamp .character-49 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAD0lEQVQI12NQYEhgUIBAAAbMAQE/4OmzAAAAAElFTkSuQmCC)}\n#webamp .character-50 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12N4wCAAhAkMDQwfAA78AtFOxm3MAAAAAElFTkSuQmCC)}\n#webamp .character-51 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWP4wKDAkMAgwDCBIQEAEHwCcej/ubUAAAAASUVORK5CYII=)}\n#webamp .character-52 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWNQYEhgWMDwgUGBQQEADlwCUbptSVYAAAAASUVORK5CYII=)}\n#webamp .character-53 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12P4wNDA8IBBAAgfAAAWXANRkouswAAAAABJRU5ErkJggg==)}\n#webamp .character-54 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NIYGhgeMAwAQgTABOsA0E/JWQ/AAAAAElFTkSuQmCC)}\n#webamp .character-55 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12P4wCDAoMDgAIIADgwB4bVklkQAAAAASUVORK5CYII=)}\n#webamp .character-56 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQI12NIYJjAAMJAEgAQvALRax9yugAAAABJRU5ErkJggg==)}\n#webamp .character-57 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NIYJgAhAUMAgwJAA/sAmFIDiRPAAAAAElFTkSuQmCC)}\n#webamp .character-97 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12NIYJjA8AGIgRAAFNwDkUdAkdwAAAAASUVORK5CYII=)}\n#webamp .character-98 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQI12N4wDCBAYSBJAAaPARRW/xs+gAAAABJRU5ErkJggg==)}\n#webamp .character-99 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NIYJjA0ACEExgSABFMAuEl/r42AAAAAElFTkSuQmCC)}\n#webamp .character-100 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIUlEQVQYV2NkeMTwnwEG5CAMRrAglMPwiIEBxKaKIJpFADZCEAGAIkAWAAAAAElFTkSuQmCC)}\n#webamp .character-101 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12P4wNDA8ACIGxg+AAAZ7ARBle8LfgAAAABJRU5ErkJggg==)}\n#webamp .character-102 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12P4wNDA8ACIgRAAGXwD0QArRQgAAAAASUVORK5CYII=)}\n#webamp .character-103 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12MoYGhg2MAwAQgTABMMAyEYrKesAAAAAElFTkSuQmCC)}\n#webamp .character-104 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIklEQVQYV2NkeMTwn0GOAQIeMTCA2Iy4BaEKwRR+lcSYCQBnQhEB2omL+AAAAABJRU5ErkJggg==)}\n#webamp .character-105 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADklEQVQI12MoYFCAwgIACEwBYXIvChIAAAAASUVORK5CYII=)}\n#webamp .character-106 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQI12MQYADBCUCYAAAGnAGx9K9L/wAAAABJRU5ErkJggg==)}\n#webamp .character-107 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12OYwLCA4QAQLmCYAAAXTAPhR2cHZQAAAABJRU5ErkJggg==)}\n#webamp .character-108 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAGUlEQVQYV2NkeMTwn0GOAQUw0kwQ2RqgpQBKiwwB5wSvgwAAAABJRU5ErkJggg==)}\n#webamp .character-109 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIUlEQVQYV2NkeMTwn0GOAQIeMTCA2IxgQWSAXxCrdmIEAQtSEAH0ktA/AAAAAElFTkSuQmCC)}\n#webamp .character-110 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12OYwMTAcIHpARAyAAATGAMpx84ilAAAAABJRU5ErkJggg==)}\n#webamp .character-111 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADklEQVQI12NIYJgAhQkAEgwDAakOOnUAAAAASUVORK5CYII=)}\n#webamp .character-112 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12N4wDCB4QFDAwgCABlcA9Fh/HqiAAAAAElFTkSuQmCC)}\n#webamp .character-113 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAE0lEQVQI12NIYJgAhBcYNjAUAAATvANxqBzBZwAAAABJRU5ErkJggg==)}\n#webamp .character-114 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12N4wKzA8IAJBD8AABkSBJqXbNZ9AAAAAElFTkSuQmCC)}\n#webamp .character-115 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12MoYGhgSGAQAMIHAA1cAlFD9hA9AAAAAElFTkSuQmCC)}\n#webamp .character-116 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADUlEQVQI12MoYFCAQQAH/AERspkQDgAAAABJRU5ErkJggg==)}\n#webamp .character-117 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADUlEQVQI12OYwACDCQAUHAMxvRgSGgAAAABJRU5ErkJggg==)}\n#webamp .character-118 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAD0lEQVQI12OYwACBCQwJABOMAwEw9lTJAAAAAElFTkSuQmCC)}\n#webamp .character-119 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQI12OYwACCH4BwAgAXTAQhMxLiQgAAAABJRU5ErkJggg==)}\n#webamp .character-120 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12OYwDCBIQEIgTQAEgwDAb4oAK0AAAAASUVORK5CYII=)}\n#webamp .character-121 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12OYwDCBIYFBAQQBDwwB4W/sEnMAAAAASUVORK5CYII=)}\n#webamp .character-122 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWP4wCDAoMDgwNDA8AEAD3wC0QyxJxkAAAAASUVORK5CYII=)}\n#webamp .character-34 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADUlEQVQIHWMIYGKAAQADkABTwIHJLQAAAABJRU5ErkJggg==)}\n#webamp .character-64 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12OQYFBgiABCBQYJAAbMASFkTTvgAAAAAElFTkSuQmCC)}\n#webamp .character-32 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAE0lEQVQYV2NkYGD4z4AGGOklCAChpQYBD5K5XgAAAABJRU5ErkJggg==)}\n#webamp .character-8230 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAC0lEQVQIHWNAgBUAALQAqf6ZnokAAAAASUVORK5CYII=)}\n#webamp .character-46 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAGUlEQVQYV2NkYGD4z4AGGGki+AhqkRzCNgCztQcBQ/F5qwAAAABJRU5ErkJggg==)}\n#webamp .character-58 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAG0lEQVQYV2NkYGD4z4AGGHELPoIqlYPQFKoEABHUCAEa7xBFAAAAAElFTkSuQmCC)}\n#webamp .character-40 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NgYBBgUABCAQYGAAJMAGFQC8mLAAAAAElFTkSuQmCC)}\n#webamp .character-41 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NgYGhgcADCBgYGAAkMAYFEejkbAAAAAElFTkSuQmCC)}\n#webamp .character-45 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAG0lEQVQYV2NkYGD4z4AGGEkQfISmXY6BgXjtANzFBwGYHC/oAAAAAElFTkSuQmCC)}\n#webamp .character-39 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAADUlEQVQIHWNQYGKAAQABgAAjjGgVVgAAAABJRU5ErkJggg==)}\n#webamp .character-33 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAH0lEQVQYV2NkYGD4z/CIgYFBjgEOGKkhiDAOzMJqJgAQawsBnvEUjAAAAABJRU5ErkJggg==)}\n#webamp .character-95 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAFklEQVQYV2NkYGD4z4AGGGki+AjTIgCyawbjsVUKxAAAAABJRU5ErkJggg==)}\n#webamp .character-43 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEUlEQVQI12NQYGJg+MEAIhkACPABPfEgkLEAAAAASUVORK5CYII=)}\n#webamp .character-92 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAD0lEQVQI12NgYGhgZoBAAATIAI13IxiAAAAAAElFTkSuQmCC)}\n#webamp .character-47 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWNgYOBgEGBQYHBgaAAAAqQA+cACQKYAAAAASUVORK5CYII=)}\n#webamp .character-91 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAHUlEQVQYV2NkYGD4z/CIAQLkIBQjXBAqQFVBJIsAMwMMAVy4DMAAAAAASUVORK5CYII=)}\n#webamp .character-93 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIElEQVQYV2NkYGD4zwACj8AkA4McAwMjXBAmQU1BJIsACwMMAZBptUcAAAAASUVORK5CYII=)}\n#webamp .character-94 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQIHWNQYAhg6GAAAwAH9AD5R+QUOwAAAABJRU5ErkJggg==)}\n#webamp .character-38 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NQYAhgUGCIAJIaAAfsAWHaIpwJAAAAAElFTkSuQmCC)}\n#webamp .character-37 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWNIYMhgEGBQYIhgkAAACgQBacCaDW0AAAAASUVORK5CYII=)}\n#webamp .character-44 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAHklEQVQYV2NkYGD4z4AGGKkl+IiBgUEOYjjCTCRBAMu1CAHlOP+DAAAAAElFTkSuQmCC)}\n#webamp .character-61 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAH0lEQVQYV2NkYGD4z4AGGMGCj5BE5RgYIIIUqkTTDgA65AgBoymWoAAAAABJRU5ErkJggg==)}\n#webamp .character-36 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NQYChgSGAwAJIKAApcAbE85GZ1AAAAAElFTkSuQmCC)}\n#webamp .character-35 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAD0lEQVQI12NIYPjAAMEMABUMAwFxUzDLAAAAAElFTkSuQmCC)}\n#webamp .character-197 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEklEQVQI12NIYJjAAMIfGCYAABIMA2Fjj6V0AAAAAElFTkSuQmCC)}\n#webamp .character-214 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAEElEQVQI12OYwJDAMAEMEwASbAMBKm1nAQAAAABJRU5ErkJggg==)}\n#webamp .character-196 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWOYwMDAkMAwgeEDwwQADwwDAcWvnbkAAAAASUVORK5CYII=)}\n#webamp .character-63 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWNIYJjAIMCQwMDAkAAAC+wBwX8tiscAAAAASUVORK5CYII=)}\n#webamp .character-42 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGAQMAAAAxNcYIAAAABlBMVEUAAAAA4gDJLyihAAAAFElEQVQIHWNgYFBgeMBQwODAwAAACjwBsYRIp8kAAAAASUVORK5CYII=)}\n#webamp .character-60 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAHUlEQVQYV2NkYGD4z/CIAQLkIBQjXBAqQFVBJIsAMwMMAVy4DMAAAAAASUVORK5CYII=)}\n#webamp .character-62 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIElEQVQYV2NkYGD4zwACj8AkA4McAwMjXBAmQU1BJIsACwMMAZBptUcAAAAASUVORK5CYII=)}\n#webamp .character-123 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAHUlEQVQYV2NkYGD4z/CIAQLkIBQjXBAqQFVBJIsAMwMMAVy4DMAAAAAASUVORK5CYII=)}\n#webamp .character-125 {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAGCAYAAAAL+1RLAAAAIElEQVQYV2NkYGD4zwACj8AkA4McAwMjXBAmQU1BJIsACwMMAZBptUcAAAAASUVORK5CYII=)}\n#webamp .gen-text-a {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAGFBMVEUpKUA3N01bW21iYnN4eIZ/f4yNjZmUlKDQ9WnQAAAAIUlEQVQIHWMAAcZyAQamdAUGVrMABnGVQgY11yKGIIZUACkrA92ildtqAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-a {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAGFBMVEUpKUBGRlmNjZmbm6bGxszU1Nnx8fL///8iRh7bAAAAIUlEQVQIHWMAAcZyAQamdAUGVrMABnGVQgY11yKGIIZUACkrA92ildtqAAAAAElFTkSuQmCC)}\n#webamp .gen-text-b {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAHlBMVEUpKUAxMUdGRlliYnNqanpwcIB4eIZ/f4yNjZmUlKBMQpI+AAAAIUlEQVQI12NgAAHOmVOARIKlAgNnWyuQVRQuAOXOnMoAAFkvBehWf7S3AAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-b {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAHlBMVEUpKUA3N01iYnObm6apqbO4uL/GxszU1Nnx8fL////s2d+PAAAAIUlEQVQI12NgAAHOmVOARIKlAgNnWyuQVRQuAOXOnMoAAFkvBehWf7S3AAAAAElFTkSuQmCC)}\n#webamp .gen-text-c {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJ1BMVEUpKUAxMUc3N00/P1NGRllUVGZbW21qanpwcIB4eIaGhpONjZmUlKBrx3tvAAAAJUlEQVQI12NgAAHWNZMZGHQSdzAw5DgwgAgFBgabgk6gxJ7JDABjoQaLYu6ObAAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-c {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJ1BMVEUpKUA3N01GRllUVGZiYnN/f4yNjZmpqbO4uL/Gxszi4ubx8fL///9AK9zxAAAAJUlEQVQI12NgAAHWNZMZGHQSdzAw5DgwgAgFBgabgk6gxJ7JDABjoQaLYu6ObAAAAABJRU5ErkJggg==)}\n#webamp .gen-text-d {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAElBMVEUpKUBUVGZbW214eIaNjZmUlKBPxwelAAAAG0lEQVQI12NgAALTEAUGU6ZABlOGYAgGsUMUACkqA3OelxceAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-d {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAElBMVEUpKUB/f4yNjZnGxszx8fL///90u0SbAAAAG0lEQVQI12NgAALTEAUGU6ZABlOGYAgGsUMUACkqA3OelxceAAAAAElFTkSuQmCC)}\n#webamp .gen-text-e {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUA3N00/P1NGRllUVGZbW214eIZ/f4yNjZmUlKBpF6uKAAAAH0lEQVQI12NgAALOmVMZOBOAdJsDA2exABAbAcWmAQA4DwTidXJmqwAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-e {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUBGRllUVGZiYnN/f4yNjZnGxszU1Nnx8fL///+DgC81AAAAH0lEQVQI12NgAALOmVMZOBOAdJsDA2exABAbAcWmAQA4DwTidXJmqwAAAABJRU5ErkJggg==)}\n#webamp .gen-text-f {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAElBMVEUpKUA3N01GRllbW21qanqUlKC2H8YaAAAAGklEQVQI12NgAALT0CAGUwUg7SwAwSC2AgMAKTIC7Ms0rr0AAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-f {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAElBMVEUpKUBGRlliYnONjZmpqbP///9D5gpdAAAAGklEQVQI12NgAALT0CAGUwUg7SwAwSC2AgMAKTIC7Ms0rr0AAAAASUVORK5CYII=)}\n#webamp .gen-text-g {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAIVBMVEUpKUA/P1NGRllUVGZbW21wcIB4eIZ/f4yGhpONjZmUlKCnwN9hAAAAJ0lEQVQIHWMAA8aqZgYGzoQoAQYtBwYGBi2XVQoMnAVeCgyMXa0KAE4GBYcb4B3nAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-g {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAIVBMVEUpKUBUVGZiYnN/f4yNjZm4uL/GxszU1Nni4ubx8fL///+LwSrlAAAAJ0lEQVQIHWMAA8aqZgYGzoQoAQYtBwYGBi2XVQoMnAVeCgyMXa0KAE4GBYcb4B3nAAAAAElFTkSuQmCC)}\n#webamp .gen-text-h {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJFBMVEUpKUBwcIBycoGCgo+hoauqqrO3t767u8O8vMPDw8nGxszKytD26YaTAAAAGElEQVQI12NgAAJphQoITl3BIO08A8YHADj6BOvV9DaxAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-h {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAFVBMVEUpKUCrq7TDw8no6Ovw8PH5+fr///9e3zXEAAAAFklEQVQI12NgAAIxgTQIDgFiozQYHwAqqAOv6ufnjgAAAABJRU5ErkJggg==)}\n#webamp .gen-text-i {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHBAMAAADdS/HjAAAAFVBMVEUhITkkJDxra3xwcIBycoF6eoiCgo8pCsaXAAAAFUlEQVQI12MQEGQQCoQi4UQGERACABeTAqlm5PZ5AAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-i {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAHBAMAAADdS/HjAAAAFVBMVEUkJDwxMULAwMfDw8ne3uHh4eXl5ehBk9l/AAAAFUlEQVQI12NgFGBgcgCjAAZmCEoAABAKAfHk6DTHAAAAAElFTkSuQmCC)}\n#webamp .gen-text-j {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAGFBMVEUpKUAxMUdGRllNTWBUVGZ4eIaNjZmUlKAAywzwAAAAE0lEQVQI12NgAIFSVCwCxOrJDAAh4QLodMJ9awAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-j {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAGFBMVEUpKUA3N01iYnNwcIB/f4zGxszx8fL///+/0FlwAAAAE0lEQVQI12NgAIFSVCwCxOrJDAAh4QLodMJ9awAAAABJRU5ErkJggg==)}\n#webamp .gen-text-k {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAHlBMVEUpKUAxMUc/P1NGRllNTWBUVGZbW22GhpONjZmUlKC0yuawAAAAIklEQVQI12NgAIFM00lAIiMBSHQGAImKAiDhNhVIGLYzAABxtgda2evVPQAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-k {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAHlBMVEUpKUA3N01UVGZiYnNwcIB/f4yNjZni4ubx8fL////1B4EGAAAAIklEQVQI12NgAIFM00lAIiMBSHQGAImKAiDhNhVIGLYzAABxtgda2evVPQAAAABJRU5ErkJggg==)}\n#webamp .gen-text-l {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAHBAMAAAAyiZrdAAAAElBMVEUpKUAxMUdGRll4eIZ/f4yUlKDDTNTnAAAAFUlEQVQI12NgAIJgNByiJMAQGqoAABtZAp1Ff+GZAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-l {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAHCAYAAADAp4fuAAAAMklEQVQYV2PU1HT4z4AGGP//////+PGzDMnJJXApaghevXqLoa9vFthMEBtsJrLlIAsBN0svzTt3mzcAAAAASUVORK5CYII=)}\n#webamp .gen-text-m {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHBAMAAADHdxFtAAAAIVBMVEUpKUAxMUdGRllUVGZbW21iYnNwcIB4eIZ/f4yGhpOUlKBZcblpAAAAI0lEQVQI12NgAAGtJZzLGbRWaAGJrjIg4bUYSGguBBKqCcsBjp0JorkYhMsAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-m {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHBAMAAADHdxFtAAAAIVBMVEUpKUA3N01iYnN/f4yNjZmbm6a4uL/GxszU1Nni4ub////cS6NmAAAAI0lEQVQI12NgAAGtJZzLGbRWaAGJrjIg4bUYSGguBBKqCcsBjp0JorkYhMsAAAAASUVORK5CYII=)}\n#webamp .gen-text-n {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUAxMUc3N01GRllNTWBiYnNwcIB4eIaNjZmUlKCfa5y8AAAAIElEQVQI12NgAIIK5clMjA4MTP+NgPgKAxPDeiB+wwAASdwGGeDXGZQAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-n {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUA3N01GRlliYnNwcICbm6a4uL/Gxszx8fL///8Fv7lnAAAAIElEQVQI12NgAIIK5clMjA4MTP+NgPgKAxPDeiB+wwAASdwGGeDXGZQAAAAASUVORK5CYII=)}\n#webamp .gen-text-o {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUA/P1NGRllUVGZbW214eIZ/f4yGhpONjZmUlKDmamWaAAAAHElEQVQI12NgAAKx6QYMrSwTGaYwTQFjEBsoBgBK6AZDMgIWOQAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-o {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAHlBMVEUpKUBUVGZiYnN/f4yNjZnGxszU1Nni4ubx8fL////xzWRAAAAAHElEQVQI12NgAAKx6QYMrSwTGaYwTQFjEBsoBgBK6AZDMgIWOQAAAABJRU5ErkJggg==)}\n#webamp .gen-text-p {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJ1BMVEUpKUAxMUc/P1NGRllNTWBbW21iYnNqanpwcIB4eIZ/f4yGhpOUlKBLTaK7AAAAIElEQVQI12NgAIKYM5sYYgxPMMSEHGeIWZnIEGPAAMIAZzYHJUki1qIAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-p {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJ1BMVEUpKUA3N01UVGZiYnNwcICNjZmbm6apqbO4uL/GxszU1Nni4ub////2OqNjAAAAIElEQVQI12NgAIKYM5sYYgxPMMSEHGeIWZnIEGPAAMIAZzYHJUki1qIAAAAASUVORK5CYII=)}\n#webamp .gen-text-q {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJFBMVEUpKUA3N00/P1NGRllUVGZbW214eIZ/f4yGhpONjZmSkp6UlKAHPYNOAAAAI0lEQVQI12NgAAGm6hYGBs6EaAEG6wDrAAjBmdBtAJTY1QAAWmwG3UPBF3oAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-q {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJ1BMVEUpKUBGRllUVGZiYnN/f4yNjZm4uMDGxszU1Nni4ubx8fL7+/v////Rx7x8AAAAI0lEQVQI12NgAAGmnikMDFwFMQIMNgE2ARCCq2COAVDidAIAYQkHOMhnyMoAAAAASUVORK5CYII=)}\n#webamp .gen-text-r {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJ1BMVEUpKUAxMUc3N01GRllUVGZbW21qanpwcIB4eIZ/f4yGhpONjZmUlKDditvQAAAAIklEQVQI12NgAAGbM1uARMAcILHiJJBIPwQkQo4AicCTDACHOAih1LnoFgAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-r {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJ1BMVEUpKUA3N01GRlliYnN/f4yNjZmpqbO4uL/GxszU1Nni4ubx8fL///9vCc2uAAAAIklEQVQI12NgAAGbM1uARMAcILHiJJBIPwQkQo4AicCTDACHOAih1LnoFgAAAABJRU5ErkJggg==)}\n#webamp .gen-text-s {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJFBMVEUpKUAxMUc/P1NGRllUVGZbW21qanpwcIB4eIaGhpONjZmUlKCHjnJIAAAAIklEQVQIHWMAAY1dAQzVygoM1TsDGMRmb2IIZdvE4LnLAQBTHAco/pVKOwAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-s {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJFBMVEUpKUA3N01UVGZiYnN/f4yNjZmpqbO4uL/Gxszi4ubx8fL///+qJyS0AAAAIklEQVQIHWMAAY1dAQzVygoM1TsDGMRmb2IIZdvE4LnLAQBTHAco/pVKOwAAAABJRU5ErkJggg==)}\n#webamp .gen-text-t {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAHCAYAAADAp4fuAAAALklEQVQYV2PU0XH+z4AGGCdMmIMpqKZq819FVZHBzc2eYfXqLQyvX71hYKSBIACnryn7i49aBgAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-t {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAHAgMAAAC9yW99AAAADFBMVEUpKUBUVGZycoH///9VDRy9AAAAE0lEQVQI12NgYGD4f4BBlwEZAQAkDAKhcYNEwQAAAABJRU5ErkJggg==)}\n#webamp .gen-text-u {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAFVBMVEUpKUAxMUdGRllUVGZbW21qanqUlKDA77WeAAAAFklEQVQI12NgAAI3hRRUHJLMIJoWAAA5UATxAlDxBQAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-u {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAFVBMVEUpKUA3N01iYnN/f4yNjZmpqbP///8SF7O4AAAAFklEQVQI12NgAAI3hRRUHJLMIJoWAAA5UATxAlDxBQAAAABJRU5ErkJggg==)}\n#webamp .gen-text-v {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAKlBMVEUpKUAxMUc/P1NGRllNTWBUVGZbW21iYnNqanpwcIB4eIaGhpONjZmUlKDthvA2AAAAIklEQVQIHWMAAd8EWQaeDTEMHJeWMzDfvMTAsHcDA0NtAgBSrAdcNQnv8gAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-v {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAKlBMVEUpKUA3N01UVGZiYnNwcIB/f4yNjZmbm6apqbO4uL/Gxszi4ubx8fL///81zHafAAAAIklEQVQIHWMAAd8EWQaeDTEMHJeWMzDfvMTAsHcDA0NtAgBSrAdcNQnv8gAAAABJRU5ErkJggg==)}\n#webamp .gen-text-w {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHBAMAAADHdxFtAAAALVBMVEUpKUAxMUc3N00/P1NGRllNTWBUVGZbW21iYnNqanpwcIB4eIZ/f4yNjZmUlKD3PA89AAAAKUlEQVQIHWMAg3nqT/wY8rKfdzPIzXt9nIHnXd9jBo7XcRcYWJ7zLQAAwo4M1uKKXVEAAAAASUVORK5CYII=)}\n#webamp .gen-window.selected .gen-text-w {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHBAMAAADHdxFtAAAALVBMVEUpKUA3N01GRllUVGZiYnNwcIB/f4yNjZmbm6apqbO4uL/GxszU1Nnx8fL///+8HCoLAAAAKUlEQVQIHWMAg3nqT/wY8rKfdzPIzXt9nIHnXd9jBo7XcRcYWJ7zLQAAwo4M1uKKXVEAAAAASUVORK5CYII=)}\n#webamp .gen-text-x {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJFBMVEUpKUAxMUc3N01GRllNTWBbW21iYnNwcIB4eIaGhpONjZmUlKDqWCJLAAAAJElEQVQI12NgAAHJiVECDMzbtwCZ2Q0gYhEDA/PWHUCJhOwAAGilBx+T4WwNAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-x {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHBAMAAAA2fErgAAAAJFBMVEUpKUA3N01GRlliYnNwcICNjZmbm6a4uL/Gxszi4ubx8fL///+x/boCAAAAJElEQVQI12NgAAHJiVECDMzbtwCZ2Q0gYhEDA/PWHUCJhOwAAGilBx+T4WwNAAAAAElFTkSuQmCC)}\n#webamp .gen-text-y {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJFBMVEUpKUAxMUc/P1NGRllNTWBUVGZbW21iYnN4eIaGhpONjZmUlKAsqFJVAAAAHklEQVQI12NgAIIdrJsYsrMKGDh3CTCwbGNgYIZgAE8aBbSrMTxDAAAAAElFTkSuQmCC)}\n#webamp .gen-window.selected .gen-text-y {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAHBAMAAADZviHeAAAAJFBMVEUpKUA3N01UVGZiYnNwcIB/f4yNjZmbm6bGxszi4ubx8fL///+UuWJCAAAAHklEQVQI12NgAIIdrJsYsrMKGDh3CTCwbGNgYIZgAE8aBbSrMTxDAAAAAElFTkSuQmCC)}\n#webamp .gen-text-z {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHBAMAAAAsQKpuAAAAIVBMVEUAAAApKUAxMUc/P1NGRllbW21qanp4eIZ/f4yGhpOUlKAeeVtyAAAAAXRSTlMAQObYZgAAACdJREFUCNdjEBQUYACCqlULQJRgVgCIElkBFtRcDKaiShxA1CqwEgClfwdsfnJFGQAAAABJRU5ErkJggg==)}\n#webamp .gen-window.selected .gen-text-z {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAHBAMAAAAsQKpuAAAAIVBMVEUAAAApKUA3N01UVGZiYnONjZmpqbPGxszU1Nni4ub///8EpbEBAAAAAXRSTlMAQObYZgAAACdJREFUCNdjEBQUYACCqlULQJRgVgCIElkBFtRcDKaiShxA1CqwEgClfwdsfnJFGQAAAABJRU5ErkJggg==)}\n#webamp .gen-text-a {width: 6px;}\n#webamp .selected .gen-text-a {width: 6px;}\n#webamp .gen-text-b {width: 7px;}\n#webamp .selected .gen-text-b {width: 7px;}\n#webamp .gen-text-c {width: 7px;}\n#webamp .selected .gen-text-c {width: 7px;}\n#webamp .gen-text-d {width: 6px;}\n#webamp .selected .gen-text-d {width: 6px;}\n#webamp .gen-text-e {width: 6px;}\n#webamp .selected .gen-text-e {width: 6px;}\n#webamp .gen-text-f {width: 6px;}\n#webamp .selected .gen-text-f {width: 6px;}\n#webamp .gen-text-g {width: 7px;}\n#webamp .selected .gen-text-g {width: 7px;}\n#webamp .gen-text-h {width: 6px;}\n#webamp .selected .gen-text-h {width: 6px;}\n#webamp .gen-text-i {width: 4px;}\n#webamp .selected .gen-text-i {width: 4px;}\n#webamp .gen-text-j {width: 6px;}\n#webamp .selected .gen-text-j {width: 6px;}\n#webamp .gen-text-k {width: 7px;}\n#webamp .selected .gen-text-k {width: 7px;}\n#webamp .gen-text-l {width: 5px;}\n#webamp .selected .gen-text-l {width: 5px;}\n#webamp .gen-text-m {width: 8px;}\n#webamp .selected .gen-text-m {width: 8px;}\n#webamp .gen-text-n {width: 6px;}\n#webamp .selected .gen-text-n {width: 6px;}\n#webamp .gen-text-o {width: 6px;}\n#webamp .selected .gen-text-o {width: 6px;}\n#webamp .gen-text-p {width: 6px;}\n#webamp .selected .gen-text-p {width: 6px;}\n#webamp .gen-text-q {width: 7px;}\n#webamp .selected .gen-text-q {width: 7px;}\n#webamp .gen-text-r {width: 7px;}\n#webamp .selected .gen-text-r {width: 7px;}\n#webamp .gen-text-s {width: 6px;}\n#webamp .selected .gen-text-s {width: 6px;}\n#webamp .gen-text-t {width: 5px;}\n#webamp .selected .gen-text-t {width: 5px;}\n#webamp .gen-text-u {width: 6px;}\n#webamp .selected .gen-text-u {width: 6px;}\n#webamp .gen-text-v {width: 6px;}\n#webamp .selected .gen-text-v {width: 6px;}\n#webamp .gen-text-w {width: 8px;}\n#webamp .selected .gen-text-w {width: 8px;}\n#webamp .gen-text-x {width: 7px;}\n#webamp .selected .gen-text-x {width: 7px;}\n#webamp .gen-text-y {width: 6px;}\n#webamp .selected .gen-text-y {width: 6px;}\n#webamp .gen-text-z {width: 11px;}\n#webamp .selected .gen-text-z {width: 11px;}\n#webamp #title-bar #close {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAIgAAAAAAAAAAAAAAAf4AACAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAADwAAAAAAAAAAAAf/gAAAAA8AAAAAAAAAAAAH//iIiAAPAAAAAAAAAAAAB//4iIAADwAAAAAAAAAAAAf/iIgAAA8AAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+HP//3hz//8w8///EP///wHz//8AE///ADP//wBz//8A8///AfP//wP///8H////D////x////8/////f////w==), auto}\n#webamp #equalizer-window .band {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAA/3cAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAAAAj3AAAA9wAAAAAAAAAAgACPcAAAAPcAAAAAAAAAAIcAj3AAAAAAAAAAAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAA/3cAAAAAAAAACP/3d3AAAA9wAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////////8////+H///jA///wwP//8P///+Hz//3h4f/8w+H//EPz//wH///8AED//ADA//wB4f/8A/P//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #equalizer-window .title-bar {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAAAAAP93AAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAP93AAAAAAAACP/3d3AAAAAPcAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////P////h///jwP//w8D//8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AHA//ADwP/wB+H/8A/z//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #equalizer-window.shade {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAAAAAP93AAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAP93AAAAAAAACP/3d3AAAAAPcAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////P////h///jwP//w8D//8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AHA//ADwP/wB+H/8A/z//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #equalizer-window.shade input {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAAAAAP93AAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAP93AAAAAAAACP/3d3AAAAAPcAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////P////h///jwP//w8D//8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AHA//ADwP/wB+H/8A/z//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp .window {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH//iIiAAAAAAAAAAAAAAAB//4iIAAAAAAAAAAAAAAAAf/iIgAAAAAAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+H///3h///8w////EP///wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp .window input {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH//iIiAAAAAAAAAAAAAAAB//4iIAAAAAAAAAAAAAAAAf/iIgAAAAAAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+H///3h///8w////EP///wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #main-window {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH//iIiAAAAAAAAAAAAAAAB//4iIAAAAAAAAAAAAAAAAf/iIgAAAAAAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+H///3h///8w////EP///wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #main-window.shade #title-bar {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH//iIiAAAAAAAAAAAAAAAB//4iIAAAAAAAAAAAAAAAAf/iIgAAAAAAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+H///3h///8w////EP///wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #playlist-window {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AAAAAAAAAAAAAAAAcAB/gAAAAAAAAAAAAAAAAHgAf4AAAAAAAAAAAAAAAAB/gPgAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH//iIiAAAAAAAAAAAAAAAB//4iIAAAAAAAAAAAAAAAAf/iIgAAAAAAAAAAAAAAAAH/4iAAAAAAAAAAAAAAAAAB/iIAAAAAAAAAAAAAAAAAAf4gAAAAAAAAAAAAAAAAAAHiAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8P///+H///3h///8w////EP///wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #playlist-window .playlist-top {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAAAAAP93AAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAP93AAAAAAAACP/3d3AAAAAPcAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////P////h///jwP//w8D//8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AHA//ADwP/wB+H/8A/z//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #main-window #position {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAAAAAAAAAAAACP/3d3AAAAAAAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #playlist-window #playlist-resize-target {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAA/3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAcAAAAAAAAAAACPcAAAdwAHcAAAAAAAAAAAj3AAAP8AD/AAAAAAAAgACPcAAAAAAA8AAAAAAAAIcAj3AAAAAAAAAAAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAAAAAAAAAAAACP/3d3AAAAAAAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////////n////w////4H///iB///w/n//8OY//+HCH/3hwh/8w+Y//EP+f/wH///8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #playlist-window .playlist-scrollbar {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAAAAA/3cAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAAAAAAAAAAAAAAAAAAj3AAAA9wAAAAAAAAAAgACPcAAAAPcAAAAAAAAAAIcAj3AAAAAAAAAAAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAA/3cAAAAAAAAACP/3d3AAAA9wAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////////////////////////////////////////////////8////+H///jA///wwP//8P///+Hz//3h4f/8w+H//EPz//wH///8AED//ADA//wB4f/8A/P//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #main-window #title-bar {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAAAAAP93AAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAP93AAAAAAAACP/3d3AAAAAPcAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////P////h///jwP//w8D//8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AHA//ADwP/wB+H/8A/z//Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #volume {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAAAAAAAAAAAACP/3d3AAAAAAAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #volume input {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAAAAAAAAAAAACP/3d3AAAAAAAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp #balance {cursor: url(data:image/x-win-bitmap;base64,AAACAAEAICAAAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHcAAAAAAAAAAAAAAAAAAAj3AAAAAAAAAAAAAAAAAACPcAAHAAAAAHAAAAAAAAAAj3AAdwAHcAB3AAAAAAgACPcAAP8AD/AA/wAAAAAIcAj3AAAPAAAAAPAAAAAACPcPcAAAAAAAAAAAAAAAAAj/cAAAAAAAAAAAAAAAAAAI//d3dwAAAAAAAAAAAAAACP/3d3AAAAAAAAAAAAAAAAj/d3cAAAAAAAAAAAAAAAAI/3dwAAAAAAAAAAAAAAAACPd3AAAAAAAAAAAAAAAAAAj3cAAAAAAAAAAAAAAAAAAIdwAAAAAAAAAAAAAAAAAACHAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////////////////////////////////j////w////8M/P/+GMx/3hCEP8wwhD/EOMx/wHz8/8AH///AD///wB///8A////Af///wP///8H////D////x////8/////f////w==), auto}\n#webamp-context-menu .context-menu {\n left: 0px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n cursor: default;\n}\n#webamp-context-menu .context-menu.bottom {\n top: 12px;\n}\n#webamp-context-menu .context-menu.top {\n top: 0px;\n}\n#webamp-context-menu .context-menu,\n#webamp-context-menu .context-menu ul {\n z-index: 50; /* Gross */\n background-color: #ffffff;\n position: absolute;\n list-style: none;\n padding: 0;\n margin: 0;\n border: 1px solid #a7a394;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);\n}\n#webamp-context-menu .context-menu li {\n position: relative;\n font-family: "Tahoma";\n font-size: 11px;\n color: black;\n white-space: nowrap;\n margin: 2px;\n padding: 1px 18px 3px 18px;\n display: block;\n}\n#webamp-context-menu .context-menu li.checked:before {\n float: left;\n /* TODO: Use an image */\n content: "\\2713";\n margin-left: -12px;\n}\n#webamp-context-menu .context-menu li.parent:after {\n float: right;\n content: "\\25b8";\n margin-right: -12px;\n}\n#webamp-context-menu .context-menu li a {\n text-decoration: none;\n color: black;\n cursor: default;\n}\n#webamp-context-menu .context-menu li:hover,\n#webamp-context-menu .context-menu li:hover a {\n background-color: #224eb7;\n color: #ffffff;\n}\n#webamp-context-menu .context-menu li.hr {\n padding: 2px 0;\n}\n#webamp-context-menu .context-menu li.hr:hover {\n background-color: #ffffff;\n}\n#webamp-context-menu .context-menu li.hr hr {\n border: none;\n height: 1px;\n background-color: #a7a394;\n margin: 0;\n padding: 0;\n}\n#webamp-context-menu .context-menu ul {\n display: none;\n left: 100%;\n margin-left: -3px;\n}\n#webamp-context-menu .context-menu li:hover > ul {\n display: block;\n}\n/* Styles */\n#webamp #equalizer-window {\n height: 116px;\n width: 275px;\n}\n#webamp #equalizer-window.shade {\n height: 14px;\n}\n#webamp #equalizer-volume {\n position: absolute;\n left: 61px;\n top: 4px;\n height: 6px;\n width: 97px;\n background-position: 0 0;\n}\n#webamp #equalizer-volume::-webkit-slider-thumb {\n height: 7px;\n width: 3px;\n}\n#webamp #equalizer-volume::-moz-range-thumb {\n height: 7px;\n width: 3px;\n}\n#webamp #equalizer-balance {\n position: absolute;\n left: 164px;\n top: 4px;\n height: 6px;\n width: 43px;\n background-position: 0 0;\n}\n#webamp #equalizer-balance::-webkit-slider-thumb {\n height: 7px;\n width: 3px;\n}\n#webamp #equalizer-balance::-moz-range-thumb {\n height: 7px;\n width: 3px;\n}\n#webamp .equalizer-top {\n height: 14px;\n width: 275px;\n position: relative;\n}\n#webamp #equalizer-close {\n position: absolute;\n height: 9px;\n width: 9px;\n left: 264px;\n top: 3px;\n}\n#webamp #equalizer-shade {\n position: absolute;\n height: 9px;\n width: 9px;\n left: 254px;\n top: 3px;\n}\n#webamp #on {\n position: absolute;\n width: 26px;\n height: 12px;\n top: 18px;\n left: 14px;\n}\n#webamp #auto {\n position: absolute;\n width: 32px;\n height: 12px;\n top: 18px;\n left: 40px;\n}\n#webamp #presets-context {\n position: absolute;\n width: 44px;\n height: 12px;\n top: 18px;\n left: 217px;\n}\n#webamp #presets {\n width: 100%;\n height: 100%;\n}\n#webamp #eqGraph {\n position: absolute;\n width: 113px;\n height: 19px;\n top: 17px;\n left: 86px;\n}\n#webamp #preamp {\n position: absolute;\n left: 21px;\n top: 38px;\n}\n#webamp #plus12db {\n position: absolute;\n left: 45px;\n top: 36px;\n width: 22px;\n height: 8px;\n}\n#webamp #zerodb {\n position: absolute;\n left: 45px;\n top: 64px;\n width: 22px;\n height: 8px;\n}\n#webamp #minus12db {\n position: absolute;\n left: 45px;\n top: 95px;\n width: 22px;\n height: 8px;\n}\n#webamp #band-60 {\n position: absolute;\n left: 78px;\n top: 38px;\n}\n#webamp #band-170 {\n position: absolute;\n left: 96px;\n top: 38px;\n}\n#webamp #band-310 {\n position: absolute;\n left: 114px;\n top: 38px;\n}\n#webamp #band-600 {\n position: absolute;\n left: 132px;\n top: 38px;\n}\n#webamp #band-1000 {\n position: absolute;\n left: 150px;\n top: 38px;\n}\n#webamp #band-3000 {\n position: absolute;\n left: 168px;\n top: 38px;\n}\n#webamp #band-6000 {\n position: absolute;\n left: 186px;\n top: 38px;\n}\n#webamp #band-12000 {\n position: absolute;\n left: 204px;\n top: 38px;\n}\n#webamp #band-14000 {\n position: absolute;\n left: 222px;\n top: 38px;\n}\n#webamp #band-16000 {\n position: absolute;\n left: 240px;\n top: 38px;\n}\n#webamp .gen-text-space {\n width: 5px;\n}\n#webamp .gen-text-letter {\n height: 7px;\n display: inline-block;\n}\n#webamp .gen-window {\n /* Default size */\n width: 275px;\n height: 116px;\n display: flex;\n flex-direction: column;\n}\n#webamp .gen-top {\n height: 20px;\n display: flex;\n flex-direction: row;\n}\n#webamp .gen-top-left {\n width: 25px;\n height: 20px;\n}\n#webamp .gen-top-title {\n line-height: 7px;\n margin-top: 2px;\n /* TODO: This should be a conciquence of the repeating tiles, not hard coded */\n padding: 0 3px 0 4px;\n}\n#webamp .gen-top-left-fill {\n flex-grow: 1;\n height: 20px;\n background-position: left;\n}\n#webamp .gen-top-right-fill {\n flex-grow: 1;\n height: 20px;\n background-position: right;\n}\n#webamp .gen-top-left-end {\n width: 25px;\n height: 20px;\n}\n#webamp .gen-top-right {\n width: 25px;\n height: 20px;\n}\n#webamp .gen-top-right-end {\n width: 25px;\n height: 20px;\n}\n#webamp .gen-close {\n width: 9px;\n height: 9px;\n position: absolute;\n right: 2px;\n top: 3px;\n}\n#webamp .gen-middle {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n position: relative;\n}\n#webamp .gen-middle-left {\n width: 11px;\n}\n#webamp .gen-middle-left-bottom {\n width: 11px;\n height: 24px;\n bottom: 0;\n position: absolute;\n}\n#webamp .gen-middle-center {\n flex-grow: 1;\n position: relative;\n}\n#webamp .gen-middle-right {\n width: 8px;\n}\n#webamp .gen-middle-right-bottom {\n width: 8px;\n height: 24px;\n bottom: 0;\n position: absolute;\n}\n#webamp .gen-bottom {\n height: 14px;\n background-repeat: repeat-x;\n}\n#webamp .gen-bottom-left {\n position: absolute;\n left: 0;\n width: 125px;\n height: 14px;\n}\n#webamp .gen-bottom-right {\n position: absolute;\n right: 0;\n width: 125px;\n height: 14px;\n}\n#webamp .gen-bottom-right #gen-resize-target {\n position: absolute;\n right: 0;\n bottom: 0;\n height: 20px;\n width: 20px;\n}\n/* Styles */\n#webamp #main-window {\n position: absolute;\n height: 116px;\n width: 275px;\n /* Ask the browser to scale showing large pixels if possible */\n image-rendering: -moz-crisp-edges; /* Firefox */\n image-rendering: -o-crisp-edges; /* Opera */\n image-rendering: -webkit-optimize-contrast; /* Safari */\n image-rendering: pixelated; /* Only in Chrome > 40 */\n -ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */\n}\n#webamp #title-bar {\n position: absolute;\n top: 0;\n left: 0;\n height: 14px;\n width: 275px;\n}\n#webamp #option-context,\n#webamp #minimize,\n#webamp #shade,\n#webamp #close {\n position: absolute;\n height: 9px;\n width: 9px;\n top: 3px;\n}\n#webamp #title-bar #option {\n width: 100%;\n height: 100%;\n}\n#webamp #title-bar #option-context {\n left: 6px;\n}\n#webamp #title-bar #minimize {\n left: 244px;\n}\n#webamp #title-bar #shade {\n left: 254px;\n}\n#webamp #title-bar #close {\n left: 264px;\n}\n#webamp #clutter-bar {\n position: absolute;\n top: 22px;\n left: 10px;\n height: 43px;\n width: 8px;\n}\n#webamp #clutter-bar div {\n position: absolute;\n height: 7px;\n width: 8px;\n left: 0px;\n}\n#webamp #clutter-bar #button-o {\n top: 3px;\n height: 8px;\n}\n#webamp #clutter-bar #button-a {\n top: 11px;\n}\n#webamp #clutter-bar #button-i {\n top: 18px;\n}\n#webamp #clutter-bar #button-d {\n top: 25px;\n height: 8px;\n}\n#webamp #clutter-bar #button-v {\n top: 33px;\n}\n#webamp #play-pause {\n position: absolute;\n top: 28px;\n left: 26px;\n height: 9px;\n width: 9px;\n background-repeat: no-repeat;\n}\n#webamp .play #work-indicator,\n#webamp #work-indicator.selected {\n position: absolute;\n top: 28px;\n left: 24px;\n height: 9px;\n width: 3px;\n}\n#webamp .webamp-status #time {\n position: absolute;\n left: 39px;\n top: 26px;\n /* Just to make it clickable */\n height: 13px;\n width: 59px;\n}\n#webamp .stop .webamp-status #time {\n display: none;\n}\n#webamp .pause .webamp-status #time {\n animation: blink 2s step-start 1s infinite;\n -webkit-animation: blink 2s step-start 1s infinite;\n}\n#webamp .webamp-status #time #minus-sign {\n /* Note that this get\'s augmented by the skin CSS if NUM_EX.BMP is present */\n position: absolute;\n top: 6px;\n left: -1px;\n width: 5px;\n height: 1px;\n}\n#webamp .webamp-status #time #minute-first-digit {\n position: absolute;\n pointer-events: none;\n left: 9px;\n height: 13px;\n width: 9px;\n}\n#webamp .webamp-status #time #minute-second-digit {\n position: absolute;\n pointer-events: none;\n left: 21px;\n height: 13px;\n width: 9px;\n}\n#webamp .webamp-status #time #second-first-digit {\n position: absolute;\n pointer-events: none;\n left: 39px;\n height: 13px;\n width: 9px;\n}\n#webamp .webamp-status #time #second-second-digit {\n position: absolute;\n pointer-events: none;\n left: 51px;\n height: 13px;\n width: 9px;\n}\n#webamp #main-window #visualizer {\n position: absolute;\n top: 43px;\n left: 24px;\n}\n#webamp #main-window.shade #visualizer {\n top: 5px;\n left: 79px;\n}\n#webamp .text {\n display: none;\n}\n#webamp #marquee {\n position: absolute;\n left: 111px;\n top: 24px;\n width: 154px;\n height: 6px;\n overflow: hidden;\n display: block;\n padding: 3px 0px; /* Ensure the target is correct for the cursor */\n}\n#webamp .media-info #kbps {\n position: absolute;\n left: 111px;\n top: 43px;\n width: 15px;\n height: 6px;\n overflow: hidden;\n}\n#webamp .stop .media-info #kbps {\n display: none;\n}\n#webamp .media-info #khz {\n position: absolute;\n left: 156px;\n top: 43px;\n width: 10px;\n height: 6px;\n overflow: hidden;\n}\n#webamp .stop .media-info #khz {\n display: none;\n}\n#webamp .media-info .mono-stereo {\n position: absolute;\n left: 212px;\n top: 41px;\n width: 57px;\n height: 12px;\n}\n#webamp .media-info .mono-stereo div {\n position: absolute;\n height: 12px;\n}\n#webamp .media-info .mono-stereo #mono {\n width: 27px;\n}\n#webamp .media-info .mono-stereo #stereo {\n left: 27px;\n width: 29px;\n}\n#webamp #volume {\n position: absolute;\n left: 107px;\n top: 57px;\n height: 13px;\n width: 68px;\n background-position: 0 0;\n}\n#webamp #volume input {\n height: 13px;\n /* The input itself, is actually 3px shorter than the background\n * https://twitter.com/LuigiHann/status/959275940688867328\n */\n width: 65px;\n display: block;\n}\n#webamp #volume input::-webkit-slider-thumb {\n top: 1px;\n height: 11px;\n width: 14px;\n}\n#webamp #volume input::-moz-range-thumb {\n top: 1px;\n height: 11px;\n width: 14px;\n}\n#webamp #balance {\n position: absolute;\n left: 177px;\n top: 57px;\n height: 13px;\n width: 38px;\n background-position: 0 0;\n}\n#webamp #balance::-webkit-slider-thumb {\n top: 1px;\n height: 11px;\n width: 14px;\n}\n#webamp #balance::-moz-range-thumb {\n top: 1px;\n height: 11px;\n width: 14px;\n}\n#webamp .windows {\n position: absolute;\n left: 219px;\n top: 58px;\n width: 46px;\n height: 12px;\n}\n#webamp .windows div {\n position: absolute;\n width: 23px;\n height: 12px;\n}\n#webamp .windows #equalizer-button {\n left: 0;\n}\n#webamp .windows #playlist-button {\n left: 23px;\n}\n#webamp #position {\n position: absolute;\n left: 16px;\n top: 72px;\n width: 248px;\n height: 10px;\n}\n#webamp #position::-webkit-slider-thumb {\n height: 10px;\n width: 29px;\n /*\n * Fix the strange bug in Safair/mobile-chrome\n * http://stackoverflow.com/questions/26727769/rendering-glitch-when-manipulating-range-input-value-via-javascript-in-webkit\n */\n -webkit-box-sizing: border-box;\n position: relative;\n}\n#webamp #position::-moz-range-thumb {\n height: 10px;\n width: 29px;\n}\n/* For some reason, we can\'t use display: none here */\n#webamp .stop #position::-webkit-slider-thumb {\n visibility: hidden;\n}\n#webamp .stop #position::-moz-range-thumb {\n visibility: hidden;\n}\n/* For some reason this is needed for the position slider to show up now that\n * we are using React.\n */\n#webamp .play #position::-webkit-slider-thumb {\n visibility: visible;\n}\n#webamp .actions div {\n height: 18px;\n width: 23px;\n position: absolute;\n}\n#webamp .actions #previous {\n top: 88px;\n left: 16px;\n}\n#webamp .actions #play {\n top: 88px;\n left: 39px;\n}\n#webamp .actions #pause {\n top: 88px;\n left: 62px;\n}\n#webamp .actions #stop {\n top: 88px;\n left: 85px;\n}\n#webamp .actions #next {\n top: 88px;\n left: 108px;\n width: 22px;\n}\n#webamp #eject {\n position: absolute;\n top: 89px;\n left: 136px;\n height: 16px;\n width: 22px;\n}\n#webamp .shuffle-repeat {\n position: absolute;\n top: 89px;\n left: 164px;\n width: 74px;\n}\n#webamp .shuffle-repeat div {\n position: absolute;\n height: 15px;\n}\n#webamp .shuffle-repeat #shuffle {\n width: 47px;\n}\n#webamp .shuffle-repeat #repeat {\n left: 46px;\n width: 28px;\n}\n#webamp #about {\n position: absolute;\n top: 91px;\n left: 253px;\n height: 15px;\n width: 13px;\n}\n#webamp .digit {\n position: absolute;\n display: inline-block;\n width: 9px;\n height: 13px;\n background-repeat: no-repeat;\n text-indent: -9999px;\n}\n/* Shade View */\n#webamp #main-window.shade {\n height: 14px;\n}\n#webamp .shade .media-info,\n#webamp .shade .windows,\n#webamp .shade #volume,\n#webamp .shade #balance,\n#webamp .shade .shuffle-repeat,\n#webamp .shade .webamp-status {\n display: none;\n}\n#webamp .shade #title-bar {\n}\n#webamp .shade .actions div {\n position: absolute;\n}\n#webamp .shade .actions #previous,\n#webamp .shade .actions #previous.winamp-active {\n background: none;\n height: 10px;\n width: 7px;\n top: 2px;\n left: 169px;\n}\n#webamp .shade .actions #play,\n#webamp .shade .actions #play.winamp-active {\n background: none;\n height: 10px;\n width: 10px;\n top: 2px;\n left: 176px;\n}\n#webamp .shade .actions #pause,\n#webamp .shade .actions #pause.winamp-active {\n background: none;\n height: 10px;\n width: 9px;\n top: 2px;\n left: 186px;\n}\n#webamp .shade .actions #stop,\n#webamp .shade .actions #stop.winamp-active {\n background: none;\n height: 10px;\n width: 9px;\n top: 2px;\n left: 195px;\n}\n#webamp .shade .actions #next,\n#webamp .shade .actions #next.winamp-active {\n background: none;\n height: 10px;\n width: 10px;\n top: 2px;\n left: 204px;\n}\n#webamp .shade #eject,\n#webamp .shade #eject.winamp-active {\n height: 10px;\n width: 10px;\n top: 2px;\n left: 215px;\n background: none;\n}\n#webamp .shade #position {\n position: absolute;\n left: 226px;\n top: 4px;\n width: 17px;\n height: 7px;\n}\n#webamp .shade #position::-webkit-slider-thumb {\n height: 7px;\n width: 3px;\n /* This make it appear. Not sure why */\n background: none;\n}\n#webamp .shade #position::-moz-range-thumb {\n height: 7px;\n width: 3px;\n /* This make it appear. Not sure why */\n background: none;\n}\n#webamp #main-window .mini-time {\n position: absolute;\n top: 4px;\n left: 127px;\n}\n.webamp-desktop {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n}\n#webamp .mini-time {\n display: block;\n height: 6px;\n width: 25px;\n}\n#webamp .mini-time.blinking .character:not(.background-character) {\n animation: blink 2s step-start 1s infinite;\n -webkit-animation: blink 2s step-start 1s infinite;\n}\n#webamp .mini-time .background-character {\n z-index: 1;\n}\n#webamp .mini-time .character {\n position: absolute;\n top: 0;\n z-index: 2;\n}\n/* Styles */\n#webamp #playlist-window {\n display: flex;\n flex-direction: column;\n}\n#webamp .playlist-top {\n width: 100%;\n min-height: 20px;\n max-height: 20px;\n position: relative;\n display: flex;\n}\n#webamp .playlist-top-left {\n width: 25px;\n}\n#webamp .playlist-top-left-spacer {\n width: 12px;\n}\n#webamp .playlist-top-left-fill {\n flex-grow: 1;\n background-position: right;\n}\n#webamp .playlist-top-right-spacer {\n /* This goes to the right of the center */\n width: 13px;\n}\n#webamp .playlist-top-right-fill {\n flex-grow: 1;\n background-position: right;\n}\n#webamp .playlist-top-title {\n width: 100px;\n}\n#webamp .playlist-top-right {\n width: 25px;\n}\n#webamp .playlist-middle {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n}\n#webamp .playlist-middle-left {\n background-repeat: repeat-y;\n width: 12px;\n min-width: 12px;\n}\n#webamp .playlist-middle-center {\n flex-grow: 1;\n padding: 3px 0;\n min-width: 0; /* Not sure why this is needed */\n}\n#webamp .playlist-tracks {\n display: flex;\n flex: 1 0 auto;\n}\n#webamp .playlist-tracks .track-cell {\n height: 13px;\n line-height: 13px;\n font-size: 9px;\n letter-spacing: 0.5px;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n#webamp .playlist-track-durations > div {\n padding-right: 3px;\n text-align: right;\n}\n#webamp .playlist-track-titles {\n flex: 1 1 auto;\n overflow: hidden;\n}\n#webamp .playlist-track-titles > div {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n#webamp .playlist-middle-right {\n background-repeat: repeat-y;\n background-position: top right;\n width: 20px;\n min-width: 20px;\n position: relative;\n padding-bottom: 18px;\n}\n#webamp .playlist-bottom {\n width: 100%;\n height: 38px;\n min-height: 38px;\n max-height: 38px;\n position: relative;\n}\n#webamp .playlist-bottom-left {\n width: 125px;\n height: 100%;\n position: absolute;\n}\n#webamp .playlist-menu li {\n list-style: none;\n display: none;\n width: 22px;\n height: 18px;\n padding: 0;\n margin: 0;\n}\n#webamp .playlist-menu li > div {\n height: 100%;\n}\n#webamp .playlist-menu ul {\n padding: 0;\n margin: 0;\n position: absolute;\n bottom: 0;\n}\n#webamp .playlist-menu.selected li {\n display: block;\n}\n#webamp .playlist-menu .bar {\n position: absolute;\n bottom: 0;\n left: -3px;\n width: 3px;\n height: 54px;\n}\n#webamp #playlist-add-menu {\n position: absolute;\n bottom: 12px;\n left: 14px;\n width: 22px;\n height: 18px;\n}\n#webamp #playlist-remove-menu.playlist-menu .bar {\n height: 72px;\n}\n#webamp #playlist-remove-menu {\n position: absolute;\n bottom: 12px;\n left: 43px;\n width: 22px;\n height: 18px;\n}\n#webamp #playlist-selection-menu {\n position: absolute;\n bottom: 12px;\n left: 72px;\n width: 22px;\n height: 18px;\n}\n#webamp #playlist-misc-menu {\n position: absolute;\n bottom: 12px;\n left: 101px;\n width: 22px;\n height: 18px;\n}\n#webamp #playlist-list-menu {\n position: absolute;\n bottom: 12px;\n right: 22px;\n width: 22px;\n height: 18px;\n}\n#webamp .playlist-bottom-right {\n width: 150px;\n height: 100%;\n position: absolute;\n right: 0;\n}\n#webamp .playlist-running-time-display {\n position: absolute;\n top: 10px;\n left: 7px;\n height: 10px;\n}\n#webamp .playlist-action-buttons {\n position: absolute;\n top: 22px;\n left: 3px;\n display: flex;\n}\n#webamp .playlist-action-buttons > div {\n height: 10px;\n width: 10px;\n}\n#webamp #playlist-window .playlist-visualizer {\n width: 75px;\n height: 100%;\n position: absolute;\n right: 150px;\n}\n#webamp #playlist-window .mini-time {\n position: absolute;\n top: 23px;\n left: 66px;\n}\n#webamp #playlist-window #playlist-resize-target {\n position: absolute;\n right: 0;\n bottom: 0;\n height: 20px;\n width: 20px;\n}\n#webamp #playlist-close-button {\n position: absolute;\n right: 2px;\n height: 9px;\n width: 9px;\n top: 3px;\n}\n#webamp #playlist-shade-button {\n position: absolute;\n right: 12px;\n height: 9px;\n width: 9px;\n top: 3px;\n}\n#webamp #playlist-window-shade {\n height: 14px;\n}\n#webamp #playlist-window-shade .left {\n height: 14px;\n background-repeat: no-repeat;\n}\n#webamp #playlist-window-shade .right {\n height: 14px;\n background-repeat: no-repeat;\n background-position-x: right;\n}\n#webamp #playlist-window #playlist-scroll-up-button,\n#webamp #playlist-window #playlist-scroll-down-button {\n position: absolute;\n width: 8px;\n height: 5px;\n right: 7px;\n}\n#webamp #playlist-window #playlist-scroll-up-button {\n top: 2px;\n}\n#webamp #playlist-window #playlist-scroll-down-button {\n top: 8px;\n}\n#webamp #playlist-window-shade #playlist-resize-target {\n position: absolute;\n right: 20px;\n top: 3px;\n height: 9px;\n width: 9px;\n}\n#webamp #playlist-shade-track-title {\n position: absolute;\n top: 4px;\n left: 5px;\n}\n#webamp #playlist-shade-time {\n position: absolute;\n top: 4px;\n right: 30px;\n}\n#webamp #playlist-window .visualizer-wrapper {\n position: absolute;\n top: 12px;\n left: 2px;\n width: 72px;\n overflow: hidden;\n}\n/* Rules used by all windows */\n#webamp {\n position: absolute;\n top: 0;\n left: 0;\n}\n/* Prevent accidental highlighting */\n#webamp canvas {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n#webamp * {\n /* Some environments globably change the box-sizing */\n box-sizing: content-box;\n -webkit-box-sizing: content-box;\n}\n#webamp *:focus {\n outline: 0;\n}\n/* Range input css reset */\n#webamp input[type="range"] {\n -webkit-appearance: none;\n margin: 0;\n padding: 0;\n background: none;\n border: none;\n}\n#webamp input[type="range"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n border-radius: 0;\n background: none;\n}\n#webamp input[type="range"]::-moz-range-thumb {\n border: none;\n border-radius: 0;\n background: none;\n}\n#webamp input[type="range"]::-moz-range-track {\n border: none;\n background: none;\n}\n#webamp input[type="range"]:focus {\n outline: none;\n}\n#webamp input[type="range"]::-moz-focus-outer {\n border: 0;\n}\n#webamp a:focus {\n outline: none;\n}\n/* Animation */\n@keyframes blink {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@-webkit-keyframes blink {\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n#webamp .character {\n display: inline-block;\n vertical-align: top;\n width: 5px;\n height: 6px;\n /* background-image: TEXT.BMP via Javascript */\n text-indent: -9999px;\n}\n#webamp .window {\n position: absolute;\n /* Ask the browser to scale showing large pixels if possible */\n image-rendering: -moz-crisp-edges; /* Firefox */\n image-rendering: -o-crisp-edges; /* Opera */\n image-rendering: -webkit-optimize-contrast; /* Safari */\n image-rendering: pixelated; /* Only in Chrome > 40 */\n -ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */\n}\n#webamp .window {\n /* Work around rendering bug with clip-path */\n -webkit-transform: translateZ(0);\n}\n#webamp .window.doubled {\n -moz-transform: translateZ(0) scale(2);\n -moz-transform-origin: top left;\n -webkit-transform: translateZ(0) scale(2);\n -webkit-transform-origin: top left;\n}\n'}),Fd.jsxs("div",{onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||o(null)},children:[Fd.jsx(DQ,{}),Fd.jsx(NF,{renderContents:()=>Fd.jsx(VF,{filePickers:t}),children:Fd.jsx(YF,{windows:c()})})]})]}),l)}const FQ=new Set(["input","textarea","select"]);class OQ{_listeners;constructor(){this._listeners={}}on(e,t){const n=this._listeners[e]||[];n.push(t),this._listeners[e]=n;return()=>{this._listeners[e]=n.filter(e=>e!==t)}}trigger(e,...t){const n=this._listeners[e];n&&n.forEach(e=>e(...t))}dispose(){this._listeners={}}}function zQ(e,t={balance:0}){let n=0;const i=e.createGain();i.channelCount=2,i.channelCountMode="explicit",i.channelInterpretation="speakers";const r=e.createChannelSplitter(2),a=e.createGain(),s=e.createGain(),A=e.createChannelMerger(2);function o(e){const t=Number(e);a.gain.value=t>0?1-t:1,s.gain.value=t>0?1:1+t,n=t}i.connect(r),r.connect(a,0),r.connect(s,1),a.connect(A,0,0),s.connect(A,0,1);const l={};return Object.defineProperties(l,{value:{get:function(){return n},set:o,enumerable:!0,configurable:!0}}),Object.defineProperties(i,{balance:{value:l,enumerable:!0,writable:!1,configurable:!0},connect:{value:AudioNode.prototype.connect.bind(A),enumerable:!1,writable:!1,configurable:!0},disconnect:{value:AudioNode.prototype.disconnect.bind(A),enumerable:!1,writable:!1,configurable:!0}}),n!==t.balance&&o(t.balance),i}class QQ{_emitter;_context;_source;_destination;_audio;_stalled;_status;on(e,t){return this._emitter.on(e,t)}constructor(e,t){this._emitter=new OQ,this._context=e,this._destination=t,this._audio=document.createElement("audio"),this._audio.crossOrigin="anonymous",this._stalled=!1,this._status=WU,this._audio.addEventListener("suspend",()=>{this._setStalled(!0)}),this._audio.addEventListener("durationchange",()=>{this._emitter.trigger("loaded"),this._setStalled(!1)}),this._audio.addEventListener("ended",()=>{this._emitter.trigger("ended"),this._setStatus(WU)}),this._audio.addEventListener("timeupdate",()=>{this._emitter.trigger("positionChange")}),this._audio.addEventListener("error",e=>{switch(this._audio.error.code){case 1:console.error("MEDIA_ERR_ABORTED",e);break;case 2:console.error("MEDIA_ERR_NETWORK",e);break;case 3:console.error("PIPELINE_ERROR_DECODE",e);break;case 4:console.error("MEDIA_ERR_SRC_NOT_SUPPORTED",e)}this._emitter.trigger("ended"),this._setStatus(WU)}),this._source=this._context.createMediaElementSource(this._audio),this._source.connect(t)}_setStalled(e){this._stalled=e,this._emitter.trigger("stallChanged")}disconnect(){this._source.disconnect()}async loadUrl(e){this._audio.src=e}async play(){this._status!==XU&&this.seekToTime(0);try{await this._audio.play()}catch(e){}this._setStatus(JU)}pause(){this._audio.pause(),this._setStatus(XU)}stop(){this._audio.pause(),this._audio.currentTime=0,this._setStatus(WU)}seekToTime(e){this._audio.currentTime=lM(e,0,this.getDuration()),this._emitter.trigger("positionChange")}getStalled(){return this._stalled}getStatus(){return this._status}getDuration(){const{duration:e}=this._audio;return isNaN(e)||e===1/0?0:e}getTimeElapsed(){return this._audio.currentTime}_setStatus(e){this._status=e,this._emitter.trigger("statusChange")}dispose(){this.stop(),this._emitter.dispose()}}class VQ{_emitter;_context;_balance;_staticSource;_preamp;_analyser;_gainNode;_source;_bands;constructor(){if(this._emitter=new OQ,this._context=new(window.AudioContext||window.webkitAudioContext),"suspended"===this._context.state){const e=async()=>{await this._context.resume(),"running"===this._context.state&&(document.body.removeEventListener("touchend",e,!1),document.body.removeEventListener("click",e,!1),document.body.removeEventListener("keydown",e,!1))};document.body.addEventListener("touchend",e,!1),document.body.addEventListener("click",e,!1),document.body.addEventListener("keydown",e,!1)}this._staticSource=this._context.createGain(),this._balance=new zQ(this._context),this._preamp=this._context.createGain(),this._analyser=this._context.createAnalyser(),this._analyser.fftSize=2048,this._analyser.smoothingTimeConstant=0,this._gainNode=this._context.createGain(),this._source=new QQ(this._context,this._staticSource),this._source.on("positionChange",()=>{this._emitter.trigger("timeupdate")}),this._source.on("ended",()=>{this._emitter.trigger("ended")}),this._source.on("statusChange",()=>{if(this._source.getStatus()===JU)this._emitter.trigger("playing");this._emitter.trigger("timeupdate")}),this._source.on("loaded",()=>{this._emitter.trigger("fileLoaded")}),this._staticSource.connect(this._preamp);let e=this._preamp;this._bands={},TU.forEach((t,n)=>{const i=this._context.createBiquadFilter();this._bands[t]=i,0===n?i.type="lowshelf":n===TU.length-1?i.type="highshelf":i.type="peaking",i.frequency.value=t,i.gain.value=0,e.connect(i),e=i}),e.connect(this._balance),this._balance.connect(this._gainNode),this._balance.connect(this._analyser),this._gainNode.connect(this._context.destination)}getAnalyser(){return this._analyser}duration(){return this._source.getDuration()}timeElapsed(){return this._source.getTimeElapsed()}timeRemaining(){return this.duration()-this.timeElapsed()}percentComplete(){return this.timeElapsed()/this.duration()*100}async play(){await this._source.play()}pause(){this._source.pause()}stop(){this._source.stop()}seekToPercentComplete(e){const t=this.duration()*(e/100);this.seekToTime(t)}setVolume(e){this._gainNode.gain.value=e/100}setPreamp(e){const t=e/100*24-12;this._preamp.gain.value=Math.pow(10,t/20)}setBalance(e){this._balance.balance.value=e/100}setEqBand(e,t){const n=t/100*24-12;this._bands[e].gain.value=n}disableEq(){this._staticSource.disconnect(),this._staticSource.connect(this._balance)}enableEq(){this._staticSource.disconnect(),this._staticSource.connect(this._preamp)}on(e,t){this._emitter.on(e,t)}seekToTime(e){this._source.seekToTime(e)}async loadFromUrl(e,t){this._emitter.trigger("waiting"),await this._source.loadUrl(e),this._emitter.trigger("stopWaiting"),t&&this.play()}dispose(){this._source.dispose(),this._emitter.dispose()}}class GQ{_teardowns=[];disposed;constructor(){this.disposed=!1}add(...e){if(this.disposed)throw new Error("Attempted to add a new teardown to a disposed disposable.");this._teardowns.push(...e)}dispose(){if(this.disposed)throw new Error("Attempted to dispose disposable which is already disposed.");this._teardowns.forEach(e=>{"function"==typeof e?e():"function"==typeof e.dispose&&e.dispose()}),this._teardowns=[],this.disposed=!0}}let jQ=class{static VERSION="1.5.0";_actionEmitter;_root;_disposable;options;media;store;static browserIsSupported(){const e=!(!window.AudioContext&&!window.webkitAudioContext),t=!!window.document.createElement("canvas").getContext;return e&&t&&"undefined"!=typeof Promise}constructor(e){this._root=null,this._disposable=new GQ,this._actionEmitter=new OQ,this.options=e;const{initialTracks:t,initialSkin:n,availableSkins:i,enableHotkeys:r=!1,zIndex:a,requireJSZip:s,requireMusicMetadata:A,handleTrackDropEvent:o,handleAddUrlEvent:l,handleLoadListEvent:c,handleSaveListEvent:u,enableDoubleSizeMode:h,__butterchurnOptions:d,__customMediaClass:g}=this.options;let p=null;if(null!=d){const{importConvertPreset:e,presetConverterEndpoint:t}=d;null!=e&&null!=t&&(p=async n=>{const{convertPreset:i}=await e();return i(await HM(n),t)})}var f,m;this.media=new(g||VQ),this.store=HP(this.media,this._actionEmitter,this.options.__customMiddlewares,this.options.__initialState,{requireJSZip:s,requireMusicMetadata:A,convertPreset:p,handleTrackDropEvent:o,handleAddUrlEvent:l,handleLoadListEvent:c,handleSaveListEvent:u}),e.enableMediaSession&&(f=this,"mediaSession"in navigator&&(f.onTrackDidChange(e=>{if(null==e)return;const{metaData:{title:t,artist:n,album:i,albumArtUrl:r}}=e;navigator.mediaSession.metadata=new MediaMetadata({title:t??void 0,artist:n??void 0,album:i??void 0,artwork:r?[{src:r}]:[]})}),navigator.mediaSession.setActionHandler("play",()=>{f.play()}),navigator.mediaSession.setActionHandler("pause",()=>{f.pause()}),navigator.mediaSession.setActionHandler("seekbackward",()=>{f.seekBackward(10)}),navigator.mediaSession.setActionHandler("seekforward",()=>{f.seekForward(10)}),navigator.mediaSession.setActionHandler("previoustrack",()=>{f.previousTrack()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{f.nextTrack()}))),h&&this.store.dispatch(dN()),navigator.onLine?this.store.dispatch({type:nU}):this.store.dispatch({type:iU}),null!=a&&this.store.dispatch({type:oU,zIndex:a}),e.__butterchurnOptions&&(this.store.dispatch({type:pU,open:e.__butterchurnOptions.butterchurnOpen}),this.store.dispatch((m=e.__butterchurnOptions,async e=>{const{getPresets:t,importButterchurn:n}=m;n().then(t=>{e({type:bU,butterchurn:t.default})});const i=(await t()).map(kP);e(SP(i))})));const b=()=>this.store.dispatch({type:nU}),w=()=>this.store.dispatch({type:iU});var E;window.addEventListener("online",b),window.addEventListener("offline",w),this._disposable.add(()=>{window.removeEventListener("online",b),window.removeEventListener("offline",w)}),n?this.store.dispatch(iP(n.url)):this.store.dispatch({type:AU}),t&&this._bufferTracks(t),null!=e.avaliableSkins?(console.warn("The misspelled option `avaliableSkins` is deprecated. Please use `availableSkins` instead."),this.store.dispatch({type:GB,skins:avaliableSkins})):null!=i&&this.store.dispatch({type:GB,skins:i}),this.store.dispatch((E=e.windowLayout,e=>{if(null!=E){for(const t of["playlist","milkdrop"]){const n=E[t];if(null!=n&&null!=n.size){const{extraHeight:i,extraWidth:r}=n.size;e(wN(t,[r,i]))}}for(const t of["main","playlist","equalizer","milkdrop"]){const n=E[t];(null==n||n.closed)&&e(mN(t))}for(const t of["main","playlist","equalizer"])E[t]?.shadeMode&&e({type:sU,windowId:t});e(yN(SM(E,e=>{if(null==e)throw new Error("w is null");return{x:e.position.left,y:e.position.top}}),!1))}else e(SN())})),r&&this._disposable.add(function(e){let t=0;const n=[78,85,76,76,83,79,70,84],i=i=>{if(!(i.target instanceof Element&&FQ.has(i.target.tagName.toLowerCase()))){if(i.ctrlKey)switch(i.keyCode){case 68:e(dN()),i.preventDefault();break;case 76:break;case 82:e(ND());break;case 84:e({type:BB})}else if(i.altKey)switch(i.keyCode){case 87:e(EN("main"));break;case 69:e(EN("playlist"));break;case 71:e(EN("equalizer"))}else switch(i.keyCode){case 37:case 103:e(DN(5));break;case 38:case 104:e(FN(1));break;case 39:case 105:e(NN(5));break;case 40:case 98:e(FN(-1));break;case 66:case 102:e(MN());break;case 67:e(_N());break;case 76:case 96:e(sP());break;case 82:e(QN());break;case 83:e(VN());break;case 86:e(BN());break;case 88:case 101:e(TN());break;case 90:case 100:e(RN());break;case 97:e(UN(-10));break;case 99:e(UN(10))}27!==i.keyCode&&(t=i.keyCode===n[t]?t+1:0,t===n.length&&e({type:CB}))}};return document.addEventListener("keydown",i),()=>{document.removeEventListener("keydown",i)}}(this.store.dispatch))}play(){this.store.dispatch(TN())}pause(){this.store.dispatch(_N())}stop(){this.store.dispatch(BN())}setVolume(e){this.store.dispatch(PN(e))}seekBackward(e){this.store.dispatch(DN(e))}seekForward(e){this.store.dispatch(NN(e))}seekToTime(e){this.store.dispatch(LN(e))}isShuffleEnabled(){return EL(this.store.getState())}toggleShuffle(){this.store.dispatch(VN())}isRepeatEnabled(){return yL(this.store.getState())}toggleRepeat(){this.store.dispatch(QN())}nextTrack(){this.store.dispatch(MN())}previousTrack(){this.store.dispatch(RN())}setCurrentTrack(e){this.store.dispatch(IN(e))}appendTracks(e){const t=pR(this.store.getState());this.store.dispatch(cP(e,NU,t))}setTracksToPlay(e){this.store.dispatch(cP(e,LU))}getPlaylistTracks(){return mR(this.store.getState())}getMediaStatus(){return HR(this.store.getState())}getPlayerMediaStatus(){return qR(this.store.getState())}onWillClose(e){return this._actionEmitter.on(cU,t=>{e(t.cancel)})}onClose(e){return this._actionEmitter.on(nB,e)}close(){this.store.dispatch(LP())}reopen(){this.store.dispatch({type:iB})}onTrackDidChange(e){let t=null;return this.store.subscribe(()=>{const n=this.store.getState(),i=XR(n);i!==t&&(t=i,e(null==i?null:ZR(n)))})}onMinimize(e){return this._actionEmitter.on(rB,e)}setSkinFromUrl(e){this.store.dispatch(iP(e))}async skinIsLoaded(){await YQ(this.store,e=>!e.display.loading),await Promise.all([qL(this.store.getState()),HL(this.store.getState())])}async renderWhenReady(e){var t;if(this.store.dispatch((t=e,(e,n)=>{if(!n().windows.positionsAreRelative)return;const{left:i,top:r}=t.getBoundingClientRect(),{scrollWidth:a,scrollHeight:s}=t;e(vN({left:i,top:r,width:a,height:s}))})),await this.skinIsLoaded(),this._disposable.disposed)return;if(null!=this._root)throw new Error("Cannot render a Webamp instance twice");let n;this._root=dT.createRoot(e),this._disposable.add(()=>{null!=this._root&&(this._root.unmount(),this._root=null)});const i=new Promise(e=>{n=e});this._root.render(Fd.jsx(O_,{store:this.store,children:Fd.jsx(PQ,{media:this.media,filePickers:this.options.filePickers||[],onMount:n,parentDomNode:document.body})})),await i}dispose(){this.media.dispose(),this._actionEmitter.dispose(),this._disposable.dispose()}__loadSerializedState(e){this.store.dispatch(function(e){return t=>{t({type:uU,serializedState:e}),t(xN())}}(e))}__getSerializedState(){return{version:1,media:LM((e=this.store.getState()).media),equalizer:e.equalizer,display:QM(e.display),windows:MM(e.windows)};var e}__onStateChange(e){return this.store.subscribe(e)}_bufferTracks(e){const t=pR(this.store.getState());this.store.dispatch(cP(e,RU,t))}};const YQ=(e,t)=>new Promise(n=>{if(t(e.getState()))return void n();const i=e.subscribe(()=>{t(e.getState())&&(n(),i())})});window.Webamp=jQ;let KQ=1;const qQ={};let HQ,JQ=!1;function WQ(e){if(JQ)setTimeout(WQ,0,e);else{const t=qQ[e];if(t){JQ=!0;try{!function(e){const t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(void 0,n)}}(t)}finally{!function(e){delete qQ[e]}(e),JQ=!1}}}}!function(){if(!window.importScripts){let e=!0;const t=window.onmessage;return window.onmessage=function(){e=!1},window.postMessage("","*"),window.onmessage=t,e}}()?HQ=function(e){setTimeout(WQ,0,e)}:function(){const e=`setImmediate$${Math.random()}$`;window.addEventListener("message",t=>{t.source===window&&"string"==typeof t.data&&0===t.data.indexOf(e)&&WQ(+t.data.slice(e.length))},!1),HQ=function(t){window.postMessage(e+t,"*")}}(),t(xi()).delay=function(e,t,n){!function(e){const t=new Array(arguments.length-1);for(let e=0;e<t.length;e++)t[e]=arguments[e+1];const n={callback:e,args:t};qQ[KQ]=n,HQ(KQ),KQ++}(()=>{e.apply(n||null,t||[])})};class XQ extends jQ{constructor(e){super({...e,requireJSZip:async()=>ko,requireMusicMetadata:async()=>Md})}}window.Webamp=XQ;window,function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=24)}([function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.arrayJoin=function(e,t){const n=[];for(let i=0;i<e.length;i++)n.push(e[i]),i===e.length-1||n.push(t);return n},t.flatten=function(e){return[].concat.apply([],e)},t.times=function(e,t){return new Array(e).fill(null).map((e,n)=>t(n))},t.repeat=function(e,t){return new Array(e).fill(t).join("")},t.ScopedIdMap=class{constructor(){this._map=new Map}get(e,t){const n=null==e?t:`${e}::${t}`;return this._map.has(n)||this._map.set(n,this._map.size),this._map.get(n)}size(){return this._map.size}},t.formatList=function(e){if(0===e.length)throw new Error("Cannot format an empty list");if(1===e.length)return e[0];const t=e.map(e=>`"${e}"`),n=t.pop();return t.join(", ")+" and "+n}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});const i={sin:Math.sin,cos:Math.cos,tan:Math.tan,asin:Math.asin,acos:Math.acos,atan:Math.atan,atan2:Math.atan2,rand:e=>Math.random()*e,pow:Math.pow,log:Math.log,log10:Math.log10,exp:Math.exp,sigmoid:function(e,t){const n=1+Math.exp(-e*t);return Math.abs(n)>1e-5?1/n:0}};t.default=i},function(e,t,n){var i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const r=i(n(21)),a=n(0);function s(e){const t=new Uint8Array(8);return r.write(t,e),t}function A(e){const t=[];do{let n=127&e;0!=(e>>>=7)&&(n|=128),t.push(n)}while(0!==e);return t}function o(e){let t=[],n=0,i=Math.ceil(Math.log2(Math.abs(e))),r=e<0,a=!0;for(;a;)n=127&e,e>>=7,r&&(e|=-(1<<i-7)),(0!=e||64&n)&&(-1!=e||64&~n)?n|=128:a=!1,t.push(n);return t}t.MAGIC=[0,97,115,109],t.WASM_VERSION=[1,0,0,0],t.EPSILON=1e-5,t.SECTION={TYPE:1,IMPORT:2,FUNC:3,MEMORY:5,GLOBAL:6,EXPORT:7,CODE:10},t.EXPORT_TYPE={FUNC:0,TABLE:1,MEMORY:2,GLOBAL:3},t.op={block:e=>[2,e],loop:e=>[3,e],if:e=>[4,e],else:5,end:11,br_if:e=>[13,...A(e)],call:e=>[16,...A(e)],drop:26,select:27,local_get:e=>[32,...A(e)],local_set:e=>[33,...A(e)],local_tee:e=>[34,...A(e)],global_get:e=>[35,...A(e)],global_set:e=>[36,...A(e)],f64_load:(e,t)=>[43,...A(e),...A(t)],f64_store:(e,t)=>[57,...A(e),...A(t)],i32_const:e=>[65,...o(e)],f64_const:e=>[68,...s(e)],i32_eqz:69,i32_ne:71,i32_lt_s:72,i32_lt_u:73,i32_gt_s:74,i32_le_s:76,i32_le_u:77,i32_ge_s:78,f64_eq:97,f64_ne:98,f64_lt:99,f64_gt:100,f64_le:101,f64_ge:102,i32_add:106,i32_sub:107,i32_mul:108,i32_rem_s:111,i32_and:113,i32_or:114,i64_rem_s:129,i64_and:131,i64_or:132,f64_abs:153,f64_neg:154,f64_ceil:155,f64_floor:156,f64_sqrt:159,f64_add:160,f64_sub:161,f64_mul:162,f64_div:163,f64_min:164,f64_max:165,i32_trunc_f64_s:170,i32_trunc_f64_u:171,i64_trunc_s_f64:176,f64_convert_i64_s:185,f64_convert_i32_s:183},t.VAL_TYPE={i32:127,i64:126,f32:125,f64:124},t.MUTABILITY={const:0,var:1},t.BLOCK={void:64,i32:127,i64:126,f32:125,f64:124},t.FUNCTION_TYPE=96,t.MEMORY_IDX=2,t.GLOBAL_TYPE=3,t.TYPE_IDX=0,t.IS_ZEROISH=[t.op.f64_abs,...t.op.f64_const(t.EPSILON),t.op.f64_lt],t.IS_NOT_ZEROISH=[t.op.f64_abs,...t.op.f64_const(t.EPSILON),t.op.f64_gt],t.encodef64=s,t.encodeString=e=>[e.length].concat(e.split("").map(e=>e.charCodeAt(0))),t.unsignedLEB128=A,t.signedLEB128=o,t.encodeFlatVector=e=>A(e.length).concat(e),t.encodeNestedVector=e=>A(e.length).concat(a.flatten(e)),t.encodeSection=function(e,n){if(0===n.length)return[];const i=t.encodeFlatVector(t.encodeNestedVector(n));return i.unshift(e),i}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.MAX_LOOP_COUNT=1048576,t.BUFFER_SIZE=8388608,t.WASM_MEMORY_SIZE=Math.ceil(8*t.BUFFER_SIZE*2/65536)},function(e,t,n){var i;void 0===(i=function(){return{baseVals:{gammaadj:1.25,wave_g:.5,mv_x:12,warpscale:1,brighten:0,mv_y:9,wave_scale:1,echo_alpha:0,additivewave:0,sx:1,sy:1,warp:.01,red_blue:0,wave_mode:0,wave_brighten:0,wrap:0,zoomexp:1,fshader:0,wave_r:.5,echo_zoom:1,wave_smoothing:.75,warpanimspeed:1,wave_dots:0,wave_x:.5,wave_y:.5,zoom:1,solarize:0,modwavealphabyvolume:0,dx:0,cx:.5,dy:0,darken_center:0,cy:.5,invert:0,bmotionvectorson:0,rot:0,modwavealphaend:.95,wave_mystery:-.2,decay:.9,wave_a:1,wave_b:.5,rating:5,modwavealphastart:.75,darken:0,echo_orient:0,ib_r:.5,ib_g:.5,ib_b:.5,ib_a:0,ib_size:0,ob_r:.5,ob_g:.5,ob_b:.5,ob_a:0,ob_size:0,mv_dx:0,mv_dy:0,mv_a:0,mv_r:.5,mv_g:.5,mv_b:.5,mv_l:0},init_eqs:function(){return{}},frame_eqs:function(e){return e.rkeys=["warp"],e.zoom=1.01+.02*e.treb_att,e.warp=.15+.25*e.bass_att,e},pixel_eqs:function(e){return e.warp=e.warp+.15*e.rad,e},waves:[{baseVals:{a:1,enabled:0,b:1,g:1,scaling:1,samples:512,additive:0,usedots:0,spectrum:0,r:1,smoothing:.5,thick:0,sep:0},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e},point_eqs:""},{baseVals:{a:1,enabled:0,b:1,g:1,scaling:1,samples:512,additive:0,usedots:0,spectrum:0,r:1,smoothing:.5,thick:0,sep:0},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e},point_eqs:""},{baseVals:{a:1,enabled:0,b:1,g:1,scaling:1,samples:512,additive:0,usedots:0,spectrum:0,r:1,smoothing:.5,thick:0,sep:0},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e},point_eqs:""},{baseVals:{a:1,enabled:0,b:1,g:1,scaling:1,samples:512,additive:0,usedots:0,spectrum:0,r:1,smoothing:.5,thick:0,sep:0},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e},point_eqs:""}],shapes:[{baseVals:{r2:0,a:1,enabled:0,b:0,tex_ang:0,thickoutline:0,g:0,textured:0,g2:1,tex_zoom:1,additive:0,border_a:.1,border_b:1,b2:0,a2:0,r:1,border_g:1,rad:.1,x:.5,y:.5,ang:0,sides:4,border_r:1},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e}},{baseVals:{r2:0,a:1,enabled:0,b:0,tex_ang:0,thickoutline:0,g:0,textured:0,g2:1,tex_zoom:1,additive:0,border_a:.1,border_b:1,b2:0,a2:0,r:1,border_g:1,rad:.1,x:.5,y:.5,ang:0,sides:4,border_r:1},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e}},{baseVals:{r2:0,a:1,enabled:0,b:0,tex_ang:0,thickoutline:0,g:0,textured:0,g2:1,tex_zoom:1,additive:0,border_a:.1,border_b:1,b2:0,a2:0,r:1,border_g:1,rad:.1,x:.5,y:.5,ang:0,sides:4,border_r:1},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e}},{baseVals:{r2:0,a:1,enabled:0,b:0,tex_ang:0,thickoutline:0,g:0,textured:0,g2:1,tex_zoom:1,additive:0,border_a:.1,border_b:1,b2:0,a2:0,r:1,border_g:1,rad:.1,x:.5,y:.5,ang:0,sides:4,border_r:1},init_eqs:function(e){return e.rkeys=[],e},frame_eqs:function(e){return e}}],warp:"shader_body {\nret = texture2D(sampler_main, uv).rgb;\nret -= 0.004;\n}\n",comp:"shader_body {\nret = texture2D(sampler_main, uv).rgb;\nret *= hue_shader;\n}\n"}}.apply(t,[]))||(e.exports=i)},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});const i=n(14),r=n(15),a=n(19),s=n(6);function A(e,t){const n=i.getLoc(t,e.first_column),r=i.getLoc(t,e.last_column);return{first_column:n.column,last_column:r.column,first_line:n.line,last_line:r.line}}t.parse=function(e){const[t,n]=i.preProcess(e);try{const i=r.parse(t);return a.mapAst(i,t=>{if(1!==t.loc.first_line||1!=t.loc.last_line)throw s.createCompilerError("Unexpected multiline",t.loc,e);return Object.assign(Object.assign({},t),{loc:A(t.loc,n)})})}catch(t){if(null==t.hash)throw t;throw s.createUserError("Parse Error: "+t.message.split("\n")[3],A(t.hash.loc,n),e)}}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});const i=n(0);function r(e,t,n=1){const r=Math.max(e.first_line-1-n,0),a=e.last_line+n,s=t.split("\n").slice(r,a).map((t,n)=>{const i=n+r+1;return`${i>=e.first_line&&i<=e.last_line?">":" "} ${i} | ${t}`});if(e.first_line===e.last_line){const t=i.repeat(e.first_column," "),n=i.repeat(e.last_column-e.first_column,"^"),a=e.first_line-r;s.splice(a,0,` | ${t}${n}`)}return s.join("\n")}t.printLoc=r;class a extends Error{constructor(e,t,n){super(e),this.sourceContext=r(t,n),this.loc=t}}class s extends a{}t.createUserError=function(e,t,n){return new s(e,t,n)},t.createCompilerError=function(e,t,n){return new a(e,t,n)}},function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const a=n(5),s=n(20),A=n(2),o=i(n(1)),l=r(n(0)),c=n(8),u=n(3);t.compileModule=function({pools:e,functions:t,eelVersion:n=2,preParsed:i=!1}){if(Object.keys(e).includes("shims"))throw new Error('You may not name a pool "shims". "shims" is reserved for injected JavaScript functions.');const r=[];Object.entries(e).forEach(([e,t])=>{t.forEach(t=>{r.push([e,t])})});const h=new l.ScopedIdMap;r.forEach(([e,t])=>{h.get(e,t)});const d=Object.entries(o.default).map(([e,t])=>({args:new Array(t.length).fill(null).map(e=>A.VAL_TYPE.f64),returns:[A.VAL_TYPE.f64],name:e})),g=[],p=[];Object.entries(t).forEach(([t,{pool:r,code:o}])=>{if(null==e[r]){const n=Object.keys(e);if(0===n.length)throw new Error(`The function "${t}" was declared as using a variable pool named "${r}" but no pools were defined.`);throw new Error(`The function "${t}" was declared as using a variable pool named "${r}" which is not among the variable pools defined. The defined variable pools are: `+l.formatList(n)+".")}const u=i?o:a.parse(o);if("string"==typeof u)throw new Error("Got passed unparsed code without setting the preParsed flag");if("SCRIPT"!==u.type)throw new Error("Invalid AST");if(0===u.body.length)return;const f=[],m={resolveVar:e=>/^reg\d\d$/.test(e)?h.get(null,e):h.get(r,e),resolveLocal:e=>(f.push(e),f.length-1),resolveFunc:e=>{const t=d.findIndex(t=>t.name===e);if(-1!==t){const i=A.op.call(t);return"rand"===e&&1===n?[...i,A.op.f64_floor]:i}if(null==c.localFuncMap[e])return null;let i=g.indexOf(e);return-1===i&&(g.push(e),i=g.length-1),A.op.call(i+d.length)},rawSource:o},b=s.emit(u,m);p.push({binary:b,exportName:t,args:[],returns:[],localVariables:f})});const f=g.map(e=>{const t=c.localFuncMap[e];if(null==t)throw new Error(`Undefined local function "${e}"`);return t}),m=e=>[...e.args,"|",...e.returns].join("-"),b=[],w=new Map;function E(e){const t=m(e),n=w.get(t);if(null==n)throw new Error("Failed to get a type index for key "+t);return n}[...d,...f,...p].forEach(e=>{const t=m(e);w.has(t)||(b.push([A.FUNCTION_TYPE,...A.encodeFlatVector(e.args),...A.encodeFlatVector(e.returns)]),w.set(t,b.length-1))});const y=[...r.map(([e,t])=>[...A.encodeString(e),...A.encodeString(t),A.GLOBAL_TYPE,A.VAL_TYPE.f64,A.MUTABILITY.var]),...d.map((e,t)=>{const n=E(e);return[...A.encodeString("shims"),...A.encodeString(e.name),A.TYPE_IDX,...A.unsignedLEB128(n)]})],v=[...f,...p].map(e=>{const t=E(e);return A.unsignedLEB128(t)}),k=[[1,...A.unsignedLEB128(u.WASM_MEMORY_SIZE),...A.unsignedLEB128(u.WASM_MEMORY_SIZE)]],S=h.size()-r.length,x=l.times(S,()=>[A.VAL_TYPE.f64,A.MUTABILITY.var,...A.op.f64_const(0),A.op.end]),I=[...p].map((e,t)=>{const n=t+d.length+f.length;return[...A.encodeString(e.exportName),A.EXPORT_TYPE.FUNC,...A.unsignedLEB128(n)]}),C=[...f,...p].map(e=>{var t;const n=(null!==(t=e.localVariables)&&void 0!==t?t:[]).map(e=>[...A.unsignedLEB128(1),e]);return A.encodeFlatVector([...A.encodeNestedVector(n),...e.binary,A.op.end])});return new Uint8Array([...A.MAGIC,...A.WASM_VERSION,...A.encodeSection(A.SECTION.TYPE,b),...A.encodeSection(A.SECTION.IMPORT,y),...A.encodeSection(A.SECTION.FUNC,v),...A.encodeSection(A.SECTION.MEMORY,k),...A.encodeSection(A.SECTION.GLOBAL,x),...A.encodeSection(A.SECTION.EXPORT,I),...A.encodeSection(A.SECTION.CODE,C)])}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});const i=n(2),r=n(3);t.localFuncMap={sqr:{args:[i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.local_get(0),...i.op.local_get(0),i.op.f64_mul]},bor:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.local_get(0),...i.IS_NOT_ZEROISH,...i.op.local_get(1),...i.IS_NOT_ZEROISH,i.op.i32_or,...i.op.i32_const(0),i.op.i32_ne,i.op.f64_convert_i32_s]},band:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.local_get(0),...i.IS_NOT_ZEROISH,...i.op.local_get(1),...i.IS_NOT_ZEROISH,i.op.i32_and,...i.op.i32_const(0),i.op.i32_ne,i.op.f64_convert_i32_s]},sign:{args:[i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.f64_const(0),...i.op.local_get(0),i.op.f64_lt,...i.op.local_get(0),...i.op.f64_const(0),i.op.f64_lt,i.op.i32_sub,i.op.f64_convert_i32_s]},mod:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],localVariables:[i.VAL_TYPE.i32],binary:[...i.op.local_get(1),i.op.i32_trunc_f64_s,...i.op.local_tee(2),...i.op.i32_const(0),i.op.i32_ne,...i.op.if(i.BLOCK.f64),...i.op.local_get(0),i.op.i32_trunc_f64_s,...i.op.local_get(2),i.op.i32_rem_s,i.op.f64_convert_i32_s,i.op.else,...i.op.f64_const(0),i.op.end]},bitwiseOr:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.local_get(0),i.op.i64_trunc_s_f64,...i.op.local_get(1),i.op.i64_trunc_s_f64,i.op.i64_or,i.op.f64_convert_i64_s]},bitwiseAnd:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],binary:[...i.op.local_get(0),i.op.i64_trunc_s_f64,...i.op.local_get(1),i.op.i64_trunc_s_f64,i.op.i64_and,i.op.f64_convert_i64_s]},div:{args:[i.VAL_TYPE.f64,i.VAL_TYPE.f64],returns:[i.VAL_TYPE.f64],localVariables:[i.VAL_TYPE.i32],binary:[...i.op.local_get(1),...i.op.f64_const(0),i.op.f64_ne,...i.op.if(i.BLOCK.f64),...i.op.local_get(0),...i.op.local_get(1),i.op.f64_div,i.op.else,...i.op.f64_const(0),i.op.end]},_getBufferIndex:{args:[i.VAL_TYPE.f64],returns:[i.VAL_TYPE.i32],localVariables:[i.VAL_TYPE.f64,i.VAL_TYPE.i32],binary:[...i.op.f64_const(i.EPSILON),...i.op.local_get(0),i.op.f64_add,...i.op.local_tee(1),i.op.i32_trunc_f64_s,...i.op.local_set(2),...i.op.i32_const(-1),...i.op.local_get(2),...i.op.i32_const(8),i.op.i32_mul,...i.op.local_get(2),...i.op.i32_const(0),i.op.i32_lt_s,...i.op.local_get(2),...i.op.i32_const(r.BUFFER_SIZE-1),i.op.i32_gt_s,i.op.i32_or,i.op.select]}}},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(5);t.parse=r.parse;const a=n(7);t.compileModule=a.compileModule;const s=i(n(1));t.shims=s.default;const A=n(22);t.loadModule=A.loadModule},function(e,t){e.exports=()=>"AGFzbQEAAAABPQpgAABgAXwBfGACfHwBfGACf38AYAR/f39/AGAJf39/f3x8fHx8AGADf399AGABfwF/YAJ/fwF/YAF+AX8CuBWMAQNlbnYFYWJvcnQABAhwaXhlbEVxcwtwZXJQaXhlbEVxcwAADHBpeGVsVmFyUG9vbAR3YXJwA3wBDHBpeGVsVmFyUG9vbAR6b29tA3wBDHBpeGVsVmFyUG9vbAd6b29tZXhwA3wBDHBpeGVsVmFyUG9vbAJjeAN8AQxwaXhlbFZhclBvb2wCY3kDfAEMcGl4ZWxWYXJQb29sAnN4A3wBDHBpeGVsVmFyUG9vbAJzeQN8AQxwaXhlbFZhclBvb2wCZHgDfAEMcGl4ZWxWYXJQb29sAmR5A3wBDHBpeGVsVmFyUG9vbANyb3QDfAEMcGl4ZWxWYXJQb29sA3JhZAN8AQxwaXhlbFZhclBvb2wDYW5nA3wBDHBpeGVsVmFyUG9vbAF4A3wBDHBpeGVsVmFyUG9vbAF5A3wBCHFWYXJQb29sAnExA3wBCHFWYXJQb29sAnEyA3wBCHFWYXJQb29sAnEzA3wBCHFWYXJQb29sAnE0A3wBCHFWYXJQb29sAnE1A3wBCHFWYXJQb29sAnE2A3wBCHFWYXJQb29sAnE3A3wBCHFWYXJQb29sAnE4A3wBCHFWYXJQb29sAnE5A3wBCHFWYXJQb29sA3ExMAN8AQhxVmFyUG9vbANxMTEDfAEIcVZhclBvb2wDcTEyA3wBCHFWYXJQb29sA3ExMwN8AQhxVmFyUG9vbANxMTQDfAEIcVZhclBvb2wDcTE1A3wBCHFWYXJQb29sA3ExNgN8AQhxVmFyUG9vbANxMTcDfAEIcVZhclBvb2wDcTE4A3wBCHFWYXJQb29sA3ExOQN8AQhxVmFyUG9vbANxMjADfAEIcVZhclBvb2wDcTIxA3wBCHFWYXJQb29sA3EyMgN8AQhxVmFyUG9vbANxMjMDfAEIcVZhclBvb2wDcTI0A3wBCHFWYXJQb29sA3EyNQN8AQhxVmFyUG9vbANxMjYDfAEIcVZhclBvb2wDcTI3A3wBCHFWYXJQb29sA3EyOAN8AQhxVmFyUG9vbANxMjkDfAEIcVZhclBvb2wDcTMwA3wBCHFWYXJQb29sA3EzMQN8AQhxVmFyUG9vbANxMzIDfAEIdFZhclBvb2wCdDEDfAEIdFZhclBvb2wCdDIDfAEIdFZhclBvb2wCdDMDfAEIdFZhclBvb2wCdDQDfAEIdFZhclBvb2wCdDUDfAEIdFZhclBvb2wCdDYDfAEIdFZhclBvb2wCdDcDfAEIdFZhclBvb2wCdDgDfAEKc2hhcGVQb29sMAN4XzADfAEKc2hhcGVQb29sMAN5XzADfAEKc2hhcGVQb29sMAVyYWRfMAN8AQpzaGFwZVBvb2wwBWFuZ18wA3wBCnNoYXBlUG9vbDADcl8wA3wBCnNoYXBlUG9vbDADZ18wA3wBCnNoYXBlUG9vbDADYl8wA3wBCnNoYXBlUG9vbDADYV8wA3wBCnNoYXBlUG9vbDAEcjJfMAN8AQpzaGFwZVBvb2wwBGcyXzADfAEKc2hhcGVQb29sMARiMl8wA3wBCnNoYXBlUG9vbDAEYTJfMAN8AQpzaGFwZVBvb2wwCmJvcmRlcl9yXzADfAEKc2hhcGVQb29sMApib3JkZXJfZ18wA3wBCnNoYXBlUG9vbDAKYm9yZGVyX2JfMAN8AQpzaGFwZVBvb2wwCmJvcmRlcl9hXzADfAEKc2hhcGVQb29sMA50aGlja291dGxpbmVfMAN8AQpzaGFwZVBvb2wwCnRleHR1cmVkXzADfAEKc2hhcGVQb29sMAp0ZXhfem9vbV8wA3wBCnNoYXBlUG9vbDAJdGV4X2FuZ18wA3wBCnNoYXBlUG9vbDAKYWRkaXRpdmVfMAN8AQpzaGFwZVBvb2wxA3hfMQN8AQpzaGFwZVBvb2wxA3lfMQN8AQpzaGFwZVBvb2wxBXJhZF8xA3wBCnNoYXBlUG9vbDEFYW5nXzEDfAEKc2hhcGVQb29sMQNyXzEDfAEKc2hhcGVQb29sMQNnXzEDfAEKc2hhcGVQb29sMQNiXzEDfAEKc2hhcGVQb29sMQNhXzEDfAEKc2hhcGVQb29sMQRyMl8xA3wBCnNoYXBlUG9vbDEEZzJfMQN8AQpzaGFwZVBvb2wxBGIyXzEDfAEKc2hhcGVQb29sMQRhMl8xA3wBCnNoYXBlUG9vbDEKYm9yZGVyX3JfMQN8AQpzaGFwZVBvb2wxCmJvcmRlcl9nXzEDfAEKc2hhcGVQb29sMQpib3JkZXJfYl8xA3wBCnNoYXBlUG9vbDEKYm9yZGVyX2FfMQN8AQpzaGFwZVBvb2wxDnRoaWNrb3V0bGluZV8xA3wBCnNoYXBlUG9vbDEKdGV4dHVyZWRfMQN8AQpzaGFwZVBvb2wxCnRleF96b29tXzEDfAEKc2hhcGVQb29sMQl0ZXhfYW5nXzEDfAEKc2hhcGVQb29sMQphZGRpdGl2ZV8xA3wBCnNoYXBlUG9vbDIDeF8yA3wBCnNoYXBlUG9vbDIDeV8yA3wBCnNoYXBlUG9vbDIFcmFkXzIDfAEKc2hhcGVQb29sMgVhbmdfMgN8AQpzaGFwZVBvb2wyA3JfMgN8AQpzaGFwZVBvb2wyA2dfMgN8AQpzaGFwZVBvb2wyA2JfMgN8AQpzaGFwZVBvb2wyA2FfMgN8AQpzaGFwZVBvb2wyBHIyXzIDfAEKc2hhcGVQb29sMgRnMl8yA3wBCnNoYXBlUG9vbDIEYjJfMgN8AQpzaGFwZVBvb2wyBGEyXzIDfAEKc2hhcGVQb29sMgpib3JkZXJfcl8yA3wBCnNoYXBlUG9vbDIKYm9yZGVyX2dfMgN8AQpzaGFwZVBvb2wyCmJvcmRlcl9iXzIDfAEKc2hhcGVQb29sMgpib3JkZXJfYV8yA3wBCnNoYXBlUG9vbDIOdGhpY2tvdXRsaW5lXzIDfAEKc2hhcGVQb29sMgp0ZXh0dXJlZF8yA3wBCnNoYXBlUG9vbDIKdGV4X3pvb21fMgN8AQpzaGFwZVBvb2wyCXRleF9hbmdfMgN8AQpzaGFwZVBvb2wyCmFkZGl0aXZlXzIDfAEKc2hhcGVQb29sMwN4XzMDfAEKc2hhcGVQb29sMwN5XzMDfAEKc2hhcGVQb29sMwVyYWRfMwN8AQpzaGFwZVBvb2wzBWFuZ18zA3wBCnNoYXBlUG9vbDMDcl8zA3wBCnNoYXBlUG9vbDMDZ18zA3wBCnNoYXBlUG9vbDMDYl8zA3wBCnNoYXBlUG9vbDMDYV8zA3wBCnNoYXBlUG9vbDMEcjJfMwN8AQpzaGFwZVBvb2wzBGcyXzMDfAEKc2hhcGVQb29sMwRiMl8zA3wBCnNoYXBlUG9vbDMEYTJfMwN8AQpzaGFwZVBvb2wzCmJvcmRlcl9yXzMDfAEKc2hhcGVQb29sMwpib3JkZXJfZ18zA3wBCnNoYXBlUG9vbDMKYm9yZGVyX2JfMwN8AQpzaGFwZVBvb2wzCmJvcmRlcl9hXzMDfAEKc2hhcGVQb29sMw50aGlja291dGxpbmVfMwN8AQpzaGFwZVBvb2wzCnRleHR1cmVkXzMDfAEKc2hhcGVQb29sMwp0ZXhfem9vbV8zA3wBCnNoYXBlUG9vbDMJdGV4X2FuZ18zA3wBCnNoYXBlUG9vbDMKYWRkaXRpdmVfMwN8AQMZGAgDBwkBAQICAQYFAAAAAAAAAAAAAAAAAAUDAQABBuwMigF8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt8AUQAAAAAAAAAAAt/AUEAC3wBRAAAAAAAAAAAC3wBRAAAAAAAAAAAC34BQgALB9kB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"},function(e,t,n){{const e=(e,t)=>{var n="function"==typeof t,i="function"==typeof t,r="function"==typeof t;Object.defineProperty(Math,e,{configurable:n,enumerable:r,writable:i,value:t})};e("DEG_PER_RAD",Math.PI/180),e("RAD_PER_DEG",180/Math.PI);const t=new Float32Array(1);e("scale",function(e,t,n,i,r){return 0===arguments.length||Number.isNaN(e)||Number.isNaN(t)||Number.isNaN(n)||Number.isNaN(i)||Number.isNaN(r)?NaN:e===1/0||e===-1/0?e:(e-t)*(r-i)/(n-t)+i}),e("fscale",function(e,n,i,r,a){return t[0]=Math.scale(e,n,i,r,a),t[0]}),e("clamp",function(e,t,n){return Math.min(n,Math.max(t,e))}),e("radians",function(e){return e*Math.DEG_PER_RAD}),e("degrees",function(e){return e*Math.RAD_PER_DEG})}},function(e,t){window.sqr=function(e){return e*e},window.sqrt=function(e){return Math.sqrt(Math.abs(e))},window.log10=function(e){return Math.log(e)*Math.LOG10E},window.sign=function(e){return e>0?1:e<0?-1:0},window.rand=function(e){var t=Math.floor(e);return t<1?Math.random():Math.random()*t},window.randint=function(e){return Math.floor(rand(e))},window.bnot=function(e){return Math.abs(e)<1e-5?1:0},window.pow=function(e,t){var n,i=Math.pow(e,t);return n=i,!isFinite(n)||isNaN(n)?0:i},window.div=function(e,t){return 0===t?0:e/t},window.mod=function(e,t){return 0===t?0:Math.floor(e)%Math.floor(t)},window.bitor=function(e,t){return Math.floor(e)|Math.floor(t)},window.bitand=function(e,t){return Math.floor(e)&Math.floor(t)},window.sigmoid=function(e,t){var n=1+Math.exp(-e*t);return Math.abs(n)>1e-5?1/n:0},window.bor=function(e,t){return Math.abs(e)>1e-5||Math.abs(t)>1e-5?1:0},window.band=function(e,t){return Math.abs(e)>1e-5&&Math.abs(t)>1e-5?1:0},window.equal=function(e,t){return Math.abs(e-t)<1e-5?1:0},window.above=function(e,t){return e>t?1:0},window.below=function(e,t){return e<t?1:0},window.ifcond=function(e,t,n){return Math.abs(e)>1e-5?t:n},window.memcpy=function(e,t,n,i){let r=t,a=n,s=i;return a<0&&(s+=a,r-=a,a=0),r<0&&(s+=r,a-=r,r=0),s>0&&e.copyWithin(r,a,s),t}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.getLoc=function(e,t){let n={destCol:1,srcCol:1,srcLine:1};e.forEach(e=>{e.destCol>t||(n=e)});const i=t-n.destCol;return{column:n.srcCol+i,line:n.srcLine}},t.preProcess=function(e){const t=[];let n=1,i="",r=0,a=!1,s=!1,A=!1;for(let o=0;o<e.length;o++){const l=e[o];if(A){const e=i.length+1,a=o-r+1;t.push({destCol:e,srcCol:a,srcLine:n}),A=!1}"\n"===l?(a=!1,n++,r=o+1,A=!0):"\r"===l&&"\n"===e[o+1]?(o++,a=!1,n++,r=o+1,A=!0):s&&"*"===l&&"/"===e[o+1]?(s=!1,o++,A=!0):"\\"===l&&"\\"===e[o+1]||"/"===l&&"/"===e[o+1]?(a=!0,o++):"/"===l&&"*"===e[o+1]?(s=!0,o++):a||s||(i+=l)}return[i,t]}},function(e,t,n){let i=n(16);e.exports={parse:i.parse}},function(e,t,n){(function(e,i){var r=function(){var e=function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},t=[1,18],n=[1,7],i=[1,19],r=[1,20],a=[1,14],s=[1,15],A=[1,16],o=[1,33],l=[1,31],c=[1,23],u=[1,22],h=[1,24],d=[1,25],g=[1,26],p=[1,27],f=[1,28],m=[1,29],b=[1,30],w=[5,8,15,18,20,28,29,32,33,34,35,36,37,38],E=[5,15,18],y=[5,12,15,17,18,24,25,28,29,30],v=[1,57],k=[5,8,12,15,17,18,24,25,28,29,30],S=[15,18],x=[5,8,15,18,28,29,38],I=[5,8,15,18,28,29,32,33,38],C=[5,8,15,18,28,29,32,33,34,37,38],T=[5,8,15,18,28,29,32,33,34,35,36,37,38],_=[5,8,15,18],B=[5,8,15,18,20,22,28,29,32,33,34,35,36,37,38],U={trace:function(){},yy:{},symbols_:{error:2,SCRIPT:3,expression:4,EOF:5,expressionsOptionalTrailingSemi:6,separator:7,";":8,expressions:9,EXPRESSION_BLOCK:10,IDENTIFIER:11,IDENTIFIER_TOKEN:12,argument:13,arguments:14,",":15,FUNCTION_CALL:16,"(":17,")":18,LOGICAL_EXPRESSION:19,LOGICAL_OPERATOR_TOKEN:20,ASSIGNMENT:21,ASSIGNMENT_OPERATOR_TOKEN:22,number:23,DIGITS_TOKEN:24,".":25,NUMBER_LITERAL:26,UNARY_EXPRESSION:27,"-":28,"+":29,"!":30,BINARY_EXPRESSION:31,"*":32,"/":33,"%":34,"&":35,"|":36,"^":37,COMPARISON_TOKEN:38,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",8:";",12:"IDENTIFIER_TOKEN",15:",",17:"(",18:")",20:"LOGICAL_OPERATOR_TOKEN",22:"ASSIGNMENT_OPERATOR_TOKEN",24:"DIGITS_TOKEN",25:".",28:"-",29:"+",30:"!",32:"*",33:"/",34:"%",35:"&",36:"|",37:"^",38:"COMPARISON_TOKEN"},productions_:[0,[3,2],[3,2],[3,1],[7,1],[7,2],[9,2],[9,3],[6,1],[6,2],[10,1],[11,1],[13,1],[13,1],[14,1],[14,3],[16,3],[16,4],[19,3],[21,3],[21,3],[23,1],[23,2],[23,3],[23,2],[23,1],[26,1],[27,2],[27,2],[27,2],[31,3],[31,3],[31,3],[31,3],[31,3],[31,3],[31,3],[31,3],[31,3],[4,1],[4,1],[4,3],[4,1],[4,1],[4,1],[4,1],[4,1],[4,3]],performAction:function(e,t,n,i,r,a,s){var A=a.length-1;switch(r){case 1:return{type:"SCRIPT",body:[a[A-1]],loc:this._$};case 2:return{type:"SCRIPT",body:a[A-1],loc:this._$};case 3:return{type:"SCRIPT",body:[],loc:this._$};case 6:this.$=[a[A-1]];break;case 7:this.$=a[A-2].concat([a[A-1]]);break;case 8:this.$=a[A];break;case 9:this.$=a[A-1].concat([a[A]]);break;case 10:this.$={type:"EXPRESSION_BLOCK",body:a[A],loc:this._$};break;case 11:this.$={type:"IDENTIFIER",value:a[A].toLowerCase(),loc:this._$};break;case 14:this.$=[a[A]];break;case 15:this.$=a[A-2].concat([a[A]]);break;case 16:this.$={type:"CALL_EXPRESSION",callee:a[A-2],arguments:[],loc:this._$};break;case 17:this.$={type:"CALL_EXPRESSION",callee:a[A-3],arguments:a[A-1],loc:this._$};break;case 18:this.$={type:"LOGICAL_EXPRESSION",left:a[A-2],right:a[A],operator:a[A-1],loc:this._$};break;case 19:case 20:this.$={type:"ASSIGNMENT_EXPRESSION",left:a[A-2],operator:a[A-1],right:a[A],loc:this._$};break;case 21:this.$=Number(a[A]);break;case 22:this.$=Number(a[A-1]);break;case 23:this.$=Number(a[A-2]+a[A-1]+a[A]);break;case 24:this.$=Number("0"+a[A-1]+a[A]);break;case 25:this.$=0;break;case 26:this.$={type:"NUMBER_LITERAL",value:a[A],loc:this._$};break;case 27:case 28:case 29:this.$={type:"UNARY_EXPRESSION",value:a[A],operator:a[A-1],loc:this._$};break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:this.$={type:"BINARY_EXPRESSION",left:a[A-2],right:a[A],operator:a[A-1],loc:this._$};break;case 41:case 47:this.$=a[A-1]}},table:[{3:1,4:2,5:[1,4],6:3,9:13,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{1:[3]},{5:[1,21],7:32,8:o,20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b},{5:[1,34]},{1:[2,3]},e(w,[2,39]),e(w,[2,40]),{4:35,6:37,9:13,10:36,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},e(w,[2,42]),e(w,[2,43]),e(w,[2,44],{22:[1,38]}),e(w,[2,45],{17:[1,40],22:[1,39]}),e(w,[2,46]),e(E,[2,8],{31:5,27:6,26:8,21:9,16:10,11:11,19:12,23:17,4:41,12:t,17:n,24:i,25:r,28:a,29:s,30:A}),{4:42,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:43,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:44,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},e(w,[2,26]),e([5,8,15,17,18,20,22,28,29,32,33,34,35,36,37,38],[2,11]),e(w,[2,21],{25:[1,45]}),e(w,[2,25],{24:[1,46]}),{1:[2,1]},{4:47,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:48,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:49,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:50,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:51,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:52,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:53,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:54,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:55,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:56,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},e(y,[2,6],{8:v}),e(k,[2,4]),{1:[2,2]},{7:32,8:o,18:[1,58],20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b},{18:[1,59]},e(S,[2,10]),{4:60,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:61,11:11,12:t,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},{4:65,6:37,9:13,10:66,11:11,12:t,13:64,14:63,16:10,17:n,18:[1,62],19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},e(E,[2,9],{7:67,8:o,20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b}),e(x,[2,27],{20:l,32:h,33:d,34:g,35:p,36:f,37:m}),e(x,[2,28],{20:l,32:h,33:d,34:g,35:p,36:f,37:m}),e(x,[2,29],{20:l,32:h,33:d,34:g,35:p,36:f,37:m}),e(w,[2,22],{24:[1,68]}),e(w,[2,24]),e(x,[2,30],{20:l,32:h,33:d,34:g,35:p,36:f,37:m}),e(x,[2,31],{20:l,32:h,33:d,34:g,35:p,36:f,37:m}),e(I,[2,32],{20:l,34:g,35:p,36:f,37:m}),e(I,[2,33],{20:l,34:g,35:p,36:f,37:m}),e(C,[2,34],{20:l,35:p,36:f}),e(T,[2,35],{20:l}),e(T,[2,36],{20:l}),e(C,[2,37],{20:l,35:p,36:f}),e(_,[2,38],{20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b}),e(w,[2,18]),e(k,[2,5]),e(w,[2,41]),e(w,[2,47]),e(_,[2,20],{20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b}),e(_,[2,19],{20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b}),e(B,[2,16]),{15:[1,70],18:[1,69]},e(S,[2,14]),e(S,[2,12],{7:32,8:o,20:l,28:c,29:u,32:h,33:d,34:g,35:p,36:f,37:m,38:b}),e(S,[2,13]),e(y,[2,7],{8:v}),e(w,[2,23]),e(B,[2,17]),{4:65,6:37,9:13,10:66,11:11,12:t,13:71,16:10,17:n,19:12,21:9,23:17,24:i,25:r,26:8,27:6,28:a,29:s,30:A,31:5},e(S,[2,15])],defaultActions:{4:[2,3],21:[2,1],34:[2,2]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],i=[null],r=[],a=this.table,s="",A=0,o=0,l=2,c=1,u=r.slice.call(arguments,1),h=Object.create(this.lexer),d={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(d.yy[g]=this.yy[g]);h.setInput(e,d.yy),d.yy.lexer=h,d.yy.parser=this,void 0===h.yylloc&&(h.yylloc={});var p=h.yylloc;r.push(p);var f=h.options&&h.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var m,b,w,E,y,v,k,S,x,I=function(){var e;return"number"!=typeof(e=h.lex()||c)&&(e=t.symbols_[e]||e),e},C={};;){if(w=n[n.length-1],this.defaultActions[w]?E=this.defaultActions[w]:(null==m&&(m=I()),E=a[w]&&a[w][m]),void 0===E||!E.length||!E[0]){var T="";for(v in x=[],a[w])this.terminals_[v]&&v>l&&x.push("'"+this.terminals_[v]+"'");T=h.showPosition?"Parse error on line "+(A+1)+":\n"+h.showPosition()+"\nExpecting "+x.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(A+1)+": Unexpected "+(m==c?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(T,{text:h.match,token:this.terminals_[m]||m,line:h.yylineno,loc:p,expected:x})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+m);switch(E[0]){case 1:n.push(m),i.push(h.yytext),r.push(h.yylloc),n.push(E[1]),m=null,b?(m=b,b=null):(o=h.yyleng,s=h.yytext,A=h.yylineno,p=h.yylloc);break;case 2:if(k=this.productions_[E[1]][1],C.$=i[i.length-k],C._$={first_line:r[r.length-(k||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(k||1)].first_column,last_column:r[r.length-1].last_column},f&&(C._$.range=[r[r.length-(k||1)].range[0],r[r.length-1].range[1]]),void 0!==(y=this.performAction.apply(C,[s,o,A,d.yy,E[1],i,r].concat(u))))return y;k&&(n=n.slice(0,-1*k*2),i=i.slice(0,-1*k),r=r.slice(0,-1*k)),n.push(this.productions_[E[1]][0]),i.push(C.$),r.push(C._$),S=a[n[n.length-2]][n[n.length-1]],n.push(S);break;case 3:return!0}}return!0}},M={EOF:1,parseError:function(e,t){if(!this.yy.parser)throw new Error(e);this.yy.parser.parseError(e,t)},setInput:function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},unput:function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(e){this.unput(this.match.slice(e))},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},test_match:function(e,t){var n,i,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],n=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var a in r)this[a]=r[a];return!1}return!1},next:function(){if(this.done)return this.EOF;var e,t,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),a=0;a<r.length;a++)if((n=this._input.match(this.rules[r[a]]))&&(!t||n[0].length>t[0].length)){if(t=n,i=a,this.options.backtrack_lexer){if(!1!==(e=this.test_match(n,r[a])))return e;if(this._backtrack){t=!1;continue}return!1}if(!this.options.flex)break}return t?!1!==(e=this.test_match(t,r[i]))&&e:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){return this.next()||this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},pushState:function(e){this.begin(e)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(e,t,n,i){switch(n){case 0:break;case 1:return 24;case 2:return 38;case 3:return 22;case 4:return 20;case 5:return 12;case 6:return 5;case 7:return t.yytext[0]}},rules:[/^(?:\s+)/,/^(?:[0-9]+)/,/^(?:(==|!=|<=|>=|<|>))/,/^(?:[+\-*/%]?=)/,/^(?:(\&\&)|\|\|)/,/^(?:[a-zA-Z_][a-zA-Z0-9._]*)/,/^(?:$)/,/^(?:.)/],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};function R(){this.yy={}}return U.lexer=M,R.prototype=U,U.Parser=R,new R}();t.parser=r,t.Parser=r.Parser,t.parse=function(){return r.parse.apply(r,arguments)},t.main=()=>{},n.c[n.s]===e&&t.main(i.argv.slice(1))}).call(this,n(17)(e),n(18))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var n,i,r=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function A(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{i="function"==typeof clearTimeout?clearTimeout:s}catch(e){i=s}}();var o,l=[],c=!1,u=-1;function h(){c&&o&&(c=!1,o.length?l=o.concat(l):u=-1,l.length&&d())}function d(){if(!c){var e=A(h);c=!0;for(var t=l.length;t;){for(o=l,l=[];++u<t;)o&&o[u].run();u=-1,t=l.length}o=null,c=!1,function(e){if(i===clearTimeout)return clearTimeout(e);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(e);try{i(e)}catch(t){try{return i.call(null,e)}catch(t){return i.call(this,e)}}}(e)}}function g(e,t){this.fun=e,this.array=t}function p(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new g(e,t)),1!==l.length||c||A(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=p,r.addListener=p,r.once=p,r.off=p,r.removeListener=p,r.removeAllListeners=p,r.emit=p,r.prependListener=p,r.prependOnceListener=p,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0});const i={ASSIGNMENT_EXPRESSION:[{type:"NODE",key:"right"}],SCRIPT:[{type:"ARRAY",key:"body"}],EXPRESSION_BLOCK:[{type:"ARRAY",key:"body"}],UNARY_EXPRESSION:[{type:"NODE",key:"value"}],NUMBER_LITERAL:[],IDENTIFIER:[],CALL_EXPRESSION:[{type:"ARRAY",key:"arguments"},{type:"NODE",key:"callee"}],BINARY_EXPRESSION:[{type:"NODE",key:"left"},{type:"NODE",key:"right"}],LOGICAL_EXPRESSION:[{type:"NODE",key:"left"},{type:"NODE",key:"right"}]};t.mapAst=function e(t,n){const r=i[t.type];let a=t;if(null==r)throw new Error("Unknown children definition for "+t.type);return r.forEach(i=>{if("NODE"===i.type){const r=t[i.key],s=e(r,n);s!==r&&(a=Object.assign(Object.assign({},a),{[i.key]:s}))}else if("ARRAY"===i.type){const r=t[i.key],s=r.map(t=>e(t,n));r.some((e,t)=>e!==s[t])&&(a=Object.assign(Object.assign({},a),{[i.key]:s}))}}),n(a)}},function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=n(2),a=i(n(1)),s=n(6),A=n(8),o=n(0),l=n(3);function c(e,t){var n,i,d;switch(e.type){case"SCRIPT":{const n=e.body.map((e,n)=>[...c(e,t),r.op.drop]);return o.flatten(n)}case"EXPRESSION_BLOCK":return u(e.body,t);case"BINARY_EXPRESSION":{const n=c(e.left,t),i=c(e.right,t),a={"+":[r.op.f64_add],"-":[r.op.f64_sub],"*":[r.op.f64_mul],"/":t.resolveFunc("div"),"%":t.resolveFunc("mod"),"|":t.resolveFunc("bitwiseOr"),"&":t.resolveFunc("bitwiseAnd"),"^":t.resolveFunc("pow"),"==":[r.op.f64_sub,...r.IS_ZEROISH,r.op.f64_convert_i32_s],"!=":[r.op.f64_sub,...r.IS_NOT_ZEROISH,r.op.f64_convert_i32_s],"<":[r.op.f64_lt,r.op.f64_convert_i32_s],">":[r.op.f64_gt,r.op.f64_convert_i32_s],"<=":[r.op.f64_le,r.op.f64_convert_i32_s],">=":[r.op.f64_ge,r.op.f64_convert_i32_s]}[e.operator];if(null==a)throw s.createCompilerError("Unknown binary expression operator "+e.operator,e.loc,t.rawSource);return[...n,...i,...a]}case"CALL_EXPRESSION":{const i=e.callee.value,d=e.arguments,g=n=>{if(d.length<n)throw s.createUserError(`Too few arguments passed to \`${i}()\`. Expected ${n} but only got ${d.length}.`,e.loc,t.rawSource);if(d.length>n)throw s.createUserError(`Too many arguments passed to \`${i}()\`. Expected ${n} but got ${d.length}.`,d[n].loc,t.rawSource)};switch(i){case"exec2":return g(2),u(e.arguments,t);case"exec3":return g(3),u(e.arguments,t);case"if":g(3);const[a,A,o]=e.arguments;return function(e,t,n,i){return[...c(e,i),...r.IS_NOT_ZEROISH,...r.op.if(r.BLOCK.f64),...c(t,i),r.op.else,...c(n,i),r.op.end]}(a,A,o,t);case"while":return g(1),function(e,t){const n=c(e,t),i=t.resolveLocal(r.VAL_TYPE.i32);return[...r.op.i32_const(0),...r.op.local_set(i),...r.op.loop(r.BLOCK.void),...r.op.local_get(i),...r.op.i32_const(1),r.op.i32_add,...r.op.local_tee(i),...r.op.i32_const(l.MAX_LOOP_COUNT),r.op.i32_lt_u,...n,...r.IS_NOT_ZEROISH,r.op.i32_and,...r.op.br_if(0),r.op.end,...r.op.f64_const(0)]}(e.arguments[0],t);case"loop":return g(2),function(e,t,n){const i=c(t,n),a=n.resolveLocal(r.VAL_TYPE.i32);return[...r.op.block(r.BLOCK.void),...c(e,n),r.op.i32_trunc_f64_s,...r.op.local_tee(a),...r.op.i32_const(0),r.op.i32_le_s,...r.op.br_if(1),...r.op.loop(r.BLOCK.void),...i,r.op.drop,...r.op.local_get(a),...r.op.i32_const(1),r.op.i32_sub,...r.op.local_tee(a),...r.op.i32_const(0),r.op.i32_ne,...r.op.br_if(0),r.op.end,r.op.end,...r.op.f64_const(0)]}(e.arguments[0],e.arguments[1],t);case"megabuf":case"gmegabuf":g(1);const d=t.resolveLocal(r.VAL_TYPE.i32);return[...c(e.arguments[0],t),...null!==(n=t.resolveFunc("_getBufferIndex"))&&void 0!==n?n:[],...r.op.local_tee(d),...r.op.i32_const(-1),r.op.i32_ne,...r.op.if(r.BLOCK.f64),...r.op.local_get(d),...r.op.f64_load(3,h(i)),r.op.else,...r.op.f64_const(0),r.op.end];case"assign":g(2);const p=e.arguments[0];if("IDENTIFIER"!=p.type)throw s.createUserError("Expected the first argument of `assign()` to be an identifier.",p.loc,t.rawSource);const f=t.resolveVar(p.value);return[...c(e.arguments[1],t),...r.op.global_set(f),...r.op.global_get(f)]}const p=o.flatten(e.arguments.map(e=>c(e,t)));switch(i){case"abs":return g(1),[...p,r.op.f64_abs];case"sqrt":return g(1),[...p,r.op.f64_abs,r.op.f64_sqrt];case"int":case"floor":return g(1),[...p,r.op.f64_floor];case"min":return g(2),[...p,r.op.f64_min];case"max":return g(2),[...p,r.op.f64_max];case"above":return g(2),[...p,r.op.f64_gt,r.op.f64_convert_i32_s];case"below":return g(2),[...p,r.op.f64_lt,r.op.f64_convert_i32_s];case"equal":return g(2),[...p,r.op.f64_sub,...r.IS_ZEROISH,r.op.f64_convert_i32_s];case"bnot":return g(1),[...p,...r.IS_ZEROISH,r.op.f64_convert_i32_s];case"ceil":return g(1),[...p,r.op.f64_ceil]}const f=t.resolveFunc(i);if(null==f||i.startsWith("_"))throw s.createUserError(`"${i}" is not defined.`,e.callee.loc,t.rawSource);if(null!=a.default[i])g(a.default[i].length);else{if(null==A.localFuncMap[i])throw s.createCompilerError(`Missing arity information for the function \`${i}()\``,e.callee.loc,t.rawSource);g(A.localFuncMap[i].args.length)}return[...p,...f]}case"ASSIGNMENT_EXPRESSION":{const{left:n}=e,a=c(e.right,t),A=function(e,t){const n={"+=":[r.op.f64_add],"-=":[r.op.f64_sub],"*=":[r.op.f64_mul],"/=":[r.op.f64_div],"%=":t.resolveFunc("mod"),"=":null}[e.operator];if(void 0===n)throw s.createCompilerError(`Unknown assignment operator "${e.operator}"`,e.loc,t.rawSource);return n}(e,t);if("IDENTIFIER"===n.type){const e=t.resolveVar(n.value),i=r.op.global_get(e),s=r.op.global_set(e);return null===A?[...a,...s,...i]:[...i,...a,...A,...s,...i]}if("CALL_EXPRESSION"!==n.type)throw s.createCompilerError("Unexpected left hand side type for assignment: "+n.type,e.loc,t.rawSource);const o=t.resolveLocal(r.VAL_TYPE.i32);if(1!==n.arguments.length)throw s.createUserError(`Expected 1 argument when assinging to a buffer but got ${n.arguments.length}.`,0===n.arguments.length?n.loc:n.arguments[1].loc,t.rawSource);const l=n.callee.value;if("gmegabuf"!==l&&"megabuf"!==l)throw s.createUserError("The only function calls which may be assigned to are `gmegabuf()` and `megabuf()`.",n.callee.loc,t.rawSource);const u=h(l);if(null===A){const e=t.resolveLocal(r.VAL_TYPE.i32),s=t.resolveLocal(r.VAL_TYPE.f64);return[...a,...r.op.local_set(s),...c(n.arguments[0],t),...null!==(i=t.resolveFunc("_getBufferIndex"))&&void 0!==i?i:[],...r.op.local_tee(e),...r.op.i32_const(0),r.op.i32_lt_s,...r.op.if(r.BLOCK.f64),...r.op.f64_const(0),r.op.else,...r.op.local_get(e),...r.op.local_tee(o),...r.op.local_get(s),...r.op.f64_store(3,u),...r.op.local_get(s),r.op.end]}const g=t.resolveLocal(r.VAL_TYPE.i32),p=t.resolveLocal(r.VAL_TYPE.i32),f=t.resolveLocal(r.VAL_TYPE.f64),m=t.resolveLocal(r.VAL_TYPE.f64);return[...a,...r.op.local_set(f),...c(n.arguments[0],t),...null!==(d=t.resolveFunc("_getBufferIndex"))&&void 0!==d?d:[],...r.op.local_tee(g),...r.op.i32_const(-1),r.op.i32_ne,...r.op.local_tee(p),...r.op.if(r.BLOCK.f64),...r.op.local_get(g),...r.op.f64_load(3,u),r.op.else,...r.op.f64_const(0),r.op.end,...r.op.local_get(f),...A,...r.op.local_tee(m),...r.op.local_get(p),...r.op.if(r.BLOCK.void),...r.op.local_get(g),...r.op.local_get(m),...r.op.f64_store(3,u),r.op.end]}case"LOGICAL_EXPRESSION":{const n=c(e.left,t),i=c(e.right,t),a={"&&":{comparison:r.IS_ZEROISH,shortCircutValue:0},"||":{comparison:r.IS_NOT_ZEROISH,shortCircutValue:1}}[e.operator];if(null==a)throw s.createCompilerError("Unknown logical expression operator "+e.operator,e.loc,t.rawSource);const{comparison:A,shortCircutValue:o}=a;return[...n,...A,...r.op.if(r.BLOCK.f64),...r.op.f64_const(o),r.op.else,...i,...r.IS_NOT_ZEROISH,r.op.f64_convert_i32_s,r.op.end]}case"UNARY_EXPRESSION":{const n=c(e.value,t),i={"-":[r.op.f64_neg],"+":[],"!":[...r.IS_ZEROISH,r.op.f64_convert_i32_s]}[e.operator];if(null==i)throw s.createCompilerError("Unknown logical unary operator "+e.operator,e.loc,t.rawSource);return[...n,...i]}case"IDENTIFIER":const g=e.value;return r.op.global_get(t.resolveVar(g));case"NUMBER_LITERAL":return r.op.f64_const(e.value);default:throw s.createCompilerError("Unknown AST node type "+e.type,e.loc,t.rawSource)}}function u(e,t){const n=e.map((e,n)=>c(e,t));return o.flatten(o.arrayJoin(n,[r.op.drop]))}function h(e){switch(e){case"gmegabuf":return 8*l.BUFFER_SIZE;case"megabuf":return 0}}t.emit=c},function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.write=function(e,t){let n=52;var i,r,a,s=64-n-1,A=(1<<s)-1,o=A>>1,l=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,c=0,u=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(r=isNaN(t)?1:0,i=A):(i=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-i))<1&&(i--,a*=2),(t+=i+o>=1?l/a:l*Math.pow(2,1-o))*a>=2&&(i++,a/=2),i+o>=A?(r=0,i=A):i+o>=1?(r=(t*a-1)*Math.pow(2,n),i+=o):(r=t*Math.pow(2,o-1)*Math.pow(2,n),i=0));n>=8;e[0+c]=255&r,c+=1,r/=256,n-=8);for(i=i<<n|r,s+=n;s>0;e[0+c]=255&i,c+=1,i/=256,s-=8);e[0+c-1]|=128*u}},function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const r=i(n(1)),a=n(7);t.loadModule=async function({pools:e,functions:t,eelVersion:n=2}){let i={};Object.entries(e).forEach(([e,t])=>{i[e]=new Set(Object.keys(t))});const s=a.compileModule({pools:i,functions:t,eelVersion:n}),A=await WebAssembly.compile(s);var o=Object.assign(Object.assign({},e),{shims:r.default});return await WebAssembly.instantiate(A,o)}},,function(e,t,n){n.r(t),n.d(t,"default",function(){return $}),n(12),n(13);var i=n(9),r=n.n(i),a=n(10);const s="undefined"!=typeof BigUint64Array,A=Symbol(),o=new TextDecoder("utf-16le");function l(e,t){const n=new Uint32Array(e)[t+-4>>>2]>>>1,i=new Uint16Array(e,t,n);return n<=32?String.fromCharCode.apply(String,i):o.decode(i)}function c(e){const t={};function n(e,t){return e?l(e.buffer,t):"<yet unknown>"}const i=e.env=e.env||{};return i.abort=i.abort||function(e,r,a,s){const A=t.memory||i.memory;throw Error(`abort: ${n(A,e)} at ${n(A,r)}:${a}:${s}`)},i.trace=i.trace||function(e,r,...a){const s=t.memory||i.memory;console.log(`trace: ${n(s,e)}${r?" ":""}${a.slice(0,r).join(", ")}`)},i.seed=i.seed||Date.now,e.Math=e.Math||Math,e.Date=e.Date||Date,t}function u(e,t){const n=t.exports,i=n.memory,r=n.table,a=n.__new,A=n.__retain,o=n.__rtti_base||-1;function c(e){const t=function(e){const t=new Uint32Array(i.buffer);if((e>>>=0)>=t[o>>>2])throw Error("invalid id: "+e);return t[(o+4>>>2)+2*e]}(e);if(!(7&t))throw Error(`not an array: ${e}, flags=${t}`);return t}function u(e){const t=new Uint32Array(i.buffer);if((e>>>=0)>=t[o>>>2])throw Error("invalid id: "+e);return t[(o+4>>>2)+2*e+1]}function h(e){return 31-Math.clz32(e>>>6&31)}function d(e,t,n){const r=i.buffer;if(n)switch(e){case 2:return new Float32Array(r);case 3:return new Float64Array(r)}else switch(e){case 0:return new(t?Int8Array:Uint8Array)(r);case 1:return new(t?Int16Array:Uint16Array)(r);case 2:return new(t?Int32Array:Uint32Array)(r);case 3:return new(t?BigInt64Array:BigUint64Array)(r)}throw Error("unsupported align: "+e)}function g(e){const t=new Uint32Array(i.buffer),n=c(t[e+-8>>>2]),r=h(n);let a=4&n?e:t[e+4>>>2];const s=2&n?t[e+12>>>2]:t[a+-4>>>2]>>>r;return d(r,2048&n,4096&n).subarray(a>>>=r,a+s)}function p(e,t,n){return new e(m(e,t,n))}function m(e,t,n){const r=i.buffer,a=new Uint32Array(r),s=a[n+4>>>2];return new e(r,s,a[s+-4>>>2]>>>t)}function b(t,n,i){e["__get"+n]=p.bind(null,t,i),e[`__get${n}View`]=m.bind(null,t,i)}return e.__newString=function(e){if(null==e)return 0;const t=e.length,n=a(t<<1,1),r=new Uint16Array(i.buffer);for(var s=0,A=n>>>1;s<t;++s)r[A+s]=e.charCodeAt(s);return n},e.__getString=function(e){if(!e)return null;const t=i.buffer;if(1!==new Uint32Array(t)[e+-8>>>2])throw Error("not a string: "+e);return l(t,e)},e.__newArray=function(e,t){const n=c(e),r=h(n),s=t.length,o=a(s<<r,4&n?e:0);let l;if(4&n)l=o;else{const t=a(2&n?16:12,e),c=new Uint32Array(i.buffer);c[t+0>>>2]=A(o),c[t+4>>>2]=o,c[t+8>>>2]=s<<r,2&n&&(c[t+12>>>2]=s),l=t}const u=d(r,2048&n,4096&n);if(16384&n)for(let e=0;e<s;++e)u[(o>>>r)+e]=A(t[e]);else u.set(t,o>>>r);return l},e.__getArrayView=g,e.__getArray=function(e){const t=g(e),n=t.length,i=new Array(n);for(let e=0;e<n;e++)i[e]=t[e];return i},e.__getArrayBuffer=function(e){const t=i.buffer,n=new Uint32Array(t)[e+-4>>>2];return t.slice(e,e+n)},[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array].forEach(e=>{b(e,e.name,31-Math.clz32(e.BYTES_PER_ELEMENT))}),s&&[BigUint64Array,BigInt64Array].forEach(e=>{b(e,e.name.slice(3),3)}),e.__instanceof=function(e,t){const n=new Uint32Array(i.buffer);let r=n[e+-8>>>2];if(r<=n[o>>>2])do{if(r==t)return!0;r=u(r)}while(r);return!1},e.memory=e.memory||i,e.table=e.table||r,f(n,e)}function h(e){return"undefined"!=typeof Response&&e instanceof Response}function d(e){return e instanceof WebAssembly.Module}async function g(e,t={}){if(h(e=await e))return p(e,t);const n=d(e)?e:await WebAssembly.compile(e),i=c(t),r=await WebAssembly.instantiate(n,t);return{module:n,instance:r,exports:u(i,r)}}async function p(e,t={}){if(!WebAssembly.instantiateStreaming)return g(h(e=await e)?e.arrayBuffer():e,t);const n=c(t),i=await WebAssembly.instantiateStreaming(e,t),r=u(n,i.instance);return{...i,exports:r}}function f(e,t={}){const n=e.__argumentsLength?t=>{e.__argumentsLength.value=t}:e.__setArgumentsLength||e.__setargc||(()=>{});for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;const r=e[i];let a=i.split("."),s=t;for(;a.length>1;){let e=a.shift();Object.prototype.hasOwnProperty.call(s,e)||(s[e]={}),s=s[e]}let o=a[0],l=o.indexOf("#");if(l>=0){const t=o.substring(0,l),a=s[t];if(void 0===a||!a.prototype){const e=function(...t){return e.wrap(e.prototype.constructor(0,...t))};e.prototype={valueOf(){return this[A]}},e.wrap=function(t){return Object.create(e.prototype,{[A]:{value:t,writable:!1}})},a&&Object.getOwnPropertyNames(a).forEach(t=>Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))),s[t]=e}if(o=o.substring(l+1),s=s[t].prototype,/^(get|set):/.test(o)){if(!Object.prototype.hasOwnProperty.call(s,o=o.substring(4))){let t=e[i.replace("set:","get:")],n=e[i.replace("get:","set:")];Object.defineProperty(s,o,{get(){return t(this[A])},set(e){n(this[A],e)},enumerable:!0})}}else"constructor"===o?(s[o]=(...e)=>(n(e.length),r(...e))).original=r:(s[o]=function(...e){return n(e.length),r(this[A],...e)}).original=r}else/^(get|set):/.test(o)?Object.prototype.hasOwnProperty.call(s,o=o.substring(4))||Object.defineProperty(s,o,{get:e[i.replace("set:","get:")],set:e[i.replace("get:","set:")],enumerable:!0}):"function"==typeof r&&r!==n?(s[o]=(...e)=>(n(e.length),r(...e))).original=r:s[o]=r}return t}var m={instantiate:g,instantiateSync:function(e,t={}){const n=d(e)?e:new WebAssembly.Module(e),i=c(t),r=new WebAssembly.Instance(n,t);return{module:n,instance:r,exports:u(i,r)}},instantiateStreaming:p,demangle:f};class b{constructor(e,t,n=!1){this.samplesIn=e,this.samplesOut=t,this.equalize=n,this.NFREQ=2*t,this.equalize&&this.initEqualizeTable(),this.initBitRevTable(),this.initCosSinTable()}initEqualizeTable(){this.equalizeArr=new Float32Array(this.samplesOut);const e=1/this.samplesOut;for(let t=0;t<this.samplesOut;t++)this.equalizeArr[t]=-.02*Math.log((this.samplesOut-t)*e)}initBitRevTable(){this.bitrevtable=new Uint16Array(this.NFREQ);for(let e=0;e<this.NFREQ;e++)this.bitrevtable[e]=e;let e=0;for(let t=0;t<this.NFREQ;t++){if(e>t){const n=this.bitrevtable[t];this.bitrevtable[t]=this.bitrevtable[e],this.bitrevtable[e]=n}let n=this.NFREQ>>1;for(;n>=1&&e>=n;)e-=n,n>>=1;e+=n}}initCosSinTable(){let e=2,t=0;for(;e<=this.NFREQ;)t+=1,e<<=1;this.cossintable=[new Float32Array(t),new Float32Array(t)],e=2;let n=0;for(;e<=this.NFREQ;){const t=-2*Math.PI/e;this.cossintable[0][n]=Math.cos(t),this.cossintable[1][n]=Math.sin(t),n+=1,e<<=1}}timeToFrequencyDomain(e){const t=new Float32Array(this.NFREQ),n=new Float32Array(this.NFREQ);for(let i=0;i<this.NFREQ;i++){const r=this.bitrevtable[i];r<this.samplesIn?t[i]=e[r]:t[i]=0,n[i]=0}let i=2,r=0;for(;i<=this.NFREQ;){const e=this.cossintable[0][r],a=this.cossintable[1][r];let s=1,A=0;const o=i>>1;for(let r=0;r<o;r++){for(let e=r;e<this.NFREQ;e+=i){const i=e+o,r=s*t[i]-A*n[i],a=s*n[i]+A*t[i];t[i]=t[e]-r,n[i]=n[e]-a,t[e]+=r,n[e]+=a}const l=s;s=l*e-A*a,A=A*e+l*a}i<<=1,r+=1}const a=new Float32Array(this.samplesOut);if(this.equalize)for(let e=0;e<this.samplesOut;e++)a[e]=this.equalizeArr[e]*Math.sqrt(t[e]*t[e]+n[e]*n[e]);else for(let e=0;e<this.samplesOut;e++)a[e]=Math.sqrt(t[e]*t[e]+n[e]*n[e]);return a}}class w{constructor(e){this.numSamps=512,this.fftSize=2*this.numSamps,this.fft=new b(this.fftSize,512,!0),e&&(this.audioContext=e,this.audible=e.createDelay(),this.analyser=e.createAnalyser(),this.analyser.smoothingTimeConstant=0,this.analyser.fftSize=this.fftSize,this.audible.connect(this.analyser),this.analyserL=e.createAnalyser(),this.analyserL.smoothingTimeConstant=0,this.analyserL.fftSize=this.fftSize,this.analyserR=e.createAnalyser(),this.analyserR.smoothingTimeConstant=0,this.analyserR.fftSize=this.fftSize,this.splitter=e.createChannelSplitter(2),this.audible.connect(this.splitter),this.splitter.connect(this.analyserL,0),this.splitter.connect(this.analyserR,1)),this.timeByteArray=new Uint8Array(this.fftSize),this.timeByteArrayL=new Uint8Array(this.fftSize),this.timeByteArrayR=new Uint8Array(this.fftSize),this.timeArray=new Int8Array(this.fftSize),this.timeByteArraySignedL=new Int8Array(this.fftSize),this.timeByteArraySignedR=new Int8Array(this.fftSize),this.tempTimeArrayL=new Int8Array(this.fftSize),this.tempTimeArrayR=new Int8Array(this.fftSize),this.timeArrayL=new Int8Array(this.numSamps),this.timeArrayR=new Int8Array(this.numSamps)}sampleAudio(){this.analyser.getByteTimeDomainData(this.timeByteArray),this.analyserL.getByteTimeDomainData(this.timeByteArrayL),this.analyserR.getByteTimeDomainData(this.timeByteArrayR),this.processAudio()}updateAudio(e,t,n){this.timeByteArray.set(e),this.timeByteArrayL.set(t),this.timeByteArrayR.set(n),this.processAudio()}processAudio(){for(let e=0,t=0,n=0;e<this.fftSize;e++)this.timeArray[e]=this.timeByteArray[e]-128,this.timeByteArraySignedL[e]=this.timeByteArrayL[e]-128,this.timeByteArraySignedR[e]=this.timeByteArrayR[e]-128,this.tempTimeArrayL[e]=.5*(this.timeByteArraySignedL[e]+this.timeByteArraySignedL[n]),this.tempTimeArrayR[e]=.5*(this.timeByteArraySignedR[e]+this.timeByteArraySignedR[n]),e%2==0&&(this.timeArrayL[t]=this.tempTimeArrayL[e],this.timeArrayR[t]=this.tempTimeArrayR[e],t+=1),n=e;this.freqArray=this.fft.timeToFrequencyDomain(this.timeArray),this.freqArrayL=this.fft.timeToFrequencyDomain(this.timeByteArraySignedL),this.freqArrayR=this.fft.timeToFrequencyDomain(this.timeByteArraySignedR)}connectAudio(e){e.connect(this.audible)}disconnectAudio(e){e.disconnect(this.audible)}}class E{constructor(e){let t;this.audio=e,t=this.audio.audioContext?this.audio.audioContext.sampleRate:44100;const n=t/this.audio.fftSize,i=Math.clamp(Math.round(20/n)-1,0,this.audio.numSamps-1),r=Math.clamp(Math.round(320/n)-1,0,this.audio.numSamps-1),a=Math.clamp(Math.round(2800/n)-1,0,this.audio.numSamps-1),s=Math.clamp(Math.round(11025/n)-1,0,this.audio.numSamps-1);this.starts=[i,r,a],this.stops=[r,a,s],this.val=new Float32Array(3),this.imm=new Float32Array(3),this.att=new Float32Array(3),this.avg=new Float32Array(3),this.longAvg=new Float32Array(3),this.att.fill(1),this.avg.fill(1),this.longAvg.fill(1)}get bass(){return this.val[0]}get bass_att(){return this.att[0]}get mid(){return this.val[1]}get mid_att(){return this.att[1]}get treb(){return this.val[2]}get treb_att(){return this.att[2]}static isFiniteNumber(e){return Number.isFinite(e)&&!Number.isNaN(e)}static adjustRateToFPS(e,t,n){return e**(t/n)}updateAudioLevels(e,t){if(this.audio.freqArray.length>0){let n=e;!E.isFiniteNumber(n)||n<15?n=15:n>144&&(n=144),this.imm.fill(0);for(let e=0;e<3;e++)for(let t=this.starts[e];t<this.stops[e];t++)this.imm[e]+=this.audio.freqArray[t];for(let e=0;e<3;e++){let i;i=this.imm[e]>this.avg[e]?.2:.5,i=E.adjustRateToFPS(i,30,n),this.avg[e]=this.avg[e]*i+this.imm[e]*(1-i),i=t<50?.9:.992,i=E.adjustRateToFPS(i,30,n),this.longAvg[e]=this.longAvg[e]*i+this.imm[e]*(1-i),this.longAvg[e]<.001?(this.val[e]=1,this.att[e]=1):(this.val[e]=this.imm[e]/this.longAvg[e],this.att[e]=this.avg[e]/this.longAvg[e])}}}}var y=n(4),v=n.n(y);class k{static atan2(e,t){let n=Math.atan2(e,t);return n<0&&(n+=2*Math.PI),n}static cloneVars(e){return Object.assign({},e)}static range(e,t){return void 0===t?[...Array(e).keys()]:Array.from({length:t-e},(t,n)=>n+e)}static pick(e,t){const n={};for(let i=0;i<t.length;i++){const r=t[i];n[r]=e[r]||0}return n}static omit(e,t){const n=Object.assign({},e);for(let e=0;e<t.length;e++)delete n[t[e]];return n}static setWasm(e,t,n){for(let i=0;i<n.length;i++){const r=n[i];e[r].value=t[r]}}static pickWasm(e,t){const n={};for(let i=0;i<t.length;i++){const r=t[i];n[r]=e[r].value}return n}}class S{constructor(e,t,n){this.preset=e,this.texsizeX=n.texsizeX,this.texsizeY=n.texsizeY,this.mesh_width=n.mesh_width,this.mesh_height=n.mesh_height,this.aspectx=n.aspectx,this.aspecty=n.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.qs=k.range(1,33).map(e=>"q"+e),this.ts=k.range(1,9).map(e=>"t"+e),this.regs=k.range(100).map(e=>e<10?"reg0"+e:"reg"+e),this.initializeEquations(t)}initializeEquations(e){this.runVertEQs=""!==this.preset.pixel_eqs,this.mdVSQInit=null,this.mdVSRegs=null,this.mdVSFrame=null,this.mdVSUserKeys=null,this.mdVSFrameMap=null,this.mdVSShapes=null,this.mdVSUserKeysShapes=null,this.mdVSFrameMapShapes=null,this.mdVSWaves=null,this.mdVSUserKeysWaves=null,this.mdVSFrameMapWaves=null,this.mdVSQAfterFrame=null,this.gmegabuf=new Array(1048576).fill(0);const t={frame:e.frame,time:e.time,fps:e.fps,bass:e.bass,bass_att:e.bass_att,mid:e.mid,mid_att:e.mid_att,treb:e.treb,treb_att:e.treb_att,meshx:this.mesh_width,meshy:this.mesh_height,aspectx:this.invAspectx,aspecty:this.invAspecty,pixelsx:this.texsizeX,pixelsy:this.texsizeY,gmegabuf:this.gmegabuf};this.mdVS=Object.assign({},this.preset.baseVals,t),this.mdVS.megabuf=new Array(1048576).fill(0),this.mdVS.rand_start=new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()]),this.mdVS.rand_preset=new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()]);const n=this.qs.concat(this.regs,Object.keys(this.mdVS)),i=this.preset.init_eqs(k.cloneVars(this.mdVS));this.mdVSQInit=k.pick(i,this.qs),this.mdVSRegs=k.pick(i,this.regs);const r=k.pick(i,Object.keys(k.omit(i,n)));if(r.megabuf=i.megabuf,r.gmegabuf=i.gmegabuf,this.mdVSFrame=this.preset.frame_eqs(Object.assign({},this.mdVS,this.mdVSQInit,this.mdVSRegs,r)),this.mdVSUserKeys=Object.keys(k.omit(this.mdVSFrame,n)),this.mdVSFrameMap=k.pick(this.mdVSFrame,this.mdVSUserKeys),this.mdVSQAfterFrame=k.pick(this.mdVSFrame,this.qs),this.mdVSRegs=k.pick(this.mdVSFrame,this.regs),this.mdVSWaves=[],this.mdVSTWaveInits=[],this.mdVSUserKeysWaves=[],this.mdVSFrameMapWaves=[],this.preset.waves&&this.preset.waves.length>0)for(let e=0;e<this.preset.waves.length;e++){const n=this.preset.waves[e],i=n.baseVals;if(0!==i.enabled){let r=Object.assign({},i,t);const a=this.qs.concat(this.ts,this.regs,Object.keys(r));Object.assign(r,this.mdVSQAfterFrame,this.mdVSRegs),r.megabuf=new Array(1048576).fill(0),n.init_eqs&&(r=n.init_eqs(r),this.mdVSRegs=k.pick(r,this.regs),Object.assign(r,i)),this.mdVSWaves.push(r),this.mdVSTWaveInits.push(k.pick(r,this.ts)),this.mdVSUserKeysWaves.push(Object.keys(k.omit(r,a))),this.mdVSFrameMapWaves.push(k.pick(r,this.mdVSUserKeysWaves[e]))}else this.mdVSWaves.push({}),this.mdVSTWaveInits.push({}),this.mdVSUserKeysWaves.push([]),this.mdVSFrameMapWaves.push({})}if(this.mdVSShapes=[],this.mdVSTShapeInits=[],this.mdVSUserKeysShapes=[],this.mdVSFrameMapShapes=[],this.preset.shapes&&this.preset.shapes.length>0)for(let e=0;e<this.preset.shapes.length;e++){const n=this.preset.shapes[e],i=n.baseVals;if(0!==i.enabled){let r=Object.assign({},i,t);const a=this.qs.concat(this.ts,this.regs,Object.keys(r));Object.assign(r,this.mdVSQAfterFrame,this.mdVSRegs),r.megabuf=new Array(1048576).fill(0),n.init_eqs&&(r=n.init_eqs(r),this.mdVSRegs=k.pick(r,this.regs),Object.assign(r,i)),this.mdVSShapes.push(r),this.mdVSTShapeInits.push(k.pick(r,this.ts)),this.mdVSUserKeysShapes.push(Object.keys(k.omit(r,a))),this.mdVSFrameMapShapes.push(k.pick(r,this.mdVSUserKeysShapes[e]))}else this.mdVSShapes.push({}),this.mdVSTShapeInits.push({}),this.mdVSUserKeysShapes.push([]),this.mdVSFrameMapShapes.push({})}}updatePreset(e,t){this.preset=e,this.initializeEquations(t)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}runFrameEquations(e){return this.mdVSFrame=Object.assign({},this.mdVS,this.mdVSQInit,this.mdVSFrameMap,e),this.mdVSFrame=this.preset.frame_eqs(this.mdVSFrame),this.mdVSFrameMap=k.pick(this.mdVSFrame,this.mdVSUserKeys),this.mdVSQAfterFrame=k.pick(this.mdVSFrame,this.qs),this.mdVSFrame}runPixelEquations(e){return this.preset.pixel_eqs(e)}runShapeFrameEquations(e,t){return this.preset.shapes[e].frame_eqs(t)}runWaveFrameEquations(e,t){return this.preset.waves[e].frame_eqs(t)}runWavePointEquations(e,t){return this.preset.waves[e].point_eqs(t)}}class x{constructor(e,t,n){this.preset=e,this.texsizeX=n.texsizeX,this.texsizeY=n.texsizeY,this.mesh_width=n.mesh_width,this.mesh_height=n.mesh_height,this.aspectx=n.aspectx,this.aspecty=n.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.qs=k.range(1,33).map(e=>"q"+e),this.ts=k.range(1,9).map(e=>"t"+e),this.regs=k.range(100).map(e=>e<10?"reg0"+e:"reg"+e),this.globalKeys=["frame","time","fps","bass","bass_att","mid","mid_att","treb","treb_att","meshx","meshy","aspectx","aspecty","pixelsx","pixelsy"],this.frameKeys=["decay","wave_a","wave_r","wave_g","wave_b","wave_x","wave_y","wave_scale","wave_smoothing","wave_mode","old_wave_mode","wave_mystery","ob_size","ob_r","ob_g","ob_b","ob_a","ib_size","ib_r","ib_g","ib_b","ib_a","mv_x","mv_y","mv_dx","mv_dy","mv_l","mv_r","mv_g","mv_b","mv_a","echo_zoom","echo_alpha","echo_orient","wave_dots","wave_thick","additivewave","wave_brighten","modwavealphabyvolume","modwavealphastart","modwavealphaend","darken_center","gammaadj","warp","warpanimspeed","warpscale","zoom","zoomexp","rot","cx","cy","dx","dy","sx","sy","fshader","wrap","invert","brighten","darken","solarize","bmotionvectorson","b1n","b2n","b3n","b1x","b2x","b3x","b1ed"],this.waveFrameKeys=["samples","sep","scaling","spectrum","smoothing","r","g","b","a"],this.waveFrameInputKeys=["samples","r","g","b","a"],this.initializeEquations(t)}getQVars(e){return k.pickWasm(this.preset.globalPools[e],this.qs)}getTVars(e){return k.pickWasm(this.preset.globalPools[e],this.ts)}initializeEquations(e){this.runVertEQs=!!this.preset.pixel_eqs,this.mdVSQInit=null,this.mdVSQAfterFrame=null;const t={frame:e.frame,time:e.time,fps:e.fps,bass:e.bass,bass_att:e.bass_att,mid:e.mid,mid_att:e.mid_att,treb:e.treb,treb_att:e.treb_att,meshx:this.mesh_width,meshy:this.mesh_height,aspectx:this.invAspectx,aspecty:this.invAspecty,pixelsx:this.texsizeX,pixelsy:this.texsizeY};if(this.mdVS=Object.assign({},this.preset.baseVals,t),k.setWasm(this.preset.globalPools.perFrame,this.mdVS,Object.keys(this.mdVS)),this.rand_start=new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()]),this.rand_preset=new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()]),this.preset.init_eqs(),this.mdVSQInit=this.getQVars("perFrame"),this.preset.frame_eqs(),this.mdVSQAfterFrame=this.getQVars("perFrame"),this.mdVSTWaveInits=[],this.preset.waves&&this.preset.waves.length>0)for(let e=0;e<this.preset.waves.length;e++){const t=this.preset.waves[e],n=t.baseVals;0!==n.enabled?(k.setWasm(this.preset.globalPools["wavePerFrame"+e],n,Object.keys(n)),t.init_eqs&&(t.init_eqs(),k.setWasm(this.preset.globalPools["wavePerFrame"+e],n,Object.keys(n))),this.mdVSTWaveInits.push(this.getTVars("wavePerFrame"+e))):this.mdVSTWaveInits.push({})}if(this.mdVSTShapeInits=[],this.preset.shapes&&this.preset.shapes.length>0)for(let e=0;e<this.preset.shapes.length;e++){const t=this.preset.shapes[e],n=t.baseVals;0!==n.enabled?(k.setWasm(this.preset.globalPools["shapePerFrame"+e],n,Object.keys(n)),t.init_eqs&&(t.init_eqs(),k.setWasm(this.preset.globalPools["shapePerFrame"+e],n,Object.keys(n))),this.mdVSTShapeInits.push(this.getTVars("shapePerFrame"+e))):this.mdVSTShapeInits.push({})}}updatePreset(e,t){this.preset=e,this.initializeEquations(t)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}runFrameEquations(e){k.setWasm(this.preset.globalPools.perFrame,this.mdVS,this.frameKeys),k.setWasm(this.preset.globalPools.perFrame,this.mdVSQInit,this.qs),k.setWasm(this.preset.globalPools.perFrame,e,this.globalKeys),this.preset.frame_eqs(),this.preset.save_qs(),this.mdVSQAfterFrame=this.getQVars("perFrame");const t=k.pickWasm(this.preset.globalPools.perFrame,[...this.frameKeys,...this.globalKeys]);return t.rand_preset=this.rand_preset,t.rand_start=this.rand_start,t}runWaveFrameEquations(e,t){const n=this.preset.waves[e].baseVals;return k.setWasm(this.preset.globalPools["wavePerFrame"+e],n,this.waveFrameInputKeys),k.setWasm(this.preset.globalPools["wavePerFrame"+e],this.mdVSQAfterFrame,this.qs),k.setWasm(this.preset.globalPools["wavePerFrame"+e],this.mdVSTWaveInits[e],this.ts),k.setWasm(this.preset.globalPools["wavePerFrame"+e],t,this.globalKeys),this.preset.waves[e].frame_eqs(),k.pickWasm(this.preset.globalPools["wavePerFrame"+e],this.waveFrameKeys)}}const I=/uniform sampler2D sampler_(?:.+?);/g,C=/uniform sampler2D sampler_(.+?);/;class T{static getShaderParts(e){const t=e.indexOf("shader_body");if(e&&t>-1){const n=e.substring(0,t),i=e.substring(t),r=i.indexOf("{"),a=i.lastIndexOf("}");return[n,i.substring(r+1,a)]}return["",e]}static getFragmentFloatPrecision(e){return e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT).precision>0?"highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}static getUserSamplers(e){const t=[],n=e.match(I);if(n&&n.length>0)for(let e=0;e<n.length;e++){const i=n[e].match(C);if(i&&i.length>0){const e=i[1];t.push({sampler:e})}}return t}}class _{static smoothWave(e,t,n,i=!1){let r,a=0,s=0,A=1;for(let o=0;o<n-1;o++){r=A,A=Math.min(n-1,o+2);for(let n=0;n<3;n++)t[3*a+n]=e[3*o+n];if(i)for(let n=0;n<3;n++)t[3*(a+1)+n]=.5*(-.15*e[3*s+n]+1.15*e[3*o+n]+1.15*e[3*r+n]+-.15*e[3*A+n]);else{for(let n=0;n<2;n++)t[3*(a+1)+n]=.5*(-.15*e[3*s+n]+1.15*e[3*o+n]+1.15*e[3*r+n]+-.15*e[3*A+n]);t[3*(a+1)+2]=0}s=o,a+=2}for(let i=0;i<3;i++)t[3*a+i]=e[3*(n-1)+i]}static smoothWaveAndColor(e,t,n,i,r,a=!1){let s,A=0,o=0,l=1;for(let c=0;c<r-1;c++){s=l,l=Math.min(r-1,c+2);for(let t=0;t<3;t++)n[3*A+t]=e[3*c+t];if(a)for(let t=0;t<3;t++)n[3*(A+1)+t]=.5*(-.15*e[3*o+t]+1.15*e[3*c+t]+1.15*e[3*s+t]+-.15*e[3*l+t]);else{for(let t=0;t<2;t++)n[3*(A+1)+t]=.5*(-.15*e[3*o+t]+1.15*e[3*c+t]+1.15*e[3*s+t]+-.15*e[3*l+t]);n[3*(A+1)+2]=0}for(let e=0;e<4;e++)i[4*A+e]=t[4*c+e],i[4*(A+1)+e]=t[4*c+e];o=c,A+=2}for(let t=0;t<3;t++)n[3*A+t]=e[3*(r-1)+t];for(let e=0;e<4;e++)i[4*A+e]=t[4*(r-1)+e]}}class B{constructor(e,t={}){this.gl=e,this.positions=new Float32Array(1536),this.positions2=new Float32Array(1536),this.oldPositions=new Float32Array(1536),this.oldPositions2=new Float32Array(1536),this.smoothedPositions=new Float32Array(3069),this.smoothedPositions2=new Float32Array(3069),this.color=[0,0,0,1],this.texsizeX=t.texsizeX,this.texsizeY=t.texsizeY,this.aspectx=t.aspectx,this.aspecty=t.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader(),this.vertexBuf=this.gl.createBuffer()}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aPos;\n uniform vec2 thickOffset;\n void main(void) {\n gl_Position = vec4(aPos + vec3(thickOffset, 0.0), 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n out vec4 fragColor;\n uniform vec4 u_color;\n void main(void) {\n fragColor = u_color;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLoc=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.colorLoc=this.gl.getUniformLocation(this.shaderProgram,"u_color"),this.thickOffsetLoc=this.gl.getUniformLocation(this.shaderProgram,"thickOffset")}static processWaveform(e,t){const n=[],i=t.wave_scale/128,r=t.wave_smoothing,a=i*(1-r);n.push(e[0]*i);for(let t=1;t<e.length;t++)n.push(e[t]*a+n[t-1]*r);return n}generateWaveform(e,t,n,i,r){let a=r.wave_a;const s=(r.bass+r.mid+r.treb)/3;if(s>-.01&&a>.001&&n.length>0){const A=B.processWaveform(n,r),o=B.processWaveform(i,r),l=Math.floor(r.wave_mode)%8,c=Math.floor(r.old_wave_mode)%8,u=2*r.wave_x-1,h=2*r.wave_y-1;this.numVert=0,this.oldNumVert=0;const d=e&&l!==c?2:1;for(let e=0;e<d;e++){const t=0===e?l:c;let n,i,d,g=r.wave_mystery;if(0!==t&&1!==t&&4!==t||!(g<-1||g>1)||(g=.5*g+.5,g-=Math.floor(g),g=Math.abs(g),g=2*g-1),0===e?(i=this.positions,d=this.positions2):(i=this.oldPositions,d=this.oldPositions2),a=r.wave_a,0===t){if(r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=Math.floor(A.length/2)+1;const e=1/(n-1),t=Math.floor((A.length-n)/2);for(let a=0;a<n-1;a++){let s=.5+.4*o[a+t]+g;const A=a*e*2*Math.PI+.2*r.time;if(a<n/10){let e=a/(.1*n);e=.5-.5*Math.cos(e*Math.PI),s=(1-e)*(.5+.4*o[a+n+t]+g)+s*e}i[3*a+0]=s*Math.cos(A)*this.aspecty+u,i[3*a+1]=s*Math.sin(A)*this.aspectx+h,i[3*a+2]=0}i[3*(n-1)+0]=i[0],i[3*(n-1)+1]=i[1],i[3*(n-1)+2]=0}else if(1===t){if(a*=1.25,r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=Math.floor(A.length/2);for(let e=0;e<n;e++){const t=.53+.43*o[e]+g,n=.5*A[e+32]*Math.PI+2.3*r.time;i[3*e+0]=t*Math.cos(n)*this.aspecty+u,i[3*e+1]=t*Math.sin(n)*this.aspectx+h,i[3*e+2]=0}}else if(2===t){if(this.texsizeX<1024?a*=.09:this.texsizeX>=1024&&this.texsizeX<2048?a*=.11:a*=.13,r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=A.length;for(let e=0;e<A.length;e++)i[3*e+0]=o[e]*this.aspecty+u,i[3*e+1]=A[(e+32)%A.length]*this.aspectx+h,i[3*e+2]=0}else if(3===t){if(this.texsizeX<1024?a*=.15:this.texsizeX>=1024&&this.texsizeX<2048?a*=.22:a*=.33,a*=1.3,a*=r.treb*r.treb,r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=A.length;for(let e=0;e<A.length;e++)i[3*e+0]=o[e]*this.aspecty+u,i[3*e+1]=A[(e+32)%A.length]*this.aspectx+h,i[3*e+2]=0}else if(4===t){if(r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=A.length,n>this.texsizeX/3&&(n=Math.floor(this.texsizeX/3));const e=1/n,t=Math.floor((A.length-n)/2),l=.45+.5*(.5*g+.5),c=1-l;for(let r=0;r<n;r++){let n=2*r*e+(u-1)+.44*o[(r+25+t)%A.length],a=.47*A[r+t]+h;r>1&&(n=n*c+l*(2*i[3*(r-1)+0]-i[3*(r-2)+0]),a=a*c+l*(2*i[3*(r-1)+1]-i[3*(r-2)+1])),i[3*r+0]=n,i[3*r+1]=a,i[3*r+2]=0}}else if(5===t){if(this.texsizeX<1024?a*=.09:this.texsizeX>=1024&&this.texsizeX<2048?a*=.11:a*=.13,r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1);const e=Math.cos(.3*r.time),t=Math.sin(.3*r.time);n=A.length;for(let n=0;n<A.length;n++){const r=(n+32)%A.length,a=o[n]*A[r]+A[n]*o[r],s=o[n]*o[n]-A[r]*A[r];i[3*n+0]=(a*e-s*t)*(this.aspecty+u),i[3*n+1]=(a*t+s*e)*(this.aspectx+h),i[3*n+2]=0}}else if(6===t||7===t){if(r.modwavealphabyvolume>0){const e=r.modwavealphaend-r.modwavealphastart;a*=(s-r.modwavealphastart)/e}a=Math.clamp(a,0,1),n=Math.floor(A.length/2),n>this.texsizeX/3&&(n=Math.floor(this.texsizeX/3));const e=Math.floor((A.length-n)/2),l=.5*Math.PI*g;let c=Math.cos(l),p=Math.sin(l);const f=[u*Math.cos(l+.5*Math.PI)-3*c,u*Math.cos(l+.5*Math.PI)+3*c],m=[u*Math.sin(l+.5*Math.PI)-3*p,u*Math.sin(l+.5*Math.PI)+3*p];for(let e=0;e<2;e++)for(let t=0;t<4;t++){let n,i=!1;switch(t){case 0:f[e]>1.1&&(n=(1.1-f[1-e])/(f[e]-f[1-e]),i=!0);break;case 1:f[e]<-1.1&&(n=(-1.1-f[1-e])/(f[e]-f[1-e]),i=!0);break;case 2:m[e]>1.1&&(n=(1.1-m[1-e])/(m[e]-m[1-e]),i=!0);break;case 3:m[e]<-1.1&&(n=(-1.1-m[1-e])/(m[e]-m[1-e]),i=!0)}if(i){const t=f[e]-f[1-e],i=m[e]-m[1-e];f[e]=f[1-e]+t*n,m[e]=m[1-e]+i*n}}c=(f[1]-f[0])/n,p=(m[1]-m[0])/n;const b=Math.atan2(p,c),w=Math.cos(b+.5*Math.PI),E=Math.sin(b+.5*Math.PI);if(6===t)for(let t=0;t<n;t++){const n=A[t+e];i[3*t+0]=f[0]+c*t+.25*w*n,i[3*t+1]=m[0]+p*t+.25*E*n,i[3*t+2]=0}else if(7===t){const t=(.5*h+.5)**2;for(let r=0;r<n;r++){const n=A[r+e];i[3*r+0]=f[0]+c*r+w*(.25*n+t),i[3*r+1]=m[0]+p*r+E*(.25*n+t),i[3*r+2]=0}for(let i=0;i<n;i++){const n=o[i+e];d[3*i+0]=f[0]+c*i+w*(.25*n-t),d[3*i+1]=m[0]+p*i+E*(.25*n-t),d[3*i+2]=0}}}0===e?(this.positions=i,this.positions2=d,this.numVert=n,this.alpha=a):(this.oldPositions=i,this.oldPositions2=d,this.oldNumVert=n,this.oldAlpha=a)}const g=.5-.5*Math.cos(t*Math.PI),p=1-g;this.oldNumVert>0&&(a=g*this.alpha+p*this.oldAlpha);let f=Math.clamp(r.wave_r,0,1),m=Math.clamp(r.wave_g,0,1),b=Math.clamp(r.wave_b,0,1);if(0!==r.wave_brighten){const e=Math.max(f,m,b);e>.01&&(f/=e,m/=e,b/=e)}if(this.color=[f,m,b,a],this.oldNumVert>0)if(7===l){const e=(this.oldNumVert-1)/(2*this.numVert);for(let t=0;t<this.numVert;t++){const n=t*e,i=Math.floor(n),r=n-i,a=this.oldPositions[3*i+0]*(1-r)+this.oldPositions[3*(i+1)+0]*r,s=this.oldPositions[3*i+1]*(1-r)+this.oldPositions[3*(i+1)+1]*r;this.positions[3*t+0]=this.positions[3*t+0]*g+a*p,this.positions[3*t+1]=this.positions[3*t+1]*g+s*p,this.positions[3*t+2]=0}for(let t=0;t<this.numVert;t++){const n=(t+this.numVert)*e,i=Math.floor(n),r=n-i,a=this.oldPositions[3*i+0]*(1-r)+this.oldPositions[3*(i+1)+0]*r,s=this.oldPositions[3*i+1]*(1-r)+this.oldPositions[3*(i+1)+1]*r;this.positions2[3*t+0]=this.positions2[3*t+0]*g+a*p,this.positions2[3*t+1]=this.positions2[3*t+1]*g+s*p,this.positions2[3*t+2]=0}}else if(7===c){const e=this.numVert/2,t=(this.oldNumVert-1)/e;for(let n=0;n<e;n++){const e=n*t,i=Math.floor(e),r=e-i,a=this.oldPositions[3*i+0]*(1-r)+this.oldPositions[3*(i+1)+0]*r,s=this.oldPositions[3*i+1]*(1-r)+this.oldPositions[3*(i+1)+1]*r;this.positions[3*n+0]=this.positions[3*n+0]*g+a*p,this.positions[3*n+1]=this.positions[3*n+1]*g+s*p,this.positions[3*n+2]=0}for(let n=0;n<e;n++){const i=n*t,r=Math.floor(i),a=i-r,s=this.oldPositions2[3*r+0]*(1-a)+this.oldPositions2[3*(r+1)+0]*a,A=this.oldPositions2[3*r+1]*(1-a)+this.oldPositions2[3*(r+1)+1]*a;this.positions2[3*n+0]=this.positions[3*(n+e)+0]*g+s*p,this.positions2[3*n+1]=this.positions[3*(n+e)+1]*g+A*p,this.positions2[3*n+2]=0}}else{const e=(this.oldNumVert-1)/this.numVert;for(let t=0;t<this.numVert;t++){const n=t*e,i=Math.floor(n),r=n-i,a=this.oldPositions[3*i+0]*(1-r)+this.oldPositions[3*(i+1)+0]*r,s=this.oldPositions[3*i+1]*(1-r)+this.oldPositions[3*(i+1)+1]*r;this.positions[3*t+0]=this.positions[3*t+0]*g+a*p,this.positions[3*t+1]=this.positions[3*t+1]*g+s*p,this.positions[3*t+2]=0}}for(let e=0;e<this.numVert;e++)this.positions[3*e+1]=-this.positions[3*e+1];if(this.smoothedNumVert=2*this.numVert-1,_.smoothWave(this.positions,this.smoothedPositions,this.numVert),7===l||7===c){for(let e=0;e<this.numVert;e++)this.positions2[3*e+1]=-this.positions2[3*e+1];_.smoothWave(this.positions2,this.smoothedPositions2,this.numVert)}return!0}return!1}drawBasicWaveform(e,t,n,i,r){if(this.generateWaveform(e,t,n,i,r)){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.smoothedPositions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLoc),this.gl.uniform4fv(this.colorLoc,this.color);let e=1;0===r.wave_thick&&0===r.wave_dots||(e=4),0!==r.additivewave?this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE):this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA);const t=0!==r.wave_dots?this.gl.POINTS:this.gl.LINE_STRIP;for(let n=0;n<e;n++){const e=2;0===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,0]):1===n?this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,0]):2===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,e/this.texsizeY]):3===n&&this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,e/this.texsizeY]),this.gl.drawArrays(t,0,this.smoothedNumVert)}if(7==Math.floor(r.wave_mode)%8){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.smoothedPositions2,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLoc);for(let n=0;n<e;n++){const e=2;0===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,0]):1===n?this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,0]):2===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,e/this.texsizeY]):3===n&&this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,e/this.texsizeY]),this.gl.drawArrays(t,0,this.smoothedNumVert)}}}}}class U{constructor(e,t,n){this.index=e,this.gl=t,this.pointsData=[new Float32Array(512),new Float32Array(512)],this.positions=new Float32Array(1536),this.colors=new Float32Array(2048),this.smoothedPositions=new Float32Array(3069),this.smoothedColors=new Float32Array(4092),this.texsizeX=n.texsizeX,this.texsizeY=n.texsizeY,this.mesh_width=n.mesh_width,this.mesh_height=n.mesh_height,this.aspectx=n.aspectx,this.aspecty=n.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.positionVertexBuf=this.gl.createBuffer(),this.colorVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n uniform float uSize;\n uniform vec2 thickOffset;\n in vec3 aPos;\n in vec4 aColor;\n out vec4 vColor;\n void main(void) {\n vColor = aColor;\n gl_PointSize = uSize;\n gl_Position = vec4(aPos + vec3(thickOffset, 0.0), 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n in vec4 vColor;\n out vec4 fragColor;\n void main(void) {\n fragColor = vColor;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.aColorLocation=this.gl.getAttribLocation(this.shaderProgram,"aColor"),this.sizeLoc=this.gl.getUniformLocation(this.shaderProgram,"uSize"),this.thickOffsetLoc=this.gl.getUniformLocation(this.shaderProgram,"thickOffset")}generateWaveform(e,t,n,i,r,a,s,A){if(0!==s.baseVals.enabled&&e.length>0){let o;if(a.preset.useWASM)o=a.runWaveFrameEquations(this.index,r);else{const e=Object.assign({},a.mdVSWaves[this.index],a.mdVSFrameMapWaves[this.index],a.mdVSQAfterFrame,a.mdVSTWaveInits[this.index],r);o=a.runWaveFrameEquations(this.index,e)}const l=512;Object.prototype.hasOwnProperty.call(o,"samples")?this.samples=o.samples:this.samples=l,this.samples>l&&(this.samples=l),this.samples=Math.floor(this.samples);const c=a.preset.waves[this.index].baseVals,u=Math.floor(o.sep),h=o.scaling,d=o.spectrum,g=o.smoothing,p=c.usedots,f=o.r,m=o.g,b=o.b,w=o.a,E=a.preset.baseVals.wave_scale;if(this.samples-=u,this.samples>=2||0!==p&&this.samples>=1){const r=0!==d,y=(r?.15:.004)*h*E,v=r?n:e,S=r?i:t,x=r?0:Math.floor((l-this.samples)/2-u/2),I=r?0:Math.floor((l-this.samples)/2+u/2),C=r?(l-u)/this.samples:1,T=(.98*g)**.5,B=1-T;this.pointsData[0][0]=v[x],this.pointsData[1][0]=S[I];for(let e=1;e<this.samples;e++){const t=v[Math.floor(e*C+x)],n=S[Math.floor(e*C+I)];this.pointsData[0][e]=t*B+this.pointsData[0][e-1]*T,this.pointsData[1][e]=n*B+this.pointsData[1][e-1]*T}for(let e=this.samples-2;e>=0;e--)this.pointsData[0][e]=this.pointsData[0][e]*B+this.pointsData[0][e+1]*T,this.pointsData[1][e]=this.pointsData[1][e]*B+this.pointsData[1][e+1]*T;for(let e=0;e<this.samples;e++)this.pointsData[0][e]*=y,this.pointsData[1][e]*=y;if(a.preset.useWASM){const e=a.preset.globalPools["wavePerFrame"+this.index];for(let t=0;t<this.samples;t++){const n=this.pointsData[0][t],i=this.pointsData[1][t];e.sample.value=t/(this.samples-1),e.value1.value=n,e.value2.value=i,e.x.value=.5+n,e.y.value=.5+i,e.r.value=f,e.g.value=m,e.b.value=b,e.a.value=w,s.point_eqs&&a.preset.waves[this.index].point_eqs();const r=(2*e.x.value-1)*this.invAspectx,o=(-2*e.y.value+1)*this.invAspecty,l=e.r.value,c=e.g.value,u=e.b.value,h=e.a.value;this.positions[3*t+0]=r,this.positions[3*t+1]=o,this.positions[3*t+2]=0,this.colors[4*t+0]=l,this.colors[4*t+1]=c,this.colors[4*t+2]=u,this.colors[4*t+3]=h*A}}else for(let e=0;e<this.samples;e++){const t=this.pointsData[0][e],n=this.pointsData[1][e];o.sample=e/(this.samples-1),o.value1=t,o.value2=n,o.x=.5+t,o.y=.5+n,o.r=f,o.g=m,o.b=b,o.a=w,""!==s.point_eqs&&(o=a.runWavePointEquations(this.index,o));const i=(2*o.x-1)*this.invAspectx,r=(-2*o.y+1)*this.invAspecty,l=o.r,c=o.g,u=o.b,h=o.a;this.positions[3*e+0]=i,this.positions[3*e+1]=r,this.positions[3*e+2]=0,this.colors[4*e+0]=l,this.colors[4*e+1]=c,this.colors[4*e+2]=u,this.colors[4*e+3]=h*A}if(a.preset.useWASM)o.usedots=p,o.thick=c.thick,o.additive=c.additive;else{const e=a.mdVSUserKeysWaves[this.index],t=k.pick(o,e);a.mdVSFrameMapWaves[this.index]=t}return this.mdVSWaveFrame=o,0===p&&_.smoothWaveAndColor(this.positions,this.colors,this.smoothedPositions,this.smoothedColors,this.samples),!0}}return!1}drawCustomWaveform(e,t,n,i,r,a,s,A){if(A&&this.generateWaveform(t,n,i,r,a,s,A,e)){this.gl.useProgram(this.shaderProgram);const e=0!==this.mdVSWaveFrame.usedots,t=0!==this.mdVSWaveFrame.thick,n=0!==this.mdVSWaveFrame.additive;let i,r,a;e?(i=this.positions,r=this.colors,a=this.samples):(i=this.smoothedPositions,r=this.smoothedColors,a=2*this.samples-1),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,i,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.colorVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,r,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aColorLocation);let s=1;e?t?this.gl.uniform1f(this.sizeLoc,2+(this.texsizeX>=1024?1:0)):this.gl.uniform1f(this.sizeLoc,1+(this.texsizeX>=1024?1:0)):(this.gl.uniform1f(this.sizeLoc,1),t&&(s=4)),n?this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE):this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA);const A=e?this.gl.POINTS:this.gl.LINE_STRIP;for(let e=0;e<s;e++){const t=2;0===e?this.gl.uniform2fv(this.thickOffsetLoc,[0,0]):1===e?this.gl.uniform2fv(this.thickOffsetLoc,[t/this.texsizeX,0]):2===e?this.gl.uniform2fv(this.thickOffsetLoc,[0,t/this.texsizeY]):3===e&&this.gl.uniform2fv(this.thickOffsetLoc,[t/this.texsizeX,t/this.texsizeY]),this.gl.drawArrays(A,0,a)}}}}class M{constructor(e,t,n){this.index=e,this.gl=t,this.positions=new Float32Array(309),this.colors=new Float32Array(412),this.uvs=new Float32Array(206),this.borderPositions=new Float32Array(306),this.texsizeX=n.texsizeX,this.texsizeY=n.texsizeY,this.mesh_width=n.mesh_width,this.mesh_height=n.mesh_height,this.aspectx=n.aspectx,this.aspecty=n.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.positionVertexBuf=this.gl.createBuffer(),this.colorVertexBuf=this.gl.createBuffer(),this.uvVertexBuf=this.gl.createBuffer(),this.borderPositionVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader(),this.createBorderShader(),this.mainSampler=this.gl.createSampler(),t.samplerParameteri(this.mainSampler,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_LINEAR),t.samplerParameteri(this.mainSampler,t.TEXTURE_MAG_FILTER,t.LINEAR),t.samplerParameteri(this.mainSampler,t.TEXTURE_WRAP_S,t.REPEAT),t.samplerParameteri(this.mainSampler,t.TEXTURE_WRAP_T,t.REPEAT)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aPos;\n in vec4 aColor;\n in vec2 aUv;\n out vec4 vColor;\n out vec2 vUv;\n void main(void) {\n vColor = aColor;\n vUv = aUv;\n gl_Position = vec4(aPos, 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n uniform sampler2D uTexture;\n uniform float uTextured;\n in vec4 vColor;\n in vec2 vUv;\n out vec4 fragColor;\n void main(void) {\n if (uTextured != 0.0) {\n fragColor = texture(uTexture, vUv) * vColor;\n } else {\n fragColor = vColor;\n }\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.aColorLocation=this.gl.getAttribLocation(this.shaderProgram,"aColor"),this.aUvLocation=this.gl.getAttribLocation(this.shaderProgram,"aUv"),this.texturedLoc=this.gl.getUniformLocation(this.shaderProgram,"uTextured"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture")}createBorderShader(){this.borderShaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aBorderPos;\n uniform vec2 thickOffset;\n void main(void) {\n gl_Position = vec4(aBorderPos +\n vec3(thickOffset, 0.0), 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n out vec4 fragColor;\n uniform vec4 uBorderColor;\n void main(void) {\n fragColor = uBorderColor;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.borderShaderProgram,e),this.gl.attachShader(this.borderShaderProgram,t),this.gl.linkProgram(this.borderShaderProgram),this.aBorderPosLoc=this.gl.getAttribLocation(this.borderShaderProgram,"aBorderPos"),this.uBorderColorLoc=this.gl.getUniformLocation(this.borderShaderProgram,"uBorderColor"),this.thickOffsetLoc=this.gl.getUniformLocation(this.shaderProgram,"thickOffset")}drawCustomShape(e,t,n,i,r){if(0!==i.baseVals.enabled)if(n.preset.useWASM){this.setupShapeBuffers(n.preset.globalPools.perFrame.wrap.value);const i=n.preset.shapes[this.index].baseVals,a=n.preset.globalPools["shapePerFrame"+this.index];k.setWasm(a,t,n.globalKeys),n.preset.shapes[this.index].frame_eqs||n.preset.restore_qs(),k.setWasm(a,n.mdVSTShapeInits[this.index],n.ts),n.preset.save_ts(),a.x.value=i.x,a.y.value=i.y,a.rad.value=i.rad,a.ang.value=i.ang,a.r.value=i.r,a.g.value=i.g,a.b.value=i.b,a.a.value=i.a,a.r2.value=i.r2,a.g2.value=i.g2,a.b2.value=i.b2,a.a2.value=i.a2,a.border_r.value=i.border_r,a.border_g.value=i.border_g,a.border_b.value=i.border_b,a.border_a.value=i.border_a,a.thickoutline.value=i.thickoutline,a.textured.value=i.textured,a.tex_zoom.value=i.tex_zoom,a.tex_ang.value=i.tex_ang,a.additive.value=i.additive,n.preset.shapes[this.index].frame_eqs_save();const s=Math.clamp(i.num_inst,1,1024);for(let t=0;t<s;t++){a.instance.value=t,n.preset.shapes[this.index].frame_eqs&&(n.preset.shapes[this.index].frame_eqs_restore(),n.preset.restore_qs(),n.preset.restore_ts(),n.preset.shapes[this.index].frame_eqs());let i=a.sides.value;i=Math.clamp(i,3,100),i=Math.floor(i);const s=a.rad.value,A=a.ang.value,o=2*a.x.value-1,l=-2*a.y.value+1,c=a.r.value,u=a.g.value,h=a.b.value,d=a.a.value,g=a.r2.value,p=a.g2.value,f=a.b2.value,m=a.a2.value,b=a.border_r.value,w=a.border_g.value,E=a.border_b.value,y=a.border_a.value;this.borderColor=[b,w,E,y*e];const v=a.thickoutline.value,k=a.textured.value,S=a.tex_zoom.value,x=a.tex_ang.value,I=a.additive.value,C=this.borderColor[3]>0,T=Math.abs(k)>=1,_=Math.abs(v)>=1,B=Math.abs(I)>=1;this.positions[0]=o,this.positions[1]=l,this.positions[2]=0,this.colors[0]=c,this.colors[1]=u,this.colors[2]=h,this.colors[3]=d*e,T&&(this.uvs[0]=.5,this.uvs[1]=.5);const U=.25*Math.PI;for(let t=1;t<=i+1;t++){const n=(t-1)/i*2*Math.PI,r=n+A+U;if(this.positions[3*t+0]=o+s*Math.cos(r)*this.aspecty,this.positions[3*t+1]=l+s*Math.sin(r),this.positions[3*t+2]=0,this.colors[4*t+0]=g,this.colors[4*t+1]=p,this.colors[4*t+2]=f,this.colors[4*t+3]=m*e,T){const e=n+x+U;this.uvs[2*t+0]=.5+.5*Math.cos(e)/S*this.aspecty,this.uvs[2*t+1]=.5+.5*Math.sin(e)/S}C&&(this.borderPositions[3*(t-1)+0]=this.positions[3*t+0],this.borderPositions[3*(t-1)+1]=this.positions[3*t+1],this.borderPositions[3*(t-1)+2]=this.positions[3*t+2])}this.drawCustomShapeInstance(r,i,T,C,_,B)}}else{this.setupShapeBuffers(n.mdVSFrame.wrap);let i=Object.assign({},n.mdVSShapes[this.index],n.mdVSFrameMapShapes[this.index],t);""===n.preset.shapes[this.index].frame_eqs_str&&(i=Object.assign(i,n.mdVSQAfterFrame,n.mdVSTShapeInits[this.index]));const a=n.preset.shapes[this.index].baseVals,s=Math.clamp(a.num_inst,1,1024);for(let t=0;t<s;t++){let s;i.instance=t,i.x=a.x,i.y=a.y,i.rad=a.rad,i.ang=a.ang,i.r=a.r,i.g=a.g,i.b=a.b,i.a=a.a,i.r2=a.r2,i.g2=a.g2,i.b2=a.b2,i.a2=a.a2,i.border_r=a.border_r,i.border_g=a.border_g,i.border_b=a.border_b,i.border_a=a.border_a,i.thickoutline=a.thickoutline,i.textured=a.textured,i.tex_zoom=a.tex_zoom,i.tex_ang=a.tex_ang,i.additive=a.additive,""!==n.preset.shapes[this.index].frame_eqs_str?(i=Object.assign(i,n.mdVSQAfterFrame,n.mdVSTShapeInits[this.index]),s=n.runShapeFrameEquations(this.index,i)):s=i;let A=s.sides;A=Math.clamp(A,3,100),A=Math.floor(A);const o=s.rad,l=s.ang,c=2*s.x-1,u=-2*s.y+1,h=s.r,d=s.g,g=s.b,p=s.a,f=s.r2,m=s.g2,b=s.b2,w=s.a2,E=s.border_r,y=s.border_g,v=s.border_b,k=s.border_a;this.borderColor=[E,y,v,k*e];const S=s.thickoutline,x=s.textured,I=s.tex_zoom,C=s.tex_ang,T=s.additive,_=this.borderColor[3]>0,B=Math.abs(x)>=1,U=Math.abs(S)>=1,M=Math.abs(T)>=1;this.positions[0]=c,this.positions[1]=u,this.positions[2]=0,this.colors[0]=h,this.colors[1]=d,this.colors[2]=g,this.colors[3]=p*e,B&&(this.uvs[0]=.5,this.uvs[1]=.5);const R=.25*Math.PI;for(let t=1;t<=A+1;t++){const n=(t-1)/A*2*Math.PI,i=n+l+R;if(this.positions[3*t+0]=c+o*Math.cos(i)*this.aspecty,this.positions[3*t+1]=u+o*Math.sin(i),this.positions[3*t+2]=0,this.colors[4*t+0]=f,this.colors[4*t+1]=m,this.colors[4*t+2]=b,this.colors[4*t+3]=w*e,B){const e=n+C+R;this.uvs[2*t+0]=.5+.5*Math.cos(e)/I*this.aspecty,this.uvs[2*t+1]=.5+.5*Math.sin(e)/I}_&&(this.borderPositions[3*(t-1)+0]=this.positions[3*t+0],this.borderPositions[3*(t-1)+1]=this.positions[3*t+1],this.borderPositions[3*(t-1)+2]=this.positions[3*t+2])}this.mdVSShapeFrame=s,this.drawCustomShapeInstance(r,A,B,_,U,M)}const A=n.mdVSUserKeysShapes[this.index],o=k.pick(this.mdVSShapeFrame,A);n.mdVSFrameMapShapes[this.index]=o}}setupShapeBuffers(e){this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.DYNAMIC_DRAW),this.gl.vertexAttribPointer(this.aPosLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.colorVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.colors,this.gl.DYNAMIC_DRAW),this.gl.vertexAttribPointer(this.aColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aColorLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.uvVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.uvs,this.gl.DYNAMIC_DRAW),this.gl.vertexAttribPointer(this.aUvLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aUvLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.borderPositionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.borderPositions,this.gl.DYNAMIC_DRAW),this.gl.vertexAttribPointer(this.aBorderPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aBorderPosLoc);const t=0!==e?this.gl.REPEAT:this.gl.CLAMP_TO_EDGE;this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_S,t),this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_T,t)}drawCustomShapeInstance(e,t,n,i,r,a){if(this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,this.positions,0,3*(t+2)),this.gl.vertexAttribPointer(this.aPosLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.colorVertexBuf),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,this.colors,0,4*(t+2)),this.gl.vertexAttribPointer(this.aColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aColorLocation),n&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.uvVertexBuf),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,this.uvs,0,2*(t+2)),this.gl.vertexAttribPointer(this.aUvLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aUvLocation)),this.gl.uniform1f(this.texturedLoc,n?1:0),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.bindSampler(0,this.mainSampler),this.gl.uniform1i(this.textureLoc,0),a?this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE):this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,t+2),i){this.gl.useProgram(this.borderShaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.borderPositionVertexBuf),this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,this.borderPositions,0,3*(t+1)),this.gl.vertexAttribPointer(this.aBorderPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aBorderPosLoc),this.gl.uniform4fv(this.uBorderColorLoc,this.borderColor);const e=r?4:1;for(let n=0;n<e;n++){const e=2;0===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,0]):1===n?this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,0]):2===n?this.gl.uniform2fv(this.thickOffsetLoc,[0,e/this.texsizeY]):3===n&&this.gl.uniform2fv(this.thickOffsetLoc,[e/this.texsizeX,e/this.texsizeY]),this.gl.drawArrays(this.gl.LINE_STRIP,0,t+1)}}}}class R{constructor(e,t={}){this.gl=e,this.positions=new Float32Array(72),this.aspectx=t.aspectx,this.aspecty=t.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader(),this.vertexBuf=this.gl.createBuffer()}updateGlobals(e){this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aPos;\n void main(void) {\n gl_Position = vec4(aPos, 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n out vec4 fragColor;\n uniform vec4 u_color;\n void main(void) {\n fragColor = u_color;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLoc=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.colorLoc=this.gl.getUniformLocation(this.shaderProgram,"u_color")}addTriangle(e,t,n,i){this.positions[e+0]=t[0],this.positions[e+1]=t[1],this.positions[e+2]=t[2],this.positions[e+3]=n[0],this.positions[e+4]=n[1],this.positions[e+5]=n[2],this.positions[e+6]=i[0],this.positions[e+7]=i[1],this.positions[e+8]=i[2]}generateBorder(e,t,n){if(t>0&&e[3]>0){const e=2,i=2,r=e/2,a=i/2,s=n/2,A=t/2+s,o=s*e,l=s*i,c=A*e,u=A*i;let h=[-r+o,-a+u,0],d=[-r+o,a-u,0],g=[-r+c,a-u,0],p=[-r+c,-a+u,0];return this.addTriangle(0,p,d,h),this.addTriangle(9,p,g,d),h=[r-o,-a+u,0],d=[r-o,a-u,0],g=[r-c,a-u,0],p=[r-c,-a+u,0],this.addTriangle(18,h,d,p),this.addTriangle(27,d,g,p),h=[-r+o,-a+l,0],d=[-r+o,u-a,0],g=[r-o,u-a,0],p=[r-o,-a+l,0],this.addTriangle(36,p,d,h),this.addTriangle(45,p,g,d),h=[-r+o,a-l,0],d=[-r+o,a-u,0],g=[r-o,a-u,0],p=[r-o,a-l,0],this.addTriangle(54,h,d,p),this.addTriangle(63,d,g,p),!0}return!1}drawBorder(e,t,n){this.generateBorder(e,t,n)&&(this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLoc),this.gl.uniform4fv(this.colorLoc,e),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLES,0,this.positions.length/3))}}class L{constructor(e,t){this.gl=e,this.aspectx=t.aspectx,this.aspecty=t.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.generatePositions(),this.colors=new Float32Array([0,0,0,3/32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),this.positionVertexBuf=this.gl.createBuffer(),this.colorVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}updateGlobals(e){this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.generatePositions()}generatePositions(){this.positions=new Float32Array([0,0,0,-.05*this.aspecty,0,0,0,-.05,0,.05*this.aspecty,0,0,0,.05,0,-.05*this.aspecty,0,0])}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aPos;\n in vec4 aColor;\n out vec4 vColor;\n void main(void) {\n vColor = aColor;\n gl_Position = vec4(aPos, 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n in vec4 vColor;\n out vec4 fragColor;\n void main(void) {\n fragColor = vColor;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.aColorLocation=this.gl.getAttribLocation(this.shaderProgram,"aColor")}drawDarkenCenter(e){0!==e.darken_center&&(this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.colorVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.colors,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aColorLocation),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_FAN,0,this.positions.length/3))}}class N{constructor(e,t){this.gl=e,this.maxX=64,this.maxY=48,this.positions=new Float32Array(this.maxX*this.maxY*2*3),this.texsizeX=t.texsizeX,this.texsizeY=t.texsizeY,this.mesh_width=t.mesh_width,this.mesh_height=t.mesh_height,this.positionVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n in vec3 aPos;\n void main(void) {\n gl_Position = vec4(aPos, 1.0);\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n out vec4 fragColor;\n uniform vec4 u_color;\n void main(void) {\n fragColor = u_color;\n }\n `.trim()),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.aPosLoc=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.colorLoc=this.gl.getUniformLocation(this.shaderProgram,"u_color")}getMotionDir(e,t,n){const i=Math.floor(n*this.mesh_height),r=n*this.mesh_height-i,a=Math.floor(t*this.mesh_width),s=t*this.mesh_width-a,A=a+1,o=i+1,l=this.mesh_width+1;let c,u;return c=e[2*(i*l+a)+0]*(1-s)*(1-r),u=e[2*(i*l+a)+1]*(1-s)*(1-r),c+=e[2*(i*l+A)+0]*s*(1-r),u+=e[2*(i*l+A)+1]*s*(1-r),c+=e[2*(o*l+a)+0]*(1-s)*r,u+=e[2*(o*l+a)+1]*(1-s)*r,c+=e[2*(o*l+A)+0]*s*r,u+=e[2*(o*l+A)+1]*s*r,[c,1-u]}generateMotionVectors(e,t){const n=0===e.bmotionvectorson?0:e.mv_a;let i=Math.floor(e.mv_x),r=Math.floor(e.mv_y);if(n>.001&&i>0&&r>0){let a=e.mv_x-i,s=e.mv_y-r;i>this.maxX&&(i=this.maxX,a=0),r>this.maxY&&(r=this.maxY,s=0);const A=e.mv_dx,o=e.mv_dy,l=e.mv_l,c=1/this.texsizeX;this.numVecVerts=0;for(let e=0;e<r;e++){let n=(e+.25)/(r+s+.25-1);if(n-=o,n>1e-4&&n<.9999)for(let e=0;e<i;e++){let r=(e+.25)/(i+a+.25-1);if(r+=A,r>1e-4&&r<.9999){const e=this.getMotionDir(t,r,n);let i=e[0],a=e[1],s=i-r,A=a-n;s*=l,A*=l;let o=Math.sqrt(s*s+A*A);o<c&&o>1e-8?(o=c/o,s*=o,A*=o):(s=c,s=c),i=r+s,a=n+A;const u=2*r-1,h=2*n-1,d=2*i-1,g=2*a-1;this.positions[3*this.numVecVerts+0]=u,this.positions[3*this.numVecVerts+1]=h,this.positions[3*this.numVecVerts+2]=0,this.positions[3*(this.numVecVerts+1)+0]=d,this.positions[3*(this.numVecVerts+1)+1]=g,this.positions[3*(this.numVecVerts+1)+2]=0,this.numVecVerts+=2}}}if(this.numVecVerts>0)return this.color=[e.mv_r,e.mv_g,e.mv_b,n],!0}return!1}drawMotionVectors(e,t){this.generateMotionVectors(e,t)&&(this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.aPosLoc,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.aPosLoc),this.gl.uniform4fv(this.colorLoc,this.color),this.gl.lineWidth(1),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.LINES,0,this.numVecVerts))}}class D{constructor(e,t,n,i={}){this.gl=e,this.noise=t,this.image=n,this.texsizeX=i.texsizeX,this.texsizeY=i.texsizeY,this.mesh_width=i.mesh_width,this.mesh_height=i.mesh_height,this.aspectx=i.aspectx,this.aspecty=i.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.buildPositions(),this.indexBuf=e.createBuffer(),this.positionVertexBuf=this.gl.createBuffer(),this.warpUvVertexBuf=this.gl.createBuffer(),this.warpColorVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader(),this.mainSampler=this.gl.createSampler(),this.mainSamplerFW=this.gl.createSampler(),this.mainSamplerFC=this.gl.createSampler(),this.mainSamplerPW=this.gl.createSampler(),this.mainSamplerPC=this.gl.createSampler(),e.samplerParameteri(this.mainSampler,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSampler,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSampler,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSampler,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_MIN_FILTER,e.NEAREST_MIPMAP_NEAREST),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_MAG_FILTER,e.NEAREST),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_MIN_FILTER,e.NEAREST_MIPMAP_NEAREST),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_MAG_FILTER,e.NEAREST),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}buildPositions(){const e=this.mesh_width,t=this.mesh_height,n=e+1,i=t+1,r=2/e,a=2/t,s=[];for(let e=0;e<i;e++){const t=e*a-1;for(let e=0;e<n;e++){const n=e*r-1;s.push(n,-t,0)}}const A=[];for(let i=0;i<t;i++)for(let t=0;t<e;t++){const e=t+n*i,r=t+n*(i+1),a=t+1+n*(i+1),s=t+1+n*i;A.push(e,r,s),A.push(r,a,s)}this.vertices=new Float32Array(s),this.indices=new Uint16Array(A)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.buildPositions()}createShader(e=""){let t,n;if(0===e.length)t="ret = texture(sampler_main, uv).rgb * decay;",n="";else{const i=T.getShaderParts(e);n=i[0],t=i[1]}t=t.replace(/texture2D/g,"texture"),t=t.replace(/texture3D/g,"texture"),this.userTextures=T.getUserSamplers(n),this.shaderProgram=this.gl.createProgram();const i=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(i,`\n #version 300 es\n precision ${this.floatPrecision} float;\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n in vec2 aWarpUv;\n in vec4 aWarpColor;\n out vec2 uv;\n out vec2 uv_orig;\n out vec4 vColor;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv_orig = aPos * halfmad + halfmad;\n uv = aWarpUv;\n vColor = aWarpColor;\n }\n `.trim()),this.gl.compileShader(i);const r=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(r,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n precision mediump sampler3D;\n\n in vec2 uv;\n in vec2 uv_orig;\n in vec4 vColor;\n out vec4 fragColor;\n uniform sampler2D sampler_main;\n uniform sampler2D sampler_fw_main;\n uniform sampler2D sampler_fc_main;\n uniform sampler2D sampler_pw_main;\n uniform sampler2D sampler_pc_main;\n uniform sampler2D sampler_blur1;\n uniform sampler2D sampler_blur2;\n uniform sampler2D sampler_blur3;\n uniform sampler2D sampler_noise_lq;\n uniform sampler2D sampler_noise_lq_lite;\n uniform sampler2D sampler_noise_mq;\n uniform sampler2D sampler_noise_hq;\n uniform sampler2D sampler_pw_noise_lq;\n uniform sampler3D sampler_noisevol_lq;\n uniform sampler3D sampler_noisevol_hq;\n uniform float time;\n uniform float decay;\n uniform vec2 resolution;\n uniform vec4 aspect;\n uniform vec4 texsize;\n uniform vec4 texsize_noise_lq;\n uniform vec4 texsize_noise_mq;\n uniform vec4 texsize_noise_hq;\n uniform vec4 texsize_noise_lq_lite;\n uniform vec4 texsize_noisevol_lq;\n uniform vec4 texsize_noisevol_hq;\n\n uniform float bass;\n uniform float mid;\n uniform float treb;\n uniform float vol;\n uniform float bass_att;\n uniform float mid_att;\n uniform float treb_att;\n uniform float vol_att;\n\n uniform float frame;\n uniform float fps;\n\n uniform vec4 _qa;\n uniform vec4 _qb;\n uniform vec4 _qc;\n uniform vec4 _qd;\n uniform vec4 _qe;\n uniform vec4 _qf;\n uniform vec4 _qg;\n uniform vec4 _qh;\n\n #define q1 _qa.x\n #define q2 _qa.y\n #define q3 _qa.z\n #define q4 _qa.w\n #define q5 _qb.x\n #define q6 _qb.y\n #define q7 _qb.z\n #define q8 _qb.w\n #define q9 _qc.x\n #define q10 _qc.y\n #define q11 _qc.z\n #define q12 _qc.w\n #define q13 _qd.x\n #define q14 _qd.y\n #define q15 _qd.z\n #define q16 _qd.w\n #define q17 _qe.x\n #define q18 _qe.y\n #define q19 _qe.z\n #define q20 _qe.w\n #define q21 _qf.x\n #define q22 _qf.y\n #define q23 _qf.z\n #define q24 _qf.w\n #define q25 _qg.x\n #define q26 _qg.y\n #define q27 _qg.z\n #define q28 _qg.w\n #define q29 _qh.x\n #define q30 _qh.y\n #define q31 _qh.z\n #define q32 _qh.w\n\n uniform vec4 slow_roam_cos;\n uniform vec4 roam_cos;\n uniform vec4 slow_roam_sin;\n uniform vec4 roam_sin;\n\n uniform float blur1_min;\n uniform float blur1_max;\n uniform float blur2_min;\n uniform float blur2_max;\n uniform float blur3_min;\n uniform float blur3_max;\n\n uniform float scale1;\n uniform float scale2;\n uniform float scale3;\n uniform float bias1;\n uniform float bias2;\n uniform float bias3;\n\n uniform vec4 rand_frame;\n uniform vec4 rand_preset;\n\n float PI = ${Math.PI};\n\n ${n}\n\n void main(void) {\n vec3 ret;\n float rad = length(uv_orig - 0.5);\n float ang = atan(uv_orig.x - 0.5, uv_orig.y - 0.5);\n\n ${t}\n\n fragColor = vec4(ret, 1.0) * vColor;\n }\n `.trim()),this.gl.compileShader(r),this.gl.attachShader(this.shaderProgram,i),this.gl.attachShader(this.shaderProgram,r),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.warpUvLocation=this.gl.getAttribLocation(this.shaderProgram,"aWarpUv"),this.warpColorLocation=this.gl.getAttribLocation(this.shaderProgram,"aWarpColor"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_main"),this.textureFWLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_fw_main"),this.textureFCLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_fc_main"),this.texturePWLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pw_main"),this.texturePCLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pc_main"),this.blurTexture1Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur1"),this.blurTexture2Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur2"),this.blurTexture3Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur3"),this.noiseLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_lq"),this.noiseMQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_mq"),this.noiseHQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_hq"),this.noiseLQLiteLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_lq_lite"),this.noisePointLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pw_noise_lq"),this.noiseVolLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noisevol_lq"),this.noiseVolHQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noisevol_hq"),this.decayLoc=this.gl.getUniformLocation(this.shaderProgram,"decay"),this.texsizeLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize"),this.texsizeNoiseLQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_lq"),this.texsizeNoiseMQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_mq"),this.texsizeNoiseHQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_hq"),this.texsizeNoiseLQLiteLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_lq_lite"),this.texsizeNoiseVolLQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noisevol_lq"),this.texsizeNoiseVolHQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noisevol_hq"),this.resolutionLoc=this.gl.getUniformLocation(this.shaderProgram,"resolution"),this.aspectLoc=this.gl.getUniformLocation(this.shaderProgram,"aspect"),this.bassLoc=this.gl.getUniformLocation(this.shaderProgram,"bass"),this.midLoc=this.gl.getUniformLocation(this.shaderProgram,"mid"),this.trebLoc=this.gl.getUniformLocation(this.shaderProgram,"treb"),this.volLoc=this.gl.getUniformLocation(this.shaderProgram,"vol"),this.bassAttLoc=this.gl.getUniformLocation(this.shaderProgram,"bass_att"),this.midAttLoc=this.gl.getUniformLocation(this.shaderProgram,"mid_att"),this.trebAttLoc=this.gl.getUniformLocation(this.shaderProgram,"treb_att"),this.volAttLoc=this.gl.getUniformLocation(this.shaderProgram,"vol_att"),this.timeLoc=this.gl.getUniformLocation(this.shaderProgram,"time"),this.frameLoc=this.gl.getUniformLocation(this.shaderProgram,"frame"),this.fpsLoc=this.gl.getUniformLocation(this.shaderProgram,"fps"),this.blur1MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur1_min"),this.blur1MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur1_max"),this.blur2MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur2_min"),this.blur2MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur2_max"),this.blur3MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur3_min"),this.blur3MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur3_max"),this.scale1Loc=this.gl.getUniformLocation(this.shaderProgram,"scale1"),this.scale2Loc=this.gl.getUniformLocation(this.shaderProgram,"scale2"),this.scale3Loc=this.gl.getUniformLocation(this.shaderProgram,"scale3"),this.bias1Loc=this.gl.getUniformLocation(this.shaderProgram,"bias1"),this.bias2Loc=this.gl.getUniformLocation(this.shaderProgram,"bias2"),this.bias3Loc=this.gl.getUniformLocation(this.shaderProgram,"bias3"),this.randPresetLoc=this.gl.getUniformLocation(this.shaderProgram,"rand_preset"),this.randFrameLoc=this.gl.getUniformLocation(this.shaderProgram,"rand_frame"),this.qaLoc=this.gl.getUniformLocation(this.shaderProgram,"_qa"),this.qbLoc=this.gl.getUniformLocation(this.shaderProgram,"_qb"),this.qcLoc=this.gl.getUniformLocation(this.shaderProgram,"_qc"),this.qdLoc=this.gl.getUniformLocation(this.shaderProgram,"_qd"),this.qeLoc=this.gl.getUniformLocation(this.shaderProgram,"_qe"),this.qfLoc=this.gl.getUniformLocation(this.shaderProgram,"_qf"),this.qgLoc=this.gl.getUniformLocation(this.shaderProgram,"_qg"),this.qhLoc=this.gl.getUniformLocation(this.shaderProgram,"_qh"),this.slowRoamCosLoc=this.gl.getUniformLocation(this.shaderProgram,"slow_roam_cos"),this.roamCosLoc=this.gl.getUniformLocation(this.shaderProgram,"roam_cos"),this.slowRoamSinLoc=this.gl.getUniformLocation(this.shaderProgram,"slow_roam_sin"),this.roamSinLoc=this.gl.getUniformLocation(this.shaderProgram,"roam_sin");for(let e=0;e<this.userTextures.length;e++){const t=this.userTextures[e];t.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_"+t.sampler)}}updateShader(e){this.createShader(e)}bindBlurVals(e,t){const n=e[0],i=e[1],r=e[2],a=t[0],s=t[1],A=t[2],o=a-n,l=n,c=s-i,u=i,h=A-r,d=r;this.gl.uniform1f(this.blur1MinLoc,n),this.gl.uniform1f(this.blur1MaxLoc,a),this.gl.uniform1f(this.blur2MinLoc,i),this.gl.uniform1f(this.blur2MaxLoc,s),this.gl.uniform1f(this.blur3MinLoc,r),this.gl.uniform1f(this.blur3MaxLoc,A),this.gl.uniform1f(this.scale1Loc,o),this.gl.uniform1f(this.scale2Loc,c),this.gl.uniform1f(this.scale3Loc,h),this.gl.uniform1f(this.bias1Loc,l),this.gl.uniform1f(this.bias2Loc,u),this.gl.uniform1f(this.bias3Loc,d)}renderQuadTexture(e,t,n,i,r,a,s,A,o,l,c){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.indexBuf),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,this.indices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.vertices,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.warpUvVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,l,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.warpUvLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.warpUvLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.warpColorVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,c,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.warpColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.warpColorLocation);const u=0!==A.wrap?this.gl.REPEAT:this.gl.CLAMP_TO_EDGE;this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_S,u),this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_T,u),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(0,this.mainSampler),this.gl.uniform1i(this.textureLoc,0),this.gl.activeTexture(this.gl.TEXTURE1),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(1,this.mainSamplerFW),this.gl.uniform1i(this.textureFWLoc,1),this.gl.activeTexture(this.gl.TEXTURE2),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(2,this.mainSamplerFC),this.gl.uniform1i(this.textureFCLoc,2),this.gl.activeTexture(this.gl.TEXTURE3),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(3,this.mainSamplerPW),this.gl.uniform1i(this.texturePWLoc,3),this.gl.activeTexture(this.gl.TEXTURE4),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(4,this.mainSamplerPC),this.gl.uniform1i(this.texturePCLoc,4),this.gl.activeTexture(this.gl.TEXTURE5),this.gl.bindTexture(this.gl.TEXTURE_2D,n),this.gl.uniform1i(this.blurTexture1Loc,5),this.gl.activeTexture(this.gl.TEXTURE6),this.gl.bindTexture(this.gl.TEXTURE_2D,i),this.gl.uniform1i(this.blurTexture2Loc,6),this.gl.activeTexture(this.gl.TEXTURE7),this.gl.bindTexture(this.gl.TEXTURE_2D,r),this.gl.uniform1i(this.blurTexture3Loc,7),this.gl.activeTexture(this.gl.TEXTURE8),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQ),this.gl.uniform1i(this.noiseLQLoc,8),this.gl.activeTexture(this.gl.TEXTURE9),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexMQ),this.gl.uniform1i(this.noiseMQLoc,9),this.gl.activeTexture(this.gl.TEXTURE10),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexHQ),this.gl.uniform1i(this.noiseHQLoc,10),this.gl.activeTexture(this.gl.TEXTURE11),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQLite),this.gl.uniform1i(this.noiseLQLiteLoc,11),this.gl.activeTexture(this.gl.TEXTURE12),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQ),this.gl.bindSampler(12,this.noise.noiseTexPointLQ),this.gl.uniform1i(this.noisePointLQLoc,12),this.gl.activeTexture(this.gl.TEXTURE13),this.gl.bindTexture(this.gl.TEXTURE_3D,this.noise.noiseTexVolLQ),this.gl.uniform1i(this.noiseVolLQLoc,13),this.gl.activeTexture(this.gl.TEXTURE14),this.gl.bindTexture(this.gl.TEXTURE_3D,this.noise.noiseTexVolHQ),this.gl.uniform1i(this.noiseVolHQLoc,14);for(let e=0;e<this.userTextures.length;e++){const t=this.userTextures[e];this.gl.activeTexture(this.gl.TEXTURE15+e),this.gl.bindTexture(this.gl.TEXTURE_2D,this.image.getTexture(t.sampler)),this.gl.uniform1i(t.textureLoc,15+e)}this.gl.uniform1f(this.decayLoc,A.decay),this.gl.uniform2fv(this.resolutionLoc,[this.texsizeX,this.texsizeY]),this.gl.uniform4fv(this.aspectLoc,[this.aspectx,this.aspecty,this.invAspectx,this.invAspecty]),this.gl.uniform4fv(this.texsizeLoc,[this.texsizeX,this.texsizeY,1/this.texsizeX,1/this.texsizeY]),this.gl.uniform4fv(this.texsizeNoiseLQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseMQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseHQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseLQLiteLoc,[32,32,1/32,1/32]),this.gl.uniform4fv(this.texsizeNoiseVolLQLoc,[32,32,1/32,1/32]),this.gl.uniform4fv(this.texsizeNoiseVolHQLoc,[32,32,1/32,1/32]),this.gl.uniform1f(this.bassLoc,A.bass),this.gl.uniform1f(this.midLoc,A.mid),this.gl.uniform1f(this.trebLoc,A.treb),this.gl.uniform1f(this.volLoc,(A.bass+A.mid+A.treb)/3),this.gl.uniform1f(this.bassAttLoc,A.bass_att),this.gl.uniform1f(this.midAttLoc,A.mid_att),this.gl.uniform1f(this.trebAttLoc,A.treb_att),this.gl.uniform1f(this.volAttLoc,(A.bass_att+A.mid_att+A.treb_att)/3),this.gl.uniform1f(this.timeLoc,A.time),this.gl.uniform1f(this.frameLoc,A.frame),this.gl.uniform1f(this.fpsLoc,A.fps),this.gl.uniform4fv(this.randPresetLoc,A.rand_preset),this.gl.uniform4fv(this.randFrameLoc,new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()])),this.gl.uniform4fv(this.qaLoc,new Float32Array([o.q1||0,o.q2||0,o.q3||0,o.q4||0])),this.gl.uniform4fv(this.qbLoc,new Float32Array([o.q5||0,o.q6||0,o.q7||0,o.q8||0])),this.gl.uniform4fv(this.qcLoc,new Float32Array([o.q9||0,o.q10||0,o.q11||0,o.q12||0])),this.gl.uniform4fv(this.qdLoc,new Float32Array([o.q13||0,o.q14||0,o.q15||0,o.q16||0])),this.gl.uniform4fv(this.qeLoc,new Float32Array([o.q17||0,o.q18||0,o.q19||0,o.q20||0])),this.gl.uniform4fv(this.qfLoc,new Float32Array([o.q21||0,o.q22||0,o.q23||0,o.q24||0])),this.gl.uniform4fv(this.qgLoc,new Float32Array([o.q25||0,o.q26||0,o.q27||0,o.q28||0])),this.gl.uniform4fv(this.qhLoc,new Float32Array([o.q29||0,o.q30||0,o.q31||0,o.q32||0])),this.gl.uniform4fv(this.slowRoamCosLoc,[.5+.5*Math.cos(.005*A.time),.5+.5*Math.cos(.008*A.time),.5+.5*Math.cos(.013*A.time),.5+.5*Math.cos(.022*A.time)]),this.gl.uniform4fv(this.roamCosLoc,[.5+.5*Math.cos(.3*A.time),.5+.5*Math.cos(1.3*A.time),.5+.5*Math.cos(5*A.time),.5+.5*Math.cos(20*A.time)]),this.gl.uniform4fv(this.slowRoamSinLoc,[.5+.5*Math.sin(.005*A.time),.5+.5*Math.sin(.008*A.time),.5+.5*Math.sin(.013*A.time),.5+.5*Math.sin(.022*A.time)]),this.gl.uniform4fv(this.roamSinLoc,[.5+.5*Math.sin(.3*A.time),.5+.5*Math.sin(1.3*A.time),.5+.5*Math.sin(5*A.time),.5+.5*Math.sin(20*A.time)]),this.bindBlurVals(a,s),e?this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA):this.gl.disable(this.gl.BLEND),this.gl.drawElements(this.gl.TRIANGLES,this.indices.length,this.gl.UNSIGNED_SHORT,0),e||this.gl.enable(this.gl.BLEND)}}class P{constructor(e,t,n,i={}){this.gl=e,this.noise=t,this.image=n,this.mesh_width=i.mesh_width,this.mesh_height=i.mesh_height,this.texsizeX=i.texsizeX,this.texsizeY=i.texsizeY,this.aspectx=i.aspectx,this.aspecty=i.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.compWidth=32,this.compHeight=24,this.buildPositions(),this.indexBuf=e.createBuffer(),this.positionVertexBuf=this.gl.createBuffer(),this.compColorVertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader(),this.mainSampler=this.gl.createSampler(),this.mainSamplerFW=this.gl.createSampler(),this.mainSamplerFC=this.gl.createSampler(),this.mainSamplerPW=this.gl.createSampler(),this.mainSamplerPC=this.gl.createSampler(),e.samplerParameteri(this.mainSampler,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSampler,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSampler,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSampler,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSamplerFW,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_MIN_FILTER,e.LINEAR_MIPMAP_LINEAR),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_MAG_FILTER,e.LINEAR),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerFC,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_MIN_FILTER,e.NEAREST_MIPMAP_NEAREST),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_MAG_FILTER,e.NEAREST),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.mainSamplerPW,e.TEXTURE_WRAP_T,e.REPEAT),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_MIN_FILTER,e.NEAREST_MIPMAP_NEAREST),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_MAG_FILTER,e.NEAREST),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.samplerParameteri(this.mainSamplerPC,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}buildPositions(){const e=this.compWidth,t=this.compHeight,n=e+1,i=t+1,r=2/e,a=2/t,s=[];for(let e=0;e<i;e++){const t=e*a-1;for(let e=0;e<n;e++){const n=e*r-1;s.push(n,-t,0)}}const A=[];for(let i=0;i<t;i++)for(let t=0;t<e;t++){const e=t+n*i,r=t+n*(i+1),a=t+1+n*(i+1),s=t+1+n*i;A.push(e,r,s),A.push(r,a,s)}this.vertices=new Float32Array(s),this.indices=new Uint16Array(A)}updateGlobals(e){this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.buildPositions()}createShader(e=""){let t,n;if(0===e.length)t="float orient_horiz = mod(echo_orientation, 2.0);\n float orient_x = (orient_horiz != 0.0) ? -1.0 : 1.0;\n float orient_y = (echo_orientation >= 2.0) ? -1.0 : 1.0;\n vec2 uv_echo = ((uv - 0.5) *\n (1.0 / echo_zoom) *\n vec2(orient_x, orient_y)) + 0.5;\n\n ret = mix(texture(sampler_main, uv).rgb,\n texture(sampler_main, uv_echo).rgb,\n echo_alpha);\n\n ret *= gammaAdj;\n\n if(fShader >= 1.0) {\n ret *= hue_shader;\n } else if(fShader > 0.001) {\n ret *= (1.0 - fShader) + (fShader * hue_shader);\n }\n\n if(brighten != 0) ret = sqrt(ret);\n if(darken != 0) ret = ret*ret;\n if(solarize != 0) ret = ret * (1.0 - ret) * 4.0;\n if(invert != 0) ret = 1.0 - ret;",n="";else{const i=T.getShaderParts(e);n=i[0],t=i[1]}t=t.replace(/texture2D/g,"texture"),t=t.replace(/texture3D/g,"texture"),this.userTextures=T.getUserSamplers(n),this.shaderProgram=this.gl.createProgram();const i=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(i,"\n #version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n in vec4 aCompColor;\n out vec2 vUv;\n out vec4 vColor;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n vUv = aPos * halfmad + halfmad;\n vColor = aCompColor;\n }\n ".trim()),this.gl.compileShader(i);const r=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(r,`\n #version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n precision mediump sampler3D;\n\n vec3 lum(vec3 v){\n return vec3(dot(v, vec3(0.32,0.49,0.29)));\n }\n\n in vec2 vUv;\n in vec4 vColor;\n out vec4 fragColor;\n uniform sampler2D sampler_main;\n uniform sampler2D sampler_fw_main;\n uniform sampler2D sampler_fc_main;\n uniform sampler2D sampler_pw_main;\n uniform sampler2D sampler_pc_main;\n uniform sampler2D sampler_blur1;\n uniform sampler2D sampler_blur2;\n uniform sampler2D sampler_blur3;\n uniform sampler2D sampler_noise_lq;\n uniform sampler2D sampler_noise_lq_lite;\n uniform sampler2D sampler_noise_mq;\n uniform sampler2D sampler_noise_hq;\n uniform sampler2D sampler_pw_noise_lq;\n uniform sampler3D sampler_noisevol_lq;\n uniform sampler3D sampler_noisevol_hq;\n\n uniform float time;\n uniform float gammaAdj;\n uniform float echo_zoom;\n uniform float echo_alpha;\n uniform float echo_orientation;\n uniform int invert;\n uniform int brighten;\n uniform int darken;\n uniform int solarize;\n uniform vec2 resolution;\n uniform vec4 aspect;\n uniform vec4 texsize;\n uniform vec4 texsize_noise_lq;\n uniform vec4 texsize_noise_mq;\n uniform vec4 texsize_noise_hq;\n uniform vec4 texsize_noise_lq_lite;\n uniform vec4 texsize_noisevol_lq;\n uniform vec4 texsize_noisevol_hq;\n\n uniform float bass;\n uniform float mid;\n uniform float treb;\n uniform float vol;\n uniform float bass_att;\n uniform float mid_att;\n uniform float treb_att;\n uniform float vol_att;\n\n uniform float frame;\n uniform float fps;\n\n uniform vec4 _qa;\n uniform vec4 _qb;\n uniform vec4 _qc;\n uniform vec4 _qd;\n uniform vec4 _qe;\n uniform vec4 _qf;\n uniform vec4 _qg;\n uniform vec4 _qh;\n\n #define q1 _qa.x\n #define q2 _qa.y\n #define q3 _qa.z\n #define q4 _qa.w\n #define q5 _qb.x\n #define q6 _qb.y\n #define q7 _qb.z\n #define q8 _qb.w\n #define q9 _qc.x\n #define q10 _qc.y\n #define q11 _qc.z\n #define q12 _qc.w\n #define q13 _qd.x\n #define q14 _qd.y\n #define q15 _qd.z\n #define q16 _qd.w\n #define q17 _qe.x\n #define q18 _qe.y\n #define q19 _qe.z\n #define q20 _qe.w\n #define q21 _qf.x\n #define q22 _qf.y\n #define q23 _qf.z\n #define q24 _qf.w\n #define q25 _qg.x\n #define q26 _qg.y\n #define q27 _qg.z\n #define q28 _qg.w\n #define q29 _qh.x\n #define q30 _qh.y\n #define q31 _qh.z\n #define q32 _qh.w\n\n uniform vec4 slow_roam_cos;\n uniform vec4 roam_cos;\n uniform vec4 slow_roam_sin;\n uniform vec4 roam_sin;\n\n uniform float blur1_min;\n uniform float blur1_max;\n uniform float blur2_min;\n uniform float blur2_max;\n uniform float blur3_min;\n uniform float blur3_max;\n\n uniform float scale1;\n uniform float scale2;\n uniform float scale3;\n uniform float bias1;\n uniform float bias2;\n uniform float bias3;\n\n uniform vec4 rand_frame;\n uniform vec4 rand_preset;\n\n uniform float fShader;\n\n float PI = ${Math.PI};\n\n ${n}\n\n void main(void) {\n vec3 ret;\n vec2 uv = vUv;\n vec2 uv_orig = vUv;\n uv.y = 1.0 - uv.y;\n uv_orig.y = 1.0 - uv_orig.y;\n float rad = length(uv - 0.5);\n float ang = atan(uv.x - 0.5, uv.y - 0.5);\n vec3 hue_shader = vColor.rgb;\n\n ${t}\n\n fragColor = vec4(ret, vColor.a);\n }\n `.trim()),this.gl.compileShader(r),this.gl.attachShader(this.shaderProgram,i),this.gl.attachShader(this.shaderProgram,r),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.compColorLocation=this.gl.getAttribLocation(this.shaderProgram,"aCompColor"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_main"),this.textureFWLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_fw_main"),this.textureFCLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_fc_main"),this.texturePWLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pw_main"),this.texturePCLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pc_main"),this.blurTexture1Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur1"),this.blurTexture2Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur2"),this.blurTexture3Loc=this.gl.getUniformLocation(this.shaderProgram,"sampler_blur3"),this.noiseLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_lq"),this.noiseMQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_mq"),this.noiseHQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_hq"),this.noiseLQLiteLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noise_lq_lite"),this.noisePointLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_pw_noise_lq"),this.noiseVolLQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noisevol_lq"),this.noiseVolHQLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_noisevol_hq"),this.timeLoc=this.gl.getUniformLocation(this.shaderProgram,"time"),this.gammaAdjLoc=this.gl.getUniformLocation(this.shaderProgram,"gammaAdj"),this.echoZoomLoc=this.gl.getUniformLocation(this.shaderProgram,"echo_zoom"),this.echoAlphaLoc=this.gl.getUniformLocation(this.shaderProgram,"echo_alpha"),this.echoOrientationLoc=this.gl.getUniformLocation(this.shaderProgram,"echo_orientation"),this.invertLoc=this.gl.getUniformLocation(this.shaderProgram,"invert"),this.brightenLoc=this.gl.getUniformLocation(this.shaderProgram,"brighten"),this.darkenLoc=this.gl.getUniformLocation(this.shaderProgram,"darken"),this.solarizeLoc=this.gl.getUniformLocation(this.shaderProgram,"solarize"),this.texsizeLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize"),this.texsizeNoiseLQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_lq"),this.texsizeNoiseMQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_mq"),this.texsizeNoiseHQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_hq"),this.texsizeNoiseLQLiteLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noise_lq_lite"),this.texsizeNoiseVolLQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noisevol_lq"),this.texsizeNoiseVolHQLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize_noisevol_hq"),this.resolutionLoc=this.gl.getUniformLocation(this.shaderProgram,"resolution"),this.aspectLoc=this.gl.getUniformLocation(this.shaderProgram,"aspect"),this.bassLoc=this.gl.getUniformLocation(this.shaderProgram,"bass"),this.midLoc=this.gl.getUniformLocation(this.shaderProgram,"mid"),this.trebLoc=this.gl.getUniformLocation(this.shaderProgram,"treb"),this.volLoc=this.gl.getUniformLocation(this.shaderProgram,"vol"),this.bassAttLoc=this.gl.getUniformLocation(this.shaderProgram,"bass_att"),this.midAttLoc=this.gl.getUniformLocation(this.shaderProgram,"mid_att"),this.trebAttLoc=this.gl.getUniformLocation(this.shaderProgram,"treb_att"),this.volAttLoc=this.gl.getUniformLocation(this.shaderProgram,"vol_att"),this.frameLoc=this.gl.getUniformLocation(this.shaderProgram,"frame"),this.fpsLoc=this.gl.getUniformLocation(this.shaderProgram,"fps"),this.blur1MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur1_min"),this.blur1MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur1_max"),this.blur2MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur2_min"),this.blur2MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur2_max"),this.blur3MinLoc=this.gl.getUniformLocation(this.shaderProgram,"blur3_min"),this.blur3MaxLoc=this.gl.getUniformLocation(this.shaderProgram,"blur3_max"),this.scale1Loc=this.gl.getUniformLocation(this.shaderProgram,"scale1"),this.scale2Loc=this.gl.getUniformLocation(this.shaderProgram,"scale2"),this.scale3Loc=this.gl.getUniformLocation(this.shaderProgram,"scale3"),this.bias1Loc=this.gl.getUniformLocation(this.shaderProgram,"bias1"),this.bias2Loc=this.gl.getUniformLocation(this.shaderProgram,"bias2"),this.bias3Loc=this.gl.getUniformLocation(this.shaderProgram,"bias3"),this.randPresetLoc=this.gl.getUniformLocation(this.shaderProgram,"rand_preset"),this.randFrameLoc=this.gl.getUniformLocation(this.shaderProgram,"rand_frame"),this.fShaderLoc=this.gl.getUniformLocation(this.shaderProgram,"fShader"),this.qaLoc=this.gl.getUniformLocation(this.shaderProgram,"_qa"),this.qbLoc=this.gl.getUniformLocation(this.shaderProgram,"_qb"),this.qcLoc=this.gl.getUniformLocation(this.shaderProgram,"_qc"),this.qdLoc=this.gl.getUniformLocation(this.shaderProgram,"_qd"),this.qeLoc=this.gl.getUniformLocation(this.shaderProgram,"_qe"),this.qfLoc=this.gl.getUniformLocation(this.shaderProgram,"_qf"),this.qgLoc=this.gl.getUniformLocation(this.shaderProgram,"_qg"),this.qhLoc=this.gl.getUniformLocation(this.shaderProgram,"_qh"),this.slowRoamCosLoc=this.gl.getUniformLocation(this.shaderProgram,"slow_roam_cos"),this.roamCosLoc=this.gl.getUniformLocation(this.shaderProgram,"roam_cos"),this.slowRoamSinLoc=this.gl.getUniformLocation(this.shaderProgram,"slow_roam_sin"),this.roamSinLoc=this.gl.getUniformLocation(this.shaderProgram,"roam_sin");for(let e=0;e<this.userTextures.length;e++){const t=this.userTextures[e];t.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"sampler_"+t.sampler)}}updateShader(e){this.createShader(e)}bindBlurVals(e,t){const n=e[0],i=e[1],r=e[2],a=t[0],s=t[1],A=t[2],o=a-n,l=n,c=s-i,u=i,h=A-r,d=r;this.gl.uniform1f(this.blur1MinLoc,n),this.gl.uniform1f(this.blur1MaxLoc,a),this.gl.uniform1f(this.blur2MinLoc,i),this.gl.uniform1f(this.blur2MaxLoc,s),this.gl.uniform1f(this.blur3MinLoc,r),this.gl.uniform1f(this.blur3MaxLoc,A),this.gl.uniform1f(this.scale1Loc,o),this.gl.uniform1f(this.scale2Loc,c),this.gl.uniform1f(this.scale3Loc,h),this.gl.uniform1f(this.bias1Loc,l),this.gl.uniform1f(this.bias2Loc,u),this.gl.uniform1f(this.bias3Loc,d)}static generateHueBase(e){const t=new Float32Array([1,1,1,1,1,1,1,1,1,1,1,1]);for(let n=0;n<4;n++){t[3*n+0]=.6+.3*Math.sin(30*e.time*.0143+3+21*n+e.rand_start[3]),t[3*n+1]=.6+.3*Math.sin(30*e.time*.0107+1+13*n+e.rand_start[1]),t[3*n+2]=.6+.3*Math.sin(30*e.time*.0129+6+9*n+e.rand_start[2]);const i=Math.max(t[3*n],t[3*n+1],t[3*n+2]);for(let e=0;e<3;e++)t[3*n+e]=t[3*n+e]/i,t[3*n+e]=.5+.5*t[3*n+e]}return t}generateCompColors(e,t,n){const i=P.generateHueBase(t),r=this.compWidth+1,a=this.compHeight+1,s=new Float32Array(r*a*4);let A=0;for(let t=0;t<a;t++)for(let a=0;a<r;a++){let r=a/this.compWidth,o=t/this.compHeight;const l=[1,1,1];for(let e=0;e<3;e++)l[e]=i[0+e]*r*o+i[3+e]*(1-r)*o+i[6+e]*r*(1-o)+i[9+e]*(1-r)*(1-o);let c=1;if(e){r*=this.mesh_width+1,o*=this.mesh_height+1,r=Math.clamp(r,0,this.mesh_width-1),o=Math.clamp(o,0,this.mesh_height-1);const e=Math.floor(r),t=Math.floor(o),i=r-e,a=o-t;c=n[4*(t*(this.mesh_width+1)+e)+3]*(1-i)*(1-a)+n[4*(t*(this.mesh_width+1)+(e+1))+3]*i*(1-a)+n[4*((t+1)*(this.mesh_width+1)+e)+3]*(1-i)*a+n[4*((t+1)*(this.mesh_width+1)+(e+1))+3]*i*a}s[A+0]=l[0],s[A+1]=l[1],s[A+2]=l[2],s[A+3]=c,A+=4}return s}renderQuadTexture(e,t,n,i,r,a,s,A,o,l){const c=this.generateCompColors(e,A,l);this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.indexBuf),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,this.indices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.vertices,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.compColorVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,c,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.compColorLocation,4,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.compColorLocation);const u=0!==A.wrap?this.gl.REPEAT:this.gl.CLAMP_TO_EDGE;this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_S,u),this.gl.samplerParameteri(this.mainSampler,this.gl.TEXTURE_WRAP_T,u),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(0,this.mainSampler),this.gl.uniform1i(this.textureLoc,0),this.gl.activeTexture(this.gl.TEXTURE1),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(1,this.mainSamplerFW),this.gl.uniform1i(this.textureFWLoc,1),this.gl.activeTexture(this.gl.TEXTURE2),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(2,this.mainSamplerFC),this.gl.uniform1i(this.textureFCLoc,2),this.gl.activeTexture(this.gl.TEXTURE3),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(3,this.mainSamplerPW),this.gl.uniform1i(this.texturePWLoc,3),this.gl.activeTexture(this.gl.TEXTURE4),this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.bindSampler(4,this.mainSamplerPC),this.gl.uniform1i(this.texturePCLoc,4),this.gl.activeTexture(this.gl.TEXTURE5),this.gl.bindTexture(this.gl.TEXTURE_2D,n),this.gl.uniform1i(this.blurTexture1Loc,5),this.gl.activeTexture(this.gl.TEXTURE6),this.gl.bindTexture(this.gl.TEXTURE_2D,i),this.gl.uniform1i(this.blurTexture2Loc,6),this.gl.activeTexture(this.gl.TEXTURE7),this.gl.bindTexture(this.gl.TEXTURE_2D,r),this.gl.uniform1i(this.blurTexture3Loc,7),this.gl.activeTexture(this.gl.TEXTURE8),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQ),this.gl.uniform1i(this.noiseLQLoc,8),this.gl.activeTexture(this.gl.TEXTURE9),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexMQ),this.gl.uniform1i(this.noiseMQLoc,9),this.gl.activeTexture(this.gl.TEXTURE10),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexHQ),this.gl.uniform1i(this.noiseHQLoc,10),this.gl.activeTexture(this.gl.TEXTURE11),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQLite),this.gl.uniform1i(this.noiseLQLiteLoc,11),this.gl.activeTexture(this.gl.TEXTURE12),this.gl.bindTexture(this.gl.TEXTURE_2D,this.noise.noiseTexLQ),this.gl.bindSampler(12,this.noise.noiseTexPointLQ),this.gl.uniform1i(this.noisePointLQLoc,12),this.gl.activeTexture(this.gl.TEXTURE13),this.gl.bindTexture(this.gl.TEXTURE_3D,this.noise.noiseTexVolLQ),this.gl.uniform1i(this.noiseVolLQLoc,13),this.gl.activeTexture(this.gl.TEXTURE14),this.gl.bindTexture(this.gl.TEXTURE_3D,this.noise.noiseTexVolHQ),this.gl.uniform1i(this.noiseVolHQLoc,14);for(let e=0;e<this.userTextures.length;e++){const t=this.userTextures[e];this.gl.activeTexture(this.gl.TEXTURE15+e),this.gl.bindTexture(this.gl.TEXTURE_2D,this.image.getTexture(t.sampler)),this.gl.uniform1i(t.textureLoc,15+e)}this.gl.uniform1f(this.timeLoc,A.time),this.gl.uniform1f(this.gammaAdjLoc,A.gammaadj),this.gl.uniform1f(this.echoZoomLoc,A.echo_zoom),this.gl.uniform1f(this.echoAlphaLoc,A.echo_alpha),this.gl.uniform1f(this.echoOrientationLoc,A.echo_orient),this.gl.uniform1i(this.invertLoc,A.invert),this.gl.uniform1i(this.brightenLoc,A.brighten),this.gl.uniform1i(this.darkenLoc,A.darken),this.gl.uniform1i(this.solarizeLoc,A.solarize),this.gl.uniform2fv(this.resolutionLoc,[this.texsizeX,this.texsizeY]),this.gl.uniform4fv(this.aspectLoc,[this.aspectx,this.aspecty,this.invAspectx,this.invAspecty]),this.gl.uniform4fv(this.texsizeLoc,new Float32Array([this.texsizeX,this.texsizeY,1/this.texsizeX,1/this.texsizeY])),this.gl.uniform4fv(this.texsizeNoiseLQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseMQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseHQLoc,[256,256,1/256,1/256]),this.gl.uniform4fv(this.texsizeNoiseLQLiteLoc,[32,32,1/32,1/32]),this.gl.uniform4fv(this.texsizeNoiseVolLQLoc,[32,32,1/32,1/32]),this.gl.uniform4fv(this.texsizeNoiseVolHQLoc,[32,32,1/32,1/32]),this.gl.uniform1f(this.bassLoc,A.bass),this.gl.uniform1f(this.midLoc,A.mid),this.gl.uniform1f(this.trebLoc,A.treb),this.gl.uniform1f(this.volLoc,(A.bass+A.mid+A.treb)/3),this.gl.uniform1f(this.bassAttLoc,A.bass_att),this.gl.uniform1f(this.midAttLoc,A.mid_att),this.gl.uniform1f(this.trebAttLoc,A.treb_att),this.gl.uniform1f(this.volAttLoc,(A.bass_att+A.mid_att+A.treb_att)/3),this.gl.uniform1f(this.frameLoc,A.frame),this.gl.uniform1f(this.fpsLoc,A.fps),this.gl.uniform4fv(this.randPresetLoc,A.rand_preset),this.gl.uniform4fv(this.randFrameLoc,new Float32Array([Math.random(),Math.random(),Math.random(),Math.random()])),this.gl.uniform1f(this.fShaderLoc,A.fshader),this.gl.uniform4fv(this.qaLoc,new Float32Array([o.q1||0,o.q2||0,o.q3||0,o.q4||0])),this.gl.uniform4fv(this.qbLoc,new Float32Array([o.q5||0,o.q6||0,o.q7||0,o.q8||0])),this.gl.uniform4fv(this.qcLoc,new Float32Array([o.q9||0,o.q10||0,o.q11||0,o.q12||0])),this.gl.uniform4fv(this.qdLoc,new Float32Array([o.q13||0,o.q14||0,o.q15||0,o.q16||0])),this.gl.uniform4fv(this.qeLoc,new Float32Array([o.q17||0,o.q18||0,o.q19||0,o.q20||0])),this.gl.uniform4fv(this.qfLoc,new Float32Array([o.q21||0,o.q22||0,o.q23||0,o.q24||0])),this.gl.uniform4fv(this.qgLoc,new Float32Array([o.q25||0,o.q26||0,o.q27||0,o.q28||0])),this.gl.uniform4fv(this.qhLoc,new Float32Array([o.q29||0,o.q30||0,o.q31||0,o.q32||0])),this.gl.uniform4fv(this.slowRoamCosLoc,[.5+.5*Math.cos(.005*A.time),.5+.5*Math.cos(.008*A.time),.5+.5*Math.cos(.013*A.time),.5+.5*Math.cos(.022*A.time)]),this.gl.uniform4fv(this.roamCosLoc,[.5+.5*Math.cos(.3*A.time),.5+.5*Math.cos(1.3*A.time),.5+.5*Math.cos(5*A.time),.5+.5*Math.cos(20*A.time)]),this.gl.uniform4fv(this.slowRoamSinLoc,[.5+.5*Math.sin(.005*A.time),.5+.5*Math.sin(.008*A.time),.5+.5*Math.sin(.013*A.time),.5+.5*Math.sin(.022*A.time)]),this.gl.uniform4fv(this.roamSinLoc,[.5+.5*Math.sin(.3*A.time),.5+.5*Math.sin(1.3*A.time),.5+.5*Math.sin(5*A.time),.5+.5*Math.sin(20*A.time)]),this.bindBlurVals(a,s),e?this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA):this.gl.disable(this.gl.BLEND),this.gl.drawElements(this.gl.TRIANGLES,this.indices.length,this.gl.UNSIGNED_SHORT,0),e||this.gl.enable(this.gl.BLEND)}}class F{constructor(e,t){this.gl=e,this.textureRatio=t.textureRatio,this.texsizeX=t.texsizeX,this.texsizeY=t.texsizeY,this.positions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.vertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.useFXAA()?this.createFXAAShader():this.createShader()}useFXAA(){return this.textureRatio<=1}updateGlobals(e){this.textureRatio=e.textureRatio,this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.gl.deleteProgram(this.shaderProgram),this.useFXAA()?this.createFXAAShader():this.createShader()}createFXAAShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"#version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n out vec2 v_rgbM;\n out vec2 v_rgbNW;\n out vec2 v_rgbNE;\n out vec2 v_rgbSW;\n out vec2 v_rgbSE;\n uniform vec4 texsize;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n\n v_rgbM = aPos * halfmad + halfmad;\n v_rgbNW = v_rgbM + (vec2(-1.0, -1.0) * texsize.zx);\n v_rgbNE = v_rgbM + (vec2(1.0, -1.0) * texsize.zx);\n v_rgbSW = v_rgbM + (vec2(-1.0, 1.0) * texsize.zx);\n v_rgbSE = v_rgbM + (vec2(1.0, 1.0) * texsize.zx);\n }"),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 v_rgbM;\n in vec2 v_rgbNW;\n in vec2 v_rgbNE;\n in vec2 v_rgbSW;\n in vec2 v_rgbSE;\n out vec4 fragColor;\n uniform vec4 texsize;\n uniform sampler2D uTexture;\n\n #ifndef FXAA_REDUCE_MIN\n #define FXAA_REDUCE_MIN (1.0/ 128.0)\n #endif\n #ifndef FXAA_REDUCE_MUL\n #define FXAA_REDUCE_MUL (1.0 / 8.0)\n #endif\n #ifndef FXAA_SPAN_MAX\n #define FXAA_SPAN_MAX 8.0\n #endif\n\n void main(void) {\n vec4 color;\n vec3 rgbNW = textureLod(uTexture, v_rgbNW, 0.0).xyz;\n vec3 rgbNE = textureLod(uTexture, v_rgbNE, 0.0).xyz;\n vec3 rgbSW = textureLod(uTexture, v_rgbSW, 0.0).xyz;\n vec3 rgbSE = textureLod(uTexture, v_rgbSE, 0.0).xyz;\n vec3 rgbM = textureLod(uTexture, v_rgbM, 0.0).xyz;\n vec3 luma = vec3(0.299, 0.587, 0.114);\n float lumaNW = dot(rgbNW, luma);\n float lumaNE = dot(rgbNE, luma);\n float lumaSW = dot(rgbSW, luma);\n float lumaSE = dot(rgbSE, luma);\n float lumaM = dot(rgbM, luma);\n float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));\n float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));\n\n mediump vec2 dir;\n dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\n dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));\n\n float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *\n (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);\n\n float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);\n dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),\n max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\n dir * rcpDirMin)) * texsize.zw;\n\n vec3 rgbA = 0.5 * (\n textureLod(uTexture, v_rgbM + dir * (1.0 / 3.0 - 0.5), 0.0).xyz +\n textureLod(uTexture, v_rgbM + dir * (2.0 / 3.0 - 0.5), 0.0).xyz);\n vec3 rgbB = rgbA * 0.5 + 0.25 * (\n textureLod(uTexture, v_rgbM + dir * -0.5, 0.0).xyz +\n textureLod(uTexture, v_rgbM + dir * 0.5, 0.0).xyz);\n\n float lumaB = dot(rgbB, luma);\n if ((lumaB < lumaMin) || (lumaB > lumaMax))\n color = vec4(rgbA, 1.0);\n else\n color = vec4(rgbB, 1.0);\n\n fragColor = color;\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture"),this.texsizeLoc=this.gl.getUniformLocation(this.shaderProgram,"texsize")}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"#version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n out vec2 uv;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv = aPos * halfmad + halfmad;\n }"),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 uv;\n out vec4 fragColor;\n uniform sampler2D uTexture;\n\n void main(void) {\n fragColor = vec4(texture(uTexture, uv).rgb, 1.0);\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture")}renderQuadTexture(e){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.uniform1i(this.textureLoc,0),this.useFXAA()&&this.gl.uniform4fv(this.texsizeLoc,new Float32Array([this.texsizeX,this.texsizeY,1/this.texsizeX,1/this.texsizeY])),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4)}}class O{constructor(e){this.gl=e,this.positions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.vertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"#version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n out vec2 uv;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv = aPos * halfmad + halfmad;\n }"),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 uv;\n out vec4 fragColor;\n uniform sampler2D uTexture;\n\n void main(void) {\n fragColor = vec4(texture(uTexture, uv).rgb, 1.0);\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture")}renderQuadTexture(e){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.uniform1i(this.textureLoc,0),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4)}}class z{constructor(e,t){this.gl=e,this.blurLevel=t;const n=[4,3.8,3.5,2.9,1.9,1.2,.7,.3],i=n[0]+n[1]+n[2]+n[3],r=n[4]+n[5]+n[6]+n[7],a=0+(n[2]+n[3])/i*2,s=2+(n[6]+n[7])/r*2;this.wds=new Float32Array([i,r,a,s]),this.wDiv=1/(2*(i+r)),this.positions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.vertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n out vec2 uv;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv = aPos * halfmad + halfmad;\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 uv;\n out vec4 fragColor;\n uniform sampler2D uTexture;\n uniform vec4 texsize;\n uniform float ed1;\n uniform float ed2;\n uniform float ed3;\n uniform vec4 wds;\n uniform float wdiv;\n\n void main(void) {\n float w1 = wds[0];\n float w2 = wds[1];\n float d1 = wds[2];\n float d2 = wds[3];\n\n vec2 uv2 = uv.xy;\n\n vec3 blur =\n ( texture(uTexture, uv2 + vec2(0.0, d1 * texsize.w) ).xyz\n + texture(uTexture, uv2 + vec2(0.0,-d1 * texsize.w) ).xyz) * w1 +\n ( texture(uTexture, uv2 + vec2(0.0, d2 * texsize.w) ).xyz\n + texture(uTexture, uv2 + vec2(0.0,-d2 * texsize.w) ).xyz) * w2;\n\n blur.xyz *= wdiv;\n\n float t = min(min(uv.x, uv.y), 1.0 - max(uv.x, uv.y));\n t = sqrt(t);\n t = ed1 + ed2 * clamp(t * ed3, 0.0, 1.0);\n blur.xyz *= t;\n\n fragColor = vec4(blur, 1.0);\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture"),this.texsizeLocation=this.gl.getUniformLocation(this.shaderProgram,"texsize"),this.ed1Loc=this.gl.getUniformLocation(this.shaderProgram,"ed1"),this.ed2Loc=this.gl.getUniformLocation(this.shaderProgram,"ed2"),this.ed3Loc=this.gl.getUniformLocation(this.shaderProgram,"ed3"),this.wdsLocation=this.gl.getUniformLocation(this.shaderProgram,"wds"),this.wdivLoc=this.gl.getUniformLocation(this.shaderProgram,"wdiv")}renderQuadTexture(e,t,n){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.uniform1i(this.textureLoc,0);const i=0===this.blurLevel?t.b1ed:0;this.gl.uniform4fv(this.texsizeLocation,[n[0],n[1],1/n[0],1/n[1]]),this.gl.uniform1f(this.ed1Loc,1-i),this.gl.uniform1f(this.ed2Loc,i),this.gl.uniform1f(this.ed3Loc,5),this.gl.uniform4fv(this.wdsLocation,this.wds),this.gl.uniform1f(this.wdivLoc,this.wDiv),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4)}}class Q{constructor(e,t){this.gl=e,this.blurLevel=t;const n=[4,3.8,3.5,2.9,1.9,1.2,.7,.3],i=n[0]+n[1],r=n[2]+n[3],a=n[4]+n[5],s=n[6]+n[7],A=0+2*n[1]/i,o=2+2*n[3]/r,l=4+2*n[5]/a,c=6+2*n[7]/s;this.ws=new Float32Array([i,r,a,s]),this.ds=new Float32Array([A,o,l,c]),this.wDiv=.5/(i+r+a+s),this.positions=new Float32Array([-1,-1,1,-1,-1,1,1,1]),this.vertexBuf=this.gl.createBuffer(),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"\n #version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n out vec2 uv;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv = aPos * halfmad + halfmad;\n }\n ".trim()),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 uv;\n out vec4 fragColor;\n uniform sampler2D uTexture;\n uniform vec4 texsize;\n uniform float scale;\n uniform float bias;\n uniform vec4 ws;\n uniform vec4 ds;\n uniform float wdiv;\n\n void main(void) {\n float w1 = ws[0];\n float w2 = ws[1];\n float w3 = ws[2];\n float w4 = ws[3];\n float d1 = ds[0];\n float d2 = ds[1];\n float d3 = ds[2];\n float d4 = ds[3];\n\n vec2 uv2 = uv.xy;\n\n vec3 blur =\n ( texture(uTexture, uv2 + vec2( d1 * texsize.z,0.0) ).xyz\n + texture(uTexture, uv2 + vec2(-d1 * texsize.z,0.0) ).xyz) * w1 +\n ( texture(uTexture, uv2 + vec2( d2 * texsize.z,0.0) ).xyz\n + texture(uTexture, uv2 + vec2(-d2 * texsize.z,0.0) ).xyz) * w2 +\n ( texture(uTexture, uv2 + vec2( d3 * texsize.z,0.0) ).xyz\n + texture(uTexture, uv2 + vec2(-d3 * texsize.z,0.0) ).xyz) * w3 +\n ( texture(uTexture, uv2 + vec2( d4 * texsize.z,0.0) ).xyz\n + texture(uTexture, uv2 + vec2(-d4 * texsize.z,0.0) ).xyz) * w4;\n\n blur.xyz *= wdiv;\n blur.xyz = blur.xyz * scale + bias;\n\n fragColor = vec4(blur, 1.0);\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture"),this.texsizeLocation=this.gl.getUniformLocation(this.shaderProgram,"texsize"),this.scaleLoc=this.gl.getUniformLocation(this.shaderProgram,"scale"),this.biasLoc=this.gl.getUniformLocation(this.shaderProgram,"bias"),this.wsLoc=this.gl.getUniformLocation(this.shaderProgram,"ws"),this.dsLocation=this.gl.getUniformLocation(this.shaderProgram,"ds"),this.wdivLoc=this.gl.getUniformLocation(this.shaderProgram,"wdiv")}getScaleAndBias(e,t){const n=[1,1,1],i=[0,0,0];let r,a;return n[0]=1/(t[0]-e[0]),i[0]=-e[0]*n[0],r=(e[1]-e[0])/(t[0]-e[0]),a=(t[1]-e[0])/(t[0]-e[0]),n[1]=1/(a-r),i[1]=-r*n[1],r=(e[2]-e[1])/(t[1]-e[1]),a=(t[2]-e[1])/(t[1]-e[1]),n[2]=1/(a-r),i[2]=-r*n[2],{scale:n[this.blurLevel],bias:i[this.blurLevel]}}renderQuadTexture(e,t,n,i,r){this.gl.useProgram(this.shaderProgram),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.positions,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.uniform1i(this.textureLoc,0);const{scale:a,bias:s}=this.getScaleAndBias(n,i);this.gl.uniform4fv(this.texsizeLocation,[r[0],r[1],1/r[0],1/r[1]]),this.gl.uniform1f(this.scaleLoc,a),this.gl.uniform1f(this.biasLoc,s),this.gl.uniform4fv(this.wsLoc,this.ws),this.gl.uniform4fv(this.dsLocation,this.ds),this.gl.uniform1f(this.wdivLoc,this.wDiv),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawArrays(this.gl.TRIANGLE_STRIP,0,4)}}class V{constructor(e,t,n,i={}){this.blurLevel=e,this.blurRatios=t,this.gl=n,this.texsizeX=i.texsizeX,this.texsizeY=i.texsizeY,this.anisoExt=this.gl.getExtension("EXT_texture_filter_anisotropic")||this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.blurHorizontalFrameBuffer=this.gl.createFramebuffer(),this.blurVerticalFrameBuffer=this.gl.createFramebuffer(),this.blurHorizontalTexture=this.gl.createTexture(),this.blurVerticalTexture=this.gl.createTexture(),this.setupFrameBufferTextures(),this.blurHorizontal=new Q(n,this.blurLevel,i),this.blurVertical=new z(n,this.blurLevel,i)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.setupFrameBufferTextures()}getTextureSize(e){let t=Math.max(this.texsizeX*e,16);t=16*Math.floor((t+3)/16);let n=Math.max(this.texsizeY*e,16);return n=4*Math.floor((n+3)/4),[t,n]}setupFrameBufferTextures(){const e=this.blurLevel>0?this.blurRatios[this.blurLevel-1]:[1,1],t=this.blurRatios[this.blurLevel],n=this.getTextureSize(e[1]),i=this.getTextureSize(t[0]);this.bindFrameBufferTexture(this.blurHorizontalFrameBuffer,this.blurHorizontalTexture,i);const r=i,a=this.getTextureSize(t[1]);this.bindFrameBufferTexture(this.blurVerticalFrameBuffer,this.blurVerticalTexture,a),this.horizontalTexsizes=[n,i],this.verticalTexsizes=[r,a]}bindFrambufferAndSetViewport(e,t){this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e),this.gl.viewport(0,0,t[0],t[1])}bindFrameBufferTexture(e,t,n){if(this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,n[0],n[1],0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array(n[0]*n[1]*4)),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.anisoExt){const e=this.gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);this.gl.texParameterf(this.gl.TEXTURE_2D,this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT,e)}this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e),this.gl.framebufferTexture2D(this.gl.FRAMEBUFFER,this.gl.COLOR_ATTACHMENT0,this.gl.TEXTURE_2D,t,0)}renderBlurTexture(e,t,n,i){this.bindFrambufferAndSetViewport(this.blurHorizontalFrameBuffer,this.horizontalTexsizes[1]),this.blurHorizontal.renderQuadTexture(e,t,n,i,this.horizontalTexsizes[0]),this.gl.bindTexture(this.gl.TEXTURE_2D,this.blurHorizontalTexture),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.bindFrambufferAndSetViewport(this.blurVerticalFrameBuffer,this.verticalTexsizes[1]),this.blurVertical.renderQuadTexture(this.blurHorizontalTexture,t,this.verticalTexsizes[0]),this.gl.bindTexture(this.gl.TEXTURE_2D,this.blurVerticalTexture),this.gl.generateMipmap(this.gl.TEXTURE_2D)}}class G{constructor(e){this.gl=e,this.anisoExt=this.gl.getExtension("EXT_texture_filter_anisotropic")||this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.noiseTexLQ=this.gl.createTexture(),this.noiseTexLQLite=this.gl.createTexture(),this.noiseTexMQ=this.gl.createTexture(),this.noiseTexHQ=this.gl.createTexture(),this.noiseTexVolLQ=this.gl.createTexture(),this.noiseTexVolHQ=this.gl.createTexture(),this.nTexArrLQ=G.createNoiseTex(256,1),this.nTexArrLQLite=G.createNoiseTex(32,1),this.nTexArrMQ=G.createNoiseTex(256,4),this.nTexArrHQ=G.createNoiseTex(256,8),this.nTexArrVolLQ=G.createNoiseVolTex(32,1),this.nTexArrVolHQ=G.createNoiseVolTex(32,4),this.bindTexture(this.noiseTexLQ,this.nTexArrLQ,256,256),this.bindTexture(this.noiseTexLQLite,this.nTexArrLQLite,32,32),this.bindTexture(this.noiseTexMQ,this.nTexArrMQ,256,256),this.bindTexture(this.noiseTexHQ,this.nTexArrHQ,256,256),this.bindTexture3D(this.noiseTexVolLQ,this.nTexArrVolLQ,32,32,32),this.bindTexture3D(this.noiseTexVolHQ,this.nTexArrVolHQ,32,32,32),this.noiseTexPointLQ=this.gl.createSampler(),e.samplerParameteri(this.noiseTexPointLQ,e.TEXTURE_MIN_FILTER,e.NEAREST_MIPMAP_NEAREST),e.samplerParameteri(this.noiseTexPointLQ,e.TEXTURE_MAG_FILTER,e.NEAREST),e.samplerParameteri(this.noiseTexPointLQ,e.TEXTURE_WRAP_S,e.REPEAT),e.samplerParameteri(this.noiseTexPointLQ,e.TEXTURE_WRAP_T,e.REPEAT)}bindTexture(e,t,n,i){if(this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,n,i,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.anisoExt){const e=this.gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);this.gl.texParameterf(this.gl.TEXTURE_2D,this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT,e)}}bindTexture3D(e,t,n,i,r){if(this.gl.bindTexture(this.gl.TEXTURE_3D,e),this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1),this.gl.texImage3D(this.gl.TEXTURE_3D,0,this.gl.RGBA,n,i,r,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.generateMipmap(this.gl.TEXTURE_3D),this.gl.texParameteri(this.gl.TEXTURE_3D,this.gl.TEXTURE_WRAP_S,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_3D,this.gl.TEXTURE_WRAP_T,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_3D,this.gl.TEXTURE_WRAP_R,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_3D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_3D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.anisoExt){const e=this.gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);this.gl.texParameterf(this.gl.TEXTURE_3D,this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT,e)}}static fCubicInterpolate(e,t,n,i,r){const a=r*r,s=i-n-e+t;return s*(r*a)+(e-t-s)*a+(n-e)*r+t}static dwCubicInterpolate(e,t,n,i,r){const a=[];for(let s=0;s<4;s++){let A=G.fCubicInterpolate(e[s]/255,t[s]/255,n[s]/255,i[s]/255,r);A=Math.clamp(A,0,1),a[s]=255*A}return a}static createNoiseVolTex(e,t){const n=e*e*e,i=new Uint8Array(4*n),r=t>1?216:256,a=.5*r;for(let e=0;e<n;e++)i[4*e+0]=Math.floor(Math.random()*r+a),i[4*e+1]=Math.floor(Math.random()*r+a),i[4*e+2]=Math.floor(Math.random()*r+a),i[4*e+3]=Math.floor(Math.random()*r+a);const s=e*e,A=e;if(t>1){for(let n=0;n<e;n+=t)for(let r=0;r<e;r+=t)for(let a=0;a<e;a++)if(a%t!=0){const o=Math.floor(a/t)*t+e,l=n*s+r*A,c=[],u=[],h=[],d=[];for(let n=0;n<4;n++)c[n]=i[4*l+(o-t)%e*4+n],u[n]=i[4*l+o%e*4+n],h[n]=i[4*l+(o+t)%e*4+n],d[n]=i[4*l+(o+2*t)%e*4+n];const g=a%t/t,p=G.dwCubicInterpolate(c,u,h,d,g);for(let e=0;e<4;e++)i[n*s*4+r*A*4+(4*a+e)]=p[e]}for(let n=0;n<e;n+=t)for(let r=0;r<e;r++)for(let a=0;a<e;a++)if(a%t!=0){const o=Math.floor(a/t)*t+e,l=n*s,c=[],u=[],h=[],d=[];for(let n=0;n<4;n++){const a=4*r+4*l+n;c[n]=i[(o-t)%e*A*4+a],u[n]=i[o%e*A*4+a],h[n]=i[(o+t)%e*A*4+a],d[n]=i[(o+2*t)%e*A*4+a]}const g=a%t/t,p=G.dwCubicInterpolate(c,u,h,d,g);for(let e=0;e<4;e++)i[a*A*4+(4*r+4*l+e)]=p[e]}for(let n=0;n<e;n++)for(let r=0;r<e;r++)for(let a=0;a<e;a++)if(a%t!=0){const o=r*A,l=Math.floor(a/t)*t+e,c=[],u=[],h=[],d=[];for(let r=0;r<4;r++){const a=4*n+4*o+r;c[r]=i[(l-t)%e*s*4+a],u[r]=i[l%e*s*4+a],h[r]=i[(l+t)%e*s*4+a],d[r]=i[(l+2*t)%e*s*4+a]}const g=r%t/t,p=G.dwCubicInterpolate(c,u,h,d,g);for(let e=0;e<4;e++)i[a*s*4+(4*n+4*o+e)]=p[e]}}return i}static createNoiseTex(e,t){const n=e*e,i=new Uint8Array(4*n),r=t>1?216:256,a=.5*r;for(let e=0;e<n;e++)i[4*e+0]=Math.floor(Math.random()*r+a),i[4*e+1]=Math.floor(Math.random()*r+a),i[4*e+2]=Math.floor(Math.random()*r+a),i[4*e+3]=Math.floor(Math.random()*r+a);if(t>1){for(let n=0;n<e;n+=t)for(let r=0;r<e;r++)if(r%t!=0){const a=Math.floor(r/t)*t+e,s=n*e,A=[],o=[],l=[],c=[];for(let n=0;n<4;n++)A[n]=i[4*s+(a-t)%e*4+n],o[n]=i[4*s+a%e*4+n],l[n]=i[4*s+(a+t)%e*4+n],c[n]=i[4*s+(a+2*t)%e*4+n];const u=r%t/t,h=G.dwCubicInterpolate(A,o,l,c,u);for(let t=0;t<4;t++)i[n*e*4+4*r+t]=h[t]}for(let n=0;n<e;n++)for(let r=0;r<e;r++)if(r%t!=0){const a=Math.floor(r/t)*t+e,s=[],A=[],o=[],l=[];for(let r=0;r<4;r++)s[r]=i[(a-t)%e*e*4+4*n+r],A[r]=i[a%e*e*4+4*n+r],o[r]=i[(a+t)%e*e*4+4*n+r],l[r]=i[(a+2*t)%e*e*4+4*n+r];const c=r%t/t,u=G.dwCubicInterpolate(s,A,o,l,c);for(let t=0;t<4;t++)i[r*e*4+4*n+t]=u[t]}}return i}}class j{constructor(e){this.gl=e,this.anisoExt=this.gl.getExtension("EXT_texture_filter_anisotropic")||this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.samplers={},this.clouds2Image=new Image,this.clouds2Image.onload=()=>{this.samplers.clouds2=this.gl.createTexture(),this.bindTexture(this.samplers.clouds2,this.clouds2Image,128,128)},this.clouds2Image.src="data:image/jpeg;base64,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",this.emptyImage=new Image,this.emptyImage.onload=()=>{this.samplers.empty=this.gl.createTexture(),this.bindTexture(this.samplers.empty,this.emptyImage,1,1)},this.emptyImage.src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="}bindTexture(e,t,n,i){if(this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,n,i,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.REPEAT),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.anisoExt){const e=this.gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);this.gl.texParameterf(this.gl.TEXTURE_2D,this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT,e)}}loadExtraImages(e){Object.keys(e).forEach(t=>{const{data:n,width:i,height:r}=e[t];if(!this.samplers[t]){const e=new Image;e.onload=()=>{this.samplers[t]=this.gl.createTexture(),this.bindTexture(this.samplers[t],e,i,r)},e.src=n}})}getTexture(e){return this.samplers[e]||this.samplers.clouds2}}class Y{constructor(e,t={}){this.gl=e,this.texsizeX=t.texsizeX,this.texsizeY=t.texsizeY,this.aspectx=t.aspectx,this.aspecty=t.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.buildPositions(),this.textTexture=this.gl.createTexture(),this.indexBuf=e.createBuffer(),this.positionVertexBuf=this.gl.createBuffer(),this.vertexBuf=this.gl.createBuffer(),this.canvas=document.createElement("canvas"),this.canvas.width=this.texsizeX,this.canvas.height=this.texsizeY,this.context2D=this.canvas.getContext("2d"),this.floatPrecision=T.getFragmentFloatPrecision(this.gl),this.createShader()}generateTitleTexture(e){this.context2D.clearRect(0,0,this.texsizeX,this.texsizeY),this.fontSize=Math.floor(this.texsizeX/256*16),this.fontSize=Math.max(this.fontSize,6),this.context2D.font=`italic ${this.fontSize}px Times New Roman`;let t=e,n=this.context2D.measureText(t).width;if(n>this.texsizeX){const e=this.texsizeX/n*.91;t=t.substring(0,Math.floor(t.length*e))+"...",n=this.context2D.measureText(t).width}this.context2D.fillStyle="#FFFFFF",this.context2D.fillText(t,(this.texsizeX-n)/2,this.texsizeY/2);const i=new Uint8Array(this.context2D.getImageData(0,0,this.texsizeX,this.texsizeY).data.buffer);this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!0),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textTexture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.texsizeX,this.texsizeY,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,i),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.bindTexture(this.gl.TEXTURE_2D,null)}updateGlobals(e){this.texsizeX=e.texsizeX,this.texsizeY=e.texsizeY,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.canvas.width=this.texsizeX,this.canvas.height=this.texsizeY}buildPositions(){const e=[];for(let t=0;t<8;t++){const n=t*(2/7)-1;for(let t=0;t<16;t++){const i=t*(2/15)-1;e.push(i,-n,0)}}const t=[];for(let e=0;e<7;e++)for(let n=0;n<15;n++){const i=n+16*e,r=n+16*(e+1),a=n+1+16*(e+1),s=n+1+16*e;t.push(i,r,s),t.push(r,a,s)}this.vertices=new Float32Array(e),this.indices=new Uint16Array(t)}createShader(){this.shaderProgram=this.gl.createProgram();const e=this.gl.createShader(this.gl.VERTEX_SHADER);this.gl.shaderSource(e,"#version 300 es\n const vec2 halfmad = vec2(0.5);\n in vec2 aPos;\n in vec2 aUv;\n out vec2 uv_orig;\n out vec2 uv;\n void main(void) {\n gl_Position = vec4(aPos, 0.0, 1.0);\n uv_orig = aPos * halfmad + halfmad;\n uv = aUv;\n }"),this.gl.compileShader(e);const t=this.gl.createShader(this.gl.FRAGMENT_SHADER);this.gl.shaderSource(t,`#version 300 es\n precision ${this.floatPrecision} float;\n precision highp int;\n precision mediump sampler2D;\n\n in vec2 uv_orig;\n in vec2 uv;\n out vec4 fragColor;\n uniform sampler2D uTexture;\n uniform float textColor;\n\n void main(void) {\n fragColor = texture(uTexture, uv) * vec4(textColor);\n }`),this.gl.compileShader(t),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.positionLocation=this.gl.getAttribLocation(this.shaderProgram,"aPos"),this.uvLocation=this.gl.getAttribLocation(this.shaderProgram,"aUv"),this.textureLoc=this.gl.getUniformLocation(this.shaderProgram,"uTexture"),this.textColorLoc=this.gl.getUniformLocation(this.shaderProgram,"textColor")}generateUvs(e,t,n){const i=[];for(let n=0;n<8;n++)for(let r=0;r<16;r++){const a=r/15*2-1;let s=2*(.75*(n/7-.5)+.5)-1;e>=1&&(s+=1/this.texsizeY),i.push(a,t?s:-s)}const r=Math.max(0,1-1.5*e)**1.8*1.3;for(let e=0;e<8;e++)for(let t=0;t<16;t++){const a=16*e+t;i[a]+=.07*r*Math.sin(.31*n.time+.39*i[a]-1.94*i[a+1]),i[a]+=.044*r*Math.sin(.81*n.time-1.91*i[a]+.27*i[a+1]),i[a]+=.061*r*Math.sin(1.31*n.time+.61*i[a]+.74*i[a+1]),i[a+1]+=.061*r*Math.sin(.37*n.time+1.83*i[a]+.69*i[a+1]),i[a+1]+=.07*r*Math.sin(.67*n.time+.42*i[a]-1.39*i[a+1]),i[a+1]+=.087*r*Math.sin(1.07*n.time+3.55*i[a]+.89*i[a+1])}const a=1.01/(e**.21+.01);for(let e=0;e<i.length/2;e++)i[2*e]*=a,i[2*e+1]*=a*this.invAspecty,i[2*e]=(i[2*e]+1)/2,i[2*e+1]=(i[2*e+1]+1)/2;return new Float32Array(i)}renderTitle(e,t,n){this.gl.useProgram(this.shaderProgram);const i=this.generateUvs(e,t,n);this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,this.indexBuf),this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER,this.indices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionVertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.vertices,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.positionLocation,3,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.positionLocation),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuf),this.gl.bufferData(this.gl.ARRAY_BUFFER,i,this.gl.STATIC_DRAW),this.gl.vertexAttribPointer(this.uvLocation,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.uvLocation),this.gl.activeTexture(this.gl.TEXTURE0),this.gl.bindTexture(this.gl.TEXTURE_2D,this.textTexture),this.gl.uniform1i(this.textureLoc,0),this.gl.uniform1f(this.textColorLoc,e**.3),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.drawElements(this.gl.TRIANGLES,this.indices.length,this.gl.UNSIGNED_SHORT,0)}}class K{constructor(e){this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.vertInfoA=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)),this.vertInfoC=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)),this.createBlendPattern()}static resizeMatrixValues(e,t,n,i,r){const a=new Float32Array((i+1)*(r+1));let s=0;for(let A=0;A<r+1;A++)for(let o=0;o<i+1;o++){let l=o/r,c=A/i;l*=t+1,c*=n+1,l=Math.clamp(l,0,t-1),c=Math.clamp(c,0,n-1);const u=Math.floor(l),h=Math.floor(c),d=l-u,g=c-h,p=e[h*(t+1)+u],f=e[h*(t+1)+(u+1)],m=e[(h+1)*(t+1)+u],b=e[(h+1)*(t+1)+(u+1)];a[s]=p*(1-d)*(1-g)+f*d*(1-g)+m*(1-d)*g+b*d*g,s+=1}return a}updateGlobals(e){const t=this.mesh_width,n=this.mesh_height;this.mesh_width=e.mesh_width,this.mesh_height=e.mesh_height,this.aspectx=e.aspectx,this.aspecty=e.aspecty,this.mesh_width===t&&this.mesh_height===n||(this.vertInfoA=K.resizeMatrixValues(this.vertInfoA,t,n,this.mesh_width,this.mesh_height),this.vertInfoC=K.resizeMatrixValues(this.vertInfoC,t,n,this.mesh_width,this.mesh_height))}genPlasma(e,t,n,i,r){const a=Math.floor((e+t)/2),s=Math.floor((n+i)/2);let A=this.vertInfoC[n*(this.mesh_width+1)+e],o=this.vertInfoC[n*(this.mesh_width+1)+t],l=this.vertInfoC[i*(this.mesh_width+1)+e],c=this.vertInfoC[i*(this.mesh_width+1)+t];i-n>=2&&(0===e&&(this.vertInfoC[s*(this.mesh_width+1)+e]=.5*(A+l)+(2*Math.random()-1)*r*this.aspecty),this.vertInfoC[s*(this.mesh_width+1)+t]=.5*(o+c)+(2*Math.random()-1)*r*this.aspecty),t-e>=2&&(0===n&&(this.vertInfoC[n*(this.mesh_width+1)+a]=.5*(A+o)+(2*Math.random()-1)*r*this.aspectx),this.vertInfoC[i*(this.mesh_width+1)+a]=.5*(l+c)+(2*Math.random()-1)*r*this.aspectx),i-n>=2&&t-e>=2&&(A=this.vertInfoC[s*(this.mesh_width+1)+e],o=this.vertInfoC[s*(this.mesh_width+1)+t],l=this.vertInfoC[n*(this.mesh_width+1)+a],c=this.vertInfoC[i*(this.mesh_width+1)+a],this.vertInfoC[s*(this.mesh_width+1)+a]=.25*(l+c+A+o)+(2*Math.random()-1)*r,this.genPlasma(e,a,n,s,.5*r),this.genPlasma(a,t,n,s,.5*r),this.genPlasma(e,a,s,i,.5*r),this.genPlasma(a,t,s,i,.5*r))}createBlendPattern(){const e=1+Math.floor(3*Math.random());if(0===e){let e=0;for(let t=0;t<=this.mesh_height;t++)for(let t=0;t<=this.mesh_width;t++)this.vertInfoA[e]=1,this.vertInfoC[e]=0,e+=1}else if(1===e){const e=6.28*Math.random(),t=Math.cos(e),n=Math.sin(e),i=.1+.2*Math.random(),r=1/i;let a=0;for(let e=0;e<=this.mesh_height;e++){const s=e/this.mesh_height*this.aspecty;for(let e=0;e<=this.mesh_width;e++){let A=(e/this.mesh_width*this.aspectx-.5)*t+(s-.5)*n+.5;A=(A-.5)/Math.sqrt(2)+.5,this.vertInfoA[a]=r*(1+i),this.vertInfoC[a]=r*A-r,a+=1}}}else if(2===e){const e=.12+.13*Math.random(),t=1/e;this.vertInfoC[0]=Math.random(),this.vertInfoC[this.mesh_width]=Math.random(),this.vertInfoC[this.mesh_height*(this.mesh_width+1)]=Math.random(),this.vertInfoC[this.mesh_height*(this.mesh_width+1)+this.mesh_width]=Math.random(),this.genPlasma(0,this.mesh_width,0,this.mesh_height,.25);let n=this.vertInfoC[0],i=this.vertInfoC[0],r=0;for(let e=0;e<=this.mesh_height;e++)for(let e=0;e<=this.mesh_width;e++)n>this.vertInfoC[r]&&(n=this.vertInfoC[r]),i<this.vertInfoC[r]&&(i=this.vertInfoC[r]),r+=1;const a=1/(i-n);r=0;for(let i=0;i<=this.mesh_height;i++)for(let i=0;i<=this.mesh_width;i++){const i=(this.vertInfoC[r]-n)*a;this.vertInfoA[r]=t*(1+e),this.vertInfoC[r]=t*i-t,r+=1}}else if(3===e){const e=.02+.14*Math.random()+.34*Math.random(),t=1/e,n=2*Math.floor(2*Math.random())-1;let i=0;for(let r=0;r<=this.mesh_height;r++){const a=(r/this.mesh_height-.5)*this.aspecty;for(let r=0;r<=this.mesh_width;r++){const s=(r/this.mesh_width-.5)*this.aspectx;let A=1.41421*Math.sqrt(s*s+a*a);-1===n&&(A=1-A),this.vertInfoA[i]=t*(1+e),this.vertInfoC[i]=t*A-t,i+=1}}}}}class q{constructor(e,t,n){this.gl=e,this.audio=t,this.frameNum=0,this.fps=30,this.time=0,this.presetTime=0,this.lastTime=performance.now(),this.timeHist=[0],this.timeHistMax=120,this.blending=!1,this.blendStartTime=0,this.blendProgress=0,this.blendDuration=0,this.width=n.width||1200,this.height=n.height||900,this.mesh_width=n.meshWidth||48,this.mesh_height=n.meshHeight||36,this.pixelRatio=n.pixelRatio||window.devicePixelRatio||1,this.textureRatio=n.textureRatio||1,this.outputFXAA=n.outputFXAA||!1,this.texsizeX=this.width*this.pixelRatio*this.textureRatio,this.texsizeY=this.height*this.pixelRatio*this.textureRatio,this.aspectx=this.texsizeY>this.texsizeX?this.texsizeX/this.texsizeY:1,this.aspecty=this.texsizeX>this.texsizeY?this.texsizeY/this.texsizeX:1,this.invAspectx=1/this.aspectx,this.invAspecty=1/this.aspecty,this.qs=k.range(1,33).map(e=>"q"+e),this.ts=k.range(1,9).map(e=>"t"+e),this.regs=k.range(0,100).map(e=>e<10?"reg0"+e:"reg"+e),this.blurRatios=[[.5,.25],[.125,.125],[.0625,.0625]],this.audioLevels=new E(this.audio),this.prevFrameBuffer=this.gl.createFramebuffer(),this.targetFrameBuffer=this.gl.createFramebuffer(),this.prevTexture=this.gl.createTexture(),this.targetTexture=this.gl.createTexture(),this.compFrameBuffer=this.gl.createFramebuffer(),this.compTexture=this.gl.createTexture(),this.anisoExt=this.gl.getExtension("EXT_texture_filter_anisotropic")||this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.bindFrameBufferTexture(this.prevFrameBuffer,this.prevTexture),this.bindFrameBufferTexture(this.targetFrameBuffer,this.targetTexture),this.bindFrameBufferTexture(this.compFrameBuffer,this.compTexture);const i={pixelRatio:this.pixelRatio,textureRatio:this.textureRatio,texsizeX:this.texsizeX,texsizeY:this.texsizeY,mesh_width:this.mesh_width,mesh_height:this.mesh_height,aspectx:this.aspectx,aspecty:this.aspecty};this.noise=new G(e),this.image=new j(e),this.warpShader=new D(e,this.noise,this.image,i),this.compShader=new P(e,this.noise,this.image,i),this.outputShader=new F(e,i),this.prevWarpShader=new D(e,this.noise,this.image,i),this.prevCompShader=new P(e,this.noise,this.image,i),this.numBlurPasses=0,this.blurShader1=new V(0,this.blurRatios,e,i),this.blurShader2=new V(1,this.blurRatios,e,i),this.blurShader3=new V(2,this.blurRatios,e,i),this.blurTexture1=this.blurShader1.blurVerticalTexture,this.blurTexture2=this.blurShader2.blurVerticalTexture,this.blurTexture3=this.blurShader3.blurVerticalTexture,this.basicWaveform=new B(e,i),this.customWaveforms=k.range(4).map(t=>new U(t,e,i)),this.customShapes=k.range(4).map(t=>new M(t,e,i)),this.prevCustomWaveforms=k.range(4).map(t=>new U(t,e,i)),this.prevCustomShapes=k.range(4).map(t=>new M(t,e,i)),this.darkenCenter=new L(e,i),this.innerBorder=new R(e,i),this.outerBorder=new R(e,i),this.motionVectors=new N(e,i),this.titleText=new Y(e,i),this.blendPattern=new K(i),this.resampleShader=new O(e),this.supertext={startTime:-1},this.warpUVs=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)*2),this.warpColor=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)*4),this.gl.clearColor(0,0,0,1),this.blankPreset=v.a;const r={frame:0,time:0,fps:45,bass:1,bass_att:1,mid:1,mid_att:1,treb:1,treb_att:1};this.preset=v.a,this.prevPreset=this.preset,this.presetEquationRunner=new S(this.preset,r,i),this.prevPresetEquationRunner=new S(this.prevPreset,r,i),this.preset.useWASM||(this.regVars=this.presetEquationRunner.mdVSRegs)}static getHighestBlur(e){return/sampler_blur3/.test(e)?3:/sampler_blur2/.test(e)?2:/sampler_blur1/.test(e)?1:0}loadPreset(e,t){this.blendPattern.createBlendPattern(),this.blending=!0,this.blendStartTime=this.time,this.blendDuration=t,this.blendProgress=0,this.prevPresetEquationRunner=this.presetEquationRunner,this.prevPreset=this.preset,this.preset=e,this.presetTime=this.time;const n={frame:this.frameNum,time:this.time,fps:this.fps,bass:this.audioLevels.bass,bass_att:this.audioLevels.bass_att,mid:this.audioLevels.mid,mid_att:this.audioLevels.mid_att,treb:this.audioLevels.treb,treb_att:this.audioLevels.treb_att},i={pixelRatio:this.pixelRatio,textureRatio:this.textureRatio,texsizeX:this.texsizeX,texsizeY:this.texsizeY,mesh_width:this.mesh_width,mesh_height:this.mesh_height,aspectx:this.aspectx,aspecty:this.aspecty};e.useWASM?(this.preset.globalPools.perFrame.old_wave_mode.value=this.prevPreset.baseVals.wave_mode,this.preset.baseVals.old_wave_mode=this.prevPreset.baseVals.wave_mode,this.presetEquationRunner=new x(this.preset,n,i),this.preset.pixel_eqs_initialize_array&&this.preset.pixel_eqs_initialize_array(this.mesh_width,this.mesh_height)):(this.preset.baseVals.old_wave_mode=this.prevPreset.baseVals.wave_mode,this.presetEquationRunner=new S(this.preset,n,i),this.regVars=this.presetEquationRunner.mdVSRegs);const r=this.prevWarpShader;this.prevWarpShader=this.warpShader,this.warpShader=r;const a=this.prevCompShader;this.prevCompShader=this.compShader,this.compShader=a;const s=this.preset.warp.trim(),A=this.preset.comp.trim();this.warpShader.updateShader(s),this.compShader.updateShader(A),0===s.length?this.numBlurPasses=0:this.numBlurPasses=q.getHighestBlur(s),0!==A.length&&(this.numBlurPasses=Math.max(this.numBlurPasses,q.getHighestBlur(A)))}loadExtraImages(e){this.image.loadExtraImages(e)}setRendererSize(e,t,n){const i=this.texsizeX,r=this.texsizeY;if(this.width=e,this.height=t,this.mesh_width=n.meshWidth||this.mesh_width,this.mesh_height=n.meshHeight||this.mesh_height,this.pixelRatio=n.pixelRatio||this.pixelRatio,this.textureRatio=n.textureRatio||this.textureRatio,this.texsizeX=e*this.pixelRatio*this.textureRatio,this.texsizeY=t*this.pixelRatio*this.textureRatio,this.aspectx=this.texsizeY>this.texsizeX?this.texsizeX/this.texsizeY:1,this.aspecty=this.texsizeX>this.texsizeY?this.texsizeY/this.texsizeX:1,this.texsizeX!==i||this.texsizeY!==r){const e=this.gl.createTexture();this.bindFrameBufferTexture(this.targetFrameBuffer,e),this.bindFrambufferAndSetViewport(this.targetFrameBuffer,this.texsizeX,this.texsizeY),this.resampleShader.renderQuadTexture(this.targetTexture),this.targetTexture=e,this.bindFrameBufferTexture(this.prevFrameBuffer,this.prevTexture),this.bindFrameBufferTexture(this.compFrameBuffer,this.compTexture)}this.updateGlobals(),this.frameNum>0&&this.renderToScreen()}setInternalMeshSize(e,t){this.mesh_width=e,this.mesh_height=t,this.updateGlobals()}setOutputAA(e){this.outputFXAA=e}updateGlobals(){const e={pixelRatio:this.pixelRatio,textureRatio:this.textureRatio,texsizeX:this.texsizeX,texsizeY:this.texsizeY,mesh_width:this.mesh_width,mesh_height:this.mesh_height,aspectx:this.aspectx,aspecty:this.aspecty};this.presetEquationRunner.updateGlobals(e),this.prevPresetEquationRunner.updateGlobals(e),this.warpShader.updateGlobals(e),this.prevWarpShader.updateGlobals(e),this.compShader.updateGlobals(e),this.prevCompShader.updateGlobals(e),this.outputShader.updateGlobals(e),this.blurShader1.updateGlobals(e),this.blurShader2.updateGlobals(e),this.blurShader3.updateGlobals(e),this.basicWaveform.updateGlobals(e),this.customWaveforms.forEach(t=>t.updateGlobals(e)),this.customShapes.forEach(t=>t.updateGlobals(e)),this.prevCustomWaveforms.forEach(t=>t.updateGlobals(e)),this.prevCustomShapes.forEach(t=>t.updateGlobals(e)),this.darkenCenter.updateGlobals(e),this.innerBorder.updateGlobals(e),this.outerBorder.updateGlobals(e),this.motionVectors.updateGlobals(e),this.titleText.updateGlobals(e),this.blendPattern.updateGlobals(e),this.warpUVs=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)*2),this.warpColor=new Float32Array((this.mesh_width+1)*(this.mesh_height+1)*4),this.preset.pixel_eqs_initialize_array&&this.preset.pixel_eqs_initialize_array(this.mesh_width,this.mesh_height)}calcTimeAndFPS(e){let t;if(e)t=e;else{const e=performance.now();t=(e-this.lastTime)/1e3,(t>1||t<0||this.frame<2)&&(t=1/30),this.lastTime=e}this.time+=1/this.fps,this.blending&&(this.blendProgress=(this.time-this.blendStartTime)/this.blendDuration,this.blendProgress>1&&(this.blending=!1));const n=this.timeHist[this.timeHist.length-1]+t;this.timeHist.push(n),this.timeHist.length>this.timeHistMax&&this.timeHist.shift();const i=this.timeHist.length/(n-this.timeHist[0]);if(Math.abs(i-this.fps)>3&&this.frame>this.timeHistMax)this.fps=i;else{const e=.93;this.fps=e*this.fps+(1-e)*i}}runPixelEquations(e,t,n,i){const r=this.mesh_width,a=this.mesh_height,s=r+1,A=a+1,o=this.time*t.warpanimspeed,l=1/t.warpscale,c=11.68+4*Math.cos(1.413*o+10),u=8.77+3*Math.cos(1.113*o+7),h=10.54+3*Math.cos(1.233*o+3),d=11.49+4*Math.cos(.933*o+5),g=0/this.texsizeX,p=0/this.texsizeY,f=this.aspectx,m=this.aspecty;let b=0,w=0;if(e.preset.useWASM){const r=e.preset.globalPools.perVertex;if(k.setWasm(r,n,e.globalKeys),k.setWasm(r,e.mdVSQAfterFrame,e.qs),r.zoom.value=t.zoom,r.zoomexp.value=t.zoomexp,r.rot.value=t.rot,r.warp.value=t.warp,r.cx.value=t.cx,r.cy.value=t.cy,r.dx.value=t.dx,r.dy.value=t.dy,r.sx.value=t.sx,r.sy.value=t.sy,e.preset.pixel_eqs_wasm(e.runVertEQs,this.mesh_width,this.mesh_height,this.time,t.warpanimspeed,t.warpscale,this.aspectx,this.aspecty),i){const t=e.preset.pixel_eqs_get_array();let n=0,i=0;for(let e=0;e<A;e++)for(let e=0;e<s;e++){const e=t[n],r=t[n+1];let a=this.blendPattern.vertInfoA[n/2]*this.blendProgress+this.blendPattern.vertInfoC[n/2];a=Math.clamp(a,0,1),this.warpUVs[n]=this.warpUVs[n]*a+e*(1-a),this.warpUVs[n+1]=this.warpUVs[n+1]*a+r*(1-a),this.warpColor[i+0]=1,this.warpColor[i+1]=1,this.warpColor[i+2]=1,this.warpColor[i+3]=a,n+=2,i+=4}}else this.warpUVs=e.preset.pixel_eqs_get_array(),this.warpColor.fill(1)}else{let n=k.cloneVars(t),E=n.warp,y=n.zoom,v=n.zoomexp,S=n.cx,x=n.cy,I=n.sx,C=n.sy,T=n.dx,_=n.dy,B=n.rot;for(let U=0;U<A;U++)for(let A=0;A<s;A++){const s=A/r*2-1,M=U/a*2-1,R=Math.sqrt(s*s*f*f+M*M*m*m);if(e.runVertEQs){let i;i=U===a/2&&A===r/2?0:k.atan2(M*m,s*f),n.x=.5*s*f+.5,n.y=-.5*M*m+.5,n.rad=R,n.ang=i,n.zoom=t.zoom,n.zoomexp=t.zoomexp,n.rot=t.rot,n.warp=t.warp,n.cx=t.cx,n.cy=t.cy,n.dx=t.dx,n.dy=t.dy,n.sx=t.sx,n.sy=t.sy,n=e.runPixelEquations(n),E=n.warp,y=n.zoom,v=n.zoomexp,S=n.cx,x=n.cy,I=n.sx,C=n.sy,T=n.dx,_=n.dy,B=n.rot}const L=1/y**(v**(2*R-1));let N=.5*s*f*L+.5,D=.5*-M*m*L+.5;N=(N-S)/I+S,D=(D-x)/C+x,0!==E&&(N+=.0035*E*Math.sin(.333*o+l*(s*c-M*d)),D+=.0035*E*Math.cos(.375*o-l*(s*h+M*u)),N+=.0035*E*Math.cos(.753*o-l*(s*u-M*h)),D+=.0035*E*Math.sin(.825*o+l*(s*c+M*d)));const P=N-S,F=D-x,O=Math.cos(B),z=Math.sin(B);if(N=P*O-F*z+S,D=P*z+F*O+x,N-=T,D-=_,N=(N-.5)/f+.5,D=(D-.5)/m+.5,N+=g,D+=p,i){let e=this.blendPattern.vertInfoA[b/2]*this.blendProgress+this.blendPattern.vertInfoC[b/2];e=Math.clamp(e,0,1),this.warpUVs[b]=this.warpUVs[b]*e+N*(1-e),this.warpUVs[b+1]=this.warpUVs[b+1]*e+D*(1-e),this.warpColor[w+0]=1,this.warpColor[w+1]=1,this.warpColor[w+2]=1,this.warpColor[w+3]=e}else this.warpUVs[b]=N,this.warpUVs[b+1]=D,this.warpColor[w+0]=1,this.warpColor[w+1]=1,this.warpColor[w+2]=1,this.warpColor[w+3]=1;b+=2,w+=4}this.mdVSVertex=n}}static mixFrameEquations(e,t,n){const i=.5-.5*Math.cos(e*Math.PI),r=1-i,a=k.cloneVars(t);return a.decay=i*t.decay+r*n.decay,a.wave_a=i*t.wave_a+r*n.wave_a,a.wave_r=i*t.wave_r+r*n.wave_r,a.wave_g=i*t.wave_g+r*n.wave_g,a.wave_b=i*t.wave_b+r*n.wave_b,a.wave_x=i*t.wave_x+r*n.wave_x,a.wave_y=i*t.wave_y+r*n.wave_y,a.wave_mystery=i*t.wave_mystery+r*n.wave_mystery,a.ob_size=i*t.ob_size+r*n.ob_size,a.ob_r=i*t.ob_r+r*n.ob_r,a.ob_g=i*t.ob_g+r*n.ob_g,a.ob_b=i*t.ob_b+r*n.ob_b,a.ob_a=i*t.ob_a+r*n.ob_a,a.ib_size=i*t.ib_size+r*n.ib_size,a.ib_r=i*t.ib_r+r*n.ib_r,a.ib_g=i*t.ib_g+r*n.ib_g,a.ib_b=i*t.ib_b+r*n.ib_b,a.ib_a=i*t.ib_a+r*n.ib_a,a.mv_x=i*t.mv_x+r*n.mv_x,a.mv_y=i*t.mv_y+r*n.mv_y,a.mv_dx=i*t.mv_dx+r*n.mv_dx,a.mv_dy=i*t.mv_dy+r*n.mv_dy,a.mv_l=i*t.mv_l+r*n.mv_l,a.mv_r=i*t.mv_r+r*n.mv_r,a.mv_g=i*t.mv_g+r*n.mv_g,a.mv_b=i*t.mv_b+r*n.mv_b,a.mv_a=i*t.mv_a+r*n.mv_a,a.echo_zoom=i*t.echo_zoom+r*n.echo_zoom,a.echo_alpha=i*t.echo_alpha+r*n.echo_alpha,a.echo_orient=i*t.echo_orient+r*n.echo_orient,a.wave_dots=i<.5?n.wave_dots:t.wave_dots,a.wave_thick=i<.5?n.wave_thick:t.wave_thick,a.additivewave=i<.5?n.additivewave:t.additivewave,a.wave_brighten=i<.5?n.wave_brighten:t.wave_brighten,a.darken_center=i<.5?n.darken_center:t.darken_center,a.gammaadj=i<.5?n.gammaadj:t.gammaadj,a.wrap=i<.5?n.wrap:t.wrap,a.invert=i<.5?n.invert:t.invert,a.brighten=i<.5?n.brighten:t.brighten,a.darken=i<.5?n.darken:t.darken,a.solarize=i<.5?n.brighten:t.solarize,a.b1n=i*t.b1n+r*n.b1n,a.b2n=i*t.b2n+r*n.b2n,a.b3n=i*t.b3n+r*n.b3n,a.b1x=i*t.b1x+r*n.b1x,a.b2x=i*t.b2x+r*n.b2x,a.b3x=i*t.b3x+r*n.b3x,a.b1ed=i*t.b1ed+r*n.b1ed,a}static getBlurValues(e){let t=e.b1n,n=e.b2n,i=e.b3n,r=e.b1x,a=e.b2x,s=e.b3x;if(r-t<.1){const e=.5*(t+r);t=e-.05,r=e-.05}if(a=Math.min(r,a),n=Math.max(t,n),a-n<.1){const e=.5*(n+a);n=e-.05,a=e-.05}if(s=Math.min(a,s),i=Math.max(n,i),s-i<.1){const e=.5*(i+s);i=e-.05,s=e-.05}return{blurMins:[t,n,i],blurMaxs:[r,a,s]}}bindFrambufferAndSetViewport(e,t,n){this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e),this.gl.viewport(0,0,t,n)}bindFrameBufferTexture(e,t){if(this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.pixelStorei(this.gl.UNPACK_ALIGNMENT,1),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.texsizeX,this.texsizeY,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array(this.texsizeX*this.texsizeY*4)),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.anisoExt){const e=this.gl.getParameter(this.anisoExt.MAX_TEXTURE_MAX_ANISOTROPY_EXT);this.gl.texParameterf(this.gl.TEXTURE_2D,this.anisoExt.TEXTURE_MAX_ANISOTROPY_EXT,e)}this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,e),this.gl.framebufferTexture2D(this.gl.FRAMEBUFFER,this.gl.COLOR_ATTACHMENT0,this.gl.TEXTURE_2D,t,0)}render({audioLevels:e,elapsedTime:t}={}){this.calcTimeAndFPS(t),this.frameNum+=1,e?this.audio.updateAudio(e.timeByteArray,e.timeByteArrayL,e.timeByteArrayR):this.audio.sampleAudio(),this.audioLevels.updateAudioLevels(this.fps,this.frameNum);const n={frame:this.frameNum,time:this.time,fps:this.fps,bass:this.audioLevels.bass,bass_att:this.audioLevels.bass_att,mid:this.audioLevels.mid,mid_att:this.audioLevels.mid_att,treb:this.audioLevels.treb,treb_att:this.audioLevels.treb_att,meshx:this.mesh_width,meshy:this.mesh_height,aspectx:this.invAspectx,aspecty:this.invAspecty,pixelsx:this.texsizeX,pixelsy:this.texsizeY},i=Object.assign({},n);this.prevPreset.useWASM||(i.gmegabuf=this.prevPresetEquationRunner.gmegabuf),this.preset.useWASM||(n.gmegabuf=this.presetEquationRunner.gmegabuf,Object.assign(n,this.regVars));const r=this.presetEquationRunner.runFrameEquations(n);let a;this.runPixelEquations(this.presetEquationRunner,r,n,!1),this.preset.useWASM||(Object.assign(this.regVars,k.pick(this.mdVSVertex,this.regs)),Object.assign(n,this.regVars)),this.blending?(this.prevMDVSFrame=this.prevPresetEquationRunner.runFrameEquations(i),this.runPixelEquations(this.prevPresetEquationRunner,this.prevMDVSFrame,i,!0),a=q.mixFrameEquations(this.blendProgress,r,this.prevMDVSFrame)):a=r;const s=this.targetTexture;this.targetTexture=this.prevTexture,this.prevTexture=s;const A=this.targetFrameBuffer;this.targetFrameBuffer=this.prevFrameBuffer,this.prevFrameBuffer=A,this.gl.bindTexture(this.gl.TEXTURE_2D,this.prevTexture),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.bindFrambufferAndSetViewport(this.targetFrameBuffer,this.texsizeX,this.texsizeY),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.enable(this.gl.BLEND),this.gl.blendEquation(this.gl.FUNC_ADD),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA);const{blurMins:o,blurMaxs:l}=q.getBlurValues(a);this.blending?(this.prevWarpShader.renderQuadTexture(!1,this.prevTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,o,l,this.prevMDVSFrame,this.prevPresetEquationRunner.mdVSQAfterFrame,this.warpUVs,this.warpColor),this.warpShader.renderQuadTexture(!0,this.prevTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,o,l,a,this.presetEquationRunner.mdVSQAfterFrame,this.warpUVs,this.warpColor)):this.warpShader.renderQuadTexture(!1,this.prevTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,o,l,r,this.presetEquationRunner.mdVSQAfterFrame,this.warpUVs,this.warpColor),this.numBlurPasses>0&&(this.blurShader1.renderBlurTexture(this.targetTexture,r,o,l),this.numBlurPasses>1&&(this.blurShader2.renderBlurTexture(this.blurTexture1,r,o,l),this.numBlurPasses>2&&this.blurShader3.renderBlurTexture(this.blurTexture2,r,o,l)),this.bindFrambufferAndSetViewport(this.targetFrameBuffer,this.texsizeX,this.texsizeY)),this.motionVectors.drawMotionVectors(a,this.warpUVs),this.preset.shapes&&this.preset.shapes.length>0&&this.customShapes.forEach((e,t)=>{e.drawCustomShape(this.blending?this.blendProgress:1,n,this.presetEquationRunner,this.preset.shapes[t],this.prevTexture)}),this.preset.waves&&this.preset.waves.length>0&&this.customWaveforms.forEach((e,t)=>{e.drawCustomWaveform(this.blending?this.blendProgress:1,this.audio.timeArrayL,this.audio.timeArrayR,this.audio.freqArrayL,this.audio.freqArrayR,n,this.presetEquationRunner,this.preset.waves[t])}),this.blending&&(this.prevPreset.shapes&&this.prevPreset.shapes.length>0&&this.prevCustomShapes.forEach((e,t)=>{e.drawCustomShape(1-this.blendProgress,i,this.prevPresetEquationRunner,this.prevPreset.shapes[t],this.prevTexture)}),this.prevPreset.waves&&this.prevPreset.waves.length>0&&this.prevCustomWaveforms.forEach((e,t)=>{e.drawCustomWaveform(1-this.blendProgress,this.audio.timeArrayL,this.audio.timeArrayR,this.audio.freqArrayL,this.audio.freqArrayR,i,this.prevPresetEquationRunner,this.prevPreset.waves[t])})),this.basicWaveform.drawBasicWaveform(this.blending,this.blendProgress,this.audio.timeArrayL,this.audio.timeArrayR,a),this.darkenCenter.drawDarkenCenter(a);const c=[a.ob_r,a.ob_g,a.ob_b,a.ob_a];this.outerBorder.drawBorder(c,a.ob_size,0);const u=[a.ib_r,a.ib_g,a.ib_b,a.ib_a];if(this.innerBorder.drawBorder(u,a.ib_size,a.ob_size),this.supertext.startTime>=0){const e=(this.time-this.supertext.startTime)/this.supertext.duration;e>=1&&this.titleText.renderTitle(e,!0,n)}this.globalVars=n,this.mdVSFrame=r,this.mdVSFrameMixed=a,this.renderToScreen()}renderToScreen(){this.outputFXAA?this.bindFrambufferAndSetViewport(this.compFrameBuffer,this.texsizeX,this.texsizeY):this.bindFrambufferAndSetViewport(null,this.width,this.height),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.enable(this.gl.BLEND),this.gl.blendEquation(this.gl.FUNC_ADD),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA);const{blurMins:e,blurMaxs:t}=q.getBlurValues(this.mdVSFrameMixed);if(this.blending?(this.prevCompShader.renderQuadTexture(!1,this.targetTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,e,t,this.prevMDVSFrame,this.prevPresetEquationRunner.mdVSQAfterFrame,this.warpColor),this.compShader.renderQuadTexture(!0,this.targetTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,e,t,this.mdVSFrameMixed,this.presetEquationRunner.mdVSQAfterFrame,this.warpColor)):this.compShader.renderQuadTexture(!1,this.targetTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,e,t,this.mdVSFrame,this.presetEquationRunner.mdVSQAfterFrame,this.warpColor),this.supertext.startTime>=0){const e=(this.time-this.supertext.startTime)/this.supertext.duration;this.titleText.renderTitle(e,!1,this.globalVars),e>=1&&(this.supertext.startTime=-1)}this.outputFXAA&&(this.gl.bindTexture(this.gl.TEXTURE_2D,this.compTexture),this.gl.generateMipmap(this.gl.TEXTURE_2D),this.bindFrambufferAndSetViewport(null,this.width,this.height),this.outputShader.renderQuadTexture(this.compTexture))}launchSongTitleAnim(e){this.supertext={startTime:this.time,duration:1.7},this.titleText.generateTitleTexture(e)}toDataURL(){const e=new Uint8Array(this.texsizeX*this.texsizeY*4),t=this.gl.createFramebuffer(),n=this.gl.createTexture();this.bindFrameBufferTexture(t,n);const{blurMins:i,blurMaxs:r}=q.getBlurValues(this.mdVSFrameMixed);this.compShader.renderQuadTexture(!1,this.targetTexture,this.blurTexture1,this.blurTexture2,this.blurTexture3,i,r,this.mdVSFrame,this.presetEquationRunner.mdVSQAfterFrame,this.warpColor),this.gl.readPixels(0,0,this.texsizeX,this.texsizeY,this.gl.RGBA,this.gl.UNSIGNED_BYTE,e),Array.from({length:this.texsizeY},(t,n)=>e.slice(n*this.texsizeX*4,(n+1)*this.texsizeX*4)).forEach((t,n)=>e.set(t,(this.texsizeY-n-1)*this.texsizeX*4));const a=document.createElement("canvas");a.width=this.texsizeX,a.height=this.texsizeY;const s=a.getContext("2d"),A=s.createImageData(this.texsizeX,this.texsizeY);return A.data.set(e),s.putImageData(A,0,0),this.gl.deleteTexture(n),this.gl.deleteFramebuffer(t),a.toDataURL()}warpBufferToDataURL(){const e=new Uint8Array(this.texsizeX*this.texsizeY*4);this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,this.targetFrameBuffer),this.gl.readPixels(0,0,this.texsizeX,this.texsizeY,this.gl.RGBA,this.gl.UNSIGNED_BYTE,e);const t=document.createElement("canvas");t.width=this.texsizeX,t.height=this.texsizeY;const n=t.getContext("2d"),i=n.createImageData(this.texsizeX,this.texsizeY);return i.data.set(e),n.putImageData(i,0,0),t.toDataURL()}}var H=n(11),J=n.n(H);function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function X(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach(function(t){r()(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}class Z{constructor(e,t,n){this.opts=n,this.audio=new w(e);const i=n.width||1200,r=n.height||900;this.internalCanvas=document.createElement("canvas"),this.internalCanvas.width=i,this.internalCanvas.height=r,this.gl=this.internalCanvas.getContext("webgl2",{alpha:!1,antialias:!1,depth:!1,stencil:!1,premultipliedAlpha:!1}),this.outputGl=t.getContext("2d"),this.baseValsDefaults={decay:.98,gammaadj:2,echo_zoom:2,echo_alpha:0,echo_orient:0,red_blue:0,brighten:0,darken:0,wrap:1,darken_center:0,solarize:0,invert:0,bmotionvectorson:1,fshader:0,b1n:0,b2n:0,b3n:0,b1x:1,b2x:1,b3x:1,b1ed:.25,wave_mode:0,additivewave:0,wave_dots:0,wave_thick:0,wave_a:.8,wave_scale:1,wave_smoothing:.75,wave_mystery:0,modwavealphabyvolume:0,modwavealphastart:.75,modwavealphaend:.95,wave_r:1,wave_g:1,wave_b:1,wave_x:.5,wave_y:.5,wave_brighten:1,mv_x:12,mv_y:9,mv_dx:0,mv_dy:0,mv_l:.9,mv_r:1,mv_g:1,mv_b:1,mv_a:1,warpanimspeed:1,warpscale:1,zoomexp:1,zoom:1,rot:0,cx:.5,cy:.5,dx:0,dy:0,warp:1,sx:1,sy:1,ob_size:.01,ob_r:0,ob_g:0,ob_b:0,ob_a:0,ib_size:.01,ib_r:.25,ib_g:.25,ib_b:.25,ib_a:0},this.shapeBaseValsDefaults={enabled:0,sides:4,additive:0,thickoutline:0,textured:0,num_inst:1,tex_zoom:1,tex_ang:0,x:.5,y:.5,rad:.1,ang:0,r:1,g:0,b:0,a:1,r2:0,g2:1,b2:0,a2:0,border_r:1,border_g:1,border_b:1,border_a:.1},this.waveBaseValsDefaults={enabled:0,samples:512,sep:0,scaling:1,smoothing:.5,r:1,g:1,b:1,a:1,spectrum:0,usedots:0,thick:0,additive:0},this.qs=k.range(1,33).map(e=>"q"+e),this.ts=k.range(1,9).map(e=>"t"+e),this.globalPerFrameVars=["old_wave_mode","frame","time","fps","bass","bass_att","mid","mid_att","treb","treb_att","meshx","meshy","aspectx","aspecty","pixelsx","pixelsy","rand_start","rand_preset"],this.globalPerPixelVars=["frame","time","fps","bass","bass_att","mid","mid_att","treb","treb_att","meshx","meshy","aspectx","aspecty","pixelsx","pixelsy","rand_start","rand_preset","x","y","rad","ang"],this.globalShapeVars=["frame","time","fps","bass","bass_att","mid","mid_att","treb","treb_att","meshx","meshy","aspectx","aspecty","pixelsx","pixelsy","rand_start","rand_preset","instance"],this.shapeBaseVars=["x","y","rad","ang","r","g","b","a","r2","g2","b2","a2","border_r","border_g","border_b","border_a","thickoutline","textured","tex_zoom","tex_ang","additive"],this.globalWaveVars=["frame","time","fps","bass","bass_att","mid","mid_att","treb","treb_att","meshx","meshy","aspectx","aspecty","pixelsx","pixelsy","rand_start","rand_preset","x","y","sample","value1","value2"],this.renderer=new q(this.gl,this.audio,n)}loseGLContext(){this.gl.getExtension("WEBGL_lose_context").loseContext(),this.outputGl=null}connectAudio(e){this.audioNode=e,this.audio.connectAudio(e)}disconnectAudio(e){this.audio.disconnectAudio(e)}static overrideDefaultVars(e,t){const n={};return Object.keys(e).forEach(i=>{Object.prototype.hasOwnProperty.call(t,i)?n[i]=t[i]:n[i]=e[i]}),n}createQVars(){const e={};return this.qs.forEach(t=>{e[t]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),e}createTVars(){const e={};return this.ts.forEach(t=>{e[t]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),e}createPerFramePool(e){const t={};return Object.keys(this.baseValsDefaults).forEach(n=>{t[n]=new WebAssembly.Global({value:"f64",mutable:!0},e[n])}),this.globalPerFrameVars.forEach(e=>{t[e]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),t}createPerPixelPool(e){const t={};return Object.keys(this.baseValsDefaults).forEach(n=>{t[n]=new WebAssembly.Global({value:"f64",mutable:!0},e[n])}),this.globalPerPixelVars.forEach(e=>{t[e]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),t}createCustomShapePerFramePool(e){const t={};return Object.keys(this.shapeBaseValsDefaults).forEach(n=>{t[n]=new WebAssembly.Global({value:"f64",mutable:!0},e[n])}),this.globalShapeVars.forEach(e=>{t[e]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),t}createCustomWavePerFramePool(e){const t={};return Object.keys(this.waveBaseValsDefaults).forEach(n=>{t[n]=new WebAssembly.Global({value:"f64",mutable:!0},e[n])}),this.globalWaveVars.forEach(e=>{t[e]=new WebAssembly.Global({value:"f64",mutable:!0},0)}),t}static makeShapeResetPool(e,t,n){return t.reduce((t,i)=>X(X({},t),{},{[`${i}_${n}`]:e[i]}),{})}static base64ToArrayBuffer(e){for(var t=window.atob(e),n=t.length,i=new Uint8Array(n),r=0;r<n;r++)i[r]=t.charCodeAt(r);return i.buffer}async loadPreset(e,t=0){const n=JSON.parse(JSON.stringify(e));n.baseVals=Z.overrideDefaultVars(this.baseValsDefaults,n.baseVals);for(let e=0;e<n.shapes.length;e++)n.shapes[e].baseVals=Z.overrideDefaultVars(this.shapeBaseValsDefaults,n.shapes[e].baseVals);for(let e=0;e<n.waves.length;e++)n.waves[e].baseVals=Z.overrideDefaultVars(this.waveBaseValsDefaults,n.waves[e].baseVals);const i=n.useJS&&!this.opts.onlyUseWASM;Object.prototype.hasOwnProperty.call(n,"init_eqs_eel")&&!i?(n.useWASM=!0,await this.loadWASMPreset(n,t)):this.opts.onlyUseWASM?console.warn("Tried to load a preset that doesn't support WASM with onlyUseWASM on"):Object.prototype.hasOwnProperty.call(n,"init_eqs_str")?this.loadJSPreset(n,t):console.warn("Tried to load a JS preset that doesn't have converted strings")}async loadWASMPreset(e,t){const n=this.createQVars(),i=this.createTVars(),r={perFrame:X(X({},n),this.createPerFramePool(e.baseVals)),perVertex:X(X({},n),this.createPerPixelPool(e.baseVals))},s={presetInit:{pool:"perFrame",code:e.init_eqs_eel},perFrame:{pool:"perFrame",code:e.frame_eqs_eel}};""!==e.pixel_eqs_eel&&(s.perPixel={pool:"perVertex",code:e.pixel_eqs_eel});for(let t=0;t<e.shapes.length;t++)r["shapePerFrame"+t]=X(X(X({},n),i),this.createCustomShapePerFramePool(e.shapes[t].baseVals)),0!==e.shapes[t].baseVals.enabled&&(s[`shapes_${t}_init_eqs`]={pool:"shapePerFrame"+t,code:e.shapes[t].init_eqs_eel},s[`shapes_${t}_frame_eqs`]={pool:"shapePerFrame"+t,code:e.shapes[t].frame_eqs_eel});for(let t=0;t<e.waves.length;t++)0!==e.waves[t].baseVals.enabled&&(r["wavePerFrame"+t]=X(X(X({},n),i),this.createCustomWavePerFramePool(e.waves[t].baseVals)),s[`waves_${t}_init_eqs`]={pool:"wavePerFrame"+t,code:e.waves[t].init_eqs_eel},s[`waves_${t}_frame_eqs`]={pool:"wavePerFrame"+t,code:e.waves[t].frame_eqs_eel},e.waves[t].point_eqs_eel&&""!==e.waves[t].point_eqs_eel&&(s[`waves_${t}_point_eqs`]={pool:"wavePerFrame"+t,code:e.waves[t].point_eqs_eel}));const A=await Object(a.loadModule)({pools:r,functions:s,eelVersion:e.version||2}),o=e=>e||(()=>{}),l=await m.instantiate(Z.base64ToArrayBuffer(J()()),{pixelEqs:{perPixelEqs:o(A.exports.perPixel)},pixelVarPool:{warp:r.perVertex.warp,zoom:r.perVertex.zoom,zoomexp:r.perVertex.zoomexp,cx:r.perVertex.cx,cy:r.perVertex.cy,sx:r.perVertex.sx,sy:r.perVertex.sy,dx:r.perVertex.dx,dy:r.perVertex.dy,rot:r.perVertex.rot,x:r.perVertex.x,y:r.perVertex.y,ang:r.perVertex.ang,rad:r.perVertex.rad},qVarPool:n,tVarPool:i,shapePool0:Z.makeShapeResetPool(r.shapePerFrame0,this.shapeBaseVars,0),shapePool1:Z.makeShapeResetPool(r.shapePerFrame1,this.shapeBaseVars,1),shapePool2:Z.makeShapeResetPool(r.shapePerFrame2,this.shapeBaseVars,2),shapePool3:Z.makeShapeResetPool(r.shapePerFrame3,this.shapeBaseVars,3),console:{logi:e=>{console.log("logi: "+e)},logf:e=>{console.log("logf: "+e)}},env:{abort:()=>{}}});e.globalPools=r,e.init_eqs=o(A.exports.presetInit),e.frame_eqs=o(A.exports.perFrame),e.save_qs=l.exports.saveQs,e.restore_qs=l.exports.restoreQs,e.save_ts=l.exports.saveTs,e.restore_ts=l.exports.restoreTs,A.exports.perPixel&&(e.pixel_eqs=A.exports.perPixel),e.pixel_eqs_initialize_array=(t,n)=>{const i=l.exports.createFloat32Array((t+1)*(n+1)*2);e.pixel_eqs_array=i},e.pixel_eqs_get_array=()=>l.exports.__getFloat32ArrayView(e.pixel_eqs_array),e.pixel_eqs_wasm=(...t)=>l.exports.runPixelEquations(e.pixel_eqs_array,...t);for(let t=0;t<e.shapes.length;t++)0!==e.shapes[t].baseVals.enabled&&(e.shapes[t].init_eqs=o(A.exports[`shapes_${t}_init_eqs`]),e.shapes[t].frame_eqs=A.exports[`shapes_${t}_frame_eqs`],e.shapes[t].frame_eqs_save=()=>l.exports[`shape${t}_save`](),e.shapes[t].frame_eqs_restore=()=>l.exports[`shape${t}_restore`]());for(let t=0;t<e.waves.length;t++)if(0!==e.waves[t].baseVals.enabled){const n={init_eqs:o(A.exports[`waves_${t}_init_eqs`]),frame_eqs:o(A.exports[`waves_${t}_frame_eqs`])};e.waves[t].point_eqs_eel&&""!==e.waves[t].point_eqs_eel?n.point_eqs=A.exports[`waves_${t}_point_eqs`]:n.point_eqs="",e.waves[t]=Object.assign({},e.waves[t],n)}this.renderer.loadPreset(e,t)}loadJSPreset(e,t){if("function"!=typeof e.init_eqs){e.init_eqs=new Function("a",e.init_eqs_str+" return a;"),e.frame_eqs=new Function("a",e.frame_eqs_str+" return a;"),e.pixel_eqs_str&&""!==e.pixel_eqs_str?e.pixel_eqs=new Function("a",e.pixel_eqs_str+" return a;"):e.pixel_eqs="";for(let t=0;t<e.shapes.length;t++)0!==e.shapes[t].baseVals.enabled&&(e.shapes[t]=Object.assign({},e.shapes[t],{init_eqs:new Function("a",e.shapes[t].init_eqs_str+" return a;"),frame_eqs:new Function("a",e.shapes[t].frame_eqs_str+" return a;")}));for(let t=0;t<e.waves.length;t++)if(0!==e.waves[t].baseVals.enabled){const n={init_eqs:new Function("a",e.waves[t].init_eqs_str+" return a;"),frame_eqs:new Function("a",e.waves[t].frame_eqs_str+" return a;")};e.waves[t].point_eqs_str&&""!==e.waves[t].point_eqs_str?n.point_eqs=new Function("a",e.waves[t].point_eqs_str+" return a;"):n.point_eqs="",e.waves[t]=Object.assign({},e.waves[t],n)}}this.renderer.loadPreset(e,t)}loadExtraImages(e){this.renderer.loadExtraImages(e)}setRendererSize(e,t,n={}){this.internalCanvas.width=e,this.internalCanvas.height=t,this.renderer.setRendererSize(e,t,n)}setInternalMeshSize(e,t){this.renderer.setInternalMeshSize(e,t)}setOutputAA(e){this.renderer.setOutputAA(e)}setCanvas(e){this.outputGl=e.getContext("2d")}render(e){const t=this.renderer.render(e);return this.outputGl&&this.outputGl.drawImage(this.internalCanvas,0,0),t}launchSongTitleAnim(e){this.renderer.launchSongTitleAnim(e)}toDataURL(){return this.renderer.toDataURL()}warpBufferToDataURL(){return this.renderer.warpBufferToDataURL()}}class ${static createVisualizer(e,t,n){return new Z(e,t,n)}}}]);const ZQ=window.butterchurn,$Q=window.base.default;class eV extends XQ{constructor(e){super({...e,__butterchurnOptions:{importButterchurn:()=>Promise.resolve(ZQ),getPresets:()=>Object.entries($Q).map(([e,t])=>({name:e,butterchurnPresetObject:t}))}})}}window.Webamp=XQ;const tV=Ru("music-metadata:id3v2:frame-parser"),nV="latin1";function iV(e){return"RX"===e?"Remix":"CR"===e?"Cover":e.match(/^\d*$/)?Sd[Number.parseInt(e)]:void 0}class rV{constructor(e,t){this.major=e,this.warningCollector=t}readData(e,t,n){if(0===e.length)return void this.warningCollector.addWarning(`id3v2.${this.major} header has empty tag type=${t}`);const{encoding:i,bom:r}=lh(e,0),a=e.length;let s=0,A=[];const o=rV.getNullTerminatorLength(i);let l;switch(tV(`Parsing tag type=${t}, encoding=${i}, bom=${r}`),"TXXX"!==t&&"T"===t[0]?"T*":t){case"T*":case"GRP1":case"IPLS":case"MVIN":case"MVNM":case"PCS":case"PCST":{let n;try{n=$u(e.slice(1),i).replace(/\x00+$/,"")}catch(e){if(e instanceof Error){this.warningCollector.addWarning(`id3v2.${this.major} type=${t} header has invalid string value: ${e.message}`);break}throw e}switch(t){case"TMCL":case"TIPL":case"IPLS":A=rV.functionList(this.splitValue(t,n));break;case"TRK":case"TRCK":case"TPOS":A=n;break;case"TCOM":case"TEXT":case"TOLY":case"TOPE":case"TPE1":case"TSRC":A=this.splitValue(t,n);break;case"TCO":case"TCON":A=this.splitValue(t,n).map(e=>function(e){const t=[];let n,i="";for(const r of e)if("string"==typeof n)if("("===r&&""===n)i+="(",n=void 0;else if(")"===r){""!==i&&(t.push(i),i="");const e=iV(n);e&&t.push(e),n=void 0}else n+=r;else"("===r?n="":i+=r;return i&&(0===t.length&&i.match(/^\d*$/)&&(i=iV(i)),i&&t.push(i)),t}(e)).reduce((e,t)=>e.concat(t),[]);break;case"PCS":case"PCST":A=this.major>=4?this.splitValue(t,n):[n],A=Array.isArray(A)&&""===A[0]?1:0;break;default:A=this.major>=4?this.splitValue(t,n):[n]}break}case"TXXX":{const n=rV.readIdentifierAndData(e,s+1,a,i);A={description:n.id,text:this.splitValue(t,$u(n.data,i).replace(/\x00+$/,""))};break}case"PIC":case"APIC":if(n){const t={};switch(s+=1,this.major){case 2:t.format=$u(e.slice(s,s+3),"latin1"),s+=3;break;case 3:case 4:l=Xu(e,s,a,nV),t.format=$u(e.slice(s,l),nV),s=l+1;break;default:throw function(e){throw new aV(`Unexpected majorVer: ${e}`)}(this.major)}t.format=rV.fixPictureMimeType(t.format),t.type=ih[e[s]],s+=1,l=Xu(e,s,a,i),t.description=$u(e.slice(s,l),i),s=l+o,t.data=e.slice(s,a),A=t}break;case"CNT":case"PCNT":A=jo.get(e,0);break;case"SYLT":{const t=dh(e,0);s+=hh;const n={descriptor:"",language:t.language,contentType:t.contentType,timeStampFormat:t.timeStampFormat,syncText:[]};let i=!1;for(;s<a;){const r=rV.readNullTerminatedString(e.subarray(s),t.encoding);if(s+=r.len,i){const t=jo.get(e,s);s+=jo.len,n.syncText.push({text:r.text,timestamp:t})}else n.descriptor=r.text,i=!0}A=n;break}case"ULT":case"USLT":case"COM":case"COMM":{const t=uh(e,s);s+=ch;const n=rV.readNullTerminatedString(e.subarray(s),t.encoding);s+=n.len;const i=rV.readNullTerminatedString(e.subarray(s),t.encoding);A={language:t.language,descriptor:n.text,text:i.text};break}case"UFID":{const t=rV.readIdentifierAndData(e,s,a,nV);A={owner_identifier:t.id,identifier:t.data};break}case"PRIV":{const t=rV.readIdentifierAndData(e,s,a,nV);A={owner_identifier:t.id,data:t.data};break}case"POPM":{l=Xu(e,s,a,nV);const t=$u(e.slice(s,l),nV);s=l+1;const n=a-s;A={email:t,rating:Fo.get(e,s),counter:n>=5?jo.get(e,s+1):void 0};break}case"GEOB":{l=Xu(e,s+1,a,i);const t=$u(e.slice(s+1,l),nV);s=l+1,l=Xu(e,s,a,i);const n=$u(e.slice(s,l),nV);s=l+1,l=Xu(e,s,a,i);const r=$u(e.slice(s,l),nV);s=l+1;A={type:t,filename:n,description:r,data:e.slice(s,a)};break}case"WCOM":case"WCOP":case"WOAF":case"WOAR":case"WOAS":case"WORS":case"WPAY":case"WPUB":l=Xu(e,s+1,a,i),A=$u(e.slice(s,l),nV);break;case"WXXX":{l=Xu(e,s+1,a,i);const t=$u(e.slice(s+1,l),i);s=l+("utf-16le"===i?2:1),A={description:t,url:$u(e.slice(s,a),nV)};break}case"WFD":case"WFED":A=$u(e.slice(s+1,Xu(e,s+1,a,i)),i);break;case"MCDI":A=e.slice(0,a);break;default:tV(`Warning: unsupported id3v2-tag-type: ${t}`)}return A}static readNullTerminatedString(e,t){let n=t.bom?2:0;const i=Xu(e,n,e.length,t.encoding),r=e.slice(n,i);return n="utf-16le"===t.encoding?i+2:i+1,{text:$u(r,t.encoding),len:n}}static fixPictureMimeType(e){switch(e=e.toLocaleLowerCase()){case"jpg":return"image/jpeg";case"png":return"image/png"}return e}static functionList(e){const t={};for(let n=0;n+1<e.length;n+=2){const i=e[n+1].split(",");t[e[n]]=t[e[n]]?t[e[n]].concat(i):i}return t}splitValue(e,t){let n;return this.major<4?(n=t.split(/\x00/g),n.length>1?this.warningCollector.addWarning(`ID3v2.${this.major} ${e} uses non standard null-separator.`):n=t.split(/\//g)):n=t.split(/\x00/g),rV.trimArray(n)}static trimArray(e){return e.map(e=>e.replace(/\x00+$/,"").trim())}static readIdentifierAndData(e,t,n,i){const r=Xu(e,t,n,i),a=$u(e.slice(t,r),i);return t=r+rV.getNullTerminatorLength(i),{id:a,data:e.slice(t,n)}}static getNullTerminatorLength(e){return"utf-16le"===e?2:1}}class aV extends(Ju("id3v2")){}const sV=new TextDecoder("ascii");class AV{constructor(){this.tokenizer=void 0,this.id3Header=void 0,this.metadata=void 0,this.headerType=void 0,this.options=void 0}static removeUnsyncBytes(e){let t=0,n=0;for(;t<e.length-1;)t!==n&&(e[n]=e[t]),t+=255===e[t]&&0===e[t+1]?2:1,n++;return t<e.length&&(e[n++]=e[t]),e.slice(0,n)}static getFrameHeaderLength(e){switch(e){case 2:return 6;case 3:case 4:return 10;default:throw oV(e)}}static readFrameFlags(e){return{status:{tag_alter_preservation:Wu(e,0,6),file_alter_preservation:Wu(e,0,5),read_only:Wu(e,0,4)},format:{grouping_identity:Wu(e,1,7),compression:Wu(e,1,3),encryption:Wu(e,1,2),unsynchronisation:Wu(e,1,1),data_length_indicator:Wu(e,1,0)}}}static readFrameData(e,t,n,i,r){const a=new rV(n,r);switch(n){case 2:return a.readData(e,t.id,i);case 3:case 4:return t.flags?.format.unsynchronisation&&(e=AV.removeUnsyncBytes(e)),t.flags?.format.data_length_indicator&&(e=e.slice(4,e.length)),a.readData(e,t.id,i);default:throw oV(n)}}static makeDescriptionTagName(e,t){return e+(t?`:${t}`:"")}async parse(e,t,n){this.tokenizer=t,this.metadata=e,this.options=n;const i=await this.tokenizer.readToken(Ah);if("ID3"!==i.fileIdentifier)throw new aV("expected ID3-header file-identifier 'ID3' was not found");return this.id3Header=i,this.headerType=`ID3v2.${i.version.major}`,i.flags.isExtendedHeader?this.parseExtendedHeader():this.parseId3Data(i.size)}async parseExtendedHeader(){const e=await this.tokenizer.readToken(oh),t=e.size-oh.len;return t>0?this.parseExtendedHeaderData(t,e.size):this.parseId3Data(this.id3Header.size-e.size)}async parseExtendedHeaderData(e,t){return await this.tokenizer.ignore(e),this.parseId3Data(this.id3Header.size-t)}async parseId3Data(e){const t=await this.tokenizer.readToken(new cl(e));for(const e of this.parseMetadata(t))if("TXXX"===e.id)e.value&&await this.handleTag(e,e.value.text,()=>e.value.description);else await(Array.isArray(e.value)?Promise.all(e.value.map(t=>this.addTag(e.id,t))):this.addTag(e.id,e.value))}async handleTag(e,t,n,i=e=>e){await Promise.all(t.map(t=>this.addTag(AV.makeDescriptionTagName(e.id,n(t)),i(t))))}async addTag(e,t){await this.metadata.addTag(this.headerType,e,t)}parseMetadata(e){let t=0;const n=[];for(;t!==e.length;){const i=AV.getFrameHeaderLength(this.id3Header.version.major);if(t+i>e.length){this.metadata.addWarning("Illegal ID3v2 tag length");break}const r=e.slice(t,t+i);t+=i;const a=this.readFrameHeader(r,this.id3Header.version.major),s=e.slice(t,t+a.length);t+=a.length;const A=AV.readFrameData(s,a,this.id3Header.version.major,!this.options.skipCovers,this.metadata);A&&n.push({id:a.id,value:A})}return n}readFrameHeader(e,t){let n;switch(t){case 2:n={id:sV.decode(e.slice(0,3)),length:Vo.get(e,3)},n.id.match(/[A-Z0-9]{3}/g)||this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${n.id}`);break;case 3:case 4:n={id:sV.decode(e.slice(0,4)),length:(4===t?sh:jo).get(e,4),flags:AV.readFrameFlags(e.slice(8,10))},n.id.match(/[A-Z0-9]{4}/g)||this.metadata.addWarning(`Invalid ID3v2.${this.id3Header.version.major} frame-header-ID: ${n.id}`);break;default:throw oV(t)}return n}}function oV(e){throw new aV(`Unexpected majorVer: ${e}`)}const lV=Ru("music-metadata:parser:ID3");class cV extends id{constructor(){super(...arguments),this.id3parser=new AV}static async startsWithID3v2Header(e){return"ID3"===(await e.peekToken(Ah)).fileIdentifier}async parse(){try{await this.parseID3v2()}catch(e){if(!(e instanceof So))throw e;lV("End-of-stream")}}finalize(){}async parseID3v2(){if(await this.tryReadId3v2Headers(),lV("End of ID3v2 header, go to MPEG-parser: pos=%s",this.tokenizer.position),await this.postId3v2Parse(),this.options.skipPostHeaders&&this.metadata.hasAny())this.finalize();else{const e=new Cd(this.metadata,this.tokenizer,this.options);await e.parse(),this.finalize()}}async tryReadId3v2Headers(){if("ID3"===(await this.tokenizer.peekToken(Ah)).fileIdentifier)return lV("Found ID3v2 header, pos=%s",this.tokenizer.position),await this.id3parser.parse(this.metadata,this.tokenizer,this.options),this.tryReadId3v2Headers()}}const uV=(e,t)=>{const n=th(e,t,0,3),i=th(e,t,6,1),r=th(e,t,7,9)/10;if(n>0)return{type:th(e,t,0,3),origin:th(e,t,3,3),adjustment:i?-r:r}},hV={len:27,get:(e,t)=>{const n=jo.get(e,t+2);return{revision:th(e,t,0,4),vbr_method:th(e,t,4,4),lowpass_filter:100*Fo.get(e,t+1),track_peak:0===n?null:n/2**23,track_gain:uV(e,6),album_gain:uV(e,8),music_length:jo.get(e,t+20),music_crc:Fo.get(e,t+24),header_crc:zo.get(e,t+24)}}},dV=new ul(4,"ascii"),gV=new ul(6,"ascii"),pV={len:4,get:(e,t)=>({frames:nh(e,t,31),bytes:nh(e,t,30),toc:nh(e,t,29),vbrScale:nh(e,t,28)})};const fV=Ru("music-metadata:parser:mpeg");class mV extends(Ju("MPEG")){}const bV={AudioObjectTypes:["AAC Main","AAC LC","AAC SSR","AAC LTP"],SamplingFrequencies:[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350,null,null,-1]},wV=[void 0,["front-center"],["front-left","front-right"],["front-center","front-left","front-right"],["front-center","front-left","front-right","back-center"],["front-center","front-left","front-right","back-left","back-right"],["front-center","front-left","front-right","back-left","back-right","LFE-channel"],["front-center","front-left","front-right","side-left","side-right","back-left","back-right","LFE-channel"]];class EV{constructor(e,t){this.bitrateIndex=null,this.sampRateFreqIndex=null,this.padding=null,this.privateBit=null,this.channelModeIndex=null,this.modeExtension=null,this.isOriginalMedia=null,this.version=null,this.bitrate=null,this.samplingRate=null,this.frameLength=0,this.versionIndex=th(e,t+1,3,2),this.layer=EV.LayerDescription[th(e,t+1,5,2)],this.versionIndex>1&&0===this.layer?this.parseAdtsHeader(e,t):this.parseMpegHeader(e,t),this.isProtectedByCRC=!nh(e,t+1,7)}calcDuration(e){return null==this.samplingRate?null:e*this.calcSamplesPerFrame()/this.samplingRate}calcSamplesPerFrame(){return EV.samplesInFrameTable[1===this.version?0:1][this.layer]}calculateSideInfoLength(){if(3!==this.layer)return 2;if(3===this.channelModeIndex){if(1===this.version)return 17;if(2===this.version||2.5===this.version)return 9}else{if(1===this.version)return 32;if(2===this.version||2.5===this.version)return 17}return null}calcSlotSize(){return[null,4,1,1][this.layer]}parseMpegHeader(e,t){this.container="MPEG",this.bitrateIndex=th(e,t+2,0,4),this.sampRateFreqIndex=th(e,t+2,4,2),this.padding=nh(e,t+2,6),this.privateBit=nh(e,t+2,7),this.channelModeIndex=th(e,t+3,0,2),this.modeExtension=th(e,t+3,2,2),this.isCopyrighted=nh(e,t+3,4),this.isOriginalMedia=nh(e,t+3,5),this.emphasis=th(e,t+3,7,2),this.version=EV.VersionID[this.versionIndex],this.channelMode=EV.ChannelMode[this.channelModeIndex],this.codec=`MPEG ${this.version} Layer ${this.layer}`;const n=this.calcBitrate();if(!n)throw new mV("Cannot determine bit-rate");if(this.bitrate=1e3*n,this.samplingRate=this.calcSamplingRate(),null==this.samplingRate)throw new mV("Cannot determine sampling-rate")}parseAdtsHeader(e,t){fV("layer=0 => ADTS"),this.version=2===this.versionIndex?4:2,this.container=`ADTS/MPEG-${this.version}`;const n=th(e,t+2,0,2);this.codec="AAC",this.codecProfile=bV.AudioObjectTypes[n],fV(`MPEG-4 audio-codec=${this.codec}`);const i=th(e,t+2,2,4);this.samplingRate=bV.SamplingFrequencies[i],fV(`sampling-rate=${this.samplingRate}`);const r=th(e,t+2,7,3);this.mp4ChannelConfig=wV[r],fV(`channel-config=${this.mp4ChannelConfig?this.mp4ChannelConfig.join("+"):"?"}`),this.frameLength=th(e,t+3,6,2)<<11}calcBitrate(){if(0===this.bitrateIndex||15===this.bitrateIndex)return null;if(this.version&&this.bitrateIndex){const e=10*Math.floor(this.version)+this.layer;return EV.bitrate_index[this.bitrateIndex][e]}return null}calcSamplingRate(){return 3===this.sampRateFreqIndex||null===this.version||null==this.sampRateFreqIndex?null:EV.sampling_rate_freq_index[this.version][this.sampRateFreqIndex]}}EV.SyncByte1=255,EV.SyncByte2=224,EV.VersionID=[2.5,null,2,1],EV.LayerDescription=[0,3,2,1],EV.ChannelMode=["stereo","joint_stereo","dual_channel","mono"],EV.bitrate_index={1:{11:32,12:32,13:32,21:32,22:8,23:8},2:{11:64,12:48,13:40,21:48,22:16,23:16},3:{11:96,12:56,13:48,21:56,22:24,23:24},4:{11:128,12:64,13:56,21:64,22:32,23:32},5:{11:160,12:80,13:64,21:80,22:40,23:40},6:{11:192,12:96,13:80,21:96,22:48,23:48},7:{11:224,12:112,13:96,21:112,22:56,23:56},8:{11:256,12:128,13:112,21:128,22:64,23:64},9:{11:288,12:160,13:128,21:144,22:80,23:80},10:{11:320,12:192,13:160,21:160,22:96,23:96},11:{11:352,12:224,13:192,21:176,22:112,23:112},12:{11:384,12:256,13:224,21:192,22:128,23:128},13:{11:416,12:320,13:256,21:224,22:144,23:144},14:{11:448,12:384,13:320,21:256,22:160,23:160}},EV.sampling_rate_freq_index={1:{0:44100,1:48e3,2:32e3},2:{0:22050,1:24e3,2:16e3},2.5:{0:11025,1:12e3,2:8e3}},EV.samplesInFrameTable=[[0,384,1152,1152],[0,384,1152,576]];const yV=4,vV=(e,t)=>new EV(e,t);var kV=Object.freeze({__proto__:null,MpegContentError:mV,MpegParser:class extends cV{constructor(){super(...arguments),this.frameCount=0,this.syncFrameCount=-1,this.countSkipFrameData=0,this.totalDataLength=0,this.bitrates=[],this.offset=0,this.frame_size=0,this.crc=null,this.calculateEofDuration=!1,this.samplesPerFrame=null,this.buf_frame_header=new Uint8Array(4),this.mpegOffset=null,this.syncPeek={buf:new Uint8Array(1024),len:0}}async postId3v2Parse(){this.metadata.setFormat("lossless",!1),this.metadata.setAudioOnly();try{let e=!1;for(;!e;)await this.sync(),e=await this.parseCommonMpegHeader()}catch(e){if(!(e instanceof So))throw e;if(fV("End-of-stream"),this.calculateEofDuration&&null!==this.samplesPerFrame){const e=this.frameCount*this.samplesPerFrame;if(this.metadata.setFormat("numberOfSamples",e),this.metadata.format.sampleRate){const t=e/this.metadata.format.sampleRate;fV(`Calculate duration at EOF: ${t} sec.`,t),this.metadata.setFormat("duration",t)}}}}finalize(){const e=this.metadata.format,t=!!this.metadata.native.ID3v1;if(null!==this.mpegOffset){if(e.duration&&this.tokenizer.fileInfo.size){const n=this.tokenizer.fileInfo.size-this.mpegOffset-(t?128:0);e.codecProfile&&"V"===e.codecProfile[0]&&this.metadata.setFormat("bitrate",8*n/e.duration)}if(this.tokenizer.fileInfo.size&&"CBR"===e.codecProfile){const n=this.tokenizer.fileInfo.size-this.mpegOffset-(t?128:0);if(null!==this.frame_size&&null!==this.samplesPerFrame){const t=Math.round(n/this.frame_size)*this.samplesPerFrame;if(this.metadata.setFormat("numberOfSamples",t),e.sampleRate&&!e.duration){const n=t/e.sampleRate;fV("Calculate CBR duration based on file size: %s",n),this.metadata.setFormat("duration",n)}}}}}async sync(){let e=!1;for(;;){let t=0;if(this.syncPeek.len=await this.tokenizer.peekBuffer(this.syncPeek.buf,{length:1024,mayBeLess:!0}),this.syncPeek.len<=163)throw new So;for(;;){if(e&&!(224&~this.syncPeek.buf[t]))return this.buf_frame_header[0]=EV.SyncByte1,this.buf_frame_header[1]=this.syncPeek.buf[t],await this.tokenizer.ignore(t),fV(`Sync at offset=${this.tokenizer.position-1}, frameCount=${this.frameCount}`),this.syncFrameCount===this.frameCount&&(fV(`Re-synced MPEG stream, frameCount=${this.frameCount}`),this.frameCount=0,this.frame_size=0),void(this.syncFrameCount=this.frameCount);if(e=!1,t=this.syncPeek.buf.indexOf(EV.SyncByte1,t),-1===t){if(this.syncPeek.len<this.syncPeek.buf.length)throw new So;await this.tokenizer.ignore(this.syncPeek.len);break}++t,e=!0}}}async parseCommonMpegHeader(){let e;0===this.frameCount&&(this.mpegOffset=this.tokenizer.position-1),await this.tokenizer.peekBuffer(this.buf_frame_header.subarray(1),{length:3});try{e=vV(this.buf_frame_header,0)}catch(e){if(await this.tokenizer.ignore(1),e instanceof Error)return this.metadata.addWarning(`Parse error: ${e.message}`),!1;throw e}return await this.tokenizer.ignore(3),this.metadata.setFormat("container",e.container),this.metadata.setFormat("codec",e.codec),this.metadata.setFormat("lossless",!1),this.metadata.setFormat("sampleRate",e.samplingRate),this.frameCount++,null!==e.version&&e.version>=2&&0===e.layer?this.parseAdts(e):this.parseAudioFrameHeader(e)}async parseAudioFrameHeader(e){this.metadata.setFormat("numberOfChannels","mono"===e.channelMode?1:2),this.metadata.setFormat("bitrate",e.bitrate),this.frameCount<2e5&&fV("offset=%s MP%s bitrate=%s sample-rate=%s",this.tokenizer.position-4,e.layer,e.bitrate,e.samplingRate);const t=e.calcSlotSize();if(null===t)throw new mV("invalid slot_size");const n=e.calcSamplesPerFrame();fV(`samples_per_frame=${n}`);const i=n/8;if(null!==e.bitrate&&null!=e.samplingRate){const n=i*e.bitrate/e.samplingRate+(e.padding?t:0);this.frame_size=Math.floor(n)}if(this.audioFrameHeader=e,null!==e.bitrate&&this.bitrates.push(e.bitrate),1===this.frameCount)return this.offset=yV,await this.skipSideInformation(),!1;if(3===this.frameCount){if(this.areAllSame(this.bitrates)){if(this.samplesPerFrame=n,this.metadata.setFormat("codecProfile","CBR"),this.tokenizer.fileInfo.size)return!0}else if(this.metadata.format.duration)return!0;if(!this.options.duration)return!0}return this.options.duration&&4===this.frameCount&&(this.samplesPerFrame=n,this.calculateEofDuration=!0),this.offset=4,e.isProtectedByCRC?(await this.parseCrc(),!1):(await this.skipSideInformation(),!1)}async parseAdts(e){const t=new Uint8Array(3);if(await this.tokenizer.readBuffer(t),e.frameLength+=th(t,0,0,11),this.totalDataLength+=e.frameLength,this.samplesPerFrame=1024,null!==e.samplingRate){const t=e.samplingRate/this.samplesPerFrame,n=8*(0===this.frameCount?0:this.totalDataLength/this.frameCount)*t+.5;this.metadata.setFormat("bitrate",n),fV(`frame-count=${this.frameCount}, size=${e.frameLength} bytes, bit-rate=${n}`)}if(await this.tokenizer.ignore(e.frameLength>7?e.frameLength-7:1),3===this.frameCount){if(this.metadata.setFormat("codecProfile",e.codecProfile),e.mp4ChannelConfig&&this.metadata.setFormat("numberOfChannels",e.mp4ChannelConfig.length),!this.options.duration)return!0;this.calculateEofDuration=!0}return!1}async parseCrc(){return this.crc=await this.tokenizer.readNumber(Ko),this.offset+=2,this.skipSideInformation()}async skipSideInformation(){if(this.audioFrameHeader){const e=this.audioFrameHeader.calculateSideInfoLength();if(null!==e)return await this.tokenizer.readToken(new cl(e)),this.offset+=e,void await this.readXtraInfoHeader()}}async readXtraInfoHeader(){const e=await this.tokenizer.readToken(dV);switch(this.offset+=dV.len,e){case"Info":return this.metadata.setFormat("codecProfile","CBR"),this.readXingInfoHeader();case"Xing":{const e=await this.readXingInfoHeader();if(null!==e.vbrScale){const n=(t=e.vbrScale,`V${Math.floor((100-t)/10)}`);this.metadata.setFormat("codecProfile",n)}return null}case"Xtra":break;case"LAME":{const e=await this.tokenizer.readToken(gV);if(null!==this.frame_size&&this.frame_size>=this.offset+gV.len)return this.offset+=gV.len,this.metadata.setFormat("tool",`LAME ${e}`),await this.skipFrameData(this.frame_size-this.offset),null;this.metadata.addWarning("Corrupt LAME header");break}}var t;const n=this.frame_size-this.offset;return n<0?this.metadata.addWarning(`Frame ${this.frameCount}corrupt: negative frameDataLeft`):await this.skipFrameData(n),null}async readXingInfoHeader(){const e=this.tokenizer.position,t=await async function(e){const t=await e.readToken(pV),n={numFrames:null,streamSize:null,vbrScale:null};if(t.frames&&(n.numFrames=await e.readToken(jo)),t.bytes&&(n.streamSize=await e.readToken(jo)),t.toc&&(n.toc=new Uint8Array(100),await e.readBuffer(n.toc)),t.vbrScale&&(n.vbrScale=await e.readToken(jo)),"LAME"===await e.peekToken(new ul(4,"ascii"))){await e.ignore(4),n.lame={version:await e.readToken(new ul(5,"ascii"))};const t=n.lame.version.match(/\d+.\d+/g);if(null!==t){const i=t[0].split(".").map(e=>Number.parseInt(e,10));i[0]>=3&&i[1]>=90&&(n.lame.extended=await e.readToken(hV))}}return n}(this.tokenizer);if(this.offset+=this.tokenizer.position-e,t.lame&&(this.metadata.setFormat("tool",`LAME ${eh(t.lame.version)}`),t.lame.extended&&(this.metadata.setFormat("trackPeakLevel",t.lame.extended.track_peak),t.lame.extended.track_gain&&this.metadata.setFormat("trackGain",t.lame.extended.track_gain.adjustment),t.lame.extended.album_gain&&this.metadata.setFormat("albumGain",t.lame.extended.album_gain.adjustment),this.metadata.setFormat("duration",t.lame.extended.music_length/1e3))),t.streamSize&&this.audioFrameHeader&&null!==t.numFrames){const e=this.audioFrameHeader.calcDuration(t.numFrames);return this.metadata.setFormat("duration",e),fV("Get duration from Xing header: %s",this.metadata.format.duration),t}const n=this.frame_size-this.offset;return await this.skipFrameData(n),t}async skipFrameData(e){if(e<0)throw new mV("frame-data-left cannot be negative");await this.tokenizer.ignore(e),this.countSkipFrameData+=e}areAllSame(e){const t=e[0];return e.every(e=>e===t)}}});class SV{static fromBin(e,t=0){return new SV(SV.decode(e,t))}static decode(e,t=0){const n=new DataView(e.buffer,t);return`${n.getUint32(0,!0).toString(16)}-${n.getUint16(4,!0).toString(16)}-${n.getUint16(6,!0).toString(16)}-${n.getUint16(8).toString(16)}-${iu(e.slice(t+10,t+16))}`.toUpperCase()}static decodeMediaType(e){switch(e.str){case SV.AudioMedia.str:return"audio";case SV.VideoMedia.str:return"video";case SV.CommandMedia.str:return"command";case SV.Degradable_JPEG_Media.str:return"degradable-jpeg";case SV.FileTransferMedia.str:return"file-transfer";case SV.BinaryMedia.str:return"binary"}}static encode(e){const t=new Uint8Array(16),n=new DataView(t.buffer);return n.setUint32(0,Number.parseInt(e.slice(0,8),16),!0),n.setUint16(4,Number.parseInt(e.slice(9,13),16),!0),n.setUint16(6,Number.parseInt(e.slice(14,18),16),!0),t.set(au(e.slice(19,23)),8),t.set(au(e.slice(24)),10),t}constructor(e){this.str=e}equals(e){return this.str===e.str}toBin(){return SV.encode(this.str)}}function xV(e){return eh($u(e,"utf-16le"))}SV.HeaderObject=new SV("75B22630-668E-11CF-A6D9-00AA0062CE6C"),SV.DataObject=new SV("75B22636-668E-11CF-A6D9-00AA0062CE6C"),SV.SimpleIndexObject=new SV("33000890-E5B1-11CF-89F4-00A0C90349CB"),SV.IndexObject=new SV("D6E229D3-35DA-11D1-9034-00A0C90349BE"),SV.MediaObjectIndexObject=new SV("FEB103F8-12AD-4C64-840F-2A1D2F7AD48C"),SV.TimecodeIndexObject=new SV("3CB73FD0-0C4A-4803-953D-EDF7B6228F0C"),SV.FilePropertiesObject=new SV("8CABDCA1-A947-11CF-8EE4-00C00C205365"),SV.StreamPropertiesObject=new SV("B7DC0791-A9B7-11CF-8EE6-00C00C205365"),SV.HeaderExtensionObject=new SV("5FBF03B5-A92E-11CF-8EE3-00C00C205365"),SV.CodecListObject=new SV("86D15240-311D-11D0-A3A4-00A0C90348F6"),SV.ScriptCommandObject=new SV("1EFB1A30-0B62-11D0-A39B-00A0C90348F6"),SV.MarkerObject=new SV("F487CD01-A951-11CF-8EE6-00C00C205365"),SV.BitrateMutualExclusionObject=new SV("D6E229DC-35DA-11D1-9034-00A0C90349BE"),SV.ErrorCorrectionObject=new SV("75B22635-668E-11CF-A6D9-00AA0062CE6C"),SV.ContentDescriptionObject=new SV("75B22633-668E-11CF-A6D9-00AA0062CE6C"),SV.ExtendedContentDescriptionObject=new SV("D2D0A440-E307-11D2-97F0-00A0C95EA850"),SV.ContentBrandingObject=new SV("2211B3FA-BD23-11D2-B4B7-00A0C955FC6E"),SV.StreamBitratePropertiesObject=new SV("7BF875CE-468D-11D1-8D82-006097C9A2B2"),SV.ContentEncryptionObject=new SV("2211B3FB-BD23-11D2-B4B7-00A0C955FC6E"),SV.ExtendedContentEncryptionObject=new SV("298AE614-2622-4C17-B935-DAE07EE9289C"),SV.DigitalSignatureObject=new SV("2211B3FC-BD23-11D2-B4B7-00A0C955FC6E"),SV.PaddingObject=new SV("1806D474-CADF-4509-A4BA-9AABCB96AAE8"),SV.ExtendedStreamPropertiesObject=new SV("14E6A5CB-C672-4332-8399-A96952065B5A"),SV.AdvancedMutualExclusionObject=new SV("A08649CF-4775-4670-8A16-6E35357566CD"),SV.GroupMutualExclusionObject=new SV("D1465A40-5A79-4338-B71B-E36B8FD6C249"),SV.StreamPrioritizationObject=new SV("D4FED15B-88D3-454F-81F0-ED5C45999E24"),SV.BandwidthSharingObject=new SV("A69609E6-517B-11D2-B6AF-00C04FD908E9"),SV.LanguageListObject=new SV("7C4346A9-EFE0-4BFC-B229-393EDE415C85"),SV.MetadataObject=new SV("C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA"),SV.MetadataLibraryObject=new SV("44231C94-9498-49D1-A141-1D134E457054"),SV.IndexParametersObject=new SV("D6E229DF-35DA-11D1-9034-00A0C90349BE"),SV.MediaObjectIndexParametersObject=new SV("6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7"),SV.TimecodeIndexParametersObject=new SV("F55E496D-9797-4B5D-8C8B-604DFE9BFB24"),SV.CompatibilityObject=new SV("26F18B5D-4584-47EC-9F5F-0E651F0452C9"),SV.AdvancedContentEncryptionObject=new SV("43058533-6981-49E6-9B74-AD12CB86D58C"),SV.AudioMedia=new SV("F8699E40-5B4D-11CF-A8FD-00805F5C442B"),SV.VideoMedia=new SV("BC19EFC0-5B4D-11CF-A8FD-00805F5C442B"),SV.CommandMedia=new SV("59DACFC0-59E6-11D0-A3AC-00A0C90348F6"),SV.JFIF_Media=new SV("B61BE100-5B4E-11CF-A8FD-00805F5C442B"),SV.Degradable_JPEG_Media=new SV("35907DE0-E415-11CF-A917-00805F5C442B"),SV.FileTransferMedia=new SV("91BD222C-F21C-497A-8B6D-5AA86BFC0185"),SV.BinaryMedia=new SV("3AFB65E2-47EF-40F2-AC2C-70A90D71D343"),SV.ASF_Index_Placeholder_Object=new SV("D9AADE20-7C17-4F9C-BC28-8555DD98E2A2");const IV=[xV,CV,function(e,t=0){return 1===TV(e,t)},function(e,t=0){return Go.get(e,t)},function(e,t=0){return Zo.get(e,t)},TV,CV];function CV(e){return new Uint8Array(e)}function TV(e,t=0){return Oo.get(e,t)}class _V extends(Ju("ASF")){}const BV={len:30,get:(e,t)=>({objectId:SV.fromBin(e,t),objectSize:Number(Zo.get(e,t+16)),numberOfHeaderObjects:Go.get(e,t+24)})},UV={len:24,get:(e,t)=>({objectId:SV.fromBin(e,t),objectSize:Number(Zo.get(e,t+16))})};class MV{constructor(e){this.len=Number(e.objectSize)-UV.len}postProcessTag(e,t,n,i){if("WM/Picture"===t)e.push({id:t,value:qV.fromBuffer(i)});else{const r=function(e){return IV[e]}(n);if(!r)throw new _V(`unexpected value headerType: ${n}`);e.push({id:t,value:r(i)})}}}class RV extends MV{get(e,t){return null}}class LV extends MV{get(e,t){return{fileId:SV.fromBin(e,t),fileSize:Zo.get(e,t+16),creationDate:Zo.get(e,t+24),dataPacketsCount:Zo.get(e,t+32),playDuration:Zo.get(e,t+40),sendDuration:Zo.get(e,t+48),preroll:Zo.get(e,t+56),flags:{broadcast:Wu(e,t+64,24),seekable:Wu(e,t+64,25)},minimumDataPacketSize:Go.get(e,t+68),maximumDataPacketSize:Go.get(e,t+72),maximumBitrate:Go.get(e,t+76)}}}LV.guid=SV.FilePropertiesObject;class NV extends MV{get(e,t){return{streamType:SV.decodeMediaType(SV.fromBin(e,t)),errorCorrectionType:SV.fromBin(e,t+8)}}}NV.guid=SV.StreamPropertiesObject;class DV{constructor(){this.len=22}get(e,t){const n=new DataView(e.buffer,t);return{reserved1:SV.fromBin(e,t),reserved2:n.getUint16(16,!0),extensionDataSize:n.getUint16(18,!0)}}}DV.guid=SV.HeaderExtensionObject;const PV={len:20,get:(e,t)=>({entryCount:new DataView(e.buffer,t).getUint16(16,!0)})};async function FV(e){const t=await e.readNumber(Oo);return(await e.readToken(new ul(2*t,"utf-16le"))).replace("\0","")}async function OV(e){const t=await e.readToken(PV),n=[];for(let i=0;i<t.entryCount;++i)n.push(await QV(e));return n}async function zV(e){const t=await e.readNumber(Oo),n=new Uint8Array(t);return await e.readBuffer(n),n}async function QV(e){const t=await e.readNumber(Oo);return{type:{videoCodec:!(1&~t),audioCodec:!(2&~t)},codecName:await FV(e),description:await FV(e),information:await zV(e)}}class VV extends MV{get(e,t){const n=[],i=new DataView(e.buffer,t);let r=10;for(let a=0;a<VV.contentDescTags.length;++a){const s=i.getUint16(2*a,!0);if(s>0){const i=VV.contentDescTags[a],A=r+s;n.push({id:i,value:xV(e.slice(t+r,t+A))}),r=A}}return n}}VV.guid=SV.ContentDescriptionObject,VV.contentDescTags=["Title","Author","Copyright","Description","Rating"];class GV extends MV{get(e,t){const n=[],i=new DataView(e.buffer,t),r=i.getUint16(0,!0);let a=2;for(let s=0;s<r;s+=1){const r=i.getUint16(a,!0);a+=2;const s=xV(e.slice(t+a,t+a+r));a+=r;const A=i.getUint16(a,!0);a+=2;const o=i.getUint16(a,!0);a+=2;const l=e.slice(t+a,t+a+o);a+=o,this.postProcessTag(n,s,A,l)}return n}}GV.guid=SV.ExtendedContentDescriptionObject;class jV extends MV{get(e,t){const n=new DataView(e.buffer,t);return{startTime:Zo.get(e,t),endTime:Zo.get(e,t+8),dataBitrate:n.getInt32(12,!0),bufferSize:n.getInt32(16,!0),initialBufferFullness:n.getInt32(20,!0),alternateDataBitrate:n.getInt32(24,!0),alternateBufferSize:n.getInt32(28,!0),alternateInitialBufferFullness:n.getInt32(32,!0),maximumObjectSize:n.getInt32(36,!0),flags:{reliableFlag:Wu(e,t+40,0),seekableFlag:Wu(e,t+40,1),resendLiveCleanpointsFlag:Wu(e,t+40,2)},streamNumber:n.getInt16(42,!0),streamLanguageId:n.getInt16(44,!0),averageTimePerFrame:n.getInt32(52,!0),streamNameCount:n.getInt32(54,!0),payloadExtensionSystems:n.getInt32(56,!0),streamNames:[],streamPropertiesObject:null}}}jV.guid=SV.ExtendedStreamPropertiesObject;class YV extends MV{get(e,t){const n=[],i=new DataView(e.buffer,t),r=i.getUint16(0,!0);let a=2;for(let s=0;s<r;s+=1){a+=4;const r=i.getUint16(a,!0);a+=2;const s=i.getUint16(a,!0);a+=2;const A=i.getUint32(a,!0);a+=4;const o=xV(e.slice(t+a,t+a+r));a+=r;const l=e.slice(t+a,t+a+A);a+=A,this.postProcessTag(n,o,s,l)}return n}}YV.guid=SV.MetadataObject;class KV extends YV{}KV.guid=SV.MetadataLibraryObject;class qV{static fromBuffer(e){return new qV(e.length).get(e,0)}constructor(e){this.len=e}get(e,t){const n=new DataView(e.buffer,t),i=n.getUint8(0),r=n.getInt32(1,!0);let a=5;for(;0!==n.getUint16(a);)a+=2;const s=new ul(a-5,"utf-16le").get(e,5);for(;0!==n.getUint16(a);)a+=2;const A=new ul(a-5,"utf-16le").get(e,5);return{type:ih[i],format:s,description:A,size:r,data:e.slice(a+4)}}}const HV=Ru("music-metadata:parser:ASF");var JV=Object.freeze({__proto__:null,AsfParser:class extends id{async parse(){const e=await this.tokenizer.readToken(BV);if(!e.objectId.equals(SV.HeaderObject))throw new _V(`expected asf header; but was not found; got: ${e.objectId.str}`);try{await this.parseObjectHeader(e.numberOfHeaderObjects)}catch(e){HV("Error while parsing ASF: %s",e)}}async parseObjectHeader(e){let t;do{const e=await this.tokenizer.readToken(UV);switch(HV("header GUID=%s",e.objectId.str),e.objectId.str){case LV.guid.str:{const t=await this.tokenizer.readToken(new LV(e));this.metadata.setFormat("duration",Number(t.playDuration/BigInt(1e3))/1e4-Number(t.preroll)/1e3),this.metadata.setFormat("bitrate",t.maximumBitrate);break}case NV.guid.str:{const t=await this.tokenizer.readToken(new NV(e));this.metadata.setFormat("container",`ASF/${t.streamType}`);break}case DV.guid.str:{const e=await this.tokenizer.readToken(new DV);await this.parseExtensionObject(e.extensionDataSize);break}case VV.guid.str:t=await this.tokenizer.readToken(new VV(e)),await this.addTags(t);break;case GV.guid.str:t=await this.tokenizer.readToken(new GV(e)),await this.addTags(t);break;case SV.CodecListObject.str:{const e=await OV(this.tokenizer);e.forEach(e=>{this.metadata.addStreamInfo({type:e.type.videoCodec?Nu:Du,codecName:e.codecName})});const t=e.filter(e=>e.type.audioCodec).map(e=>e.codecName).join("/");this.metadata.setFormat("codec",t);break}case SV.StreamBitratePropertiesObject.str:await this.tokenizer.ignore(e.objectSize-UV.len);break;case SV.PaddingObject.str:HV("Padding: %s bytes",e.objectSize-UV.len),await this.tokenizer.ignore(e.objectSize-UV.len);break;default:this.metadata.addWarning(`Ignore ASF-Object-GUID: ${e.objectId.str}`),HV("Ignore ASF-Object-GUID: %s",e.objectId.str),await this.tokenizer.readToken(new RV(e))}}while(--e)}async addTags(e){await Promise.all(e.map(({id:e,value:t})=>this.metadata.addTag("asf",e,t)))}async parseExtensionObject(e){do{const t=await this.tokenizer.readToken(UV),n=t.objectSize-UV.len;switch(t.objectId.str){case jV.guid.str:await this.tokenizer.readToken(new jV(t));break;case YV.guid.str:{const e=await this.tokenizer.readToken(new YV(t));await this.addTags(e);break}case KV.guid.str:{const e=await this.tokenizer.readToken(new KV(t));await this.addTags(e);break}case SV.PaddingObject.str:case SV.CompatibilityObject.str:case SV.ASF_Index_Placeholder_Object.str:await this.tokenizer.ignore(n);break;default:this.metadata.addWarning(`Ignore ASF-Object-GUID: ${t.objectId.str}`),await this.tokenizer.readToken(new RV(t))}e-=t.objectSize}while(e>0)}}});const WV={len:12,get:(e,t)=>({chunkID:ad.get(e,t),chunkSize:tl.get(e,t+4)})},XV=Ru("music-metadata:parser:aiff");class ZV extends(Ju("DSDIFF")){}var $V=Object.freeze({__proto__:null,DsdiffContentParseError:ZV,DsdiffParser:class extends id{async parse(){const e=await this.tokenizer.readToken(WV);if("FRM8"!==e.chunkID)throw new ZV("Unexpected chunk-ID");this.metadata.setAudioOnly();const t=(await this.tokenizer.readToken(ad)).trim();if("DSD"===t)return this.metadata.setFormat("container",`DSDIFF/${t}`),this.metadata.setFormat("lossless",!0),this.readFmt8Chunks(e.chunkSize-BigInt(ad.len));throw new ZV(`Unsupported DSDIFF type: ${t}`)}async readFmt8Chunks(e){for(;e>=WV.len;){const t=await this.tokenizer.readToken(WV);XV(`Chunk id=${t.chunkID}`),await this.readData(t),e-=BigInt(WV.len)+t.chunkSize}}async readData(e){XV(`Reading data of chunk[ID=${e.chunkID}, size=${e.chunkSize}]`);const t=this.tokenizer.position;switch(e.chunkID.trim()){case"FVER":{const e=await this.tokenizer.readToken(Go);XV(`DSDIFF version=${e}`);break}case"PROP":if("SND "!==await this.tokenizer.readToken(ad))throw new ZV("Unexpected PROP-chunk ID");await this.handleSoundPropertyChunks(e.chunkSize-BigInt(ad.len));break;case"ID3":{const t=Lo(await this.tokenizer.readToken(new cl(Number(e.chunkSize))));await(new AV).parse(this.metadata,t,this.options);break}case"DSD":this.metadata.format.numberOfChannels&&this.metadata.setFormat("numberOfSamples",Number(e.chunkSize*BigInt(8)/BigInt(this.metadata.format.numberOfChannels))),this.metadata.format.numberOfSamples&&this.metadata.format.sampleRate&&this.metadata.setFormat("duration",this.metadata.format.numberOfSamples/this.metadata.format.sampleRate);break;default:XV(`Ignore chunk[ID=${e.chunkID}, size=${e.chunkSize}]`)}const n=e.chunkSize-BigInt(this.tokenizer.position-t);n>0&&(XV(`After Parsing chunk, remaining ${n} bytes`),await this.tokenizer.ignore(Number(n)))}async handleSoundPropertyChunks(e){for(XV(`Parsing sound-property-chunks, remainingSize=${e}`);e>0;){const t=await this.tokenizer.readToken(WV);XV(`Sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`);const n=this.tokenizer.position;switch(t.chunkID.trim()){case"FS":{const e=await this.tokenizer.readToken(jo);this.metadata.setFormat("sampleRate",e);break}case"CHNL":{const e=await this.tokenizer.readToken(zo);this.metadata.setFormat("numberOfChannels",e),await this.handleChannelChunks(t.chunkSize-BigInt(zo.len));break}case"CMPR":{const e=(await this.tokenizer.readToken(ad)).trim(),t=await this.tokenizer.readToken(Fo),n=await this.tokenizer.readToken(new ul(t,"ascii"));"DSD"===e&&(this.metadata.setFormat("lossless",!0),this.metadata.setFormat("bitsPerSample",1)),this.metadata.setFormat("codec",`${e} (${n})`);break}case"ABSS":{const e=await this.tokenizer.readToken(zo),t=await this.tokenizer.readToken(Fo),n=await this.tokenizer.readToken(Fo),i=await this.tokenizer.readToken(jo);XV(`ABSS ${e}:${t}:${n}.${i}`);break}case"LSCO":{const e=await this.tokenizer.readToken(zo);XV(`LSCO lsConfig=${e}`);break}default:XV(`Unknown sound-property-chunk[ID=${t.chunkID}, size=${t.chunkSize}]`),await this.tokenizer.ignore(Number(t.chunkSize))}const i=t.chunkSize-BigInt(this.tokenizer.position-n);i>0&&(XV(`After Parsing sound-property-chunk ${t.chunkSize}, remaining ${i} bytes`),await this.tokenizer.ignore(Number(i))),e-=BigInt(WV.len)+t.chunkSize,XV(`Parsing sound-property-chunks, remainingSize=${e}`)}if(this.metadata.format.lossless&&this.metadata.format.sampleRate&&this.metadata.format.numberOfChannels&&this.metadata.format.bitsPerSample){const e=this.metadata.format.sampleRate*this.metadata.format.numberOfChannels*this.metadata.format.bitsPerSample;this.metadata.setFormat("bitrate",e)}}async handleChannelChunks(e){XV(`Parsing channel-chunks, remainingSize=${e}`);const t=[];for(;e>=ad.len;){const n=await this.tokenizer.readToken(ad);XV(`Channel[ID=${n}]`),t.push(n),e-=BigInt(ad.len)}return XV(`Channels: ${t.join(", ")}`),t}}});const eG={NONE:"not compressed\tPCM\tApple Computer",sowt:"PCM (byte swapped)",fl32:"32-bit floating point IEEE 32-bit float",fl64:"64-bit floating point IEEE 64-bit float\tApple Computer",alaw:"ALaw 2:1\t8-bit ITU-T G.711 A-law",ulaw:"µLaw 2:1\t8-bit ITU-T G.711 µ-law\tApple Computer",ULAW:"CCITT G.711 u-law 8-bit ITU-T G.711 µ-law",ALAW:"CCITT G.711 A-law 8-bit ITU-T G.711 A-law",FL32:"Float 32\tIEEE 32-bit float "};class tG extends(Ju("AIFF")){}class nG{constructor(e,t){this.isAifc=t;const n=t?22:18;if(e.chunkSize<n)throw new tG(`COMMON CHUNK size should always be at least ${n}`);this.len=e.chunkSize}get(e,t){const n=zo.get(e,t+8)-16398,i=zo.get(e,t+8+2),r={numChannels:zo.get(e,t),numSampleFrames:jo.get(e,t+2),sampleSize:zo.get(e,t+6),sampleRate:n<0?i>>Math.abs(n):i<<n};if(this.isAifc){if(r.compressionType=ad.get(e,t+18),this.len>22){const n=Fo.get(e,t+22);if(n>0){if(23+n+(n+1)%2!==this.len)throw new tG("Illegal pstring length");r.compressionName=new ul(n,"latin1").get(e,t+23)}else r.compressionName=void 0}}else r.compressionName="PCM";return r}}const iG={len:8,get:(e,t)=>({chunkID:ad.get(e,t),chunkSize:Number(BigInt(jo.get(e,t+4)))})},rG=Ru("music-metadata:parser:aiff");var aG=Object.freeze({__proto__:null,AIFFParser:class extends id{constructor(){super(...arguments),this.isCompressed=null}async parse(){if("FORM"!==(await this.tokenizer.readToken(iG)).chunkID)throw new tG("Invalid Chunk-ID, expected 'FORM'");const e=await this.tokenizer.readToken(ad);switch(e){case"AIFF":this.metadata.setFormat("container",e),this.isCompressed=!1;break;case"AIFC":this.metadata.setFormat("container","AIFF-C"),this.isCompressed=!0;break;default:throw new tG(`Unsupported AIFF type: ${e}`)}this.metadata.setFormat("lossless",!this.isCompressed),this.metadata.setAudioOnly();try{for(;!this.tokenizer.fileInfo.size||this.tokenizer.fileInfo.size-this.tokenizer.position>=iG.len;){rG(`Reading AIFF chunk at offset=${this.tokenizer.position}`);const e=await this.tokenizer.readToken(iG),t=2*Math.round(e.chunkSize/2),n=await this.readData(e);await this.tokenizer.ignore(t-n)}}catch(e){if(!(e instanceof So))throw e;rG("End-of-stream")}}async readData(e){switch(e.chunkID){case"COMM":{if(null===this.isCompressed)throw new tG("Failed to parse AIFF.COMM chunk when compression type is unknown");const t=await this.tokenizer.readToken(new nG(e,this.isCompressed));return this.metadata.setFormat("bitsPerSample",t.sampleSize),this.metadata.setFormat("sampleRate",t.sampleRate),this.metadata.setFormat("numberOfChannels",t.numChannels),this.metadata.setFormat("numberOfSamples",t.numSampleFrames),this.metadata.setFormat("duration",t.numSampleFrames/t.sampleRate),(t.compressionName||t.compressionType)&&this.metadata.setFormat("codec",t.compressionName??eG[t.compressionType]),e.chunkSize}case"ID3 ":{const t=Lo(await this.tokenizer.readToken(new cl(e.chunkSize)));return await(new AV).parse(this.metadata,t,this.options),e.chunkSize}case"SSND":return this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*e.chunkSize/this.metadata.format.duration),0;case"NAME":case"AUTH":case"(c) ":case"ANNO":return this.readTextChunk(e);default:return rG(`Ignore chunk id=${e.chunkID}, size=${e.chunkSize}`),0}}async readTextChunk(e){const t=(await this.tokenizer.readToken(new ul(e.chunkSize,"ascii"))).split("\0").map(e=>e.trim()).filter(e=>e?.length);return await Promise.all(t.map(t=>this.metadata.addTag("AIFF",e.chunkID,t))),e.chunkSize}}});const sG={len:12,get:(e,t)=>({id:ad.get(e,t),size:Zo.get(e,t+4)})},AG={len:16,get:(e,t)=>({fileSize:$o.get(e,t),metadataPointer:$o.get(e,t+8)})},oG={len:40,get:(e,t)=>({formatVersion:Xo.get(e,t),formatID:Xo.get(e,t+4),channelType:Xo.get(e,t+8),channelNum:Xo.get(e,t+12),samplingFrequency:Xo.get(e,t+16),bitsPerSample:Xo.get(e,t+20),sampleCount:$o.get(e,t+24),blockSizePerChannel:Xo.get(e,t+32)})},lG=Ru("music-metadata:parser:DSF");class cG extends(Ju("DSD")){}var uG=Object.freeze({__proto__:null,DsdContentParseError:cG,DsfParser:class extends cV{async postId3v2Parse(){const e=this.tokenizer.position,t=await this.tokenizer.readToken(sG);if("DSD "!==t.id)throw new cG("Invalid chunk signature");this.metadata.setFormat("container","DSF"),this.metadata.setFormat("lossless",!0),this.metadata.setAudioOnly();const n=await this.tokenizer.readToken(AG);if(n.metadataPointer!==BigInt(0))return lG(`expect ID3v2 at offset=${n.metadataPointer}`),await this.parseChunks(n.fileSize-t.size),await this.tokenizer.ignore(Number(n.metadataPointer)-this.tokenizer.position-e),(new AV).parse(this.metadata,this.tokenizer,this.options);lG("No ID3v2 tag present")}async parseChunks(e){for(;e>=sG.len;){const t=await this.tokenizer.readToken(sG);if(lG(`Parsing chunk name=${t.id} size=${t.size}`),"fmt "===t.id){const e=await this.tokenizer.readToken(oG);this.metadata.setFormat("numberOfChannels",e.channelNum),this.metadata.setFormat("sampleRate",e.samplingFrequency),this.metadata.setFormat("bitsPerSample",e.bitsPerSample),this.metadata.setFormat("numberOfSamples",e.sampleCount),this.metadata.setFormat("duration",Number(e.sampleCount)/e.samplingFrequency);const t=e.bitsPerSample*e.samplingFrequency*e.channelNum;return void this.metadata.setFormat("bitrate",t)}this.tokenizer.ignore(Number(t.size)-sG.len),e-=t.size}}}});class hG{static fromBase64(e){return hG.fromBuffer(Uint8Array.from(atob(e),e=>e.charCodeAt(0)))}static fromBuffer(e){return new hG(e.length).get(e,0)}constructor(e){this.len=e}get(e,t){const n=ih[jo.get(e,t)];t+=4;const i=jo.get(e,t);t+=4;const r=new ul(i,"utf-8").get(e,t);t+=i;const a=jo.get(e,t);t+=4;const s=new ul(a,"utf-8").get(e,t);t+=a;const A=jo.get(e,t);t+=4;const o=jo.get(e,t);t+=4;const l=jo.get(e,t);t+=4;const c=jo.get(e,t);t+=4;const u=jo.get(e,t);t+=4;return{type:n,format:r,description:s,width:A,height:o,colour_depth:l,indexed_color:c,data:Uint8Array.from(e.slice(t,t+u))}}}const dG=7,gG=(e,t)=>({packetType:Fo.get(e,t),vorbis:new ul(6,"ascii").get(e,t+1)}),pG=(e,t)=>({version:Go.get(e,t+0),channelMode:Fo.get(e,t+4),sampleRate:Go.get(e,t+5),bitrateMax:Go.get(e,t+9),bitrateNominal:Go.get(e,t+13),bitrateMin:Go.get(e,t+17)});class fG{constructor(e,t){this.data=e,this.offset=t}readInt32(){const e=Go.get(this.data,this.offset);return this.offset+=4,e}readStringUtf8(){const e=this.readInt32(),t=new TextDecoder("utf-8").decode(this.data.subarray(this.offset,this.offset+e));return this.offset+=e,t}parseUserComment(){const e=this.offset,t=this.readStringUtf8(),n=t.indexOf("=");return{key:t.slice(0,n).toUpperCase(),value:t.slice(n+1),len:this.offset-e}}}const mG=Ru("music-metadata:parser:ogg:vorbis1");class bG extends(Ju("Vorbis")){}class wG{constructor(e,t){this.pageSegments=[],this.metadata=e,this.options=t}async parsePage(e,t){if(this.lastPageHeader=e,e.headerType.firstPage)this.parseFirstPage(e,t);else{if(e.headerType.continued){if(0===this.pageSegments.length)throw new bG("Cannot continue on previous page");this.pageSegments.push(t)}if(e.headerType.lastPage||!e.headerType.continued){if(this.pageSegments.length>0){const e=wG.mergeUint8Arrays(this.pageSegments);await this.parseFullPage(e)}this.pageSegments=e.headerType.lastPage?[]:[t]}}}static mergeUint8Arrays(e){const t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t);return e.forEach((e,t,i)=>{const r=i.slice(0,t).reduce((e,t)=>e+t.length,0);n.set(e,r)}),n}async flush(){await this.parseFullPage(wG.mergeUint8Arrays(this.pageSegments))}async parseUserComment(e,t){const n=new fG(e,t).parseUserComment();return await this.addTag(n.key,n.value),n.len}async addTag(e,t){if("METADATA_BLOCK_PICTURE"===e&&"string"==typeof t){if(this.options.skipCovers)return void mG("Ignore picture");t=hG.fromBase64(t),mG(`Push picture: id=${e}, format=${t.format}`)}else mG(`Push tag: id=${e}, value=${t}`);await this.metadata.addTag("vorbis",e,t)}calculateDuration(){this.lastPageHeader&&this.metadata.format.sampleRate&&this.lastPageHeader.absoluteGranulePosition>=0&&(this.metadata.setFormat("numberOfSamples",this.lastPageHeader.absoluteGranulePosition),this.metadata.setFormat("duration",this.lastPageHeader.absoluteGranulePosition/this.metadata.format.sampleRate))}parseFirstPage(e,t){this.metadata.setFormat("codec","Vorbis I"),this.metadata.setFormat("hasAudio",!0),mG("Parse first page");const n=gG(t,0);if("vorbis"!==n.vorbis)throw new bG("Metadata does not look like Vorbis");if(1!==n.packetType)throw new bG("First Ogg page should be type 1: the identification header");{const e=pG(t,dG);this.metadata.setFormat("sampleRate",e.sampleRate),this.metadata.setFormat("bitrate",e.bitrateNominal),this.metadata.setFormat("numberOfChannels",e.channelMode),mG("sample-rate=%s[hz], bitrate=%s[b/s], channel-mode=%s",e.sampleRate,e.bitrateNominal,e.channelMode)}}async parseFullPage(e){const t=gG(e,0);if(mG("Parse full page: type=%s, byteLength=%s",t.packetType,e.byteLength),3===t.packetType)return this.parseUserCommentList(e,dG)}async parseUserCommentList(e,t){const n=Go.get(e,t);t+=4,t+=n;let i=Go.get(e,t);for(t+=4;i-- >0;)t+=await this.parseUserComment(e,t)}}const EG=Ru("music-metadata:parser:FLAC");class yG extends(Ju("FLAC")){}const vG=0,kG=1,SG=2,xG=3,IG=4,CG=5,TG=6;const _G={len:4,get:(e,t)=>({lastBlock:Wu(e,t,7),type:th(e,t,1,7),length:Vo.get(e,t+1)})},BG={len:34,get:(e,t)=>({minimumBlockSize:zo.get(e,t),maximumBlockSize:zo.get(e,t+2)/1e3,minimumFrameSize:Vo.get(e,t+4),maximumFrameSize:Vo.get(e,t+7),sampleRate:Vo.get(e,t+10)>>4,channels:th(e,t+12,4,3)+1,bitsPerSample:th(e,t+12,7,5)+1,totalSamples:th(e,t+13,4,36),fileMD5:new cl(16).get(e,t+18)})};var UG=Object.freeze({__proto__:null,FlacParser:class extends cV{constructor(){super(...arguments),this.vorbisParser=new wG(this.metadata,this.options),this.padding=0}async postId3v2Parse(){if("fLaC"!==(await this.tokenizer.readToken(ad)).toString())throw new yG("Invalid FLAC preamble");let e;this.metadata.setAudioOnly();do{e=await this.tokenizer.readToken(_G),await this.parseDataBlock(e)}while(!e.lastBlock);if(this.tokenizer.fileInfo.size&&this.metadata.format.duration){const e=this.tokenizer.fileInfo.size-this.tokenizer.position;this.metadata.setFormat("bitrate",8*e/this.metadata.format.duration)}}async parseDataBlock(e){switch(EG(`blockHeader type=${e.type}, length=${e.length}`),e.type){case vG:return this.parseBlockStreamInfo(e.length);case kG:this.padding+=e.length;break;case SG:case xG:break;case IG:return this.parseComment(e.length);case CG:break;case TG:return void await this.parsePicture(e.length);default:this.metadata.addWarning(`Unknown block type: ${e.type}`)}return this.tokenizer.ignore(e.length).then()}async parseBlockStreamInfo(e){if(e!==BG.len)throw new yG("Unexpected block-stream-info length");const t=await this.tokenizer.readToken(BG);this.metadata.setFormat("container","FLAC"),this.metadata.setFormat("codec","FLAC"),this.metadata.setFormat("lossless",!0),this.metadata.setFormat("numberOfChannels",t.channels),this.metadata.setFormat("bitsPerSample",t.bitsPerSample),this.metadata.setFormat("sampleRate",t.sampleRate),t.totalSamples>0&&this.metadata.setFormat("duration",t.totalSamples/t.sampleRate)}async parseComment(e){const t=await this.tokenizer.readToken(new cl(e)),n=new fG(t,0);n.readStringUtf8();const i=n.readInt32(),r=new Array(i);for(let e=0;e<i;e++)r[e]=n.parseUserComment();await Promise.all(r.map(e=>this.vorbisParser.addTag(e.key,e.value)))}async parsePicture(e){if(this.options.skipCovers)return this.tokenizer.ignore(e);const t=await this.tokenizer.readToken(new hG(e));this.vorbisParser.addTag("METADATA_BLOCK_PICTURE",t)}}});const MG=0,RG=1,LG=2,NG=3,DG=4,PG=5,FG={name:"dtd",container:{440786851:{name:"ebml",container:{17030:{name:"ebmlVersion",value:RG},17143:{name:"ebmlReadVersion",value:RG},17138:{name:"ebmlMaxIDWidth",value:RG},17139:{name:"ebmlMaxSizeWidth",value:RG},17026:{name:"docType",value:MG},17031:{name:"docTypeVersion",value:RG},17029:{name:"docTypeReadVersion",value:RG}}},408125543:{name:"segment",container:{290298740:{name:"seekHead",container:{19899:{name:"seek",multiple:!0,container:{21419:{name:"id",value:DG},21420:{name:"position",value:RG}}}}},357149030:{name:"info",container:{29604:{name:"uid",value:LG},29572:{name:"filename",value:MG},3979555:{name:"prevUID",value:LG},3965867:{name:"prevFilename",value:MG},4110627:{name:"nextUID",value:LG},4096955:{name:"nextFilename",value:MG},2807729:{name:"timecodeScale",value:RG},17545:{name:"duration",value:PG},17505:{name:"dateUTC",value:RG},31657:{name:"title",value:MG},19840:{name:"muxingApp",value:MG},22337:{name:"writingApp",value:MG}}},524531317:{name:"cluster",multiple:!0,container:{231:{name:"timecode",value:LG},22743:{name:"silentTracks ",multiple:!0},167:{name:"position",value:LG},171:{name:"prevSize",value:LG},160:{name:"blockGroup"},163:{name:"simpleBlock"}}},374648427:{name:"tracks",container:{174:{name:"entries",multiple:!0,container:{215:{name:"trackNumber",value:RG},29637:{name:"uid",value:LG},131:{name:"trackType",value:RG},185:{name:"flagEnabled",value:NG},136:{name:"flagDefault",value:NG},21930:{name:"flagForced",value:NG},156:{name:"flagLacing",value:NG},28135:{name:"minCache",value:RG},28136:{name:"maxCache",value:RG},2352003:{name:"defaultDuration",value:RG},2306383:{name:"timecodeScale",value:PG},21358:{name:"name",value:MG},2274716:{name:"language",value:MG},134:{name:"codecID",value:MG},25506:{name:"codecPrivate",value:DG},2459272:{name:"codecName",value:MG},3839639:{name:"codecSettings",value:MG},3883072:{name:"codecInfoUrl",value:MG},2536e3:{name:"codecDownloadUrl",value:MG},170:{name:"codecDecodeAll",value:NG},28587:{name:"trackOverlay",value:RG},224:{name:"video",container:{154:{name:"flagInterlaced",value:NG},21432:{name:"stereoMode",value:RG},176:{name:"pixelWidth",value:RG},186:{name:"pixelHeight",value:RG},21680:{name:"displayWidth",value:RG},21690:{name:"displayHeight",value:RG},21683:{name:"aspectRatioType",value:RG},3061028:{name:"colourSpace",value:RG},3126563:{name:"gammaValue",value:PG}}},225:{name:"audio",container:{181:{name:"samplingFrequency",value:PG},30901:{name:"outputSamplingFrequency",value:PG},159:{name:"channels",value:RG},148:{name:"channels",value:RG},32123:{name:"channelPositions",value:DG},25188:{name:"bitDepth",value:RG}}},28032:{name:"contentEncodings",container:{25152:{name:"contentEncoding",container:{20529:{name:"order",value:RG},20530:{name:"scope",value:NG},20531:{name:"type",value:RG},20532:{name:"contentEncoding",container:{16980:{name:"contentCompAlgo",value:RG},16981:{name:"contentCompSettings",value:DG}}},20533:{name:"contentEncoding",container:{18401:{name:"contentEncAlgo",value:RG},18402:{name:"contentEncKeyID",value:DG},18403:{name:"contentSignature ",value:DG},18404:{name:"ContentSigKeyID ",value:DG},18405:{name:"contentSigAlgo ",value:RG},18406:{name:"contentSigHashAlgo ",value:RG}}},25188:{name:"bitDepth",value:RG}}}}}}}}},475249515:{name:"cues",container:{187:{name:"cuePoint",container:{179:{name:"cueTime",value:LG},183:{name:"positions",container:{247:{name:"track",value:RG},241:{name:"clusterPosition",value:RG},21368:{name:"blockNumber",value:RG},234:{name:"codecState",value:RG},219:{name:"reference",container:{150:{name:"time",value:RG},151:{name:"cluster",value:RG},21343:{name:"number",value:RG},235:{name:"codecState",value:RG}}},240:{name:"relativePosition",value:RG}}}}}}},423732329:{name:"attachments",container:{24999:{name:"attachedFiles",multiple:!0,container:{18046:{name:"description",value:MG},18030:{name:"name",value:MG},18016:{name:"mimeType",value:MG},18012:{name:"data",value:DG},18094:{name:"uid",value:LG}}}}},272869232:{name:"chapters",container:{17849:{name:"editionEntry",container:{182:{name:"chapterAtom",container:{29636:{name:"uid",value:LG},145:{name:"timeStart",value:RG},146:{name:"timeEnd",value:LG},152:{name:"hidden",value:NG},17816:{name:"enabled",value:LG},143:{name:"track",container:{137:{name:"trackNumber",value:LG},128:{name:"display",container:{133:{name:"string",value:MG},17276:{name:"language ",value:MG},17278:{name:"country ",value:MG}}}}}}}}}}},307544935:{name:"tags",container:{29555:{name:"tag",multiple:!0,container:{25536:{name:"target",container:{25541:{name:"tagTrackUID",value:LG},25540:{name:"tagChapterUID",value:RG},25542:{name:"tagAttachmentUID",value:LG},25546:{name:"targetType",value:MG},26826:{name:"targetTypeValue",value:RG},25545:{name:"tagEditionUID",value:LG}}},26568:{name:"simpleTags",multiple:!0,container:{17827:{name:"name",value:MG},17543:{name:"string",value:MG},17541:{name:"binary",value:DG},17530:{name:"language",value:MG},17531:{name:"languageIETF",value:MG},17540:{name:"default",value:NG}}}}}}}}}}},OG=Ru("music-metadata:parser:ebml");class zG extends(Ju("EBML")){}const QG=0,VG=2,GG=3,jG=4,YG=5;class KG{constructor(e){this.padding=0,this.parserMap=new Map,this.ebmlMaxIDLength=4,this.ebmlMaxSizeLength=8,this.tokenizer=e,this.parserMap.set(RG,e=>this.readUint(e)),this.parserMap.set(MG,e=>this.readString(e)),this.parserMap.set(DG,e=>this.readBuffer(e)),this.parserMap.set(LG,async e=>this.readBuffer(e)),this.parserMap.set(NG,e=>this.readFlag(e)),this.parserMap.set(PG,e=>this.readFloat(e))}async iterate(e,t,n){return this.parseContainer(HG(e),t,n)}async parseContainer(e,t,n){const i={};for(;this.tokenizer.position<t;){let r;const a=this.tokenizer.position;try{r=await this.readElement()}catch(e){if(e instanceof So)break;throw e}const s=e.container[r.id];if(s){switch(n.startNext(s)){case QG:if(r.id,OG(`Read element: name=${JG(s)}{id=0x${r.id.toString(16)}, container=${!!s.container}} at position=${a}`),s.container){const e=await this.parseContainer(s,r.len>=0?this.tokenizer.position+r.len:-1,n);s.multiple?(i[s.name]||(i[s.name]=[]),i[s.name].push(e)):i[s.name]=e,await n.elementValue(s,e,a)}else{const e=this.parserMap.get(s.value);if("function"==typeof e){const t=await e(r);i[s.name]=t,await n.elementValue(s,t,a)}}break;case YG:OG(`Go to next element: name=${JG(s)}, element.id=0x${r.id}, container=${!!s.container} at position=${a}`);break;case VG:OG(`Ignore element: name=${JG(s)}, element.id=0x${r.id}, container=${!!s.container} at position=${a}`),await this.tokenizer.ignore(r.len);break;case GG:OG(`Ignore remaining container, at: name=${JG(s)}, element.id=0x${r.id}, container=${!!s.container} at position=${a}`),await this.tokenizer.ignore(t-this.tokenizer.position);break;case jG:return OG(`Terminate parsing at element: name=${JG(s)}, element.id=0x${r.id}, container=${!!s.container} at position=${a}`),i}}else if(236===r.id)this.padding+=r.len,await this.tokenizer.ignore(r.len);else OG(`parseEbml: parent=${JG(e)}, unknown child: id=${r.id.toString(16)} at position=${a}`),this.padding+=r.len,await this.tokenizer.ignore(r.len)}return i}async readVintData(e){const t=await this.tokenizer.peekNumber(Fo);let n=128,i=1;for(;0===(t&n);){if(i>e)throw new zG("VINT value exceeding maximum size");++i,n>>=1}const r=new Uint8Array(i);return await this.tokenizer.readBuffer(r),r}async readElement(){const e=await this.readVintData(this.ebmlMaxIDLength),t=await this.readVintData(this.ebmlMaxSizeLength);return t[0]^=128>>t.length-1,{id:qG(e,e.length),len:qG(t,t.length)}}async readFloat(e){switch(e.len){case 0:return 0;case 4:return this.tokenizer.readNumber(rl);case 8:case 10:return this.tokenizer.readNumber(sl);default:throw new zG(`Invalid IEEE-754 float length: ${e.len}`)}}async readFlag(e){return 1===await this.readUint(e)}async readUint(e){return qG(await this.readBuffer(e),e.len)}async readString(e){return(await this.tokenizer.readToken(new ul(e.len,"utf-8"))).replace(/\x00.*$/g,"")}async readBuffer(e){const t=new Uint8Array(e.len);return await this.tokenizer.readBuffer(t),t}}function qG(e,t){return Number(function(e,t){const n=new Uint8Array(8),i=e.subarray(0,t);try{return n.set(i,8-t),el.get(n,0)}catch(e){return BigInt(-1)}}(e,t))}function HG(e){return e.container&&Object.keys(e.container).map(t=>{const n=e.container[t];return n.id=Number.parseInt(t),n}).forEach(t=>{t.parent=e,HG(t)}),e}function JG(e){let t="";return e.parent&&"dtd"!==e.parent.name&&(t+=`${JG(e.parent)}/`),t+e.name}const WG=Ru("music-metadata:parser:matroska");var XG=Object.freeze({__proto__:null,MatroskaParser:class extends id{constructor(){super(...arguments),this.seekHeadOffset=0,this.flagUseIndexToSkipClusters=this.options.mkvUseIndex??!1}async parse(){const e=this.tokenizer.fileInfo.size??Number.MAX_SAFE_INTEGER,t=new KG(this.tokenizer);WG("Initializing DTD end MatroskaIterator"),await t.iterate(FG,e,{startNext:e=>{switch(e.id){case 475249515:return WG(`Skip element: name=${e.name}, id=0x${e.id.toString(16)}`),VG;case 524531317:if(this.flagUseIndexToSkipClusters&&this.seekHead){const e=this.seekHead.seek.find(e=>e.position+this.seekHeadOffset>this.tokenizer.position);if(e){const t=e.position+this.seekHeadOffset-this.tokenizer.position;return WG(`Use index to go to next position, ignoring ${t} bytes`),this.tokenizer.ignore(t),YG}}return VG;default:return QG}},elementValue:async(e,t,n)=>{switch(WG(`Received: name=${e.name}, value=${t}`),e.id){case 17026:this.metadata.setFormat("container",`EBML/${t}`);break;case 290298740:this.seekHead=t,this.seekHeadOffset=n;break;case 357149030:{const e=t,n=e.timecodeScale?e.timecodeScale:1e6;if("number"==typeof e.duration){const t=e.duration*n/1e9;await this.addTag("segment:title",e.title),this.metadata.setFormat("duration",Number(t))}}break;case 374648427:{const e=t;if(e?.entries){e.entries.forEach(e=>{const t={codecName:e.codecID.replace("A_","").replace("V_",""),codecSettings:e.codecSettings,flagDefault:e.flagDefault,flagLacing:e.flagLacing,flagEnabled:e.flagEnabled,language:e.language,name:e.name,type:e.trackType,audio:e.audio,video:e.video};this.metadata.addStreamInfo(t)});const t=e.entries.filter(e=>e.trackType===Du).reduce((e,t)=>e?t.flagDefault&&!e.flagDefault||t.trackNumber<e.trackNumber?t:e:t,null);t&&(this.metadata.setFormat("codec",t.codecID.replace("A_","")),this.metadata.setFormat("sampleRate",t.audio.samplingFrequency),this.metadata.setFormat("numberOfChannels",t.audio.channels))}}break;case 307544935:{const e=t;await Promise.all(e.tag.map(async e=>{const t=e.target,n=t?.targetTypeValue?Lu[t.targetTypeValue]:t?.targetType?t.targetType:"track";await Promise.all(e.simpleTags.map(async e=>{const t=e.string?e.string:e.binary;await this.addTag(`${n}:${e.name}`,t)}))}))}break;case 423732329:{const e=t;await Promise.all(e.attachedFiles.filter(e=>e.mimeType.startsWith("image/")).map(e=>this.addTag("picture",{data:e.data,format:e.mimeType,description:e.description,name:e.name})))}}}})}async addTag(e,t){await this.metadata.addTag("matroska",e,t)}}});const ZG=Ru("music-metadata:parser:MP4:atom");class $G extends(Ju("MP4")){}const ej={len:8,get:(e,t)=>{const n=jo.get(e,t);if(n<0)throw new $G("Invalid atom header length");return{length:BigInt(n),name:new ul(4,"latin1").get(e,t+4)}},put:(e,t,n)=>(jo.put(e,t,Number(n.length)),ad.put(e,t+4,n.name))},tj=el,nj={len:4,get:(e,t)=>({type:new ul(4,"ascii").get(e,t)})};class ij{constructor(e,t,n){if(e<t)throw new $G(`Atom ${n} expected to be ${t}, but specifies ${e} bytes long.`);e>t&&ZG(`Warning: atom ${n} expected to be ${t}, but was actually ${e} bytes long.`),this.len=e}}const rj=(e,t)=>{const n=jo.get(e,t)-2082844800;return new Date(1e3*n)};class aj extends ij{constructor(e){super(e,24,"mdhd")}get(e,t){return{version:Fo.get(e,t+0),flags:Vo.get(e,t+1),creationTime:rj(e,t+4),modificationTime:rj(e,t+8),timeScale:jo.get(e,t+12),duration:jo.get(e,t+16),language:zo.get(e,t+20),quality:zo.get(e,t+22)}}}class sj extends ij{constructor(e){super(e,100,"mvhd")}get(e,t){return{version:Fo.get(e,t),flags:Vo.get(e,t+1),creationTime:rj(e,t+4),modificationTime:rj(e,t+8),timeScale:jo.get(e,t+12),duration:jo.get(e,t+16),preferredRate:jo.get(e,t+20),preferredVolume:zo.get(e,t+24),previewTime:jo.get(e,t+72),previewDuration:jo.get(e,t+76),posterTime:jo.get(e,t+80),selectionTime:jo.get(e,t+84),selectionDuration:jo.get(e,t+88),currentTime:jo.get(e,t+92),nextTrackID:jo.get(e,t+96)}}}class Aj{constructor(e){this.len=e}get(e,t){return{type:{set:Fo.get(e,t+0),type:Vo.get(e,t+1)},locale:Vo.get(e,t+4),value:new cl(this.len-8).get(e,t+8)}}}class oj{constructor(e){this.len=e}get(e,t){return{version:Fo.get(e,t),flags:Vo.get(e,t+1),name:new ul(this.len-4,"utf-8").get(e,t+4)}}}class lj{constructor(e){this.len=e}get(e,t){return{version:Fo.get(e,t),flags:Vo.get(e,t+1),creationTime:rj(e,t+4),modificationTime:rj(e,t+8),trackId:jo.get(e,t+12),duration:jo.get(e,t+20),layer:zo.get(e,t+24),alternateGroup:zo.get(e,t+26),volume:zo.get(e,t+28)}}}const cj=8,uj=(e,t)=>({version:Fo.get(e,t),flags:Vo.get(e,t+1),numberOfEntries:jo.get(e,t+4)});class hj{constructor(e){this.len=e}get(e,t){const n=this.len-12;return{dataFormat:ad.get(e,t),dataReferenceIndex:zo.get(e,t+10),description:n>0?new cl(n).get(e,t+12):void 0}}}class dj{constructor(e){this.len=e}get(e,t){const n=uj(e,t);t+=cj;const i=[];for(let r=0;r<n.numberOfEntries;++r){const n=jo.get(e,t);t+=jo.len,i.push(new hj(n-jo.len).get(e,t)),t+=n}return{header:n,table:i}}}const gj={len:8,get:(e,t)=>({version:Ko.get(e,t),revision:Ko.get(e,t+2),vendor:Wo.get(e,t+4)})},pj={len:12,get:(e,t)=>({numAudioChannels:Ko.get(e,t+0),sampleSize:Ko.get(e,t+2),compressionId:Ko.get(e,t+4),packetSize:Ko.get(e,t+6),sampleRate:zo.get(e,t+8)+zo.get(e,t+10)/1e4})};class fj{constructor(e,t){this.len=e,this.token=t}get(e,t){const n=Wo.get(e,t+4);return{version:Yo.get(e,t+0),flags:Jo.get(e,t+1),numberOfEntries:n,entries:Sj(e,this.token,t+8,this.len-8,n)}}}const mj={len:8,get:(e,t)=>({count:Wo.get(e,t+0),duration:Wo.get(e,t+4)})};class bj extends fj{constructor(e){super(e,mj)}}const wj={len:12,get:(e,t)=>({firstChunk:Wo.get(e,t),samplesPerChunk:Wo.get(e,t+4),sampleDescriptionId:Wo.get(e,t+8)})};class Ej extends fj{constructor(e){super(e,wj)}}class yj{constructor(e){this.len=e}get(e,t){const n=Wo.get(e,t+8);return{version:Yo.get(e,t),flags:Jo.get(e,t+1),sampleSize:Wo.get(e,t+4),numberOfEntries:n,entries:Sj(e,Wo,t+12,this.len-12,n)}}}class vj extends fj{constructor(e){super(e,Wo),this.len=e}}class kj{constructor(e){this.len=e}get(e,t){const n=Ko.get(e,t+0);return new ul(n,"utf-8").get(e,t+2)}}function Sj(e,t,n,i,r){if(ZG(`remainingLen=${i}, numberOfEntries=${r} * token-len=${t.len}`),0===i)return[];if(i!==r*t.len)throw new $G("mismatch number-of-entries with remaining atom-length");const a=[];for(let i=0;i<r;++i)a.push(t.get(e,n)),n+=t.len;return a}class xj{constructor(e){this.len=e}get(e,t){const n=t+1,i={version:Yo.get(e,t),flags:{baseDataOffsetPresent:Wu(e,n+2,0),sampleDescriptionIndexPresent:Wu(e,n+2,1),defaultSampleDurationPresent:Wu(e,n+2,3),defaultSampleSizePresent:Wu(e,n+2,4),defaultSampleFlagsPresent:Wu(e,n+2,5),defaultDurationIsEmpty:Wu(e,n,0),defaultBaseIsMoof:Wu(e,n,1)},trackId:jo.get(e,4)};let r=8;return i.flags.baseDataOffsetPresent&&(i.baseDataOffset=el.get(e,r),r+=8),i.flags.sampleDescriptionIndexPresent&&(i.sampleDescriptionIndex=jo.get(e,r),r+=4),i.flags.defaultSampleDurationPresent&&(i.defaultSampleDuration=jo.get(e,r),r+=4),i.flags.defaultSampleSizePresent&&(i.defaultSampleSize=jo.get(e,r),r+=4),i.flags.defaultSampleFlagsPresent&&(i.defaultSampleFlags=jo.get(e,r)),i}}class Ij{constructor(e){this.len=e}get(e,t){const n=t+1,i={version:Yo.get(e,t),flags:{dataOffsetPresent:Wu(e,n+2,0),firstSampleFlagsPresent:Wu(e,n+2,2),sampleDurationPresent:Wu(e,n+1,0),sampleSizePresent:Wu(e,n+1,1),sampleFlagsPresent:Wu(e,n+1,2),sampleCompositionTimeOffsetsPresent:Wu(e,n+1,3)},sampleCount:jo.get(e,t+4),samples:[]};let r=t+8;i.flags.dataOffsetPresent&&(i.dataOffset=jo.get(e,r),r+=4),i.flags.firstSampleFlagsPresent&&(i.firstSampleFlags=jo.get(e,r),r+=4);for(let t=0;t<i.sampleCount;++t){if(r>=this.len){ZG("TrackRunBox size mismatch");break}const t={};i.flags.sampleDurationPresent&&(t.sampleDuration=jo.get(e,r),r+=4),i.flags.sampleSizePresent&&(t.sampleSize=jo.get(e,r),r+=4),i.flags.sampleFlagsPresent&&(t.sampleFlags=jo.get(e,r),r+=4),i.flags.sampleCompositionTimeOffsetsPresent&&(t.sampleCompositionTimeOffset=jo.get(e,r),r+=4),i.samples.push(t)}return i}}class Cj{constructor(e){this.len=e}get(e,t){const n=new ul(4,"utf-8");return{version:Yo.get(e,t),flags:Vo.get(e,t+1),componentType:n.get(e,t+4),handlerType:n.get(e,t+8),componentName:new ul(this.len-28,"utf-8").get(e,t+28)}}}class Tj{constructor(e){this.len=e}get(e,t){let n=0;const i=[];for(;n<this.len;)i.push(jo.get(e,t+n)),n+=4;return i}}const _j=Ru("music-metadata:parser:MP4:Atom");class Bj{static async readAtom(e,t,n,i){const r=e.position;_j(`Reading next token on offset=${r}...`);const a=await e.readToken(ej),s=1n===a.length;s&&(a.length=await e.readToken(tj));const A=new Bj(a,s,n),o=A.getPayloadLength(i);return _j(`parse atom name=${A.atomPath}, extended=${A.extended}, offset=${r}, len=${A.header.length}`),await A.readData(e,t,o),A}constructor(e,t,n){this.header=e,this.extended=t,this.parent=n,this.children=[],this.atomPath=(this.parent?`${this.parent.atomPath}.`:"")+this.header.name}getHeaderLength(){return this.extended?16:8}getPayloadLength(e){return(0n===this.header.length?e:Number(this.header.length))-this.getHeaderLength()}async readAtoms(e,t,n){for(;n>0;){const i=await Bj.readAtom(e,t,this,n);this.children.push(i),n-=0n===i.header.length?n:Number(i.header.length)}}async readData(e,t,n){switch(this.header.name){case"moov":case"udta":case"mdia":case"minf":case"stbl":case"<id>":case"ilst":case"tref":case"moof":return this.readAtoms(e,t,this.getPayloadLength(n));case"meta":{const i="hdlr"===(await e.peekToken(ej)).name?0:4;return await e.ignore(i),this.readAtoms(e,t,this.getPayloadLength(n)-i)}default:return t(this,n)}}}const Uj=Ru("music-metadata:parser:MP4"),Mj={raw:{lossy:!1,format:"raw"},MAC3:{lossy:!0,format:"MACE 3:1"},MAC6:{lossy:!0,format:"MACE 6:1"},ima4:{lossy:!0,format:"IMA 4:1"},ulaw:{lossy:!0,format:"uLaw 2:1"},alaw:{lossy:!0,format:"uLaw 2:1"},Qclp:{lossy:!0,format:"QUALCOMM PureVoice"},".mp3":{lossy:!0,format:"MPEG-1 layer 3"},alac:{lossy:!1,format:"ALAC"},"ac-3":{lossy:!0,format:"AC-3"},mp4a:{lossy:!0,format:"MPEG-4/AAC"},mp4s:{lossy:!0,format:"MP4S"},c608:{lossy:!0,format:"CEA-608"},c708:{lossy:!0,format:"CEA-708"}};function Rj(e,t,n){return n.indexOf(e)===t}class Lj extends id{constructor(){super(...arguments),this.tracks=new Map,this.hasVideoTrack=!1,this.hasAudioTrack=!0,this.atomParsers={mvhd:async e=>{const t=await this.tokenizer.readToken(new sj(e));this.metadata.setFormat("creationTime",t.creationTime),this.metadata.setFormat("modificationTime",t.modificationTime)},chap:async e=>{const t=this.getTrackDescription(),n=[];for(;e>=jo.len;)n.push(await this.tokenizer.readNumber(jo)),e-=jo.len;t.chapterList=n},mdat:async e=>{if(this.audioLengthInBytes=e,this.calculateBitRate(),this.options.includeChapters){const t=[...this.tracks.values()].filter(e=>e.chapterList);if(1===t.length){const n=t[0].chapterList,i=[...this.tracks.values()].filter(e=>-1!==n.indexOf(e.header.trackId));if(1===i.length)return this.parseChapterTrack(i[0],t[0],e)}}await this.tokenizer.ignore(e)},ftyp:async e=>{const t=[];for(;e>0;){const n=await this.tokenizer.readToken(nj);e-=nj.len;const i=n.type.replace(/\W/g,"");i.length>0&&t.push(i)}Uj(`ftyp: ${t.join("/")}`);const n=t.filter(Rj).join("/");this.metadata.setFormat("container",n)},stsd:async e=>{const t=await this.tokenizer.readToken(new dj(e));this.getTrackDescription().soundSampleDescription=t.table.map(e=>this.parseSoundSampleDescription(e))},stsz:async e=>{const t=await this.tokenizer.readToken(new yj(e)),n=this.getTrackDescription();n.sampleSize=t.sampleSize,n.sampleSizeTable=t.entries},date:async e=>{const t=await this.tokenizer.readToken(new ul(e,"utf-8"));await this.addTag("date",t)}}}static read_BE_Integer(e,t){const n=(t?"INT":"UINT")+8*e.length+(e.length>1?"_BE":""),i=hl[n];if(!i)throw new $G(`Token for integer type not found: "${n}"`);return Number(i.get(e,0))}async parse(){this.hasVideoTrack=!1,this.hasAudioTrack=!0,this.tracks.clear();let e=this.tokenizer.fileInfo.size||0;for(;!this.tokenizer.fileInfo.size||e>0;){try{if("\0\0\0\0"===(await this.tokenizer.peekToken(ej)).name){const e=`Error at offset=${this.tokenizer.position}: box.id=0`;Uj(e),this.addWarning(e);break}}catch(e){if(!(e instanceof Error))throw e;{const t=`Error at offset=${this.tokenizer.position}: ${e.message}`;Uj(t),this.addWarning(t)}break}const t=await Bj.readAtom(this.tokenizer,(e,t)=>this.handleAtom(e,t),null,e);e-=t.header.length===BigInt(0)?e:Number(t.header.length)}const t=[];this.tracks.forEach(e=>{const n=[];e.soundSampleDescription.forEach(e=>{const t={},i=Mj[e.dataFormat];if(i?(n.push(i.format),t.codecName=i.format):t.codecName=`<${e.dataFormat}>`,e.description){const{description:n}=e;n.sampleRate>0&&(t.type=Du,t.audio={samplingFrequency:n.sampleRate,bitDepth:n.sampleSize,channels:n.numAudioChannels})}this.metadata.addStreamInfo(t)}),n.length>=1&&t.push(n.join("/"))}),t.length>0&&this.metadata.setFormat("codec",t.filter(Rj).join("+"));const n=[...this.tracks.values()].filter(e=>e.soundSampleDescription.length>=1&&e.soundSampleDescription[0].description&&e.soundSampleDescription[0].description.numAudioChannels>0);if(n.length>=1){const e=n[0];if(e.media.header&&e.media.header.timeScale>0)if(e.media.header.duration>0){Uj("Using duration defined on audio track");const t=e.media.header.duration/e.media.header.timeScale;this.metadata.setFormat("duration",t)}else if(e.fragments.length>0){Uj("Calculate duration defined in track fragments");let t=0;for(const n of e.fragments){const e=n.header.defaultSampleDuration;for(const i of n.trackRun.samples){const n=i.sampleDuration??e;if(null==n)throw new Error("Missing sampleDuration and no default_sample_duration in tfhd");t+=n}}this.metadata.setFormat("duration",t/e.media.header.timeScale)}const t=e.soundSampleDescription[0];if(t.description&&e.media.header&&(this.metadata.setFormat("sampleRate",t.description.sampleRate),this.metadata.setFormat("bitsPerSample",t.description.sampleSize),this.metadata.setFormat("numberOfChannels",t.description.numAudioChannels),0===e.media.header.timeScale&&e.timeToSampleTable.length>0)){const n=e.timeToSampleTable.map(e=>e.count*e.duration).reduce((e,t)=>e+t)/t.description.sampleRate;this.metadata.setFormat("duration",n)}const i=Mj[t.dataFormat];i&&this.metadata.setFormat("lossless",!i.lossy),this.calculateBitRate()}this.metadata.setFormat("hasAudio",this.hasAudioTrack),this.metadata.setFormat("hasVideo",this.hasVideoTrack)}async handleAtom(e,t){if(e.parent)switch(e.parent.header.name){case"ilst":case"<id>":return this.parseMetadataItemData(e);case"moov":if("trak"===e.header.name)return this.parseTrackBox(e);break;case"moof":if("traf"===e.header.name)return this.parseTrackFragmentBox(e)}if(this.atomParsers[e.header.name])return this.atomParsers[e.header.name](t);Uj(`No parser for atom path=${e.atomPath}, payload-len=${t}, ignoring atom`),await this.tokenizer.ignore(t)}getTrackDescription(){const e=[...this.tracks.values()];return e[e.length-1]}calculateBitRate(){this.audioLengthInBytes&&this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*this.audioLengthInBytes/this.metadata.format.duration)}async addTag(e,t){await this.metadata.addTag("iTunes",e,t)}addWarning(e){Uj(`Warning: ${e}`),this.metadata.addWarning(e)}parseMetadataItemData(e){let t=e.header.name;return e.readAtoms(this.tokenizer,async(e,n)=>{const i=e.getPayloadLength(n);switch(e.header.name){case"data":return this.parseValueAtom(t,e);case"name":case"mean":case"rate":{const e=await this.tokenizer.readToken(new oj(i));t+=`:${e.name}`;break}default:{const n=await this.tokenizer.readToken(new cl(i));this.addWarning(`Unsupported meta-item: ${t}[${e.header.name}] => value=${iu(n)} ascii=${$c(n,"ascii")}`)}}},e.getPayloadLength(0))}async parseValueAtom(e,t){const n=await this.tokenizer.readToken(new Aj(Number(t.header.length)-ej.len));if(0!==n.type.set)throw new $G(`Unsupported type-set != 0: ${n.type.set}`);switch(n.type.type){case 0:switch(e){case"trkn":case"disk":{const t=Fo.get(n.value,3),i=Fo.get(n.value,5);await this.addTag(e,`${t}/${i}`);break}case"gnre":{const t=Fo.get(n.value,1),i=Sd[t-1];await this.addTag(e,i);break}case"rate":{const t=new TextDecoder("ascii").decode(n.value);await this.addTag(e,t);break}default:Uj(`unknown proprietary value type for: ${t.atomPath}`)}break;case 1:case 18:await this.addTag(e,new TextDecoder("utf-8").decode(n.value));break;case 13:if(this.options.skipCovers)break;await this.addTag(e,{format:"image/jpeg",data:Uint8Array.from(n.value)});break;case 14:if(this.options.skipCovers)break;await this.addTag(e,{format:"image/png",data:Uint8Array.from(n.value)});break;case 21:await this.addTag(e,Lj.read_BE_Integer(n.value,!0));break;case 22:await this.addTag(e,Lj.read_BE_Integer(n.value,!1));break;case 65:await this.addTag(e,Fo.get(n.value,0));break;case 66:await this.addTag(e,zo.get(n.value,0));break;case 67:await this.addTag(e,jo.get(n.value,0));break;default:this.addWarning(`atom key=${e}, has unknown well-known-type (data-type): ${n.type.type}`)}}async parseTrackBox(e){const t={media:{},fragments:[]};await e.readAtoms(this.tokenizer,async(e,n)=>{const i=e.getPayloadLength(n);switch(e.header.name){case"chap":{const e=await this.tokenizer.readToken(new Tj(n));t.chapterList=e;break}case"tkhd":t.header=await this.tokenizer.readToken(new lj(i));break;case"hdlr":switch(t.handler=await this.tokenizer.readToken(new Cj(i)),t.handler.handlerType){case"audi":Uj("Contains audio track"),this.hasAudioTrack=!0;break;case"vide":Uj("Contains video track"),this.hasVideoTrack=!0}break;case"mdhd":{const e=await this.tokenizer.readToken(new aj(i));t.media.header=e;break}case"stco":{const e=await this.tokenizer.readToken(new vj(i));t.chunkOffsetTable=e.entries;break}case"stsc":{const e=await this.tokenizer.readToken(new Ej(i));t.sampleToChunkTable=e.entries;break}case"stsd":{const e=await this.tokenizer.readToken(new dj(i));t.soundSampleDescription=e.table.map(e=>this.parseSoundSampleDescription(e));break}case"stts":{const e=await this.tokenizer.readToken(new bj(i));t.timeToSampleTable=e.entries;break}case"stsz":{const e=await this.tokenizer.readToken(new yj(i));t.sampleSize=e.sampleSize,t.sampleSizeTable=e.entries;break}case"dinf":case"vmhd":case"smhd":Uj(`Ignoring: ${e.header.name}`),await this.tokenizer.ignore(i);break;default:Uj(`Unexpected track box: ${e.header.name}`),await this.tokenizer.ignore(i)}},e.getPayloadLength(0)),this.tracks.set(t.header.trackId,t)}parseTrackFragmentBox(e){let t;return e.readAtoms(this.tokenizer,async(e,n)=>{const i=e.getPayloadLength(n);switch(e.header.name){case"tfhd":{const i=new xj(e.getPayloadLength(n));t=await this.tokenizer.readToken(i);break}case"tfdt":await this.tokenizer.ignore(i);break;case"trun":{const e=new Ij(i),n=await this.tokenizer.readToken(e);if(t){const e=this.tracks.get(t.trackId);e?.fragments.push({header:t,trackRun:n})}break}default:Uj(`Unexpected box: ${e.header.name}`),await this.tokenizer.ignore(i)}},e.getPayloadLength(0))}parseSoundSampleDescription(e){const t={dataFormat:e.dataFormat,dataReferenceIndex:e.dataReferenceIndex};let n=0;if(e.description){const i=gj.get(e.description,n);n+=gj.len,0===i.version||1===i.version?t.description=pj.get(e.description,n):Uj(`Warning: sound-sample-description ${i} not implemented`)}return t}async parseChapterTrack(e,t,n){if(!e.sampleSize&&e.chunkOffsetTable.length!==e.sampleSizeTable.length)throw new Error("Expected equal chunk-offset-table & sample-size-table length.");const i=[];for(let r=0;r<e.chunkOffsetTable.length&&n>0;++r){const a=e.timeToSampleTable.slice(0,r).reduce((e,t)=>e+t.duration,0),s=e.chunkOffsetTable[r]-this.tokenizer.position,A=e.sampleSize>0?e.sampleSize:e.sampleSizeTable[r];if((n-=s+A)<0)throw new $G("Chapter chunk exceeding token length");await this.tokenizer.ignore(s);const o=await this.tokenizer.readToken(new kj(A));Uj(`Chapter ${r+1}: ${o}`);const l={title:o,timeScale:e.media.header?e.media.header.timeScale:0,start:a,sampleOffset:this.findSampleOffset(t,this.tokenizer.position)};Uj(`Chapter title=${l.title}, offset=${l.sampleOffset}/${t.header.duration}`),i.push(l)}this.metadata.setFormat("chapters",i),await this.tokenizer.ignore(n)}findSampleOffset(e,t){let n=0;for(;n<e.chunkOffsetTable.length&&e.chunkOffsetTable[n]<t;)++n;return this.getChunkDuration(n+1,e)}getChunkDuration(e,t){let n=0,i=t.timeToSampleTable[n].count,r=t.timeToSampleTable[n].duration,a=1,s=this.getSamplesPerChunk(a,t.sampleToChunkTable),A=0;for(;a<e;){const e=Math.min(i,s);A+=e*r,i-=e,s-=e,0===s?(++a,s=this.getSamplesPerChunk(a,t.sampleToChunkTable)):(++n,i=t.timeToSampleTable[n].count,r=t.timeToSampleTable[n].duration)}return A}getSamplesPerChunk(e,t){for(let n=0;n<t.length-1;++n)if(e>=t[n].firstChunk&&e<t[n+1].firstChunk)return t[n].samplesPerChunk;return t[t.length-1].samplesPerChunk}}var Nj=Object.freeze({__proto__:null,MP4Parser:Lj});const Dj=Ru("music-metadata:parser:musepack:sv8"),Pj=new ul(2,"latin1"),Fj={len:5,get:(e,t)=>({crc:Go.get(e,t),streamVersion:Fo.get(e,t+4)})},Oj={len:2,get:(e,t)=>({sampleFrequency:[44100,48e3,37800,32e3][th(e,t,0,3)],maxUsedBands:th(e,t,3,5),channelCount:th(e,t+1,0,4)+1,msUsed:nh(e,t+1,4),audioBlockFrames:th(e,t+1,5,3)})};class zj{get tokenizer(){return this._tokenizer}set tokenizer(e){this._tokenizer=e}constructor(e){this._tokenizer=e}async readPacketHeader(){const e=await this.tokenizer.readToken(Pj),t=await this.readVariableSizeField();return{key:e,payloadLength:t.value-2-t.len}}async readStreamHeader(e){const t={};Dj(`Reading SH at offset=${this.tokenizer.position}`);const n=await this.tokenizer.readToken(Fj);e-=Fj.len,Object.assign(t,n),Dj(`SH.streamVersion = ${n.streamVersion}`);const i=await this.readVariableSizeField();e-=i.len,t.sampleCount=i.value;const r=await this.readVariableSizeField();e-=r.len,t.beginningOfSilence=r.value;const a=await this.tokenizer.readToken(Oj);return e-=Oj.len,Object.assign(t,a),await this.tokenizer.ignore(e),t}async readVariableSizeField(e=1,t=0){let n=await this.tokenizer.readNumber(Fo);return 128&n?(n&=127,n+=t,this.readVariableSizeField(e+1,n<<7)):{len:e,value:t+n}}}class Qj extends(Ju("Musepack")){}const Vj=Ru("music-metadata:parser:musepack");class Gj extends id{constructor(){super(...arguments),this.audioLength=0}async parse(){if("MPCK"!==await this.tokenizer.readToken(ad))throw new Qj("Invalid Magic number");return this.metadata.setFormat("container","Musepack, SV8"),this.parsePacket()}async parsePacket(){const e=new zj(this.tokenizer);for(;;){const t=await e.readPacketHeader();switch(Vj(`packet-header key=${t.key}, payloadLength=${t.payloadLength}`),t.key){case"SH":{const n=await e.readStreamHeader(t.payloadLength);this.metadata.setFormat("numberOfSamples",n.sampleCount),this.metadata.setFormat("sampleRate",n.sampleFrequency),this.metadata.setFormat("duration",n.sampleCount/n.sampleFrequency),this.metadata.setFormat("numberOfChannels",n.channelCount);break}case"AP":this.audioLength+=t.payloadLength,await this.tokenizer.ignore(t.payloadLength);break;case"RG":case"EI":case"SO":case"ST":case"CT":await this.tokenizer.ignore(t.payloadLength);break;case"SE":return this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*this.audioLength/this.metadata.format.duration),Ed(this.metadata,this.tokenizer,this.options);default:throw new Qj(`Unexpected header: ${t.key}`)}}}}class jj{constructor(e){this.pos=0,this.dword=null,this.tokenizer=e}async read(e){for(;null===this.dword;)this.dword=await this.tokenizer.readToken(Go);let t=this.dword;return this.pos+=e,this.pos<32?(t>>>=32-this.pos,t&(1<<e)-1):(this.pos-=32,0===this.pos?(this.dword=null,t&(1<<e)-1):(this.dword=await this.tokenizer.readToken(Go),this.pos&&(t<<=this.pos,t|=this.dword>>>32-this.pos),t&(1<<e)-1))}async ignore(e){if(this.pos>0){const t=32-this.pos;this.dword=null,e-=t,this.pos=0}const t=e%32,n=(e-t)/32;return await this.tokenizer.ignore(4*n),this.read(t)}}const Yj={len:24,get:(e,t)=>{const n={signature:new TextDecoder("latin1").decode(e.subarray(t,t+3)),streamMinorVersion:th(e,t+3,0,4),streamMajorVersion:th(e,t+3,4,4),frameCount:Go.get(e,t+4),maxLevel:Oo.get(e,t+8),sampleFrequency:[44100,48e3,37800,32e3][th(e,t+10,0,2)],link:th(e,t+10,2,2),profile:th(e,t+10,4,4),maxBand:th(e,t+11,0,6),intensityStereo:nh(e,t+11,6),midSideStereo:nh(e,t+11,7),titlePeak:Oo.get(e,t+12),titleGain:Oo.get(e,t+14),albumPeak:Oo.get(e,t+16),albumGain:Oo.get(e,t+18),lastFrameLength:Go.get(e,t+20)>>>20&2047,trueGapless:nh(e,t+23,0)};return n.lastFrameLength=n.trueGapless?Go.get(e,20)>>>20&2047:0,n}},Kj=Ru("music-metadata:parser:musepack");class qj extends id{constructor(){super(...arguments),this.bitreader=null,this.audioLength=0,this.duration=null}async parse(){const e=await this.tokenizer.readToken(Yj);if("MP+"!==e.signature)throw new Qj("Unexpected magic number");Kj(`stream-version=${e.streamMajorVersion}.${e.streamMinorVersion}`),this.metadata.setFormat("container","Musepack, SV7"),this.metadata.setFormat("sampleRate",e.sampleFrequency);const t=1152*(e.frameCount-1)+e.lastFrameLength;this.metadata.setFormat("numberOfSamples",t),this.duration=t/e.sampleFrequency,this.metadata.setFormat("duration",this.duration),this.bitreader=new jj(this.tokenizer),this.metadata.setFormat("numberOfChannels",e.midSideStereo||e.intensityStereo?2:1);const n=await this.bitreader.read(8);return this.metadata.setFormat("codec",(n/100).toFixed(2)),await this.skipAudioData(e.frameCount),Kj(`End of audio stream, switching to APEv2, offset=${this.tokenizer.position}`),Ed(this.metadata,this.tokenizer,this.options)}async skipAudioData(e){for(;e-- >0;){const e=await this.bitreader.read(20);this.audioLength+=20+e,await this.bitreader.ignore(e)}const t=await this.bitreader.read(11);this.audioLength+=t,null!==this.duration&&this.metadata.setFormat("bitrate",this.audioLength/this.duration)}}const Hj=Ru("music-metadata:parser:musepack");var Jj=Object.freeze({__proto__:null,MusepackParser:class extends cV{async postId3v2Parse(){let e;switch(await this.tokenizer.peekToken(new ul(3,"latin1"))){case"MP+":Hj("Stream-version 7"),e=new qj(this.metadata,this.tokenizer,this.options);break;case"MPC":Hj("Stream-version 8"),e=new Gj(this.metadata,this.tokenizer,this.options);break;default:throw new Qj("Invalid signature prefix")}return this.metadata.setAudioOnly(),e.parse()}}});class Wj extends(Ju("Opus")){}class Xj{constructor(e){if(e<19)throw new Wj("ID-header-page 0 should be at least 19 bytes long");this.len=e}get(e,t){return{magicSignature:new ul(8,"ascii").get(e,t+0),version:Fo.get(e,t+8),channelCount:Fo.get(e,t+9),preSkip:Oo.get(e,t+10),inputSampleRate:Go.get(e,t+12),outputGain:Oo.get(e,t+16),channelMapping:Fo.get(e,t+18)}}}class Zj extends wG{constructor(e,t,n){super(e,t),this.idHeader=null,this.lastPos=-1,this.tokenizer=n}parseFirstPage(e,t){if(this.metadata.setFormat("codec","Opus"),this.idHeader=new Xj(t.length).get(t,0),"OpusHead"!==this.idHeader.magicSignature)throw new Wj("Illegal ogg/Opus magic-signature");this.metadata.setFormat("sampleRate",this.idHeader.inputSampleRate),this.metadata.setFormat("numberOfChannels",this.idHeader.channelCount),this.metadata.setAudioOnly()}async parseFullPage(e){if("OpusTags"===new ul(8,"ascii").get(e,0))await this.parseUserCommentList(e,8),this.lastPos=this.tokenizer.position-e.length}calculateDuration(){if(this.lastPageHeader&&this.metadata.format.sampleRate&&this.lastPageHeader.absoluteGranulePosition>=0){const e=this.lastPageHeader.absoluteGranulePosition-this.idHeader.preSkip;if(this.metadata.setFormat("numberOfSamples",e),this.metadata.setFormat("duration",e/48e3),-1!==this.lastPos&&this.tokenizer.fileInfo.size&&this.metadata.format.duration){const e=this.tokenizer.fileInfo.size-this.lastPos;this.metadata.setFormat("bitrate",8*e/this.metadata.format.duration)}}}}const $j=(e,t)=>({speex:new ul(8,"ascii").get(e,t+0),version:Zu(new ul(20,"ascii").get(e,t+8)),version_id:Xo.get(e,t+28),header_size:Xo.get(e,t+32),rate:Xo.get(e,t+36),mode:Xo.get(e,t+40),mode_bitstream_version:Xo.get(e,t+44),nb_channels:Xo.get(e,t+48),bitrate:Xo.get(e,t+52),frame_size:Xo.get(e,t+56),vbr:Xo.get(e,t+60),frames_per_packet:Xo.get(e,t+64),extra_headers:Xo.get(e,t+68),reserved1:Xo.get(e,t+72),reserved2:Xo.get(e,t+76)}),eY=Ru("music-metadata:parser:ogg:speex");class tY extends wG{constructor(e,t,n){super(e,t),this.tokenizer=n}parseFirstPage(e,t){eY("First Ogg/Speex page");const n=$j(t,0);this.metadata.setFormat("codec",`Speex ${n.version}`),this.metadata.setFormat("numberOfChannels",n.nb_channels),this.metadata.setFormat("sampleRate",n.rate),-1!==n.bitrate&&this.metadata.setFormat("bitrate",n.bitrate),this.metadata.setAudioOnly()}}const nY=(e,t)=>({id:new ul(7,"ascii").get(e,t),vmaj:Fo.get(e,t+7),vmin:Fo.get(e,t+8),vrev:Fo.get(e,t+9),vmbw:zo.get(e,t+10),vmbh:zo.get(e,t+17),nombr:Vo.get(e,t+37),nqual:Fo.get(e,t+40)}),iY=Ru("music-metadata:parser:ogg:theora");class rY{constructor(e,t,n){this.metadata=e,this.tokenizer=n}async parsePage(e,t){e.headerType.firstPage&&await this.parseFirstPage(e,t)}calculateDuration(){iY("duration calculation not implemented")}async parseFirstPage(e,t){iY("First Ogg/Theora page"),this.metadata.setFormat("codec","Theora");const n=nY(t,0);this.metadata.setFormat("bitrate",n.nombr),this.metadata.setFormat("hasVideo",!0)}flush(){return Promise.resolve()}}const aY={len:27,get:(e,t)=>({capturePattern:new ul(4,"latin1").get(e,t),version:Fo.get(e,t+4),headerType:{continued:Wu(e,t+5,0),firstPage:Wu(e,t+5,1),lastPage:Wu(e,t+5,2)},absoluteGranulePosition:Number(Zo.get(e,t+6)),streamSerialNumber:Go.get(e,t+14),pageSequenceNo:Go.get(e,t+18),pageChecksum:Go.get(e,t+22),page_segments:Fo.get(e,t+26)})};class sY{static sum(e,t,n){const i=new DataView(e.buffer,0);let r=0;for(let e=t;e<t+n;++e)r+=i.getUint8(e);return r}constructor(e){this.len=e.page_segments}get(e,t){return{totalPageSize:sY.sum(e,t,this.len)}}}class AY extends(Ju("Ogg")){}const oY=Ru("music-metadata:parser:ogg");class lY{constructor(e,t,n){this.pageNumber=0,this.closed=!1,this.metadata=e,this.streamSerial=t,this.options=n}async parsePage(e,t){this.pageNumber=t.pageSequenceNo,oY("serial=%s page#=%s, Ogg.id=%s",t.streamSerialNumber,t.pageSequenceNo,t.capturePattern);const n=await e.readToken(new sY(t));oY("totalPageSize=%s",n.totalPageSize);const i=await e.readToken(new cl(n.totalPageSize));if(oY("firstPage=%s, lastPage=%s, continued=%s",t.headerType.firstPage,t.headerType.lastPage,t.headerType.continued),t.headerType.firstPage){const n=i.slice(0,7);switch(n[0]){case 1:case 128:n[0]=95}const r=new TextDecoder("latin1").decode(n);switch(r){case"_vorbis":oY(`Set Ogg stream serial ${t.streamSerialNumber}, codec=Vorbis`),this.pageConsumer=new wG(this.metadata,this.options);break;case"OpusHea":oY("Set page consumer to Ogg/Opus"),this.pageConsumer=new Zj(this.metadata,this.options,e);break;case"Speex ":oY("Set page consumer to Ogg/Speex"),this.pageConsumer=new tY(this.metadata,this.options,e);break;case"fishead":case"_theora":oY("Set page consumer to Ogg/Theora"),this.pageConsumer=new rY(this.metadata,this.options,e);break;default:throw new AY(`Ogg codec not recognized (id=${r})`)}}if(t.headerType.lastPage&&(this.closed=!0),!this.pageConsumer)throw new Error("pageConsumer should be initialized");await this.pageConsumer.parsePage(t,i)}}var cY=Object.freeze({__proto__:null,OggContentError:AY,OggParser:class extends id{constructor(){super(...arguments),this.streams=new Map}async parse(){let e;this.streams=new Map,oY("pos=%s, parsePage()",this.tokenizer.position);try{do{if(e=await this.tokenizer.readToken(aY),"OggS"!==e.capturePattern)throw new AY("Invalid Ogg capture pattern");this.metadata.setFormat("container","Ogg");let t=this.streams.get(e.streamSerialNumber);t||(t=new lY(this.metadata,e.streamSerialNumber,this.options),this.streams.set(e.streamSerialNumber,t)),await t.parsePage(this.tokenizer,e)}while(![...this.streams.values()].every(e=>e.closed))}catch(e){if(e instanceof So)oY("Reached end-of-stream");else{if(!(e instanceof AY))throw e;this.metadata.addWarning(`Corrupt Ogg content at ${this.tokenizer.position}`)}}for(const e of this.streams.values())e.closed||(this.metadata.addWarning(`End-of-stream reached before reaching last page in Ogg stream serial=${e.streamSerial}`),await(e.pageConsumer?.flush())),e.pageConsumer?.calculateDuration()}}});const uY=[6e3,8e3,9600,11025,12e3,16e3,22050,24e3,32e3,44100,48e3,64e3,88200,96e3,192e3,-1],hY={len:32,get:(e,t)=>{const n=Go.get(e,t+24),i={BlockID:ad.get(e,t),blockSize:Go.get(e,t+4),version:Oo.get(e,t+8),totalSamples:Go.get(e,t+12),blockIndex:Go.get(e,t+16),blockSamples:Go.get(e,t+20),flags:{bitsPerSample:8*(1+pY(n,0,2)),isMono:gY(n,2),isHybrid:gY(n,3),isJointStereo:gY(n,4),crossChannel:gY(n,5),hybridNoiseShaping:gY(n,6),floatingPoint:gY(n,7),samplingRate:uY[pY(n,23,4)],isDSD:gY(n,31)},crc:new cl(4).get(e,t+28)};return i.flags.isDSD&&(i.totalSamples*=8),i}},dY={len:1,get:(e,t)=>({functionId:pY(e[t],0,6),isOptional:gY(e[t],5),isOddSize:gY(e[t],6),largeBlock:gY(e[t],7)})};function gY(e,t){return 1===pY(e,t,1)}function pY(e,t,n){return e>>>t&4294967295>>>32-n}const fY=Ru("music-metadata:parser:WavPack");class mY extends(Ju("WavPack")){}var bY=Object.freeze({__proto__:null,WavPackContentError:mY,WavPackParser:class extends id{constructor(){super(...arguments),this.audioDataSize=0}async parse(){return this.metadata.setAudioOnly(),this.audioDataSize=0,await this.parseWavPackBlocks(),Ed(this.metadata,this.tokenizer,this.options)}async parseWavPackBlocks(){do{if("wvpk"!==await this.tokenizer.peekToken(ad))break;const e=await this.tokenizer.readToken(hY);if("wvpk"!==e.BlockID)throw new mY("Invalid WavPack Block-ID");fY(`WavPack header blockIndex=${e.blockIndex}, len=${hY.len}`),0!==e.blockIndex||this.metadata.format.container||(this.metadata.setFormat("container","WavPack"),this.metadata.setFormat("lossless",!e.flags.isHybrid),this.metadata.setFormat("bitsPerSample",e.flags.bitsPerSample),e.flags.isDSD||(this.metadata.setFormat("sampleRate",e.flags.samplingRate),this.metadata.setFormat("duration",e.totalSamples/e.flags.samplingRate)),this.metadata.setFormat("numberOfChannels",e.flags.isMono?1:2),this.metadata.setFormat("numberOfSamples",e.totalSamples),this.metadata.setFormat("codec",e.flags.isDSD?"DSD":"PCM"));const t=e.blockSize-(hY.len-8);await(0===e.blockIndex?this.parseMetadataSubBlock(e,t):this.tokenizer.ignore(t)),e.blockSamples>0&&(this.audioDataSize+=e.blockSize)}while(!this.tokenizer.fileInfo.size||this.tokenizer.fileInfo.size-this.tokenizer.position>=hY.len);this.metadata.format.duration&&this.metadata.setFormat("bitrate",8*this.audioDataSize/this.metadata.format.duration)}async parseMetadataSubBlock(e,t){let n=t;for(;n>dY.len;){const t=await this.tokenizer.readToken(dY),i=await this.tokenizer.readNumber(t.largeBlock?Qo:Fo),r=new Uint8Array(2*i-(t.isOddSize?1:0));switch(await this.tokenizer.readBuffer(r),fY(`Metadata Sub-Blocks functionId=0x${t.functionId.toString(16)}, id.largeBlock=${t.largeBlock},data-size=${r.length}`),t.functionId){case 0:break;case 14:{fY("ID_DSD_BLOCK");const t=1<<Fo.get(r,0),n=e.flags.samplingRate*t*8;if(!e.flags.isDSD)throw new mY("Only expect DSD block if DSD-flag is set");this.metadata.setFormat("sampleRate",n),this.metadata.setFormat("duration",e.totalSamples/n);break}case 36:fY("ID_ALT_TRAILER: trailer for non-wav files");break;case 38:this.metadata.setFormat("audioMD5",r);break;case 47:fY(`ID_BLOCK_CHECKSUM: checksum=${iu(r)}`);break;default:fY(`Ignore unsupported meta-sub-block-id functionId=0x${t.functionId.toString(16)}`)}n-=dY.len+(t.largeBlock?Qo.len:Fo.len)+2*i,fY(`remainingLength=${n}`),t.isOddSize&&this.tokenizer.ignore(1)}if(0!==n)throw new mY("metadata-sub-block should fit it remaining length")}}});const wY={len:8,get:(e,t)=>({chunkID:new ul(4,"latin1").get(e,t),chunkSize:Go.get(e,t+4)})};class EY{constructor(e){this.tagHeader=e,this.len=e.chunkSize,this.len+=1&this.len}get(e,t){return new ul(this.tagHeader.chunkSize,"ascii").get(e,t)}}class yY extends(Ju("Wave")){}const vY=1,kY=2,SY=3,xY=5632,IY=5634,CY=255,TY=146,_Y=8192,BY=576,UY=577,MY=9,RY=8193,LY=80,NY={[vY]:"PCM",[kY]:"ADPCM",[SY]:"IEEE_FLOAT",[xY]:"MPEG_ADTS_AAC",[IY]:"MPEG_LOAS",[CY]:"RAW_AAC1",[TY]:"DOLBY_AC3_SPDIF",[_Y]:"DVM",[BY]:"RAW_SPORT",[UY]:"ESST_AC3",[MY]:"DRM",[RY]:"DTS2",[LY]:"MPEG"};class DY{constructor(e){if(e.chunkSize<16)throw new yY("Invalid chunk size");this.len=e.chunkSize}get(e,t){return{wFormatTag:Oo.get(e,t),nChannels:Oo.get(e,t+2),nSamplesPerSec:Go.get(e,t+4),nAvgBytesPerSec:Go.get(e,t+8),nBlockAlign:Oo.get(e,t+12),wBitsPerSample:Oo.get(e,t+14)}}}class PY{constructor(e){if(e.chunkSize<4)throw new yY("Invalid fact chunk size.");this.len=e.chunkSize}get(e,t){return{dwSampleLength:Go.get(e,t)}}}const FY={len:420,get:(e,t)=>({description:eh(new ul(256,"ascii").get(e,t)).trim(),originator:eh(new ul(32,"ascii").get(e,t+256)).trim(),originatorReference:eh(new ul(32,"ascii").get(e,t+288)).trim(),originationDate:eh(new ul(10,"ascii").get(e,t+320)).trim(),originationTime:eh(new ul(8,"ascii").get(e,t+330)).trim(),timeReferenceLow:Go.get(e,t+338),timeReferenceHigh:Go.get(e,t+342),version:Oo.get(e,t+346),umid:new cl(64).get(e,t+348),loudnessValue:Oo.get(e,t+412),maxTruePeakLevel:Oo.get(e,t+414),maxMomentaryLoudness:Oo.get(e,t+416),maxShortTermLoudness:Oo.get(e,t+418)})},OY=Ru("music-metadata:parser:RIFF");var zY=Object.freeze({__proto__:null,WaveParser:class extends id{constructor(){super(...arguments),this.blockAlign=0}async parse(){const e=await this.tokenizer.readToken(wY);if(OY(`pos=${this.tokenizer.position}, parse: chunkID=${e.chunkID}`),"RIFF"===e.chunkID)return this.metadata.setAudioOnly(),this.parseRiffChunk(e.chunkSize).catch(e=>{if(!(e instanceof So))throw e})}async parseRiffChunk(e){const t=await this.tokenizer.readToken(ad);if(this.metadata.setFormat("container",t),"WAVE"===t)return this.readWaveChunk(e-ad.len);throw new yY(`Unsupported RIFF format: RIFF/${t}`)}async readWaveChunk(e){for(;e>=wY.len;){const t=await this.tokenizer.readToken(wY);switch(e-=wY.len+t.chunkSize,t.chunkSize>e&&this.metadata.addWarning("Data chunk size exceeds file size"),this.header=t,OY(`pos=${this.tokenizer.position}, readChunk: chunkID=RIFF/WAVE/${t.chunkID}`),t.chunkID){case"LIST":await this.parseListTag(t);break;case"fact":this.metadata.setFormat("lossless",!1),this.fact=await this.tokenizer.readToken(new PY(t));break;case"fmt ":{const e=await this.tokenizer.readToken(new DY(t));let n=NY[e.wFormatTag];n||(OY(`WAVE/non-PCM format=${e.wFormatTag}`),n=`non-PCM (${e.wFormatTag})`),this.metadata.setFormat("codec",n),this.metadata.setFormat("bitsPerSample",e.wBitsPerSample),this.metadata.setFormat("sampleRate",e.nSamplesPerSec),this.metadata.setFormat("numberOfChannels",e.nChannels),this.metadata.setFormat("bitrate",e.nBlockAlign*e.nSamplesPerSec*8),this.blockAlign=e.nBlockAlign;break}case"id3 ":case"ID3 ":{const e=Lo(await this.tokenizer.readToken(new cl(t.chunkSize)));await(new AV).parse(this.metadata,e,this.options);break}case"data":{!1!==this.metadata.format.lossless&&this.metadata.setFormat("lossless",!0);let e=t.chunkSize;if(this.tokenizer.fileInfo.size){const t=this.tokenizer.fileInfo.size-this.tokenizer.position;t<e&&(this.metadata.addWarning("data chunk length exceeding file length"),e=t)}const n=this.fact?this.fact.dwSampleLength:4294967295===e?void 0:e/this.blockAlign;n&&(this.metadata.setFormat("numberOfSamples",n),this.metadata.format.sampleRate&&this.metadata.setFormat("duration",n/this.metadata.format.sampleRate)),"ADPCM"===this.metadata.format.codec?this.metadata.setFormat("bitrate",352e3):this.metadata.format.sampleRate&&this.metadata.setFormat("bitrate",this.blockAlign*this.metadata.format.sampleRate*8),await this.tokenizer.ignore(t.chunkSize);break}case"bext":{const e=await this.tokenizer.readToken(FY);Object.keys(e).forEach(t=>{this.metadata.addTag("exif",`bext.${t}`,e[t])});const n=t.chunkSize-FY.len;await this.tokenizer.ignore(n);break}case"\0\0\0\0":OY(`Ignore padding chunk: RIFF/${t.chunkID} of ${t.chunkSize} bytes`),this.metadata.addWarning(`Ignore chunk: RIFF/${t.chunkID}`),await this.tokenizer.ignore(t.chunkSize);break;default:OY(`Ignore chunk: RIFF/${t.chunkID} of ${t.chunkSize} bytes`),this.metadata.addWarning(`Ignore chunk: RIFF/${t.chunkID}`),await this.tokenizer.ignore(t.chunkSize)}this.header.chunkSize%2==1&&(OY("Read odd padding byte"),await this.tokenizer.ignore(1))}}async parseListTag(e){const t=await this.tokenizer.readToken(new ul(4,"latin1"));return OY("pos=%s, parseListTag: chunkID=RIFF/WAVE/LIST/%s",this.tokenizer.position,t),"INFO"===t?this.parseRiffInfoTags(e.chunkSize-4):(this.metadata.addWarning(`Ignore chunk: RIFF/WAVE/LIST/${t}`),OY(`Ignoring chunkID=RIFF/WAVE/LIST/${t}`),this.tokenizer.ignore(e.chunkSize-4).then())}async parseRiffInfoTags(e){for(;e>=8;){const t=await this.tokenizer.readToken(wY),n=new EY(t),i=await this.tokenizer.readToken(n);this.addTag(t.chunkID,eh(i)),e-=8+n.len}if(0!==e)throw new yY(`Illegal remaining size: ${e}`)}addTag(e,t){this.metadata.addTag("exif",e,t)}}});export{eV as default};
|
|
37
|
+
//# sourceMappingURL=webamp.butterchurn-bundle.min.mjs.map
|