UNPKG

hytopia

Version:

The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.

1 lines 5.47 MB
import{createRequire as AkQ}from"node:module";var aSQ=Object.create;var{getPrototypeOf:oSQ,defineProperty:Tk,getOwnPropertyNames:tSQ}=Object;var eSQ=Object.prototype.hasOwnProperty;var qA=(A,Q,B)=>{B=A!=null?aSQ(oSQ(A)):{};let Y=Q||!A||!A.__esModule?Tk(B,"default",{value:A,enumerable:!0}):B;for(let J of tSQ(A))if(!eSQ.call(Y,J))Tk(Y,J,{get:()=>A[J],enumerable:!0});return Y};var R=(A,Q)=>()=>(Q||A((Q={exports:{}}).exports,Q),Q.exports);var x6=(A,Q)=>{for(var B in Q)Tk(A,B,{get:Q[B],enumerable:!0,configurable:!0,set:(Y)=>Q[B]=()=>Y})};var u=AkQ(import.meta.url);var go=R((No0,Sk)=>{var QkQ=Object.prototype.hasOwnProperty,xJ="~";function jV(){}if(Object.create){if(jV.prototype=Object.create(null),!new jV().__proto__)xJ=!1}function BkQ(A,Q,B){this.fn=A,this.context=Q,this.once=B||!1}function yo(A,Q,B,Y,J){if(typeof B!=="function")throw TypeError("The listener must be a function");var C=new BkQ(B,Y||A,J),X=xJ?xJ+Q:Q;if(!A._events[X])A._events[X]=C,A._eventsCount++;else if(!A._events[X].fn)A._events[X].push(C);else A._events[X]=[A._events[X],C];return A}function CM(A,Q){if(--A._eventsCount===0)A._events=new jV;else delete A._events[Q]}function UJ(){this._events=new jV,this._eventsCount=0}UJ.prototype.eventNames=function(){var Q=[],B,Y;if(this._eventsCount===0)return Q;for(Y in B=this._events)if(QkQ.call(B,Y))Q.push(xJ?Y.slice(1):Y);if(Object.getOwnPropertySymbols)return Q.concat(Object.getOwnPropertySymbols(B));return Q};UJ.prototype.listeners=function(Q){var B=xJ?xJ+Q:Q,Y=this._events[B];if(!Y)return[];if(Y.fn)return[Y.fn];for(var J=0,C=Y.length,X=Array(C);J<C;J++)X[J]=Y[J].fn;return X};UJ.prototype.listenerCount=function(Q){var B=xJ?xJ+Q:Q,Y=this._events[B];if(!Y)return 0;if(Y.fn)return 1;return Y.length};UJ.prototype.emit=function(Q,B,Y,J,C,X){var G=xJ?xJ+Q:Q;if(!this._events[G])return!1;var F=this._events[G],W=arguments.length,Z,U;if(F.fn){if(F.once)this.removeListener(Q,F.fn,void 0,!0);switch(W){case 1:return F.fn.call(F.context),!0;case 2:return F.fn.call(F.context,B),!0;case 3:return F.fn.call(F.context,B,Y),!0;case 4:return F.fn.call(F.context,B,Y,J),!0;case 5:return F.fn.call(F.context,B,Y,J,C),!0;case 6:return F.fn.call(F.context,B,Y,J,C,X),!0}for(U=1,Z=Array(W-1);U<W;U++)Z[U-1]=arguments[U];F.fn.apply(F.context,Z)}else{var $=F.length,E;for(U=0;U<$;U++){if(F[U].once)this.removeListener(Q,F[U].fn,void 0,!0);switch(W){case 1:F[U].fn.call(F[U].context);break;case 2:F[U].fn.call(F[U].context,B);break;case 3:F[U].fn.call(F[U].context,B,Y);break;case 4:F[U].fn.call(F[U].context,B,Y,J);break;default:if(!Z)for(E=1,Z=Array(W-1);E<W;E++)Z[E-1]=arguments[E];F[U].fn.apply(F[U].context,Z)}}}return!0};UJ.prototype.on=function(Q,B,Y){return yo(this,Q,B,Y,!1)};UJ.prototype.once=function(Q,B,Y){return yo(this,Q,B,Y,!0)};UJ.prototype.removeListener=function(Q,B,Y,J){var C=xJ?xJ+Q:Q;if(!this._events[C])return this;if(!B)return CM(this,C),this;var X=this._events[C];if(X.fn){if(X.fn===B&&(!J||X.once)&&(!Y||X.context===Y))CM(this,C)}else{for(var G=0,F=[],W=X.length;G<W;G++)if(X[G].fn!==B||J&&!X[G].once||Y&&X[G].context!==Y)F.push(X[G]);if(F.length)this._events[C]=F.length===1?F[0]:F;else CM(this,C)}return this};UJ.prototype.removeAllListeners=function(Q){var B;if(Q){if(B=xJ?xJ+Q:Q,this._events[B])CM(this,B)}else this._events=new jV,this._eventsCount=0;return this};UJ.prototype.off=UJ.prototype.removeListener;UJ.prototype.addListener=UJ.prototype.on;UJ.prefixed=xJ;UJ.EventEmitter=UJ;if(typeof Sk<"u")Sk.exports=UJ});var Nt=R((Le0,Dt)=>{Dt.exports=Ht;Ht.sync=Y_Q;var Vt=u("fs");function B_Q(A,Q){var B=Q.pathExt!==void 0?Q.pathExt:process.env.PATHEXT;if(!B)return!0;if(B=B.split(";"),B.indexOf("")!==-1)return!0;for(var Y=0;Y<B.length;Y++){var J=B[Y].toLowerCase();if(J&&A.substr(-J.length).toLowerCase()===J)return!0}return!1}function It(A,Q,B){if(!A.isSymbolicLink()&&!A.isFile())return!1;return B_Q(Q,B)}function Ht(A,Q,B){Vt.stat(A,function(Y,J){B(Y,Y?!1:It(J,A,Q))})}function Y_Q(A,Q){return It(Vt.statSync(A),A,Q)}});var Rt=R((qe0,zt)=>{zt.exports=qt;qt.sync=J_Q;var Lt=u("fs");function qt(A,Q,B){Lt.stat(A,function(Y,J){B(Y,Y?!1:Mt(J,Q))})}function J_Q(A,Q){return Mt(Lt.statSync(A),Q)}function Mt(A,Q){return A.isFile()&&C_Q(A,Q)}function C_Q(A,Q){var{mode:B,uid:Y,gid:J}=A,C=Q.uid!==void 0?Q.uid:process.getuid&&process.getuid(),X=Q.gid!==void 0?Q.gid:process.getgid&&process.getgid(),G=parseInt("100",8),F=parseInt("010",8),W=parseInt("001",8),Z=G|F,U=B&W||B&F&&J===X||B&G&&Y===C||B&Z&&C===0;return U}});var jt=R((ze0,wt)=>{var Me0=u("fs"),DM;if(process.platform==="win32"||global.TESTING_WINDOWS)DM=Nt();else DM=Rt();wt.exports=lk;lk.sync=X_Q;function lk(A,Q,B){if(typeof Q==="function")B=Q,Q={};if(!B){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(Y,J){lk(A,Q||{},function(C,X){if(C)J(C);else Y(X)})})}DM(A,Q||{},function(Y,J){if(Y){if(Y.code==="EACCES"||Q&&Q.ignoreErrors)Y=null,J=!1}B(Y,J)})}function X_Q(A,Q){try{return DM.sync(A,Q||{})}catch(B){if(Q&&Q.ignoreErrors||B.code==="EACCES")return!1;else throw B}}});var vt=R((Re0,_t)=>{var $4=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ot=u("path"),G_Q=$4?";":":",Pt=jt(),Tt=(A)=>Object.assign(Error(`not found: ${A}`),{code:"ENOENT"}),St=(A,Q)=>{let B=Q.colon||G_Q,Y=A.match(/\//)||$4&&A.match(/\\/)?[""]:[...$4?[process.cwd()]:[],...(Q.path||process.env.PATH||"").split(B)],J=$4?Q.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",C=$4?J.split(B):[""];if($4){if(A.indexOf(".")!==-1&&C[0]!=="")C.unshift("")}return{pathEnv:Y,pathExt:C,pathExtExe:J}},kt=(A,Q,B)=>{if(typeof Q==="function")B=Q,Q={};if(!Q)Q={};let{pathEnv:Y,pathExt:J,pathExtExe:C}=St(A,Q),X=[],G=(W)=>new Promise((Z,U)=>{if(W===Y.length)return Q.all&&X.length?Z(X):U(Tt(A));let $=Y[W],E=/^".*"$/.test($)?$.slice(1,-1):$,K=Ot.join(E,A),I=!E&&/^\.[\\\/]/.test(A)?A.slice(0,2)+K:K;Z(F(I,W,0))}),F=(W,Z,U)=>new Promise(($,E)=>{if(U===J.length)return $(G(Z+1));let K=J[U];Pt(W+K,{pathExt:C},(I,V)=>{if(!I&&V)if(Q.all)X.push(W+K);else return $(W+K);return $(F(W,Z,U+1))})});return B?G(0).then((W)=>B(null,W),B):G(0)},F_Q=(A,Q)=>{Q=Q||{};let{pathEnv:B,pathExt:Y,pathExtExe:J}=St(A,Q),C=[];for(let X=0;X<B.length;X++){let G=B[X],F=/^".*"$/.test(G)?G.slice(1,-1):G,W=Ot.join(F,A),Z=!F&&/^\.[\\\/]/.test(A)?A.slice(0,2)+W:W;for(let U=0;U<Y.length;U++){let $=Z+Y[U];try{if(Pt.sync($,{pathExt:J}))if(Q.all)C.push($);else return $}catch(E){}}}if(Q.all&&C.length)return C;if(Q.nothrow)return null;throw Tt(A)};_t.exports=kt;kt.sync=F_Q});var gt=R((we0,pk)=>{var yt=(A={})=>{let Q=A.env||process.env;if((A.platform||process.platform)!=="win32")return"PATH";return Object.keys(Q).reverse().find((Y)=>Y.toUpperCase()==="PATH")||"Path"};pk.exports=yt;pk.exports.default=yt});var bt=R((je0,ft)=>{var ht=u("path"),W_Q=vt(),Z_Q=gt();function xt(A,Q){let B=A.options.env||process.env,Y=process.cwd(),J=A.options.cwd!=null,C=J&&process.chdir!==void 0&&!process.chdir.disabled;if(C)try{process.chdir(A.options.cwd)}catch(G){}let X;try{X=W_Q.sync(A.command,{path:B[Z_Q({env:B})],pathExt:Q?ht.delimiter:void 0})}catch(G){}finally{if(C)process.chdir(Y)}if(X)X=ht.resolve(J?A.options.cwd:"",X);return X}function $_Q(A){return xt(A)||xt(A,!0)}ft.exports=$_Q});var mt=R((K_Q,nk)=>{var ik=/([()\][%!^"`<>&|;, *?])/g;function U_Q(A){return A=A.replace(ik,"^$1"),A}function E_Q(A,Q){if(A=`${A}`,A=A.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),A=A.replace(/(?=(\\+?)?)\1$/,"$1$1"),A=`"${A}"`,A=A.replace(ik,"^$1"),Q)A=A.replace(ik,"^$1");return A}K_Q.command=U_Q;K_Q.argument=E_Q});var dt=R((Oe0,ut)=>{ut.exports=/^#!(.*)/});var lt=R((Pe0,ct)=>{var H_Q=dt();ct.exports=(A="")=>{let Q=A.match(H_Q);if(!Q)return null;let[B,Y]=Q[0].replace(/#! ?/,"").split(" "),J=B.split("/").pop();if(J==="env")return Y;return Y?`${J} ${Y}`:J}});var it=R((Te0,pt)=>{var sk=u("fs"),D_Q=lt();function N_Q(A){let B=Buffer.alloc(150),Y;try{Y=sk.openSync(A,"r"),sk.readSync(Y,B,0,150,0),sk.closeSync(Y)}catch(J){}return D_Q(B.toString())}pt.exports=N_Q});var at=R((Se0,rt)=>{var L_Q=u("path"),nt=bt(),st=mt(),q_Q=it(),M_Q=process.platform==="win32",z_Q=/\.(?:com|exe)$/i,R_Q=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function w_Q(A){A.file=nt(A);let Q=A.file&&q_Q(A.file);if(Q)return A.args.unshift(A.file),A.command=Q,nt(A);return A.file}function j_Q(A){if(!M_Q)return A;let Q=w_Q(A),B=!z_Q.test(Q);if(A.options.forceShell||B){let Y=R_Q.test(Q);A.command=L_Q.normalize(A.command),A.command=st.command(A.command),A.args=A.args.map((C)=>st.argument(C,Y));let J=[A.command].concat(A.args).join(" ");A.args=["/d","/s","/c",`"${J}"`],A.command=process.env.comspec||"cmd.exe",A.options.windowsVerbatimArguments=!0}return A}function O_Q(A,Q,B){if(Q&&!Array.isArray(Q))B=Q,Q=null;Q=Q?Q.slice(0):[],B=Object.assign({},B);let Y={command:A,args:Q,options:B,file:void 0,original:{command:A,args:Q}};return B.shell?Y:j_Q(Y)}rt.exports=O_Q});var et=R((ke0,tt)=>{var rk=process.platform==="win32";function ak(A,Q){return Object.assign(Error(`${Q} ${A.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Q} ${A.command}`,path:A.command,spawnargs:A.args})}function P_Q(A,Q){if(!rk)return;let B=A.emit;A.emit=function(Y,J){if(Y==="exit"){let C=ot(J,Q);if(C)return B.call(A,"error",C)}return B.apply(A,arguments)}}function ot(A,Q){if(rk&&A===1&&!Q.file)return ak(Q.original,"spawn");return null}function T_Q(A,Q){if(rk&&A===1&&!Q.file)return ak(Q.original,"spawnSync");return null}tt.exports={hookChildProcess:P_Q,verifyENOENT:ot,verifyENOENTSync:T_Q,notFoundError:ak}});var Be=R((_e0,U4)=>{var Ae=u("child_process"),ok=at(),tk=et();function Qe(A,Q,B){let Y=ok(A,Q,B),J=Ae.spawn(Y.command,Y.args,Y.options);return tk.hookChildProcess(J,Y),J}function S_Q(A,Q,B){let Y=ok(A,Q,B),J=Ae.spawnSync(Y.command,Y.args,Y.options);return J.error=J.error||tk.verifyENOENTSync(J.status,Y),J}U4.exports=Qe;U4.exports.spawn=Qe;U4.exports.sync=S_Q;U4.exports._parse=ok;U4.exports._enoent=tk});var Fv=R((x5Y,eBA)=>{eBA.exports=oBA;function oBA(A,Q,B){if(A instanceof RegExp)A=aBA(A,B);if(Q instanceof RegExp)Q=aBA(Q,B);var Y=tBA(A,Q,B);return Y&&{start:Y[0],end:Y[1],pre:B.slice(0,Y[0]),body:B.slice(Y[0]+A.length,Y[1]),post:B.slice(Y[1]+Q.length)}}function aBA(A,Q){var B=Q.match(A);return B?B[0]:null}oBA.range=tBA;function tBA(A,Q,B){var Y,J,C,X,G,F=B.indexOf(A),W=B.indexOf(Q,F+1),Z=F;if(F>=0&&W>0){if(A===Q)return[F,W];Y=[],C=B.length;while(Z>=0&&!G){if(Z==F)Y.push(Z),F=B.indexOf(A,Z+1);else if(Y.length==1)G=[Y.pop(),W];else{if(J=Y.pop(),J<C)C=J,X=W;W=B.indexOf(Q,Z+1)}Z=F<W&&F>=0?F:W}if(Y.length)G=[C,X]}return G}});var G0A=R((f5Y,X0A)=>{var A0A=Fv();X0A.exports=vfQ;var Q0A="\x00SLASH"+Math.random()+"\x00",B0A="\x00OPEN"+Math.random()+"\x00",Zv="\x00CLOSE"+Math.random()+"\x00",Y0A="\x00COMMA"+Math.random()+"\x00",J0A="\x00PERIOD"+Math.random()+"\x00";function Wv(A){return parseInt(A,10)==A?parseInt(A,10):A.charCodeAt(0)}function kfQ(A){return A.split("\\\\").join(Q0A).split("\\{").join(B0A).split("\\}").join(Zv).split("\\,").join(Y0A).split("\\.").join(J0A)}function _fQ(A){return A.split(Q0A).join("\\").split(B0A).join("{").split(Zv).join("}").split(Y0A).join(",").split(J0A).join(".")}function C0A(A){if(!A)return[""];var Q=[],B=A0A("{","}",A);if(!B)return A.split(",");var{pre:Y,body:J,post:C}=B,X=Y.split(",");X[X.length-1]+="{"+J+"}";var G=C0A(C);if(C.length)X[X.length-1]+=G.shift(),X.push.apply(X,G);return Q.push.apply(Q,X),Q}function vfQ(A){if(!A)return[];if(A.substr(0,2)==="{}")A="\\{\\}"+A.substr(2);return lV(kfQ(A),!0).map(_fQ)}function yfQ(A){return"{"+A+"}"}function gfQ(A){return/^-?0\d/.test(A)}function hfQ(A,Q){return A<=Q}function xfQ(A,Q){return A>=Q}function lV(A,Q){var B=[],Y=A0A("{","}",A);if(!Y)return[A];var J=Y.pre,C=Y.post.length?lV(Y.post,!1):[""];if(/\$$/.test(Y.pre))for(var X=0;X<C.length;X++){var G=J+"{"+Y.body+"}"+C[X];B.push(G)}else{var F=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(Y.body),W=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(Y.body),Z=F||W,U=Y.body.indexOf(",")>=0;if(!Z&&!U){if(Y.post.match(/,.*\}/))return A=Y.pre+"{"+Y.body+Zv+Y.post,lV(A);return[A]}var $;if(Z)$=Y.body.split(/\.\./);else if($=C0A(Y.body),$.length===1){if($=lV($[0],!1).map(yfQ),$.length===1)return C.map(function(_){return Y.pre+$[0]+_})}var E;if(Z){var K=Wv($[0]),I=Wv($[1]),V=Math.max($[0].length,$[1].length),H=$.length==3?Math.abs(Wv($[2])):1,D=hfQ,L=I<K;if(L)H*=-1,D=xfQ;var z=$.some(gfQ);E=[];for(var M=K;D(M,I);M+=H){var N;if(W){if(N=String.fromCharCode(M),N==="\\")N=""}else if(N=String(M),z){var q=V-N.length;if(q>0){var w=Array(q+1).join("0");if(M<0)N="-"+w+N.slice(1);else N=w+N}}E.push(N)}}else{E=[];for(var P=0;P<$.length;P++)E.push.apply(E,lV($[P],!1))}for(var P=0;P<E.length;P++)for(var X=0;X<C.length;X++){var G=J+E[P]+C[X];if(!Q||Z||G)B.push(G)}}return B}});var _v=R((_mQ)=>{function TmQ(A,Q,B,C){var J=0,C=C===void 0?{}:C,X=C.loop===void 0?null:C.loop,G=C.palette===void 0?null:C.palette;if(Q<=0||B<=0||Q>65535||B>65535)throw Error("Width/Height invalid.");function F(V){var H=V.length;if(H<2||H>256||H&H-1)throw Error("Invalid code/color length, must be power of 2 and 2 .. 256.");return H}A[J++]=71,A[J++]=73,A[J++]=70,A[J++]=56,A[J++]=57,A[J++]=97;var W=0,Z=0;if(G!==null){var U=F(G);while(U>>=1)++W;if(U=1<<W,--W,C.background!==void 0){if(Z=C.background,Z>=U)throw Error("Background index out of range.");if(Z===0)throw Error("Background index explicitly passed as 0.")}}if(A[J++]=Q&255,A[J++]=Q>>8&255,A[J++]=B&255,A[J++]=B>>8&255,A[J++]=(G!==null?128:0)|W,A[J++]=Z,A[J++]=0,G!==null)for(var $=0,E=G.length;$<E;++$){var K=G[$];A[J++]=K>>16&255,A[J++]=K>>8&255,A[J++]=K&255}if(X!==null){if(X<0||X>65535)throw Error("Loop count invalid.");A[J++]=33,A[J++]=255,A[J++]=11,A[J++]=78,A[J++]=69,A[J++]=84,A[J++]=83,A[J++]=67,A[J++]=65,A[J++]=80,A[J++]=69,A[J++]=50,A[J++]=46,A[J++]=48,A[J++]=3,A[J++]=1,A[J++]=X&255,A[J++]=X>>8&255,A[J++]=0}var I=!1;this.addFrame=function(V,H,D,L,z,M){if(I===!0)--J,I=!1;if(M=M===void 0?{}:M,V<0||H<0||V>65535||H>65535)throw Error("x/y invalid.");if(D<=0||L<=0||D>65535||L>65535)throw Error("Width/Height invalid.");if(z.length<D*L)throw Error("Not enough pixels for the frame size.");var N=!0,q=M.palette;if(q===void 0||q===null)N=!1,q=G;if(q===void 0||q===null)throw Error("Must supply either a local or global palette.");var w=F(q),P=0;while(w>>=1)++P;w=1<<P;var _=M.delay===void 0?0:M.delay,O=M.disposal===void 0?0:M.disposal;if(O<0||O>3)throw Error("Disposal out of range.");var k=!1,T=0;if(M.transparent!==void 0&&M.transparent!==null){if(k=!0,T=M.transparent,T<0||T>=w)throw Error("Transparent color index.")}if(O!==0||k||_!==0)A[J++]=33,A[J++]=249,A[J++]=4,A[J++]=O<<2|(k===!0?1:0),A[J++]=_&255,A[J++]=_>>8&255,A[J++]=T,A[J++]=0;if(A[J++]=44,A[J++]=V&255,A[J++]=V>>8&255,A[J++]=H&255,A[J++]=H>>8&255,A[J++]=D&255,A[J++]=D>>8&255,A[J++]=L&255,A[J++]=L>>8&255,A[J++]=N===!0?128|P-1:0,N===!0)for(var S=0,v=q.length;S<v;++S){var y=q[S];A[J++]=y>>16&255,A[J++]=y>>8&255,A[J++]=y&255}return J=SmQ(A,J,P<2?2:P,z),J},this.end=function(){if(I===!1)A[J++]=59,I=!0;return J},this.getOutputBuffer=function(){return A},this.setOutputBuffer=function(V){A=V},this.getOutputBufferPosition=function(){return J},this.setOutputBufferPosition=function(V){J=V}}function SmQ(A,Q,B,Y){A[Q++]=B;var J=Q++,C=1<<B,X=C-1,G=C+1,F=G+1,W=B+1,Z=0,U=0;function $(M){while(Z>=M)if(A[Q++]=U&255,U>>=8,Z-=8,Q===J+256)A[J]=255,J=Q++}function E(M){U|=M<<Z,Z+=W,$(8)}var K=Y[0]&X,I={};E(C);for(var V=1,H=Y.length;V<H;++V){var D=Y[V]&X,L=K<<8|D,z=I[L];if(z===void 0){U|=K<<Z,Z+=W;while(Z>=8)if(A[Q++]=U&255,U>>=8,Z-=8,Q===J+256)A[J]=255,J=Q++;if(F===4096)E(C),F=G+1,W=B+1,I={};else{if(F>=1<<W)++W;I[L]=F++}K=D}else K=z}if(E(K),E(G),$(1),J+1===Q)A[J]=0;else A[J]=Q-J-1,A[Q++]=0;return Q}function kmQ(A){var Q=0;if(A[Q++]!==71||A[Q++]!==73||A[Q++]!==70||A[Q++]!==56||(A[Q++]+1&253)!==56||A[Q++]!==97)throw Error("Invalid GIF 87a/89a header.");var B=A[Q++]|A[Q++]<<8,Y=A[Q++]|A[Q++]<<8,J=A[Q++],C=J>>7,X=J&7,G=1<<X+1,F=A[Q++];A[Q++];var W=null,Z=null;if(C)W=Q,Z=G,Q+=G*3;var U=!0,$=[],E=0,K=null,I=0,V=null;this.width=B,this.height=Y;while(U&&Q<A.length)switch(A[Q++]){case 33:switch(A[Q++]){case 255:if(A[Q]!==11||A[Q+1]==78&&A[Q+2]==69&&A[Q+3]==84&&A[Q+4]==83&&A[Q+5]==67&&A[Q+6]==65&&A[Q+7]==80&&A[Q+8]==69&&A[Q+9]==50&&A[Q+10]==46&&A[Q+11]==48&&A[Q+12]==3&&A[Q+13]==1&&A[Q+16]==0)Q+=14,V=A[Q++]|A[Q++]<<8,Q++;else{Q+=12;while(!0){var H=A[Q++];if(!(H>=0))throw Error("Invalid block size");if(H===0)break;Q+=H}}break;case 249:if(A[Q++]!==4||A[Q+4]!==0)throw Error("Invalid graphics extension block.");var D=A[Q++];if(E=A[Q++]|A[Q++]<<8,K=A[Q++],(D&1)===0)K=null;I=D>>2&7,Q++;break;case 254:while(!0){var H=A[Q++];if(!(H>=0))throw Error("Invalid block size");if(H===0)break;Q+=H}break;default:throw Error("Unknown graphic control label: 0x"+A[Q-1].toString(16))}break;case 44:var L=A[Q++]|A[Q++]<<8,z=A[Q++]|A[Q++]<<8,M=A[Q++]|A[Q++]<<8,N=A[Q++]|A[Q++]<<8,q=A[Q++],w=q>>7,P=q>>6&1,_=q&7,O=1<<_+1,k=W,T=Z,S=!1;if(w){var S=!0;k=Q,T=O,Q+=O*3}var v=Q;Q++;while(!0){var H=A[Q++];if(!(H>=0))throw Error("Invalid block size");if(H===0)break;Q+=H}$.push({x:L,y:z,width:M,height:N,has_local_palette:S,palette_offset:k,palette_size:T,data_offset:v,data_length:Q-v,transparent_index:K,interlaced:!!P,delay:E,disposal:I});break;case 59:U=!1;break;default:throw Error("Unknown gif block: 0x"+A[Q-1].toString(16))}this.numFrames=function(){return $.length},this.loopCount=function(){return V},this.frameInfo=function(y){if(y<0||y>=$.length)throw Error("Frame index out of range.");return $[y]},this.decodeAndBlitFrameBGRA=function(y,h){var g=this.frameInfo(y),m=g.width*g.height,i=new Uint8Array(m);UYA(A,g.data_offset,i,m);var{palette_offset:p,transparent_index:l}=g;if(l===null)l=256;var d=g.width,x=B-d,b=d,o=(g.y*B+g.x)*4,GA=((g.y+g.height)*B+g.x)*4,VA=o,EA=x*4;if(g.interlaced===!0)EA+=B*4*7;var UA=8;for(var CA=0,QA=i.length;CA<QA;++CA){var KA=i[CA];if(b===0){if(VA+=EA,b=d,VA>=GA)EA=x*4+B*4*(UA-1),VA=o+(d+x)*(UA<<1),UA>>=1}if(KA===l)VA+=4;else{var HA=A[p+KA*3],DA=A[p+KA*3+1],hA=A[p+KA*3+2];h[VA++]=hA,h[VA++]=DA,h[VA++]=HA,h[VA++]=255}--b}},this.decodeAndBlitFrameRGBA=function(y,h){var g=this.frameInfo(y),m=g.width*g.height,i=new Uint8Array(m);UYA(A,g.data_offset,i,m);var{palette_offset:p,transparent_index:l}=g;if(l===null)l=256;var d=g.width,x=B-d,b=d,o=(g.y*B+g.x)*4,GA=((g.y+g.height)*B+g.x)*4,VA=o,EA=x*4;if(g.interlaced===!0)EA+=B*4*7;var UA=8;for(var CA=0,QA=i.length;CA<QA;++CA){var KA=i[CA];if(b===0){if(VA+=EA,b=d,VA>=GA)EA=x*4+B*4*(UA-1),VA=o+(d+x)*(UA<<1),UA>>=1}if(KA===l)VA+=4;else{var HA=A[p+KA*3],DA=A[p+KA*3+1],hA=A[p+KA*3+2];h[VA++]=HA,h[VA++]=DA,h[VA++]=hA,h[VA++]=255}--b}}}function UYA(A,Q,B,Y){var J=A[Q++],C=1<<J,X=C+1,G=X+1,F=J+1,W=(1<<F)-1,Z=0,U=0,$=0,E=A[Q++],K=new Int32Array(4096),I=null;while(!0){while(Z<16){if(E===0)break;if(U|=A[Q++]<<Z,Z+=8,E===1)E=A[Q++];else--E}if(Z<F)break;var V=U&W;if(U>>=F,Z-=F,V===C){G=X+1,F=J+1,W=(1<<F)-1,I=null;continue}else if(V===X)break;var H=V<G?V:I,D=0,L=H;while(L>C)L=K[L]>>8,++D;var z=L,M=$+D+(H!==V?1:0);if(M>Y){console.log("Warning, gif stream longer than expected.");return}B[$++]=z,$+=D;var N=$;if(H!==V)B[$++]=z;L=H;while(D--)L=K[L],B[--N]=L&255,L>>=8;if(I!==null&&G<4096){if(K[G++]=I<<8|z,G>=W+1&&F<12)++F,W=W<<1|1}I=V}if($!==Y)console.log("Warning, gif stream shorter than expected.");return B}try{_mQ.GifWriter=TmQ,_mQ.GifReader=kmQ}catch(A){}});var xz=R((F1Y,EYA)=>{class WI{constructor(...A){if(A.length===0)throw Error("constructor requires parameters");let Q=A[0];if(Q!==null&&typeof Q==="object")if(Q instanceof WI){let B=Q.bitmap;this.bitmap={width:B.width,height:B.height,data:new Buffer(B.width*B.height*4)},B.data.copy(this.bitmap.data)}else if(Q.width&&Q.height&&Q.data)this.bitmap=Q;else throw Error("unrecognized constructor parameters");else if(typeof Q==="number"&&typeof A[1]==="number"){let B=Q,Y=A[1],J=A[2];if(this.bitmap={width:B,height:Y},Buffer.isBuffer(J))this.bitmap.data=J;else if(this.bitmap.data=new Buffer(B*Y*4),typeof J==="number")this.fillRGBA(J)}else throw Error("unrecognized constructor parameters")}blit(A,Q,B,Y,J,C,X){if(Y+C>this.bitmap.width)throw Error("copy exceeds width of source bitmap");if(Q+C>A.bitmap.width)throw Error("copy exceeds width of target bitmap");if(J+X>this.bitmap.height)throw Error("copy exceeds height of source bitmap");if(B+X>A.bitmap.height)throw new Erro("copy exceeds height of target bitmap");let G=this.bitmap.data,F=A.bitmap.data,W=this.bitmap.width*4,Z=A.bitmap.width*4,U=C*4,$=J*W+Y*4,E=B*Z+Q*4;while(--X>=0)G.copy(F,E,$,$+U),$+=W,E+=Z;return this}fillRGBA(A){let Q=this.bitmap.data,B=this.bitmap.height*4,Y=0;while(Y<B)Q.writeUInt32BE(A,Y),Y+=4;while(Y<Q.length)Q.copy(Q,Y,0,B),Y+=B;return this}getRGBA(A,Q){let B=(Q*this.bitmap.width+A)*4;return this.bitmap.data.readUInt32BE(B)}getRGBASet(){let A=new Set,Q=this.bitmap.data;for(let B=0;B<Q.length;B+=4)A.add(Q.readUInt32BE(B,!0));return A}greyscale(){let A=this.bitmap.data;return this.scan(0,0,this.bitmap.width,this.bitmap.height,(Q,B,Y)=>{let J=Math.round(0.299*A[Y]+0.587*A[Y+1]+0.114*A[Y+2]);A[Y]=J,A[Y+1]=J,A[Y+2]=J}),this}reframe(A,Q,B,Y,J){let C=A<0?0:A,X=Q<0?0:Q,G=B+C>this.bitmap.width?this.bitmap.width-C:B,F=Y+X>this.bitmap.height?this.bitmap.height-X:Y,W=A<0?-A:0,Z=Q<0?-Q:0,U;if(J===void 0){if(C!==A||X!=Q||G!==B||F!==Y)throw new GifError("fillRGBA required for this reframing");U=new WI(B,Y)}else U=new WI(B,Y,J);return this.blit(U,W,Z,C,X,G,F),this.bitmap=U.bitmap,this}scale(A){if(A===1)return;if(!Number.isInteger(A)||A<1)throw Error("the scale must be an integer >= 1");let Q=this.bitmap.width,B=this.bitmap.height,Y=Q*A*4,J=this.bitmap.data,C=new Buffer(B*Y*A),X=0,G,F=0;for(let W=0;W<B;++W){G=F;for(let Z=0;Z<Q;++Z){let U=J.readUInt32BE(X,!0);for(let $=0;$<A;++$)C.writeUInt32BE(U,F),F+=4;X+=4}for(let Z=1;Z<A;++Z)C.copy(C,F,G,F),F+=Y,G+=Y}return this.bitmap={width:Q*A,height:B*A,data:C},this}scanAllCoords(A){let Q=this.bitmap.width,B=this.bitmap.data.length,Y=0,J=0;for(let C=0;C<B;C+=4)if(A(Y,J,C),++Y===Q)Y=0,++J}scanAllIndexes(A){let Q=this.bitmap.data.length;for(let B=0;B<Q;B+=4)A(B)}}EYA.exports=WI});var $I=R((vmQ)=>{class ZI{constructor(A,Q,B){this.width=B.width,this.height=B.height,this.loops=B.loops,this.usesTransparency=B.usesTransparency,this.colorScope=B.colorScope,this.frames=Q,this.buffer=A}}ZI.GlobalColorsPreferred=0;ZI.GlobalColorsOnly=1;ZI.LocalColorsOnly=2;class KYA extends Error{constructor(A){super(A);if(A instanceof Error)this.stack="Gif"+A.stack}}vmQ.Gif=ZI;vmQ.GifError=KYA});var YJA=R((Z1Y,BJA)=>{var{defineProperty:mz,getOwnPropertyDescriptor:hmQ,getOwnPropertyNames:xmQ}=Object,fmQ=Object.prototype.hasOwnProperty,bmQ=(A,Q,B)=>(Q in A)?mz(A,Q,{enumerable:!0,configurable:!0,writable:!0,value:B}):A[Q]=B,mmQ=(A)=>mz(A,"__esModule",{value:!0}),R1=(A,Q)=>{for(var B in Q)mz(A,B,{get:Q[B],enumerable:!0})},umQ=(A,Q,B,Y)=>{if(Q&&typeof Q==="object"||typeof Q==="function"){for(let J of xmQ(Q))if(!fmQ.call(A,J)&&(B||J!=="default"))mz(A,J,{get:()=>Q[J],enumerable:!(Y=hmQ(Q,J))||Y.enumerable})}return A},dmQ=((A)=>{return(Q,B)=>{return A&&A.get(Q)||(B=umQ(mmQ({}),Q,1),A&&A.set(Q,B),B)}})(typeof WeakMap<"u"?new WeakMap:0),WA=(A,Q,B)=>{return bmQ(A,typeof Q!=="symbol"?Q+"":Q,B),B},DYA={};R1(DYA,{applyPalette:()=>WuQ,applyPaletteSync:()=>FuQ,buildPalette:()=>GuQ,buildPaletteSync:()=>XuQ,constants:()=>NYA,conversion:()=>RYA,distance:()=>_YA,image:()=>aYA,palette:()=>lYA,quality:()=>eYA,utils:()=>pYA});var NYA={};R1(NYA,{bt709:()=>LYA});var LYA={};R1(LYA,{Y:()=>qYA,x:()=>MYA,y:()=>zYA});var qYA=((A)=>{return A[A.RED=0.2126]="RED",A[A.GREEN=0.7152]="GREEN",A[A.BLUE=0.0722]="BLUE",A[A.WHITE=1]="WHITE",A})(qYA||{}),MYA=((A)=>{return A[A.RED=0.64]="RED",A[A.GREEN=0.3]="GREEN",A[A.BLUE=0.15]="BLUE",A[A.WHITE=0.3127]="WHITE",A})(MYA||{}),zYA=((A)=>{return A[A.RED=0.33]="RED",A[A.GREEN=0.6]="GREEN",A[A.BLUE=0.06]="BLUE",A[A.WHITE=0.329]="WHITE",A})(zYA||{}),RYA={};R1(RYA,{lab2rgb:()=>amQ,lab2xyz:()=>SYA,rgb2hsl:()=>fz,rgb2lab:()=>EI,rgb2xyz:()=>wYA,xyz2lab:()=>TYA,xyz2rgb:()=>kYA});function vv(A){return A>0.04045?((A+0.055)/1.055)**2.4:A/12.92}function wYA(A,Q,B){return A=vv(A/255),Q=vv(Q/255),B=vv(B/255),{x:A*0.4124+Q*0.3576+B*0.1805,y:A*0.2126+Q*0.7152+B*0.0722,z:A*0.0193+Q*0.1192+B*0.9505}}var jYA={};R1(jYA,{degrees2radians:()=>l6,inRange0to255:()=>J8,inRange0to255Rounded:()=>t8,intInRange:()=>cmQ,max3:()=>OYA,min3:()=>PYA,stableSort:()=>fv});function l6(A){return A*(Math.PI/180)}function OYA(A,Q,B){let Y=A;if(Y<Q)Y=Q;if(Y<B)Y=B;return Y}function PYA(A,Q,B){let Y=A;if(Y>Q)Y=Q;if(Y>B)Y=B;return Y}function cmQ(A,Q,B){if(A>B)A=B;if(A<Q)A=Q;return A|0}function t8(A){if(A=Math.round(A),A>255)A=255;else if(A<0)A=0;return A}function J8(A){if(A>255)A=255;else if(A<0)A=0;return A}function fv(A,Q){let B=typeof A[0],Y;if(B==="number"||B==="string"){let J=Object.create(null);for(let C=0,X=A.length;C<X;C++){let G=A[C];if(J[G]||J[G]===0)continue;J[G]=C}Y=A.sort((C,X)=>Q(C,X)||J[C]-J[X])}else{let J=A.slice(0);Y=A.sort((C,X)=>Q(C,X)||J.indexOf(C)-J.indexOf(X))}return Y}function fz(A,Q,B){let Y=PYA(A,Q,B),J=OYA(A,Q,B),C=J-Y,X=(Y+J)/510,G=0;if(X>0&&X<1)G=C/(X<0.5?J+Y:510-J-Y);let F=0;if(C>0){if(J===A)F=(Q-B)/C;else if(J===Q)F=2+(B-A)/C;else F=4+(A-Q)/C;if(F*=60,F<0)F+=360}return{h:F,s:G,l:X}}var lmQ=0.95047,pmQ=1,imQ=1.08883;function yv(A){return A>0.008856?A**0.3333333333333333:7.787*A+0.13793103448275862}function TYA(A,Q,B){if(A=yv(A/lmQ),Q=yv(Q/pmQ),B=yv(B/imQ),116*Q-16<0)throw Error("xxx");return{L:Math.max(0,116*Q-16),a:500*(A-Q),b:200*(Q-B)}}function EI(A,Q,B){let Y=wYA(A,Q,B);return TYA(Y.x,Y.y,Y.z)}var nmQ=0.95047,smQ=1,rmQ=1.08883;function gv(A){return A>0.206893034?A**3:(A-0.13793103448275862)/7.787}function SYA(A,Q,B){let Y=(A+16)/116,J=Q/500+Y,C=Y-B/200;return{x:nmQ*gv(J),y:smQ*gv(Y),z:rmQ*gv(C)}}function hv(A){return A>0.0031308?1.055*A**0.4166666666666667-0.055:12.92*A}function kYA(A,Q,B){let Y=hv(A*3.2406+Q*-1.5372+B*-0.4986),J=hv(A*-0.9689+Q*1.8758+B*0.0415),C=hv(A*0.0557+Q*-0.204+B*1.057);return{r:t8(Y*255),g:t8(J*255),b:t8(C*255)}}function amQ(A,Q,B){let Y=SYA(A,Q,B);return kYA(Y.x,Y.y,Y.z)}var _YA={};R1(_YA,{AbstractDistanceCalculator:()=>wW,AbstractEuclidean:()=>uz,AbstractManhattan:()=>dz,CIE94GraphicArts:()=>gYA,CIE94Textiles:()=>yYA,CIEDE2000:()=>VC,CMetric:()=>hYA,Euclidean:()=>xYA,EuclideanBT709:()=>fYA,EuclideanBT709NoAlpha:()=>bYA,Manhattan:()=>mYA,ManhattanBT709:()=>dYA,ManhattanNommyde:()=>uYA,PNGQuant:()=>cYA});var wW=class{constructor(){WA(this,"_maxDistance"),WA(this,"_whitePoint"),this._setDefaults(),this.setWhitePoint(255,255,255,255)}setWhitePoint(A,Q,B,Y){this._whitePoint={r:A>0?255/A:0,g:Q>0?255/Q:0,b:B>0?255/B:0,a:Y>0?255/Y:0},this._maxDistance=this.calculateRaw(A,Q,B,Y,0,0,0,0)}calculateNormalized(A,Q){return this.calculateRaw(A.r,A.g,A.b,A.a,Q.r,Q.g,Q.b,Q.a)/this._maxDistance}},vYA=class extends wW{calculateRaw(A,Q,B,Y,J,C,X,G){let F=EI(J8(A*this._whitePoint.r),J8(Q*this._whitePoint.g),J8(B*this._whitePoint.b)),W=EI(J8(J*this._whitePoint.r),J8(C*this._whitePoint.g),J8(X*this._whitePoint.b)),Z=F.L-W.L,U=F.a-W.a,$=F.b-W.b,E=Math.sqrt(F.a*F.a+F.b*F.b),K=Math.sqrt(W.a*W.a+W.b*W.b),I=E-K,V=U*U+$*$-I*I;V=V<0?0:Math.sqrt(V);let H=(G-Y)*this._whitePoint.a*this._kA;return Math.sqrt((Z/this._Kl)**2+(I/(1+this._K1*E))**2+(V/(1+this._K2*E))**2+H**2)}},yYA=class extends vYA{_setDefaults(){this._Kl=2,this._K1=0.048,this._K2=0.014,this._kA=0.049019607843137254}},gYA=class extends vYA{_setDefaults(){this._Kl=1,this._K1=0.045,this._K2=0.015,this._kA=0.09803921568627451}},L0=class extends wW{_setDefaults(){}static _calculatehp(A,Q){let B=Math.atan2(A,Q);if(B>=0)return B;return B+L0._deg360InRad}static _calculateRT(A,Q){let B=Q**7,Y=2*Math.sqrt(B/(B+L0._pow25to7)),J=L0._deg30InRad*Math.exp(-(((A-L0._deg275InRad)/L0._deg25InRad)**2));return-Math.sin(2*J)*Y}static _calculateT(A){return 1-0.17*Math.cos(A-L0._deg30InRad)+0.24*Math.cos(A*2)+0.32*Math.cos(A*3+L0._deg6InRad)-0.2*Math.cos(A*4-L0._deg63InRad)}static _calculate_ahp(A,Q,B,Y){let J=B+Y;if(A===0)return J;if(Q<=L0._deg180InRad)return J/2;if(J<L0._deg360InRad)return(J+L0._deg360InRad)/2;return(J-L0._deg360InRad)/2}static _calculate_dHp(A,Q,B,Y){let J;if(A===0)J=0;else if(Q<=L0._deg180InRad)J=B-Y;else if(B<=Y)J=B-Y+L0._deg360InRad;else J=B-Y-L0._deg360InRad;return 2*Math.sqrt(A)*Math.sin(J/2)}calculateRaw(A,Q,B,Y,J,C,X,G){let F=EI(J8(A*this._whitePoint.r),J8(Q*this._whitePoint.g),J8(B*this._whitePoint.b)),W=EI(J8(J*this._whitePoint.r),J8(C*this._whitePoint.g),J8(X*this._whitePoint.b)),Z=(G-Y)*this._whitePoint.a*L0._kA,U=this.calculateRawInLab(F,W);return Math.sqrt(U+Z*Z)}calculateRawInLab(A,Q){let{L:B,a:Y,b:J}=A,C=Q.L,X=Q.a,G=Q.b,F=Math.sqrt(Y*Y+J*J),W=Math.sqrt(X*X+G*G),Z=((F+W)/2)**7,U=0.5*(1-Math.sqrt(Z/(Z+L0._pow25to7))),$=(1+U)*Y,E=(1+U)*X,K=Math.sqrt($*$+J*J),I=Math.sqrt(E*E+G*G),V=K*I,H=L0._calculatehp(J,$),D=L0._calculatehp(G,E),L=Math.abs(H-D),z=C-B,M=I-K,N=L0._calculate_dHp(V,L,D,H),q=L0._calculate_ahp(V,L,H,D),w=L0._calculateT(q),P=(K+I)/2,_=((B+C)/2-50)**2,O=1+0.015*_/Math.sqrt(20+_),k=1+0.045*P,T=1+0.015*w*P,S=L0._calculateRT(q,P),v=z/O,y=M/k,h=N/T;return v**2+y**2+h**2+S*y*h}},VC=L0;WA(VC,"_kA",0.09803921568627451);WA(VC,"_pow25to7",6103515625);WA(VC,"_deg360InRad",l6(360));WA(VC,"_deg180InRad",l6(180));WA(VC,"_deg30InRad",l6(30));WA(VC,"_deg6InRad",l6(6));WA(VC,"_deg63InRad",l6(63));WA(VC,"_deg275InRad",l6(275));WA(VC,"_deg25InRad",l6(25));var hYA=class extends wW{calculateRaw(A,Q,B,Y,J,C,X,G){let F=(A+J)/2*this._whitePoint.r,W=(A-J)*this._whitePoint.r,Z=(Q-C)*this._whitePoint.g,U=(B-X)*this._whitePoint.b,$=((512+F)*W*W>>8)+4*Z*Z+((767-F)*U*U>>8),E=(G-Y)*this._whitePoint.a;return Math.sqrt($+E*E)}_setDefaults(){}},uz=class extends wW{calculateRaw(A,Q,B,Y,J,C,X,G){let F=J-A,W=C-Q,Z=X-B,U=G-Y;return Math.sqrt(this._kR*F*F+this._kG*W*W+this._kB*Z*Z+this._kA*U*U)}},xYA=class extends uz{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},fYA=class extends uz{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},bYA=class extends uz{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=0}},dz=class extends wW{calculateRaw(A,Q,B,Y,J,C,X,G){let F=J-A,W=C-Q,Z=X-B,U=G-Y;if(F<0)F=0-F;if(W<0)W=0-W;if(Z<0)Z=0-Z;if(U<0)U=0-U;return this._kR*F+this._kG*W+this._kB*Z+this._kA*U}},mYA=class extends dz{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},uYA=class extends dz{_setDefaults(){this._kR=0.4984,this._kG=0.8625,this._kB=0.2979,this._kA=1}},dYA=class extends dz{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},cYA=class extends wW{calculateRaw(A,Q,B,Y,J,C,X,G){let F=(G-Y)*this._whitePoint.a;return this._colordifferenceCh(A*this._whitePoint.r,J*this._whitePoint.r,F)+this._colordifferenceCh(Q*this._whitePoint.g,C*this._whitePoint.g,F)+this._colordifferenceCh(B*this._whitePoint.b,X*this._whitePoint.b,F)}_colordifferenceCh(A,Q,B){let Y=A-Q,J=Y+B;return Y*Y+J*J}_setDefaults(){}},lYA={};R1(lYA,{AbstractPaletteQuantizer:()=>KI,ColorHistogram:()=>II,NeuQuant:()=>w0,NeuQuantFloat:()=>j0,RGBQuant:()=>sYA,WuColorCube:()=>rYA,WuQuant:()=>h4});var KI=class{quantizeSync(){for(let A of this.quantize())if(A.palette)return A.palette;throw Error("unreachable")}},C8=class{constructor(){WA(this,"r"),WA(this,"g"),WA(this,"b"),WA(this,"a"),WA(this,"uint32"),WA(this,"rgba"),this.uint32=4294967295,this.r=this.g=this.b=this.a=0,this.rgba=[,,,,],this.rgba[0]=0,this.rgba[1]=0,this.rgba[2]=0,this.rgba[3]=0}static createByQuadruplet(A){let Q=new C8;return Q.r=A[0]|0,Q.g=A[1]|0,Q.b=A[2]|0,Q.a=A[3]|0,Q._loadUINT32(),Q._loadQuadruplet(),Q}static createByRGBA(A,Q,B,Y){let J=new C8;return J.r=A|0,J.g=Q|0,J.b=B|0,J.a=Y|0,J._loadUINT32(),J._loadQuadruplet(),J}static createByUint32(A){let Q=new C8;return Q.uint32=A>>>0,Q._loadRGBA(),Q._loadQuadruplet(),Q}from(A){this.r=A.r,this.g=A.g,this.b=A.b,this.a=A.a,this.uint32=A.uint32,this.rgba[0]=A.r,this.rgba[1]=A.g,this.rgba[2]=A.b,this.rgba[3]=A.a}getLuminosity(A){let Q=this.r,B=this.g,Y=this.b;if(A)Q=Math.min(255,255-this.a+this.a*Q/255),B=Math.min(255,255-this.a+this.a*B/255),Y=Math.min(255,255-this.a+this.a*Y/255);return Q*0.2126+B*0.7152+Y*0.0722}_loadUINT32(){this.uint32=(this.a<<24|this.b<<16|this.g<<8|this.r)>>>0}_loadRGBA(){this.r=this.uint32&255,this.g=this.uint32>>>8&255,this.b=this.uint32>>>16&255,this.a=this.uint32>>>24&255}_loadQuadruplet(){this.rgba[0]=this.r,this.rgba[1]=this.g,this.rgba[2]=this.b,this.rgba[3]=this.a}},lX=class{constructor(){WA(this,"_pointArray"),WA(this,"_width"),WA(this,"_height"),this._width=0,this._height=0,this._pointArray=[]}getWidth(){return this._width}getHeight(){return this._height}setWidth(A){this._width=A}setHeight(A){this._height=A}getPointArray(){return this._pointArray}clone(){let A=new lX;A._width=this._width,A._height=this._height;for(let Q=0,B=this._pointArray.length;Q<B;Q++)A._pointArray[Q]=C8.createByUint32(this._pointArray[Q].uint32|0);return A}toUint32Array(){let A=this._pointArray.length,Q=new Uint32Array(A);for(let B=0;B<A;B++)Q[B]=this._pointArray[B].uint32;return Q}toUint8Array(){return new Uint8Array(this.toUint32Array().buffer)}static fromHTMLImageElement(A){let{naturalWidth:Q,naturalHeight:B}=A,Y=document.createElement("canvas");return Y.width=Q,Y.height=B,Y.getContext("2d").drawImage(A,0,0,Q,B,0,0,Q,B),lX.fromHTMLCanvasElement(Y)}static fromHTMLCanvasElement(A){let{width:Q,height:B}=A,J=A.getContext("2d").getImageData(0,0,Q,B);return lX.fromImageData(J)}static fromImageData(A){let{width:Q,height:B}=A;return lX.fromUint8Array(A.data,Q,B)}static fromUint8Array(A,Q,B){switch(Object.prototype.toString.call(A)){case"[object Uint8ClampedArray]":case"[object Uint8Array]":break;default:A=new Uint8Array(A)}let Y=new Uint32Array(A.buffer);return lX.fromUint32Array(Y,Q,B)}static fromUint32Array(A,Q,B){let Y=new lX;Y._width=Q,Y._height=B;for(let J=0,C=A.length;J<C;J++)Y._pointArray[J]=C8.createByUint32(A[J]|0);return Y}static fromBuffer(A,Q,B){let Y=new Uint32Array(A.buffer,A.byteOffset,A.byteLength/Uint32Array.BYTES_PER_ELEMENT);return lX.fromUint32Array(Y,Q,B)}},VYA=10;function xv(A,Q){let Y=360/Q,J=Y/2;for(let C=1,X=Y-J;C<Q;C++,X+=Y)if(A>=X&&A<X+Y)return C;return 0}var VI=class{constructor(){WA(this,"_pointContainer"),WA(this,"_pointArray",[]),WA(this,"_i32idx",{}),this._pointContainer=new lX,this._pointContainer.setHeight(1),this._pointArray=this._pointContainer.getPointArray()}add(A){this._pointArray.push(A),this._pointContainer.setWidth(this._pointArray.length)}has(A){for(let Q=this._pointArray.length-1;Q>=0;Q--)if(A.uint32===this._pointArray[Q].uint32)return!0;return!1}getNearestColor(A,Q){return this._pointArray[this._getNearestIndex(A,Q)|0]}getPointContainer(){return this._pointContainer}_nearestPointFromCache(A){return typeof this._i32idx[A]==="number"?this._i32idx[A]:-1}_getNearestIndex(A,Q){let B=this._nearestPointFromCache(""+Q.uint32);if(B>=0)return B;let Y=Number.MAX_VALUE;B=0;for(let J=0,C=this._pointArray.length;J<C;J++){let X=this._pointArray[J],G=A.calculateRaw(Q.r,Q.g,Q.b,Q.a,X.r,X.g,X.b,X.a);if(G<Y)Y=G,B=J}return this._i32idx[Q.uint32]=B,B}sort(){this._i32idx={},this._pointArray.sort((A,Q)=>{let B=fz(A.r,A.g,A.b),Y=fz(Q.r,Q.g,Q.b),J=A.r===A.g&&A.g===A.b?0:1+xv(B.h,VYA),X=(Q.r===Q.g&&Q.g===Q.b?0:1+xv(Y.h,VYA))-J;if(X)return-X;let G=A.getLuminosity(!0),F=Q.getLuminosity(!0);if(F-G!==0)return F-G;let W=(Y.s*100|0)-(B.s*100|0);if(W)return-W;return 0})}},pYA={};R1(pYA,{HueStatistics:()=>iYA,Palette:()=>VI,Point:()=>C8,PointContainer:()=>lX,ProgressTracker:()=>pX,arithmetic:()=>jYA});var omQ=class{constructor(){WA(this,"num",0),WA(this,"cols",[])}},iYA=class{constructor(A,Q){WA(this,"_numGroups"),WA(this,"_minCols"),WA(this,"_stats"),WA(this,"_groupsFull"),this._numGroups=A,this._minCols=Q,this._stats=[];for(let B=0;B<=A;B++)this._stats[B]=new omQ;this._groupsFull=0}check(A){if(this._groupsFull===this._numGroups+1)this.check=()=>{};let Q=A&255,B=A>>>8&255,Y=A>>>16&255,J=Q===B&&B===Y?0:1+xv(fz(Q,B,Y).h,this._numGroups),C=this._stats[J],X=this._minCols;if(C.num++,C.num>X)return;if(C.num===X)this._groupsFull++;if(C.num<=X)this._stats[J].cols.push(A)}injectIntoDictionary(A){for(let Q=0;Q<=this._numGroups;Q++)if(this._stats[Q].num<=this._minCols)this._stats[Q].cols.forEach((B)=>{if(!A[B])A[B]=1;else A[B]++})}injectIntoArray(A){for(let Q=0;Q<=this._numGroups;Q++)if(this._stats[Q].num<=this._minCols)this._stats[Q].cols.forEach((B)=>{if(A.indexOf(B)===-1)A.push(B)})}},nYA=class{constructor(A,Q){WA(this,"progress"),WA(this,"_step"),WA(this,"_range"),WA(this,"_last"),WA(this,"_progressRange"),this._range=A,this._progressRange=Q,this._step=Math.max(1,this._range/(nYA.steps+1)|0),this._last=-this._step,this.progress=0}shouldNotify(A){if(A-this._last>=this._step)return this._last=A,this.progress=Math.min(this._progressRange*this._last/this._range,this._progressRange),!0;return!1}},pX=nYA;WA(pX,"steps",100);var uJ=3,tmQ=class{constructor(A){WA(this,"r"),WA(this,"g"),WA(this,"b"),WA(this,"a"),this.r=this.g=this.b=this.a=A}toPoint(){return C8.createByRGBA(this.r>>uJ,this.g>>uJ,this.b>>uJ,this.a>>uJ)}subtract(A,Q,B,Y){this.r-=A|0,this.g-=Q|0,this.b-=B|0,this.a-=Y|0}},BB=class extends KI{constructor(A,Q=256){super();WA(this,"_pointArray"),WA(this,"_networkSize"),WA(this,"_network"),WA(this,"_sampleFactor"),WA(this,"_radPower"),WA(this,"_freq"),WA(this,"_bias"),WA(this,"_distance"),this._distance=A,this._pointArray=[],this._sampleFactor=1,this._networkSize=Q,this._distance.setWhitePoint(255<<uJ,255<<uJ,255<<uJ,255<<uJ)}sample(A){this._pointArray=this._pointArray.concat(A.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let A=0;A<this._networkSize;A++)this._network[A]=new tmQ((A<<uJ+8)/this._networkSize|0),this._freq[A]=BB._initialBias/this._networkSize|0,this._bias[A]=0}*_learn(){let A=this._sampleFactor,Q=this._pointArray.length;if(Q<BB._minpicturebytes)A=1;let B=30+(A-1)/3|0,Y=Q/A|0,J=Y/BB._nCycles|0,C=BB._initAlpha,X=(this._networkSize>>3)*BB._radiusBias,G=X>>BB._radiusBiasShift;if(G<=1)G=0;for(let Z=0;Z<G;Z++)this._radPower[Z]=C*((G*G-Z*Z)*BB._radBias/(G*G))>>>0;let F;if(Q<BB._minpicturebytes)F=1;else if(Q%BB._prime1!==0)F=BB._prime1;else if(Q%BB._prime2!==0)F=BB._prime2;else if(Q%BB._prime3!==0)F=BB._prime3;else F=BB._prime4;let W=new pX(Y,99);for(let Z=0,U=0;Z<Y;){if(W.shouldNotify(Z))yield{progress:W.progress};let $=this._pointArray[U],E=$.b<<uJ,K=$.g<<uJ,I=$.r<<uJ,V=$.a<<uJ,H=this._contest(E,K,I,V);if(this._alterSingle(C,H,E,K,I,V),G!==0)this._alterNeighbour(G,H,E,K,I,V);if(U+=F,U>=Q)U-=Q;if(Z++,J===0)J=1;if(Z%J===0){if(C-=C/B|0,X-=X/BB._radiusDecrease|0,G=X>>BB._radiusBiasShift,G<=1)G=0;for(let D=0;D<G;D++)this._radPower[D]=C*((G*G-D*D)*BB._radBias/(G*G))>>>0}}}_buildPalette(){let A=new VI;return this._network.forEach((Q)=>{A.add(Q.toPoint())}),A.sort(),A}_alterNeighbour(A,Q,B,Y,J,C){let X=Q-A;if(X<-1)X=-1;let G=Q+A;if(G>this._networkSize)G=this._networkSize;let F=Q+1,W=Q-1,Z=1;while(F<G||W>X){let U=this._radPower[Z++]/BB._alphaRadBias;if(F<G){let $=this._network[F++];$.subtract(U*($.r-J),U*($.g-Y),U*($.b-B),U*($.a-C))}if(W>X){let $=this._network[W--];$.subtract(U*($.r-J),U*($.g-Y),U*($.b-B),U*($.a-C))}}}_alterSingle(A,Q,B,Y,J,C){A/=BB._initAlpha;let X=this._network[Q];X.subtract(A*(X.r-J),A*(X.g-Y),A*(X.b-B),A*(X.a-C))}_contest(A,Q,B,Y){let J=1020<<uJ,C=2147483647,X=C,G=-1,F=G;for(let W=0;W<this._networkSize;W++){let Z=this._network[W],U=this._distance.calculateNormalized(Z,{r:B,g:Q,b:A,a:Y})*J|0;if(U<C)C=U,G=W;let $=U-(this._bias[W]>>BB._initialBiasShift-uJ);if($<X)X=$,F=W;let E=this._freq[W]>>BB._betaShift;this._freq[W]-=E,this._bias[W]+=E<<BB._gammaShift}return this._freq[G]+=BB._beta,this._bias[G]-=BB._betaGamma,F}},w0=BB;WA(w0,"_prime1",499);WA(w0,"_prime2",491);WA(w0,"_prime3",487);WA(w0,"_prime4",503);WA(w0,"_minpicturebytes",BB._prime4);WA(w0,"_nCycles",100);WA(w0,"_initialBiasShift",16);WA(w0,"_initialBias",1<<BB._initialBiasShift);WA(w0,"_gammaShift",10);WA(w0,"_betaShift",10);WA(w0,"_beta",BB._initialBias>>BB._betaShift);WA(w0,"_betaGamma",BB._initialBias<<BB._gammaShift-BB._betaShift);WA(w0,"_radiusBiasShift",6);WA(w0,"_radiusBias",1<<BB._radiusBiasShift);WA(w0,"_radiusDecrease",30);WA(w0,"_alphaBiasShift",10);WA(w0,"_initAlpha",1<<BB._alphaBiasShift);WA(w0,"_radBiasShift",8);WA(w0,"_radBias",1<<BB._radBiasShift);WA(w0,"_alphaRadBiasShift",BB._alphaBiasShift+BB._radBiasShift);WA(w0,"_alphaRadBias",1<<BB._alphaRadBiasShift);var dJ=3,emQ=class{constructor(A){WA(this,"r"),WA(this,"g"),WA(this,"b"),WA(this,"a"),this.r=this.g=this.b=this.a=A}toPoint(){return C8.createByRGBA(this.r>>dJ,this.g>>dJ,this.b>>dJ,this.a>>dJ)}subtract(A,Q,B,Y){this.r-=A,this.g-=Q,this.b-=B,this.a-=Y}},YB=class extends KI{constructor(A,Q=256){super();WA(this,"_pointArray"),WA(this,"_networkSize"),WA(this,"_network"),WA(this,"_sampleFactor"),WA(this,"_radPower"),WA(this,"_freq"),WA(this,"_bias"),WA(this,"_distance"),this._distance=A,this._pointArray=[],this._sampleFactor=1,this._networkSize=Q,this._distance.setWhitePoint(255<<dJ,255<<dJ,255<<dJ,255<<dJ)}sample(A){this._pointArray=this._pointArray.concat(A.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let A=0;A<this._networkSize;A++)this._network[A]=new emQ((A<<dJ+8)/this._networkSize),this._freq[A]=YB._initialBias/this._networkSize,this._bias[A]=0}*_learn(){let A=this._sampleFactor,Q=this._pointArray.length;if(Q<YB._minpicturebytes)A=1;let B=30+(A-1)/3,Y=Q/A,J=Y/YB._nCycles|0,C=YB._initAlpha,X=(this._networkSize>>3)*YB._radiusBias,G=X>>YB._radiusBiasShift;if(G<=1)G=0;for(let Z=0;Z<G;Z++)this._radPower[Z]=C*((G*G-Z*Z)*YB._radBias/(G*G));let F;if(Q<YB._minpicturebytes)F=1;else if(Q%YB._prime1!==0)F=YB._prime1;else if(Q%YB._prime2!==0)F=YB._prime2;else if(Q%YB._prime3!==0)F=YB._prime3;else F=YB._prime4;let W=new pX(Y,99);for(let Z=0,U=0;Z<Y;){if(W.shouldNotify(Z))yield{progress:W.progress};let $=this._pointArray[U],E=$.b<<dJ,K=$.g<<dJ,I=$.r<<dJ,V=$.a<<dJ,H=this._contest(E,K,I,V);if(this._alterSingle(C,H,E,K,I,V),G!==0)this._alterNeighbour(G,H,E,K,I,V);if(U+=F,U>=Q)U-=Q;if(Z++,J===0)J=1;if(Z%J===0){if(C-=C/B,X-=X/YB._radiusDecrease,G=X>>YB._radiusBiasShift,G<=1)G=0;for(let D=0;D<G;D++)this._radPower[D]=C*((G*G-D*D)*YB._radBias/(G*G))}}}_buildPalette(){let A=new VI;return this._network.forEach((Q)=>{A.add(Q.toPoint())}),A.sort(),A}_alterNeighbour(A,Q,B,Y,J,C){let X=Q-A;if(X<-1)X=-1;let G=Q+A;if(G>this._networkSize)G=this._networkSize;let F=Q+1,W=Q-1,Z=1;while(F<G||W>X){let U=this._radPower[Z++]/YB._alphaRadBias;if(F<G){let $=this._network[F++];$.subtract(U*($.r-J),U*($.g-Y),U*($.b-B),U*($.a-C))}if(W>X){let $=this._network[W--];$.subtract(U*($.r-J),U*($.g-Y),U*($.b-B),U*($.a-C))}}}_alterSingle(A,Q,B,Y,J,C){A/=YB._initAlpha;let X=this._network[Q];X.subtract(A*(X.r-J),A*(X.g-Y),A*(X.b-B),A*(X.a-C))}_contest(A,Q,B,Y){let J=1020<<dJ,C=2147483647,X=C,G=-1,F=G;for(let W=0;W<this._networkSize;W++){let Z=this._network[W],U=this._distance.calculateNormalized(Z,{r:B,g:Q,b:A,a:Y})*J;if(U<C)C=U,G=W;let $=U-(this._bias[W]>>YB._initialBiasShift-dJ);if($<X)X=$,F=W;let E=this._freq[W]>>YB._betaShift;this._freq[W]-=E,this._bias[W]+=E<<YB._gammaShift}return this._freq[G]+=YB._beta,this._bias[G]-=YB._betaGamma,F}},j0=YB;WA(j0,"_prime1",499);WA(j0,"_prime2",491);WA(j0,"_prime3",487);WA(j0,"_prime4",503);WA(j0,"_minpicturebytes",YB._prime4);WA(j0,"_nCycles",100);WA(j0,"_initialBiasShift",16);WA(j0,"_initialBias",1<<YB._initialBiasShift);WA(j0,"_gammaShift",10);WA(j0,"_betaShift",10);WA(j0,"_beta",YB._initialBias>>YB._betaShift);WA(j0,"_betaGamma",YB._initialBias<<YB._gammaShift-YB._betaShift);WA(j0,"_radiusBiasShift",6);WA(j0,"_radiusBias",1<<YB._radiusBiasShift);WA(j0,"_radiusDecrease",30);WA(j0,"_alphaBiasShift",10);WA(j0,"_initAlpha",1<<YB._alphaBiasShift);WA(j0,"_radBiasShift",8);WA(j0,"_radBias",1<<YB._radBiasShift);WA(j0,"_alphaRadBiasShift",YB._alphaBiasShift+YB._radBiasShift);WA(j0,"_alphaRadBias",1<<YB._alphaRadBiasShift);var UI=class{constructor(A,Q){WA(this,"_method"),WA(this,"_hueStats"),WA(this,"_histogram"),WA(this,"_initColors"),WA(this,"_minHueCols"),this._method=A,this._minHueCols=Q<<2,this._initColors=Q<<2,this._hueStats=new iYA(UI._hueGroups,this._minHueCols),this._histogram=Object.create(null)}sample(A){switch(this._method){case 1:this._colorStats1D(A);break;case 2:this._colorStats2D(A);break}}getImportanceSortedColorsIDXI32(){let A=fv(Object.keys(this._histogram),(B,Y)=>this._histogram[Y]-this._histogram[B]);if(A.length===0)return[];let Q;switch(this._method){case 1:let B=Math.min(A.length,this._initColors),Y=A[B-1],J=this._histogram[Y];Q=A.slice(0,B);let C=B,X=A.length;while(C<X&&this._histogram[A[C]]===J)Q.push(A[C++]);this._hueStats.injectIntoArray(Q);break;case 2:Q=A;break;default:throw Error("Incorrect method")}return Q.map((B)=>+B)}_colorStats1D(A){let Q=this._histogram,B=A.getPointArray(),Y=B.length;for(let J=0;J<Y;J++){let C=B[J].uint32;if(this._hueStats.check(C),C in Q)Q[C]++;else Q[C]=1}}_colorStats2D(A){let Q=A.getWidth(),B=A.getHeight(),Y=A.getPointArray(),J=UI._boxSize[0],C=UI._boxSize[1],X=J*C,G=this._makeBoxes(Q,B,J,C),F=this._histogram;G.forEach((W)=>{let Z=Math.round(W.w*W.h/X)*UI._boxPixels;if(Z<2)Z=2;let U={};this._iterateBox(W,Q,($)=>{let E=Y[$].uint32;if(this._hueStats.check(E),E in F)F[E]++;else if(E in U){if(++U[E]>=Z)F[E]=U[E]}else U[E]=1})}),this._hueStats.injectIntoDictionary(F)}_iterateBox(A,Q,B){let Y=A,J=Y.y*Q+Y.x,C=(Y.y+Y.h-1)*Q+(Y.x+Y.w-1),X=Q-Y.w+1,G=0,F=J;do B.call(this,F),F+=++G%Y.w===0?X:1;while(F<=C)}_makeBoxes(A,Q,B,Y){let J=A%B,C=Q%Y,X=A-J,G=Q-C,F=[];for(let W=0;W<Q;W+=Y)for(let Z=0;Z<A;Z+=B)F.push({x:Z,y:W,w:Z===X?J:B,h:W===G?C:Y});return F}},II=UI;WA(II,"_boxSize",[64,64]);WA(II,"_boxPixels",2);WA(II,"_hueGroups",10);var AuQ=class{constructor(A,Q,B){WA(this,"index"),WA(this,"color"),WA(this,"distance"),this.index=A,this.color=Q,this.distance=B}},sYA=class extends KI{constructor(A,Q=256,B=2){super();WA(this,"_colors"),WA(this,"_initialDistance"),WA(this,"_distanceIncrement"),WA(this,"_histogram"),WA(this,"_distance"),this._distance=A,this._colors=Q,this._histogram=new II(B,Q),this._initialDistance=0.01,this._distanceIncrement=0.005}sample(A){this._histogram.sample(A)}*quantize(){let A=this._histogram.getImportanceSortedColorsIDXI32();if(A.length===0)throw Error("No colors in image");yield*this._buildPalette(A)}*_buildPalette(A){let Q=new VI,B=Q.getPointContainer().getPointArray(),Y=Array(A.length);for(let Z=0;Z<A.length;Z++)B.push(C8.createByUint32(A[Z])),Y[Z]=1;let J=B.length,C=[],X=J,G=this._initialDistance,F=new pX(X-this._colors,99);while(X>this._colors){C.length=0;for(let Z=0;Z<J;Z++){if(F.shouldNotify(J-X))yield{progress:F.progress};if(Y[Z]===0)continue;let U=B[Z];for(let $=Z+1;$<J;$++){if(Y[$]===0)continue;let E=B[$],K=this._distance.calculateNormalized(U,E);if(K<G)C.push(new AuQ($,E,K)),Y[$]=0,X--}}G+=X>this._colors*3?this._initialDistance:this._distanceIncrement}if(X<this._colors){fv(C,(U,$)=>$.distance-U.distance);let Z=0;while(X<this._colors&&Z<C.length){let U=C[Z];Y[U.index]=1,X++,Z++}}let W=B.length;for(let Z=W-1;Z>=0;Z--)if(Y[Z]===0){if(Z!==W-1)B[Z]=B[W-1];--W}B.length=W,Q.sort(),yield{palette:Q,progress:100}}};function k4(A){let Q=[];for(let B=0;B<A;B++)Q[B]=0;return Q}function _4(A,Q,B,Y){let J=Array(A);for(let C=0;C<A;C++){J[C]=Array(Q);for(let X=0;X<Q;X++){J[C][X]=Array(B);for(let G=0;G<B;G++){J[C][X][G]=Array(Y);for(let F=0;F<Y;F++)J[C][X][G][F]=0}}}return J}function v4(A,Q,B){let Y=Array(A);for(let J=0;J<A;J++){Y[J]=Array(Q);for(let C=0;C<Q;C++){Y[J][C]=Array(B);for(let X=0;X<B;X++)Y[J][C][X]=0}}return Y}function y4(A,Q,B,Y,J){for(let C=0;C<Q;C++){A[C]=[];for(let X=0;X<B;X++){A[C][X]=[];for(let G=0;G<Y;G++)A[C][X][G]=J}}}function g4(A,Q,B){for(let Y=0;Y<Q;Y++)A[Y]=B}var rYA=class{constructor(){WA(this,"redMinimum"),WA(this,"redMaximum"),WA(this,"greenMinimum"),WA(this,"greenMaximum"),WA(this,"blueMinimum"),WA(this,"blueMaximum"),WA(this,"volume"),WA(this,"alphaMinimum"),WA(this,"alphaMaximum")}},jQ=class extends KI{constructor(A,Q=256,B=5){super();WA(this,"_reds"),WA(this,"_greens"),WA(this,"_blues"),WA(this,"_alphas"),WA(this,"_sums"),WA(this,"_weights"),WA(this,"_momentsRed"),WA(this,"_momentsGreen"),WA(this,"_momentsBlue"),WA(this,"_momentsAlpha"),WA(this,"_moments"),WA(this,"_table"),WA(this,"_pixels"),WA(this,"_cubes"),WA(this,"_colors"),WA(this,"_significantBitsPerChannel"),WA(this,"_maxSideIndex"),WA(this,"_alphaMaxSideIndex"),WA(this,"_sideSize"),WA(this,"_alphaSideSize"),WA(this,"_distance"),this._distance=A,this._setQuality(B),this._initialize(Q)}sample(A){let Q=A.getPointArray();for(let B=0,Y=Q.length;B<Y;B++)this._addColor(Q[B]);this._pixels=this._pixels.concat(Q)}*quantize(){yield*this._preparePalette();let A=new VI;for(let Q=0;Q<this._colors;Q++)if(this._sums[Q]>0){let B=this._sums[Q],Y=this._reds[Q]/B,J=this._greens[Q]/B,C=this._blues[Q]/B,X=this._alphas[Q]/B,G=C8.createByRGBA(Y|0,J|0,C|0,X|0);A.add(G)}A.sort(),yield{palette:A,progress:100}}*_preparePalette(){yield*this._calculateMoments();let A=0,Q=k4(this._colors);for(let X=1;X<this._colors;++X){if(this._cut(this._cubes[A],this._cubes[X]))Q[A]=this._cubes[A].volume>1?this._calculateVariance(this._cubes[A]):0,Q[X]=this._cubes[X].volume>1?this._calculateVariance(this._cubes[X]):0;else Q[A]=0,X--;A=0;let G=Q[0];for(let F=1;F<=X;++F)if(Q[F]>G)G=Q[F],A=F;if(G<=0){this._colors=X+1;break}}let B=[],Y=[],J=[],C=[];for(let X=0;X<this._colors;++X){let G=jQ._volume(this._cubes[X],this._weights);if(G>0)B[X]=jQ._volume(this._cubes[X],this._momentsRed)/G|0,Y[X]=jQ._volume(this._cubes[X],this._momentsGreen)/G|0,J[X]=jQ._volume(this._cubes[X],this._momentsBlue)/G|0,C[X]=jQ._volume(this._cubes[X],this._momentsAlpha)/G|0;else B[X]=0,Y[X]=0,J[X]=0,C[X]=0}this._reds=k4(this._colors+1),this._greens=k4(this._colors+1),this._blues=k4(this._colors+1),this._alphas=k4(this._colors+1),this._sums=k4(this._colors+1);for(let X=0,G=this._pixels.length;X<G;X++){let F=this._pixels[X],W=-1,Z=-1,U=Number.MAX_VALUE;for(let $=0;$<this._colors;$++){let E=B[$],K=Y[$],I=J[$],V=C[$],H=this._distance.calculateRaw(E,K,