@nova-infra/d2c-cli 1.0.0

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.
Files changed (2) hide show
  1. package/dist/cli.js +174 -0
  2. package/package.json +41 -0
package/dist/cli.js ADDED
@@ -0,0 +1,174 @@
1
+ #!/usr/bin/env node
2
+ import{createRequire as Y2}from"node:module";var J2=Object.create;var{getPrototypeOf:X2,defineProperty:D7,getOwnPropertyNames:q2}=Object;var W2=Object.prototype.hasOwnProperty;var P6=($,J,X)=>{X=$!=null?J2(X2($)):{};let q=J||!$||!$.__esModule?D7(X,"default",{value:$,enumerable:!0}):X;for(let W of q2($))if(!W2.call(q,W))D7(q,W,{get:()=>$[W],enumerable:!0});return q};var O0=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var K1=($,J)=>{for(var X in J)D7($,X,{get:J[X],enumerable:!0,configurable:!0,set:(q)=>J[X]=()=>q})};var a4=($,J)=>()=>($&&(J=$($=0)),J);var B8=Y2(import.meta.url);var Qq={};K1(Qq,{stableHash:()=>Yq,removeEmptyKeys:()=>p7,pixelRound:()=>fO,isVisible:()=>e9,generateVarId:()=>hO,generateStableVarId:()=>l7,generateCSSShorthand:()=>gO,downloadFigmaImage:()=>xO});import G$ from"fs";import U1 from"path";import{createHash as Wq}from"node:crypto";async function xO($,J,X){try{if(!G$.existsSync(J))G$.mkdirSync(J,{recursive:!0});let q=U1.resolve(U1.join(J,$)),W=U1.resolve(J);if(!q.startsWith(W+U1.sep))throw Error(`File path escapes target directory: ${$}`);let Y=await fetch(X,{method:"GET"});if(!Y.ok)throw Error(`Failed to download image: ${Y.statusText}`);let Q=G$.createWriteStream(q),K=Y.body?.getReader();if(!K)throw Error("Failed to get response body");return new Promise((G,V)=>{let H=async()=>{try{while(!0){let{done:M,value:O}=await K.read();if(M){Q.end();break}Q.write(O)}}catch(M){Q.end(),G$.unlink(q,()=>{}),V(M)}};Q.on("finish",()=>{G(q)}),Q.on("error",(M)=>{K.cancel(),G$.unlink(q,()=>{}),V(Error(`Failed to write image: ${M.message}`))}),H()})}catch(q){let W=q instanceof Error?q.message:String(q);throw Error(`Error downloading image: ${W}`)}}function p7($){if(typeof $!=="object"||$===null)return $;if(Array.isArray($))return $.map((X)=>p7(X));let J={};for(let X in $)if(Object.prototype.hasOwnProperty.call($,X)){let q=$[X],W=p7(q);if(W!==void 0&&!(Array.isArray(W)&&W.length===0)&&!(typeof W==="object"&&W!==null&&Object.keys(W).length===0))J[X]=W}return J}function hO($="var"){return`${$}_${Wq("sha1").update(`${$}:${Date.now()}:${Math.random()}`).digest("hex").slice(0,8).toUpperCase()}`}function Yq($,J=10){return Wq("sha1").update(JSON.stringify($)).digest("hex").slice(0,J).toUpperCase()}function l7($,J,X={}){let q=Yq(J),W=`${$}_${q}`,Y=1;while(W in X&&JSON.stringify(X[W])!==JSON.stringify(J))W=`${$}_${q}_${Y}`,Y+=1;return W}function gO($,{ignoreZero:J=!0,suffix:X="px"}={}){let{top:q,right:W,bottom:Y,left:Q}=$;if(J&&q===0&&W===0&&Y===0&&Q===0)return;if(q===W&&W===Y&&Y===Q)return`${q}${X}`;if(W===Q){if(q===Y)return`${q}${X} ${W}${X}`;return`${q}${X} ${W}${X} ${Y}${X}`}return`${q}${X} ${W}${X} ${Y}${X} ${Q}${X}`}function e9($){return $.visible??!0}function fO($){if(isNaN($))throw TypeError("Input must be a valid number");return Number(Number($).toFixed(2))}var V$=()=>{};var $J=O0((kN)=>{function CN($,J,X,Y){var W=0,Y=Y===void 0?{}:Y,Q=Y.loop===void 0?null:Y.loop,K=Y.palette===void 0?null:Y.palette;if(J<=0||X<=0||J>65535||X>65535)throw Error("Width/Height invalid.");function G(R){var z=R.length;if(z<2||z>256||z&z-1)throw Error("Invalid code/color length, must be power of 2 and 2 .. 256.");return z}$[W++]=71,$[W++]=73,$[W++]=70,$[W++]=56,$[W++]=57,$[W++]=97;var V=0,H=0;if(K!==null){var M=G(K);while(M>>=1)++V;if(M=1<<V,--V,Y.background!==void 0){if(H=Y.background,H>=M)throw Error("Background index out of range.");if(H===0)throw Error("Background index explicitly passed as 0.")}}if($[W++]=J&255,$[W++]=J>>8&255,$[W++]=X&255,$[W++]=X>>8&255,$[W++]=(K!==null?128:0)|V,$[W++]=H,$[W++]=0,K!==null)for(var O=0,N=K.length;O<N;++O){var U=K[O];$[W++]=U>>16&255,$[W++]=U>>8&255,$[W++]=U&255}if(Q!==null){if(Q<0||Q>65535)throw Error("Loop count invalid.");$[W++]=33,$[W++]=255,$[W++]=11,$[W++]=78,$[W++]=69,$[W++]=84,$[W++]=83,$[W++]=67,$[W++]=65,$[W++]=80,$[W++]=69,$[W++]=50,$[W++]=46,$[W++]=48,$[W++]=3,$[W++]=1,$[W++]=Q&255,$[W++]=Q>>8&255,$[W++]=0}var j=!1;this.addFrame=function(R,z,F,P,S,Z){if(j===!0)--W,j=!1;if(Z=Z===void 0?{}:Z,R<0||z<0||R>65535||z>65535)throw Error("x/y invalid.");if(F<=0||P<=0||F>65535||P>65535)throw Error("Width/Height invalid.");if(S.length<F*P)throw Error("Not enough pixels for the frame size.");var L=!0,B=Z.palette;if(B===void 0||B===null)L=!1,B=K;if(B===void 0||B===null)throw Error("Must supply either a local or global palette.");var v=G(B),w=0;while(v>>=1)++w;v=1<<w;var x=Z.delay===void 0?0:Z.delay,A=Z.disposal===void 0?0:Z.disposal;if(A<0||A>3)throw Error("Disposal out of range.");var D=!1,C=0;if(Z.transparent!==void 0&&Z.transparent!==null){if(D=!0,C=Z.transparent,C<0||C>=v)throw Error("Transparent color index.")}if(A!==0||D||x!==0)$[W++]=33,$[W++]=249,$[W++]=4,$[W++]=A<<2|(D===!0?1:0),$[W++]=x&255,$[W++]=x>>8&255,$[W++]=C,$[W++]=0;if($[W++]=44,$[W++]=R&255,$[W++]=R>>8&255,$[W++]=z&255,$[W++]=z>>8&255,$[W++]=F&255,$[W++]=F>>8&255,$[W++]=P&255,$[W++]=P>>8&255,$[W++]=L===!0?128|w-1:0,L===!0)for(var k=0,_=B.length;k<_;++k){var y=B[k];$[W++]=y>>16&255,$[W++]=y>>8&255,$[W++]=y&255}return W=vN($,W,w<2?2:w,S),W},this.end=function(){if(j===!1)$[W++]=59,j=!0;return W},this.getOutputBuffer=function(){return $},this.setOutputBuffer=function(R){$=R},this.getOutputBufferPosition=function(){return W},this.setOutputBufferPosition=function(R){W=R}}function vN($,J,X,q){$[J++]=X;var W=J++,Y=1<<X,Q=Y-1,K=Y+1,G=K+1,V=X+1,H=0,M=0;function O(Z){while(H>=Z)if($[J++]=M&255,M>>=8,H-=8,J===W+256)$[W]=255,W=J++}function N(Z){M|=Z<<H,H+=V,O(8)}var U=q[0]&Q,j={};N(Y);for(var R=1,z=q.length;R<z;++R){var F=q[R]&Q,P=U<<8|F,S=j[P];if(S===void 0){M|=U<<H,H+=V;while(H>=8)if($[J++]=M&255,M>>=8,H-=8,J===W+256)$[W]=255,W=J++;if(G===4096)N(Y),G=K+1,V=X+1,j={};else{if(G>=1<<V)++V;j[P]=G++}U=F}else U=S}if(N(U),N(K),O(1),W+1===J)$[W]=0;else $[W]=J-W-1,$[J++]=0;return J}function wN($){var J=0;if($[J++]!==71||$[J++]!==73||$[J++]!==70||$[J++]!==56||($[J++]+1&253)!==56||$[J++]!==97)throw Error("Invalid GIF 87a/89a header.");var X=$[J++]|$[J++]<<8,q=$[J++]|$[J++]<<8,W=$[J++],Y=W>>7,Q=W&7,K=1<<Q+1,G=$[J++];$[J++];var V=null,H=null;if(Y)V=J,H=K,J+=K*3;var M=!0,O=[],N=0,U=null,j=0,R=null;this.width=X,this.height=q;while(M&&J<$.length)switch($[J++]){case 33:switch($[J++]){case 255:if($[J]!==11||$[J+1]==78&&$[J+2]==69&&$[J+3]==84&&$[J+4]==83&&$[J+5]==67&&$[J+6]==65&&$[J+7]==80&&$[J+8]==69&&$[J+9]==50&&$[J+10]==46&&$[J+11]==48&&$[J+12]==3&&$[J+13]==1&&$[J+16]==0)J+=14,R=$[J++]|$[J++]<<8,J++;else{J+=12;while(!0){var z=$[J++];if(!(z>=0))throw Error("Invalid block size");if(z===0)break;J+=z}}break;case 249:if($[J++]!==4||$[J+4]!==0)throw Error("Invalid graphics extension block.");var F=$[J++];if(N=$[J++]|$[J++]<<8,U=$[J++],(F&1)===0)U=null;j=F>>2&7,J++;break;case 254:while(!0){var z=$[J++];if(!(z>=0))throw Error("Invalid block size");if(z===0)break;J+=z}break;default:throw Error("Unknown graphic control label: 0x"+$[J-1].toString(16))}break;case 44:var P=$[J++]|$[J++]<<8,S=$[J++]|$[J++]<<8,Z=$[J++]|$[J++]<<8,L=$[J++]|$[J++]<<8,B=$[J++],v=B>>7,w=B>>6&1,x=B&7,A=1<<x+1,D=V,C=H,k=!1;if(v){var k=!0;D=J,C=A,J+=A*3}var _=J;J++;while(!0){var z=$[J++];if(!(z>=0))throw Error("Invalid block size");if(z===0)break;J+=z}O.push({x:P,y:S,width:Z,height:L,has_local_palette:k,palette_offset:D,palette_size:C,data_offset:_,data_length:J-_,transparent_index:U,interlaced:!!w,delay:N,disposal:j});break;case 59:M=!1;break;default:throw Error("Unknown gif block: 0x"+$[J-1].toString(16))}this.numFrames=function(){return O.length},this.loopCount=function(){return R},this.frameInfo=function(y){if(y<0||y>=O.length)throw Error("Frame index out of range.");return O[y]},this.decodeAndBlitFrameBGRA=function(y,f){var I=this.frameInfo(y),b=I.width*I.height,a=new Uint8Array(b);nq($,I.data_offset,a,b);var{palette_offset:p,transparent_index:i}=I;if(i===null)i=256;var h=I.width,E=X-h,T=h,l=(I.y*X+I.x)*4,n=((I.y+I.height)*X+I.x)*4,e=l,s=E*4;if(I.interlaced===!0)s+=X*4*7;var t=8;for(var r=0,m=a.length;r<m;++r){var o=a[r];if(T===0){if(e+=s,T=h,e>=n)s=E*4+X*4*(t-1),e=l+(h+E)*(t<<1),t>>=1}if(o===i)e+=4;else{var J0=$[p+o*3],X0=$[p+o*3+1],N0=$[p+o*3+2];f[e++]=N0,f[e++]=X0,f[e++]=J0,f[e++]=255}--T}},this.decodeAndBlitFrameRGBA=function(y,f){var I=this.frameInfo(y),b=I.width*I.height,a=new Uint8Array(b);nq($,I.data_offset,a,b);var{palette_offset:p,transparent_index:i}=I;if(i===null)i=256;var h=I.width,E=X-h,T=h,l=(I.y*X+I.x)*4,n=((I.y+I.height)*X+I.x)*4,e=l,s=E*4;if(I.interlaced===!0)s+=X*4*7;var t=8;for(var r=0,m=a.length;r<m;++r){var o=a[r];if(T===0){if(e+=s,T=h,e>=n)s=E*4+X*4*(t-1),e=l+(h+E)*(t<<1),t>>=1}if(o===i)e+=4;else{var J0=$[p+o*3],X0=$[p+o*3+1],N0=$[p+o*3+2];f[e++]=J0,f[e++]=X0,f[e++]=N0,f[e++]=255}--T}}}function nq($,J,X,q){var W=$[J++],Y=1<<W,Q=Y+1,K=Q+1,G=W+1,V=(1<<G)-1,H=0,M=0,O=0,N=$[J++],U=new Int32Array(4096),j=null;while(!0){while(H<16){if(N===0)break;if(M|=$[J++]<<H,H+=8,N===1)N=$[J++];else--N}if(H<G)break;var R=M&V;if(M>>=G,H-=G,R===Y){K=Q+1,G=W+1,V=(1<<G)-1,j=null;continue}else if(R===Q)break;var z=R<K?R:j,F=0,P=z;while(P>Y)P=U[P]>>8,++F;var S=P,Z=O+F+(z!==R?1:0);if(Z>q){console.log("Warning, gif stream longer than expected.");return}X[O++]=S,O+=F;var L=O;if(z!==R)X[O++]=S;P=z;while(F--)P=U[P],X[--L]=P&255,P>>=8;if(j!==null&&K<4096){if(U[K++]=j<<8|S,K>=V+1&&G<12)++G,V=V<<1|1}j=R}if(O!==q)console.log("Warning, gif stream shorter than expected.");return X}try{kN.GifWriter=CN,kN.GifReader=wN}catch($){}});var P1=O0((YS,rq)=>{class N${constructor(...$){if($.length===0)throw Error("constructor requires parameters");let J=$[0];if(J!==null&&typeof J==="object")if(J instanceof N$){let X=J.bitmap;this.bitmap={width:X.width,height:X.height,data:new Buffer(X.width*X.height*4)},X.data.copy(this.bitmap.data)}else if(J.width&&J.height&&J.data)this.bitmap=J;else throw Error("unrecognized constructor parameters");else if(typeof J==="number"&&typeof $[1]==="number"){let X=J,q=$[1],W=$[2];if(this.bitmap={width:X,height:q},Buffer.isBuffer(W))this.bitmap.data=W;else if(this.bitmap.data=new Buffer(X*q*4),typeof W==="number")this.fillRGBA(W)}else throw Error("unrecognized constructor parameters")}blit($,J,X,q,W,Y,Q){if(q+Y>this.bitmap.width)throw Error("copy exceeds width of source bitmap");if(J+Y>$.bitmap.width)throw Error("copy exceeds width of target bitmap");if(W+Q>this.bitmap.height)throw Error("copy exceeds height of source bitmap");if(X+Q>$.bitmap.height)throw new Erro("copy exceeds height of target bitmap");let K=this.bitmap.data,G=$.bitmap.data,V=this.bitmap.width*4,H=$.bitmap.width*4,M=Y*4,O=W*V+q*4,N=X*H+J*4;while(--Q>=0)K.copy(G,N,O,O+M),O+=V,N+=H;return this}fillRGBA($){let J=this.bitmap.data,X=this.bitmap.height*4,q=0;while(q<X)J.writeUInt32BE($,q),q+=4;while(q<J.length)J.copy(J,q,0,X),q+=X;return this}getRGBA($,J){let X=(J*this.bitmap.width+$)*4;return this.bitmap.data.readUInt32BE(X)}getRGBASet(){let $=new Set,J=this.bitmap.data;for(let X=0;X<J.length;X+=4)$.add(J.readUInt32BE(X,!0));return $}greyscale(){let $=this.bitmap.data;return this.scan(0,0,this.bitmap.width,this.bitmap.height,(J,X,q)=>{let W=Math.round(0.299*$[q]+0.587*$[q+1]+0.114*$[q+2]);$[q]=W,$[q+1]=W,$[q+2]=W}),this}reframe($,J,X,q,W){let Y=$<0?0:$,Q=J<0?0:J,K=X+Y>this.bitmap.width?this.bitmap.width-Y:X,G=q+Q>this.bitmap.height?this.bitmap.height-Q:q,V=$<0?-$:0,H=J<0?-J:0,M;if(W===void 0){if(Y!==$||Q!=J||K!==X||G!==q)throw new GifError("fillRGBA required for this reframing");M=new N$(X,q)}else M=new N$(X,q,W);return this.blit(M,V,H,Y,Q,K,G),this.bitmap=M.bitmap,this}scale($){if($===1)return;if(!Number.isInteger($)||$<1)throw Error("the scale must be an integer >= 1");let J=this.bitmap.width,X=this.bitmap.height,q=J*$*4,W=this.bitmap.data,Y=new Buffer(X*q*$),Q=0,K,G=0;for(let V=0;V<X;++V){K=G;for(let H=0;H<J;++H){let M=W.readUInt32BE(Q,!0);for(let O=0;O<$;++O)Y.writeUInt32BE(M,G),G+=4;Q+=4}for(let H=1;H<$;++H)Y.copy(Y,G,K,G),G+=q,K+=q}return this.bitmap={width:J*$,height:X*$,data:Y},this}scanAllCoords($){let J=this.bitmap.width,X=this.bitmap.data.length,q=0,W=0;for(let Y=0;Y<X;Y+=4)if($(q,W,Y),++q===J)q=0,++W}scanAllIndexes($){let J=this.bitmap.data.length;for(let X=0;X<J;X+=4)$(X)}}rq.exports=N$});var B$=O0((TN)=>{class U${constructor($,J,X){this.width=X.width,this.height=X.height,this.loops=X.loops,this.usesTransparency=X.usesTransparency,this.colorScope=X.colorScope,this.frames=J,this.buffer=$}}U$.GlobalColorsPreferred=0;U$.GlobalColorsOnly=1;U$.LocalColorsOnly=2;class oq extends Error{constructor($){super($);if($ instanceof Error)this.stack="Gif"+$.stack}}TN.Gif=U$;TN.GifError=oq});var gW=O0((KS,hW)=>{var{defineProperty:D1,getOwnPropertyDescriptor:_N,getOwnPropertyNames:xN}=Object,hN=Object.prototype.hasOwnProperty,gN=($,J,X)=>(J in $)?D1($,J,{enumerable:!0,configurable:!0,writable:!0,value:X}):$[J]=X,fN=($)=>D1($,"__esModule",{value:!0}),D6=($,J)=>{for(var X in J)D1($,X,{get:J[X],enumerable:!0})},bN=($,J,X,q)=>{if(J&&typeof J==="object"||typeof J==="function"){for(let W of xN(J))if(!hN.call($,W)&&(X||W!=="default"))D1($,W,{get:()=>J[W],enumerable:!(q=_N(J,W))||q.enumerable})}return $},mN=(($)=>{return(J,X)=>{return $&&$.get(J)||(X=bN(fN({}),J,1),$&&$.set(J,X),X)}})(typeof WeakMap<"u"?new WeakMap:0),c=($,J,X)=>{return gN($,typeof J!=="symbol"?J+"":J,X),X},tq={};D6(tq,{applyPalette:()=>KU,applyPaletteSync:()=>QU,buildPalette:()=>YU,buildPaletteSync:()=>WU,constants:()=>eq,conversion:()=>WW,distance:()=>OW,image:()=>kW,palette:()=>SW,quality:()=>yW,utils:()=>DW});var eq={};D6(eq,{bt709:()=>$W});var $W={};D6($W,{Y:()=>JW,x:()=>XW,y:()=>qW});var JW=(($)=>{return $[$.RED=0.2126]="RED",$[$.GREEN=0.7152]="GREEN",$[$.BLUE=0.0722]="BLUE",$[$.WHITE=1]="WHITE",$})(JW||{}),XW=(($)=>{return $[$.RED=0.64]="RED",$[$.GREEN=0.3]="GREEN",$[$.BLUE=0.15]="BLUE",$[$.WHITE=0.3127]="WHITE",$})(XW||{}),qW=(($)=>{return $[$.RED=0.33]="RED",$[$.GREEN=0.6]="GREEN",$[$.BLUE=0.06]="BLUE",$[$.WHITE=0.329]="WHITE",$})(qW||{}),WW={};D6(WW,{lab2rgb:()=>oN,lab2xyz:()=>HW,rgb2hsl:()=>A1,rgb2lab:()=>j$,rgb2xyz:()=>YW,xyz2lab:()=>VW,xyz2rgb:()=>MW});function JJ($){return $>0.04045?(($+0.055)/1.055)**2.4:$/12.92}function YW($,J,X){return $=JJ($/255),J=JJ(J/255),X=JJ(X/255),{x:$*0.4124+J*0.3576+X*0.1805,y:$*0.2126+J*0.7152+X*0.0722,z:$*0.0193+J*0.1192+X*0.9505}}var QW={};D6(QW,{degrees2radians:()=>q9,inRange0to255:()=>u8,inRange0to255Rounded:()=>s8,intInRange:()=>uN,max3:()=>KW,min3:()=>GW,stableSort:()=>QJ});function q9($){return $*(Math.PI/180)}function KW($,J,X){let q=$;if(q<J)q=J;if(q<X)q=X;return q}function GW($,J,X){let q=$;if(q>J)q=J;if(q>X)q=X;return q}function uN($,J,X){if($>X)$=X;if($<J)$=J;return $|0}function s8($){if($=Math.round($),$>255)$=255;else if($<0)$=0;return $}function u8($){if($>255)$=255;else if($<0)$=0;return $}function QJ($,J){let X=typeof $[0],q;if(X==="number"||X==="string"){let W=Object.create(null);for(let Y=0,Q=$.length;Y<Q;Y++){let K=$[Y];if(W[K]||W[K]===0)continue;W[K]=Y}q=$.sort((Y,Q)=>J(Y,Q)||W[Y]-W[Q])}else{let W=$.slice(0);q=$.sort((Y,Q)=>J(Y,Q)||W.indexOf(Y)-W.indexOf(Q))}return q}function A1($,J,X){let q=GW($,J,X),W=KW($,J,X),Y=W-q,Q=(q+W)/510,K=0;if(Q>0&&Q<1)K=Y/(Q<0.5?W+q:510-W-q);let G=0;if(Y>0){if(W===$)G=(J-X)/Y;else if(W===J)G=2+(X-$)/Y;else G=4+($-J)/Y;if(G*=60,G<0)G+=360}return{h:G,s:K,l:Q}}var pN=0.95047,lN=1,cN=1.08883;function XJ($){return $>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862}function VW($,J,X){if($=XJ($/pN),J=XJ(J/lN),X=XJ(X/cN),116*J-16<0)throw Error("xxx");return{L:Math.max(0,116*J-16),a:500*($-J),b:200*(J-X)}}function j$($,J,X){let q=YW($,J,X);return VW(q.x,q.y,q.z)}var dN=0.95047,nN=1,rN=1.08883;function qJ($){return $>0.206893034?$**3:($-0.13793103448275862)/7.787}function HW($,J,X){let q=($+16)/116,W=J/500+q,Y=q-X/200;return{x:dN*qJ(W),y:nN*qJ(q),z:rN*qJ(Y)}}function WJ($){return $>0.0031308?1.055*$**0.4166666666666667-0.055:12.92*$}function MW($,J,X){let q=WJ($*3.2406+J*-1.5372+X*-0.4986),W=WJ($*-0.9689+J*1.8758+X*0.0415),Y=WJ($*0.0557+J*-0.204+X*1.057);return{r:s8(q*255),g:s8(W*255),b:s8(Y*255)}}function oN($,J,X){let q=HW($,J,X);return MW(q.x,q.y,q.z)}var OW={};D6(OW,{AbstractDistanceCalculator:()=>w9,AbstractEuclidean:()=>E1,AbstractManhattan:()=>C1,CIE94GraphicArts:()=>BW,CIE94Textiles:()=>UW,CIEDE2000:()=>V6,CMetric:()=>RW,Euclidean:()=>jW,EuclideanBT709:()=>LW,EuclideanBT709NoAlpha:()=>zW,Manhattan:()=>ZW,ManhattanBT709:()=>PW,ManhattanNommyde:()=>FW,PNGQuant:()=>AW});var w9=class{constructor(){c(this,"_maxDistance"),c(this,"_whitePoint"),this._setDefaults(),this.setWhitePoint(255,255,255,255)}setWhitePoint($,J,X,q){this._whitePoint={r:$>0?255/$:0,g:J>0?255/J:0,b:X>0?255/X:0,a:q>0?255/q:0},this._maxDistance=this.calculateRaw($,J,X,q,0,0,0,0)}calculateNormalized($,J){return this.calculateRaw($.r,$.g,$.b,$.a,J.r,J.g,J.b,J.a)/this._maxDistance}},NW=class extends w9{calculateRaw($,J,X,q,W,Y,Q,K){let G=j$(u8($*this._whitePoint.r),u8(J*this._whitePoint.g),u8(X*this._whitePoint.b)),V=j$(u8(W*this._whitePoint.r),u8(Y*this._whitePoint.g),u8(Q*this._whitePoint.b)),H=G.L-V.L,M=G.a-V.a,O=G.b-V.b,N=Math.sqrt(G.a*G.a+G.b*G.b),U=Math.sqrt(V.a*V.a+V.b*V.b),j=N-U,R=M*M+O*O-j*j;R=R<0?0:Math.sqrt(R);let z=(K-q)*this._whitePoint.a*this._kA;return Math.sqrt((H/this._Kl)**2+(j/(1+this._K1*N))**2+(R/(1+this._K2*N))**2+z**2)}},UW=class extends NW{_setDefaults(){this._Kl=2,this._K1=0.048,this._K2=0.014,this._kA=0.049019607843137254}},BW=class extends NW{_setDefaults(){this._Kl=1,this._K1=0.045,this._K2=0.015,this._kA=0.09803921568627451}},$8=class extends w9{_setDefaults(){}static _calculatehp($,J){let X=Math.atan2($,J);if(X>=0)return X;return X+$8._deg360InRad}static _calculateRT($,J){let X=J**7,q=2*Math.sqrt(X/(X+$8._pow25to7)),W=$8._deg30InRad*Math.exp(-((($-$8._deg275InRad)/$8._deg25InRad)**2));return-Math.sin(2*W)*q}static _calculateT($){return 1-0.17*Math.cos($-$8._deg30InRad)+0.24*Math.cos($*2)+0.32*Math.cos($*3+$8._deg6InRad)-0.2*Math.cos($*4-$8._deg63InRad)}static _calculate_ahp($,J,X,q){let W=X+q;if($===0)return W;if(J<=$8._deg180InRad)return W/2;if(W<$8._deg360InRad)return(W+$8._deg360InRad)/2;return(W-$8._deg360InRad)/2}static _calculate_dHp($,J,X,q){let W;if($===0)W=0;else if(J<=$8._deg180InRad)W=X-q;else if(X<=q)W=X-q+$8._deg360InRad;else W=X-q-$8._deg360InRad;return 2*Math.sqrt($)*Math.sin(W/2)}calculateRaw($,J,X,q,W,Y,Q,K){let G=j$(u8($*this._whitePoint.r),u8(J*this._whitePoint.g),u8(X*this._whitePoint.b)),V=j$(u8(W*this._whitePoint.r),u8(Y*this._whitePoint.g),u8(Q*this._whitePoint.b)),H=(K-q)*this._whitePoint.a*$8._kA,M=this.calculateRawInLab(G,V);return Math.sqrt(M+H*H)}calculateRawInLab($,J){let{L:X,a:q,b:W}=$,Y=J.L,Q=J.a,K=J.b,G=Math.sqrt(q*q+W*W),V=Math.sqrt(Q*Q+K*K),H=((G+V)/2)**7,M=0.5*(1-Math.sqrt(H/(H+$8._pow25to7))),O=(1+M)*q,N=(1+M)*Q,U=Math.sqrt(O*O+W*W),j=Math.sqrt(N*N+K*K),R=U*j,z=$8._calculatehp(W,O),F=$8._calculatehp(K,N),P=Math.abs(z-F),S=Y-X,Z=j-U,L=$8._calculate_dHp(R,P,F,z),B=$8._calculate_ahp(R,P,z,F),v=$8._calculateT(B),w=(U+j)/2,x=((X+Y)/2-50)**2,A=1+0.015*x/Math.sqrt(20+x),D=1+0.045*w,C=1+0.015*v*w,k=$8._calculateRT(B,w),_=S/A,y=Z/D,f=L/C;return _**2+y**2+f**2+k*y*f}},V6=$8;c(V6,"_kA",0.09803921568627451);c(V6,"_pow25to7",6103515625);c(V6,"_deg360InRad",q9(360));c(V6,"_deg180InRad",q9(180));c(V6,"_deg30InRad",q9(30));c(V6,"_deg6InRad",q9(6));c(V6,"_deg63InRad",q9(63));c(V6,"_deg275InRad",q9(275));c(V6,"_deg25InRad",q9(25));var RW=class extends w9{calculateRaw($,J,X,q,W,Y,Q,K){let G=($+W)/2*this._whitePoint.r,V=($-W)*this._whitePoint.r,H=(J-Y)*this._whitePoint.g,M=(X-Q)*this._whitePoint.b,O=((512+G)*V*V>>8)+4*H*H+((767-G)*M*M>>8),N=(K-q)*this._whitePoint.a;return Math.sqrt(O+N*N)}_setDefaults(){}},E1=class extends w9{calculateRaw($,J,X,q,W,Y,Q,K){let G=W-$,V=Y-J,H=Q-X,M=K-q;return Math.sqrt(this._kR*G*G+this._kG*V*V+this._kB*H*H+this._kA*M*M)}},jW=class extends E1{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},LW=class extends E1{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},zW=class extends E1{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=0}},C1=class extends w9{calculateRaw($,J,X,q,W,Y,Q,K){let G=W-$,V=Y-J,H=Q-X,M=K-q;if(G<0)G=0-G;if(V<0)V=0-V;if(H<0)H=0-H;if(M<0)M=0-M;return this._kR*G+this._kG*V+this._kB*H+this._kA*M}},ZW=class extends C1{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},FW=class extends C1{_setDefaults(){this._kR=0.4984,this._kG=0.8625,this._kB=0.2979,this._kA=1}},PW=class extends C1{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},AW=class extends w9{calculateRaw($,J,X,q,W,Y,Q,K){let G=(K-q)*this._whitePoint.a;return this._colordifferenceCh($*this._whitePoint.r,W*this._whitePoint.r,G)+this._colordifferenceCh(J*this._whitePoint.g,Y*this._whitePoint.g,G)+this._colordifferenceCh(X*this._whitePoint.b,Q*this._whitePoint.b,G)}_colordifferenceCh($,J,X){let q=$-J,W=q+X;return q*q+W*W}_setDefaults(){}},SW={};D6(SW,{AbstractPaletteQuantizer:()=>L$,ColorHistogram:()=>Z$,NeuQuant:()=>q8,NeuQuantFloat:()=>W8,RGBQuant:()=>vW,WuColorCube:()=>wW,WuQuant:()=>V5});var L$=class{quantizeSync(){for(let $ of this.quantize())if($.palette)return $.palette;throw Error("unreachable")}},p8=class{constructor(){c(this,"r"),c(this,"g"),c(this,"b"),c(this,"a"),c(this,"uint32"),c(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($){let J=new p8;return J.r=$[0]|0,J.g=$[1]|0,J.b=$[2]|0,J.a=$[3]|0,J._loadUINT32(),J._loadQuadruplet(),J}static createByRGBA($,J,X,q){let W=new p8;return W.r=$|0,W.g=J|0,W.b=X|0,W.a=q|0,W._loadUINT32(),W._loadQuadruplet(),W}static createByUint32($){let J=new p8;return J.uint32=$>>>0,J._loadRGBA(),J._loadQuadruplet(),J}from($){this.r=$.r,this.g=$.g,this.b=$.b,this.a=$.a,this.uint32=$.uint32,this.rgba[0]=$.r,this.rgba[1]=$.g,this.rgba[2]=$.b,this.rgba[3]=$.a}getLuminosity($){let J=this.r,X=this.g,q=this.b;if($)J=Math.min(255,255-this.a+this.a*J/255),X=Math.min(255,255-this.a+this.a*X/255),q=Math.min(255,255-this.a+this.a*q/255);return J*0.2126+X*0.7152+q*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}},u6=class{constructor(){c(this,"_pointArray"),c(this,"_width"),c(this,"_height"),this._width=0,this._height=0,this._pointArray=[]}getWidth(){return this._width}getHeight(){return this._height}setWidth($){this._width=$}setHeight($){this._height=$}getPointArray(){return this._pointArray}clone(){let $=new u6;$._width=this._width,$._height=this._height;for(let J=0,X=this._pointArray.length;J<X;J++)$._pointArray[J]=p8.createByUint32(this._pointArray[J].uint32|0);return $}toUint32Array(){let $=this._pointArray.length,J=new Uint32Array($);for(let X=0;X<$;X++)J[X]=this._pointArray[X].uint32;return J}toUint8Array(){return new Uint8Array(this.toUint32Array().buffer)}static fromHTMLImageElement($){let{naturalWidth:J,naturalHeight:X}=$,q=document.createElement("canvas");return q.width=J,q.height=X,q.getContext("2d").drawImage($,0,0,J,X,0,0,J,X),u6.fromHTMLCanvasElement(q)}static fromHTMLCanvasElement($){let{width:J,height:X}=$,W=$.getContext("2d").getImageData(0,0,J,X);return u6.fromImageData(W)}static fromImageData($){let{width:J,height:X}=$;return u6.fromUint8Array($.data,J,X)}static fromUint8Array($,J,X){switch(Object.prototype.toString.call($)){case"[object Uint8ClampedArray]":case"[object Uint8Array]":break;default:$=new Uint8Array($)}let q=new Uint32Array($.buffer);return u6.fromUint32Array(q,J,X)}static fromUint32Array($,J,X){let q=new u6;q._width=J,q._height=X;for(let W=0,Y=$.length;W<Y;W++)q._pointArray[W]=p8.createByUint32($[W]|0);return q}static fromBuffer($,J,X){let q=new Uint32Array($.buffer,$.byteOffset,$.byteLength/Uint32Array.BYTES_PER_ELEMENT);return u6.fromUint32Array(q,J,X)}},iq=10;function YJ($,J){let q=360/J,W=q/2;for(let Y=1,Q=q-W;Y<J;Y++,Q+=q)if($>=Q&&$<Q+q)return Y;return 0}var z$=class{constructor(){c(this,"_pointContainer"),c(this,"_pointArray",[]),c(this,"_i32idx",{}),this._pointContainer=new u6,this._pointContainer.setHeight(1),this._pointArray=this._pointContainer.getPointArray()}add($){this._pointArray.push($),this._pointContainer.setWidth(this._pointArray.length)}has($){for(let J=this._pointArray.length-1;J>=0;J--)if($.uint32===this._pointArray[J].uint32)return!0;return!1}getNearestColor($,J){return this._pointArray[this._getNearestIndex($,J)|0]}getPointContainer(){return this._pointContainer}_nearestPointFromCache($){return typeof this._i32idx[$]==="number"?this._i32idx[$]:-1}_getNearestIndex($,J){let X=this._nearestPointFromCache(""+J.uint32);if(X>=0)return X;let q=Number.MAX_VALUE;X=0;for(let W=0,Y=this._pointArray.length;W<Y;W++){let Q=this._pointArray[W],K=$.calculateRaw(J.r,J.g,J.b,J.a,Q.r,Q.g,Q.b,Q.a);if(K<q)q=K,X=W}return this._i32idx[J.uint32]=X,X}sort(){this._i32idx={},this._pointArray.sort(($,J)=>{let X=A1($.r,$.g,$.b),q=A1(J.r,J.g,J.b),W=$.r===$.g&&$.g===$.b?0:1+YJ(X.h,iq),Q=(J.r===J.g&&J.g===J.b?0:1+YJ(q.h,iq))-W;if(Q)return-Q;let K=$.getLuminosity(!0),G=J.getLuminosity(!0);if(G-K!==0)return G-K;let V=(q.s*100|0)-(X.s*100|0);if(V)return-V;return 0})}},DW={};D6(DW,{HueStatistics:()=>EW,Palette:()=>z$,Point:()=>p8,PointContainer:()=>u6,ProgressTracker:()=>p6,arithmetic:()=>QW});var iN=class{constructor(){c(this,"num",0),c(this,"cols",[])}},EW=class{constructor($,J){c(this,"_numGroups"),c(this,"_minCols"),c(this,"_stats"),c(this,"_groupsFull"),this._numGroups=$,this._minCols=J,this._stats=[];for(let X=0;X<=$;X++)this._stats[X]=new iN;this._groupsFull=0}check($){if(this._groupsFull===this._numGroups+1)this.check=()=>{};let J=$&255,X=$>>>8&255,q=$>>>16&255,W=J===X&&X===q?0:1+YJ(A1(J,X,q).h,this._numGroups),Y=this._stats[W],Q=this._minCols;if(Y.num++,Y.num>Q)return;if(Y.num===Q)this._groupsFull++;if(Y.num<=Q)this._stats[W].cols.push($)}injectIntoDictionary($){for(let J=0;J<=this._numGroups;J++)if(this._stats[J].num<=this._minCols)this._stats[J].cols.forEach((X)=>{if(!$[X])$[X]=1;else $[X]++})}injectIntoArray($){for(let J=0;J<=this._numGroups;J++)if(this._stats[J].num<=this._minCols)this._stats[J].cols.forEach((X)=>{if($.indexOf(X)===-1)$.push(X)})}},CW=class{constructor($,J){c(this,"progress"),c(this,"_step"),c(this,"_range"),c(this,"_last"),c(this,"_progressRange"),this._range=$,this._progressRange=J,this._step=Math.max(1,this._range/(CW.steps+1)|0),this._last=-this._step,this.progress=0}shouldNotify($){if($-this._last>=this._step)return this._last=$,this.progress=Math.min(this._progressRange*this._last/this._range,this._progressRange),!0;return!1}},p6=CW;c(p6,"steps",100);var v8=3,sN=class{constructor($){c(this,"r"),c(this,"g"),c(this,"b"),c(this,"a"),this.r=this.g=this.b=this.a=$}toPoint(){return p8.createByRGBA(this.r>>v8,this.g>>v8,this.b>>v8,this.a>>v8)}subtract($,J,X,q){this.r-=$|0,this.g-=J|0,this.b-=X|0,this.a-=q|0}},f0=class extends L${constructor($,J=256){super();c(this,"_pointArray"),c(this,"_networkSize"),c(this,"_network"),c(this,"_sampleFactor"),c(this,"_radPower"),c(this,"_freq"),c(this,"_bias"),c(this,"_distance"),this._distance=$,this._pointArray=[],this._sampleFactor=1,this._networkSize=J,this._distance.setWhitePoint(255<<v8,255<<v8,255<<v8,255<<v8)}sample($){this._pointArray=this._pointArray.concat($.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let $=0;$<this._networkSize;$++)this._network[$]=new sN(($<<v8+8)/this._networkSize|0),this._freq[$]=f0._initialBias/this._networkSize|0,this._bias[$]=0}*_learn(){let $=this._sampleFactor,J=this._pointArray.length;if(J<f0._minpicturebytes)$=1;let X=30+($-1)/3|0,q=J/$|0,W=q/f0._nCycles|0,Y=f0._initAlpha,Q=(this._networkSize>>3)*f0._radiusBias,K=Q>>f0._radiusBiasShift;if(K<=1)K=0;for(let H=0;H<K;H++)this._radPower[H]=Y*((K*K-H*H)*f0._radBias/(K*K))>>>0;let G;if(J<f0._minpicturebytes)G=1;else if(J%f0._prime1!==0)G=f0._prime1;else if(J%f0._prime2!==0)G=f0._prime2;else if(J%f0._prime3!==0)G=f0._prime3;else G=f0._prime4;let V=new p6(q,99);for(let H=0,M=0;H<q;){if(V.shouldNotify(H))yield{progress:V.progress};let O=this._pointArray[M],N=O.b<<v8,U=O.g<<v8,j=O.r<<v8,R=O.a<<v8,z=this._contest(N,U,j,R);if(this._alterSingle(Y,z,N,U,j,R),K!==0)this._alterNeighbour(K,z,N,U,j,R);if(M+=G,M>=J)M-=J;if(H++,W===0)W=1;if(H%W===0){if(Y-=Y/X|0,Q-=Q/f0._radiusDecrease|0,K=Q>>f0._radiusBiasShift,K<=1)K=0;for(let F=0;F<K;F++)this._radPower[F]=Y*((K*K-F*F)*f0._radBias/(K*K))>>>0}}}_buildPalette(){let $=new z$;return this._network.forEach((J)=>{$.add(J.toPoint())}),$.sort(),$}_alterNeighbour($,J,X,q,W,Y){let Q=J-$;if(Q<-1)Q=-1;let K=J+$;if(K>this._networkSize)K=this._networkSize;let G=J+1,V=J-1,H=1;while(G<K||V>Q){let M=this._radPower[H++]/f0._alphaRadBias;if(G<K){let O=this._network[G++];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}if(V>Q){let O=this._network[V--];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}}}_alterSingle($,J,X,q,W,Y){$/=f0._initAlpha;let Q=this._network[J];Q.subtract($*(Q.r-W),$*(Q.g-q),$*(Q.b-X),$*(Q.a-Y))}_contest($,J,X,q){let W=1020<<v8,Y=2147483647,Q=Y,K=-1,G=K;for(let V=0;V<this._networkSize;V++){let H=this._network[V],M=this._distance.calculateNormalized(H,{r:X,g:J,b:$,a:q})*W|0;if(M<Y)Y=M,K=V;let O=M-(this._bias[V]>>f0._initialBiasShift-v8);if(O<Q)Q=O,G=V;let N=this._freq[V]>>f0._betaShift;this._freq[V]-=N,this._bias[V]+=N<<f0._gammaShift}return this._freq[K]+=f0._beta,this._bias[K]-=f0._betaGamma,G}},q8=f0;c(q8,"_prime1",499);c(q8,"_prime2",491);c(q8,"_prime3",487);c(q8,"_prime4",503);c(q8,"_minpicturebytes",f0._prime4);c(q8,"_nCycles",100);c(q8,"_initialBiasShift",16);c(q8,"_initialBias",1<<f0._initialBiasShift);c(q8,"_gammaShift",10);c(q8,"_betaShift",10);c(q8,"_beta",f0._initialBias>>f0._betaShift);c(q8,"_betaGamma",f0._initialBias<<f0._gammaShift-f0._betaShift);c(q8,"_radiusBiasShift",6);c(q8,"_radiusBias",1<<f0._radiusBiasShift);c(q8,"_radiusDecrease",30);c(q8,"_alphaBiasShift",10);c(q8,"_initAlpha",1<<f0._alphaBiasShift);c(q8,"_radBiasShift",8);c(q8,"_radBias",1<<f0._radBiasShift);c(q8,"_alphaRadBiasShift",f0._alphaBiasShift+f0._radBiasShift);c(q8,"_alphaRadBias",1<<f0._alphaRadBiasShift);var w8=3,aN=class{constructor($){c(this,"r"),c(this,"g"),c(this,"b"),c(this,"a"),this.r=this.g=this.b=this.a=$}toPoint(){return p8.createByRGBA(this.r>>w8,this.g>>w8,this.b>>w8,this.a>>w8)}subtract($,J,X,q){this.r-=$,this.g-=J,this.b-=X,this.a-=q}},b0=class extends L${constructor($,J=256){super();c(this,"_pointArray"),c(this,"_networkSize"),c(this,"_network"),c(this,"_sampleFactor"),c(this,"_radPower"),c(this,"_freq"),c(this,"_bias"),c(this,"_distance"),this._distance=$,this._pointArray=[],this._sampleFactor=1,this._networkSize=J,this._distance.setWhitePoint(255<<w8,255<<w8,255<<w8,255<<w8)}sample($){this._pointArray=this._pointArray.concat($.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let $=0;$<this._networkSize;$++)this._network[$]=new aN(($<<w8+8)/this._networkSize),this._freq[$]=b0._initialBias/this._networkSize,this._bias[$]=0}*_learn(){let $=this._sampleFactor,J=this._pointArray.length;if(J<b0._minpicturebytes)$=1;let X=30+($-1)/3,q=J/$,W=q/b0._nCycles|0,Y=b0._initAlpha,Q=(this._networkSize>>3)*b0._radiusBias,K=Q>>b0._radiusBiasShift;if(K<=1)K=0;for(let H=0;H<K;H++)this._radPower[H]=Y*((K*K-H*H)*b0._radBias/(K*K));let G;if(J<b0._minpicturebytes)G=1;else if(J%b0._prime1!==0)G=b0._prime1;else if(J%b0._prime2!==0)G=b0._prime2;else if(J%b0._prime3!==0)G=b0._prime3;else G=b0._prime4;let V=new p6(q,99);for(let H=0,M=0;H<q;){if(V.shouldNotify(H))yield{progress:V.progress};let O=this._pointArray[M],N=O.b<<w8,U=O.g<<w8,j=O.r<<w8,R=O.a<<w8,z=this._contest(N,U,j,R);if(this._alterSingle(Y,z,N,U,j,R),K!==0)this._alterNeighbour(K,z,N,U,j,R);if(M+=G,M>=J)M-=J;if(H++,W===0)W=1;if(H%W===0){if(Y-=Y/X,Q-=Q/b0._radiusDecrease,K=Q>>b0._radiusBiasShift,K<=1)K=0;for(let F=0;F<K;F++)this._radPower[F]=Y*((K*K-F*F)*b0._radBias/(K*K))}}}_buildPalette(){let $=new z$;return this._network.forEach((J)=>{$.add(J.toPoint())}),$.sort(),$}_alterNeighbour($,J,X,q,W,Y){let Q=J-$;if(Q<-1)Q=-1;let K=J+$;if(K>this._networkSize)K=this._networkSize;let G=J+1,V=J-1,H=1;while(G<K||V>Q){let M=this._radPower[H++]/b0._alphaRadBias;if(G<K){let O=this._network[G++];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}if(V>Q){let O=this._network[V--];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}}}_alterSingle($,J,X,q,W,Y){$/=b0._initAlpha;let Q=this._network[J];Q.subtract($*(Q.r-W),$*(Q.g-q),$*(Q.b-X),$*(Q.a-Y))}_contest($,J,X,q){let W=1020<<w8,Y=2147483647,Q=Y,K=-1,G=K;for(let V=0;V<this._networkSize;V++){let H=this._network[V],M=this._distance.calculateNormalized(H,{r:X,g:J,b:$,a:q})*W;if(M<Y)Y=M,K=V;let O=M-(this._bias[V]>>b0._initialBiasShift-w8);if(O<Q)Q=O,G=V;let N=this._freq[V]>>b0._betaShift;this._freq[V]-=N,this._bias[V]+=N<<b0._gammaShift}return this._freq[K]+=b0._beta,this._bias[K]-=b0._betaGamma,G}},W8=b0;c(W8,"_prime1",499);c(W8,"_prime2",491);c(W8,"_prime3",487);c(W8,"_prime4",503);c(W8,"_minpicturebytes",b0._prime4);c(W8,"_nCycles",100);c(W8,"_initialBiasShift",16);c(W8,"_initialBias",1<<b0._initialBiasShift);c(W8,"_gammaShift",10);c(W8,"_betaShift",10);c(W8,"_beta",b0._initialBias>>b0._betaShift);c(W8,"_betaGamma",b0._initialBias<<b0._gammaShift-b0._betaShift);c(W8,"_radiusBiasShift",6);c(W8,"_radiusBias",1<<b0._radiusBiasShift);c(W8,"_radiusDecrease",30);c(W8,"_alphaBiasShift",10);c(W8,"_initAlpha",1<<b0._alphaBiasShift);c(W8,"_radBiasShift",8);c(W8,"_radBias",1<<b0._radBiasShift);c(W8,"_alphaRadBiasShift",b0._alphaBiasShift+b0._radBiasShift);c(W8,"_alphaRadBias",1<<b0._alphaRadBiasShift);var R$=class{constructor($,J){c(this,"_method"),c(this,"_hueStats"),c(this,"_histogram"),c(this,"_initColors"),c(this,"_minHueCols"),this._method=$,this._minHueCols=J<<2,this._initColors=J<<2,this._hueStats=new EW(R$._hueGroups,this._minHueCols),this._histogram=Object.create(null)}sample($){switch(this._method){case 1:this._colorStats1D($);break;case 2:this._colorStats2D($);break}}getImportanceSortedColorsIDXI32(){let $=QJ(Object.keys(this._histogram),(X,q)=>this._histogram[q]-this._histogram[X]);if($.length===0)return[];let J;switch(this._method){case 1:let X=Math.min($.length,this._initColors),q=$[X-1],W=this._histogram[q];J=$.slice(0,X);let Y=X,Q=$.length;while(Y<Q&&this._histogram[$[Y]]===W)J.push($[Y++]);this._hueStats.injectIntoArray(J);break;case 2:J=$;break;default:throw Error("Incorrect method")}return J.map((X)=>+X)}_colorStats1D($){let J=this._histogram,X=$.getPointArray(),q=X.length;for(let W=0;W<q;W++){let Y=X[W].uint32;if(this._hueStats.check(Y),Y in J)J[Y]++;else J[Y]=1}}_colorStats2D($){let J=$.getWidth(),X=$.getHeight(),q=$.getPointArray(),W=R$._boxSize[0],Y=R$._boxSize[1],Q=W*Y,K=this._makeBoxes(J,X,W,Y),G=this._histogram;K.forEach((V)=>{let H=Math.round(V.w*V.h/Q)*R$._boxPixels;if(H<2)H=2;let M={};this._iterateBox(V,J,(O)=>{let N=q[O].uint32;if(this._hueStats.check(N),N in G)G[N]++;else if(N in M){if(++M[N]>=H)G[N]=M[N]}else M[N]=1})}),this._hueStats.injectIntoDictionary(G)}_iterateBox($,J,X){let q=$,W=q.y*J+q.x,Y=(q.y+q.h-1)*J+(q.x+q.w-1),Q=J-q.w+1,K=0,G=W;do X.call(this,G),G+=++K%q.w===0?Q:1;while(G<=Y)}_makeBoxes($,J,X,q){let W=$%X,Y=J%q,Q=$-W,K=J-Y,G=[];for(let V=0;V<J;V+=q)for(let H=0;H<$;H+=X)G.push({x:H,y:V,w:H===Q?W:X,h:V===K?Y:q});return G}},Z$=R$;c(Z$,"_boxSize",[64,64]);c(Z$,"_boxPixels",2);c(Z$,"_hueGroups",10);var tN=class{constructor($,J,X){c(this,"index"),c(this,"color"),c(this,"distance"),this.index=$,this.color=J,this.distance=X}},vW=class extends L${constructor($,J=256,X=2){super();c(this,"_colors"),c(this,"_initialDistance"),c(this,"_distanceIncrement"),c(this,"_histogram"),c(this,"_distance"),this._distance=$,this._colors=J,this._histogram=new Z$(X,J),this._initialDistance=0.01,this._distanceIncrement=0.005}sample($){this._histogram.sample($)}*quantize(){let $=this._histogram.getImportanceSortedColorsIDXI32();if($.length===0)throw Error("No colors in image");yield*this._buildPalette($)}*_buildPalette($){let J=new z$,X=J.getPointContainer().getPointArray(),q=Array($.length);for(let H=0;H<$.length;H++)X.push(p8.createByUint32($[H])),q[H]=1;let W=X.length,Y=[],Q=W,K=this._initialDistance,G=new p6(Q-this._colors,99);while(Q>this._colors){Y.length=0;for(let H=0;H<W;H++){if(G.shouldNotify(W-Q))yield{progress:G.progress};if(q[H]===0)continue;let M=X[H];for(let O=H+1;O<W;O++){if(q[O]===0)continue;let N=X[O],U=this._distance.calculateNormalized(M,N);if(U<K)Y.push(new tN(O,N,U)),q[O]=0,Q--}}K+=Q>this._colors*3?this._initialDistance:this._distanceIncrement}if(Q<this._colors){QJ(Y,(M,O)=>O.distance-M.distance);let H=0;while(Q<this._colors&&H<Y.length){let M=Y[H];q[M.index]=1,Q++,H++}}let V=X.length;for(let H=V-1;H>=0;H--)if(q[H]===0){if(H!==V-1)X[H]=X[V-1];--V}X.length=V,J.sort(),yield{palette:J,progress:100}}};function W5($){let J=[];for(let X=0;X<$;X++)J[X]=0;return J}function Y5($,J,X,q){let W=Array($);for(let Y=0;Y<$;Y++){W[Y]=Array(J);for(let Q=0;Q<J;Q++){W[Y][Q]=Array(X);for(let K=0;K<X;K++){W[Y][Q][K]=Array(q);for(let G=0;G<q;G++)W[Y][Q][K][G]=0}}}return W}function Q5($,J,X){let q=Array($);for(let W=0;W<$;W++){q[W]=Array(J);for(let Y=0;Y<J;Y++){q[W][Y]=Array(X);for(let Q=0;Q<X;Q++)q[W][Y][Q]=0}}return q}function K5($,J,X,q,W){for(let Y=0;Y<J;Y++){$[Y]=[];for(let Q=0;Q<X;Q++){$[Y][Q]=[];for(let K=0;K<q;K++)$[Y][Q][K]=W}}}function G5($,J,X){for(let q=0;q<J;q++)$[q]=X}var wW=class{constructor(){c(this,"redMinimum"),c(this,"redMaximum"),c(this,"greenMinimum"),c(this,"greenMaximum"),c(this,"blueMinimum"),c(this,"blueMaximum"),c(this,"volume"),c(this,"alphaMinimum"),c(this,"alphaMaximum")}},v0=class extends L${constructor($,J=256,X=5){super();c(this,"_reds"),c(this,"_greens"),c(this,"_blues"),c(this,"_alphas"),c(this,"_sums"),c(this,"_weights"),c(this,"_momentsRed"),c(this,"_momentsGreen"),c(this,"_momentsBlue"),c(this,"_momentsAlpha"),c(this,"_moments"),c(this,"_table"),c(this,"_pixels"),c(this,"_cubes"),c(this,"_colors"),c(this,"_significantBitsPerChannel"),c(this,"_maxSideIndex"),c(this,"_alphaMaxSideIndex"),c(this,"_sideSize"),c(this,"_alphaSideSize"),c(this,"_distance"),this._distance=$,this._setQuality(X),this._initialize(J)}sample($){let J=$.getPointArray();for(let X=0,q=J.length;X<q;X++)this._addColor(J[X]);this._pixels=this._pixels.concat(J)}*quantize(){yield*this._preparePalette();let $=new z$;for(let J=0;J<this._colors;J++)if(this._sums[J]>0){let X=this._sums[J],q=this._reds[J]/X,W=this._greens[J]/X,Y=this._blues[J]/X,Q=this._alphas[J]/X,K=p8.createByRGBA(q|0,W|0,Y|0,Q|0);$.add(K)}$.sort(),yield{palette:$,progress:100}}*_preparePalette(){yield*this._calculateMoments();let $=0,J=W5(this._colors);for(let Q=1;Q<this._colors;++Q){if(this._cut(this._cubes[$],this._cubes[Q]))J[$]=this._cubes[$].volume>1?this._calculateVariance(this._cubes[$]):0,J[Q]=this._cubes[Q].volume>1?this._calculateVariance(this._cubes[Q]):0;else J[$]=0,Q--;$=0;let K=J[0];for(let G=1;G<=Q;++G)if(J[G]>K)K=J[G],$=G;if(K<=0){this._colors=Q+1;break}}let X=[],q=[],W=[],Y=[];for(let Q=0;Q<this._colors;++Q){let K=v0._volume(this._cubes[Q],this._weights);if(K>0)X[Q]=v0._volume(this._cubes[Q],this._momentsRed)/K|0,q[Q]=v0._volume(this._cubes[Q],this._momentsGreen)/K|0,W[Q]=v0._volume(this._cubes[Q],this._momentsBlue)/K|0,Y[Q]=v0._volume(this._cubes[Q],this._momentsAlpha)/K|0;else X[Q]=0,q[Q]=0,W[Q]=0,Y[Q]=0}this._reds=W5(this._colors+1),this._greens=W5(this._colors+1),this._blues=W5(this._colors+1),this._alphas=W5(this._colors+1),this._sums=W5(this._colors+1);for(let Q=0,K=this._pixels.length;Q<K;Q++){let G=this._pixels[Q],V=-1,H=-1,M=Number.MAX_VALUE;for(let O=0;O<this._colors;O++){let N=X[O],U=q[O],j=W[O],R=Y[O],z=this._distance.calculateRaw(N,U,j,R,G.r,G.g,G.b,G.a);if(z<M)M=z,H=O}this._reds[H]+=G.r,this._greens[H]+=G.g,this._blues[H]+=G.b,this._alphas[H]+=G.a,this._sums[H]++}}_addColor($){let J=8-this._significantBitsPerChannel,X=($.r>>J)+1,q=($.g>>J)+1,W=($.b>>J)+1,Y=($.a>>J)+1;this._weights[Y][X][q][W]++,this._momentsRed[Y][X][q][W]+=$.r,this._momentsGreen[Y][X][q][W]+=$.g,this._momentsBlue[Y][X][q][W]+=$.b,this._momentsAlpha[Y][X][q][W]+=$.a,this._moments[Y][X][q][W]+=this._table[$.r]+this._table[$.g]+this._table[$.b]+this._table[$.a]}*_calculateMoments(){let $=[],J=[],X=[],q=[],W=[],Y=[],Q=Q5(this._sideSize,this._sideSize,this._sideSize),K=Q5(this._sideSize,this._sideSize,this._sideSize),G=Q5(this._sideSize,this._sideSize,this._sideSize),V=Q5(this._sideSize,this._sideSize,this._sideSize),H=Q5(this._sideSize,this._sideSize,this._sideSize),M=Q5(this._sideSize,this._sideSize,this._sideSize),O=0,N=new p6(this._alphaMaxSideIndex*this._maxSideIndex,99);for(let U=1;U<=this._alphaMaxSideIndex;++U){K5(Q,this._sideSize,this._sideSize,this._sideSize,0),K5(K,this._sideSize,this._sideSize,this._sideSize,0),K5(G,this._sideSize,this._sideSize,this._sideSize,0),K5(V,this._sideSize,this._sideSize,this._sideSize,0),K5(H,this._sideSize,this._sideSize,this._sideSize,0),K5(M,this._sideSize,this._sideSize,this._sideSize,0);for(let j=1;j<=this._maxSideIndex;++j,++O){if(N.shouldNotify(O))yield{progress:N.progress};G5($,this._sideSize,0),G5(J,this._sideSize,0),G5(X,this._sideSize,0),G5(q,this._sideSize,0),G5(W,this._sideSize,0),G5(Y,this._sideSize,0);for(let R=1;R<=this._maxSideIndex;++R){let z=0,F=0,P=0,S=0,Z=0,L=0;for(let B=1;B<=this._maxSideIndex;++B)z+=this._weights[U][j][R][B],F+=this._momentsRed[U][j][R][B],P+=this._momentsGreen[U][j][R][B],S+=this._momentsBlue[U][j][R][B],Z+=this._momentsAlpha[U][j][R][B],L+=this._moments[U][j][R][B],$[B]+=z,J[B]+=F,X[B]+=P,q[B]+=S,W[B]+=Z,Y[B]+=L,Q[j][R][B]=Q[j-1][R][B]+$[B],K[j][R][B]=K[j-1][R][B]+J[B],G[j][R][B]=G[j-1][R][B]+X[B],V[j][R][B]=V[j-1][R][B]+q[B],H[j][R][B]=H[j-1][R][B]+W[B],M[j][R][B]=M[j-1][R][B]+Y[B],this._weights[U][j][R][B]=this._weights[U-1][j][R][B]+Q[j][R][B],this._momentsRed[U][j][R][B]=this._momentsRed[U-1][j][R][B]+K[j][R][B],this._momentsGreen[U][j][R][B]=this._momentsGreen[U-1][j][R][B]+G[j][R][B],this._momentsBlue[U][j][R][B]=this._momentsBlue[U-1][j][R][B]+V[j][R][B],this._momentsAlpha[U][j][R][B]=this._momentsAlpha[U-1][j][R][B]+H[j][R][B],this._moments[U][j][R][B]=this._moments[U-1][j][R][B]+M[j][R][B]}}}}static _volumeFloat($,J){return J[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMaximum]-J[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMaximum]-J[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMaximum]+J[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]-J[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMaximum]+J[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]+J[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-J[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(J[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMinimum]-J[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]-J[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+J[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]-J[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]+J[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]+J[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]-J[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum])}static _volume($,J){return v0._volumeFloat($,J)|0}static _top($,J,X,q){let W;switch(J){case v0._alpha:W=q[X][$.redMaximum][$.greenMaximum][$.blueMaximum]-q[X][$.redMaximum][$.greenMinimum][$.blueMaximum]-q[X][$.redMinimum][$.greenMaximum][$.blueMaximum]+q[X][$.redMinimum][$.greenMinimum][$.blueMaximum]-(q[X][$.redMaximum][$.greenMaximum][$.blueMinimum]-q[X][$.redMaximum][$.greenMinimum][$.blueMinimum]-q[X][$.redMinimum][$.greenMaximum][$.blueMinimum]+q[X][$.redMinimum][$.greenMinimum][$.blueMinimum]);break;case v0._red:W=q[$.alphaMaximum][X][$.greenMaximum][$.blueMaximum]-q[$.alphaMaximum][X][$.greenMinimum][$.blueMaximum]-q[$.alphaMinimum][X][$.greenMaximum][$.blueMaximum]+q[$.alphaMinimum][X][$.greenMinimum][$.blueMaximum]-(q[$.alphaMaximum][X][$.greenMaximum][$.blueMinimum]-q[$.alphaMaximum][X][$.greenMinimum][$.blueMinimum]-q[$.alphaMinimum][X][$.greenMaximum][$.blueMinimum]+q[$.alphaMinimum][X][$.greenMinimum][$.blueMinimum]);break;case v0._green:W=q[$.alphaMaximum][$.redMaximum][X][$.blueMaximum]-q[$.alphaMaximum][$.redMinimum][X][$.blueMaximum]-q[$.alphaMinimum][$.redMaximum][X][$.blueMaximum]+q[$.alphaMinimum][$.redMinimum][X][$.blueMaximum]-(q[$.alphaMaximum][$.redMaximum][X][$.blueMinimum]-q[$.alphaMaximum][$.redMinimum][X][$.blueMinimum]-q[$.alphaMinimum][$.redMaximum][X][$.blueMinimum]+q[$.alphaMinimum][$.redMinimum][X][$.blueMinimum]);break;case v0._blue:W=q[$.alphaMaximum][$.redMaximum][$.greenMaximum][X]-q[$.alphaMaximum][$.redMaximum][$.greenMinimum][X]-q[$.alphaMaximum][$.redMinimum][$.greenMaximum][X]+q[$.alphaMaximum][$.redMinimum][$.greenMinimum][X]-(q[$.alphaMinimum][$.redMaximum][$.greenMaximum][X]-q[$.alphaMinimum][$.redMaximum][$.greenMinimum][X]-q[$.alphaMinimum][$.redMinimum][$.greenMaximum][X]+q[$.alphaMinimum][$.redMinimum][$.greenMinimum][X]);break;default:throw Error("impossible")}return W|0}static _bottom($,J,X){switch(J){case v0._alpha:return-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMaximum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case v0._red:return-X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMaximum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case v0._green:return-X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMaximum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case v0._blue:return-X[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]-(-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);default:return 0}}_calculateVariance($){let J=v0._volume($,this._momentsRed),X=v0._volume($,this._momentsGreen),q=v0._volume($,this._momentsBlue),W=v0._volume($,this._momentsAlpha),Y=v0._volumeFloat($,this._moments),Q=v0._volume($,this._weights),K=J*J+X*X+q*q+W*W;return Y-K/Q}_maximize($,J,X,q,W,Y,Q,K,G){let V=v0._bottom($,J,this._momentsRed)|0,H=v0._bottom($,J,this._momentsGreen)|0,M=v0._bottom($,J,this._momentsBlue)|0,O=v0._bottom($,J,this._momentsAlpha)|0,N=v0._bottom($,J,this._weights)|0,U=0,j=-1;for(let R=X;R<q;++R){let z=V+v0._top($,J,R,this._momentsRed),F=H+v0._top($,J,R,this._momentsGreen),P=M+v0._top($,J,R,this._momentsBlue),S=O+v0._top($,J,R,this._momentsAlpha),Z=N+v0._top($,J,R,this._weights);if(Z!==0){let L=z*z+F*F+P*P+S*S,B=L/Z;if(z=W-z,F=Y-F,P=Q-P,S=K-S,Z=G-Z,Z!==0){if(L=z*z+F*F+P*P+S*S,B+=L/Z,B>U)U=B,j=R}}}return{max:U,position:j}}_cut($,J){let X,q=v0._volume($,this._momentsRed),W=v0._volume($,this._momentsGreen),Y=v0._volume($,this._momentsBlue),Q=v0._volume($,this._momentsAlpha),K=v0._volume($,this._weights),G=this._maximize($,v0._red,$.redMinimum+1,$.redMaximum,q,W,Y,Q,K),V=this._maximize($,v0._green,$.greenMinimum+1,$.greenMaximum,q,W,Y,Q,K),H=this._maximize($,v0._blue,$.blueMinimum+1,$.blueMaximum,q,W,Y,Q,K),M=this._maximize($,v0._alpha,$.alphaMinimum+1,$.alphaMaximum,q,W,Y,Q,K);if(M.max>=G.max&&M.max>=V.max&&M.max>=H.max){if(X=v0._alpha,M.position<0)return!1}else if(G.max>=M.max&&G.max>=V.max&&G.max>=H.max)X=v0._red;else if(V.max>=M.max&&V.max>=G.max&&V.max>=H.max)X=v0._green;else X=v0._blue;switch(J.redMaximum=$.redMaximum,J.greenMaximum=$.greenMaximum,J.blueMaximum=$.blueMaximum,J.alphaMaximum=$.alphaMaximum,X){case v0._red:J.redMinimum=$.redMaximum=G.position,J.greenMinimum=$.greenMinimum,J.blueMinimum=$.blueMinimum,J.alphaMinimum=$.alphaMinimum;break;case v0._green:J.greenMinimum=$.greenMaximum=V.position,J.redMinimum=$.redMinimum,J.blueMinimum=$.blueMinimum,J.alphaMinimum=$.alphaMinimum;break;case v0._blue:J.blueMinimum=$.blueMaximum=H.position,J.redMinimum=$.redMinimum,J.greenMinimum=$.greenMinimum,J.alphaMinimum=$.alphaMinimum;break;case v0._alpha:J.alphaMinimum=$.alphaMaximum=M.position,J.blueMinimum=$.blueMinimum,J.redMinimum=$.redMinimum,J.greenMinimum=$.greenMinimum;break}return $.volume=($.redMaximum-$.redMinimum)*($.greenMaximum-$.greenMinimum)*($.blueMaximum-$.blueMinimum)*($.alphaMaximum-$.alphaMinimum),J.volume=(J.redMaximum-J.redMinimum)*(J.greenMaximum-J.greenMinimum)*(J.blueMaximum-J.blueMinimum)*(J.alphaMaximum-J.alphaMinimum),!0}_initialize($){this._colors=$,this._cubes=[];for(let J=0;J<$;J++)this._cubes[J]=new wW;this._cubes[0].redMinimum=0,this._cubes[0].greenMinimum=0,this._cubes[0].blueMinimum=0,this._cubes[0].alphaMinimum=0,this._cubes[0].redMaximum=this._maxSideIndex,this._cubes[0].greenMaximum=this._maxSideIndex,this._cubes[0].blueMaximum=this._maxSideIndex,this._cubes[0].alphaMaximum=this._alphaMaxSideIndex,this._weights=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsRed=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsGreen=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsBlue=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsAlpha=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._moments=Y5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._table=[];for(let J=0;J<256;++J)this._table[J]=J*J;this._pixels=[]}_setQuality($=5){this._significantBitsPerChannel=$,this._maxSideIndex=1<<this._significantBitsPerChannel,this._alphaMaxSideIndex=this._maxSideIndex,this._sideSize=this._maxSideIndex+1,this._alphaSideSize=this._alphaMaxSideIndex+1}},V5=v0;c(V5,"_alpha",3);c(V5,"_red",2);c(V5,"_green",1);c(V5,"_blue",0);var kW={};D6(kW,{AbstractImageQuantizer:()=>v1,ErrorDiffusionArray:()=>S6,ErrorDiffusionArrayKernel:()=>IW,ErrorDiffusionRiemersma:()=>KJ,NearestColor:()=>TW});var v1=class{quantizeSync($,J){for(let X of this.quantize($,J))if(X.pointContainer)return X.pointContainer;throw Error("unreachable")}},TW=class extends v1{constructor($){super();c(this,"_distance"),this._distance=$}*quantize($,J){let X=$.getPointArray(),q=$.getWidth(),W=$.getHeight(),Y=new p6(W,99);for(let Q=0;Q<W;Q++){if(Y.shouldNotify(Q))yield{progress:Y.progress};for(let K=0,G=Q*q;K<q;K++,G++){let V=X[G];V.from(J.getNearestColor(this._distance,V))}}yield{pointContainer:$,progress:100}}},IW=(($)=>{return $[$.FloydSteinberg=0]="FloydSteinberg",$[$.FalseFloydSteinberg=1]="FalseFloydSteinberg",$[$.Stucki=2]="Stucki",$[$.Atkinson=3]="Atkinson",$[$.Jarvis=4]="Jarvis",$[$.Burkes=5]="Burkes",$[$.Sierra=6]="Sierra",$[$.TwoSierra=7]="TwoSierra",$[$.SierraLite=8]="SierraLite",$})(IW||{}),S6=class extends v1{constructor($,J,X=!0,q=0,W=!1){super();c(this,"_minColorDistance"),c(this,"_serpentine"),c(this,"_kernel"),c(this,"_calculateErrorLikeGIMP"),c(this,"_distance"),this._setKernel(J),this._distance=$,this._minColorDistance=q,this._serpentine=X,this._calculateErrorLikeGIMP=W}*quantize($,J){let X=$.getPointArray(),q=new p8,W=$.getWidth(),Y=$.getHeight(),Q=[],K=1,G=1;for(let H of this._kernel){let M=H[2]+1;if(G<M)G=M}for(let H=0;H<G;H++)this._fillErrorLine(Q[H]=[],W);let V=new p6(Y,99);for(let H=0;H<Y;H++){if(V.shouldNotify(H))yield{progress:V.progress};if(this._serpentine)K*=-1;let M=H*W,O=K===1?0:W-1,N=K===1?W:-1;this._fillErrorLine(Q[0],W),Q.push(Q.shift());let U=Q[0];for(let j=O,R=M+O;j!==N;j+=K,R+=K){let z=X[R],F=U[j];q.from(z);let P=p8.createByRGBA(s8(z.r+F[0]),s8(z.g+F[1]),s8(z.b+F[2]),s8(z.a+F[3])),S=J.getNearestColor(this._distance,P);if(z.from(S),this._minColorDistance){if(this._distance.calculateNormalized(q,S)<this._minColorDistance)continue}let Z,L,B,v;if(this._calculateErrorLikeGIMP)Z=P.r-S.r,L=P.g-S.g,B=P.b-S.b,v=P.a-S.a;else Z=q.r-S.r,L=q.g-S.g,B=q.b-S.b,v=q.a-S.a;let w=K===1?0:this._kernel.length-1,x=K===1?this._kernel.length:-1;for(let A=w;A!==x;A+=K){let D=this._kernel[A][1]*K,C=this._kernel[A][2];if(D+j>=0&&D+j<W&&C+H>=0&&C+H<Y){let k=this._kernel[A][0],_=Q[C][D+j];_[0]+=Z*k,_[1]+=L*k,_[2]+=B*k,_[3]+=v*k}}}}yield{pointContainer:$,progress:100}}_fillErrorLine($,J){if($.length>J)$.length=J;let X=$.length;for(let q=0;q<X;q++){let W=$[q];W[0]=W[1]=W[2]=W[3]=0}for(let q=X;q<J;q++)$[q]=[0,0,0,0]}_setKernel($){switch($){case 0:this._kernel=[[0.4375,1,0],[0.1875,-1,1],[0.3125,0,1],[0.0625,1,1]];break;case 1:this._kernel=[[0.375,1,0],[0.375,0,1],[0.25,1,1]];break;case 2:this._kernel=[[0.19047619047619047,1,0],[0.09523809523809523,2,0],[0.047619047619047616,-2,1],[0.09523809523809523,-1,1],[0.19047619047619047,0,1],[0.09523809523809523,1,1],[0.047619047619047616,2,1],[0.023809523809523808,-2,2],[0.047619047619047616,-1,2],[0.09523809523809523,0,2],[0.047619047619047616,1,2],[0.023809523809523808,2,2]];break;case 3:this._kernel=[[0.125,1,0],[0.125,2,0],[0.125,-1,1],[0.125,0,1],[0.125,1,1],[0.125,0,2]];break;case 4:this._kernel=[[0.14583333333333334,1,0],[0.10416666666666667,2,0],[0.0625,-2,1],[0.10416666666666667,-1,1],[0.14583333333333334,0,1],[0.10416666666666667,1,1],[0.0625,2,1],[0.020833333333333332,-2,2],[0.0625,-1,2],[0.10416666666666667,0,2],[0.0625,1,2],[0.020833333333333332,2,2]];break;case 5:this._kernel=[[0.25,1,0],[0.125,2,0],[0.0625,-2,1],[0.125,-1,1],[0.25,0,1],[0.125,1,1],[0.0625,2,1]];break;case 6:this._kernel=[[0.15625,1,0],[0.09375,2,0],[0.0625,-2,1],[0.125,-1,1],[0.15625,0,1],[0.125,1,1],[0.0625,2,1],[0.0625,-1,2],[0.09375,0,2],[0.0625,1,2]];break;case 7:this._kernel=[[0.25,1,0],[0.1875,2,0],[0.0625,-2,1],[0.125,-1,1],[0.1875,0,1],[0.125,1,1],[0.0625,2,1]];break;case 8:this._kernel=[[0.5,1,0],[0.25,-1,1],[0.25,0,1]];break;default:throw Error(`ErrorDiffusionArray: unknown kernel = ${$}`)}}};function*eN($,J,X){let q=Math.max($,J),W=Math.floor(Math.log(q)/Math.log(2)+1),Y=new p6($*J,99),Q={width:$,height:J,level:W,callback:X,tracker:Y,index:0,x:0,y:0};yield*z8(Q,1),m8(Q,0)}function*z8($,J){if($.level<1)return;if($.tracker.shouldNotify($.index))yield{progress:$.tracker.progress};switch($.level--,J){case 2:yield*z8($,1),m8($,3),yield*z8($,2),m8($,4),yield*z8($,2),m8($,2),yield*z8($,4);break;case 3:yield*z8($,4),m8($,2),yield*z8($,3),m8($,1),yield*z8($,3),m8($,3),yield*z8($,1);break;case 1:yield*z8($,2),m8($,4),yield*z8($,1),m8($,3),yield*z8($,1),m8($,1),yield*z8($,3);break;case 4:yield*z8($,3),m8($,1),yield*z8($,4),m8($,2),yield*z8($,4),m8($,4),yield*z8($,2);break;default:break}$.level++}function m8($,J){if($.x>=0&&$.x<$.width&&$.y>=0&&$.y<$.height)$.callback($.x,$.y),$.index++;switch(J){case 2:$.x--;break;case 3:$.x++;break;case 1:$.y--;break;case 4:$.y++;break}}var KJ=class extends v1{constructor($,J=16,X=1){super();c(this,"_distance"),c(this,"_weights"),c(this,"_errorQueueSize"),this._distance=$,this._errorQueueSize=J,this._weights=KJ._createWeights(X,J)}*quantize($,J){let X=$.getPointArray(),q=$.getWidth(),W=$.getHeight(),Y=[],Q=0;for(let K=0;K<this._errorQueueSize;K++)Y[K]={r:0,g:0,b:0,a:0};yield*eN(q,W,(K,G)=>{let V=X[K+G*q],{r:H,g:M,b:O,a:N}=V;for(let z=0;z<this._errorQueueSize;z++){let F=this._weights[z],P=Y[(z+Q)%this._errorQueueSize];H+=P.r*F,M+=P.g*F,O+=P.b*F,N+=P.a*F}let U=p8.createByRGBA(s8(H),s8(M),s8(O),s8(N)),j=J.getNearestColor(this._distance,U);Q=(Q+1)%this._errorQueueSize;let R=(Q+this._errorQueueSize-1)%this._errorQueueSize;Y[R].r=V.r-j.r,Y[R].g=V.g-j.g,Y[R].b=V.b-j.b,Y[R].a=V.a-j.a,V.from(j)}),yield{pointContainer:$,progress:100}}static _createWeights($,J){let X=[],q=Math.exp(Math.log(J)/(J-1));for(let W=0,Y=1;W<J;W++)X[W]=(Y+0.5|0)/J*$,Y*=q;return X}},yW={};D6(yW,{ssim:()=>XU});var $U=0.01,JU=0.03;function XU($,J){if($.getHeight()!==J.getHeight()||$.getWidth()!==J.getWidth())throw Error("Images have different sizes!");let q=255,W=($U*q)**2,Y=(JU*q)**2,Q=0,K=0;return qU($,J,(G,V,H,M)=>{let O=0,N=0,U=0;for(let P=0;P<G.length;P++)N+=(G[P]-H)**2,U+=(V[P]-M)**2,O+=(G[P]-H)*(V[P]-M);let j=G.length-1;N/=j,U/=j,O/=j;let R=(2*H*M+W)*(2*O+Y),z=(H**2+M**2+W)*(N+U+Y),F=R/z;K+=F,Q++}),K/Q}function qU($,J,X){let W=$.getWidth(),Y=$.getHeight();for(let Q=0;Q<Y;Q+=8)for(let K=0;K<W;K+=8){let G=Math.min(8,W-K),V=Math.min(8,Y-Q),H=sq($,K,Q,G,V),M=sq(J,K,Q,G,V),O=aq(H),N=aq(M);X(H,M,O,N)}}function sq($,J,X,q,W){let Y=$.getPointArray(),Q=[],K=0;for(let G=X;G<X+W;G++){let V=G*$.getWidth();for(let H=J;H<J+q;H++){let M=Y[V+H];Q[K]=M.r*0.2126+M.g*0.7152+M.b*0.0722,K++}}return Q}function aq($){let J=0;for(let X of $)J+=X;return J/$.length}var S1=typeof setImmediate==="function"?setImmediate:typeof process<"u"&&typeof(process==null?void 0:process.nextTick)==="function"?($)=>process.nextTick($):($)=>setTimeout($,0);function WU($,{colorDistanceFormula:J,paletteQuantization:X,colors:q}={}){let W=w1(J),Y=xW(W,X,q);return $.forEach((Q)=>Y.sample(Q)),Y.quantizeSync()}async function YU($,{colorDistanceFormula:J,paletteQuantization:X,colors:q,onProgress:W}={}){return new Promise((Y,Q)=>{let K=w1(J),G=xW(K,X,q);$.forEach((O)=>G.sample(O));let V,H=G.quantize(),M=()=>{try{let O=H.next();if(O.done)Y(V);else{if(O.value.palette)V=O.value.palette;if(W)W(O.value.progress);S1(M)}}catch(O){Q(O)}};S1(M)})}function QU($,J,{colorDistanceFormula:X,imageQuantization:q}={}){let W=w1(X);return _W(W,q).quantizeSync($,J)}async function KU($,J,{colorDistanceFormula:X,imageQuantization:q,onProgress:W}={}){return new Promise((Y,Q)=>{let K=w1(X),G=_W(K,q),V,H=G.quantize($,J),M=()=>{try{let O=H.next();if(O.done)Y(V);else{if(O.value.pointContainer)V=O.value.pointContainer;if(W)W(O.value.progress);S1(M)}}catch(O){Q(O)}};S1(M)})}function w1($="euclidean-bt709"){switch($){case"cie94-graphic-arts":return new BW;case"cie94-textiles":return new UW;case"ciede2000":return new V6;case"color-metric":return new RW;case"euclidean":return new jW;case"euclidean-bt709":return new LW;case"euclidean-bt709-noalpha":return new zW;case"manhattan":return new ZW;case"manhattan-bt709":return new PW;case"manhattan-nommyde":return new FW;case"pngquant":return new AW;default:throw Error(`Unknown colorDistanceFormula ${$}`)}}function _W($,J="floyd-steinberg"){switch(J){case"nearest":return new TW($);case"riemersma":return new KJ($);case"floyd-steinberg":return new S6($,0);case"false-floyd-steinberg":return new S6($,1);case"stucki":return new S6($,2);case"atkinson":return new S6($,3);case"jarvis":return new S6($,4);case"burkes":return new S6($,5);case"sierra":return new S6($,6);case"two-sierra":return new S6($,7);case"sierra-lite":return new S6($,8);default:throw Error(`Unknown imageQuantization ${J}`)}}function xW($,J="wuquant",X=256){switch(J){case"neuquant":return new q8($,X);case"rgbquant":return new vW($,X);case"wuquant":return new V5($,X);case"neuquant-float":return new W8($,X);default:throw Error(`Unknown paletteQuantization ${J}`)}}hW.exports=mN(tq)});var k1=O0((GU)=>{var fW=P1(),{GifError:lS}=B$();class W9 extends fW{constructor(...$){super(...$);if($[0]instanceof W9){let J=$[0];this.xOffset=J.xOffset,this.yOffset=J.yOffset,this.disposalMethod=J.disposalMethod,this.delayCentisecs=J.delayCentisecs,this.interlaced=J.interlaced}else{let J=$[$.length-1],X={};if(typeof J==="object"&&!(J instanceof fW))X=J;this.xOffset=X.xOffset||0,this.yOffset=X.yOffset||0,this.disposalMethod=X.disposalMethod!==void 0?X.disposalMethod:W9.DisposeToBackgroundColor,this.delayCentisecs=X.delayCentisecs||8,this.interlaced=X.interlaced||!1}}getPalette(){let $=new Set,J=this.bitmap.data,X=0,q=!1;while(X<J.length){if(J[X+3]===0)q=!0;else{let K=J.readUInt32BE(X,!0)>>8&16777215;$.add(K)}X+=4}let W=Array($.size),Y=$.values();for(X=0;X<W.length;++X)W[X]=Y.next().value;W.sort((K,G)=>K-G);let Q=W.length;if(q)++Q;return{colors:W,usesTransparency:q,indexCount:Q}}}W9.DisposeToAnything=0;W9.DisposeNothing=1;W9.DisposeToBackgroundColor=2;W9.DisposeToPrevious=3;GU.GifFrame=W9});var VJ=O0((jU)=>{var bW=B8("fs"),H5=gW(),HU=P1(),{GifFrame:MU}=k1(),{GifError:OU}=B$(),{GifCodec:NU}=HJ(),UU=[".jpg",".jpeg",".png",".bmp"],mW=new NU;jU.cloneFrames=function($){let J=[];return $.forEach((X)=>{J.push(new MU(X))}),J};jU.getColorInfo=function($,J){let X=!1,q=[];for(let G=0;G<$.length;++G){let V=$[G].getPalette();if(V.usesTransparency)X=!0;if(V.indexCount>256)throw new OU(`Frame ${G} uses more than 256 color indexes`);q.push(V)}if(J===0)return{usesTransparency:X,palettes:q};let W=new Set;q.forEach((G)=>{G.colors.forEach((V)=>{W.add(V)})});let Y=W.size;if(X)++Y;if(J&&Y>J)return{usesTransparency:X,palettes:q};let Q=Array(W.size),K=W.values();for(let G=0;G<Q.length;++G)Q[G]=K.next().value;return Q.sort((G,V)=>G-V),{colors:Q,indexCount:Y,usesTransparency:X,palettes:q}};jU.copyAsJimp=function($,J){return jU.shareAsJimp($,new HU(J))};jU.getMaxDimensions=function($){let J=0,X=0;return $.forEach((q)=>{let W=q.xOffset+q.bitmap.width;if(W>J)J=W;let Y=q.yOffset+q.bitmap.height;if(Y>X)X=Y}),{maxWidth:J,maxHeight:X}};jU.quantizeDekker=function($,J,X){J=J||256,GJ($,"NeuQuantFloat",J,0,X)};jU.quantizeSorokin=function($,J,X,q){J=J||256,X=X||"min-pop";let W;switch(X){case"min-pop":W=2;break;case"top-pop":W=1;break;default:throw Error(`Invalid quantizeSorokin histogram '${X}'`)}GJ($,"RGBQuant",J,W,q)};jU.quantizeWu=function($,J,X,q){if(J=J||256,X=X||5,X<1||X>8)throw Error("Invalid quantization quality");GJ($,"WuQuant",J,X,q)};jU.read=function($,J){if(J=J||mW,Buffer.isBuffer($))return J.decodeGif($);return BU($).then((X)=>{return J.decodeGif(X)})};jU.shareAsJimp=function($,J){let X=new $(J.bitmap.width,J.bitmap.height,0);return X.bitmap.data=J.bitmap.data,X};jU.write=function($,J,X,q){q=q||mW;let W=$.match(/\.[a-zA-Z]+$/);if(W!==null&&UU.includes(W[0].toLowerCase()))throw Error(`GIF '${$}' has an unexpected suffix`);return q.encodeGif(J,X).then((Y)=>{return RU($,Y.buffer).then(()=>{return Y})})};function GJ($,J,X,q,W){let Y=Array.isArray($)?$:[$],Q=["FloydSteinberg","FalseFloydSteinberg","Stucki","Atkinson","Jarvis","Burkes","Sierra","TwoSierra","SierraLite"];if(W){if(Q.indexOf(W.ditherAlgorithm)<0)throw Error(`Invalid ditherAlgorithm '${W.ditherAlgorithm}'`);if(W.serpentine===void 0)W.serpentine=!0;if(W.minimumColorDistanceToDither===void 0)W.minimumColorDistanceToDither=0;if(W.calculateErrorLikeGIMP===void 0)W.calculateErrorLikeGIMP=!1}let K=new H5.distance.Euclidean,G=new H5.palette[J](K,X,q),V;if(W)V=new H5.image.ErrorDiffusionArray(K,H5.image.ErrorDiffusionArrayKernel[W.ditherAlgorithm],W.serpentine,W.minimumColorDistanceToDither,W.calculateErrorLikeGIMP);else V=new H5.image.NearestColor(K);let H=[];Y.forEach((O)=>{let N=O.bitmap.data,U=new ArrayBuffer(N.length),j=new Uint32Array(U);for(let z=0,F=0;z<N.length;z+=4,++F)j[F]=N.readUInt32LE(z,!0);let R=H5.utils.PointContainer.fromUint32Array(j,O.bitmap.width,O.bitmap.height);G.sample(R),H.push(R)});let M=G.quantizeSync();for(let O=0;O<Y.length;++O){let N=Y[O].bitmap.data,j=V.quantizeSync(H[O],M).toUint32Array();for(let R=0,z=0;R<N.length;R+=4,++z)N.writeUInt32LE(j[z],R)}}function BU($){return new Promise((J,X)=>{bW.readFile($,(q,W)=>{if(q)return X(q);return J(W)})})}function RU($,J){return new Promise((X,q)=>{bW.writeFile($,J,(W)=>{if(W)return q(W);return X()})})}});var HJ=O0((xU)=>{var MJ=$J(),{Gif:Y9,GifError:l6}=B$();function T1(){let $=VJ();return T1=function(){return $},$}var{GifFrame:vU}=k1(),uW=200,wU=100;class cW{constructor($={}){if(this._transparentRGB=null,typeof $.transparentRGB==="number"&&$.transparentRGB!==0)this._transparentRGBA=$.transparentRGB*256;this._testInitialBufferSize=0}decodeGif($){try{let J;try{J=new MJ.GifReader($)}catch(Y){throw new l6(Y)}let X=J.numFrames(),q=[],W={width:J.width,height:J.height,loops:J.loopCount()};W.usesTransparency=!1;for(let Y=0;Y<X;++Y){let Q=this._decodeFrame(J,Y,W.usesTransparency);if(q.push(Q.frame),Q.usesTransparency)W.usesTransparency=!0}return Promise.resolve(new Y9($,q,W))}catch(J){return Promise.reject(J)}}encodeGif($,J={}){try{if($===null||$.length===0)throw new l6("there are no frames");let X=T1().getMaxDimensions($);if(J=Object.assign({},J),J.width=X.maxWidth,J.height=X.maxHeight,J.loops===void 0)J.loops=0;return J.colorScope=J.colorScope||Y9.GlobalColorsPreferred,Promise.resolve(this._encodeGif($,J))}catch(X){return Promise.reject(X)}}_decodeFrame($,J,X){let q,W;try{if(q=$.frameInfo(J),W=new Buffer($.width*$.height*4),$.decodeAndBlitFrameRGBA(J,W),q.width!==$.width||q.height!==$.height){if(q.y)W=W.slice(q.y*$.width*4);if($.width>q.width)for(let K=0;K<q.height;++K)W.copy(W,K*q.width*4,(q.x+K*$.width)*4,(q.x+K*$.width)*4+q.width*4);W=W.slice(0,q.width*q.height*4)}}catch(K){throw new l6(K)}let Y=!1;if(this._transparentRGBA===null){if(!X){for(let K=3;K<W.length;K+=4)if(W[K]===0)Y=!0,K=W.length}}else for(let K=3;K<W.length;K+=4)if(W[K]===0)W.writeUInt32BE(this._transparentRGBA,K-3),Y=!0;return{frame:new vU(q.width,q.height,W,{xOffset:q.x,yOffset:q.y,disposalMethod:q.disposal,interlaced:q.interlaced,delayCentisecs:q.delay}),usesTransparency:Y}}_encodeGif($,J){let X;if(J.colorScope===Y9.LocalColorsOnly)X=T1().getColorInfo($,0);else if(X=T1().getColorInfo($,256),!X.colors){if(J.colorScope===Y9.GlobalColorsOnly)throw new l6("Too many color indexes for global color table");J.colorScope=Y9.LocalColorsOnly}J.usesTransparency=X.usesTransparency;let q=X.palettes;if(J.colorScope===Y9.LocalColorsOnly)return yU($,J,2000,q);return IU($,J,2000,X)}_getSizeEstimateGlobal($,J){if(this._testInitialBufferSize>0)return this._testInitialBufferSize;let X=uW+768,q=lW($);return J.forEach((W)=>{X+=pW(W,q)}),X}_getSizeEstimateLocal($,J){if(this._testInitialBufferSize>0)return this._testInitialBufferSize;let X=uW;for(let q=0;q<J.length;++q){let W=$[q],Y=lW(W);X+=pW(J[q],Y)}return X}}xU.GifCodec=cW;function kU($,J){let X=$.indexOf(J);return X===-1?null:X}function TU($,J){var X=0,q=$.length-1,W;while(X<=q)if(W=Math.floor((X+q)/2),$[W]>J)q=W-1;else if($[W]<J)X=W+1;else return W;return null}function IU($,J,X,q){let W={colors:q.colors.slice(),usesTransparency:q.usesTransparency};dW(W);let Y={palette:W.colors,loop:J.loops},Q=new Buffer(X),K;try{K=new MJ.GifWriter(Q,J.width,J.height,Y)}catch(G){throw new l6(G)}for(let G=0;G<$.length;++G)Q=nW(K,G,$[G],q,!1);return new Y9(Q.slice(0,K.end()),$,J)}function yU($,J,X,q){let W={loop:J.loops},Y=new Buffer(X),Q;try{Q=new MJ.GifWriter(Y,J.width,J.height,W)}catch(K){throw new l6(K)}for(let K=0;K<$.length;++K)Y=nW(Q,K,$[K],q[K],!0);return new Y9(Y.slice(0,Q.end()),$,J)}function dW($){let J=$.colors;if($.usesTransparency)J.push(0);let X=J.length,q=2;while(X>q)q<<=1;J.length=q,J.fill(0,X)}function pW($,J){let X=$.bitmap.width*$.bitmap.height;return X=Math.ceil(X*J/8),X+=Math.ceil(X/255),wU+X+768}function _U($,J,X){let q=X.colors,W=q.length<=8?kU:TU,Y=J.bitmap.data,Q=new Buffer(Y.length/4),K=q.length,G=0,V=0;while(G<Y.length){if(Y[G+3]!==0){let H=Y.readUInt32BE(G,!0)>>8&16777215;Q[V]=W(q,H)}else Q[V]=K;G+=4,++V}if(X.usesTransparency){if(K===256)throw new l6(`Frame ${$} already has 256 colorsand so can't use transparency`)}else K=null;return{buffer:Q,transparentIndex:K}}function lW($){let J=$.indexCount,X=0;--J;while(J)++X,J>>=1;return X>0?X:1}function nW($,J,X,q,W){if(X.interlaced)throw new l6("writing interlaced GIFs is not supported");let Y=_U(J,X,q),Q={delay:X.delayCentisecs,disposal:X.disposalMethod,transparent:Y.transparentIndex};if(W)dW(q),Q.palette=q.colors;try{let K=$.getOutputBuffer(),G=$.getOutputBufferPosition(),V,H=!0;while(H)if(V=$.addFrame(X.xOffset,X.yOffset,X.bitmap.width,X.bitmap.height,Y.buffer,Q),H=!1,V>=K.length-1){let M=new Buffer(K.length*1.5);K.copy(M),$.setOutputBuffer(M),$.setOutputBufferPosition(G),K=M,H=!0}return K}catch(K){throw new l6(K)}}});var oW=O0((rS,rW)=>{var gU=P1(),{Gif:fU,GifError:bU}=B$(),{GifCodec:mU}=HJ(),{GifFrame:uU}=k1(),pU=VJ();rW.exports={BitmapImage:gU,Gif:fU,GifCodec:mU,GifFrame:uU,GifUtil:pU,GifError:bU}});var tW=O0((iS,y1)=>{var aW=aW||function($){return Buffer.from($).toString("base64")};function lU($){var J=this,X=Math.round,q=Math.floor,W=Array(64),Y=Array(64),Q=Array(64),K=Array(64),G,V,H,M,O=Array(65535),N=Array(65535),U=Array(64),j=Array(64),R=[],z=0,F=7,P=Array(64),S=Array(64),Z=Array(64),L=Array(256),B=Array(2048),v,w=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],A=[0,1,2,3,4,5,6,7,8,9,10,11],D=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],C=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],_=[0,1,2,3,4,5,6,7,8,9,10,11],y=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],f=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function I(u){var G0=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99];for(var q0=0;q0<64;q0++){var V0=q((G0[q0]*u+50)/100);if(V0<1)V0=1;else if(V0>255)V0=255;W[w[q0]]=V0}var M0=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99];for(var B0=0;B0<64;B0++){var F0=q((M0[B0]*u+50)/100);if(F0<1)F0=1;else if(F0>255)F0=255;Y[w[B0]]=F0}var S0=[1,1.387039845,1.306562965,1.175875602,1,0.785694958,0.5411961,0.275899379],Z0=0;for(var k0=0;k0<8;k0++)for(var W0=0;W0<8;W0++)Q[Z0]=1/(W[w[Z0]]*S0[k0]*S0[W0]*8),K[Z0]=1/(Y[w[Z0]]*S0[k0]*S0[W0]*8),Z0++}function b(u,G0){var q0=0,V0=0,M0=[];for(var B0=1;B0<=16;B0++){for(var F0=1;F0<=u[B0];F0++)M0[G0[V0]]=[],M0[G0[V0]][0]=q0,M0[G0[V0]][1]=B0,V0++,q0++;q0*=2}return M0}function a(){G=b(x,A),V=b(k,_),H=b(D,C),M=b(y,f)}function p(){var u=1,G0=2;for(var q0=1;q0<=15;q0++){for(var V0=u;V0<G0;V0++)N[32767+V0]=q0,O[32767+V0]=[],O[32767+V0][1]=q0,O[32767+V0][0]=V0;for(var M0=-(G0-1);M0<=-u;M0++)N[32767+M0]=q0,O[32767+M0]=[],O[32767+M0][1]=q0,O[32767+M0][0]=G0-1+M0;u<<=1,G0<<=1}}function i(){for(var u=0;u<256;u++)B[u]=19595*u,B[u+256>>0]=38470*u,B[u+512>>0]=7471*u+32768,B[u+768>>0]=-11059*u,B[u+1024>>0]=-21709*u,B[u+1280>>0]=32768*u+8421375,B[u+1536>>0]=-27439*u,B[u+1792>>0]=-5329*u}function h(u){var G0=u[0],q0=u[1]-1;while(q0>=0){if(G0&1<<q0)z|=1<<F;if(q0--,F--,F<0){if(z==255)E(255),E(0);else E(z);F=7,z=0}}}function E(u){R.push(u)}function T(u){E(u>>8&255),E(u&255)}function l(u,G0){var q0,V0,M0,B0,F0,S0,Z0,k0,W0=0,$0,K0=8,h0=64;for($0=0;$0<K0;++$0){q0=u[W0],V0=u[W0+1],M0=u[W0+2],B0=u[W0+3],F0=u[W0+4],S0=u[W0+5],Z0=u[W0+6],k0=u[W0+7];var A0=q0+k0,T0=q0-k0,c0=V0+Z0,Y0=V0-Z0,R0=M0+S0,E0=M0-S0,I0=B0+F0,g0=B0-F0,i0=A0+I0,y0=A0-I0,o0=c0+R0,a0=c0-R0;u[W0]=i0+o0,u[W0+4]=i0-o0;var E8=(a0+y0)*0.707106781;u[W0+2]=y0+E8,u[W0+6]=y0-E8,i0=g0+E0,o0=E0+Y0,a0=Y0+T0;var j8=(i0-a0)*0.382683433,_8=0.5411961*i0+j8,Y6=1.306562965*a0+j8,Z6=o0*0.707106781,g6=T0+Z6,F6=T0-Z6;u[W0+5]=F6+_8,u[W0+3]=F6-_8,u[W0+1]=g6+Y6,u[W0+7]=g6-Y6,W0+=8}W0=0;for($0=0;$0<K0;++$0){q0=u[W0],V0=u[W0+8],M0=u[W0+16],B0=u[W0+24],F0=u[W0+32],S0=u[W0+40],Z0=u[W0+48],k0=u[W0+56];var a5=q0+k0,t5=q0-k0,q1=V0+Z0,W1=V0-Z0,Y1=M0+S0,Q6=M0-S0,S9=B0+F0,S7=B0-F0,D9=a5+S9,r9=a5-S9,E9=q1+Y1,C9=q1-Y1;u[W0]=D9+E9,u[W0+32]=D9-E9;var e5=(C9+r9)*0.707106781;u[W0+16]=r9+e5,u[W0+48]=r9-e5,D9=S7+Q6,E9=Q6+W1,C9=W1+t5;var $$=(D9-C9)*0.382683433,n4=0.5411961*D9+$$,r4=1.306562965*C9+$$,o4=E9*0.707106781,i4=t5+o4,s4=t5-o4;u[W0+40]=s4+n4,u[W0+24]=s4-n4,u[W0+8]=i4+r4,u[W0+56]=i4-r4,W0++}var Q1;for($0=0;$0<h0;++$0)Q1=u[$0]*G0[$0],U[$0]=Q1>0?Q1+0.5|0:Q1-0.5|0;return U}function n(){T(65504),T(16),E(74),E(70),E(73),E(70),E(0),E(1),E(1),E(0),T(1),T(1),E(0),E(0)}function e(u){if(!u)return;if(T(65505),u[0]===69&&u[1]===120&&u[2]===105&&u[3]===102)T(u.length+2);else T(u.length+5+2),E(69),E(120),E(105),E(102),E(0);for(var G0=0;G0<u.length;G0++)E(u[G0])}function s(u,G0){T(65472),T(17),E(8),T(G0),T(u),E(3),E(1),E(17),E(0),E(2),E(17),E(1),E(3),E(17),E(1)}function t(){T(65499),T(132),E(0);for(var u=0;u<64;u++)E(W[u]);E(1);for(var G0=0;G0<64;G0++)E(Y[G0])}function r(){T(65476),T(418),E(0);for(var u=0;u<16;u++)E(x[u+1]);for(var G0=0;G0<=11;G0++)E(A[G0]);E(16);for(var q0=0;q0<16;q0++)E(D[q0+1]);for(var V0=0;V0<=161;V0++)E(C[V0]);E(1);for(var M0=0;M0<16;M0++)E(k[M0+1]);for(var B0=0;B0<=11;B0++)E(_[B0]);E(17);for(var F0=0;F0<16;F0++)E(y[F0+1]);for(var S0=0;S0<=161;S0++)E(f[S0])}function m(u){if(typeof u>"u"||u.constructor!==Array)return;u.forEach((G0)=>{if(typeof G0!=="string")return;T(65534);var q0=G0.length;T(q0+2);var V0;for(V0=0;V0<q0;V0++)E(G0.charCodeAt(V0))})}function o(){T(65498),T(12),E(3),E(1),E(0),E(2),E(17),E(3),E(17),E(0),E(63),E(0)}function J0(u,G0,q0,V0,M0){var B0=M0[0],F0=M0[240],S0,Z0=16,k0=63,W0=64,$0=l(u,G0);for(var K0=0;K0<W0;++K0)j[w[K0]]=$0[K0];var h0=j[0]-q0;if(q0=j[0],h0==0)h(V0[0]);else S0=32767+h0,h(V0[N[S0]]),h(O[S0]);var A0=63;for(;A0>0&&j[A0]==0;A0--);if(A0==0)return h(B0),q0;var T0=1,c0;while(T0<=A0){var Y0=T0;for(;j[T0]==0&&T0<=A0;++T0);var R0=T0-Y0;if(R0>=Z0){c0=R0>>4;for(var E0=1;E0<=c0;++E0)h(F0);R0=R0&15}S0=32767+j[T0],h(M0[(R0<<4)+N[S0]]),h(O[S0]),T0++}if(A0!=k0)h(B0);return q0}function X0(){var u=String.fromCharCode;for(var G0=0;G0<256;G0++)L[G0]=u(G0)}this.encode=function(u,G0){var q0=new Date().getTime();if(G0)N0(G0);R=[],z=0,F=7,T(65496),n(),m(u.comments),e(u.exifBuffer),t(),s(u.width,u.height),r(),o();var V0=0,M0=0,B0=0;z=0,F=7,this.encode.displayName="_encode_";var{data:F0,width:S0,height:Z0}=u,k0=S0*4,W0=S0*3,$0,K0=0,h0,A0,T0,c0,Y0,R0,E0,I0;while(K0<Z0){$0=0;while($0<k0){c0=k0*K0+$0,Y0=c0,R0=-1,E0=0;for(I0=0;I0<64;I0++){if(E0=I0>>3,R0=(I0&7)*4,Y0=c0+E0*k0+R0,K0+E0>=Z0)Y0-=k0*(K0+1+E0-Z0);if($0+R0>=k0)Y0-=$0+R0-k0+4;h0=F0[Y0++],A0=F0[Y0++],T0=F0[Y0++],P[I0]=(B[h0]+B[A0+256>>0]+B[T0+512>>0]>>16)-128,S[I0]=(B[h0+768>>0]+B[A0+1024>>0]+B[T0+1280>>0]>>16)-128,Z[I0]=(B[h0+1280>>0]+B[A0+1536>>0]+B[T0+1792>>0]>>16)-128}V0=J0(P,Q,V0,G,H),M0=J0(S,K,M0,V,M),B0=J0(Z,K,B0,V,M),$0+=32}K0+=8}if(F>=0){var g0=[];g0[1]=F+1,g0[0]=(1<<F+1)-1,h(g0)}if(T(65497),typeof y1>"u")return new Uint8Array(R);return Buffer.from(R);var i0,y0};function N0(u){if(u<=0)u=1;if(u>100)u=100;if(v==u)return;var G0=0;if(u<50)G0=Math.floor(5000/u);else G0=Math.floor(200-u*2);I(G0),v=u}function z0(){var u=new Date().getTime();if(!$)$=50;X0(),a(),p(),i(),N0($);var G0=new Date().getTime()-u}z0()}if(typeof y1<"u")y1.exports=sW;else if(typeof window<"u")window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].encode=sW;function sW($,J){if(typeof J>"u")J=50;var X=new lU(J),q=X.encode($,J);return{data:q,width:$.width,height:$.height}}});var $Y=O0((sS,NJ)=>{var OJ=function(){var J=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),X=4017,q=799,W=3406,Y=2276,Q=1567,K=3784,G=5793,V=2896;function H(){}function M(F,P){var S=0,Z=[],L,B,v=16;while(v>0&&!F[v-1])v--;Z.push({children:[],index:0});var w=Z[0],x;for(L=0;L<v;L++){for(B=0;B<F[L];B++){w=Z.pop(),w.children[w.index]=P[S];while(w.index>0){if(Z.length===0)throw Error("Could not recreate Huffman Table");w=Z.pop()}w.index++,Z.push(w);while(Z.length<=L)Z.push(x={children:[],index:0}),w.children[w.index]=x.children,w=x;S++}if(L+1<v)Z.push(x={children:[],index:0}),w.children[w.index]=x.children,w=x}return Z[0].children}function O(F,P,S,Z,L,B,v,w,x,A){var{precision:D,samplesPerLine:C,scanLines:k,mcusPerLine:_,progressive:y,maxH:f,maxV:I}=S,b=P,a=0,p=0;function i(){if(p>0)return p--,a>>p&1;if(a=F[P++],a==255){var W0=F[P++];if(W0)throw Error("unexpected marker: "+(a<<8|W0).toString(16))}return p=7,a>>>7}function h(W0){var $0=W0,K0;while((K0=i())!==null){if($0=$0[K0],typeof $0==="number")return $0;if(typeof $0!=="object")throw Error("invalid huffman sequence")}return null}function E(W0){var $0=0;while(W0>0){var K0=i();if(K0===null)return;$0=$0<<1|K0,W0--}return $0}function T(W0){var $0=E(W0);if($0>=1<<W0-1)return $0;return $0+(-1<<W0)+1}function l(W0,$0){var K0=h(W0.huffmanTableDC),h0=K0===0?0:T(K0);$0[0]=W0.pred+=h0;var A0=1;while(A0<64){var T0=h(W0.huffmanTableAC),c0=T0&15,Y0=T0>>4;if(c0===0){if(Y0<15)break;A0+=16;continue}A0+=Y0;var R0=J[A0];$0[R0]=T(c0),A0++}}function n(W0,$0){var K0=h(W0.huffmanTableDC),h0=K0===0?0:T(K0)<<x;$0[0]=W0.pred+=h0}function e(W0,$0){$0[0]|=i()<<x}var s=0;function t(W0,$0){if(s>0){s--;return}var K0=B,h0=v;while(K0<=h0){var A0=h(W0.huffmanTableAC),T0=A0&15,c0=A0>>4;if(T0===0){if(c0<15){s=E(c0)+(1<<c0)-1;break}K0+=16;continue}K0+=c0;var Y0=J[K0];$0[Y0]=T(T0)*(1<<x),K0++}}var r=0,m;function o(W0,$0){var K0=B,h0=v,A0=0;while(K0<=h0){var T0=J[K0],c0=$0[T0]<0?-1:1;switch(r){case 0:var Y0=h(W0.huffmanTableAC),R0=Y0&15,A0=Y0>>4;if(R0===0)if(A0<15)s=E(A0)+(1<<A0),r=4;else A0=16,r=1;else{if(R0!==1)throw Error("invalid ACn encoding");m=T(R0),r=A0?2:3}continue;case 1:case 2:if($0[T0])$0[T0]+=(i()<<x)*c0;else if(A0--,A0===0)r=r==2?3:0;break;case 3:if($0[T0])$0[T0]+=(i()<<x)*c0;else $0[T0]=m<<x,r=0;break;case 4:if($0[T0])$0[T0]+=(i()<<x)*c0;break}K0++}if(r===4){if(s--,s===0)r=0}}function J0(W0,$0,K0,h0,A0){var T0=K0/_|0,c0=K0%_,Y0=T0*W0.v+h0,R0=c0*W0.h+A0;if(W0.blocks[Y0]===void 0&&A.tolerantDecoding)return;$0(W0,W0.blocks[Y0][R0])}function X0(W0,$0,K0){var h0=K0/W0.blocksPerLine|0,A0=K0%W0.blocksPerLine;if(W0.blocks[h0]===void 0&&A.tolerantDecoding)return;$0(W0,W0.blocks[h0][A0])}var N0=Z.length,z0,u,G0,q0,V0,M0;if(y)if(B===0)M0=w===0?n:e;else M0=w===0?t:o;else M0=l;var B0=0,F0,S0;if(N0==1)S0=Z[0].blocksPerLine*Z[0].blocksPerColumn;else S0=_*S.mcusPerColumn;if(!L)L=S0;var Z0,k0;while(B0<S0){for(u=0;u<N0;u++)Z[u].pred=0;if(s=0,N0==1){z0=Z[0];for(V0=0;V0<L;V0++)X0(z0,M0,B0),B0++}else for(V0=0;V0<L;V0++){for(u=0;u<N0;u++){z0=Z[u],Z0=z0.h,k0=z0.v;for(G0=0;G0<k0;G0++)for(q0=0;q0<Z0;q0++)J0(z0,M0,B0,G0,q0)}if(B0++,B0===S0)break}if(B0===S0)do{if(F[P]===255){if(F[P+1]!==0)break}P+=1}while(P<F.length-2);if(p=0,F0=F[P]<<8|F[P+1],F0<65280)throw Error("marker was not found");if(F0>=65488&&F0<=65495)P+=2;else break}return P-b}function N(F,P){var S=[],Z=P.blocksPerLine,L=P.blocksPerColumn,B=Z<<3,v=new Int32Array(64),w=new Uint8Array(64);function x(b,a,p){var i=P.quantizationTable,h,E,T,l,n,e,s,t,r,m=p,o;for(o=0;o<64;o++)m[o]=b[o]*i[o];for(o=0;o<8;++o){var J0=8*o;if(m[1+J0]==0&&m[2+J0]==0&&m[3+J0]==0&&m[4+J0]==0&&m[5+J0]==0&&m[6+J0]==0&&m[7+J0]==0){r=G*m[0+J0]+512>>10,m[0+J0]=r,m[1+J0]=r,m[2+J0]=r,m[3+J0]=r,m[4+J0]=r,m[5+J0]=r,m[6+J0]=r,m[7+J0]=r;continue}h=G*m[0+J0]+128>>8,E=G*m[4+J0]+128>>8,T=m[2+J0],l=m[6+J0],n=V*(m[1+J0]-m[7+J0])+128>>8,t=V*(m[1+J0]+m[7+J0])+128>>8,e=m[3+J0]<<4,s=m[5+J0]<<4,r=h-E+1>>1,h=h+E+1>>1,E=r,r=T*K+l*Q+128>>8,T=T*Q-l*K+128>>8,l=r,r=n-s+1>>1,n=n+s+1>>1,s=r,r=t+e+1>>1,e=t-e+1>>1,t=r,r=h-l+1>>1,h=h+l+1>>1,l=r,r=E-T+1>>1,E=E+T+1>>1,T=r,r=n*Y+t*W+2048>>12,n=n*W-t*Y+2048>>12,t=r,r=e*q+s*X+2048>>12,e=e*X-s*q+2048>>12,s=r,m[0+J0]=h+t,m[7+J0]=h-t,m[1+J0]=E+s,m[6+J0]=E-s,m[2+J0]=T+e,m[5+J0]=T-e,m[3+J0]=l+n,m[4+J0]=l-n}for(o=0;o<8;++o){var X0=o;if(m[8+X0]==0&&m[16+X0]==0&&m[24+X0]==0&&m[32+X0]==0&&m[40+X0]==0&&m[48+X0]==0&&m[56+X0]==0){r=G*p[o+0]+8192>>14,m[0+X0]=r,m[8+X0]=r,m[16+X0]=r,m[24+X0]=r,m[32+X0]=r,m[40+X0]=r,m[48+X0]=r,m[56+X0]=r;continue}h=G*m[0+X0]+2048>>12,E=G*m[32+X0]+2048>>12,T=m[16+X0],l=m[48+X0],n=V*(m[8+X0]-m[56+X0])+2048>>12,t=V*(m[8+X0]+m[56+X0])+2048>>12,e=m[24+X0],s=m[40+X0],r=h-E+1>>1,h=h+E+1>>1,E=r,r=T*K+l*Q+2048>>12,T=T*Q-l*K+2048>>12,l=r,r=n-s+1>>1,n=n+s+1>>1,s=r,r=t+e+1>>1,e=t-e+1>>1,t=r,r=h-l+1>>1,h=h+l+1>>1,l=r,r=E-T+1>>1,E=E+T+1>>1,T=r,r=n*Y+t*W+2048>>12,n=n*W-t*Y+2048>>12,t=r,r=e*q+s*X+2048>>12,e=e*X-s*q+2048>>12,s=r,m[0+X0]=h+t,m[56+X0]=h-t,m[8+X0]=E+s,m[48+X0]=E-s,m[16+X0]=T+e,m[40+X0]=T-e,m[24+X0]=l+n,m[32+X0]=l-n}for(o=0;o<64;++o){var N0=128+(m[o]+8>>4);a[o]=N0<0?0:N0>255?255:N0}}z(B*L*8);var A,D;for(var C=0;C<L;C++){var k=C<<3;for(A=0;A<8;A++)S.push(new Uint8Array(B));for(var _=0;_<Z;_++){x(P.blocks[C][_],w,v);var y=0,f=_<<3;for(D=0;D<8;D++){var I=S[k+D];for(A=0;A<8;A++)I[f+A]=w[y++]}}}return S}function U(F){return F<0?0:F>255?255:F}H.prototype={load:function(P){var S=new XMLHttpRequest;S.open("GET",P,!0),S.responseType="arraybuffer",S.onload=function(){var Z=new Uint8Array(S.response||S.mozResponseArrayBuffer);if(this.parse(Z),this.onload)this.onload()}.bind(this),S.send(null)},parse:function(P){var S=this.opts.maxResolutionInMP*1000*1000,Z=0,L=P.length;function B(){var Y0=P[Z]<<8|P[Z+1];return Z+=2,Y0}function v(){var Y0=B(),R0=P.subarray(Z,Z+Y0-2);return Z+=R0.length,R0}function w(Y0){var R0=1,E0=1,I0,g0;for(g0 in Y0.components)if(Y0.components.hasOwnProperty(g0)){if(I0=Y0.components[g0],R0<I0.h)R0=I0.h;if(E0<I0.v)E0=I0.v}var i0=Math.ceil(Y0.samplesPerLine/8/R0),y0=Math.ceil(Y0.scanLines/8/E0);for(g0 in Y0.components)if(Y0.components.hasOwnProperty(g0)){I0=Y0.components[g0];var o0=Math.ceil(Math.ceil(Y0.samplesPerLine/8)*I0.h/R0),a0=Math.ceil(Math.ceil(Y0.scanLines/8)*I0.v/E0),E8=i0*I0.h,j8=y0*I0.v,_8=j8*E8,Y6=[];z(_8*256);for(var Z6=0;Z6<j8;Z6++){var g6=[];for(var F6=0;F6<E8;F6++)g6.push(new Int32Array(64));Y6.push(g6)}I0.blocksPerLine=o0,I0.blocksPerColumn=a0,I0.blocks=Y6}Y0.maxH=R0,Y0.maxV=E0,Y0.mcusPerLine=i0,Y0.mcusPerColumn=y0}var x=null,A=null,D=null,C,k,_=[],y=[],f=[],I=[],b=B(),a=-1;if(this.comments=[],b!=65496)throw Error("SOI not found");b=B();while(b!=65497){var p,i,h;switch(b){case 65280:break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var E=v();if(b===65534){var T=String.fromCharCode.apply(null,E);this.comments.push(T)}if(b===65504){if(E[0]===74&&E[1]===70&&E[2]===73&&E[3]===70&&E[4]===0)x={version:{major:E[5],minor:E[6]},densityUnits:E[7],xDensity:E[8]<<8|E[9],yDensity:E[10]<<8|E[11],thumbWidth:E[12],thumbHeight:E[13],thumbData:E.subarray(14,14+3*E[12]*E[13])}}if(b===65505){if(E[0]===69&&E[1]===120&&E[2]===105&&E[3]===102&&E[4]===0)this.exifBuffer=E.subarray(5,E.length)}if(b===65518){if(E[0]===65&&E[1]===100&&E[2]===111&&E[3]===98&&E[4]===101&&E[5]===0)A={version:E[6],flags0:E[7]<<8|E[8],flags1:E[9]<<8|E[10],transformCode:E[11]}}break;case 65499:var l=B(),n=l+Z-2;while(Z<n){var e=P[Z++];z(256);var s=new Int32Array(64);if(e>>4===0)for(i=0;i<64;i++){var t=J[i];s[t]=P[Z++]}else if(e>>4===1)for(i=0;i<64;i++){var t=J[i];s[t]=B()}else throw Error("DQT: invalid table spec");_[e&15]=s}break;case 65472:case 65473:case 65474:B(),C={},C.extended=b===65473,C.progressive=b===65474,C.precision=P[Z++],C.scanLines=B(),C.samplesPerLine=B(),C.components={},C.componentsOrder=[];var r=C.scanLines*C.samplesPerLine;if(r>S){var m=Math.ceil((r-S)/1e6);throw Error(`maxResolutionInMP limit exceeded by ${m}MP`)}var o=P[Z++],J0,X0=0,N0=0;for(p=0;p<o;p++){J0=P[Z];var z0=P[Z+1]>>4,u=P[Z+1]&15,G0=P[Z+2];if(z0<=0||u<=0)throw Error("Invalid sampling factor, expected values above 0");C.componentsOrder.push(J0),C.components[J0]={h:z0,v:u,quantizationIdx:G0},Z+=3}w(C),y.push(C);break;case 65476:var q0=B();for(p=2;p<q0;){var V0=P[Z++],M0=new Uint8Array(16),B0=0;for(i=0;i<16;i++,Z++)B0+=M0[i]=P[Z];z(16+B0);var F0=new Uint8Array(B0);for(i=0;i<B0;i++,Z++)F0[i]=P[Z];p+=17+B0,(V0>>4===0?I:f)[V0&15]=M(M0,F0)}break;case 65501:B(),k=B();break;case 65500:B(),B();break;case 65498:var S0=B(),Z0=P[Z++],k0=[],W0;for(p=0;p<Z0;p++){W0=C.components[P[Z++]];var $0=P[Z++];W0.huffmanTableDC=I[$0>>4],W0.huffmanTableAC=f[$0&15],k0.push(W0)}var K0=P[Z++],h0=P[Z++],A0=P[Z++],T0=O(P,Z,C,k0,k,K0,h0,A0>>4,A0&15,this.opts);Z+=T0;break;case 65535:if(P[Z]!==255)Z--;break;default:if(P[Z-3]==255&&P[Z-2]>=192&&P[Z-2]<=254){Z-=3;break}else if(b===224||b==225){if(a!==-1)throw Error(`first unknown JPEG marker at offset ${a.toString(16)}, second unknown JPEG marker ${b.toString(16)} at offset ${(Z-1).toString(16)}`);a=Z-1;let Y0=B();if(P[Z+Y0-2]===255){Z+=Y0-2;break}}throw Error("unknown JPEG marker "+b.toString(16))}b=B()}if(y.length!=1)throw Error("only single frame JPEGs supported");for(var p=0;p<y.length;p++){var c0=y[p].components;for(var i in c0)c0[i].quantizationTable=_[c0[i].quantizationIdx],delete c0[i].quantizationIdx}this.width=C.samplesPerLine,this.height=C.scanLines,this.jfif=x,this.adobe=A,this.components=[];for(var p=0;p<C.componentsOrder.length;p++){var W0=C.components[C.componentsOrder[p]];this.components.push({lines:N(C,W0),scaleX:W0.h/C.maxH,scaleY:W0.v/C.maxV})}},getData:function(P,S){var Z=this.width/P,L=this.height/S,B,v,w,x,A,D,C,k,_,y,f=0,I,b,a,p,i,h,E,T,l,n,e,s=P*S*this.components.length;z(s);var t=new Uint8Array(s);switch(this.components.length){case 1:B=this.components[0];for(y=0;y<S;y++){A=B.lines[0|y*B.scaleY*L];for(_=0;_<P;_++)I=A[0|_*B.scaleX*Z],t[f++]=I}break;case 2:B=this.components[0],v=this.components[1];for(y=0;y<S;y++){A=B.lines[0|y*B.scaleY*L],D=v.lines[0|y*v.scaleY*L];for(_=0;_<P;_++)I=A[0|_*B.scaleX*Z],t[f++]=I,I=D[0|_*v.scaleX*Z],t[f++]=I}break;case 3:if(e=!0,this.adobe&&this.adobe.transformCode)e=!0;else if(typeof this.opts.colorTransform<"u")e=!!this.opts.colorTransform;B=this.components[0],v=this.components[1],w=this.components[2];for(y=0;y<S;y++){A=B.lines[0|y*B.scaleY*L],D=v.lines[0|y*v.scaleY*L],C=w.lines[0|y*w.scaleY*L];for(_=0;_<P;_++){if(!e)T=A[0|_*B.scaleX*Z],l=D[0|_*v.scaleX*Z],n=C[0|_*w.scaleX*Z];else I=A[0|_*B.scaleX*Z],b=D[0|_*v.scaleX*Z],a=C[0|_*w.scaleX*Z],T=U(I+1.402*(a-128)),l=U(I-0.3441363*(b-128)-0.71413636*(a-128)),n=U(I+1.772*(b-128));t[f++]=T,t[f++]=l,t[f++]=n}}break;case 4:if(!this.adobe)throw Error("Unsupported color mode (4 components)");if(e=!1,this.adobe&&this.adobe.transformCode)e=!0;else if(typeof this.opts.colorTransform<"u")e=!!this.opts.colorTransform;B=this.components[0],v=this.components[1],w=this.components[2],x=this.components[3];for(y=0;y<S;y++){A=B.lines[0|y*B.scaleY*L],D=v.lines[0|y*v.scaleY*L],C=w.lines[0|y*w.scaleY*L],k=x.lines[0|y*x.scaleY*L];for(_=0;_<P;_++){if(!e)i=A[0|_*B.scaleX*Z],h=D[0|_*v.scaleX*Z],E=C[0|_*w.scaleX*Z],p=k[0|_*x.scaleX*Z];else I=A[0|_*B.scaleX*Z],b=D[0|_*v.scaleX*Z],a=C[0|_*w.scaleX*Z],p=k[0|_*x.scaleX*Z],i=255-U(I+1.402*(a-128)),h=255-U(I-0.3441363*(b-128)-0.71413636*(a-128)),E=255-U(I+1.772*(b-128));t[f++]=255-i,t[f++]=255-h,t[f++]=255-E,t[f++]=255-p}}break;default:throw Error("Unsupported color mode")}return t},copyToImageData:function(P,S){var{width:Z,height:L,data:B}=P,v=this.getData(Z,L),w=0,x=0,A,D,C,k,_,y,f,I,b;switch(this.components.length){case 1:for(D=0;D<L;D++)for(A=0;A<Z;A++)if(C=v[w++],B[x++]=C,B[x++]=C,B[x++]=C,S)B[x++]=255;break;case 3:for(D=0;D<L;D++)for(A=0;A<Z;A++)if(f=v[w++],I=v[w++],b=v[w++],B[x++]=f,B[x++]=I,B[x++]=b,S)B[x++]=255;break;case 4:for(D=0;D<L;D++)for(A=0;A<Z;A++)if(_=v[w++],y=v[w++],C=v[w++],k=v[w++],f=255-U(_*(1-k/255)+k),I=255-U(y*(1-k/255)+k),b=255-U(C*(1-k/255)+k),B[x++]=f,B[x++]=I,B[x++]=b,S)B[x++]=255;break;default:throw Error("Unsupported color mode")}}};var j=0,R=0;function z(F=0){var P=j+F;if(P>R){var S=Math.ceil((P-R)/1024/1024);throw Error(`maxMemoryUsageInMB limit exceeded by at least ${S}MB`)}j=P}return H.resetMaxMemoryUsage=function(F){j=0,R=F},H.getBytesAllocated=function(){return j},H.requestMemoryAllocation=z,H}();if(typeof NJ<"u")NJ.exports=eW;else if(typeof window<"u")window["jpeg-js"]=window["jpeg-js"]||{},window["jpeg-js"].decode=eW;function eW($,J={}){var X={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512},q={...X,...J},W=new Uint8Array($),Y=new OJ;Y.opts=q,OJ.resetMaxMemoryUsage(q.maxMemoryUsageInMB*1024*1024),Y.parse(W);var Q=q.formatAsRGBA?4:3,K=Y.width*Y.height*Q;try{OJ.requestMemoryAllocation(K);var G={width:Y.width,height:Y.height,exifBuffer:Y.exifBuffer,data:q.useTArray?new Uint8Array(K):Buffer.alloc(K)};if(Y.comments.length>0)G.comments=Y.comments}catch(V){if(V instanceof RangeError)throw Error("Could not allocate enough memory for the image. Required: "+K);if(V instanceof ReferenceError){if(V.message==="Buffer is not defined")throw Error("Buffer is not globally defined in this environment. Consider setting useTArray to true")}throw V}return Y.copyToImageData(G,q.formatAsRGBA),G}});var XY=O0((aS,JY)=>{var cU=tW(),dU=$Y();JY.exports={encode:cU,decode:dU}});var BJ=O0((eS,WY)=>{var nU=B8("util"),qY=B8("stream"),H6=WY.exports=function(){qY.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};nU.inherits(H6,qY);H6.prototype.read=function($,J){this._reads.push({length:Math.abs($),allowLess:$<0,func:J}),process.nextTick(function(){if(this._process(),this._paused&&this._reads&&this._reads.length>0)this._paused=!1,this.emit("drain")}.bind(this))};H6.prototype.write=function($,J){if(!this.writable)return this.emit("error",Error("Stream not writable")),!1;let X;if(Buffer.isBuffer($))X=$;else X=Buffer.from($,J||this._encoding);if(this._buffers.push(X),this._buffered+=X.length,this._process(),this._reads&&this._reads.length===0)this._paused=!0;return this.writable&&!this._paused};H6.prototype.end=function($,J){if($)this.write($,J);if(this.writable=!1,!this._buffers)return;if(this._buffers.length===0)this._end();else this._buffers.push(null),this._process()};H6.prototype.destroySoon=H6.prototype.end;H6.prototype._end=function(){if(this._reads.length>0)this.emit("error",Error("Unexpected end of input"));this.destroy()};H6.prototype.destroy=function(){if(!this._buffers)return;this.writable=!1,this._reads=null,this._buffers=null,this.emit("close")};H6.prototype._processReadAllowingLess=function($){this._reads.shift();let J=this._buffers[0];if(J.length>$.length)this._buffered-=$.length,this._buffers[0]=J.slice($.length),$.func.call(this,J.slice(0,$.length));else this._buffered-=J.length,this._buffers.shift(),$.func.call(this,J)};H6.prototype._processRead=function($){this._reads.shift();let J=0,X=0,q=Buffer.alloc($.length);while(J<$.length){let W=this._buffers[X++],Y=Math.min(W.length,$.length-J);if(W.copy(q,J,0,Y),J+=Y,Y!==W.length)this._buffers[--X]=W.slice(Y)}if(X>0)this._buffers.splice(0,X);this._buffered-=$.length,$.func.call(this,q)};H6.prototype._process=function(){try{while(this._buffered>0&&this._reads&&this._reads.length>0){let $=this._reads[0];if($.allowLess)this._processReadAllowingLess($);else if(this._buffered>=$.length)this._processRead($);else break}if(this._buffers&&!this.writable)this._end()}catch($){this.emit("error",$)}}});var RJ=O0((rU)=>{var K9=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];rU.getImagePasses=function($,J){let X=[],q=$%8,W=J%8,Y=($-q)/8,Q=(J-W)/8;for(let K=0;K<K9.length;K++){let G=K9[K],V=Y*G.x.length,H=Q*G.y.length;for(let M=0;M<G.x.length;M++)if(G.x[M]<q)V++;else break;for(let M=0;M<G.y.length;M++)if(G.y[M]<W)H++;else break;if(V>0&&H>0)X.push({width:V,height:H,index:K})}return X};rU.getInterlaceIterator=function($){return function(J,X,q){let W=J%K9[q].x.length,Y=(J-W)/K9[q].x.length*8+K9[q].x[W],Q=X%K9[q].y.length,K=(X-Q)/K9[q].y.length*8+K9[q].y[Q];return Y*4+K*$*4}}});var jJ=O0((JD,YY)=>{YY.exports=function(J,X,q){let W=J+X-q,Y=Math.abs(W-J),Q=Math.abs(W-X),K=Math.abs(W-q);if(Y<=Q&&Y<=K)return J;if(Q<=K)return X;return q}});var LJ=O0((XD,KY)=>{var sU=RJ(),aU=jJ();function QY($,J,X){let q=$*J;if(X!==8)q=Math.ceil(q/(8/X));return q}var M5=KY.exports=function($,J){let{width:X,height:q,interlace:W,bpp:Y,depth:Q}=$;if(this.read=J.read,this.write=J.write,this.complete=J.complete,this._imageIndex=0,this._images=[],W){let K=sU.getImagePasses(X,q);for(let G=0;G<K.length;G++)this._images.push({byteWidth:QY(K[G].width,Y,Q),height:K[G].height,lineIndex:0})}else this._images.push({byteWidth:QY(X,Y,Q),height:q,lineIndex:0});if(Q===8)this._xComparison=Y;else if(Q===16)this._xComparison=Y*2;else this._xComparison=1};M5.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))};M5.prototype._unFilterType1=function($,J,X){let q=this._xComparison,W=q-1;for(let Y=0;Y<X;Y++){let Q=$[1+Y],K=Y>W?J[Y-q]:0;J[Y]=Q+K}};M5.prototype._unFilterType2=function($,J,X){let q=this._lastLine;for(let W=0;W<X;W++){let Y=$[1+W],Q=q?q[W]:0;J[W]=Y+Q}};M5.prototype._unFilterType3=function($,J,X){let q=this._xComparison,W=q-1,Y=this._lastLine;for(let Q=0;Q<X;Q++){let K=$[1+Q],G=Y?Y[Q]:0,V=Q>W?J[Q-q]:0,H=Math.floor((V+G)/2);J[Q]=K+H}};M5.prototype._unFilterType4=function($,J,X){let q=this._xComparison,W=q-1,Y=this._lastLine;for(let Q=0;Q<X;Q++){let K=$[1+Q],G=Y?Y[Q]:0,V=Q>W?J[Q-q]:0,H=Q>W&&Y?Y[Q-q]:0,M=aU(V,G,H);J[Q]=K+M}};M5.prototype._reverseFilterLine=function($){let J=$[0],X,q=this._images[this._imageIndex],W=q.byteWidth;if(J===0)X=$.slice(1,W+1);else switch(X=Buffer.alloc(W),J){case 1:this._unFilterType1($,X,W);break;case 2:this._unFilterType2($,X,W);break;case 3:this._unFilterType3($,X,W);break;case 4:this._unFilterType4($,X,W);break;default:throw Error("Unrecognised filter type - "+J)}if(this.write(X),q.lineIndex++,q.lineIndex>=q.height)this._lastLine=null,this._imageIndex++,q=this._images[this._imageIndex];else this._lastLine=X;if(q)this.read(q.byteWidth+1,this._reverseFilterLine.bind(this));else this._lastLine=null,this.complete()}});var HY=O0((qD,VY)=>{var tU=B8("util"),GY=BJ(),eU=LJ(),$B=VY.exports=function($){GY.call(this);let J=[],X=this;this._filter=new eU($,{read:this.read.bind(this),write:function(q){J.push(q)},complete:function(){X.emit("complete",Buffer.concat(J))}}),this._filter.start()};tU.inherits($B,GY)});var O5=O0((WD,MY)=>{MY.exports={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5}});var FJ=O0((YD,OY)=>{var zJ=[];(function(){for(let $=0;$<256;$++){let J=$;for(let X=0;X<8;X++)if(J&1)J=3988292384^J>>>1;else J=J>>>1;zJ[$]=J}})();var ZJ=OY.exports=function(){this._crc=-1};ZJ.prototype.write=function($){for(let J=0;J<$.length;J++)this._crc=zJ[(this._crc^$[J])&255]^this._crc>>>8;return!0};ZJ.prototype.crc32=function(){return this._crc^-1};ZJ.crc32=function($){let J=-1;for(let X=0;X<$.length;X++)J=zJ[(J^$[X])&255]^J>>>8;return J^-1}});var PJ=O0((QD,NY)=>{var N8=O5(),JB=FJ(),R8=NY.exports=function($,J){this._options=$,$.checkCRC=$.checkCRC!==!1,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[N8.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[N8.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[N8.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[N8.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[N8.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[N8.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=J.read,this.error=J.error,this.metadata=J.metadata,this.gamma=J.gamma,this.transColor=J.transColor,this.palette=J.palette,this.parsed=J.parsed,this.inflateData=J.inflateData,this.finished=J.finished,this.simpleTransparency=J.simpleTransparency,this.headersFinished=J.headersFinished||function(){}};R8.prototype.start=function(){this.read(N8.PNG_SIGNATURE.length,this._parseSignature.bind(this))};R8.prototype._parseSignature=function($){let J=N8.PNG_SIGNATURE;for(let X=0;X<J.length;X++)if($[X]!==J[X]){this.error(Error("Invalid file signature"));return}this.read(8,this._parseChunkBegin.bind(this))};R8.prototype._parseChunkBegin=function($){let J=$.readUInt32BE(0),X=$.readUInt32BE(4),q="";for(let Y=4;Y<8;Y++)q+=String.fromCharCode($[Y]);let W=Boolean($[4]&32);if(!this._hasIHDR&&X!==N8.TYPE_IHDR){this.error(Error("Expected IHDR on beggining"));return}if(this._crc=new JB,this._crc.write(Buffer.from(q)),this._chunks[X])return this._chunks[X](J);if(!W){this.error(Error("Unsupported critical chunk type "+q));return}this.read(J+4,this._skipChunk.bind(this))};R8.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))};R8.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))};R8.prototype._parseChunkEnd=function($){let J=$.readInt32BE(0),X=this._crc.crc32();if(this._options.checkCRC&&X!==J){this.error(Error("Crc error - "+J+" - "+X));return}if(!this._hasIEND)this.read(8,this._parseChunkBegin.bind(this))};R8.prototype._handleIHDR=function($){this.read($,this._parseIHDR.bind(this))};R8.prototype._parseIHDR=function($){this._crc.write($);let J=$.readUInt32BE(0),X=$.readUInt32BE(4),q=$[8],W=$[9],Y=$[10],Q=$[11],K=$[12];if(q!==8&&q!==4&&q!==2&&q!==1&&q!==16){this.error(Error("Unsupported bit depth "+q));return}if(!(W in N8.COLORTYPE_TO_BPP_MAP)){this.error(Error("Unsupported color type"));return}if(Y!==0){this.error(Error("Unsupported compression method"));return}if(Q!==0){this.error(Error("Unsupported filter method"));return}if(K!==0&&K!==1){this.error(Error("Unsupported interlace method"));return}this._colorType=W;let G=N8.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:J,height:X,depth:q,interlace:Boolean(K),palette:Boolean(W&N8.COLORTYPE_PALETTE),color:Boolean(W&N8.COLORTYPE_COLOR),alpha:Boolean(W&N8.COLORTYPE_ALPHA),bpp:G,colorType:W}),this._handleChunkEnd()};R8.prototype._handlePLTE=function($){this.read($,this._parsePLTE.bind(this))};R8.prototype._parsePLTE=function($){this._crc.write($);let J=Math.floor($.length/3);for(let X=0;X<J;X++)this._palette.push([$[X*3],$[X*3+1],$[X*3+2],255]);this.palette(this._palette),this._handleChunkEnd()};R8.prototype._handleTRNS=function($){this.simpleTransparency(),this.read($,this._parseTRNS.bind(this))};R8.prototype._parseTRNS=function($){if(this._crc.write($),this._colorType===N8.COLORTYPE_PALETTE_COLOR){if(this._palette.length===0){this.error(Error("Transparency chunk must be after palette"));return}if($.length>this._palette.length){this.error(Error("More transparent colors than palette size"));return}for(let J=0;J<$.length;J++)this._palette[J][3]=$[J];this.palette(this._palette)}if(this._colorType===N8.COLORTYPE_GRAYSCALE)this.transColor([$.readUInt16BE(0)]);if(this._colorType===N8.COLORTYPE_COLOR)this.transColor([$.readUInt16BE(0),$.readUInt16BE(2),$.readUInt16BE(4)]);this._handleChunkEnd()};R8.prototype._handleGAMA=function($){this.read($,this._parseGAMA.bind(this))};R8.prototype._parseGAMA=function($){this._crc.write($),this.gamma($.readUInt32BE(0)/N8.GAMMA_DIVISION),this._handleChunkEnd()};R8.prototype._handleIDAT=function($){if(!this._emittedHeadersFinished)this._emittedHeadersFinished=!0,this.headersFinished();this.read(-$,this._parseIDAT.bind(this,$))};R8.prototype._parseIDAT=function($,J){if(this._crc.write(J),this._colorType===N8.COLORTYPE_PALETTE_COLOR&&this._palette.length===0)throw Error("Expected palette not found");this.inflateData(J);let X=$-J.length;if(X>0)this._handleIDAT(X);else this._handleChunkEnd()};R8.prototype._handleIEND=function($){this.read($,this._parseIEND.bind(this))};R8.prototype._parseIEND=function($){if(this._crc.write($),this._hasIEND=!0,this._handleChunkEnd(),this.finished)this.finished()}});var AJ=O0((KB)=>{var UY=RJ(),XB=[function(){},function($,J,X,q){if(q===J.length)throw Error("Ran out of data");let W=J[q];$[X]=W,$[X+1]=W,$[X+2]=W,$[X+3]=255},function($,J,X,q){if(q+1>=J.length)throw Error("Ran out of data");let W=J[q];$[X]=W,$[X+1]=W,$[X+2]=W,$[X+3]=J[q+1]},function($,J,X,q){if(q+2>=J.length)throw Error("Ran out of data");$[X]=J[q],$[X+1]=J[q+1],$[X+2]=J[q+2],$[X+3]=255},function($,J,X,q){if(q+3>=J.length)throw Error("Ran out of data");$[X]=J[q],$[X+1]=J[q+1],$[X+2]=J[q+2],$[X+3]=J[q+3]}],qB=[function(){},function($,J,X,q){let W=J[0];$[X]=W,$[X+1]=W,$[X+2]=W,$[X+3]=q},function($,J,X){let q=J[0];$[X]=q,$[X+1]=q,$[X+2]=q,$[X+3]=J[1]},function($,J,X,q){$[X]=J[0],$[X+1]=J[1],$[X+2]=J[2],$[X+3]=q},function($,J,X){$[X]=J[0],$[X+1]=J[1],$[X+2]=J[2],$[X+3]=J[3]}];function WB($,J){let X=[],q=0;function W(){if(q===$.length)throw Error("Ran out of data");let Y=$[q];q++;let Q,K,G,V,H,M,O,N;switch(J){default:throw Error("unrecognised depth");case 16:O=$[q],q++,X.push((Y<<8)+O);break;case 4:O=Y&15,N=Y>>4,X.push(N,O);break;case 2:H=Y&3,M=Y>>2&3,O=Y>>4&3,N=Y>>6&3,X.push(N,O,M,H);break;case 1:Q=Y&1,K=Y>>1&1,G=Y>>2&1,V=Y>>3&1,H=Y>>4&1,M=Y>>5&1,O=Y>>6&1,N=Y>>7&1,X.push(N,O,M,H,V,G,K,Q);break}}return{get:function(Y){while(X.length<Y)W();let Q=X.slice(0,Y);return X=X.slice(Y),Q},resetAfterLine:function(){X.length=0},end:function(){if(q!==$.length)throw Error("extra data found")}}}function YB($,J,X,q,W,Y){let{width:Q,height:K,index:G}=$;for(let V=0;V<K;V++)for(let H=0;H<Q;H++){let M=X(H,V,G);XB[q](J,W,M,Y),Y+=q}return Y}function QB($,J,X,q,W,Y){let{width:Q,height:K,index:G}=$;for(let V=0;V<K;V++){for(let H=0;H<Q;H++){let M=W.get(q),O=X(H,V,G);qB[q](J,M,O,Y)}W.resetAfterLine()}}KB.dataToBitMap=function($,J){let{width:X,height:q,depth:W,bpp:Y,interlace:Q}=J,K;if(W!==8)K=WB($,W);let G;if(W<=8)G=Buffer.alloc(X*q*4);else G=new Uint16Array(X*q*4);let V=Math.pow(2,W)-1,H=0,M,O;if(Q)M=UY.getImagePasses(X,q),O=UY.getInterlaceIterator(X,q);else{let N=0;O=function(){let U=N;return N+=4,U},M=[{width:X,height:q}]}for(let N=0;N<M.length;N++)if(W===8)H=YB(M[N],G,O,Y,$,H);else QB(M[N],G,O,Y,K,V);if(W===8){if(H!==$.length)throw Error("extra data found")}else K.end();return G}});var SJ=O0((GD,BY)=>{function VB($,J,X,q,W){let Y=0;for(let Q=0;Q<q;Q++)for(let K=0;K<X;K++){let G=W[$[Y]];if(!G)throw Error("index "+$[Y]+" not in palette");for(let V=0;V<4;V++)J[Y+V]=G[V];Y+=4}}function HB($,J,X,q,W){let Y=0;for(let Q=0;Q<q;Q++)for(let K=0;K<X;K++){let G=!1;if(W.length===1){if(W[0]===$[Y])G=!0}else if(W[0]===$[Y]&&W[1]===$[Y+1]&&W[2]===$[Y+2])G=!0;if(G)for(let V=0;V<4;V++)J[Y+V]=0;Y+=4}}function MB($,J,X,q,W){let Y=255,Q=Math.pow(2,W)-1,K=0;for(let G=0;G<q;G++)for(let V=0;V<X;V++){for(let H=0;H<4;H++)J[K+H]=Math.floor($[K+H]*Y/Q+0.5);K+=4}}BY.exports=function($,J,X=!1){let{depth:q,width:W,height:Y,colorType:Q,transColor:K,palette:G}=J,V=$;if(Q===3)VB($,V,W,Y,G);else{if(K)HB($,V,W,Y,K);if(q!==8&&!X){if(q===16)V=Buffer.alloc(W*Y*4);MB($,V,W,Y,q)}}return V}});var LY=O0((VD,jY)=>{var OB=B8("util"),DJ=B8("zlib"),RY=BJ(),NB=HY(),UB=PJ(),BB=AJ(),RB=SJ(),E6=jY.exports=function($){RY.call(this),this._parser=new UB($,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=$,this.writable=!0,this._parser.start()};OB.inherits(E6,RY);E6.prototype._handleError=function($){if(this.emit("error",$),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy)this._inflate.destroy();if(this._filter)this._filter.destroy(),this._filter.on("error",function(){});this.errord=!0};E6.prototype._inflateData=function($){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=DJ.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let X=((this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3)+1)*this._bitmapInfo.height,q=Math.max(X,DJ.Z_MIN_CHUNK);this._inflate=DJ.createInflate({chunkSize:q});let W=X,Y=this.emit.bind(this,"error");this._inflate.on("error",function(K){if(!W)return;Y(K)}),this._filter.on("complete",this._complete.bind(this));let Q=this._filter.write.bind(this._filter);this._inflate.on("data",function(K){if(!W)return;if(K.length>W)K=K.slice(0,W);W-=K.length,Q(K)}),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write($)};E6.prototype._handleMetaData=function($){this._metaData=$,this._bitmapInfo=Object.create($),this._filter=new NB(this._bitmapInfo)};E6.prototype._handleTransColor=function($){this._bitmapInfo.transColor=$};E6.prototype._handlePalette=function($){this._bitmapInfo.palette=$};E6.prototype._simpleTransparency=function(){this._metaData.alpha=!0};E6.prototype._headersFinished=function(){this.emit("metadata",this._metaData)};E6.prototype._finished=function(){if(this.errord)return;if(!this._inflate)this.emit("error","No Inflate block");else this._inflate.end()};E6.prototype._complete=function($){if(this.errord)return;let J;try{let X=BB.dataToBitMap($,this._bitmapInfo);J=RB(X,this._bitmapInfo,this._options.skipRescale),X=null}catch(X){this._handleError(X);return}this.emit("parsed",J)}});var ZY=O0((HD,zY)=>{var a8=O5();zY.exports=function($,J,X,q){let W=[a8.COLORTYPE_COLOR_ALPHA,a8.COLORTYPE_ALPHA].indexOf(q.colorType)!==-1;if(q.colorType===q.inputColorType){let U=function(){let j=new ArrayBuffer(2);return new DataView(j).setInt16(0,256,!0),new Int16Array(j)[0]!==256}();if(q.bitDepth===8||q.bitDepth===16&&U)return $}let Y=q.bitDepth!==16?$:new Uint16Array($.buffer),Q=255,K=a8.COLORTYPE_TO_BPP_MAP[q.inputColorType];if(K===4&&!q.inputHasAlpha)K=3;let G=a8.COLORTYPE_TO_BPP_MAP[q.colorType];if(q.bitDepth===16)Q=65535,G*=2;let V=Buffer.alloc(J*X*G),H=0,M=0,O=q.bgColor||{};if(O.red===void 0)O.red=Q;if(O.green===void 0)O.green=Q;if(O.blue===void 0)O.blue=Q;function N(){let U,j,R,z=Q;switch(q.inputColorType){case a8.COLORTYPE_COLOR_ALPHA:z=Y[H+3],U=Y[H],j=Y[H+1],R=Y[H+2];break;case a8.COLORTYPE_COLOR:U=Y[H],j=Y[H+1],R=Y[H+2];break;case a8.COLORTYPE_ALPHA:z=Y[H+1],U=Y[H],j=U,R=U;break;case a8.COLORTYPE_GRAYSCALE:U=Y[H],j=U,R=U;break;default:throw Error("input color type:"+q.inputColorType+" is not supported at present")}if(q.inputHasAlpha){if(!W)z/=Q,U=Math.min(Math.max(Math.round((1-z)*O.red+z*U),0),Q),j=Math.min(Math.max(Math.round((1-z)*O.green+z*j),0),Q),R=Math.min(Math.max(Math.round((1-z)*O.blue+z*R),0),Q)}return{red:U,green:j,blue:R,alpha:z}}for(let U=0;U<X;U++)for(let j=0;j<J;j++){let R=N(Y,H);switch(q.colorType){case a8.COLORTYPE_COLOR_ALPHA:case a8.COLORTYPE_COLOR:if(q.bitDepth===8){if(V[M]=R.red,V[M+1]=R.green,V[M+2]=R.blue,W)V[M+3]=R.alpha}else if(V.writeUInt16BE(R.red,M),V.writeUInt16BE(R.green,M+2),V.writeUInt16BE(R.blue,M+4),W)V.writeUInt16BE(R.alpha,M+6);break;case a8.COLORTYPE_ALPHA:case a8.COLORTYPE_GRAYSCALE:{let z=(R.red+R.green+R.blue)/3;if(q.bitDepth===8){if(V[M]=z,W)V[M+1]=R.alpha}else if(V.writeUInt16BE(z,M),W)V.writeUInt16BE(R.alpha,M+2);break}default:throw Error("unrecognised color Type "+q.colorType)}H+=K,M+=G}return V}});var AY=O0((MD,PY)=>{var FY=jJ();function jB($,J,X,q,W){for(let Y=0;Y<X;Y++)q[W+Y]=$[J+Y]}function LB($,J,X){let q=0,W=J+X;for(let Y=J;Y<W;Y++)q+=Math.abs($[Y]);return q}function zB($,J,X,q,W,Y){for(let Q=0;Q<X;Q++){let K=Q>=Y?$[J+Q-Y]:0,G=$[J+Q]-K;q[W+Q]=G}}function ZB($,J,X,q){let W=0;for(let Y=0;Y<X;Y++){let Q=Y>=q?$[J+Y-q]:0,K=$[J+Y]-Q;W+=Math.abs(K)}return W}function FB($,J,X,q,W){for(let Y=0;Y<X;Y++){let Q=J>0?$[J+Y-X]:0,K=$[J+Y]-Q;q[W+Y]=K}}function PB($,J,X){let q=0,W=J+X;for(let Y=J;Y<W;Y++){let Q=J>0?$[Y-X]:0,K=$[Y]-Q;q+=Math.abs(K)}return q}function AB($,J,X,q,W,Y){for(let Q=0;Q<X;Q++){let K=Q>=Y?$[J+Q-Y]:0,G=J>0?$[J+Q-X]:0,V=$[J+Q]-(K+G>>1);q[W+Q]=V}}function SB($,J,X,q){let W=0;for(let Y=0;Y<X;Y++){let Q=Y>=q?$[J+Y-q]:0,K=J>0?$[J+Y-X]:0,G=$[J+Y]-(Q+K>>1);W+=Math.abs(G)}return W}function DB($,J,X,q,W,Y){for(let Q=0;Q<X;Q++){let K=Q>=Y?$[J+Q-Y]:0,G=J>0?$[J+Q-X]:0,V=J>0&&Q>=Y?$[J+Q-(X+Y)]:0,H=$[J+Q]-FY(K,G,V);q[W+Q]=H}}function EB($,J,X,q){let W=0;for(let Y=0;Y<X;Y++){let Q=Y>=q?$[J+Y-q]:0,K=J>0?$[J+Y-X]:0,G=J>0&&Y>=q?$[J+Y-(X+q)]:0,V=$[J+Y]-FY(Q,K,G);W+=Math.abs(V)}return W}var CB={0:jB,1:zB,2:FB,3:AB,4:DB},vB={0:LB,1:ZB,2:PB,3:SB,4:EB};PY.exports=function($,J,X,q,W){let Y;if(!("filterType"in q)||q.filterType===-1)Y=[0,1,2,3,4];else if(typeof q.filterType==="number")Y=[q.filterType];else throw Error("unrecognised filter types");if(q.bitDepth===16)W*=2;let Q=J*W,K=0,G=0,V=Buffer.alloc((Q+1)*X),H=Y[0];for(let M=0;M<X;M++){if(Y.length>1){let O=1/0;for(let N=0;N<Y.length;N++){let U=vB[Y[N]]($,G,Q,W);if(U<O)H=Y[N],O=U}}V[K]=H,K++,CB[H]($,G,Q,V,K,W),K+=Q,G+=Q}return V}});var EJ=O0((OD,SY)=>{var S8=O5(),wB=FJ(),kB=ZY(),TB=AY(),IB=B8("zlib"),G9=SY.exports=function($){if(this._options=$,$.deflateChunkSize=$.deflateChunkSize||32768,$.deflateLevel=$.deflateLevel!=null?$.deflateLevel:9,$.deflateStrategy=$.deflateStrategy!=null?$.deflateStrategy:3,$.inputHasAlpha=$.inputHasAlpha!=null?$.inputHasAlpha:!0,$.deflateFactory=$.deflateFactory||IB.createDeflate,$.bitDepth=$.bitDepth||8,$.colorType=typeof $.colorType==="number"?$.colorType:S8.COLORTYPE_COLOR_ALPHA,$.inputColorType=typeof $.inputColorType==="number"?$.inputColorType:S8.COLORTYPE_COLOR_ALPHA,[S8.COLORTYPE_GRAYSCALE,S8.COLORTYPE_COLOR,S8.COLORTYPE_COLOR_ALPHA,S8.COLORTYPE_ALPHA].indexOf($.colorType)===-1)throw Error("option color type:"+$.colorType+" is not supported at present");if([S8.COLORTYPE_GRAYSCALE,S8.COLORTYPE_COLOR,S8.COLORTYPE_COLOR_ALPHA,S8.COLORTYPE_ALPHA].indexOf($.inputColorType)===-1)throw Error("option input color type:"+$.inputColorType+" is not supported at present");if($.bitDepth!==8&&$.bitDepth!==16)throw Error("option bit depth:"+$.bitDepth+" is not supported at present")};G9.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}};G9.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())};G9.prototype.filterData=function($,J,X){let q=kB($,J,X,this._options),W=S8.COLORTYPE_TO_BPP_MAP[this._options.colorType];return TB(q,J,X,this._options,W)};G9.prototype._packChunk=function($,J){let X=J?J.length:0,q=Buffer.alloc(X+12);if(q.writeUInt32BE(X,0),q.writeUInt32BE($,4),J)J.copy(q,8);return q.writeInt32BE(wB.crc32(q.slice(4,q.length-4)),q.length-4),q};G9.prototype.packGAMA=function($){let J=Buffer.alloc(4);return J.writeUInt32BE(Math.floor($*S8.GAMMA_DIVISION),0),this._packChunk(S8.TYPE_gAMA,J)};G9.prototype.packIHDR=function($,J){let X=Buffer.alloc(13);return X.writeUInt32BE($,0),X.writeUInt32BE(J,4),X[8]=this._options.bitDepth,X[9]=this._options.colorType,X[10]=0,X[11]=0,X[12]=0,this._packChunk(S8.TYPE_IHDR,X)};G9.prototype.packIDAT=function($){return this._packChunk(S8.TYPE_IDAT,$)};G9.prototype.packIEND=function(){return this._packChunk(S8.TYPE_IEND,null)}});var vY=O0((ND,CY)=>{var yB=B8("util"),DY=B8("stream"),_B=O5(),xB=EJ(),EY=CY.exports=function($){DY.call(this);let J=$||{};this._packer=new xB(J),this._deflate=this._packer.createDeflate(),this.readable=!0};yB.inherits(EY,DY);EY.prototype.pack=function($,J,X,q){if(this.emit("data",Buffer.from(_B.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(J,X)),q)this.emit("data",this._packer.packGAMA(q));let W=this._packer.filterData($,J,X);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(Y){this.emit("data",this._packer.packIDAT(Y))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(W)}});var _Y=O0((F$,yY)=>{var wY=B8("assert").ok,N5=B8("zlib"),hB=B8("util"),kY=B8("buffer").kMaxLength;function k9($){if(!(this instanceof k9))return new k9($);if($&&$.chunkSize<N5.Z_MIN_CHUNK)$.chunkSize=N5.Z_MIN_CHUNK;if(N5.Inflate.call(this,$),this._offset=this._offset===void 0?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,$&&$.maxLength!=null)this._maxLength=$.maxLength}function gB($){return new k9($)}function TY($,J){if(J)process.nextTick(J);if(!$._handle)return;$._handle.close(),$._handle=null}k9.prototype._processChunk=function($,J,X){if(typeof X==="function")return N5.Inflate._processChunk.call(this,$,J,X);let q=this,W=$&&$.length,Y=this._chunkSize-this._offset,Q=this._maxLength,K=0,G=[],V=0,H;this.on("error",function(U){H=U});function M(U,j){if(q._hadError)return;let R=Y-j;if(wY(R>=0,"have should not go down"),R>0){let z=q._buffer.slice(q._offset,q._offset+R);if(q._offset+=R,z.length>Q)z=z.slice(0,Q);if(G.push(z),V+=z.length,Q-=z.length,Q===0)return!1}if(j===0||q._offset>=q._chunkSize)Y=q._chunkSize,q._offset=0,q._buffer=Buffer.allocUnsafe(q._chunkSize);if(j===0)return K+=W-U,W=U,!0;return!1}wY(this._handle,"zlib binding closed");let O;do O=this._handle.writeSync(J,$,K,W,this._buffer,this._offset,Y),O=O||this._writeState;while(!this._hadError&&M(O[0],O[1]));if(this._hadError)throw H;if(V>=kY)throw TY(this),RangeError("Cannot create final Buffer. It would be larger than 0x"+kY.toString(16)+" bytes");let N=Buffer.concat(G,V);return TY(this),N};hB.inherits(k9,N5.Inflate);function fB($,J){if(typeof J==="string")J=Buffer.from(J);if(!(J instanceof Buffer))throw TypeError("Not a string or buffer");let X=$._finishFlushFlag;if(X==null)X=N5.Z_FINISH;return $._processChunk(J,X)}function IY($,J){return fB(new k9(J),$)}yY.exports=F$=IY;F$.Inflate=k9;F$.createInflate=gB;F$.inflateSync=IY});var CJ=O0((UD,hY)=>{var xY=hY.exports=function($){this._buffer=$,this._reads=[]};xY.prototype.read=function($,J){this._reads.push({length:Math.abs($),allowLess:$<0,func:J})};xY.prototype.process=function(){while(this._reads.length>0&&this._buffer.length){let $=this._reads[0];if(this._buffer.length&&(this._buffer.length>=$.length||$.allowLess)){this._reads.shift();let J=this._buffer;this._buffer=J.slice($.length),$.func.call(this,J.slice(0,$.length))}else break}if(this._reads.length>0)throw Error("There are some read requests waitng on finished stream");if(this._buffer.length>0)throw Error("unrecognised content at end of stream")}});var gY=O0((uB)=>{var bB=CJ(),mB=LJ();uB.process=function($,J){let X=[],q=new bB($);return new mB(J,{read:q.read.bind(q),write:function(Y){X.push(Y)},complete:function(){}}).start(),q.process(),Buffer.concat(X)}});var uY=O0((RD,mY)=>{var fY=!0,bY=B8("zlib"),lB=_Y();if(!bY.deflateSync)fY=!1;var cB=CJ(),dB=gY(),nB=PJ(),rB=AJ(),oB=SJ();mY.exports=function($,J){if(!fY)throw Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let X;function q(S){X=S}let W;function Y(S){W=S}function Q(S){W.transColor=S}function K(S){W.palette=S}function G(){W.alpha=!0}let V;function H(S){V=S}let M=[];function O(S){M.push(S)}let N=new cB($);if(new nB(J,{read:N.read.bind(N),error:q,metadata:Y,gamma:H,palette:K,transColor:Q,inflateData:O,simpleTransparency:G}).start(),N.process(),X)throw X;let j=Buffer.concat(M);M.length=0;let R;if(W.interlace)R=bY.inflateSync(j);else{let Z=((W.width*W.bpp*W.depth+7>>3)+1)*W.height;R=lB(j,{chunkSize:Z,maxLength:Z})}if(j=null,!R||!R.length)throw Error("bad png - invalid inflate data response");let z=dB.process(R,W);j=null;let F=rB.dataToBitMap(z,W);z=null;let P=oB(F,W,J.skipRescale);return W.data=P,W.gamma=V||0,W}});var dY=O0((jD,cY)=>{var pY=!0,lY=B8("zlib");if(!lY.deflateSync)pY=!1;var iB=O5(),sB=EJ();cY.exports=function($,J){if(!pY)throw Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let q=new sB(J||{}),W=[];if(W.push(Buffer.from(iB.PNG_SIGNATURE)),W.push(q.packIHDR($.width,$.height)),$.gamma)W.push(q.packGAMA($.gamma));let Y=q.filterData($.data,$.width,$.height),Q=lY.deflateSync(Y,q.getDeflateOptions());if(Y=null,!Q||!Q.length)throw Error("bad png - invalid compressed data response");return W.push(q.packIDAT(Q)),W.push(q.packIEND()),Buffer.concat(W)}});var nY=O0((eB)=>{var aB=uY(),tB=dY();eB.read=function($,J){return aB($,J||{})};eB.write=function($,J){return tB($,J)}});var oY=O0((QR)=>{var XR=B8("util"),rY=B8("stream"),qR=LY(),WR=vY(),YR=nY(),k8=QR.PNG=function($){if(rY.call(this),$=$||{},this.width=$.width|0,this.height=$.height|0,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,$.fill&&this.data)this.data.fill(0);this.gamma=0,this.readable=this.writable=!0,this._parser=new qR($),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(J){this.data=J,this.emit("parsed",J)}.bind(this)),this._packer=new WR($),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};XR.inherits(k8,rY);k8.sync=YR;k8.prototype.pack=function(){if(!this.data||!this.data.length)return this.emit("error","No data provided"),this;return process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this};k8.prototype.parse=function($,J){if(J){let X,q;X=function(W){this.removeListener("error",q),this.data=W,J(null,this)}.bind(this),q=function(W){this.removeListener("parsed",X),J(W,null)}.bind(this),this.once("parsed",X),this.once("error",q)}return this.end($),this};k8.prototype.write=function($){return this._parser.write($),!0};k8.prototype.end=function($){this._parser.end($)};k8.prototype._metadata=function($){this.width=$.width,this.height=$.height,this.emit("metadata",$)};k8.prototype._gamma=function($){this.gamma=$};k8.prototype._handleClose=function(){if(!this._parser.writable&&!this._packer.readable)this.emit("close")};k8.bitblt=function($,J,X,q,W,Y,Q,K){if(X|=0,q|=0,W|=0,Y|=0,Q|=0,K|=0,X>$.width||q>$.height||X+W>$.width||q+Y>$.height)throw Error("bitblt reading outside image");if(Q>J.width||K>J.height||Q+W>J.width||K+Y>J.height)throw Error("bitblt writing outside image");for(let G=0;G<Y;G++)$.data.copy(J.data,(K+G)*J.width+Q<<2,(q+G)*$.width+X<<2,(q+G)*$.width+X+W<<2)};k8.prototype.bitblt=function($,J,X,q,W,Y,Q){return k8.bitblt(this,$,J,X,q,W,Y,Q),this};k8.adjustGamma=function($){if($.gamma){for(let J=0;J<$.height;J++)for(let X=0;X<$.width;X++){let q=$.width*J+X<<2;for(let W=0;W<3;W++){let Y=$.data[q+W]/255;Y=Math.pow(Y,0.45454545454545453/$.gamma),$.data[q+W]=Math.round(Y*255)}}$.gamma=0}};k8.prototype.adjustGamma=function(){k8.adjustGamma(this)}});var c6=O0((vJ)=>{var HR=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function MR($,J){return Object.prototype.hasOwnProperty.call($,J)}vJ.assign=function($){var J=Array.prototype.slice.call(arguments,1);while(J.length){var X=J.shift();if(!X)continue;if(typeof X!=="object")throw TypeError(X+"must be non-object");for(var q in X)if(MR(X,q))$[q]=X[q]}return $};vJ.shrinkBuf=function($,J){if($.length===J)return $;if($.subarray)return $.subarray(0,J);return $.length=J,$};var OR={arraySet:function($,J,X,q,W){if(J.subarray&&$.subarray){$.set(J.subarray(X,X+q),W);return}for(var Y=0;Y<q;Y++)$[W+Y]=J[X+Y]},flattenChunks:function($){var J,X,q,W,Y,Q;q=0;for(J=0,X=$.length;J<X;J++)q+=$[J].length;Q=new Uint8Array(q),W=0;for(J=0,X=$.length;J<X;J++)Y=$[J],Q.set(Y,W),W+=Y.length;return Q}},NR={arraySet:function($,J,X,q,W){for(var Y=0;Y<q;Y++)$[W+Y]=J[X+Y]},flattenChunks:function($){return[].concat.apply([],$)}};vJ.setTyped=function($){if($)vJ.Buf8=Uint8Array,vJ.Buf16=Uint16Array,vJ.Buf32=Int32Array,vJ.assign(vJ,OR);else vJ.Buf8=Array,vJ.Buf16=Array,vJ.Buf32=Array,vJ.assign(vJ,NR)};vJ.setTyped(HR)});var LQ=O0((hR)=>{var BR=c6(),RR=4,sY=0,aY=1,jR=2;function B5($){var J=$.length;while(--J>=0)$[J]=0}var LR=0,qQ=1,zR=2,ZR=3,FR=258,hJ=29,v$=256,S$=v$+1+hJ,U5=30,gJ=19,WQ=2*S$+1,T9=15,kJ=16,PR=7,fJ=256,YQ=16,QQ=17,KQ=18,_J=[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],f1=[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],AR=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],GQ=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],SR=512,d6=Array((S$+2)*2);B5(d6);var A$=Array(U5*2);B5(A$);var D$=Array(SR);B5(D$);var E$=Array(FR-ZR+1);B5(E$);var bJ=Array(hJ);B5(bJ);var b1=Array(U5);B5(b1);function TJ($,J,X,q,W){this.static_tree=$,this.extra_bits=J,this.extra_base=X,this.elems=q,this.max_length=W,this.has_stree=$&&$.length}var VQ,HQ,MQ;function IJ($,J){this.dyn_tree=$,this.max_code=0,this.stat_desc=J}function OQ($){return $<256?D$[$]:D$[256+($>>>7)]}function C$($,J){$.pending_buf[$.pending++]=J&255,$.pending_buf[$.pending++]=J>>>8&255}function h8($,J,X){if($.bi_valid>kJ-X)$.bi_buf|=J<<$.bi_valid&65535,C$($,$.bi_buf),$.bi_buf=J>>kJ-$.bi_valid,$.bi_valid+=X-kJ;else $.bi_buf|=J<<$.bi_valid&65535,$.bi_valid+=X}function C6($,J,X){h8($,X[J*2],X[J*2+1])}function NQ($,J){var X=0;do X|=$&1,$>>>=1,X<<=1;while(--J>0);return X>>>1}function DR($){if($.bi_valid===16)C$($,$.bi_buf),$.bi_buf=0,$.bi_valid=0;else if($.bi_valid>=8)$.pending_buf[$.pending++]=$.bi_buf&255,$.bi_buf>>=8,$.bi_valid-=8}function ER($,J){var{dyn_tree:X,max_code:q}=J,W=J.stat_desc.static_tree,Y=J.stat_desc.has_stree,Q=J.stat_desc.extra_bits,K=J.stat_desc.extra_base,G=J.stat_desc.max_length,V,H,M,O,N,U,j=0;for(O=0;O<=T9;O++)$.bl_count[O]=0;X[$.heap[$.heap_max]*2+1]=0;for(V=$.heap_max+1;V<WQ;V++){if(H=$.heap[V],O=X[X[H*2+1]*2+1]+1,O>G)O=G,j++;if(X[H*2+1]=O,H>q)continue;if($.bl_count[O]++,N=0,H>=K)N=Q[H-K];if(U=X[H*2],$.opt_len+=U*(O+N),Y)$.static_len+=U*(W[H*2+1]+N)}if(j===0)return;do{O=G-1;while($.bl_count[O]===0)O--;$.bl_count[O]--,$.bl_count[O+1]+=2,$.bl_count[G]--,j-=2}while(j>0);for(O=G;O!==0;O--){H=$.bl_count[O];while(H!==0){if(M=$.heap[--V],M>q)continue;if(X[M*2+1]!==O)$.opt_len+=(O-X[M*2+1])*X[M*2],X[M*2+1]=O;H--}}}function UQ($,J,X){var q=Array(T9+1),W=0,Y,Q;for(Y=1;Y<=T9;Y++)q[Y]=W=W+X[Y-1]<<1;for(Q=0;Q<=J;Q++){var K=$[Q*2+1];if(K===0)continue;$[Q*2]=NQ(q[K]++,K)}}function CR(){var $,J,X,q,W,Y=Array(T9+1);X=0;for(q=0;q<hJ-1;q++){bJ[q]=X;for($=0;$<1<<_J[q];$++)E$[X++]=q}E$[X-1]=q,W=0;for(q=0;q<16;q++){b1[q]=W;for($=0;$<1<<f1[q];$++)D$[W++]=q}W>>=7;for(;q<U5;q++){b1[q]=W<<7;for($=0;$<1<<f1[q]-7;$++)D$[256+W++]=q}for(J=0;J<=T9;J++)Y[J]=0;$=0;while($<=143)d6[$*2+1]=8,$++,Y[8]++;while($<=255)d6[$*2+1]=9,$++,Y[9]++;while($<=279)d6[$*2+1]=7,$++,Y[7]++;while($<=287)d6[$*2+1]=8,$++,Y[8]++;UQ(d6,S$+1,Y);for($=0;$<U5;$++)A$[$*2+1]=5,A$[$*2]=NQ($,5);VQ=new TJ(d6,_J,v$+1,S$,T9),HQ=new TJ(A$,f1,0,U5,T9),MQ=new TJ([],AR,0,gJ,PR)}function BQ($){var J;for(J=0;J<S$;J++)$.dyn_ltree[J*2]=0;for(J=0;J<U5;J++)$.dyn_dtree[J*2]=0;for(J=0;J<gJ;J++)$.bl_tree[J*2]=0;$.dyn_ltree[fJ*2]=1,$.opt_len=$.static_len=0,$.last_lit=$.matches=0}function RQ($){if($.bi_valid>8)C$($,$.bi_buf);else if($.bi_valid>0)$.pending_buf[$.pending++]=$.bi_buf;$.bi_buf=0,$.bi_valid=0}function vR($,J,X,q){if(RQ($),q)C$($,X),C$($,~X);BR.arraySet($.pending_buf,$.window,J,X,$.pending),$.pending+=X}function tY($,J,X,q){var W=J*2,Y=X*2;return $[W]<$[Y]||$[W]===$[Y]&&q[J]<=q[X]}function yJ($,J,X){var q=$.heap[X],W=X<<1;while(W<=$.heap_len){if(W<$.heap_len&&tY(J,$.heap[W+1],$.heap[W],$.depth))W++;if(tY(J,q,$.heap[W],$.depth))break;$.heap[X]=$.heap[W],X=W,W<<=1}$.heap[X]=q}function eY($,J,X){var q,W,Y=0,Q,K;if($.last_lit!==0)do if(q=$.pending_buf[$.d_buf+Y*2]<<8|$.pending_buf[$.d_buf+Y*2+1],W=$.pending_buf[$.l_buf+Y],Y++,q===0)C6($,W,J);else{if(Q=E$[W],C6($,Q+v$+1,J),K=_J[Q],K!==0)W-=bJ[Q],h8($,W,K);if(q--,Q=OQ(q),C6($,Q,X),K=f1[Q],K!==0)q-=b1[Q],h8($,q,K)}while(Y<$.last_lit);C6($,fJ,J)}function xJ($,J){var X=J.dyn_tree,q=J.stat_desc.static_tree,W=J.stat_desc.has_stree,Y=J.stat_desc.elems,Q,K,G=-1,V;$.heap_len=0,$.heap_max=WQ;for(Q=0;Q<Y;Q++)if(X[Q*2]!==0)$.heap[++$.heap_len]=G=Q,$.depth[Q]=0;else X[Q*2+1]=0;while($.heap_len<2)if(V=$.heap[++$.heap_len]=G<2?++G:0,X[V*2]=1,$.depth[V]=0,$.opt_len--,W)$.static_len-=q[V*2+1];J.max_code=G;for(Q=$.heap_len>>1;Q>=1;Q--)yJ($,X,Q);V=Y;do Q=$.heap[1],$.heap[1]=$.heap[$.heap_len--],yJ($,X,1),K=$.heap[1],$.heap[--$.heap_max]=Q,$.heap[--$.heap_max]=K,X[V*2]=X[Q*2]+X[K*2],$.depth[V]=($.depth[Q]>=$.depth[K]?$.depth[Q]:$.depth[K])+1,X[Q*2+1]=X[K*2+1]=V,$.heap[1]=V++,yJ($,X,1);while($.heap_len>=2);$.heap[--$.heap_max]=$.heap[1],ER($,J),UQ(X,G,$.bl_count)}function $Q($,J,X){var q,W=-1,Y,Q=J[1],K=0,G=7,V=4;if(Q===0)G=138,V=3;J[(X+1)*2+1]=65535;for(q=0;q<=X;q++){if(Y=Q,Q=J[(q+1)*2+1],++K<G&&Y===Q)continue;else if(K<V)$.bl_tree[Y*2]+=K;else if(Y!==0){if(Y!==W)$.bl_tree[Y*2]++;$.bl_tree[YQ*2]++}else if(K<=10)$.bl_tree[QQ*2]++;else $.bl_tree[KQ*2]++;if(K=0,W=Y,Q===0)G=138,V=3;else if(Y===Q)G=6,V=3;else G=7,V=4}}function JQ($,J,X){var q,W=-1,Y,Q=J[1],K=0,G=7,V=4;if(Q===0)G=138,V=3;for(q=0;q<=X;q++){if(Y=Q,Q=J[(q+1)*2+1],++K<G&&Y===Q)continue;else if(K<V)do C6($,Y,$.bl_tree);while(--K!==0);else if(Y!==0){if(Y!==W)C6($,Y,$.bl_tree),K--;C6($,YQ,$.bl_tree),h8($,K-3,2)}else if(K<=10)C6($,QQ,$.bl_tree),h8($,K-3,3);else C6($,KQ,$.bl_tree),h8($,K-11,7);if(K=0,W=Y,Q===0)G=138,V=3;else if(Y===Q)G=6,V=3;else G=7,V=4}}function wR($){var J;$Q($,$.dyn_ltree,$.l_desc.max_code),$Q($,$.dyn_dtree,$.d_desc.max_code),xJ($,$.bl_desc);for(J=gJ-1;J>=3;J--)if($.bl_tree[GQ[J]*2+1]!==0)break;return $.opt_len+=3*(J+1)+5+5+4,J}function kR($,J,X,q){var W;h8($,J-257,5),h8($,X-1,5),h8($,q-4,4);for(W=0;W<q;W++)h8($,$.bl_tree[GQ[W]*2+1],3);JQ($,$.dyn_ltree,J-1),JQ($,$.dyn_dtree,X-1)}function TR($){var J=4093624447,X;for(X=0;X<=31;X++,J>>>=1)if(J&1&&$.dyn_ltree[X*2]!==0)return sY;if($.dyn_ltree[18]!==0||$.dyn_ltree[20]!==0||$.dyn_ltree[26]!==0)return aY;for(X=32;X<v$;X++)if($.dyn_ltree[X*2]!==0)return aY;return sY}var XQ=!1;function IR($){if(!XQ)CR(),XQ=!0;$.l_desc=new IJ($.dyn_ltree,VQ),$.d_desc=new IJ($.dyn_dtree,HQ),$.bl_desc=new IJ($.bl_tree,MQ),$.bi_buf=0,$.bi_valid=0,BQ($)}function jQ($,J,X,q){h8($,(LR<<1)+(q?1:0),3),vR($,J,X,!0)}function yR($){h8($,qQ<<1,3),C6($,fJ,d6),DR($)}function _R($,J,X,q){var W,Y,Q=0;if($.level>0){if($.strm.data_type===jR)$.strm.data_type=TR($);if(xJ($,$.l_desc),xJ($,$.d_desc),Q=wR($),W=$.opt_len+3+7>>>3,Y=$.static_len+3+7>>>3,Y<=W)W=Y}else W=Y=X+5;if(X+4<=W&&J!==-1)jQ($,J,X,q);else if($.strategy===RR||Y===W)h8($,(qQ<<1)+(q?1:0),3),eY($,d6,A$);else h8($,(zR<<1)+(q?1:0),3),kR($,$.l_desc.max_code+1,$.d_desc.max_code+1,Q+1),eY($,$.dyn_ltree,$.dyn_dtree);if(BQ($),q)RQ($)}function xR($,J,X){if($.pending_buf[$.d_buf+$.last_lit*2]=J>>>8&255,$.pending_buf[$.d_buf+$.last_lit*2+1]=J&255,$.pending_buf[$.l_buf+$.last_lit]=X&255,$.last_lit++,J===0)$.dyn_ltree[X*2]++;else $.matches++,J--,$.dyn_ltree[(E$[X]+v$+1)*2]++,$.dyn_dtree[OQ(J)*2]++;return $.last_lit===$.lit_bufsize-1}hR._tr_init=IR;hR._tr_stored_block=jQ;hR._tr_flush_block=_R;hR._tr_tally=xR;hR._tr_align=yR});var mJ=O0((CD,zQ)=>{function pR($,J,X,q){var W=$&65535|0,Y=$>>>16&65535|0,Q=0;while(X!==0){Q=X>2000?2000:X,X-=Q;do W=W+J[q++]|0,Y=Y+W|0;while(--Q);W%=65521,Y%=65521}return W|Y<<16|0}zQ.exports=pR});var uJ=O0((vD,ZQ)=>{function lR(){var $,J=[];for(var X=0;X<256;X++){$=X;for(var q=0;q<8;q++)$=$&1?3988292384^$>>>1:$>>>1;J[X]=$}return J}var cR=lR();function dR($,J,X,q){var W=cR,Y=q+X;$^=-1;for(var Q=q;Q<Y;Q++)$=$>>>8^W[($^J[Q])&255];return $^-1}ZQ.exports=dR});var m1=O0((wD,FQ)=>{FQ.exports={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"}});var kQ=O0((Sj)=>{var T8=c6(),t8=LQ(),DQ=mJ(),V9=uJ(),nR=m1(),x9=0,rR=1,oR=3,U9=4,PQ=5,w6=0,AQ=1,e8=-2,iR=-3,pJ=-5,sR=-1,aR=1,u1=2,tR=3,eR=4,$j=0,Jj=2,d1=8,Xj=9,qj=15,Wj=8,Yj=29,Qj=256,cJ=Qj+1+Yj,Kj=30,Gj=19,Vj=2*cJ+1,Hj=15,d0=3,O9=258,M6=O9+d0+1,Mj=32,n1=42,dJ=69,p1=73,l1=91,c1=103,I9=113,k$=666,U8=1,T$=2,y9=3,L5=4,Oj=3;function N9($,J){return $.msg=nR[J],J}function SQ($){return($<<1)-($>4?9:0)}function M9($){var J=$.length;while(--J>=0)$[J]=0}function H9($){var J=$.state,X=J.pending;if(X>$.avail_out)X=$.avail_out;if(X===0)return;if(T8.arraySet($.output,J.pending_buf,J.pending_out,X,$.next_out),$.next_out+=X,J.pending_out+=X,$.total_out+=X,$.avail_out-=X,J.pending-=X,J.pending===0)J.pending_out=0}function Z8($,J){t8._tr_flush_block($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,J),$.block_start=$.strstart,H9($.strm)}function n0($,J){$.pending_buf[$.pending++]=J}function w$($,J){$.pending_buf[$.pending++]=J>>>8&255,$.pending_buf[$.pending++]=J&255}function Nj($,J,X,q){var W=$.avail_in;if(W>q)W=q;if(W===0)return 0;if($.avail_in-=W,T8.arraySet(J,$.input,$.next_in,W,X),$.state.wrap===1)$.adler=DQ($.adler,J,W,X);else if($.state.wrap===2)$.adler=V9($.adler,J,W,X);return $.next_in+=W,$.total_in+=W,W}function EQ($,J){var{max_chain_length:X,strstart:q}=$,W,Y,Q=$.prev_length,K=$.nice_match,G=$.strstart>$.w_size-M6?$.strstart-($.w_size-M6):0,V=$.window,H=$.w_mask,M=$.prev,O=$.strstart+O9,N=V[q+Q-1],U=V[q+Q];if($.prev_length>=$.good_match)X>>=2;if(K>$.lookahead)K=$.lookahead;do{if(W=J,V[W+Q]!==U||V[W+Q-1]!==N||V[W]!==V[q]||V[++W]!==V[q+1])continue;q+=2,W++;do;while(V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&V[++q]===V[++W]&&q<O);if(Y=O9-(O-q),q=O-O9,Y>Q){if($.match_start=J,Q=Y,Y>=K)break;N=V[q+Q-1],U=V[q+Q]}}while((J=M[J&H])>G&&--X!==0);if(Q<=$.lookahead)return Q;return $.lookahead}function _9($){var J=$.w_size,X,q,W,Y,Q;do{if(Y=$.window_size-$.lookahead-$.strstart,$.strstart>=J+(J-M6)){T8.arraySet($.window,$.window,J,J,0),$.match_start-=J,$.strstart-=J,$.block_start-=J,q=$.hash_size,X=q;do W=$.head[--X],$.head[X]=W>=J?W-J:0;while(--q);q=J,X=q;do W=$.prev[--X],$.prev[X]=W>=J?W-J:0;while(--q);Y+=J}if($.strm.avail_in===0)break;if(q=Nj($.strm,$.window,$.strstart+$.lookahead,Y),$.lookahead+=q,$.lookahead+$.insert>=d0){Q=$.strstart-$.insert,$.ins_h=$.window[Q],$.ins_h=($.ins_h<<$.hash_shift^$.window[Q+1])&$.hash_mask;while($.insert)if($.ins_h=($.ins_h<<$.hash_shift^$.window[Q+d0-1])&$.hash_mask,$.prev[Q&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=Q,Q++,$.insert--,$.lookahead+$.insert<d0)break}}while($.lookahead<M6&&$.strm.avail_in!==0)}function Uj($,J){var X=65535;if(X>$.pending_buf_size-5)X=$.pending_buf_size-5;for(;;){if($.lookahead<=1){if(_9($),$.lookahead===0&&J===x9)return U8;if($.lookahead===0)break}$.strstart+=$.lookahead,$.lookahead=0;var q=$.block_start+X;if($.strstart===0||$.strstart>=q){if($.lookahead=$.strstart-q,$.strstart=q,Z8($,!1),$.strm.avail_out===0)return U8}if($.strstart-$.block_start>=$.w_size-M6){if(Z8($,!1),$.strm.avail_out===0)return U8}}if($.insert=0,J===U9){if(Z8($,!0),$.strm.avail_out===0)return y9;return L5}if($.strstart>$.block_start){if(Z8($,!1),$.strm.avail_out===0)return U8}return U8}function lJ($,J){var X,q;for(;;){if($.lookahead<M6){if(_9($),$.lookahead<M6&&J===x9)return U8;if($.lookahead===0)break}if(X=0,$.lookahead>=d0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+d0-1])&$.hash_mask,X=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if(X!==0&&$.strstart-X<=$.w_size-M6)$.match_length=EQ($,X);if($.match_length>=d0)if(q=t8._tr_tally($,$.strstart-$.match_start,$.match_length-d0),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=d0){$.match_length--;do $.strstart++,$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+d0-1])&$.hash_mask,X=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.match_length!==0);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+1])&$.hash_mask;else q=t8._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(q){if(Z8($,!1),$.strm.avail_out===0)return U8}}if($.insert=$.strstart<d0-1?$.strstart:d0-1,J===U9){if(Z8($,!0),$.strm.avail_out===0)return y9;return L5}if($.last_lit){if(Z8($,!1),$.strm.avail_out===0)return U8}return T$}function R5($,J){var X,q,W;for(;;){if($.lookahead<M6){if(_9($),$.lookahead<M6&&J===x9)return U8;if($.lookahead===0)break}if(X=0,$.lookahead>=d0)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+d0-1])&$.hash_mask,X=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;if($.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=d0-1,X!==0&&$.prev_length<$.max_lazy_match&&$.strstart-X<=$.w_size-M6){if($.match_length=EQ($,X),$.match_length<=5&&($.strategy===aR||$.match_length===d0&&$.strstart-$.match_start>4096))$.match_length=d0-1}if($.prev_length>=d0&&$.match_length<=$.prev_length){W=$.strstart+$.lookahead-d0,q=t8._tr_tally($,$.strstart-1-$.prev_match,$.prev_length-d0),$.lookahead-=$.prev_length-1,$.prev_length-=2;do if(++$.strstart<=W)$.ins_h=($.ins_h<<$.hash_shift^$.window[$.strstart+d0-1])&$.hash_mask,X=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart;while(--$.prev_length!==0);if($.match_available=0,$.match_length=d0-1,$.strstart++,q){if(Z8($,!1),$.strm.avail_out===0)return U8}}else if($.match_available){if(q=t8._tr_tally($,0,$.window[$.strstart-1]),q)Z8($,!1);if($.strstart++,$.lookahead--,$.strm.avail_out===0)return U8}else $.match_available=1,$.strstart++,$.lookahead--}if($.match_available)q=t8._tr_tally($,0,$.window[$.strstart-1]),$.match_available=0;if($.insert=$.strstart<d0-1?$.strstart:d0-1,J===U9){if(Z8($,!0),$.strm.avail_out===0)return y9;return L5}if($.last_lit){if(Z8($,!1),$.strm.avail_out===0)return U8}return T$}function Bj($,J){var X,q,W,Y,Q=$.window;for(;;){if($.lookahead<=O9){if(_9($),$.lookahead<=O9&&J===x9)return U8;if($.lookahead===0)break}if($.match_length=0,$.lookahead>=d0&&$.strstart>0){if(W=$.strstart-1,q=Q[W],q===Q[++W]&&q===Q[++W]&&q===Q[++W]){Y=$.strstart+O9;do;while(q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&q===Q[++W]&&W<Y);if($.match_length=O9-(Y-W),$.match_length>$.lookahead)$.match_length=$.lookahead}}if($.match_length>=d0)X=t8._tr_tally($,1,$.match_length-d0),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0;else X=t8._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(X){if(Z8($,!1),$.strm.avail_out===0)return U8}}if($.insert=0,J===U9){if(Z8($,!0),$.strm.avail_out===0)return y9;return L5}if($.last_lit){if(Z8($,!1),$.strm.avail_out===0)return U8}return T$}function Rj($,J){var X;for(;;){if($.lookahead===0){if(_9($),$.lookahead===0){if(J===x9)return U8;break}}if($.match_length=0,X=t8._tr_tally($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,X){if(Z8($,!1),$.strm.avail_out===0)return U8}}if($.insert=0,J===U9){if(Z8($,!0),$.strm.avail_out===0)return y9;return L5}if($.last_lit){if(Z8($,!1),$.strm.avail_out===0)return U8}return T$}function v6($,J,X,q,W){this.good_length=$,this.max_lazy=J,this.nice_length=X,this.max_chain=q,this.func=W}var j5;j5=[new v6(0,0,0,0,Uj),new v6(4,4,8,4,lJ),new v6(4,5,16,8,lJ),new v6(4,6,32,32,lJ),new v6(4,4,16,16,R5),new v6(8,16,32,32,R5),new v6(8,16,128,128,R5),new v6(8,32,128,256,R5),new v6(32,128,258,1024,R5),new v6(32,258,258,4096,R5)];function jj($){$.window_size=2*$.w_size,M9($.head),$.max_lazy_match=j5[$.level].max_lazy,$.good_match=j5[$.level].good_length,$.nice_match=j5[$.level].nice_length,$.max_chain_length=j5[$.level].max_chain,$.strstart=0,$.block_start=0,$.lookahead=0,$.insert=0,$.match_length=$.prev_length=d0-1,$.match_available=0,$.ins_h=0}function Lj(){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=d1,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 T8.Buf16(Vj*2),this.dyn_dtree=new T8.Buf16((2*Kj+1)*2),this.bl_tree=new T8.Buf16((2*Gj+1)*2),M9(this.dyn_ltree),M9(this.dyn_dtree),M9(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new T8.Buf16(Hj+1),this.heap=new T8.Buf16(2*cJ+1),M9(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new T8.Buf16(2*cJ+1),M9(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 CQ($){var J;if(!$||!$.state)return N9($,e8);if($.total_in=$.total_out=0,$.data_type=Jj,J=$.state,J.pending=0,J.pending_out=0,J.wrap<0)J.wrap=-J.wrap;return J.status=J.wrap?n1:I9,$.adler=J.wrap===2?0:1,J.last_flush=x9,t8._tr_init(J),w6}function vQ($){var J=CQ($);if(J===w6)jj($.state);return J}function zj($,J){if(!$||!$.state)return e8;if($.state.wrap!==2)return e8;return $.state.gzhead=J,w6}function wQ($,J,X,q,W,Y){if(!$)return e8;var Q=1;if(J===sR)J=6;if(q<0)Q=0,q=-q;else if(q>15)Q=2,q-=16;if(W<1||W>Xj||X!==d1||q<8||q>15||J<0||J>9||Y<0||Y>eR)return N9($,e8);if(q===8)q=9;var K=new Lj;return $.state=K,K.strm=$,K.wrap=Q,K.gzhead=null,K.w_bits=q,K.w_size=1<<K.w_bits,K.w_mask=K.w_size-1,K.hash_bits=W+7,K.hash_size=1<<K.hash_bits,K.hash_mask=K.hash_size-1,K.hash_shift=~~((K.hash_bits+d0-1)/d0),K.window=new T8.Buf8(K.w_size*2),K.head=new T8.Buf16(K.hash_size),K.prev=new T8.Buf16(K.w_size),K.lit_bufsize=1<<W+6,K.pending_buf_size=K.lit_bufsize*4,K.pending_buf=new T8.Buf8(K.pending_buf_size),K.d_buf=1*K.lit_bufsize,K.l_buf=3*K.lit_bufsize,K.level=J,K.strategy=Y,K.method=X,vQ($)}function Zj($,J){return wQ($,J,d1,qj,Wj,$j)}function Fj($,J){var X,q,W,Y;if(!$||!$.state||J>PQ||J<0)return $?N9($,e8):e8;if(q=$.state,!$.output||!$.input&&$.avail_in!==0||q.status===k$&&J!==U9)return N9($,$.avail_out===0?pJ:e8);if(q.strm=$,X=q.last_flush,q.last_flush=J,q.status===n1)if(q.wrap===2)if($.adler=0,n0(q,31),n0(q,139),n0(q,8),!q.gzhead)n0(q,0),n0(q,0),n0(q,0),n0(q,0),n0(q,0),n0(q,q.level===9?2:q.strategy>=u1||q.level<2?4:0),n0(q,Oj),q.status=I9;else{if(n0(q,(q.gzhead.text?1:0)+(q.gzhead.hcrc?2:0)+(!q.gzhead.extra?0:4)+(!q.gzhead.name?0:8)+(!q.gzhead.comment?0:16)),n0(q,q.gzhead.time&255),n0(q,q.gzhead.time>>8&255),n0(q,q.gzhead.time>>16&255),n0(q,q.gzhead.time>>24&255),n0(q,q.level===9?2:q.strategy>=u1||q.level<2?4:0),n0(q,q.gzhead.os&255),q.gzhead.extra&&q.gzhead.extra.length)n0(q,q.gzhead.extra.length&255),n0(q,q.gzhead.extra.length>>8&255);if(q.gzhead.hcrc)$.adler=V9($.adler,q.pending_buf,q.pending,0);q.gzindex=0,q.status=dJ}else{var Q=d1+(q.w_bits-8<<4)<<8,K=-1;if(q.strategy>=u1||q.level<2)K=0;else if(q.level<6)K=1;else if(q.level===6)K=2;else K=3;if(Q|=K<<6,q.strstart!==0)Q|=Mj;if(Q+=31-Q%31,q.status=I9,w$(q,Q),q.strstart!==0)w$(q,$.adler>>>16),w$(q,$.adler&65535);$.adler=1}if(q.status===dJ)if(q.gzhead.extra){W=q.pending;while(q.gzindex<(q.gzhead.extra.length&65535)){if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(H9($),W=q.pending,q.pending===q.pending_buf_size)break}n0(q,q.gzhead.extra[q.gzindex]&255),q.gzindex++}if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(q.gzindex===q.gzhead.extra.length)q.gzindex=0,q.status=p1}else q.status=p1;if(q.status===p1)if(q.gzhead.name){W=q.pending;do{if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(H9($),W=q.pending,q.pending===q.pending_buf_size){Y=1;break}}if(q.gzindex<q.gzhead.name.length)Y=q.gzhead.name.charCodeAt(q.gzindex++)&255;else Y=0;n0(q,Y)}while(Y!==0);if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(Y===0)q.gzindex=0,q.status=l1}else q.status=l1;if(q.status===l1)if(q.gzhead.comment){W=q.pending;do{if(q.pending===q.pending_buf_size){if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(H9($),W=q.pending,q.pending===q.pending_buf_size){Y=1;break}}if(q.gzindex<q.gzhead.comment.length)Y=q.gzhead.comment.charCodeAt(q.gzindex++)&255;else Y=0;n0(q,Y)}while(Y!==0);if(q.gzhead.hcrc&&q.pending>W)$.adler=V9($.adler,q.pending_buf,q.pending-W,W);if(Y===0)q.status=c1}else q.status=c1;if(q.status===c1)if(q.gzhead.hcrc){if(q.pending+2>q.pending_buf_size)H9($);if(q.pending+2<=q.pending_buf_size)n0(q,$.adler&255),n0(q,$.adler>>8&255),$.adler=0,q.status=I9}else q.status=I9;if(q.pending!==0){if(H9($),$.avail_out===0)return q.last_flush=-1,w6}else if($.avail_in===0&&SQ(J)<=SQ(X)&&J!==U9)return N9($,pJ);if(q.status===k$&&$.avail_in!==0)return N9($,pJ);if($.avail_in!==0||q.lookahead!==0||J!==x9&&q.status!==k$){var G=q.strategy===u1?Rj(q,J):q.strategy===tR?Bj(q,J):j5[q.level].func(q,J);if(G===y9||G===L5)q.status=k$;if(G===U8||G===y9){if($.avail_out===0)q.last_flush=-1;return w6}if(G===T$){if(J===rR)t8._tr_align(q);else if(J!==PQ){if(t8._tr_stored_block(q,0,0,!1),J===oR){if(M9(q.head),q.lookahead===0)q.strstart=0,q.block_start=0,q.insert=0}}if(H9($),$.avail_out===0)return q.last_flush=-1,w6}}if(J!==U9)return w6;if(q.wrap<=0)return AQ;if(q.wrap===2)n0(q,$.adler&255),n0(q,$.adler>>8&255),n0(q,$.adler>>16&255),n0(q,$.adler>>24&255),n0(q,$.total_in&255),n0(q,$.total_in>>8&255),n0(q,$.total_in>>16&255),n0(q,$.total_in>>24&255);else w$(q,$.adler>>>16),w$(q,$.adler&65535);if(H9($),q.wrap>0)q.wrap=-q.wrap;return q.pending!==0?w6:AQ}function Pj($){var J;if(!$||!$.state)return e8;if(J=$.state.status,J!==n1&&J!==dJ&&J!==p1&&J!==l1&&J!==c1&&J!==I9&&J!==k$)return N9($,e8);return $.state=null,J===I9?N9($,iR):w6}function Aj($,J){var X=J.length,q,W,Y,Q,K,G,V,H;if(!$||!$.state)return e8;if(q=$.state,Q=q.wrap,Q===2||Q===1&&q.status!==n1||q.lookahead)return e8;if(Q===1)$.adler=DQ($.adler,J,X,0);if(q.wrap=0,X>=q.w_size){if(Q===0)M9(q.head),q.strstart=0,q.block_start=0,q.insert=0;H=new T8.Buf8(q.w_size),T8.arraySet(H,J,X-q.w_size,q.w_size,0),J=H,X=q.w_size}K=$.avail_in,G=$.next_in,V=$.input,$.avail_in=X,$.next_in=0,$.input=J,_9(q);while(q.lookahead>=d0){W=q.strstart,Y=q.lookahead-(d0-1);do q.ins_h=(q.ins_h<<q.hash_shift^q.window[W+d0-1])&q.hash_mask,q.prev[W&q.w_mask]=q.head[q.ins_h],q.head[q.ins_h]=W,W++;while(--Y);q.strstart=W,q.lookahead=d0-1,_9(q)}return q.strstart+=q.lookahead,q.block_start=q.strstart,q.insert=q.lookahead,q.lookahead=0,q.match_length=q.prev_length=d0-1,q.match_available=0,$.next_in=G,$.input=V,$.avail_in=K,q.wrap=Q,w6}Sj.deflateInit=Zj;Sj.deflateInit2=wQ;Sj.deflateReset=vQ;Sj.deflateResetKeep=CQ;Sj.deflateSetHeader=zj;Sj.deflate=Fj;Sj.deflateEnd=Pj;Sj.deflateSetDictionary=Aj;Sj.deflateInfo="pako deflate (from Nodeca project)"});var nJ=O0((_j)=>{var r1=c6(),TQ=!0,IQ=!0;try{String.fromCharCode.apply(null,[0])}catch($){TQ=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch($){IQ=!1}var I$=new r1.Buf8(256);for(k6=0;k6<256;k6++)I$[k6]=k6>=252?6:k6>=248?5:k6>=240?4:k6>=224?3:k6>=192?2:1;var k6;I$[254]=I$[254]=1;_j.string2buf=function($){var J,X,q,W,Y,Q=$.length,K=0;for(W=0;W<Q;W++){if(X=$.charCodeAt(W),(X&64512)===55296&&W+1<Q){if(q=$.charCodeAt(W+1),(q&64512)===56320)X=65536+(X-55296<<10)+(q-56320),W++}K+=X<128?1:X<2048?2:X<65536?3:4}J=new r1.Buf8(K);for(Y=0,W=0;Y<K;W++){if(X=$.charCodeAt(W),(X&64512)===55296&&W+1<Q){if(q=$.charCodeAt(W+1),(q&64512)===56320)X=65536+(X-55296<<10)+(q-56320),W++}if(X<128)J[Y++]=X;else if(X<2048)J[Y++]=192|X>>>6,J[Y++]=128|X&63;else if(X<65536)J[Y++]=224|X>>>12,J[Y++]=128|X>>>6&63,J[Y++]=128|X&63;else J[Y++]=240|X>>>18,J[Y++]=128|X>>>12&63,J[Y++]=128|X>>>6&63,J[Y++]=128|X&63}return J};function yQ($,J){if(J<65534){if($.subarray&&IQ||!$.subarray&&TQ)return String.fromCharCode.apply(null,r1.shrinkBuf($,J))}var X="";for(var q=0;q<J;q++)X+=String.fromCharCode($[q]);return X}_j.buf2binstring=function($){return yQ($,$.length)};_j.binstring2buf=function($){var J=new r1.Buf8($.length);for(var X=0,q=J.length;X<q;X++)J[X]=$.charCodeAt(X);return J};_j.buf2string=function($,J){var X,q,W,Y,Q=J||$.length,K=Array(Q*2);for(q=0,X=0;X<Q;){if(W=$[X++],W<128){K[q++]=W;continue}if(Y=I$[W],Y>4){K[q++]=65533,X+=Y-1;continue}W&=Y===2?31:Y===3?15:7;while(Y>1&&X<Q)W=W<<6|$[X++]&63,Y--;if(Y>1){K[q++]=65533;continue}if(W<65536)K[q++]=W;else W-=65536,K[q++]=55296|W>>10&1023,K[q++]=56320|W&1023}return yQ(K,q)};_j.utf8border=function($,J){var X;if(J=J||$.length,J>$.length)J=$.length;X=J-1;while(X>=0&&($[X]&192)===128)X--;if(X<0)return J;if(X===0)return J;return X+I$[$[X]]>J?X:J}});var rJ=O0((ID,_Q)=>{function mj(){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}_Q.exports=mj});var fQ=O0((oj)=>{var y$=kQ(),_$=c6(),iJ=nJ(),sJ=m1(),uj=rJ(),gQ=Object.prototype.toString,pj=0,oJ=4,z5=0,xQ=1,hQ=2,lj=-1,cj=0,dj=8;function h9($){if(!(this instanceof h9))return new h9($);this.options=_$.assign({level:lj,method:dj,chunkSize:16384,windowBits:15,memLevel:8,strategy:cj,to:""},$||{});var J=this.options;if(J.raw&&J.windowBits>0)J.windowBits=-J.windowBits;else if(J.gzip&&J.windowBits>0&&J.windowBits<16)J.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new uj,this.strm.avail_out=0;var X=y$.deflateInit2(this.strm,J.level,J.method,J.windowBits,J.memLevel,J.strategy);if(X!==z5)throw Error(sJ[X]);if(J.header)y$.deflateSetHeader(this.strm,J.header);if(J.dictionary){var q;if(typeof J.dictionary==="string")q=iJ.string2buf(J.dictionary);else if(gQ.call(J.dictionary)==="[object ArrayBuffer]")q=new Uint8Array(J.dictionary);else q=J.dictionary;if(X=y$.deflateSetDictionary(this.strm,q),X!==z5)throw Error(sJ[X]);this._dict_set=!0}}h9.prototype.push=function($,J){var X=this.strm,q=this.options.chunkSize,W,Y;if(this.ended)return!1;if(Y=J===~~J?J:J===!0?oJ:pj,typeof $==="string")X.input=iJ.string2buf($);else if(gQ.call($)==="[object ArrayBuffer]")X.input=new Uint8Array($);else X.input=$;X.next_in=0,X.avail_in=X.input.length;do{if(X.avail_out===0)X.output=new _$.Buf8(q),X.next_out=0,X.avail_out=q;if(W=y$.deflate(X,Y),W!==xQ&&W!==z5)return this.onEnd(W),this.ended=!0,!1;if(X.avail_out===0||X.avail_in===0&&(Y===oJ||Y===hQ))if(this.options.to==="string")this.onData(iJ.buf2binstring(_$.shrinkBuf(X.output,X.next_out)));else this.onData(_$.shrinkBuf(X.output,X.next_out))}while((X.avail_in>0||X.avail_out===0)&&W!==xQ);if(Y===oJ)return W=y$.deflateEnd(this.strm),this.onEnd(W),this.ended=!0,W===z5;if(Y===hQ)return this.onEnd(z5),X.avail_out=0,!0;return!0};h9.prototype.onData=function($){this.chunks.push($)};h9.prototype.onEnd=function($){if($===z5)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=_$.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function aJ($,J){var X=new h9(J);if(X.push($,!0),X.err)throw X.msg||sJ[X.err];return X.result}function nj($,J){return J=J||{},J.raw=!0,aJ($,J)}function rj($,J){return J=J||{},J.gzip=!0,aJ($,J)}oj.Deflate=h9;oj.deflate=aJ;oj.deflateRaw=nj;oj.gzip=rj});var mQ=O0((_D,bQ)=>{var o1=30,ej=12;bQ.exports=function(J,X){var q,W,Y,Q,K,G,V,H,M,O,N,U,j,R,z,F,P,S,Z,L,B,v,w,x,A;q=J.state,W=J.next_in,x=J.input,Y=W+(J.avail_in-5),Q=J.next_out,A=J.output,K=Q-(X-J.avail_out),G=Q+(J.avail_out-257),V=q.dmax,H=q.wsize,M=q.whave,O=q.wnext,N=q.window,U=q.hold,j=q.bits,R=q.lencode,z=q.distcode,F=(1<<q.lenbits)-1,P=(1<<q.distbits)-1;$:do{if(j<15)U+=x[W++]<<j,j+=8,U+=x[W++]<<j,j+=8;S=R[U&F];J:for(;;){if(Z=S>>>24,U>>>=Z,j-=Z,Z=S>>>16&255,Z===0)A[Q++]=S&65535;else if(Z&16){if(L=S&65535,Z&=15,Z){if(j<Z)U+=x[W++]<<j,j+=8;L+=U&(1<<Z)-1,U>>>=Z,j-=Z}if(j<15)U+=x[W++]<<j,j+=8,U+=x[W++]<<j,j+=8;S=z[U&P];X:for(;;){if(Z=S>>>24,U>>>=Z,j-=Z,Z=S>>>16&255,Z&16){if(B=S&65535,Z&=15,j<Z){if(U+=x[W++]<<j,j+=8,j<Z)U+=x[W++]<<j,j+=8}if(B+=U&(1<<Z)-1,B>V){J.msg="invalid distance too far back",q.mode=o1;break $}if(U>>>=Z,j-=Z,Z=Q-K,B>Z){if(Z=B-Z,Z>M){if(q.sane){J.msg="invalid distance too far back",q.mode=o1;break $}}if(v=0,w=N,O===0){if(v+=H-Z,Z<L){L-=Z;do A[Q++]=N[v++];while(--Z);v=Q-B,w=A}}else if(O<Z){if(v+=H+O-Z,Z-=O,Z<L){L-=Z;do A[Q++]=N[v++];while(--Z);if(v=0,O<L){Z=O,L-=Z;do A[Q++]=N[v++];while(--Z);v=Q-B,w=A}}}else if(v+=O-Z,Z<L){L-=Z;do A[Q++]=N[v++];while(--Z);v=Q-B,w=A}while(L>2)A[Q++]=w[v++],A[Q++]=w[v++],A[Q++]=w[v++],L-=3;if(L){if(A[Q++]=w[v++],L>1)A[Q++]=w[v++]}}else{v=Q-B;do A[Q++]=A[v++],A[Q++]=A[v++],A[Q++]=A[v++],L-=3;while(L>2);if(L){if(A[Q++]=A[v++],L>1)A[Q++]=A[v++]}}}else if((Z&64)===0){S=z[(S&65535)+(U&(1<<Z)-1)];continue X}else{J.msg="invalid distance code",q.mode=o1;break $}break}}else if((Z&64)===0){S=R[(S&65535)+(U&(1<<Z)-1)];continue J}else if(Z&32){q.mode=ej;break $}else{J.msg="invalid literal/length code",q.mode=o1;break $}break}}while(W<Y&&Q<G);L=j>>3,W-=L,j-=L<<3,U&=(1<<j)-1,J.next_in=W,J.next_out=Q,J.avail_in=W<Y?5+(Y-W):5-(W-Y),J.avail_out=Q<G?257+(G-Q):257-(Q-G),q.hold=U,q.bits=j;return}});var rQ=O0((xD,nQ)=>{var uQ=c6(),Z5=15,pQ=852,lQ=592,cQ=0,tJ=1,dQ=2,$L=[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],JL=[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],XL=[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],qL=[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];nQ.exports=function(J,X,q,W,Y,Q,K,G){var V=G.bits,H=0,M=0,O=0,N=0,U=0,j=0,R=0,z=0,F=0,P=0,S,Z,L,B,v,w=null,x=0,A,D=new uQ.Buf16(Z5+1),C=new uQ.Buf16(Z5+1),k=null,_=0,y,f,I;for(H=0;H<=Z5;H++)D[H]=0;for(M=0;M<W;M++)D[X[q+M]]++;U=V;for(N=Z5;N>=1;N--)if(D[N]!==0)break;if(U>N)U=N;if(N===0)return Y[Q++]=20971520,Y[Q++]=20971520,G.bits=1,0;for(O=1;O<N;O++)if(D[O]!==0)break;if(U<O)U=O;z=1;for(H=1;H<=Z5;H++)if(z<<=1,z-=D[H],z<0)return-1;if(z>0&&(J===cQ||N!==1))return-1;C[1]=0;for(H=1;H<Z5;H++)C[H+1]=C[H]+D[H];for(M=0;M<W;M++)if(X[q+M]!==0)K[C[X[q+M]]++]=M;if(J===cQ)w=k=K,A=19;else if(J===tJ)w=$L,x-=257,k=JL,_-=257,A=256;else w=XL,k=qL,A=-1;if(P=0,M=0,H=O,v=Q,j=U,R=0,L=-1,F=1<<U,B=F-1,J===tJ&&F>pQ||J===dQ&&F>lQ)return 1;for(;;){if(y=H-R,K[M]<A)f=0,I=K[M];else if(K[M]>A)f=k[_+K[M]],I=w[x+K[M]];else f=96,I=0;S=1<<H-R,Z=1<<j,O=Z;do Z-=S,Y[v+(P>>R)+Z]=y<<24|f<<16|I|0;while(Z!==0);S=1<<H-1;while(P&S)S>>=1;if(S!==0)P&=S-1,P+=S;else P=0;if(M++,--D[H]===0){if(H===N)break;H=X[q+K[M]]}if(H>U&&(P&B)!==L){if(R===0)R=U;v+=O,j=H-R,z=1<<j;while(j+R<N){if(z-=D[j+R],z<=0)break;j++,z<<=1}if(F+=1<<j,J===tJ&&F>pQ||J===dQ&&F>lQ)return 1;L=P&B,Y[L]=U<<24|j<<16|v-Q|0}}if(P!==0)Y[v+P]=H-R<<24|4194304|0;return G.bits=U,0}});var vK=O0((PL)=>{var l8=c6(),W4=mJ(),T6=uJ(),WL=mQ(),x$=rQ(),YL=0,zK=1,ZK=2,oQ=4,QL=5,i1=6,g9=0,KL=1,GL=2,$6=-2,FK=-3,Y4=-4,VL=-5,iQ=8,PK=1,sQ=2,aQ=3,tQ=4,eQ=5,$K=6,JK=7,XK=8,qK=9,WK=10,t1=11,n6=12,eJ=13,YK=14,$4=15,QK=16,KK=17,GK=18,VK=19,s1=20,a1=21,HK=22,MK=23,OK=24,NK=25,UK=26,J4=27,BK=28,RK=29,J8=30,Q4=31,HL=32,ML=852,OL=592,NL=15,UL=NL;function jK($){return($>>>24&255)+($>>>8&65280)+(($&65280)<<8)+(($&255)<<24)}function BL(){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 l8.Buf16(320),this.work=new l8.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function AK($){var J;if(!$||!$.state)return $6;if(J=$.state,$.total_in=$.total_out=J.total=0,$.msg="",J.wrap)$.adler=J.wrap&1;return J.mode=PK,J.last=0,J.havedict=0,J.dmax=32768,J.head=null,J.hold=0,J.bits=0,J.lencode=J.lendyn=new l8.Buf32(ML),J.distcode=J.distdyn=new l8.Buf32(OL),J.sane=1,J.back=-1,g9}function SK($){var J;if(!$||!$.state)return $6;return J=$.state,J.wsize=0,J.whave=0,J.wnext=0,AK($)}function DK($,J){var X,q;if(!$||!$.state)return $6;if(q=$.state,J<0)X=0,J=-J;else if(X=(J>>4)+1,J<48)J&=15;if(J&&(J<8||J>15))return $6;if(q.window!==null&&q.wbits!==J)q.window=null;return q.wrap=X,q.wbits=J,SK($)}function EK($,J){var X,q;if(!$)return $6;if(q=new BL,$.state=q,q.window=null,X=DK($,J),X!==g9)$.state=null;return X}function RL($){return EK($,UL)}var LK=!0,X4,q4;function jL($){if(LK){var J;X4=new l8.Buf32(512),q4=new l8.Buf32(32),J=0;while(J<144)$.lens[J++]=8;while(J<256)$.lens[J++]=9;while(J<280)$.lens[J++]=7;while(J<288)$.lens[J++]=8;x$(zK,$.lens,0,288,X4,0,$.work,{bits:9}),J=0;while(J<32)$.lens[J++]=5;x$(ZK,$.lens,0,32,q4,0,$.work,{bits:5}),LK=!1}$.lencode=X4,$.lenbits=9,$.distcode=q4,$.distbits=5}function CK($,J,X,q){var W,Y=$.state;if(Y.window===null)Y.wsize=1<<Y.wbits,Y.wnext=0,Y.whave=0,Y.window=new l8.Buf8(Y.wsize);if(q>=Y.wsize)l8.arraySet(Y.window,J,X-Y.wsize,Y.wsize,0),Y.wnext=0,Y.whave=Y.wsize;else{if(W=Y.wsize-Y.wnext,W>q)W=q;if(l8.arraySet(Y.window,J,X-q,W,Y.wnext),q-=W,q)l8.arraySet(Y.window,J,X-q,q,0),Y.wnext=q,Y.whave=Y.wsize;else{if(Y.wnext+=W,Y.wnext===Y.wsize)Y.wnext=0;if(Y.whave<Y.wsize)Y.whave+=W}}return 0}function LL($,J){var X,q,W,Y,Q,K,G,V,H,M,O,N,U,j,R=0,z,F,P,S,Z,L,B,v,w=new l8.Buf8(4),x,A,D=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!$||!$.state||!$.output||!$.input&&$.avail_in!==0)return $6;if(X=$.state,X.mode===n6)X.mode=eJ;Q=$.next_out,W=$.output,G=$.avail_out,Y=$.next_in,q=$.input,K=$.avail_in,V=X.hold,H=X.bits,M=K,O=G,v=g9;$:for(;;)switch(X.mode){case PK:if(X.wrap===0){X.mode=eJ;break}while(H<16){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.wrap&2&&V===35615){X.check=0,w[0]=V&255,w[1]=V>>>8&255,X.check=T6(X.check,w,2,0),V=0,H=0,X.mode=sQ;break}if(X.flags=0,X.head)X.head.done=!1;if(!(X.wrap&1)||(((V&255)<<8)+(V>>8))%31){$.msg="incorrect header check",X.mode=J8;break}if((V&15)!==iQ){$.msg="unknown compression method",X.mode=J8;break}if(V>>>=4,H-=4,B=(V&15)+8,X.wbits===0)X.wbits=B;else if(B>X.wbits){$.msg="invalid window size",X.mode=J8;break}X.dmax=1<<B,$.adler=X.check=1,X.mode=V&512?WK:n6,V=0,H=0;break;case sQ:while(H<16){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.flags=V,(X.flags&255)!==iQ){$.msg="unknown compression method",X.mode=J8;break}if(X.flags&57344){$.msg="unknown header flags set",X.mode=J8;break}if(X.head)X.head.text=V>>8&1;if(X.flags&512)w[0]=V&255,w[1]=V>>>8&255,X.check=T6(X.check,w,2,0);V=0,H=0,X.mode=aQ;case aQ:while(H<32){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.head)X.head.time=V;if(X.flags&512)w[0]=V&255,w[1]=V>>>8&255,w[2]=V>>>16&255,w[3]=V>>>24&255,X.check=T6(X.check,w,4,0);V=0,H=0,X.mode=tQ;case tQ:while(H<16){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.head)X.head.xflags=V&255,X.head.os=V>>8;if(X.flags&512)w[0]=V&255,w[1]=V>>>8&255,X.check=T6(X.check,w,2,0);V=0,H=0,X.mode=eQ;case eQ:if(X.flags&1024){while(H<16){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.length=V,X.head)X.head.extra_len=V;if(X.flags&512)w[0]=V&255,w[1]=V>>>8&255,X.check=T6(X.check,w,2,0);V=0,H=0}else if(X.head)X.head.extra=null;X.mode=$K;case $K:if(X.flags&1024){if(N=X.length,N>K)N=K;if(N){if(X.head){if(B=X.head.extra_len-X.length,!X.head.extra)X.head.extra=Array(X.head.extra_len);l8.arraySet(X.head.extra,q,Y,N,B)}if(X.flags&512)X.check=T6(X.check,q,N,Y);K-=N,Y+=N,X.length-=N}if(X.length)break $}X.length=0,X.mode=JK;case JK:if(X.flags&2048){if(K===0)break $;N=0;do if(B=q[Y+N++],X.head&&B&&X.length<65536)X.head.name+=String.fromCharCode(B);while(B&&N<K);if(X.flags&512)X.check=T6(X.check,q,N,Y);if(K-=N,Y+=N,B)break $}else if(X.head)X.head.name=null;X.length=0,X.mode=XK;case XK:if(X.flags&4096){if(K===0)break $;N=0;do if(B=q[Y+N++],X.head&&B&&X.length<65536)X.head.comment+=String.fromCharCode(B);while(B&&N<K);if(X.flags&512)X.check=T6(X.check,q,N,Y);if(K-=N,Y+=N,B)break $}else if(X.head)X.head.comment=null;X.mode=qK;case qK:if(X.flags&512){while(H<16){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(V!==(X.check&65535)){$.msg="header crc mismatch",X.mode=J8;break}V=0,H=0}if(X.head)X.head.hcrc=X.flags>>9&1,X.head.done=!0;$.adler=X.check=0,X.mode=n6;break;case WK:while(H<32){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}$.adler=X.check=jK(V),V=0,H=0,X.mode=t1;case t1:if(X.havedict===0)return $.next_out=Q,$.avail_out=G,$.next_in=Y,$.avail_in=K,X.hold=V,X.bits=H,GL;$.adler=X.check=1,X.mode=n6;case n6:if(J===QL||J===i1)break $;case eJ:if(X.last){V>>>=H&7,H-=H&7,X.mode=J4;break}while(H<3){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}switch(X.last=V&1,V>>>=1,H-=1,V&3){case 0:X.mode=YK;break;case 1:if(jL(X),X.mode=s1,J===i1){V>>>=2,H-=2;break $}break;case 2:X.mode=KK;break;case 3:$.msg="invalid block type",X.mode=J8}V>>>=2,H-=2;break;case YK:V>>>=H&7,H-=H&7;while(H<32){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if((V&65535)!==(V>>>16^65535)){$.msg="invalid stored block lengths",X.mode=J8;break}if(X.length=V&65535,V=0,H=0,X.mode=$4,J===i1)break $;case $4:X.mode=QK;case QK:if(N=X.length,N){if(N>K)N=K;if(N>G)N=G;if(N===0)break $;l8.arraySet(W,q,Y,N,Q),K-=N,Y+=N,G-=N,Q+=N,X.length-=N;break}X.mode=n6;break;case KK:while(H<14){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(X.nlen=(V&31)+257,V>>>=5,H-=5,X.ndist=(V&31)+1,V>>>=5,H-=5,X.ncode=(V&15)+4,V>>>=4,H-=4,X.nlen>286||X.ndist>30){$.msg="too many length or distance symbols",X.mode=J8;break}X.have=0,X.mode=GK;case GK:while(X.have<X.ncode){while(H<3){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}X.lens[D[X.have++]]=V&7,V>>>=3,H-=3}while(X.have<19)X.lens[D[X.have++]]=0;if(X.lencode=X.lendyn,X.lenbits=7,x={bits:X.lenbits},v=x$(YL,X.lens,0,19,X.lencode,0,X.work,x),X.lenbits=x.bits,v){$.msg="invalid code lengths set",X.mode=J8;break}X.have=0,X.mode=VK;case VK:while(X.have<X.nlen+X.ndist){for(;;){if(R=X.lencode[V&(1<<X.lenbits)-1],z=R>>>24,F=R>>>16&255,P=R&65535,z<=H)break;if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(P<16)V>>>=z,H-=z,X.lens[X.have++]=P;else{if(P===16){A=z+2;while(H<A){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(V>>>=z,H-=z,X.have===0){$.msg="invalid bit length repeat",X.mode=J8;break}B=X.lens[X.have-1],N=3+(V&3),V>>>=2,H-=2}else if(P===17){A=z+3;while(H<A){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}V>>>=z,H-=z,B=0,N=3+(V&7),V>>>=3,H-=3}else{A=z+7;while(H<A){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}V>>>=z,H-=z,B=0,N=11+(V&127),V>>>=7,H-=7}if(X.have+N>X.nlen+X.ndist){$.msg="invalid bit length repeat",X.mode=J8;break}while(N--)X.lens[X.have++]=B}}if(X.mode===J8)break;if(X.lens[256]===0){$.msg="invalid code -- missing end-of-block",X.mode=J8;break}if(X.lenbits=9,x={bits:X.lenbits},v=x$(zK,X.lens,0,X.nlen,X.lencode,0,X.work,x),X.lenbits=x.bits,v){$.msg="invalid literal/lengths set",X.mode=J8;break}if(X.distbits=6,X.distcode=X.distdyn,x={bits:X.distbits},v=x$(ZK,X.lens,X.nlen,X.ndist,X.distcode,0,X.work,x),X.distbits=x.bits,v){$.msg="invalid distances set",X.mode=J8;break}if(X.mode=s1,J===i1)break $;case s1:X.mode=a1;case a1:if(K>=6&&G>=258){if($.next_out=Q,$.avail_out=G,$.next_in=Y,$.avail_in=K,X.hold=V,X.bits=H,WL($,O),Q=$.next_out,W=$.output,G=$.avail_out,Y=$.next_in,q=$.input,K=$.avail_in,V=X.hold,H=X.bits,X.mode===n6)X.back=-1;break}X.back=0;for(;;){if(R=X.lencode[V&(1<<X.lenbits)-1],z=R>>>24,F=R>>>16&255,P=R&65535,z<=H)break;if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(F&&(F&240)===0){S=z,Z=F,L=P;for(;;){if(R=X.lencode[L+((V&(1<<S+Z)-1)>>S)],z=R>>>24,F=R>>>16&255,P=R&65535,S+z<=H)break;if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}V>>>=S,H-=S,X.back+=S}if(V>>>=z,H-=z,X.back+=z,X.length=P,F===0){X.mode=UK;break}if(F&32){X.back=-1,X.mode=n6;break}if(F&64){$.msg="invalid literal/length code",X.mode=J8;break}X.extra=F&15,X.mode=HK;case HK:if(X.extra){A=X.extra;while(H<A){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}X.length+=V&(1<<X.extra)-1,V>>>=X.extra,H-=X.extra,X.back+=X.extra}X.was=X.length,X.mode=MK;case MK:for(;;){if(R=X.distcode[V&(1<<X.distbits)-1],z=R>>>24,F=R>>>16&255,P=R&65535,z<=H)break;if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if((F&240)===0){S=z,Z=F,L=P;for(;;){if(R=X.distcode[L+((V&(1<<S+Z)-1)>>S)],z=R>>>24,F=R>>>16&255,P=R&65535,S+z<=H)break;if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}V>>>=S,H-=S,X.back+=S}if(V>>>=z,H-=z,X.back+=z,F&64){$.msg="invalid distance code",X.mode=J8;break}X.offset=P,X.extra=F&15,X.mode=OK;case OK:if(X.extra){A=X.extra;while(H<A){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}X.offset+=V&(1<<X.extra)-1,V>>>=X.extra,H-=X.extra,X.back+=X.extra}if(X.offset>X.dmax){$.msg="invalid distance too far back",X.mode=J8;break}X.mode=NK;case NK:if(G===0)break $;if(N=O-G,X.offset>N){if(N=X.offset-N,N>X.whave){if(X.sane){$.msg="invalid distance too far back",X.mode=J8;break}}if(N>X.wnext)N-=X.wnext,U=X.wsize-N;else U=X.wnext-N;if(N>X.length)N=X.length;j=X.window}else j=W,U=Q-X.offset,N=X.length;if(N>G)N=G;G-=N,X.length-=N;do W[Q++]=j[U++];while(--N);if(X.length===0)X.mode=a1;break;case UK:if(G===0)break $;W[Q++]=X.length,G--,X.mode=a1;break;case J4:if(X.wrap){while(H<32){if(K===0)break $;K--,V|=q[Y++]<<H,H+=8}if(O-=G,$.total_out+=O,X.total+=O,O)$.adler=X.check=X.flags?T6(X.check,W,O,Q-O):W4(X.check,W,O,Q-O);if(O=G,(X.flags?V:jK(V))!==X.check){$.msg="incorrect data check",X.mode=J8;break}V=0,H=0}X.mode=BK;case BK:if(X.wrap&&X.flags){while(H<32){if(K===0)break $;K--,V+=q[Y++]<<H,H+=8}if(V!==(X.total&4294967295)){$.msg="incorrect length check",X.mode=J8;break}V=0,H=0}X.mode=RK;case RK:v=KL;break $;case J8:v=FK;break $;case Q4:return Y4;case HL:default:return $6}if($.next_out=Q,$.avail_out=G,$.next_in=Y,$.avail_in=K,X.hold=V,X.bits=H,X.wsize||O!==$.avail_out&&X.mode<J8&&(X.mode<J4||J!==oQ)){if(CK($,$.output,$.next_out,O-$.avail_out))return X.mode=Q4,Y4}if(M-=$.avail_in,O-=$.avail_out,$.total_in+=M,$.total_out+=O,X.total+=O,X.wrap&&O)$.adler=X.check=X.flags?T6(X.check,W,O,$.next_out-O):W4(X.check,W,O,$.next_out-O);if($.data_type=X.bits+(X.last?64:0)+(X.mode===n6?128:0)+(X.mode===s1||X.mode===$4?256:0),(M===0&&O===0||J===oQ)&&v===g9)v=VL;return v}function zL($){if(!$||!$.state)return $6;var J=$.state;if(J.window)J.window=null;return $.state=null,g9}function ZL($,J){var X;if(!$||!$.state)return $6;if(X=$.state,(X.wrap&2)===0)return $6;return X.head=J,J.done=!1,g9}function FL($,J){var X=J.length,q,W,Y;if(!$||!$.state)return $6;if(q=$.state,q.wrap!==0&&q.mode!==t1)return $6;if(q.mode===t1){if(W=1,W=W4(W,J,X,0),W!==q.check)return FK}if(Y=CK($,J,X,X),Y)return q.mode=Q4,Y4;return q.havedict=1,g9}PL.inflateReset=SK;PL.inflateReset2=DK;PL.inflateResetKeep=AK;PL.inflateInit=RL;PL.inflateInit2=EK;PL.inflate=LL;PL.inflateEnd=zL;PL.inflateGetHeader=ZL;PL.inflateSetDictionary=FL;PL.inflateInfo="pako inflate (from Nodeca project)"});var K4=O0((gD,wK)=>{wK.exports={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 TK=O0((fD,kK)=>{function yL(){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}kK.exports=yL});var yK=O0((gL)=>{var F5=vK(),h$=c6(),e1=nJ(),V8=K4(),G4=m1(),_L=rJ(),xL=TK(),IK=Object.prototype.toString;function f9($){if(!(this instanceof f9))return new f9($);this.options=h$.assign({chunkSize:16384,windowBits:0,to:""},$||{});var J=this.options;if(J.raw&&J.windowBits>=0&&J.windowBits<16){if(J.windowBits=-J.windowBits,J.windowBits===0)J.windowBits=-15}if(J.windowBits>=0&&J.windowBits<16&&!($&&$.windowBits))J.windowBits+=32;if(J.windowBits>15&&J.windowBits<48){if((J.windowBits&15)===0)J.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new _L,this.strm.avail_out=0;var X=F5.inflateInit2(this.strm,J.windowBits);if(X!==V8.Z_OK)throw Error(G4[X]);if(this.header=new xL,F5.inflateGetHeader(this.strm,this.header),J.dictionary){if(typeof J.dictionary==="string")J.dictionary=e1.string2buf(J.dictionary);else if(IK.call(J.dictionary)==="[object ArrayBuffer]")J.dictionary=new Uint8Array(J.dictionary);if(J.raw){if(X=F5.inflateSetDictionary(this.strm,J.dictionary),X!==V8.Z_OK)throw Error(G4[X])}}}f9.prototype.push=function($,J){var X=this.strm,q=this.options.chunkSize,W=this.options.dictionary,Y,Q,K,G,V,H=!1;if(this.ended)return!1;if(Q=J===~~J?J:J===!0?V8.Z_FINISH:V8.Z_NO_FLUSH,typeof $==="string")X.input=e1.binstring2buf($);else if(IK.call($)==="[object ArrayBuffer]")X.input=new Uint8Array($);else X.input=$;X.next_in=0,X.avail_in=X.input.length;do{if(X.avail_out===0)X.output=new h$.Buf8(q),X.next_out=0,X.avail_out=q;if(Y=F5.inflate(X,V8.Z_NO_FLUSH),Y===V8.Z_NEED_DICT&&W)Y=F5.inflateSetDictionary(this.strm,W);if(Y===V8.Z_BUF_ERROR&&H===!0)Y=V8.Z_OK,H=!1;if(Y!==V8.Z_STREAM_END&&Y!==V8.Z_OK)return this.onEnd(Y),this.ended=!0,!1;if(X.next_out){if(X.avail_out===0||Y===V8.Z_STREAM_END||X.avail_in===0&&(Q===V8.Z_FINISH||Q===V8.Z_SYNC_FLUSH))if(this.options.to==="string"){if(K=e1.utf8border(X.output,X.next_out),G=X.next_out-K,V=e1.buf2string(X.output,K),X.next_out=G,X.avail_out=q-G,G)h$.arraySet(X.output,X.output,K,G,0);this.onData(V)}else this.onData(h$.shrinkBuf(X.output,X.next_out))}if(X.avail_in===0&&X.avail_out===0)H=!0}while((X.avail_in>0||X.avail_out===0)&&Y!==V8.Z_STREAM_END);if(Y===V8.Z_STREAM_END)Q=V8.Z_FINISH;if(Q===V8.Z_FINISH)return Y=F5.inflateEnd(this.strm),this.onEnd(Y),this.ended=!0,Y===V8.Z_OK;if(Q===V8.Z_SYNC_FLUSH)return this.onEnd(V8.Z_OK),X.avail_out=0,!0;return!0};f9.prototype.onData=function($){this.chunks.push($)};f9.prototype.onEnd=function($){if($===V8.Z_OK)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=h$.flattenChunks(this.chunks);this.chunks=[],this.err=$,this.msg=this.strm.msg};function V4($,J){var X=new f9(J);if(X.push($,!0),X.err)throw X.msg||G4[X.err];return X.result}function hL($,J){return J=J||{},J.raw=!0,V4($,J)}gL.Inflate=f9;gL.inflate=V4;gL.inflateRaw=hL;gL.ungzip=V4});var hK=O0((mD,xK)=>{var pL=c6().assign,lL=fQ(),cL=yK(),dL=K4(),_K={};pL(_K,lL,cL,dL);xK.exports=_K});var gK=O0((uD,H4)=>{(function(){var $={};if(typeof H4=="object")H4.exports=$;else self.UTIF=$;var J=hK();function X(){console.log.apply(console,arguments)}(function(q,W){(function(){var Y=function(){function M(O){this.message="JPEG error: "+O}return M.prototype=Error(),M.prototype.name="JpegError",M.constructor=M,M}(),Q=function(){var M=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),O=4017,N=799,U=3406,j=2276,R=1567,z=3784,F=5793,P=2896;function S(A){if(A==null)A={};if(A.w==null)A.w=-1;this.V=A.n,this.N=A.w}function Z(A,D){var C=0,k=[],_,y,f=16,I;while(f>0&&!A[f-1])f--;k.push({children:[],index:0});var b=k[0];for(_=0;_<f;_++){for(y=0;y<A[_];y++){b=k.pop(),b.children[b.index]=D[C];while(b.index>0)b=k.pop();b.index++,k.push(b);while(k.length<=_)k.push(I={children:[],index:0}),b.children[b.index]=I.children,b=I;C++}if(_+1<f)k.push(I={children:[],index:0}),b.children[b.index]=I.children,b=I}return k[0].children}function L(A,D,C){return 64*((A.P+1)*D+C)}function B(A,D,C,k,_,y,f,I,b,a){if(a==null)a=!1;var{m:p,Z:i}=C,h=D,E=0,T=0,l=0,n=0,e,s=0,t,r,m,o,J0,X0,N0=0,z0,u,G0,q0;function V0(){if(T>0)return T--,E>>T&1;if(E=A[D++],E===255){var Y0=A[D++];if(Y0){if(Y0===220&&a){D+=2;var R0=G(A,D);if(D+=2,R0>0&&R0!==C.s)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",R0)}else if(Y0===217){if(a){var E0=s*8;if(E0>0&&E0<C.s/10)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",E0)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new Y("unexpected marker")}}return T=7,E>>>7}function M0(Y0){var R0=Y0;while(!0){switch(R0=R0[V0()],typeof R0){case"number":return R0;case"object":continue}throw new Y("invalid huffman sequence")}}function B0(Y0){var R0=0;while(Y0>0)R0=R0<<1|V0(),Y0--;return R0}function F0(Y0){if(Y0===1)return V0()===1?1:-1;var R0=B0(Y0);if(R0>=1<<Y0-1)return R0;return R0+(-1<<Y0)+1}function S0(Y0,R0){var E0=M0(Y0.J),I0=E0===0?0:F0(E0),g0=1;Y0.D[R0]=Y0.Q+=I0;while(g0<64){var i0=M0(Y0.i),y0=i0&15,o0=i0>>4;if(y0===0){if(o0<15)break;g0+=16;continue}g0+=o0;var a0=M[g0];Y0.D[R0+a0]=F0(y0),g0++}}function Z0(Y0,R0){var E0=M0(Y0.J),I0=E0===0?0:F0(E0)<<b;Y0.D[R0]=Y0.Q+=I0}function k0(Y0,R0){Y0.D[R0]|=V0()<<b}function W0(Y0,R0){if(l>0){l--;return}var E0=y,I0=f;while(E0<=I0){var g0=M0(Y0.i),i0=g0&15,y0=g0>>4;if(i0===0){if(y0<15){l=B0(y0)+(1<<y0)-1;break}E0+=16;continue}E0+=y0;var o0=M[E0];Y0.D[R0+o0]=F0(i0)*(1<<b),E0++}}function $0(Y0,R0){var E0=y,I0=f,g0=0,i0,y0;while(E0<=I0){var o0=R0+M[E0],a0=Y0.D[o0]<0?-1:1;switch(n){case 0:if(y0=M0(Y0.i),i0=y0&15,g0=y0>>4,i0===0)if(g0<15)l=B0(g0)+(1<<g0),n=4;else g0=16,n=1;else{if(i0!==1)throw new Y("invalid ACn encoding");e=F0(i0),n=g0?2:3}continue;case 1:case 2:if(Y0.D[o0])Y0.D[o0]+=a0*(V0()<<b);else if(g0--,g0===0)n=n===2?3:0;break;case 3:if(Y0.D[o0])Y0.D[o0]+=a0*(V0()<<b);else Y0.D[o0]=e<<b,n=0;break;case 4:if(Y0.D[o0])Y0.D[o0]+=a0*(V0()<<b);break}E0++}if(n===4){if(l--,l===0)n=0}}function K0(Y0,R0,E0,I0,g0){var i0=E0/p|0,y0=E0%p;s=i0*Y0.A+I0;var o0=y0*Y0.h+g0,a0=L(Y0,s,o0);R0(Y0,a0)}function h0(Y0,R0,E0){s=E0/Y0.P|0;var I0=E0%Y0.P,g0=L(Y0,s,I0);R0(Y0,g0)}var A0=k.length;if(i)if(y===0)X0=I===0?Z0:k0;else X0=I===0?W0:$0;else X0=S0;if(A0===1)u=k[0].P*k[0].c;else u=p*C.R;while(N0<=u){var T0=_?Math.min(u-N0,_):u;if(T0>0){for(r=0;r<A0;r++)k[r].Q=0;if(l=0,A0===1){t=k[0];for(J0=0;J0<T0;J0++)h0(t,X0,N0),N0++}else for(J0=0;J0<T0;J0++){for(r=0;r<A0;r++){t=k[r],G0=t.h,q0=t.A;for(m=0;m<q0;m++)for(o=0;o<G0;o++)K0(t,X0,N0,m,o)}N0++}}if(T=0,z0=x(A,D),!z0)break;if(z0.u){var c0=T0>0?"unexpected":"excessive";D=z0.offset}if(z0.M>=65488&&z0.M<=65495)D+=2;else break}return D-h}function v(A,D,C){var{$:k,D:_}=A,y,f,I,b,a,p,i,h,E,T,l,n,e,s,t,r,m;if(!k)throw new Y("missing required Quantization Table.");for(var o=0;o<64;o+=8){if(E=_[D+o],T=_[D+o+1],l=_[D+o+2],n=_[D+o+3],e=_[D+o+4],s=_[D+o+5],t=_[D+o+6],r=_[D+o+7],E*=k[o],(T|l|n|e|s|t|r)===0){m=F*E+512>>10,C[o]=m,C[o+1]=m,C[o+2]=m,C[o+3]=m,C[o+4]=m,C[o+5]=m,C[o+6]=m,C[o+7]=m;continue}T*=k[o+1],l*=k[o+2],n*=k[o+3],e*=k[o+4],s*=k[o+5],t*=k[o+6],r*=k[o+7],y=F*E+128>>8,f=F*e+128>>8,I=l,b=t,a=P*(T-r)+128>>8,h=P*(T+r)+128>>8,p=n<<4,i=s<<4,y=y+f+1>>1,f=y-f,m=I*z+b*R+128>>8,I=I*R-b*z+128>>8,b=m,a=a+i+1>>1,i=a-i,h=h+p+1>>1,p=h-p,y=y+b+1>>1,b=y-b,f=f+I+1>>1,I=f-I,m=a*j+h*U+2048>>12,a=a*U-h*j+2048>>12,h=m,m=p*N+i*O+2048>>12,p=p*O-i*N+2048>>12,i=m,C[o]=y+h,C[o+7]=y-h,C[o+1]=f+i,C[o+6]=f-i,C[o+2]=I+p,C[o+5]=I-p,C[o+3]=b+a,C[o+4]=b-a}for(var J0=0;J0<8;++J0){if(E=C[J0],T=C[J0+8],l=C[J0+16],n=C[J0+24],e=C[J0+32],s=C[J0+40],t=C[J0+48],r=C[J0+56],(T|l|n|e|s|t|r)===0){if(m=F*E+8192>>14,m<-2040)m=0;else if(m>=2024)m=255;else m=m+2056>>4;_[D+J0]=m,_[D+J0+8]=m,_[D+J0+16]=m,_[D+J0+24]=m,_[D+J0+32]=m,_[D+J0+40]=m,_[D+J0+48]=m,_[D+J0+56]=m;continue}if(y=F*E+2048>>12,f=F*e+2048>>12,I=l,b=t,a=P*(T-r)+2048>>12,h=P*(T+r)+2048>>12,p=n,i=s,y=(y+f+1>>1)+4112,f=y-f,m=I*z+b*R+2048>>12,I=I*R-b*z+2048>>12,b=m,a=a+i+1>>1,i=a-i,h=h+p+1>>1,p=h-p,y=y+b+1>>1,b=y-b,f=f+I+1>>1,I=f-I,m=a*j+h*U+2048>>12,a=a*U-h*j+2048>>12,h=m,m=p*N+i*O+2048>>12,p=p*O-i*N+2048>>12,i=m,E=y+h,r=y-h,T=f+i,t=f-i,l=I+p,s=I-p,n=b+a,e=b-a,E<16)E=0;else if(E>=4080)E=255;else E>>=4;if(T<16)T=0;else if(T>=4080)T=255;else T>>=4;if(l<16)l=0;else if(l>=4080)l=255;else l>>=4;if(n<16)n=0;else if(n>=4080)n=255;else n>>=4;if(e<16)e=0;else if(e>=4080)e=255;else e>>=4;if(s<16)s=0;else if(s>=4080)s=255;else s>>=4;if(t<16)t=0;else if(t>=4080)t=255;else t>>=4;if(r<16)r=0;else if(r>=4080)r=255;else r>>=4;_[D+J0]=E,_[D+J0+8]=T,_[D+J0+16]=l,_[D+J0+24]=n,_[D+J0+32]=e,_[D+J0+40]=s,_[D+J0+48]=t,_[D+J0+56]=r}}function w(A,D){var{P:C,c:k}=D,_=new Int16Array(64);for(var y=0;y<k;y++)for(var f=0;f<C;f++){var I=L(D,y,f);v(D,I,_)}return D.D}function x(A,D,C){if(C==null)C=D;var k=A.length-1,_=C<D?C:D;if(D>=k)return null;var y=G(A,D);if(y>=65472&&y<=65534)return{u:null,M:y,offset:D};var f=G(A,_);while(!(f>=65472&&f<=65534)){if(++_>=k)return null;f=G(A,_)}return{u:y.toString(16),M:f,offset:_}}return S.prototype={parse(A,D){if(D==null)D={};var C=D.F,k=0,_=null,y=null,f,I,b=0;function a(){var y0=G(A,k);k+=2;var o0=k+y0-2,a0=x(A,o0,k);if(a0&&a0.u)o0=a0.offset;var E8=A.subarray(k,o0);return k+=E8.length,E8}function p(y0){var o0=Math.ceil(y0.o/8/y0.X),a0=Math.ceil(y0.s/8/y0.B);for(var E8=0;E8<y0.W.length;E8++){$0=y0.W[E8];var j8=Math.ceil(Math.ceil(y0.o/8)*$0.h/y0.X),_8=Math.ceil(Math.ceil(y0.s/8)*$0.A/y0.B),Y6=o0*$0.h,Z6=a0*$0.A,g6=64*Z6*(Y6+1);$0.D=new Int16Array(g6),$0.P=j8,$0.c=_8}y0.m=o0,y0.R=a0}var i=[],h=[],E=[],T=G(A,k);if(k+=2,T!==65496)throw new Y("SOI not found");T=G(A,k),k+=2;$:while(T!==65497){var l,n,e;switch(T){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var s=a();if(T===65504){if(s[0]===74&&s[1]===70&&s[2]===73&&s[3]===70&&s[4]===0)_={version:{d:s[5],T:s[6]},K:s[7],j:s[8]<<8|s[9],H:s[10]<<8|s[11],S:s[12],I:s[13],C:s.subarray(14,14+3*s[12]*s[13])}}if(T===65518){if(s[0]===65&&s[1]===100&&s[2]===111&&s[3]===98&&s[4]===101)y={version:s[5]<<8|s[6],k:s[7]<<8|s[8],q:s[9]<<8|s[10],a:s[11]}}break;case 65499:var t=G(A,k),r;k+=2;var m=t+k-2;while(k<m){var o=A[k++],J0=new Uint16Array(64);if(o>>4===0)for(n=0;n<64;n++)r=M[n],J0[r]=A[k++];else if(o>>4===1)for(n=0;n<64;n++)r=M[n],J0[r]=G(A,k),k+=2;else throw new Y("DQT - invalid table spec");i[o&15]=J0}break;case 65472:case 65473:case 65474:if(f)throw new Y("Only single frame JPEGs supported");k+=2,f={},f.G=T===65473,f.Z=T===65474,f.precision=A[k++];var X0=G(A,k),N0,z0=0,u=0;k+=2,f.s=C||X0,f.o=G(A,k),k+=2,f.W=[],f._={};var G0=A[k++];for(l=0;l<G0;l++){N0=A[k];var q0=A[k+1]>>4,V0=A[k+1]&15;if(z0<q0)z0=q0;if(u<V0)u=V0;var M0=A[k+2];e=f.W.push({h:q0,A:V0,L:M0,$:null}),f._[N0]=e-1,k+=3}f.X=z0,f.B=u,p(f);break;case 65476:var B0=G(A,k);k+=2;for(l=2;l<B0;){var F0=A[k++],S0=new Uint8Array(16),Z0=0;for(n=0;n<16;n++,k++)Z0+=S0[n]=A[k];var k0=new Uint8Array(Z0);for(n=0;n<Z0;n++,k++)k0[n]=A[k];l+=17+Z0,(F0>>4===0?E:h)[F0&15]=Z(S0,k0)}break;case 65501:k+=2,I=G(A,k),k+=2;break;case 65498:var W0=++b===1&&!C,$0;k+=2;var K0=A[k++],h0=[];for(l=0;l<K0;l++){var A0=A[k++],T0=f._[A0];$0=f.W[T0],$0.index=A0;var c0=A[k++];$0.J=E[c0>>4],$0.i=h[c0&15],h0.push($0)}var Y0=A[k++],R0=A[k++],E0=A[k++];try{var I0=B(A,k,f,h0,I,Y0,R0,E0>>4,E0&15,W0);k+=I0}catch(y0){if(y0 instanceof DNLMarkerError)return this.parse(A,{F:y0.s});else if(y0 instanceof EOIMarkerError)break $;throw y0}break;case 65500:k+=4;break;case 65535:if(A[k]!==255)k--;break;default:var g0=x(A,k-2,k-3);if(g0&&g0.u){k=g0.offset;break}if(k>=A.length-1)break $;throw new Y("JpegImage.parse - unknown marker: "+T.toString(16))}T=G(A,k),k+=2}this.width=f.o,this.height=f.s,this.g=_,this.b=y,this.W=[];for(l=0;l<f.W.length;l++){$0=f.W[l];var i0=i[$0.L];if(i0)$0.$=i0;this.W.push({index:$0.index,e:w(f,$0),l:$0.h/f.X,t:$0.A/f.B,P:$0.P,c:$0.c})}this.p=this.W.length;return},Y(A,D,C){if(C==null)C=!1;var k=this.width/A,_=this.height/D,y,f,I,b,a,p,i,h,E,T,l=0,n,e=this.W.length,s=A*D*e,t=new Uint8ClampedArray(s),r=new Uint32Array(A),m=4294967288,o;for(i=0;i<e;i++){if(y=this.W[i],f=y.l*k,I=y.t*_,l=i,n=y.e,b=y.P+1<<3,f!==o){for(a=0;a<A;a++)h=0|a*f,r[a]=(h&m)<<3|h&7;o=f}for(p=0;p<D;p++){h=0|p*I,T=b*(h&m)|(h&7)<<3;for(a=0;a<A;a++)t[l]=n[T+r[a]],l+=e}}var J0=this.V;if(!C&&e===4&&!J0)J0=new Int32Array([-256,255,-256,255,-256,255,-256,255]);if(J0)for(i=0;i<s;)for(h=0,E=0;h<e;h++,i++,E+=2)t[i]=(t[i]*J0[E]>>8)+J0[E+1];return t},get f(){if(this.b)return!!this.b.a;if(this.p===3){if(this.N===0)return!1;else if(this.W[0].index===82&&this.W[1].index===71&&this.W[2].index===66)return!1;return!0}if(this.N===1)return!0;return!1},z:function(D){var C,k,_;for(var y=0,f=D.length;y<f;y+=3)C=D[y],k=D[y+1],_=D[y+2],D[y]=C-179.456+1.402*_,D[y+1]=C+135.459-0.344*k-0.714*_,D[y+2]=C-226.816+1.772*k;return D},O:function(D){var C,k,_,y,f=0;for(var I=0,b=D.length;I<b;I+=4)C=D[I],k=D[I+1],_=D[I+2],y=D[I+3],D[f++]=-122.67195406894+k*(-0.0000660635669420364*k+0.000437130475926232*_-0.000054080610064599*C+0.00048449797120281*y-0.154362151871126)+_*(-0.000957964378445773*_+0.000817076911346625*C-0.00477271405408747*y+1.53380253221734)+C*(0.000961250184130688*C-0.00266257332283933*y+0.48357088451265)+y*(-0.000336197177618394*y+0.484791561490776),D[f++]=107.268039397724+k*(0.0000219927104525741*k-0.000640992018297945*_+0.000659397001245577*C+0.000426105652938837*y-0.176491792462875)+_*(-0.000778269941513683*_+0.00130872261408275*C+0.000770482631801132*y-0.151051492775562)+C*(0.00126935368114843*C-0.00265090189010898*y+0.25802910206845)+y*(-0.000318913117588328*y-0.213742400323665),D[f++]=-20.810012546947+k*(-0.000570115196973677*k-0.0000263409051004589*_+0.0020741088115012*C-0.00288260236853442*y+0.814272968359295)+_*(-0.0000153496057440975*_-0.000132689043961446*C+0.000560833691242812*y-0.195152027534049)+C*(0.00174418132927582*C-0.00255243321439347*y+0.116935020465145)+y*(-0.000343531996510555*y+0.24165260232407);return D.subarray(0,f)},r:function(D){var C,k,_;for(var y=0,f=D.length;y<f;y+=4)C=D[y],k=D[y+1],_=D[y+2],D[y]=434.456-C-1.402*_,D[y+1]=119.541-C+0.344*k+0.714*_,D[y+2]=481.816-C-1.772*k;return D},U:function(D){var C,k,_,y,f=0;for(var I=0,b=D.length;I<b;I+=4)C=D[I],k=D[I+1],_=D[I+2],y=D[I+3],D[f++]=255+C*(-0.00006747147073602441*C+0.0008379262121013727*k+0.0002894718188643294*_+0.003264231057537806*y-1.1185611867203937)+k*(0.000026374107616089405*k-0.00008626949158638572*_-0.0002748769067499491*y-0.02155688794978967)+_*(-0.00003878099212869363*_-0.0003267808279485286*y+0.0686742238595345)-y*(0.0003361971776183937*y+0.7430659151342254),D[f++]=255+C*(0.00013596372813588848*C+0.000924537132573585*k+0.00010567359618683593*_+0.0004791864687436512*y-0.3109689587515875)+k*(-0.00023545346108370344*k+0.0002702845253534714*_+0.0020200308977307156*y-0.7488052167015494)+_*(0.00006834815998235662*_+0.00015168452363460973*y-0.09751927774728933)-y*(0.0003189131175883281*y+0.7364883807733168),D[f++]=255+C*(0.000013598650411385307*C+0.00012423956175490851*k+0.0004751985097583589*_-0.0000036729317476630422*y-0.05562186980264034)+k*(0.00016141380598724676*k+0.0009692239130725186*_+0.0007782692450036253*y-0.44015232367526463)+_*(0.0000005068882914068769*_+0.0017778369011375071*y-0.7591454649749609)-y*(0.0003435319965105553*y+0.7063770186160144);return D.subarray(0,f)},getData:function(A){var{width:D,height:C,forceRGB:k,isSourcePDF:_}=A;if(this.p>4)throw new Y("Unsupported color mode");var y=this.Y(D,C,_);if(this.p===1&&k){var f=y.length,I=new Uint8ClampedArray(f*3),b=0;for(var a=0;a<f;a++){var p=y[a];I[b++]=p,I[b++]=p,I[b++]=p}return I}else if(this.p===3&&this.f)return this.z(y);else if(this.p===4){if(this.f){if(k)return this.O(y);return this.r(y)}else if(k)return this.U(y)}return y}},S}();function K(H,M){return H[M]<<24>>24}function G(H,M){return H[M]<<8|H[M+1]}function V(H,M){return(H[M]<<24|H[M+1]<<16|H[M+2]<<8|H[M+3])>>>0}q.JpegDecoder=Q})(),q.encodeImage=function(Y,Q,K,G){var V={t256:[Q],t257:[K],t258:[8,8,8,8],t259:[1],t262:[2],t273:[1000],t277:[4],t278:[K],t279:[Q*K*4],t282:[[72,1]],t283:[[72,1]],t284:[1],t286:[[0,1]],t287:[[0,1]],t296:[1],t305:["Photopea (UTIF.js)"],t338:[1]};if(G)for(var H in G)V[H]=G[H];var M=new Uint8Array(q.encode([V])),O=new Uint8Array(Y),N=new Uint8Array(1000+Q*K*4);for(var H=0;H<M.length;H++)N[H]=M[H];for(var H=0;H<O.length;H++)N[1000+H]=O[H];return N.buffer},q.encode=function(Y){var Q=!1,K=new Uint8Array(20000),G=4,V=Q?q._binLE:q._binBE;K[0]=K[1]=Q?73:77,V.writeUshort(K,2,42);var H=8;V.writeUint(K,G,H),G+=4;for(var M=0;M<Y.length;M++){var O=q._writeIFD(V,q._types.basic,K,H,Y[M]);if(H=O[1],M<Y.length-1){if((H&3)!=0)H+=4-(H&3);V.writeUint(K,O[0],H)}}return K.slice(0,H).buffer},q.decode=function(Y,Q){if(Q==null)Q={parseMN:!0,debug:!1};var K=new Uint8Array(Y),G=0,V=q._binBE.readASCII(K,G,2);G+=2;var H=V=="II"?q._binLE:q._binBE,M=H.readUshort(K,G);G+=2;var O=H.readUint(K,G);G+=4;var N=[];while(!0){var U=H.readUshort(K,O),j=H.readUshort(K,O+4);if(U!=0){if(j<1||13<j){X("error in TIFF");break}}if(q._readIFD(H,K,O,N,0,Q),O=H.readUint(K,O+2+U*12),O==0)break}return N},q.decodeImage=function(Y,Q,K){if(Q.data)return;var G=new Uint8Array(Y),V=q._binBE.readASCII(G,0,2);if(Q.t256==null)return;Q.isLE=V=="II",Q.width=Q.t256[0],Q.height=Q.t257[0];var H=Q.t259?Q.t259[0]:1,M=Q.t266?Q.t266[0]:1;if(Q.t284&&Q.t284[0]==2)X("PlanarConfiguration 2 should not be used!");if(H==7&&Q.t258&&Q.t258.length>3)Q.t258=Q.t258.slice(0,3);var O=Q.t277?Q.t277[0]:1,N=Q.t258?Q.t258[0]:1,U=N*O;if(H==1&&Q.t279!=null&&Q.t278&&Q.t262[0]==32803)U=Math.round(Q.t279[0]*8/(Q.width*Q.t278[0]));if(Q.t50885&&Q.t50885[0]==4)U=Q.t258[0]*3;var j=Math.ceil(Q.width*U/8)*8,R=Q.t273;if(R==null||Q.t322)R=Q.t324;var z=Q.t279;if(H==1&&R.length==1)z=[Q.height*(j>>>3)];if(z==null||Q.t322)z=Q.t325;var F=new Uint8Array(Q.height*(j>>>3)),P=0;if(Q.t322!=null){var S=Q.t322[0],Z=Q.t323[0],L=Math.floor((Q.width+S-1)/S),B=Math.floor((Q.height+Z-1)/Z),v=new Uint8Array(Math.ceil(S*Z*U/8)|0);console.log("====",L,B);for(var w=0;w<B;w++)for(var x=0;x<L;x++){var A=w*L+x;if(v.fill(0),q.decode._decompress(Q,K,G,R[A],z[A],H,v,0,M,S,Z),H==6)F=v;else q._copyTile(v,Math.ceil(S*U/8)|0,Z,F,Math.ceil(Q.width*U/8)|0,Q.height,Math.ceil(x*S*U/8)|0,w*Z)}P=F.length*8}else{if(R==null)return;var D=Q.t278?Q.t278[0]:Q.height;D=Math.min(D,Q.height);for(var A=0;A<R.length;A++)q.decode._decompress(Q,K,G,R[A],z[A],H,F,Math.ceil(P/8)|0,M,Q.width,D),P+=j*D;P=Math.min(P,F.length*8)}Q.data=new Uint8Array(F.buffer,0,Math.ceil(P/8)|0)},q.decode._decompress=function(Y,Q,K,G,V,H,M,O,N,U,j){if(Y.t271&&Y.t271[0]=="Panasonic"&&Y.t45&&Y.t45[0]==6)H=34316;if(H==1)for(var R=0;R<V;R++)M[O+R]=K[G+R];else if(H==2)q.decode._decodeG2(K,G,V,M,O,U,N);else if(H==3)q.decode._decodeG3(K,G,V,M,O,U,N,Y.t292?(Y.t292[0]&1)==1:!1);else if(H==4)q.decode._decodeG4(K,G,V,M,O,U,N);else if(H==5)q.decode._decodeLZW(K,G,V,M,O,8);else if(H==6)q.decode._decodeOldJPEG(Y,K,G,V,M,O);else if(H==7||H==34892)q.decode._decodeNewJPEG(Y,K,G,V,M,O);else if(H==8||H==32946){var z=new Uint8Array(K.buffer,G+2,V-6),F=W.inflateRaw(z);if(O+F.length<=M.length)M.set(F,O)}else if(H==9)q.decode._decodeVC5(K,G,V,M,O,Y.t33422);else if(H==32767)q.decode._decodeARW(Y,K,G,V,M,O);else if(H==32773)q.decode._decodePackBits(K,G,V,M,O);else if(H==32809)q.decode._decodeThunder(K,G,V,M,O);else if(H==34316)q.decode._decodePanasonic(Y,K,G,V,M,O);else if(H==34713)q.decode._decodeNikon(Y,Q,K,G,V,M,O);else if(H==34676)q.decode._decodeLogLuv32(Y,K,G,V,M,O);else X("Unknown compression",H);var P=Y.t258?Math.min(32,Y.t258[0]):1,S=Y.t277?Y.t277[0]:1,Z=P*S>>>3,L=Math.ceil(P*S*U/8);if(P==16&&!Y.isLE&&Y.t33422==null)for(var B=0;B<j;B++){var v=O+B*L;for(var w=1;w<L;w+=2){var x=M[v+w];M[v+w]=M[v+w-1],M[v+w-1]=x}}if(Y.t317&&Y.t317[0]==2)for(var B=0;B<j;B++){var A=O+B*L;if(P==16)for(var R=Z;R<L;R+=2){var D=(M[A+R+1]<<8|M[A+R])+(M[A+R-Z+1]<<8|M[A+R-Z]);M[A+R]=D&255,M[A+R+1]=D>>>8&255}else if(S==3)for(var R=3;R<L;R+=3)M[A+R]=M[A+R]+M[A+R-3]&255,M[A+R+1]=M[A+R+1]+M[A+R-2]&255,M[A+R+2]=M[A+R+2]+M[A+R-1]&255;else for(var R=Z;R<L;R++)M[A+R]=M[A+R]+M[A+R-Z]&255}},q.decode._decodePanasonic=function(Y,Q,K,G,V,H){var M=Q.buffer,O=Y.t2[0],N=Y.t3[0],U=Y.t10[0],j=Y.t45[0],R=0,z=0,F=0,P=0,S,Z,L=j==6?new Uint32Array(18):new Uint8Array(16),B,v,w,x=[0,0],A=[0,0],D,C=0,k,_,y,f,I=new Uint8Array(16384),b=new Uint16Array(V.buffer);function a(V0){if(F==0){var M0=new Uint8Array(M,K+z+8184,8200),B0=new Uint8Array(M,K+z,8184);I.set(M0),I.set(B0,M0.length),z+=16384}if(j==5)for(B=0;B<16;B++)L[B]=I[F++],F&=16383;else return F=F-V0&131071,P=F>>3^16368,(I[P]|I[P+1]<<8)>>(F&7)&~(-1<<V0)}function p(V0){return I[F+15-V0]}function i(){L[0]=p(0)<<6|p(1)>>2,L[1]=((p(1)&3)<<12|p(2)<<4|p(3)>>4)&16383,L[2]=p(3)>>2&3,L[3]=(p(3)&3)<<8|p(4),L[4]=p(5)<<2|p(6)>>6,L[5]=(p(6)&63)<<4|p(7)>>4,L[6]=p(7)>>2&3,L[7]=(p(7)&3)<<8|p(8),L[8]=p(9)<<2&1020|p(10)>>6,L[9]=(p(10)<<4|p(11)>>4)&1023,L[10]=p(11)>>2&3,L[11]=(p(11)&3)<<8|p(12),L[12]=(p(13)<<2&1020|p(14)>>6)&1023,L[13]=(p(14)<<4|p(15)>>4)&1023,F+=16,P=0}function h(){L[0]=p(0)<<4|p(1)>>4,L[1]=((p(1)&15)<<8|p(2))&4095,L[2]=p(3)>>6&3,L[3]=(p(3)&63)<<2|p(4)>>6,L[4]=(p(4)&63)<<2|p(5)>>6,L[5]=(p(5)&63)<<2|p(6)>>6,L[6]=p(6)>>4&3,L[7]=(p(6)&15)<<4|p(7)>>4,L[8]=(p(7)&15)<<4|p(8)>>4,L[9]=(p(8)&15)<<4|p(9)>>4,L[10]=p(9)>>2&3,L[11]=(p(9)&3)<<6|p(10)>>2,L[12]=(p(10)&3)<<6|p(11)>>2,L[13]=(p(11)&3)<<6|p(12)>>2,L[14]=p(12)&3,L[15]=p(13),L[16]=p(14),L[17]=p(15),F+=16,P=0}function E(){x[0]=0,x[1]=0,A[0]=0,A[1]=0}if(j==7)throw j;else if(j==6){var T=U==12,l=T?h:i,n=T?14:11,e=T?128:512,s=T?2048:8192,t=T?16383:65535,r=T?4095:16383,m=O/n,o=m*16,J0=T?18:14;for(_=0;_<N-15;_+=16){var X0=Math.min(16,N-_),N0=o*X0;I=new Uint8Array(M,K+R,N0),F=0,R+=N0;for(f=0,y=0;f<X0;f++,y=0){C=(_+f)*O;for(var z0=0;z0<m;z0++){l(),E(),w=0,k=0;for(B=0;B<n;B++){if(D=B&1,B%3==2){var u=P<J0?L[P++]:0;if(u==3)u=4;k=e<<u,w=1<<u}var G0=P<J0?L[P++]:0;if(x[D]){if(G0*=w,k<s&&A[D]>k)G0+=A[D]-k;A[D]=G0}else if(x[D]=G0,G0)A[D]=G0;else G0=A[D];b[C+y++]=G0-15<=t?G0-15&t:G0+2147483633>>31&r}}}}}else if(j==5){var q0=U==12?10:9;for(_=0;_<N;_++)for(y=0;y<O;y+=q0)if(a(0),U==12)b[C++]=((L[1]&15)<<8)+L[0],b[C++]=16*L[2]+(L[1]>>4),b[C++]=((L[4]&15)<<8)+L[3],b[C++]=16*L[5]+(L[4]>>4),b[C++]=((L[7]&15)<<8)+L[6],b[C++]=16*L[8]+(L[7]>>4),b[C++]=((L[10]&15)<<8)+L[9],b[C++]=16*L[11]+(L[10]>>4),b[C++]=((L[13]&15)<<8)+L[12],b[C++]=16*L[14]+(L[13]>>4);else if(U==14)b[C++]=L[0]+((L[1]&63)<<8),b[C++]=(L[1]>>6)+4*L[2]+((L[3]&15)<<10),b[C++]=(L[3]>>4)+16*L[4]+((L[5]&3)<<12),b[C++]=((L[5]&252)>>2)+(L[6]<<6),b[C++]=L[7]+((L[8]&63)<<8),b[C++]=(L[8]>>6)+4*L[9]+((L[10]&15)<<10),b[C++]=(L[10]>>4)+16*L[11]+((L[12]&3)<<12),b[C++]=((L[12]&252)>>2)+(L[13]<<6),b[C++]=L[14]+((L[15]&63)<<8)}else if(j==4)for(_=0;_<N;_++)for(y=0;y<O;y++){if(B=y%14,D=B&1,B==0)E();if(B%3==2)w=4>>3-a(2);if(A[D]){if(v=a(8),v!=0){if(x[D]-=128<<w,x[D]<0||w==4)x[D]&=~(-1<<w);x[D]+=v<<w}}else if(A[D]=a(8),A[D]||B>11)x[D]=A[D]<<4|a(4);b[C++]=x[y&1]}else throw j},q.decode._decodeVC5=function(){var Y=[1,0,1,0,2,2,1,1,3,7,1,2,5,25,1,3,6,48,1,4,6,54,1,5,7,111,1,8,7,99,1,6,7,105,12,0,7,107,1,7,8,209,20,0,8,212,1,9,8,220,1,10,9,393,1,11,9,394,32,0,9,416,1,12,9,427,1,13,10,887,1,18,10,784,1,14,10,790,1,15,10,835,60,0,10,852,1,16,10,885,1,17,11,1571,1,19,11,1668,1,20,11,1669,100,0,11,1707,1,21,11,1772,1,22,12,3547,1,29,12,3164,1,24,12,3166,1,25,12,3140,1,23,12,3413,1,26,12,3537,1,27,12,3539,1,28,13,7093,1,35,13,6283,1,30,13,6331,1,31,13,6335,180,0,13,6824,1,32,13,7072,1,33,13,7077,320,0,13,7076,1,34,14,12565,1,36,14,12661,1,37,14,12669,1,38,14,13651,1,39,14,14184,1,40,15,28295,1,46,15,28371,1,47,15,25320,1,42,15,25336,1,43,15,25128,1,41,15,27300,1,44,15,28293,1,45,16,50259,1,48,16,50643,1,49,16,50675,1,50,16,56740,1,53,16,56584,1,51,16,56588,1,52,17,113483,1,61,17,113482,1,60,17,101285,1,55,17,101349,1,56,17,109205,1,57,17,109207,1,58,17,100516,1,54,17,113171,1,59,18,202568,1,62,18,202696,1,63,18,218408,1,64,18,218412,1,65,18,226340,1,66,18,226356,1,67,18,226358,1,68,19,402068,1,69,19,405138,1,70,19,405394,1,71,19,436818,1,72,19,436826,1,73,19,452714,1,75,19,452718,1,76,19,452682,1,74,20,804138,1,77,20,810279,1,78,20,810790,1,79,20,873638,1,80,20,873654,1,81,20,905366,1,82,20,905430,1,83,20,905438,1,84,21,1608278,1,85,21,1620557,1,86,21,1621582,1,87,21,1621583,1,88,21,1747310,1,89,21,1810734,1,90,21,1810735,1,91,21,1810863,1,92,21,1810879,1,93,22,3621725,1,99,22,3621757,1,100,22,3241112,1,94,22,3494556,1,95,22,3494557,1,96,22,3494622,1,97,22,3494623,1,98,23,6482227,1,102,23,6433117,1,101,23,6989117,1,103,23,6989119,1,105,23,6989118,1,104,23,7243449,1,106,23,7243512,1,107,24,13978233,1,111,24,12964453,1,109,24,12866232,1,108,24,14486897,1,113,24,13978232,1,110,24,14486896,1,112,24,14487026,1,114,24,14487027,1,115,25,25732598,1,225,25,25732597,1,189,25,25732596,1,188,25,25732595,1,203,25,25732594,1,202,25,25732593,1,197,25,25732592,1,207,25,25732591,1,169,25,25732590,1,223,25,25732589,1,159,25,25732522,1,235,25,25732579,1,152,25,25732575,1,192,25,25732489,1,179,25,25732573,1,201,25,25732472,1,172,25,25732576,1,149,25,25732488,1,178,25,25732566,1,120,25,25732571,1,219,25,25732577,1,150,25,25732487,1,127,25,25732506,1,211,25,25732548,1,125,25,25732588,1,158,25,25732486,1,247,25,25732467,1,238,25,25732508,1,163,25,25732552,1,228,25,25732603,1,183,25,25732513,1,217,25,25732587,1,168,25,25732520,1,122,25,25732484,1,128,25,25732562,1,249,25,25732505,1,187,25,25732504,1,186,25,25732483,1,136,25,25928905,1,181,25,25732560,1,255,25,25732500,1,230,25,25732482,1,135,25,25732555,1,233,25,25732568,1,222,25,25732583,1,145,25,25732481,1,134,25,25732586,1,167,25,25732521,1,248,25,25732518,1,209,25,25732480,1,243,25,25732512,1,216,25,25732509,1,164,25,25732547,1,140,25,25732479,1,157,25,25732544,1,239,25,25732574,1,191,25,25732564,1,251,25,25732478,1,156,25,25732546,1,139,25,25732498,1,242,25,25732557,1,133,25,25732477,1,162,25,25732515,1,213,25,25732584,1,165,25,25732514,1,212,25,25732476,1,227,25,25732494,1,198,25,25732531,1,236,25,25732530,1,234,25,25732529,1,117,25,25732528,1,215,25,25732527,1,124,25,25732526,1,123,25,25732525,1,254,25,25732524,1,253,25,25732523,1,148,25,25732570,1,218,25,25732580,1,146,25,25732581,1,147,25,25732569,1,224,25,25732533,1,143,25,25732540,1,184,25,25732541,1,185,25,25732585,1,166,25,25732556,1,132,25,25732485,1,129,25,25732563,1,250,25,25732578,1,151,25,25732501,1,119,25,25732502,1,193,25,25732536,1,176,25,25732496,1,245,25,25732553,1,229,25,25732516,1,206,25,25732582,1,144,25,25732517,1,208,25,25732558,1,137,25,25732543,1,241,25,25732466,1,237,25,25732507,1,190,25,25732542,1,240,25,25732551,1,131,25,25732554,1,232,25,25732565,1,252,25,25732475,1,171,25,25732493,1,205,25,25732492,1,204,25,25732491,1,118,25,25732490,1,214,25,25928904,1,180,25,25732549,1,126,25,25732602,1,182,25,25732539,1,175,25,25732545,1,141,25,25732559,1,138,25,25732537,1,177,25,25732534,1,153,25,25732503,1,194,25,25732606,1,160,25,25732567,1,121,25,25732538,1,174,25,25732497,1,246,25,25732550,1,130,25,25732572,1,200,25,25732474,1,170,25,25732511,1,221,25,25732601,1,196,25,25732532,1,142,25,25732519,1,210,25,25732495,1,199,25,25732605,1,155,25,25732535,1,154,25,25732499,1,244,25,25732510,1,220,25,25732600,1,195,25,25732607,1,161,25,25732604,1,231,25,25732473,1,173,25,25732599,1,226,26,51465122,1,116,26,51465123,0,1],Q,K,G,V=[3,3,3,3,2,2,2,1,1,1],H=24576,M=16384,O=8192,N=M|O;function U(B){var v=B[1],w=B[0][v>>>3]>>>7-(v&7)&1;return B[1]++,w}function j(B,v){if(Q==null){Q={};for(var w=0;w<Y.length;w+=4)Q[Y[w+1]]=Y.slice(w,w+4)}var x=U(B),A=Q[x];while(A==null)x=x<<1|U(B),A=Q[x];var D=A[3];if(D!=0)D=U(B)==0?D:-D;v[0]=A[2],v[1]=D}function R(B,v){for(var w=0;w<v;w++){if((B&1)==1)B++;B=B>>>1}return B}function z(B,v){return B>>v}function F(B,v,w,x,A,D){v[w]=z(z(11*B[A]-4*B[A+D]+B[A+D+D]+4,3)+B[x],1),v[w+D]=z(z(5*B[A]+4*B[A+D]-B[A+D+D]+4,3)-B[x],1)}function P(B,v,w,x,A,D){var C=B[A-D]-B[A+D],k=B[A],_=B[x];v[w]=z(z(C+4,3)+k+_,1),v[w+D]=z(z(-C+4,3)+k-_,1)}function S(B,v,w,x,A,D){v[w]=z(z(5*B[A]+4*B[A-D]-B[A-D-D]+4,3)+B[x],1),v[w+D]=z(z(11*B[A]-4*B[A-D]+B[A-D-D]+4,3)-B[x],1)}function Z(B){return B=B<0?0:B>4095?4095:B,B=G[B]>>>2,B}function L(B,v,w,x,A,D){x=new Uint16Array(x.buffer);var C=Date.now(),k=q._binBE,_=v+w,y,f,I,b,a,p,i,h,E,T,l,n,e,s,t,r,m,o;v+=4;var J0=D[0]==1;while(v<_){var X0=k.readShort(B,v),N0=k.readUshort(B,v+2);if(v+=4,X0==12)y=N0;else if(X0==20)f=N0;else if(X0==21)I=N0;else if(X0==48)b=N0;else if(X0==53)a=N0;else if(X0==35)p=N0;else if(X0==62)i=N0;else if(X0==101)h=N0;else if(X0==109)E=N0;else if(X0==84)T=N0;else if(X0==106)l=N0;else if(X0==107)n=N0;else if(X0==108)e=N0;else if(X0==102)s=N0;else if(X0==104)t=N0;else if(X0==105)r=N0;else{var z0=X0<0?-X0:X0,u=z0&65280,G0=0;if(z0&N)if(z0&O)G0=N0&65535,G0+=(z0&255)<<16;else G0=N0&65535;if((z0&H)==H){if(m==null){m=[];for(var q0=0;q0<4;q0++)m[q0]=new Int16Array((f>>>1)*(I>>>1));o=new Int16Array((f>>>1)*(I>>>1)),K=new Int16Array(1024);for(var q0=0;q0<1024;q0++){var V0=q0-512,M0=Math.abs(V0),y=Math.floor(768*M0*M0*M0/16581375)+M0;K[q0]=Math.sign(V0)*y}G=new Uint16Array(4096);var B0=65535;for(var q0=0;q0<4096;q0++){var F0=q0,S0=B0*(Math.pow(113,F0/4095)-1)/112;G[q0]=Math.min(S0,B0)}}var Z0=m[i],k0=R(f,1+V[b]),W0=R(I,1+V[b]);if(b==0)for(var $0=0;$0<W0;$0++)for(var K0=0;K0<k0;K0++){var h0=v+($0*k0+K0)*2;Z0[$0*(f>>>1)+K0]=B[h0]<<8|B[h0+1]}else{var A0=[B,v*8],T0=[],c0=0,Y0=k0*W0,R0=[0,0],E0=0,N0=0;while(c0<Y0){j(A0,R0),E0=R0[0],N0=R0[1];while(E0>0)T0[c0++]=N0,E0--}var I0=(b-1)%3,g0=I0!=1?k0:0,i0=I0!=0?W0:0;for(var $0=0;$0<W0;$0++){var y0=($0+i0)*(f>>>1)+g0,o0=$0*k0;for(var K0=0;K0<k0;K0++)Z0[y0+K0]=K[T0[o0+K0]+512]*a}if(I0==2){var t=f>>>1,a0=k0*2,E8=W0*2;for(var $0=0;$0<W0;$0++)for(var K0=0;K0<a0;K0++){var q0=$0*2*t+K0,j8=$0*t+K0,_8=W0*t+j8;if($0==0)F(Z0,o,q0,_8,j8,t);else if($0==W0-1)S(Z0,o,q0,_8,j8,t);else P(Z0,o,q0,_8,j8,t)}var Y6=Z0;Z0=o,o=Y6;for(var $0=0;$0<E8;$0++)for(var K0=0;K0<k0;K0++){var q0=$0*t+2*K0,j8=$0*t+K0,_8=k0+j8;if(K0==0)F(Z0,o,q0,_8,j8,1);else if(K0==k0-1)S(Z0,o,q0,_8,j8,1);else P(Z0,o,q0,_8,j8,1)}var Y6=Z0;Z0=o,o=Y6;var Z6=[],g6=2-~~((b-1)/3);for(var F6=0;F6<3;F6++)Z6[F6]=E>>14-F6*2&3;var a5=Z6[g6];if(a5!=0)for(var $0=0;$0<E8;$0++)for(var K0=0;K0<a0;K0++){var q0=$0*t+K0;Z0[q0]=Z0[q0]<<a5}}}if(b==9&&i==3){var t5=m[0],q1=m[1],W1=m[2],Y1=m[3];for(var $0=0;$0<I;$0+=2)for(var K0=0;K0<f;K0+=2){var Q6=$0*f+K0,h0=($0>>>1)*(f>>>1)+(K0>>>1),S9=t5[h0],S7=q1[h0]-2048,D9=W1[h0]-2048,r9=Y1[h0]-2048,E9=(S7<<1)+S9,C9=(D9<<1)+S9,e5=S9+r9,$$=S9-r9;if(J0)x[Q6]=Z(e5),x[Q6+1]=Z(C9),x[Q6+f]=Z(E9),x[Q6+f+1]=Z($$);else x[Q6]=Z(E9),x[Q6+1]=Z(e5),x[Q6+f]=Z($$),x[Q6+f+1]=Z(C9)}}v+=G0*4}else if(z0==16388)v+=G0*4;else if(u==8192||u==8448||u==9216);else throw z0.toString(16)}}console.log(Date.now()-C)}return L}(),q.decode._decodeLogLuv32=function(Y,Q,K,G,V,H){var M=Y.width,O=M*4,N=0,U=new Uint8Array(O);while(N<G){var j=0;while(j<O){var R=Q[K+N];if(N++,R<128){for(var z=0;z<R;z++)U[j+z]=Q[K+N+z];j+=R,N+=R}else{R=R-126;for(var z=0;z<R;z++)U[j+z]=Q[K+N];j+=R,N++}}for(var F=0;F<M;F++)V[H+0]=U[F],V[H+1]=U[F+M],V[H+2]=U[F+M*2],V[H+4]=U[F+M*3],H+=6}},q.decode._ljpeg_diff=function(Y,Q,K){var G=q.decode._getbithuff,V,H;if(V=G(Y,Q,K[0],K),H=G(Y,Q,V,0),(H&1<<V-1)==0)H-=(1<<V)-1;return H},q.decode._decodeARW=function(Y,Q,K,G,V,H){var M=Y.t256[0],O=Y.t257[0],N=Y.t258[0],U=Y.isLE?q._binLE:q._binBE,j=M*O==G||M*O*1.5==G;if(!j){O+=8;var R=[K,0,0,0],z=new Uint16Array(32770),F=[3857,3856,3599,3342,3085,2828,2571,2314,2057,1800,1543,1286,1029,772,771,768,514,513],i,P,S,k,C,Z=0,L=q.decode._ljpeg_diff;z[0]=15;for(S=i=0;i<18;i++){var B=32768>>>(F[i]>>>8);for(var P=0;P<B;P++)z[++S]=F[i]}for(k=M;k--;)for(C=0;C<O+1;C+=2){if(C==O)C=1;if(Z+=L(Q,R,z),C<O){var v=Z&4095;q.decode._putsF(V,(C*M+k)*N,v<<16-N)}}return}if(M*O*1.5==G){for(var i=0;i<G;i+=3){var w=Q[K+i+0],x=Q[K+i+1],A=Q[K+i+2];V[H+i]=x<<4|w>>>4,V[H+i+1]=w<<4|A>>>4,V[H+i+2]=A<<4|x>>>4}return}var D=new Uint16Array(16),C,k,_,y,f,I,b,a,p,i,h,E=new Uint8Array(M+1);for(C=0;C<O;C++){for(var T=0;T<M;T++)E[T]=Q[K++];for(h=0,k=0;k<M-30;h+=16){y=2047&(_=U.readUint(E,h)),f=2047&_>>>11,I=15&_>>>22,b=15&_>>>26;for(a=0;a<4&&128<<a<=y-f;a++);for(p=30,i=0;i<16;i++)if(i==I)D[i]=y;else if(i==b)D[i]=f;else{if(D[i]=((U.readUshort(E,h+(p>>3))>>>(p&7)&127)<<a)+f,D[i]>2047)D[i]=2047;p+=7}for(i=0;i<16;i++,k+=2){var v=D[i]<<1;q.decode._putsF(V,(C*M+k)*N,v<<16-N)}k-=k&1?1:31}}},q.decode._decodeNikon=function(Y,Q,K,G,V,H,M){var O=[[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,5,4,3,6,2,7,1,0,8,9,11,10,12],[0,0,1,5,1,1,1,1,1,1,2,0,0,0,0,0,0,57,90,56,39,22,5,4,3,2,1,0,11,12,12],[0,0,1,4,2,3,1,2,0,0,0,0,0,0,0,0,0,5,4,6,3,7,2,8,1,9,0,10,11,12],[0,0,1,4,3,1,1,1,1,1,2,0,0,0,0,0,0,5,6,4,7,8,3,9,2,1,0,10,11,12,13,14],[0,0,1,5,1,1,1,1,1,1,1,2,0,0,0,0,0,8,92,75,58,41,7,6,5,4,3,2,1,0,13,14],[0,0,1,4,2,2,3,1,2,0,0,0,0,0,0,0,0,7,6,8,5,9,4,10,3,11,12,2,0,1,13,14]],N=Y.t256[0],U=Y.t257[0],j=Y.t258[0],R=0,z=0,F=q.decode._make_decoder,P=q.decode._getbithuff,S=Q[0].exifIFD.makerNote,Z=S.t150?S.t150:S.t140,L=0,B=Z[L++],v=Z[L++];if(B==73||v==88)L+=2110;if(B==70)R=2;if(j==14)R+=3;var w=[[0,0],[0,0]],x=Y.isLE?q._binLE:q._binBE;for(var _=0;_<2;_++)for(var A=0;A<2;A++)w[_][A]=x.readShort(Z,L),L+=2;var D=1<<j&32767,C=0,k=x.readShort(Z,L);if(L+=2,k>1)C=Math.floor(D/(k-1));if(B==68&&v==32&&C>0)z=x.readShort(Z,562);var _,y,f,I,b,a,p=0,i=[0,0],h=F(O[R]),E=[G,0,0,0];for(p=y=0;y<U;y++){if(z&&y==z)h=F(O[R+1]);for(f=0;f<N;f++){if(_=P(K,E,h[0],h),I=_&15,b=_>>>4,a=(P(K,E,I-b,0)<<1)+1<<b>>>1,(a&1<<I-1)==0)a-=(1<<I)-(b==0?1:0);if(f<2)i[f]=w[y&1][f]+=a;else i[f&1]+=a;var T=Math.min(Math.max(i[f&1],0),(1<<j)-1),l=(y*N+f)*j;q.decode._putsF(H,l,T<<16-j)}}},q.decode._putsF=function(Y,Q,K){K=K<<8-(Q&7);var G=Q>>>3;Y[G]|=K>>>16,Y[G+1]|=K>>>8,Y[G+2]|=K},q.decode._getbithuff=function(Y,Q,K,G){var V=0,H=q.decode._get_byte,M,O=Q[0],N=Q[1],U=Q[2],j=Q[3];if(K==0||U<0)return 0;while(!j&&U<K&&(M=Y[O++])!=-1&&!(j=V&&M==255&&Y[O++]))N=(N<<8)+M,U+=8;if(M=N<<32-U>>>32-K,G)U-=G[M+1]>>>8,M=G[M+1]&255;else U-=K;if(U<0)throw"e";return Q[0]=O,Q[1]=N,Q[2]=U,Q[3]=j,M},q.decode._make_decoder=function(Y){var Q,K,G,V,H,M=[];for(Q=16;Q!=0&&!Y[Q];Q--);var O=17;M[0]=Q;for(G=K=1;K<=Q;K++)for(V=0;V<Y[K];V++,++O)for(H=0;H<1<<Q-K;H++)if(G<=1<<Q)M[G++]=K<<8|Y[O];return M},q.decode._decodeNewJPEG=function(Y,Q,K,G,V,H){G=Math.min(G,Q.length-K);var M=Y.t347,O=M?M.length:0,N=new Uint8Array(O+G);if(M){var U=216,j=217,R=0;for(var z=0;z<O-1;z++){if(M[z]==255&&M[z+1]==j)break;N[R++]=M[z]}var F=Q[K],P=Q[K+1];if(F!=255||P!=U)N[R++]=F,N[R++]=P;for(var z=2;z<G;z++)N[R++]=Q[K+z]}else for(var z=0;z<G;z++)N[z]=Q[K+z];if(Y.t262[0]==32803||Y.t259[0]==7&&Y.t262[0]==34892){var S=Y.t258[0],Z=q.LosslessJpegDecode(N),L=Z.length;if(S==16)if(Y.isLE)for(var z=0;z<L;z++)V[H+(z<<1)]=Z[z]&255,V[H+(z<<1)+1]=Z[z]>>>8;else for(var z=0;z<L;z++)V[H+(z<<1)]=Z[z]>>>8,V[H+(z<<1)+1]=Z[z]&255;else if(S==14||S==12||S==10){var B=16-S;for(var z=0;z<L;z++)q.decode._putsF(V,z*S,Z[z]<<B)}else if(S==8)for(var z=0;z<L;z++)V[H+z]=Z[z];else throw Error("unsupported bit depth "+S)}else{var v=new q.JpegDecoder;v.parse(N);var w=v.getData({width:v.width,height:v.height,forceRGB:!0,isSourcePDF:!1});for(var z=0;z<w.length;z++)V[H+z]=w[z]}if(Y.t262[0]==6)Y.t262[0]=2},q.decode._decodeOldJPEGInit=function(Y,Q,K,G){var V=216,H=217,M=219,O=196,N=221,U=192,j=218,R=0,z=0,F,P,S=!1,Z,L,B,v=Y.t513,w=v?v[0]:0,x=Y.t514,A=x?x[0]:0,D=Y.t324||Y.t273||v,C=Y.t530,k=0,_=0,y=Y.t277?Y.t277[0]:1,f=Y.t515;if(D)z=D[0],S=D.length>1;if(!S){if(Q[K]==255&&Q[K+1]==V)return{jpegOffset:K};if(v!=null){if(Q[K+w]==255&&Q[K+w+1]==V)R=K+w;else X("JPEGInterchangeFormat does not point to SOI");if(x==null)X("JPEGInterchangeFormatLength field is missing");else if(w>=z||w+A<=z)X("JPEGInterchangeFormatLength field value is invalid");if(R!=null)return{jpegOffset:R}}}if(C!=null)k=C[0],_=C[1];if(v!=null){if(x!=null)if(A>=2&&w+A<=z){if(Q[K+w+A-2]==255&&Q[K+w+A-1]==V)F=new Uint8Array(A-2);else F=new Uint8Array(A);for(Z=0;Z<F.length;Z++)F[Z]=Q[K+w+Z];X("Incorrect JPEG interchange format: using JPEGInterchangeFormat offset to derive tables")}else X("JPEGInterchangeFormat+JPEGInterchangeFormatLength > offset to first strip or tile")}if(F==null){var I=0,b=[];b[I++]=255,b[I++]=V;var a=Y.t519;if(a==null)throw Error("JPEGQTables tag is missing");for(Z=0;Z<a.length;Z++){b[I++]=255,b[I++]=M,b[I++]=0,b[I++]=67,b[I++]=Z;for(L=0;L<64;L++)b[I++]=Q[K+a[Z]+L]}for(B=0;B<2;B++){var p=Y[B==0?"t520":"t521"];if(p==null)throw Error((B==0?"JPEGDCTables":"JPEGACTables")+" tag is missing");for(Z=0;Z<p.length;Z++){b[I++]=255,b[I++]=O;var i=19;for(L=0;L<16;L++)i+=Q[K+p[Z]+L];b[I++]=i>>>8,b[I++]=i&255,b[I++]=Z|B<<4;for(L=0;L<16;L++)b[I++]=Q[K+p[Z]+L];for(L=0;L<i;L++)b[I++]=Q[K+p[Z]+16+L]}}if(b[I++]=255,b[I++]=U,b[I++]=0,b[I++]=8+3*y,b[I++]=8,b[I++]=Y.height>>>8&255,b[I++]=Y.height&255,b[I++]=Y.width>>>8&255,b[I++]=Y.width&255,b[I++]=y,y==1)b[I++]=1,b[I++]=17,b[I++]=0;else for(Z=0;Z<3;Z++)b[I++]=Z+1,b[I++]=Z!=0?17:(k&15)<<4|_&15,b[I++]=Z;if(f!=null&&f[0]!=0)b[I++]=255,b[I++]=N,b[I++]=0,b[I++]=4,b[I++]=f[0]>>>8&255,b[I++]=f[0]&255;F=new Uint8Array(b)}var h=-1;Z=0;while(Z<F.length-1){if(F[Z]==255&&F[Z+1]==U){h=Z;break}Z++}if(h==-1){var E=new Uint8Array(F.length+10+3*y);E.set(F);var T=F.length;if(h=F.length,F=E,F[T++]=255,F[T++]=U,F[T++]=0,F[T++]=8+3*y,F[T++]=8,F[T++]=Y.height>>>8&255,F[T++]=Y.height&255,F[T++]=Y.width>>>8&255,F[T++]=Y.width&255,F[T++]=y,y==1)F[T++]=1,F[T++]=17,F[T++]=0;else for(Z=0;Z<3;Z++)F[T++]=Z+1,F[T++]=Z!=0?17:(k&15)<<4|_&15,F[T++]=Z}if(Q[z]==255&&Q[z+1]==j){var l=Q[z+2]<<8|Q[z+3];P=new Uint8Array(l+2),P[0]=Q[z],P[1]=Q[z+1],P[2]=Q[z+2],P[3]=Q[z+3];for(Z=0;Z<l-2;Z++)P[Z+4]=Q[z+Z+4]}else{P=new Uint8Array(8+2*y);var n=0;if(P[n++]=255,P[n++]=j,P[n++]=0,P[n++]=6+2*y,P[n++]=y,y==1)P[n++]=1,P[n++]=0;else for(Z=0;Z<3;Z++)P[n++]=Z+1,P[n++]=Z<<4|Z;P[n++]=0,P[n++]=63,P[n++]=0}return{jpegOffset:K,tables:F,sosMarker:P,sofPosition:h}},q.decode._decodeOldJPEG=function(Y,Q,K,G,V,H){var M,O,N,U,j,R=q.decode._decodeOldJPEGInit(Y,Q,K,G);if(R.jpegOffset!=null){O=K+G-R.jpegOffset,U=new Uint8Array(O);for(M=0;M<O;M++)U[M]=Q[R.jpegOffset+M]}else{if(N=R.tables.length,U=new Uint8Array(N+R.sosMarker.length+G+2),U.set(R.tables),j=N,U[R.sofPosition+5]=Y.height>>>8&255,U[R.sofPosition+6]=Y.height&255,U[R.sofPosition+7]=Y.width>>>8&255,U[R.sofPosition+8]=Y.width&255,Q[K]!=255||Q[K+1]!=SOS)U.set(R.sosMarker,j),j+=sosMarker.length;for(M=0;M<G;M++)U[j++]=Q[K+M];U[j++]=255,U[j++]=EOI}var z=new q.JpegDecoder;z.parse(U);var F=z.getData({width:z.width,height:z.height,forceRGB:!0,isSourcePDF:!1});for(var M=0;M<F.length;M++)V[H+M]=F[M];if(Y.t262&&Y.t262[0]==6)Y.t262[0]=2},q.decode._decodePackBits=function(Y,Q,K,G,V){var H=new Int8Array(Y.buffer),M=new Int8Array(G.buffer),O=Q+K;while(Q<O){var N=H[Q];if(Q++,N>=0&&N<128)for(var U=0;U<N+1;U++)M[V]=H[Q],V++,Q++;if(N>=-127&&N<0){for(var U=0;U<-N+1;U++)M[V]=H[Q],V++;Q++}}return V},q.decode._decodeThunder=function(Y,Q,K,G,V){var H=[0,1,0,-1],M=[0,1,2,3,0,-3,-2,-1],O=Q+K,N=V*2,U=0;while(Q<O){var j=Y[Q],R=j>>>6,z=j&63;if(Q++,R==3)U=z&15,G[N>>>1]|=U<<4*(1-N&1),N++;if(R==0)for(var F=0;F<z;F++)G[N>>>1]|=U<<4*(1-N&1),N++;if(R==2)for(var F=0;F<2;F++){var P=z>>>3*(1-F)&7;if(P!=4)U+=M[P],G[N>>>1]|=U<<4*(1-N&1),N++}if(R==1)for(var F=0;F<3;F++){var P=z>>>2*(2-F)&3;if(P!=2)U+=H[P],G[N>>>1]|=U<<4*(1-N&1),N++}}},q.decode._dmap={"1":0,"011":1,"000011":2,"0000011":3,"010":-1,"000010":-2,"0000010":-3},q.decode._lens=function(){var Y=function(N,U,j,R){for(var z=0;z<U.length;z++)N[U[z]]=j+z*R},Q="00110101,000111,0111,1000,1011,1100,1110,1111,10011,10100,00111,01000,001000,000011,110100,110101,101010,101011,0100111,0001100,0001000,0010111,0000011,0000100,0101000,0101011,0010011,0100100,0011000,00000010,00000011,00011010,00011011,00010010,00010011,00010100,00010101,00010110,00010111,00101000,00101001,00101010,00101011,00101100,00101101,00000100,00000101,00001010,00001011,01010010,01010011,01010100,01010101,00100100,00100101,01011000,01011001,01011010,01011011,01001010,01001011,00110010,00110011,00110100",K="0000110111,010,11,10,011,0011,0010,00011,000101,000100,0000100,0000101,0000111,00000100,00000111,000011000,0000010111,0000011000,0000001000,00001100111,00001101000,00001101100,00000110111,00000101000,00000010111,00000011000,000011001010,000011001011,000011001100,000011001101,000001101000,000001101001,000001101010,000001101011,000011010010,000011010011,000011010100,000011010101,000011010110,000011010111,000001101100,000001101101,000011011010,000011011011,000001010100,000001010101,000001010110,000001010111,000001100100,000001100101,000001010010,000001010011,000000100100,000000110111,000000111000,000000100111,000000101000,000001011000,000001011001,000000101011,000000101100,000001011010,000001100110,000001100111",G="11011,10010,010111,0110111,00110110,00110111,01100100,01100101,01101000,01100111,011001100,011001101,011010010,011010011,011010100,011010101,011010110,011010111,011011000,011011001,011011010,011011011,010011000,010011001,010011010,011000,010011011",V="0000001111,000011001000,000011001001,000001011011,000000110011,000000110100,000000110101,0000001101100,0000001101101,0000001001010,0000001001011,0000001001100,0000001001101,0000001110010,0000001110011,0000001110100,0000001110101,0000001110110,0000001110111,0000001010010,0000001010011,0000001010100,0000001010101,0000001011010,0000001011011,0000001100100,0000001100101",H="00000001000,00000001100,00000001101,000000010010,000000010011,000000010100,000000010101,000000010110,000000010111,000000011100,000000011101,000000011110,000000011111";Q=Q.split(","),K=K.split(","),G=G.split(","),V=V.split(","),H=H.split(",");var M={},O={};return Y(M,Q,0,1),Y(M,G,64,64),Y(M,H,1792,64),Y(O,K,0,1),Y(O,V,64,64),Y(O,H,1792,64),[M,O]}(),q.decode._decodeG4=function(Y,Q,K,G,V,H,M){var O=q.decode,N=Q<<3,U=0,j="",R=[],z=[];for(var F=0;F<H;F++)z.push(0);z=O._makeDiff(z);var P=0,S=0,Z=0,L=0,B=0,v=0,w=0,x="",A=0,D=Math.ceil(H/8)*8;while(N>>>3<Q+K){L=O._findDiff(z,P+(P==0?0:1),1-v),B=O._findDiff(z,L,v);var C=0;if(M==1)C=Y[N>>>3]>>>7-(N&7)&1;if(M==2)C=Y[N>>>3]>>>(N&7)&1;if(N++,j+=C,x=="H"){if(O._lens[v][j]!=null){var k=O._lens[v][j];if(j="",U+=k,k<64){if(O._addNtimes(R,U,v),P+=U,v=1-v,U=0,A--,A==0)x=""}}}else{if(j=="0001")j="",O._addNtimes(R,B-P,v),P=B;if(j=="001")j="",x="H",A=2;if(O._dmap[j]!=null)S=L+O._dmap[j],O._addNtimes(R,S-P,v),P=S,j="",v=1-v}if(R.length==H&&x=="")O._writeBits(R,G,V*8+w*D),v=0,w++,P=0,z=O._makeDiff(R),R=[]}},q.decode._findDiff=function(Y,Q,K){for(var G=0;G<Y.length;G+=2)if(Y[G]>=Q&&Y[G+1]==K)return Y[G]},q.decode._makeDiff=function(Y){var Q=[];if(Y[0]==1)Q.push(0,1);for(var K=1;K<Y.length;K++)if(Y[K-1]!=Y[K])Q.push(K,Y[K]);return Q.push(Y.length,0,Y.length,1),Q},q.decode._decodeG2=function(Y,Q,K,G,V,H,M){var O=q.decode,N=Q<<3,U=0,j="",R=[],z=0,F=0,P=Math.ceil(H/8)*8;while(N>>>3<Q+K){var S=0;if(M==1)S=Y[N>>>3]>>>7-(N&7)&1;if(M==2)S=Y[N>>>3]>>>(N&7)&1;if(N++,j+=S,U=O._lens[z][j],U!=null){if(O._addNtimes(R,U,z),j="",U<64)z=1-z;if(R.length==H){if(O._writeBits(R,G,V*8+F*P),R=[],F++,z=0,(N&7)!=0)N+=8-(N&7);if(U>=64)N+=8}}}},q.decode._decodeG3=function(Y,Q,K,G,V,H,M,O){var N=q.decode,U=Q<<3,j=0,R="",z=[],F=[];for(var P=0;P<H;P++)z.push(0);var S=0,Z=0,L=0,B=0,v=0,w=0,x=-1,A="",D=0,C=!0,k=Math.ceil(H/8)*8;while(U>>>3<Q+K){B=N._findDiff(F,S+(S==0?0:1),1-w),v=N._findDiff(F,B,w);var _=0;if(M==1)_=Y[U>>>3]>>>7-(U&7)&1;if(M==2)_=Y[U>>>3]>>>(U&7)&1;if(U++,R+=_,C){if(N._lens[w][R]!=null){var y=N._lens[w][R];if(R="",j+=y,y<64)N._addNtimes(z,j,w),w=1-w,j=0}}else if(A=="H"){if(N._lens[w][R]!=null){var y=N._lens[w][R];if(R="",j+=y,y<64){if(N._addNtimes(z,j,w),S+=j,w=1-w,j=0,D--,D==0)A=""}}}else{if(R=="0001")R="",N._addNtimes(z,v-S,w),S=v;if(R=="001")R="",A="H",D=2;if(N._dmap[R]!=null)Z=B+N._dmap[R],N._addNtimes(z,Z-S,w),S=Z,R="",w=1-w}if(R.endsWith("000000000001")){if(x>=0)N._writeBits(z,G,V*8+x*k);if(O){if(M==1)C=(Y[U>>>3]>>>7-(U&7)&1)==1;if(M==2)C=(Y[U>>>3]>>>(U&7)&1)==1;U++}R="",w=0,x++,S=0,F=N._makeDiff(z),z=[]}}if(z.length==H)N._writeBits(z,G,V*8+x*k)},q.decode._addNtimes=function(Y,Q,K){for(var G=0;G<Q;G++)Y.push(K)},q.decode._writeBits=function(Y,Q,K){for(var G=0;G<Y.length;G++)Q[K+G>>>3]|=Y[G]<<7-(K+G&7)},q.decode._decodeLZW=q.decode._decodeLZW=function(){var Y,Q,K,G,V=0,H=0,M=0,O=0,N=function(){var Z=Y>>>3,L=Q[Z]<<16|Q[Z+1]<<8|Q[Z+2],B=L>>>24-(Y&7)-H&(1<<H)-1;return Y+=H,B},U=new Uint32Array(16384),j=0,R=function(Z){if(Z==j)return;j=Z,M=1<<Z,O=M+1;for(var L=0;L<O+1;L++)U[4*L]=U[4*L+3]=L,U[4*L+1]=65535,U[4*L+2]=1},z=function(Z){H=Z+1,V=O+1},F=function(Z){var L=Z<<2,B=U[L+2],v=G+B-1;while(L!=65535)K[v--]=U[L],L=U[L+1];G+=B},P=function(Z,L){var B=V<<2,v=Z<<2;if(U[B]=U[(L<<2)+3],U[B+1]=v,U[B+2]=U[v+2]+1,U[B+3]=U[v+3],V++,V+1==1<<H&&H!=12)H++},S=function(Z,L,B,v,w,x){Y=L<<3,Q=Z,K=v,G=w;var A=L+B<<3,D=0,C=0;R(x),z(x);while(Y<A&&(D=N())!=O){if(D==M){if(z(x),D=N(),D==O)break;F(D)}else if(D<V)F(D),P(C,D);else P(C,C),F(V-1);C=D}return G};return S}(),q.tags={},q._types=function(){var Y=Array(250);Y.fill(0),Y=Y.concat([0,0,0,0,4,3,3,3,3,3,0,0,3,0,0,0,3,0,0,2,2,2,2,4,3,0,0,3,4,4,3,3,5,5,3,2,5,5,0,0,0,0,4,4,0,0,3,3,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,2,2,3,5,5,3,0,3,3,4,4,4,3,4,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);var Q={33432:2,33434:5,33437:5,34665:4,34850:3,34853:4,34855:3,34864:3,34866:4,36864:7,36867:2,36868:2,37121:7,37377:10,37378:5,37380:10,37381:5,37383:3,37384:3,37385:3,37386:5,37510:7,37520:2,37521:2,37522:2,40960:7,40961:3,40962:4,40963:4,40965:4,41486:5,41487:5,41488:3,41985:3,41986:3,41987:3,41988:5,41989:3,41990:3,41993:3,41994:3,41995:7,41996:3,42032:2,42033:2,42034:5,42036:2,42037:2,59932:7};return{basic:{main:Y,rest:Q},gps:{main:[1,2,5,2,5,1,5,5,0,9],rest:{18:2,29:2}}}}(),q._readIFD=function(Y,Q,K,G,V,H){var M=Y.readUshort(Q,K);K+=2;var O={};if(H.debug)X(" ".repeat(V),G.length-1,">>>----------------");for(var N=0;N<M;N++){var U=Y.readUshort(Q,K);K+=2;var j=Y.readUshort(Q,K);K+=2;var R=Y.readUint(Q,K);K+=4;var z=Y.readUint(Q,K);K+=4;var F=[];if(j==1||j==7){var P=R<5?K-4:z;if(P+R>Q.buffer.byteLength)R=Q.buffer.byteLength-P;F=new Uint8Array(Q.buffer,P,R)}if(j==2){var S=R<5?K-4:z,Z=Q[S],L=Math.max(0,Math.min(R-1,Q.length-S));if(Z<128||L==0)F.push(Y.readASCII(Q,S,L));else F=new Uint8Array(Q.buffer,S,L)}if(j==3)for(var B=0;B<R;B++)F.push(Y.readUshort(Q,(R<3?K-4:z)+2*B));if(j==4||j==13)for(var B=0;B<R;B++)F.push(Y.readUint(Q,(R<2?K-4:z)+4*B));if(j==5||j==10){var v=j==5?Y.readUint:Y.readInt;for(var B=0;B<R;B++)F.push([v(Q,z+B*8),v(Q,z+B*8+4)])}if(j==8)for(var B=0;B<R;B++)F.push(Y.readShort(Q,(R<3?K-4:z)+2*B));if(j==9)for(var B=0;B<R;B++)F.push(Y.readInt(Q,(R<2?K-4:z)+4*B));if(j==11)for(var B=0;B<R;B++)F.push(Y.readFloat(Q,z+B*4));if(j==12)for(var B=0;B<R;B++)F.push(Y.readDouble(Q,z+B*8));if(R!=0&&F.length==0){if(X(U,"unknown TIFF tag type: ",j,"num:",R),N==0)return;continue}if(H.debug)X(" ".repeat(V),U,j,q.tags[U],F);if(O["t"+U]=F,U==330&&O.t272&&O.t272[0]=="DSLR-A100");else if(U==330||U==34665||U==34853||U==50740&&Y.readUshort(Q,Y.readUint(F,0))<300||U==61440){var w=U==50740?[Y.readUint(F,0)]:F,x=[];for(var B=0;B<w.length;B++)q._readIFD(Y,Q,w[B],x,V+1,H);if(U==330)O.subIFD=x;if(U==34665)O.exifIFD=x[0];if(U==34853)O.gpsiIFD=x[0];if(U==50740)O.dngPrvt=x[0];if(U==61440)O.fujiIFD=x[0]}if(U==37500&&H.parseMN){var A=F;if(Y.readASCII(A,0,5)=="Nikon")O.makerNote=q.decode(A.slice(10).buffer)[0];else if(Y.readASCII(A,0,5)=="OLYMP"||Y.readASCII(A,0,9)=="OM SYSTEM"){var D=[8208,8224,8240,8256,8272],C=[];q._readIFD(Y,A,A[1]==77?16:A[5]==85?12:8,C,V+1,H);var k=O.makerNote=C.pop();for(var B=0;B<D.length;B++){var _="t"+D[B];if(k[_]==null)continue;q._readIFD(Y,A,k[_][0],C,V+1,H),k[_]=C.pop()}if(k.t12288)q._readIFD(Y,k.t12288,0,C,V+1,H),k.t12288=C.pop()}else if(Y.readUshort(Q,z)<300&&Y.readUshort(Q,z+4)<=12){var C=[];q._readIFD(Y,Q,z,C,V+1,H),O.makerNote=C[0]}}}if(G.push(O),H.debug)X(" ".repeat(V),"<<<---------------");return K},q._writeIFD=function(Y,Q,K,G,V){var H=Object.keys(V),M=H.length;if(V.exifIFD)M--;if(V.gpsiIFD)M--;Y.writeUshort(K,G,M),G+=2;var O=G+M*12+4;for(var N=0;N<H.length;N++){var U=H[N];if(U=="t34665"||U=="t34853")continue;if(U=="exifIFD")U="t34665";if(U=="gpsiIFD")U="t34853";var j=parseInt(U.slice(1)),R=Q.main[j];if(R==null)R=Q.rest[j];if(R==null||R==0)throw Error("unknown type of tag: "+j);var z=V[U];if(j==34665){var F=q._writeIFD(Y,Q,K,O,V.exifIFD);z=[O],O=F[1]}if(j==34853){var F=q._writeIFD(Y,q._types.gps,K,O,V.gpsiIFD);z=[O],O=F[1]}if(R==2)z=z[0]+"\x00";var P=z.length;Y.writeUshort(K,G,j),G+=2,Y.writeUshort(K,G,R),G+=2,Y.writeUint(K,G,P),G+=4;var S=[-1,1,1,2,4,8,0,1,0,4,8,0,8][R]*P,Z=G;if(S>4)Y.writeUint(K,G,O),Z=O;if(R==1||R==7)for(var L=0;L<P;L++)K[Z+L]=z[L];else if(R==2)Y.writeASCII(K,Z,z);else if(R==3)for(var L=0;L<P;L++)Y.writeUshort(K,Z+2*L,z[L]);else if(R==4)for(var L=0;L<P;L++)Y.writeUint(K,Z+4*L,z[L]);else if(R==5||R==10){var B=R==5?Y.writeUint:Y.writeInt;for(var L=0;L<P;L++){var v=z[L],w=v[0],x=v[1];if(w==null)throw"e";B(K,Z+8*L,w),B(K,Z+8*L+4,x)}}else if(R==9)for(var L=0;L<P;L++)Y.writeInt(K,Z+4*L,z[L]);else if(R==12)for(var L=0;L<P;L++)Y.writeDouble(K,Z+8*L,z[L]);else throw R;if(S>4)S+=S&1,O+=S;G+=4}return[G,O]},q.toRGBA8=function(Y,Q){function K(Z0){return Z0<0.0031308?12.92*Z0:1.055*Math.pow(Z0,0.4166666666666667)-0.055}var{width:G,height:V}=Y,H=G*V,M=H*4,O=Y.data,N=new Uint8Array(H*4),U=Y.t262?Y.t262[0]:2,j=Y.t258?Math.min(32,Y.t258[0]):1;if(Y.t262==null&&j==1)U=0;var R=Y.t277?Y.t277[0]:Y.t258?Y.t258.length:[1,1,3,1,1,4,3][U],z=Y.t339?Y.t339[0]:null;if(U==1&&j==32&&z!=3)throw"e";var F=Math.ceil(R*j*G/8);if(U==0){Q=0.00390625;for(var P=0;P<V;P++){var S=P*F,Z=P*G;if(j==1)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+(L>>3)]>>7-(L&7)&1;N[B]=N[B+1]=N[B+2]=(1-v)*255,N[B+3]=255}if(j==4)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+(L>>1)]>>4-4*(L&1)&15;N[B]=N[B+1]=N[B+2]=(15-v)*17,N[B+3]=255}if(j==8)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+L];N[B]=N[B+1]=N[B+2]=255-v,N[B+3]=255}if(j==16)for(var L=0;L<G;L++){var B=Z+L<<2,w=S+2*L,v=O[w+1]<<8|O[w];N[B]=N[B+1]=N[B+2]=Math.min(255,255-~~(v*Q)),N[B+3]=255}}}else if(U==1){if(Q==null)Q=0.00390625;var x=(O.length&3)==0?new Float32Array(O.buffer):null;for(var P=0;P<V;P++){var S=P*F,Z=P*G;if(j==1)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+(L>>3)]>>7-(L&7)&1;N[B]=N[B+1]=N[B+2]=v*255,N[B+3]=255}if(j==2)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+(L>>2)]>>6-2*(L&3)&3;N[B]=N[B+1]=N[B+2]=v*85,N[B+3]=255}if(j==8)for(var L=0;L<G;L++){var B=Z+L<<2,v=O[S+L*R];N[B]=N[B+1]=N[B+2]=v,N[B+3]=255}if(j==16)for(var L=0;L<G;L++){var B=Z+L<<2,w=S+2*L,v=O[w+1]<<8|O[w];N[B]=N[B+1]=N[B+2]=Math.min(255,~~(v*Q)),N[B+3]=255}if(j==32)for(var L=0;L<G;L++){var B=Z+L<<2,w=(S>>>2)+L,v=x[w];N[B]=N[B+1]=N[B+2]=~~(0.5+255*v),N[B+3]=255}}}else if(U==2)if(j==8){if(R==1)for(var L=0;L<H;L++)N[4*L]=N[4*L+1]=N[4*L+2]=O[L],N[4*L+3]=255;if(R==3)for(var L=0;L<H;L++){var B=L<<2,A=L*3;N[B]=O[A],N[B+1]=O[A+1],N[B+2]=O[A+2],N[B+3]=255}if(R>=4)for(var L=0;L<H;L++){var B=L<<2,A=L*R;N[B]=O[A],N[B+1]=O[A+1],N[B+2]=O[A+2],N[B+3]=O[A+3]}}else if(j==16){if(R==4)for(var L=0;L<H;L++){var B=L<<2,A=L*8+1;N[B]=O[A],N[B+1]=O[A+2],N[B+2]=O[A+4],N[B+3]=O[A+6]}if(R==3)for(var L=0;L<H;L++){var B=L<<2,A=L*6+1;N[B]=O[A],N[B+1]=O[A+2],N[B+2]=O[A+4],N[B+3]=255}}else if(j==32){var D=new Float32Array(O.buffer),C=0;for(var L=0;L<D.length;L++)C=Math.min(C,D[L]);if(C<0)for(var L=0;L<O.length;L+=4){var k=O[L];O[L]=O[L+3],O[L+3]=k,k=O[L+1],O[L+1]=O[L+2],O[L+2]=k}var _=[];for(var L=0;L<65536;L++)_.push(K(L/65535));for(var L=0;L<D.length;L++){var y=Math.max(0,Math.min(1,D[L]));D[L]=_[~~(0.5+y*65535)]}if(R==3)for(var L=0;L<H;L++){var B=L<<2,A=L*3;N[B]=~~(0.5+D[A]*255),N[B+1]=~~(0.5+D[A+1]*255),N[B+2]=~~(0.5+D[A+2]*255),N[B+3]=255}else if(R==4)for(var L=0;L<H;L++){var B=L<<2,A=L*4;N[B]=~~(0.5+D[A]*255),N[B+1]=~~(0.5+D[A+1]*255),N[B+2]=~~(0.5+D[A+2]*255),N[B+3]=~~(0.5+D[A+3]*255)}else throw R}else throw j;else if(U==3){var f=Y.t320,I=1<<j,b=j==8&&R>1&&Y.t338&&Y.t338[0]!=0;for(var P=0;P<V;P++)for(var a=0;a<G;a++){var L=P*G+a,B=L<<2,p=0,i=P*F;if(j==1)p=O[i+(a>>>3)]>>>7-(a&7)&1;else if(j==2)p=O[i+(a>>>2)]>>>6-2*(a&3)&3;else if(j==4)p=O[i+(a>>>1)]>>>4-4*(a&1)&15;else if(j==8)p=O[i+a*R];else throw j;N[B]=f[p]>>8,N[B+1]=f[I+p]>>8,N[B+2]=f[I+I+p]>>8,N[B+3]=b?O[i+a*R+1]:255}}else if(U==5){var h=R>4?1:0;for(var L=0;L<H;L++){var B=L<<2,E=L*R;if(window.UDOC){var T=O[E],l=O[E+1],n=O[E+2],e=O[E+3],s=UDOC.C.cmykToRgb([T*0.00392156862745098,l*0.00392156862745098,n*0.00392156862745098,e*0.00392156862745098]);N[B]=~~(0.5+255*s[0]),N[B+1]=~~(0.5+255*s[1]),N[B+2]=~~(0.5+255*s[2])}else{var T=255-O[E],l=255-O[E+1],n=255-O[E+2],e=(255-O[E+3])*0.00392156862745098;N[B]=~~(T*e+0.5),N[B+1]=~~(l*e+0.5),N[B+2]=~~(n*e+0.5)}N[B+3]=255*(1-h)+O[E+4]*h}}else if(U==6&&Y.t278){var t=Y.t278[0];for(var P=0;P<V;P+=t){var L=P*G,r=t*G;for(var m=0;m<r;m++){var B=4*(L+m),E=3*L+4*(m>>>1),n=O[E+(m&1)],o=O[E+2]-128,J0=O[E+3]-128,X0=n+((J0>>2)+(J0>>3)+(J0>>5)),N0=n-((o>>2)+(o>>4)+(o>>5))-((J0>>1)+(J0>>3)+(J0>>4)+(J0>>5)),z0=n+(o+(o>>1)+(o>>2)+(o>>6));N[B]=Math.max(0,Math.min(255,X0)),N[B+1]=Math.max(0,Math.min(255,N0)),N[B+2]=Math.max(0,Math.min(255,z0)),N[B+3]=255}}}else if(U==32845)for(var P=0;P<V;P++)for(var a=0;a<G;a++){var E=(P*G+a)*6,B=(P*G+a)*4,u=O[E+1]<<8|O[E],u=Math.pow(2,(u+0.5)/256-64),G0=(O[E+3]+0.5)/410,q0=(O[E+5]+0.5)/410,V0=9*G0/(6*G0-16*q0+12),M0=4*q0/(6*G0-16*q0+12),B0=u,F0=V0*B0/M0,n=B0,S0=(1-V0-M0)*B0/M0,X0=2.69*F0-1.276*n-0.414*S0,N0=-1.022*F0+1.978*n+0.044*S0,z0=0.061*F0-0.224*n+1.163*S0;N[B]=K(Math.min(X0,1))*255,N[B+1]=K(Math.min(N0,1))*255,N[B+2]=K(Math.min(z0,1))*255,N[B+3]=255}else X("Unknown Photometric interpretation: "+U);return N},q.replaceIMG=function(Y){if(Y==null)Y=document.getElementsByTagName("img");var Q=["tif","tiff","dng","cr2","nef"];for(var K=0;K<Y.length;K++){var G=Y[K],V=G.getAttribute("src");if(V==null)continue;var H=V.split(".").pop().toLowerCase();if(Q.indexOf(H)==-1)continue;var M=new XMLHttpRequest;q._xhrs.push(M),q._imgs.push(G),M.open("GET",V),M.responseType="arraybuffer",M.onload=q._imgLoaded,M.send()}},q._xhrs=[],q._imgs=[],q._imgLoaded=function(Y){var Q=q._xhrs.indexOf(Y.target),K=q._imgs[Q];q._xhrs.splice(Q,1),q._imgs.splice(Q,1),K.setAttribute("src",q.bufferToURI(Y.target.response))},q.bufferToURI=function(Y){var Q=q.decode(Y),K=Q,G=0,V=K[0];if(Q[0].subIFD)K=K.concat(Q[0].subIFD);for(var H=0;H<K.length;H++){var M=K[H];if(M.t258==null||M.t258.length<3)continue;var O=M.t256*M.t257;if(O>G)G=O,V=M}q.decodeImage(Y,V,Q);var N=q.toRGBA8(V),U=V.width,j=V.height,R=document.createElement("canvas");R.width=U,R.height=j;var z=R.getContext("2d"),F=new ImageData(new Uint8ClampedArray(N.buffer),U,j);return z.putImageData(F,0,0),R.toDataURL()},q._binBE={nextZero:function(Y,Q){while(Y[Q]!=0)Q++;return Q},readUshort:function(Y,Q){return Y[Q]<<8|Y[Q+1]},readShort:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+1],K[1]=Y[Q+0],q._binBE.i16[0]},readInt:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+3],K[1]=Y[Q+2],K[2]=Y[Q+1],K[3]=Y[Q+0],q._binBE.i32[0]},readUint:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+3],K[1]=Y[Q+2],K[2]=Y[Q+1],K[3]=Y[Q+0],q._binBE.ui32[0]},readASCII:function(Y,Q,K){var G="";for(var V=0;V<K;V++)G+=String.fromCharCode(Y[Q+V]);return G},readFloat:function(Y,Q){var K=q._binBE.ui8;for(var G=0;G<4;G++)K[G]=Y[Q+3-G];return q._binBE.fl32[0]},readDouble:function(Y,Q){var K=q._binBE.ui8;for(var G=0;G<8;G++)K[G]=Y[Q+7-G];return q._binBE.fl64[0]},writeUshort:function(Y,Q,K){Y[Q]=K>>8&255,Y[Q+1]=K&255},writeInt:function(Y,Q,K){var G=q._binBE.ui8;q._binBE.i32[0]=K,Y[Q+3]=G[0],Y[Q+2]=G[1],Y[Q+1]=G[2],Y[Q+0]=G[3]},writeUint:function(Y,Q,K){Y[Q]=K>>24&255,Y[Q+1]=K>>16&255,Y[Q+2]=K>>8&255,Y[Q+3]=K>>0&255},writeASCII:function(Y,Q,K){for(var G=0;G<K.length;G++)Y[Q+G]=K.charCodeAt(G)},writeDouble:function(Y,Q,K){q._binBE.fl64[0]=K;for(var G=0;G<8;G++)Y[Q+G]=q._binBE.ui8[7-G]}},q._binBE.ui8=new Uint8Array(8),q._binBE.i16=new Int16Array(q._binBE.ui8.buffer),q._binBE.i32=new Int32Array(q._binBE.ui8.buffer),q._binBE.ui32=new Uint32Array(q._binBE.ui8.buffer),q._binBE.fl32=new Float32Array(q._binBE.ui8.buffer),q._binBE.fl64=new Float64Array(q._binBE.ui8.buffer),q._binLE={nextZero:q._binBE.nextZero,readUshort:function(Y,Q){return Y[Q+1]<<8|Y[Q]},readShort:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+0],K[1]=Y[Q+1],q._binBE.i16[0]},readInt:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+0],K[1]=Y[Q+1],K[2]=Y[Q+2],K[3]=Y[Q+3],q._binBE.i32[0]},readUint:function(Y,Q){var K=q._binBE.ui8;return K[0]=Y[Q+0],K[1]=Y[Q+1],K[2]=Y[Q+2],K[3]=Y[Q+3],q._binBE.ui32[0]},readASCII:q._binBE.readASCII,readFloat:function(Y,Q){var K=q._binBE.ui8;for(var G=0;G<4;G++)K[G]=Y[Q+G];return q._binBE.fl32[0]},readDouble:function(Y,Q){var K=q._binBE.ui8;for(var G=0;G<8;G++)K[G]=Y[Q+G];return q._binBE.fl64[0]},writeUshort:function(Y,Q,K){Y[Q]=K&255,Y[Q+1]=K>>8&255},writeInt:function(Y,Q,K){var G=q._binBE.ui8;q._binBE.i32[0]=K,Y[Q+0]=G[0],Y[Q+1]=G[1],Y[Q+2]=G[2],Y[Q+3]=G[3]},writeUint:function(Y,Q,K){Y[Q]=K>>>0&255,Y[Q+1]=K>>>8&255,Y[Q+2]=K>>>16&255,Y[Q+3]=K>>>24&255},writeASCII:q._binBE.writeASCII},q._copyTile=function(Y,Q,K,G,V,H,M,O){var N=Math.min(Q,V-M),U=Math.min(K,H-O);for(var j=0;j<U;j++){var R=(O+j)*V+M,z=j*Q;for(var F=0;F<N;F++)G[R+F]=Y[z+F]}},q.LosslessJpegDecode=function(){var Y,Q;function K(){return Y[Q++]}function G(){return Y[Q++]<<8|Y[Q++]}function V(Z){var L=K(),B=[0,0,0,255],v=[],w=8;for(var x=0;x<16;x++)v[x]=K();for(var x=0;x<16;x++)for(var A=0;A<v[x];A++){var D=H(B,0,x+1,1);B[D+3]=K()}var C=new Uint8Array(1<<w);Z[L]=[new Uint8Array(B),C];for(var x=0;x<1<<w;x++){var k=w,_=x,y=0,f=0;while(B[y+3]==255&&k!=0)f=_>>--k&1,y=B[y+f];C[x]=y}}function H(Z,L,B,v){if(Z[L+3]!=255)return 0;if(B==0)return L;for(var w=0;w<2;w++){if(Z[L+w]==0)Z[L+w]=Z.length,Z.push(0,0,v,255);var x=H(Z,Z[L+w],B-1,v+1);if(x!=0)return x}return 0}function M(Z){var{b:L,f:B}=Z;while(L<25&&Z.a<Z.d){var v=Z.data[Z.a++];if(v==255&&!Z.c)Z.a++;B=B<<8|v,L+=8}if(L<0)throw"e";Z.b=L,Z.f=B}function O(Z,L){if(L.b<Z)M(L);return L.f>>(L.b-=Z)&65535>>16-Z}function N(Z,L){var B=Z[0],v=0,w=255,x=0;if(L.b<16)M(L);var A=L.f>>L.b-8&255;v=Z[1][A],w=B[v+3],L.b-=B[v+2];while(w==255)x=L.f>>--L.b&1,v=B[v+x],w=B[v+3];return w}function U(Z,L){if(Z<32768>>16-L)Z+=-(1<<L)+1;return Z}function j(Z,L){var B=N(Z,L);if(B==0)return 0;if(B==16)return-32768;var v=O(B,L);return U(v,B)}function R(Z,L,B,v,w,x){var A=0;for(var D=0;D<x;D++){var C=D*L;for(var k=0;k<L;k+=w){A++;for(var _=0;_<w;_++)Z[C+k+_]=j(v[_],B)}if(B.e!=0&&A%B.e==0&&D!=0){var{a:y,data:f}=B;while(f[y]!=255||!(208<=f[y+1]&&f[y+1]<=215))y--;B.a=y+2,B.f=0,B.b=0}}}function z(Z,L){return U(O(Z,L),Z)}function F(Z,L,B,v,w){var x=Y.length-Q;for(var A=0;A<x;A+=4){var D=Y[Q+A];Y[Q+A]=Y[Q+A+3],Y[Q+A+3]=D;var D=Y[Q+A+1];Y[Q+A+1]=Y[Q+A+2],Y[Q+A+2]=D}for(var C=0;C<w;C++){var k=32768,_=32768;for(var y=0;y<L;y+=2){var f=N(v,B),I=N(v,B);if(f!=0)k+=z(f,B);if(I!=0)_+=z(I,B);Z[C*L+y]=k&65535,Z[C*L+y+1]=_&65535}}}function P(Z){if(Y=Z,Q=0,G()!=65496)throw"e";var L=[],B=0,v=0,w=0,x=[],A=[],D=[],C=0,k=0,_=0;while(!0){var y=G();if(y==65535){Q--;continue}var f=G();if(y==65475){v=K(),k=G(),_=G(),C=K();for(var I=0;I<C;I++){var b=K(),a=K(),p=K();if(p!=0)throw"e";L[b]=[I,a>>4,a&15]}}else if(y==65476){var i=Q+f-2;while(Q<i)V(A)}else if(y==65498){Q++;for(var I=0;I<C;I++){var h=K(),E=L[h];D[E[0]]=A[K()>>>4],x[E[0]]=E.slice(1)}B=K(),Q+=2;break}else if(y==65501)w=G();else Q+=f-2}var T=v>8?Uint16Array:Uint8Array,l=new T(k*_*C),n={b:0,f:0,c:B==8,a:Q,data:Y,d:Y.length,e:w};if(n.c)F(l,_*C,n,D[0],k);else{var e=[],s=0,t=0;for(var I=0;I<C;I++){var r=x[I],m=r[0],o=r[1];if(m>s)s=m;if(o>t)t=o;e.push(m*o)}if(s!=1||t!=1){if(C!=3||e[1]!=1||e[2]!=1)throw"e";if(s!=2||t!=1&&t!=2)throw"e";var J0=[],X0=0;for(var I=0;I<C;I++){for(var N0=0;N0<e[I];N0++)J0.push(D[I]);X0+=e[I]}var z0=_/s,u=k/t,G0=z0*u;R(l,z0*X0,n,J0,X0,u),S(l,B,z0,u,X0-2,X0,X0,v);var q0=new Uint16Array(G0*e[0]);if(s==2&&t==2){for(var I=0;I<G0;I++)q0[4*I]=l[6*I],q0[4*I+1]=l[6*I+1],q0[4*I+2]=l[6*I+2],q0[4*I+3]=l[6*I+3];S(q0,B,z0*4,u,0,1,1,v);for(var I=0;I<G0;I++)l[6*I]=q0[4*I],l[6*I+1]=q0[4*I+1],l[6*I+2]=q0[4*I+2],l[6*I+3]=q0[4*I+3]}if(s==2&&t==1){for(var I=0;I<G0;I++)q0[2*I]=l[4*I],q0[2*I+1]=l[4*I+1];S(q0,B,z0*2,u,0,1,1,v);for(var I=0;I<G0;I++)l[4*I]=q0[2*I],l[4*I+1]=q0[2*I+1]}var V0=l.slice(0);for(var o=0;o<k;o++)if(t==2)for(var m=0;m<_;m++){var M0=(o*_+m)*C,B0=((o>>>1)*z0+(m>>>1))*X0,F0=(o&1)*2+(m&1);l[M0]=V0[B0+F0],l[M0+1]=V0[B0+4],l[M0+2]=V0[B0+5]}else for(var m=0;m<_;m++){var M0=(o*_+m)*C,B0=(o*z0+(m>>>1))*X0,F0=m&1;l[M0]=V0[B0+F0],l[M0+1]=V0[B0+2],l[M0+2]=V0[B0+3]}}else if(R(l,_*C,n,D,C,k),w==0)S(l,B,_,k,0,C,C,v);else{var S0=Math.floor(w/_);for(var o=0;o<k;o+=S0){var Z0=l.slice(o*_*C,(o+S0)*_*C);S(Z0,B,_,S0,0,C,C,v),l.set(Z0,o*_*C)}}}return l}function S(Z,L,B,v,w,x,A,D){var C=B*A;for(var k=w;k<x;k++)Z[k]+=1<<D-1;for(var _=A;_<C;_+=A)for(var k=w;k<x;k++)Z[_+k]+=Z[_+k-A];for(var y=1;y<v;y++){var f=y*C;for(var k=w;k<x;k++)Z[f+k]+=Z[f+k-C];for(var _=A;_<C;_+=A)for(var k=w;k<x;k++){var I=f+_+k,b=I-C,a=Z[I-A],p=0;if(L==0)p=0;else if(L==1)p=a;else if(L==2)p=Z[b];else if(L==3)p=Z[b-A];else if(L==4)p=a+(Z[b]-Z[b-A]);else if(L==5)p=a+(Z[b]-Z[b-A]>>>1);else if(L==6)p=Z[b]+(a-Z[b-A]>>>1);else if(L==7)p=a+Z[b]>>>1;else throw L;Z[I]+=p}}}return P}(),function(){var Y=0,Q=1,K=2,G=3,V=4,H=5,M=6,O=7,N=8,U=9,j=10,R=11,z=12,F=13,P=14,S=15,Z=16,L=17,B=18;function v(h){var E=q._binBE.readUshort,T={b:E(h,0),i:h[2],C:h[3],u:h[4],q:E(h,5),k:E(h,7),e:E(h,9),l:E(h,11),s:h[13],d:E(h,14)};if(T.b!=18771||T.i>1||T.q<6||T.q%6||T.e<768||T.e%24||T.l!=768||T.k<T.l||T.k%T.l||T.k-T.e>=T.l||T.s>16||T.s!=T.k/T.l||T.s!=Math.ceil(T.e/T.l)||T.d!=T.q/6||T.u!=12&&T.u!=14&&T.u!=16||T.C!=16&&T.C!=0)throw"Invalid data";if(T.i==0)throw"Not implemented. We need this file!";return T.h=T.C==16,T.m=(T.h?T.l*2/3:T.l>>>1)|0,T.A=T.m+2,T.f=64,T.g=(1<<T.u)-1,T.n=4*T.u,T}function w(h,E){var T=Array(E.s),l=4*E.s,n=16+l;if(l&12)n+=16-(l&12);for(var e=0,s=16;e<E.s;s+=4){var t=q._binBE.readUint(h,s);T[e]=h.slice(n,n+t),T[e].j=0,T[e].a=0,n+=t,e++}if(n!=h.length)throw"Invalid data";return T}function x(h,E){for(var T=-E[4],l=0;T<=E[4];l++,T++)h[l]=T<=-E[3]?-4:T<=-E[2]?-3:T<=-E[1]?-2:T<-E[0]?-1:T<=E[0]?0:T<E[1]?1:T<E[2]?2:T<E[3]?3:4}function A(h,E,T){var l=[E,3*E+18,5*E+67,7*E+276,T];h.o=E,h.w=(l[4]+2*E)/(2*E+1)+1|0,h.v=Math.ceil(Math.log2(h.w)),h.t=9,x(h.c,l)}function D(h){var E={c:new Int8Array(2<<h.u)};return A(E,0,h.g),E}function C(h){var E=[[],[],[]],T=Math.max(2,h.w+32>>>6);for(var l=0;l<3;l++)for(var n=0;n<41;n++)E[l][n]=[T,1];return E}function k(h){for(var E=-1,T=0;!T;E++)if(T=h[h.j]>>>7-h.a&1,h.a++,h.a&=7,!h.a)h.j++;return E}function _(h,E){var T=0,l=8-h.a,n=h.j,e=h.a;if(E){if(E>=l)do T<<=l,E-=l,T|=h[h.j]&(1<<l)-1,h.j++,l=8;while(E>=8);if(E)T<<=E,l-=E,T|=h[h.j]>>>l&(1<<E)-1;h.a=8-l}return T}function y(h,E){var T=0;if(E<h)while(T<=14&&E<<++T<h);return T}function f(h,E,T,l,n,e,s,t){if(t==null)t=0;var r=e+1,m=r%2,o=0,J0=0,X0=0,N0,z0,u=l[n],G0=l[n-1],q0=l[n-2][r],V0=G0[r-1],M0=G0[r],B0=G0[r+1],F0=u[r-1],S0=u[r+1],Z0=Math.abs,k0,W0,$0,K0;if(m)k0=Z0(B0-M0),W0=Z0(q0-M0),$0=Z0(V0-M0);if(m){if(K0=k0>$0&&W0<k0?q0+V0:k0<$0&&W0<$0?q0+B0:B0+V0,K0=K0+2*M0>>>2,t){u[r]=K0;return}N0=E.t*E.c[h.g+M0-q0]+E.c[h.g+V0-M0]}else K0=M0>V0&&M0>B0||M0<V0&&M0<B0?S0+F0+2*M0>>>2:F0+S0>>>1,N0=E.t*E.c[h.g+M0-V0]+E.c[h.g+V0-F0];z0=Z0(N0);var h0=k(T);if(h0<h.n-E.v-1){var A0=y(s[z0][0],s[z0][1]);X0=_(T,A0)+(h0<<A0)}else X0=_(T,E.v)+1;if(X0=X0&1?-1-(X0>>>1):X0>>>1,s[z0][0]+=Z0(X0),s[z0][1]==h.f)s[z0][0]>>>=1,s[z0][1]>>>=1;if(s[z0][1]++,K0=N0<0?K0-X0:K0+X0,h.i){if(K0<0)K0+=E.w;else if(K0>h.g)K0-=E.w}u[r]=K0>=0?Math.min(K0,h.g):0}function I(h,E,T){var l=h[0].length;for(var n=E;n<=T;n++)h[n][0]=h[n-1][1],h[n][l-1]=h[n-1][l-2]}function b(h){I(h,O,z),I(h,K,V),I(h,S,L)}function a(h,E,T,l,n,e,s,t,r,m,o,J0,X0){var N0=0,z0=1,u=n<F&&n>V;while(z0<h.m){if(N0<h.m)f(h,E,T,l,n,N0,s[r],h.h&&(u&&m||!u&&(o||(N0&J0)==X0))),f(h,E,T,l,e,N0,s[r],h.h&&(!u&&m||u&&(o||(N0&J0)==X0))),N0+=2;if(N0>8)f(h,E,T,l,n,z0,t[r]),f(h,E,T,l,e,z0,t[r]),z0+=2}b(l)}function p(h,E,T,l,n,e){a(h,E,T,l,K,O,n,e,0,0,1,0,8),a(h,E,T,l,N,S,n,e,1,0,1,0,8),a(h,E,T,l,G,U,n,e,2,1,0,3,0),a(h,E,T,l,j,Z,n,e,0,0,0,3,2),a(h,E,T,l,V,R,n,e,1,0,0,3,2),a(h,E,T,l,z,L,n,e,2,1,0,3,0)}function i(h,E,T,l,n,e){var s=e.length,t=h.l;if(n+1==h.s)t=h.e-n*h.l;var r=6*h.e*l+n*h.l;for(var m=0;m<6;m++){for(var o=0;o<t;o++){var J0=e[m%s][o%s],X0;if(J0==0)X0=K+(m>>>1);else if(J0==2)X0=S+(m>>>1);else X0=O+m;var N0=h.h?(o*2/3&2147483646|o%3&1)+(o%3>>>1):o>>>1;E[r+o]=T[X0][N0+1]}r+=h.e}}q._decompressRAF=function(h,E){var T=v(h),l=w(h,T),n=D(T),e=new Int16Array(T.e*T.q);if(E==null)E=T.h?[[1,1,0,1,1,2],[1,1,2,1,1,0],[2,0,1,0,2,1],[1,1,2,1,1,0],[1,1,0,1,1,2],[0,2,1,2,0,1]]:[[0,1],[3,2]];var s=[[Y,G],[Q,V],[H,R],[M,z],[F,Z],[P,L]],t=[];for(var r=0;r<B;r++)t[r]=new Uint16Array(T.A);for(var m=0;m<T.s;m++){var o=C(n),J0=C(n);for(var r=0;r<B;r++)for(var X0=0;X0<T.A;X0++)t[r][X0]=0;for(var N0=0;N0<T.d;N0++){p(T,n,l[m],t,o,J0);for(var r=0;r<6;r++)for(var X0=0;X0<T.A;X0++)t[s[r][0]][X0]=t[s[r][1]][X0];i(T,e,t,N0,m,E);for(var r=K;r<B;r++)if([H,M,F,P].indexOf(r)==-1)for(var X0=0;X0<T.A;X0++)t[r][X0]=0;b(t)}}return e}}()})($,J)})()});var XG=O0((IZ)=>{/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */IZ.read=function($,J,X,q,W){var Y,Q,K=W*8-q-1,G=(1<<K)-1,V=G>>1,H=-7,M=X?W-1:0,O=X?-1:1,N=$[J+M];M+=O,Y=N&(1<<-H)-1,N>>=-H,H+=K;for(;H>0;Y=Y*256+$[J+M],M+=O,H-=8);Q=Y&(1<<-H)-1,Y>>=-H,H+=q;for(;H>0;Q=Q*256+$[J+M],M+=O,H-=8);if(Y===0)Y=1-V;else if(Y===G)return Q?NaN:(N?-1:1)*(1/0);else Q=Q+Math.pow(2,q),Y=Y-V;return(N?-1:1)*Q*Math.pow(2,Y-q)};IZ.write=function($,J,X,q,W,Y){var Q,K,G,V=Y*8-W-1,H=(1<<V)-1,M=H>>1,O=W===23?Math.pow(2,-24)-Math.pow(2,-77):0,N=q?0:Y-1,U=q?1:-1,j=J<0||J===0&&1/J<0?1:0;if(J=Math.abs(J),isNaN(J)||J===1/0)K=isNaN(J)?1:0,Q=H;else{if(Q=Math.floor(Math.log(J)/Math.LN2),J*(G=Math.pow(2,-Q))<1)Q--,G*=2;if(Q+M>=1)J+=O/G;else J+=O*Math.pow(2,1-M);if(J*G>=2)Q++,G/=2;if(Q+M>=H)K=0,Q=H;else if(Q+M>=1)K=(J*G-1)*Math.pow(2,W),Q=Q+M;else K=J*Math.pow(2,M-1)*Math.pow(2,W),Q=0}for(;W>=8;$[X+N]=K&255,N+=U,K/=256,W-=8);Q=Q<<W|K,V+=W;for(;V>0;$[X+N]=Q&255,N+=U,Q/=256,V-=8);$[X+N-U]|=j*128}});var MG=O0((KG)=>{Object.defineProperty(KG,"__esModule",{value:!0});KG.AnsiStringType=KG.StringType=KG.BufferType=KG.Uint8ArrayType=KG.IgnoreType=KG.Float80_LE=KG.Float80_BE=KG.Float64_LE=KG.Float64_BE=KG.Float32_LE=KG.Float32_BE=KG.Float16_LE=KG.Float16_BE=KG.INT64_BE=KG.UINT64_BE=KG.INT64_LE=KG.UINT64_LE=KG.INT32_LE=KG.INT32_BE=KG.INT24_BE=KG.INT24_LE=KG.INT16_LE=KG.INT16_BE=KG.INT8=KG.UINT32_BE=KG.UINT32_LE=KG.UINT24_BE=KG.UINT24_LE=KG.UINT16_BE=KG.UINT16_LE=KG.UINT8=void 0;var P9=XG();function x0($){return new DataView($.buffer,$.byteOffset)}KG.UINT8={len:1,get($,J){return x0($).getUint8(J)},put($,J,X){return x0($).setUint8(J,X),J+1}};KG.UINT16_LE={len:2,get($,J){return x0($).getUint16(J,!0)},put($,J,X){return x0($).setUint16(J,X,!0),J+2}};KG.UINT16_BE={len:2,get($,J){return x0($).getUint16(J)},put($,J,X){return x0($).setUint16(J,X),J+2}};KG.UINT24_LE={len:3,get($,J){let X=x0($);return X.getUint8(J)+(X.getUint16(J+1,!0)<<8)},put($,J,X){let q=x0($);return q.setUint8(J,X&255),q.setUint16(J+1,X>>8,!0),J+3}};KG.UINT24_BE={len:3,get($,J){let X=x0($);return(X.getUint16(J)<<8)+X.getUint8(J+2)},put($,J,X){let q=x0($);return q.setUint16(J,X>>8),q.setUint8(J+2,X&255),J+3}};KG.UINT32_LE={len:4,get($,J){return x0($).getUint32(J,!0)},put($,J,X){return x0($).setUint32(J,X,!0),J+4}};KG.UINT32_BE={len:4,get($,J){return x0($).getUint32(J)},put($,J,X){return x0($).setUint32(J,X),J+4}};KG.INT8={len:1,get($,J){return x0($).getInt8(J)},put($,J,X){return x0($).setInt8(J,X),J+1}};KG.INT16_BE={len:2,get($,J){return x0($).getInt16(J)},put($,J,X){return x0($).setInt16(J,X),J+2}};KG.INT16_LE={len:2,get($,J){return x0($).getInt16(J,!0)},put($,J,X){return x0($).setInt16(J,X,!0),J+2}};KG.INT24_LE={len:3,get($,J){let X=KG.UINT24_LE.get($,J);return X>8388607?X-16777216:X},put($,J,X){let q=x0($);return q.setUint8(J,X&255),q.setUint16(J+1,X>>8,!0),J+3}};KG.INT24_BE={len:3,get($,J){let X=KG.UINT24_BE.get($,J);return X>8388607?X-16777216:X},put($,J,X){let q=x0($);return q.setUint16(J,X>>8),q.setUint8(J+2,X&255),J+3}};KG.INT32_BE={len:4,get($,J){return x0($).getInt32(J)},put($,J,X){return x0($).setInt32(J,X),J+4}};KG.INT32_LE={len:4,get($,J){return x0($).getInt32(J,!0)},put($,J,X){return x0($).setInt32(J,X,!0),J+4}};KG.UINT64_LE={len:8,get($,J){return x0($).getBigUint64(J,!0)},put($,J,X){return x0($).setBigUint64(J,X,!0),J+8}};KG.INT64_LE={len:8,get($,J){return x0($).getBigInt64(J,!0)},put($,J,X){return x0($).setBigInt64(J,X,!0),J+8}};KG.UINT64_BE={len:8,get($,J){return x0($).getBigUint64(J)},put($,J,X){return x0($).setBigUint64(J,X),J+8}};KG.INT64_BE={len:8,get($,J){return x0($).getBigInt64(J)},put($,J,X){return x0($).setBigInt64(J,X),J+8}};KG.Float16_BE={len:2,get($,J){return P9.read($,J,!1,10,this.len)},put($,J,X){return P9.write($,X,J,!1,10,this.len),J+this.len}};KG.Float16_LE={len:2,get($,J){return P9.read($,J,!0,10,this.len)},put($,J,X){return P9.write($,X,J,!0,10,this.len),J+this.len}};KG.Float32_BE={len:4,get($,J){return x0($).getFloat32(J)},put($,J,X){return x0($).setFloat32(J,X),J+4}};KG.Float32_LE={len:4,get($,J){return x0($).getFloat32(J,!0)},put($,J,X){return x0($).setFloat32(J,X,!0),J+4}};KG.Float64_BE={len:8,get($,J){return x0($).getFloat64(J)},put($,J,X){return x0($).setFloat64(J,X),J+8}};KG.Float64_LE={len:8,get($,J){return x0($).getFloat64(J,!0)},put($,J,X){return x0($).setFloat64(J,X,!0),J+8}};KG.Float80_BE={len:10,get($,J){return P9.read($,J,!1,63,this.len)},put($,J,X){return P9.write($,X,J,!1,63,this.len),J+this.len}};KG.Float80_LE={len:10,get($,J){return P9.read($,J,!0,63,this.len)},put($,J,X){return P9.write($,X,J,!0,63,this.len),J+this.len}};class qG{constructor($){this.len=$}get($,J){}}KG.IgnoreType=qG;class WG{constructor($){this.len=$}get($,J){return $.subarray(J,J+this.len)}}KG.Uint8ArrayType=WG;class YG{constructor($){this.len=$}get($,J){return Buffer.from($.subarray(J,J+this.len))}}KG.BufferType=YG;class QG{constructor($,J){this.len=$,this.encoding=J}get($,J){return Buffer.from($).toString(this.encoding,J,J+this.len)}}KG.StringType=QG;class F9{constructor($){this.len=$}static decode($,J,X){let q="";for(let W=J;W<X;++W)q+=F9.codePointToString(F9.singleByteDecoder($[W]));return q}static inRange($,J,X){return J<=$&&$<=X}static codePointToString($){if($<=65535)return String.fromCharCode($);else return $-=65536,String.fromCharCode(($>>10)+55296,($&1023)+56320)}static singleByteDecoder($){if(F9.inRange($,0,127))return $;let J=F9.windows1252[$-128];if(J===null)throw Error("invaliding encoding");return J}get($,J=0){return F9.decode($,J,J+this.len)}}KG.AnsiStringType=F9;F9.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]});var Q7=O0((NG)=>{Object.defineProperty(NG,"__esModule",{value:!0});NG.EndOfStreamError=NG.defaultMessages=void 0;NG.defaultMessages="End-Of-Stream";class OG extends Error{constructor(){super(NG.defaultMessages)}}NG.EndOfStreamError=OG});var zG=O0((jG)=>{Object.defineProperty(jG,"__esModule",{value:!0});jG.Deferred=void 0;class RG{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(($,J)=>{this.reject=J,this.resolve=$})}}jG.Deferred=RG});var AG=O0((L4)=>{Object.defineProperty(L4,"__esModule",{value:!0});L4.StreamReader=L4.EndOfStreamError=void 0;var ZG=Q7(),VF=zG(),HF=Q7();Object.defineProperty(L4,"EndOfStreamError",{enumerable:!0,get:function(){return HF.EndOfStreamError}});var MF=1048576;class FG{constructor($){if(this.s=$,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!$.read||!$.once)throw Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new ZG.EndOfStreamError)),this.s.once("error",(J)=>this.reject(J)),this.s.once("close",()=>this.reject(Error("Stream closed")))}async peek($,J,X){let q=await this.read($,J,X);return this.peekQueue.push($.subarray(J,J+q)),q}async read($,J,X){if(X===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new ZG.EndOfStreamError;let q=X,W=0;while(this.peekQueue.length>0&&q>0){let Y=this.peekQueue.pop();if(!Y)throw Error("peekData should be defined");let Q=Math.min(Y.length,q);if($.set(Y.subarray(0,Q),J+W),W+=Q,q-=Q,Q<Y.length)this.peekQueue.push(Y.subarray(Q))}while(q>0&&!this.endOfStream){let Y=Math.min(q,MF),Q=await this.readFromStream($,J+W,Y);if(W+=Q,Q<Y)break;q-=Q}return W}async readFromStream($,J,X){let q=this.s.read(X);if(q)return $.set(q,J),q.length;else{let W={buffer:$,offset:J,length:X,deferred:new VF.Deferred};return this.deferred=W.deferred,this.s.once("readable",()=>{this.readDeferred(W)}),W.deferred.promise}}readDeferred($){let J=this.s.read($.length);if(J)$.buffer.set(J,$.offset),$.deferred.resolve(J.length),this.deferred=null;else this.s.once("readable",()=>{this.readDeferred($)})}reject($){if(this.endOfStream=!0,this.deferred)this.deferred.reject($),this.deferred=null}}L4.StreamReader=FG});var d$=O0((K7)=>{Object.defineProperty(K7,"__esModule",{value:!0});K7.StreamReader=K7.EndOfStreamError=void 0;var OF=Q7();Object.defineProperty(K7,"EndOfStreamError",{enumerable:!0,get:function(){return OF.EndOfStreamError}});var NF=AG();Object.defineProperty(K7,"StreamReader",{enumerable:!0,get:function(){return NF.StreamReader}})});var z4=O0((DG)=>{Object.defineProperty(DG,"__esModule",{value:!0});DG.AbstractTokenizer=void 0;var G7=d$();class SG{constructor($){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=$?$:{}}async readToken($,J=this.position){let X=Buffer.alloc($.len);if(await this.readBuffer(X,{position:J})<$.len)throw new G7.EndOfStreamError;return $.get(X,0)}async peekToken($,J=this.position){let X=Buffer.alloc($.len);if(await this.peekBuffer(X,{position:J})<$.len)throw new G7.EndOfStreamError;return $.get(X,0)}async readNumber($){if(await this.readBuffer(this.numBuffer,{length:$.len})<$.len)throw new G7.EndOfStreamError;return $.get(this.numBuffer,0)}async peekNumber($){if(await this.peekBuffer(this.numBuffer,{length:$.len})<$.len)throw new G7.EndOfStreamError;return $.get(this.numBuffer,0)}async ignore($){if(this.fileInfo.size!==void 0){let J=this.fileInfo.size-this.position;if($>J)return this.position+=J,J}return this.position+=$,$}async close(){}normalizeOptions($,J){if(J&&J.position!==void 0&&J.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(J)return{mayBeLess:J.mayBeLess===!0,offset:J.offset?J.offset:0,length:J.length?J.length:$.length-(J.offset?J.offset:0),position:J.position?J.position:this.position};return{mayBeLess:!1,offset:0,length:$.length,position:this.position}}}DG.AbstractTokenizer=SG});var kG=O0((vG)=>{Object.defineProperty(vG,"__esModule",{value:!0});vG.ReadStreamTokenizer=void 0;var BF=z4(),V7=d$(),RF=256000;class CG extends BF.AbstractTokenizer{constructor($,J){super(J);this.streamReader=new V7.StreamReader($)}async getFileInfo(){return this.fileInfo}async readBuffer($,J){let X=this.normalizeOptions($,J),q=X.position-this.position;if(q>0)return await this.ignore(q),this.readBuffer($,J);else if(q<0)throw Error("`options.position` must be equal or greater than `tokenizer.position`");if(X.length===0)return 0;let W=await this.streamReader.read($,X.offset,X.length);if(this.position+=W,(!J||!J.mayBeLess)&&W<X.length)throw new V7.EndOfStreamError;return W}async peekBuffer($,J){let X=this.normalizeOptions($,J),q=0;if(X.position){let W=X.position-this.position;if(W>0){let Y=new Uint8Array(X.length+W);return q=await this.peekBuffer(Y,{mayBeLess:X.mayBeLess}),$.set(Y.subarray(W),X.offset),q-W}else if(W<0)throw Error("Cannot peek from a negative offset in a stream")}if(X.length>0){try{q=await this.streamReader.peek($,X.offset,X.length)}catch(W){if(J&&J.mayBeLess&&W instanceof V7.EndOfStreamError)return 0;throw W}if(!X.mayBeLess&&q<X.length)throw new V7.EndOfStreamError}return q}async ignore($){let J=Math.min(RF,$),X=new Uint8Array(J),q=0;while(q<$){let W=$-q,Y=await this.readBuffer(X,{length:Math.min(J,W)});if(Y<0)return Y;q+=Y}return q}}vG.ReadStreamTokenizer=CG});var _G=O0((IG)=>{Object.defineProperty(IG,"__esModule",{value:!0});IG.BufferTokenizer=void 0;var jF=d$(),LF=z4();class TG extends LF.AbstractTokenizer{constructor($,J){super(J);this.uint8Array=$,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:$.length}async readBuffer($,J){if(J&&J.position){if(J.position<this.position)throw Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=J.position}let X=await this.peekBuffer($,J);return this.position+=X,X}async peekBuffer($,J){let X=this.normalizeOptions($,J),q=Math.min(this.uint8Array.length-X.position,X.length);if(!X.mayBeLess&&q<X.length)throw new jF.EndOfStreamError;else return $.set(this.uint8Array.subarray(X.position,X.position+q),X.offset),q}async close(){}}IG.BufferTokenizer=TG});var hG=O0((Z4)=>{Object.defineProperty(Z4,"__esModule",{value:!0});Z4.fromBuffer=Z4.fromStream=Z4.EndOfStreamError=void 0;var zF=kG(),ZF=_G(),FF=d$();Object.defineProperty(Z4,"EndOfStreamError",{enumerable:!0,get:function(){return FF.EndOfStreamError}});function PF($,J){return J=J?J:{},new zF.ReadStreamTokenizer($,J)}Z4.fromStream=PF;function AF($,J){return new ZF.BufferTokenizer($,J)}Z4.fromBuffer=AF});var gG=O0((DF)=>{DF.stringToBytes=($)=>[...$].map((J)=>J.charCodeAt(0));DF.tarHeaderChecksumMatches=($,J=0)=>{let X=parseInt($.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(X))return!1;let q=256;for(let W=J;W<J+148;W++)q+=$[W];for(let W=J+156;W<J+512;W++)q+=$[W];return X===q};DF.uint32SyncSafeToken={get:($,J)=>{return $[J+3]&127|$[J+2]<<7|$[J+1]<<14|$[J]<<21},len:4}});var bG=O0((cE,fG)=>{fG.exports={extensions:["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","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","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","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["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.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/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","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/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","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"]}});var lG=O0((pG,P4)=>{var s6=MG(),H7=hG(),{stringToBytes:wF,tarHeaderChecksumMatches:kF,uint32SyncSafeToken:TF}=gG(),mG=bG(),dE=4100;async function IF($){let J=await H7.fromStream($);try{return await M7(J)}finally{await J.close()}}async function uG($){if(!($ instanceof Uint8Array||$ instanceof ArrayBuffer||Buffer.isBuffer($)))throw TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof $}\``);let J=$ instanceof Buffer?$:Buffer.from($);if(!(J&&J.length>1))return;let X=H7.fromBuffer(J);return M7(X)}function x6($,J,X){X={offset:0,...X};for(let[q,W]of J.entries())if(X.mask){if(W!==(X.mask[q]&$[q+X.offset]))return!1}else if(W!==$[q+X.offset])return!1;return!0}async function M7($){try{return yF($)}catch(J){if(!(J instanceof H7.EndOfStreamError))throw J}}async function yF($){let J=Buffer.alloc(4100),X=12,q=(Y,Q)=>x6(J,Y,Q),W=(Y,Q)=>q(wF(Y),Q);if(!$.fileInfo.size)$.fileInfo.size=Number.MAX_SAFE_INTEGER;if(await $.peekBuffer(J,{length:X,mayBeLess:!0}),q([66,77]))return{ext:"bmp",mime:"image/bmp"};if(q([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(q([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(q([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(q([37,33])){if(await $.peekBuffer(J,{length:24,mayBeLess:!0}),W("PS-Adobe-",{offset:2})&&W(" EPSF-",{offset:14}))return{ext:"eps",mime:"application/eps"};return{ext:"ps",mime:"application/postscript"}}if(q([31,160])||q([31,157]))return{ext:"Z",mime:"application/x-compress"};if(q([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(q([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(q([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(q([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(W("ID3")){await $.ignore(6);let Y=await $.readToken(TF);if($.position+Y>$.fileInfo.size)return{ext:"mp3",mime:"audio/mpeg"};return await $.ignore(Y),M7($)}if(W("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((J[0]===67||J[0]===70)&&q([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(q([71,73,70]))return{ext:"gif",mime:"image/gif"};if(W("FLIF"))return{ext:"flif",mime:"image/flif"};if(W("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(W("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(W("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(W("FORM"))return{ext:"aif",mime:"audio/aiff"};if(W("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(q([80,75,3,4])){try{while($.position+30<$.fileInfo.size){await $.readBuffer(J,{length:30});let Y={compressedSize:J.readUInt32LE(18),uncompressedSize:J.readUInt32LE(22),filenameLength:J.readUInt16LE(26),extraFieldLength:J.readUInt16LE(28)};if(Y.filename=await $.readToken(new s6.StringType(Y.filenameLength,"utf-8")),await $.ignore(Y.extraFieldLength),Y.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(Y.filename.endsWith(".rels")||Y.filename.endsWith(".xml"))switch(Y.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(Y.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(Y.filename.startsWith("3D/")&&Y.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(Y.filename==="mimetype"&&Y.compressedSize===Y.uncompressedSize)switch(await $.readToken(new s6.StringType(Y.compressedSize,"utf-8"))){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}if(Y.compressedSize===0){let Q=-1;while(Q<0&&$.position<$.fileInfo.size)await $.peekBuffer(J,{mayBeLess:!0}),Q=J.indexOf("504B0304",0,"hex"),await $.ignore(Q>=0?Q:J.length)}else await $.ignore(Y.compressedSize)}}catch(Y){if(!(Y instanceof H7.EndOfStreamError))throw Y}return{ext:"zip",mime:"application/zip"}}if(W("OggS")){await $.ignore(28);let Y=Buffer.alloc(8);if(await $.readBuffer(Y),x6(Y,[79,112,117,115,72,101,97,100]))return{ext:"opus",mime:"audio/opus"};if(x6(Y,[128,116,104,101,111,114,97]))return{ext:"ogv",mime:"video/ogg"};if(x6(Y,[1,118,105,100,101,111,0]))return{ext:"ogm",mime:"video/ogg"};if(x6(Y,[127,70,76,65,67]))return{ext:"oga",mime:"audio/ogg"};if(x6(Y,[83,112,101,101,120,32,32]))return{ext:"spx",mime:"audio/ogg"};if(x6(Y,[1,118,111,114,98,105,115]))return{ext:"ogg",mime:"audio/ogg"};return{ext:"ogx",mime:"application/ogg"}}if(q([80,75])&&(J[2]===3||J[2]===5||J[2]===7)&&(J[3]===4||J[3]===6||J[3]===8))return{ext:"zip",mime:"application/zip"};if(W("ftyp",{offset:4})&&(J[8]&96)!==0){let Y=J.toString("binary",8,12).replace("\x00"," ").trim();switch(Y){case"avif":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:if(Y.startsWith("3g")){if(Y.startsWith("3g2"))return{ext:"3g2",mime:"video/3gpp2"};return{ext:"3gp",mime:"video/3gpp"}}return{ext:"mp4",mime:"video/mp4"}}}if(W("MThd"))return{ext:"mid",mime:"audio/midi"};if(W("wOFF")&&(q([0,1,0,0],{offset:4})||W("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(W("wOF2")&&(q([0,1,0,0],{offset:4})||W("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(q([212,195,178,161])||q([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(W("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(W("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(W("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(q([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(W("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(W("%PDF")){await $.ignore(1350);let Y=10485760,Q=Buffer.alloc(Math.min(Y,$.fileInfo.size));if(await $.readBuffer(Q,{mayBeLess:!0}),Q.includes(Buffer.from("AIPrivateData")))return{ext:"ai",mime:"application/postscript"};return{ext:"pdf",mime:"application/pdf"}}if(q([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(q([73,73,42,0])){if(W("CR",{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(q([28,0,254,0],{offset:8})||q([31,0,11,0],{offset:8}))return{ext:"nef",mime:"image/x-nikon-nef"};if(q([8,0,0,0],{offset:4})&&(q([45,0,254,0],{offset:8})||q([39,0,254,0],{offset:8})))return{ext:"dng",mime:"image/x-adobe-dng"};if(J=Buffer.alloc(24),await $.peekBuffer(J),(q([16,251,134,1],{offset:4})||q([8,0,0,0],{offset:4}))&&q([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9}))return{ext:"arw",mime:"image/x-sony-arw"};return{ext:"tif",mime:"image/tiff"}}if(q([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(W("MAC "))return{ext:"ape",mime:"audio/ape"};if(q([26,69,223,163])){async function Y(){let H=await $.peekNumber(s6.UINT8),M=128,O=0;while((H&M)===0&&M!==0)++O,M>>=1;let N=Buffer.alloc(O+1);return await $.readBuffer(N),N}async function Q(){let H=await Y(),M=await Y();M[0]^=128>>M.length-1;let O=Math.min(6,M.length);return{id:H.readUIntBE(0,H.length),len:M.readUIntBE(M.length-O,O)}}async function K(H,M){while(M>0){let O=await Q();if(O.id===17026)return $.readToken(new s6.StringType(O.len,"utf-8"));await $.ignore(O.len),--M}}let G=await Q();switch(await K(1,G.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(q([82,73,70,70])){if(q([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(q([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(q([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(W("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(q([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(W("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(W("MSCF")||W("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(q([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(q([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(q([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(q([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(W("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(W("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(q([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(W("IMPM"))return{ext:"it",mime:"audio/x-it"};if(W("-lh0-",{offset:2})||W("-lh1-",{offset:2})||W("-lh2-",{offset:2})||W("-lh3-",{offset:2})||W("-lh4-",{offset:2})||W("-lh5-",{offset:2})||W("-lh6-",{offset:2})||W("-lh7-",{offset:2})||W("-lzs-",{offset:2})||W("-lz4-",{offset:2})||W("-lz5-",{offset:2})||W("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(q([0,0,1,186])){if(q([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(q([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(W("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(q([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(W("<?xml "))return{ext:"xml",mime:"application/xml"};if(q([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(q([82,97,114,33,26,7])&&(J[6]===0||J[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(W("solid "))return{ext:"stl",mime:"model/stl"};if(W("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(W("!<arch>")){if(await $.ignore(8),await $.readToken(new s6.StringType(13,"ascii"))==="debian-binary")return{ext:"deb",mime:"application/x-deb"};return{ext:"ar",mime:"application/x-unix-archive"}}if(q([137,80,78,71,13,10,26,10])){await $.ignore(8);async function Y(){return{length:await $.readToken(s6.INT32_BE),type:await $.readToken(new s6.StringType(4,"binary"))}}do{let Q=await Y();if(Q.length<0)return;switch(Q.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await $.ignore(Q.length+4)}}while($.position+8<$.fileInfo.size);return{ext:"png",mime:"image/png"}}if(q([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(q([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(q([102,114,101,101],{offset:4})||q([109,100,97,116],{offset:4})||q([109,111,111,118],{offset:4})||q([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(q([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(W("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(q([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(q([48,38,178,117,142,102,207,17,166,217])){async function Y(){let Q=Buffer.alloc(16);return await $.readBuffer(Q),{id:Q,size:Number(await $.readToken(s6.UINT64_LE))}}await $.ignore(30);while($.position+24<$.fileInfo.size){let Q=await Y(),K=Q.size-24;if(x6(Q.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){let G=Buffer.alloc(16);if(K-=await $.readBuffer(G),x6(G,[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(x6(G,[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 $.ignore(K)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(q([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((q([126,16,4])||q([126,24,4]))&&q([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(q([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(q([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await $.ignore(20),await $.readToken(new s6.StringType(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(q([255,10])||q([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(q([0,0,1,186])||q([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(q([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(q([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(q([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(q([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await $.peekBuffer(J,{length:Math.min(256,$.fileInfo.size),mayBeLess:!0}),W("BEGIN:")){if(W("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(W("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(W("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(W("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(W("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(q([4,0,0,0])&&J.length>=16){let Y=J.readUInt32LE(12);if(Y>12&&J.length>=Y+16)try{let Q=J.slice(16,Y+16).toString();if(JSON.parse(Q).files)return{ext:"asar",mime:"application/x-asar"}}catch(Q){}}if(q([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(W("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(q([71],{offset:4})&&(q([71],{offset:192})||q([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(q([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(q([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(q([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(q([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(q([76,80],{offset:34})&&(q([0,0,1],{offset:8})||q([1,0,2],{offset:8})||q([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(q([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await $.peekBuffer(J,{length:Math.min(512,$.fileInfo.size),mayBeLess:!0}),kF(J))return{ext:"tar",mime:"application/x-tar"};if(q([255,254,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]))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(W("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(J.length>=2&&q([255,224],{offset:0,mask:[255,224]})){if(q([16],{offset:1,mask:[22]})){if(q([8],{offset:1,mask:[8]}))return{ext:"aac",mime:"audio/aac"};return{ext:"aac",mime:"audio/aac"}}if(q([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(q([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(q([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}var _F=(readableStream)=>new Promise((resolve,reject)=>{let stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",async()=>{let $=new stream.PassThrough,J;if(stream.pipeline)J=stream.pipeline(readableStream,$,()=>{});else J=readableStream.pipe($);let X=readableStream.read(4100)||readableStream.read()||Buffer.alloc(0);try{let q=await uG(X);$.fileType=q}catch(q){reject(q)}resolve(J)})}),F4={fromStream:IF,fromTokenizer:M7,fromBuffer:uG,stream:_F};Object.defineProperty(F4,"extensions",{get(){return new Set(mG.extensions)}});Object.defineProperty(F4,"mimeTypes",{get(){return new Set(mG.mimeTypes)}});P4.exports=F4});var dG=O0((O7,cG)=>{(function($,J){typeof O7==="object"&&typeof cG<"u"?J(O7):typeof define==="function"&&define.amd?define(["exports"],J):J($.awaitToJs={})})(O7,function($){function J(X,q){return X.then(function(W){return[null,W]}).catch(function(W){if(q)Object.assign(W,q);return[W,void 0]})}$.to=J,$.default=J,Object.defineProperty($,"__esModule",{value:!0})})});var aG=O0((iE,sG)=>{function N7(){this._types=Object.create(null),this._extensions=Object.create(null);for(let $=0;$<arguments.length;$++)this.define(arguments[$]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}N7.prototype.define=function($,J){for(let X in $){let q=$[X].map(function(W){return W.toLowerCase()});X=X.toLowerCase();for(let W=0;W<q.length;W++){let Y=q[W];if(Y[0]==="*")continue;if(!J&&Y in this._types)throw Error('Attempt to change mapping for "'+Y+'" extension from "'+this._types[Y]+'" to "'+X+'". Pass `force=true` to allow this, otherwise remove "'+Y+'" from the list of extensions for "'+X+'".');this._types[Y]=X}if(J||!this._extensions[X]){let W=q[0];this._extensions[X]=W[0]!=="*"?W:W.substr(1)}}};N7.prototype.getType=function($){$=String($);let J=$.replace(/^.*[/\\]/,"").toLowerCase(),X=J.replace(/^.*\./,"").toLowerCase(),q=J.length<$.length;return(X.length<J.length-1||!q)&&this._types[X]||null};N7.prototype.getExtension=function($){return $=/^\s*([^;\s]*)/.test($)&&RegExp.$1,$&&this._extensions[$.toLowerCase()]||null};sG.exports=N7});var eG=O0((sE,tG)=>{tG.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}});var JV=O0((aE,$V)=>{var xF=aG();$V.exports=new xF(eG())});var UV=O0((qC,NV)=>{NV.exports={parseSections:function($,J){var X,q;$.setBigEndian(!0);while($.remainingLength()>0&&q!==218){if($.nextUInt8()!==255)throw Error("Invalid JPEG section offset");if(q=$.nextUInt8(),q>=208&&q<=217||q===218)X=0;else X=$.nextUInt16()-2;J(q,$.branch(0,X)),$.skip(X)}},getSizeFromSOFSection:function($){return $.skip(1),{height:$.nextUInt16(),width:$.nextUInt16()}},getSectionName:function($){var J,X;switch($){case 216:J="SOI";break;case 196:J="DHT";break;case 219:J="DQT";break;case 221:J="DRI";break;case 218:J="SOS";break;case 254:J="COM";break;case 217:J="EOI";break;default:if($>=224&&$<=239)J="APP",X=$-224;else if($>=192&&$<=207&&$!==196&&$!==200&&$!==204)J="SOF",X=$-192;else if($>=208&&$<=215)J="RST",X=$-208;break}var q={name:J};if(typeof X==="number")q.index=X;return q}}});var S4=O0((WC,BV)=>{function gF($,J){switch($){case 1:return J.nextUInt8();case 3:return J.nextUInt16();case 4:return J.nextUInt32();case 5:return[J.nextUInt32(),J.nextUInt32()];case 6:return J.nextInt8();case 8:return J.nextUInt16();case 9:return J.nextUInt32();case 10:return[J.nextInt32(),J.nextInt32()];case 11:return J.nextFloat();case 12:return J.nextDouble();default:throw Error("Invalid format while decoding: "+$)}}function fF($){switch($){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}}function bF($,J){var X=J.nextUInt16(),q=J.nextUInt16(),W=fF(q),Y=J.nextUInt32(),Q=W*Y,K,G,V;if(Q>4)J=$.openWithOffset(J.nextUInt32());if(q===2){K=J.nextString(Y);var H=K.indexOf("\x00");if(H!==-1)K=K.substr(0,H)}else if(q===7)K=J.nextBuffer(Y);else if(q!==0){K=[];for(V=0;V<Y;++V)K.push(gF(q,J))}if(Q<4)J.skip(4-Q);return[X,K,q]}function n$($,J,X){var q=J.nextUInt16(),W,Y;for(Y=0;Y<q;++Y)W=bF($,J),X(W[0],W[1],W[2])}function mF($){var J=$.nextString(6);if(J!=="Exif\x00\x00")throw Error("Invalid EXIF header");var X=$.mark(),q=$.nextUInt16();if(q===18761)$.setBigEndian(!1);else if(q===19789)$.setBigEndian(!0);else throw Error("Invalid TIFF header");if($.nextUInt16()!==42)throw Error("Invalid TIFF data");return X}BV.exports={IFD0:1,IFD1:2,GPSIFD:3,SubIFD:4,InteropIFD:5,parseTags:function($,J){var X;try{X=mF($)}catch(U){return!1}var q,W,Y,Q=X.openWithOffset($.nextUInt32()),K=this.IFD0;n$(X,Q,function(U,j,R){switch(U){case 34853:W=j[0];break;case 34665:q=j[0];break;default:J(K,U,j,R);break}});var G=Q.nextUInt32();if(G!==0){var V=X.openWithOffset(G);n$(X,V,J.bind(null,this.IFD1))}if(W){var H=X.openWithOffset(W);n$(X,H,J.bind(null,this.GPSIFD))}if(q){var M=X.openWithOffset(q),O=this.InteropIFD;n$(X,M,function(U,j,R){if(U===40965)Y=j[0];else J(O,U,j,R)})}if(Y){var N=X.openWithOffset(Y);n$(X,N,J.bind(null,this.InteropIFD))}return!0}}});var ZV=O0((YC,zV)=>{function D4($){return parseInt($,10)}var uF=3600,pF=60;function RV($,J){$=$.map(D4),J=J.map(D4);var X=$[0],q=$[1]-1,W=$[2],Y=J[0],Q=J[1],K=J[2],G=Date.UTC(X,q,W,Y,Q,K,0),V=G/1000;return V}function jV($){var J=$.substr(0,10).split("-"),X=$.substr(11,8).split(":"),q=$.substr(19,6),W=q.split(":").map(D4),Y=W[0]*uF+W[1]*pF,Q=RV(J,X);if(Q-=Y,typeof Q==="number"&&!isNaN(Q))return Q}function LV($){var J=$.split(" "),X=J[0].split(":"),q=J[1].split(":"),W=RV(X,q);if(typeof W==="number"&&!isNaN(W))return W}function lF($){var J=$.length===19&&$.charAt(4)===":",X=$.length===25&&$.charAt(10)==="T",q;if(X)return jV($);else if(J)return LV($)}zV.exports={parseDateWithSpecFormat:LV,parseDateWithTimezoneFormat:jV,parseExifDate:lF}});var PV=O0((QC,FV)=>{var m5=S4(),cF=ZV(),dF=[{section:m5.GPSIFD,type:2,name:"GPSLatitude",refType:1,refName:"GPSLatitudeRef",posVal:"N"},{section:m5.GPSIFD,type:4,name:"GPSLongitude",refType:3,refName:"GPSLongitudeRef",posVal:"E"}],nF=[{section:m5.SubIFD,type:306,name:"ModifyDate"},{section:m5.SubIFD,type:36867,name:"DateTimeOriginal"},{section:m5.SubIFD,type:36868,name:"CreateDate"},{section:m5.SubIFD,type:306,name:"ModifyDate"}];FV.exports={castDegreeValues:function($,J){dF.forEach(function(X){var q=$(X);if(q){var W=$({section:X.section,type:X.refType,name:X.refName}),Y=W===X.posVal?1:-1,Q=(q[0]+q[1]/60+q[2]/3600)*Y;J(X,Q)}})},castDateValues:function($,J){nF.forEach(function(X){var q=$(X);if(q){var W=cF.parseExifDate(q);if(typeof W<"u")J(X,W)}})},simplifyValue:function($,J){if(Array.isArray($)){if($=$.map(function(X){if(J===10||J===5)return X[0]/X[1];return X}),$.length===1)$=$[0]}return $}}});var SV=O0((KC,AV)=>{AV.exports={exif:{1:"InteropIndex",2:"InteropVersion",11:"ProcessingSoftware",254:"SubfileType",255:"OldSubfileType",256:"ImageWidth",257:"ImageHeight",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:"Thresholding",264:"CellWidth",265:"CellLength",266:"FillOrder",269:"DocumentName",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:"Orientation",277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:"XResolution",283:"YResolution",284:"PlanarConfiguration",285:"PageName",286:"XPosition",287:"YPosition",288:"FreeOffsets",289:"FreeByteCounts",290:"GrayResponseUnit",291:"GrayResponseCurve",292:"T4Options",293:"T6Options",296:"ResolutionUnit",297:"PageNumber",300:"ColorResponseUnit",301:"TransferFunction",305:"Software",306:"ModifyDate",315:"Artist",316:"HostComputer",317:"Predictor",318:"WhitePoint",319:"PrimaryChromaticities",320:"ColorMap",321:"HalftoneHints",322:"TileWidth",323:"TileLength",324:"TileOffsets",325:"TileByteCounts",326:"BadFaxLines",327:"CleanFaxData",328:"ConsecutiveBadFaxLines",330:"SubIFD",332:"InkSet",333:"InkNames",334:"NumberofInks",336:"DotRange",337:"TargetPrinter",338:"ExtraSamples",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",342:"TransferRange",343:"ClipPath",344:"XClipPathUnits",345:"YClipPathUnits",346:"Indexed",347:"JPEGTables",351:"OPIProxy",400:"GlobalParametersIFD",401:"ProfileType",402:"FaxProfile",403:"CodingMethods",404:"VersionYear",405:"ModeNumber",433:"Decode",434:"DefaultImageColor",435:"T82Options",437:"JPEGTables",512:"JPEGProc",513:"ThumbnailOffset",514:"ThumbnailLength",515:"JPEGRestartInterval",517:"JPEGLosslessPredictors",518:"JPEGPointTransforms",519:"JPEGQTables",520:"JPEGDCTables",521:"JPEGACTables",529:"YCbCrCoefficients",530:"YCbCrSubSampling",531:"YCbCrPositioning",532:"ReferenceBlackWhite",559:"StripRowCounts",700:"ApplicationNotes",999:"USPTOMiscellaneous",4096:"RelatedImageFileFormat",4097:"RelatedImageWidth",4098:"RelatedImageHeight",18246:"Rating",18247:"XP_DIP_XML",18248:"StitchInfo",18249:"RatingPercent",32781:"ImageID",32931:"WangTag1",32932:"WangAnnotation",32933:"WangTag3",32934:"WangTag4",32995:"Matteing",32996:"DataType",32997:"ImageDepth",32998:"TileDepth",33405:"Model2",33421:"CFARepeatPatternDim",33422:"CFAPattern2",33423:"BatteryLevel",33424:"KodakIFD",33432:"Copyright",33434:"ExposureTime",33437:"FNumber",33445:"MDFileTag",33446:"MDScalePixel",33447:"MDColorTable",33448:"MDLabName",33449:"MDSampleInfo",33450:"MDPrepDate",33451:"MDPrepTime",33452:"MDFileUnits",33550:"PixelScale",33589:"AdventScale",33590:"AdventRevision",33628:"UIC1Tag",33629:"UIC2Tag",33630:"UIC3Tag",33631:"UIC4Tag",33723:"IPTC-NAA",33918:"IntergraphPacketData",33919:"IntergraphFlagRegisters",33920:"IntergraphMatrix",33921:"INGRReserved",33922:"ModelTiePoint",34016:"Site",34017:"ColorSequence",34018:"IT8Header",34019:"RasterPadding",34020:"BitsPerRunLength",34021:"BitsPerExtendedRunLength",34022:"ColorTable",34023:"ImageColorIndicator",34024:"BackgroundColorIndicator",34025:"ImageColorValue",34026:"BackgroundColorValue",34027:"PixelIntensityRange",34028:"TransparencyIndicator",34029:"ColorCharacterization",34030:"HCUsage",34031:"TrapIndicator",34032:"CMYKEquivalent",34118:"SEMInfo",34152:"AFCP_IPTC",34232:"PixelMagicJBIGOptions",34264:"ModelTransform",34306:"WB_GRGBLevels",34310:"LeafData",34377:"PhotoshopSettings",34665:"ExifOffset",34675:"ICC_Profile",34687:"TIFF_FXExtensions",34688:"MultiProfiles",34689:"SharedData",34690:"T88Options",34732:"ImageLayer",34735:"GeoTiffDirectory",34736:"GeoTiffDoubleParams",34737:"GeoTiffAsciiParams",34850:"ExposureProgram",34852:"SpectralSensitivity",34853:"GPSInfo",34855:"ISO",34856:"Opto-ElectricConvFactor",34857:"Interlace",34858:"TimeZoneOffset",34859:"SelfTimerMode",34864:"SensitivityType",34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",34908:"FaxRecvParams",34909:"FaxSubAddress",34910:"FaxRecvTime",34954:"LeafSubIFD",36864:"ExifVersion",36867:"DateTimeOriginal",36868:"CreateDate",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureCompensation",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",37387:"FlashEnergy",37388:"SpatialFrequencyResponse",37389:"Noise",37390:"FocalPlaneXResolution",37391:"FocalPlaneYResolution",37392:"FocalPlaneResolutionUnit",37393:"ImageNumber",37394:"SecurityClassification",37395:"ImageHistory",37396:"SubjectArea",37397:"ExposureIndex",37398:"TIFF-EPStandardID",37399:"SensingMethod",37434:"CIP3DataFile",37435:"CIP3Sheet",37436:"CIP3Side",37439:"StoNits",37500:"MakerNote",37510:"UserComment",37520:"SubSecTime",37521:"SubSecTimeOriginal",37522:"SubSecTimeDigitized",37679:"MSDocumentText",37680:"MSPropertySetStorage",37681:"MSDocumentTextPosition",37724:"ImageSourceData",40091:"XPTitle",40092:"XPComment",40093:"XPAuthor",40094:"XPKeywords",40095:"XPSubject",40960:"FlashpixVersion",40961:"ColorSpace",40962:"ExifImageWidth",40963:"ExifImageHeight",40964:"RelatedSoundFile",40965:"InteropOffset",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41485:"Noise",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41489:"ImageNumber",41490:"SecurityClassification",41491:"ImageHistory",41492:"SubjectLocation",41493:"ExposureIndex",41494:"TIFF-EPStandardID",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRatio",41989:"FocalLengthIn35mmFormat",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",42016:"ImageUniqueID",42032:"OwnerName",42033:"SerialNumber",42034:"LensInfo",42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42112:"GDALMetadata",42113:"GDALNoData",42240:"Gamma",44992:"ExpandSoftware",44993:"ExpandLens",44994:"ExpandFilm",44995:"ExpandFilterLens",44996:"ExpandScanner",44997:"ExpandFlashLamp",48129:"PixelFormat",48130:"Transformation",48131:"Uncompressed",48132:"ImageType",48256:"ImageWidth",48257:"ImageHeight",48258:"WidthResolution",48259:"HeightResolution",48320:"ImageOffset",48321:"ImageByteCount",48322:"AlphaOffset",48323:"AlphaByteCount",48324:"ImageDataDiscard",48325:"AlphaDataDiscard",50215:"OceScanjobDesc",50216:"OceApplicationSelector",50217:"OceIDNumber",50218:"OceImageLogic",50255:"Annotations",50341:"PrintIM",50560:"USPTOOriginalContentType",50706:"DNGVersion",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50710:"CFAPlaneColor",50711:"CFALayout",50712:"LinearizationTable",50713:"BlackLevelRepeatDim",50714:"BlackLevel",50715:"BlackLevelDeltaH",50716:"BlackLevelDeltaV",50717:"WhiteLevel",50718:"DefaultScale",50719:"DefaultCropOrigin",50720:"DefaultCropSize",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50733:"BayerGreenSplit",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"DNGLensInfo",50737:"ChromaBlurRadius",50738:"AntiAliasStrength",50739:"ShadowScale",50740:"DNGPrivateData",50741:"MakerNoteSafety",50752:"RawImageSegmentation",50778:"CalibrationIlluminant1",50779:"CalibrationIlluminant2",50780:"BestQualityScale",50781:"RawDataUniqueID",50784:"AliasLayerMetadata",50827:"OriginalRawFileName",50828:"OriginalRawFileData",50829:"ActiveArea",50830:"MaskedAreas",50831:"AsShotICCProfile",50832:"AsShotPreProfileMatrix",50833:"CurrentICCProfile",50834:"CurrentPreProfileMatrix",50879:"ColorimetricReference",50898:"PanasonicTitle",50899:"PanasonicTitle2",50931:"CameraCalibrationSig",50932:"ProfileCalibrationSig",50933:"ProfileIFD",50934:"AsShotProfileName",50935:"NoiseReductionApplied",50936:"ProfileName",50937:"ProfileHueSatMapDims",50938:"ProfileHueSatMapData1",50939:"ProfileHueSatMapData2",50940:"ProfileToneCurve",50941:"ProfileEmbedPolicy",50942:"ProfileCopyright",50964:"ForwardMatrix1",50965:"ForwardMatrix2",50966:"PreviewApplicationName",50967:"PreviewApplicationVersion",50968:"PreviewSettingsName",50969:"PreviewSettingsDigest",50970:"PreviewColorSpace",50971:"PreviewDateTime",50972:"RawImageDigest",50973:"OriginalRawFileDigest",50974:"SubTileBlockSize",50975:"RowInterleaveFactor",50981:"ProfileLookTableDims",50982:"ProfileLookTableData",51008:"OpcodeList1",51009:"OpcodeList2",51022:"OpcodeList3",51041:"NoiseProfile",51043:"TimeCodes",51044:"FrameRate",51058:"TStop",51081:"ReelName",51089:"OriginalDefaultFinalSize",51090:"OriginalBestQualitySize",51091:"OriginalDefaultCropSize",51105:"CameraLabel",51107:"ProfileHueSatMapEncoding",51108:"ProfileLookTableEncoding",51109:"BaselineExposureOffset",51110:"DefaultBlackRender",51111:"NewRawImageDigest",51112:"RawToPreviewGain",51125:"DefaultUserCrop",59932:"Padding",59933:"OffsetSchema",65000:"OwnerName",65001:"SerialNumber",65002:"Lens",65024:"KDC_IFD",65100:"RawFile",65101:"Converter",65102:"WhiteBalance",65105:"Exposure",65106:"Shadows",65107:"Brightness",65108:"Contrast",65109:"Saturation",65110:"Sharpness",65111:"Smoothness",65112:"MoireFilter"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential",31:"GPSHPositioningError"}}});var wV=O0((GC,vV)=>{var u5=UV(),DV=S4(),E4=PV();function EV($,J,X,q,W,Y,Q){this.startMarker=$,this.tags=J,this.imageSize=X,this.thumbnailOffset=q,this.thumbnailLength=W,this.thumbnailType=Y,this.app1Offset=Q}EV.prototype={hasThumbnail:function($){if(!this.thumbnailOffset||!this.thumbnailLength)return!1;if(typeof $!=="string")return!0;if($.toLowerCase().trim()==="image/jpeg")return this.thumbnailType===6;if($.toLowerCase().trim()==="image/tiff")return this.thumbnailType===1;return!1},getThumbnailOffset:function(){return this.app1Offset+6+this.thumbnailOffset},getThumbnailLength:function(){return this.thumbnailLength},getThumbnailBuffer:function(){return this._getThumbnailStream().nextBuffer(this.thumbnailLength)},_getThumbnailStream:function(){return this.startMarker.openWithOffset(this.getThumbnailOffset())},getImageSize:function(){return this.imageSize},getThumbnailSize:function(){var $=this._getThumbnailStream(),J;return u5.parseSections($,function(X,q){if(u5.getSectionName(X).name==="SOF")J=u5.getSizeFromSOFSection(q)}),J}};function CV($){this.stream=$,this.flags={readBinaryTags:!1,resolveTagNames:!0,simplifyValues:!0,imageSize:!0,hidePointers:!0,returnTags:!0}}CV.prototype={enableBinaryFields:function($){return this.flags.readBinaryTags=!!$,this},enablePointers:function($){return this.flags.hidePointers=!$,this},enableTagNames:function($){return this.flags.resolveTagNames=!!$,this},enableImageSize:function($){return this.flags.imageSize=!!$,this},enableReturnTags:function($){return this.flags.returnTags=!!$,this},enableSimpleValues:function($){return this.flags.simplifyValues=!!$,this},parse:function(){var $=this.stream.mark(),J=$.openWithOffset(0),X=this.flags,q,W,Y,Q,K,G,V,H,M;if(X.resolveTagNames)V=SV();if(X.resolveTagNames)q={},H=function(O){return q[O.name]},M=function(O,N){q[O.name]=N};else q=[],H=function(O){var N;for(N=0;N<q.length;++N)if(q[N].type===O.type&&q[N].section===O.section)return q.value},M=function(O,N){var U;for(U=0;U<q.length;++U)if(q[U].type===O.type&&q[U].section===O.section){q.value=N;return}};if(u5.parseSections(J,function(O,N){var U,j=N.offsetFrom($);if(O===225){if(U=DV.parseTags(N,function(R,z,F,P){if(!X.readBinaryTags&&P===7)return;if(z===513){if(Y=F[0],X.hidePointers)return}else if(z===514){if(Q=F[0],X.hidePointers)return}else if(z===259){if(K=F[0],X.hidePointers)return}if(!X.returnTags)return;if(X.simplifyValues)F=E4.simplifyValue(F,P);if(X.resolveTagNames){var S=R===DV.GPSIFD?V.gps:V.exif,Z=S[z];if(!Z)Z=V.exif[z];if(!q.hasOwnProperty(Z))q[Z]=F}else q.push({section:R,type:z,value:F})}),U)G=j}else if(X.imageSize&&u5.getSectionName(O).name==="SOF")W=u5.getSizeFromSOFSection(N)}),X.simplifyValues)E4.castDegreeValues(H,M),E4.castDateValues(H,M);return new EV($,q,W,Y,Q,K,G)}};vV.exports=CV});var TV=O0((VC,kV)=>{function B7($,J,X,q,W,Y){this.global=W,J=J||0,X=X||$.byteLength-J,this.arrayBuffer=$.slice(J,J+X),this.view=new W.DataView(this.arrayBuffer,0,this.arrayBuffer.byteLength),this.setBigEndian(q),this.offset=0,this.parentOffset=(Y||0)+J}B7.prototype={setBigEndian:function($){this.littleEndian=!$},nextUInt8:function(){var $=this.view.getUint8(this.offset);return this.offset+=1,$},nextInt8:function(){var $=this.view.getInt8(this.offset);return this.offset+=1,$},nextUInt16:function(){var $=this.view.getUint16(this.offset,this.littleEndian);return this.offset+=2,$},nextUInt32:function(){var $=this.view.getUint32(this.offset,this.littleEndian);return this.offset+=4,$},nextInt16:function(){var $=this.view.getInt16(this.offset,this.littleEndian);return this.offset+=2,$},nextInt32:function(){var $=this.view.getInt32(this.offset,this.littleEndian);return this.offset+=4,$},nextFloat:function(){var $=this.view.getFloat32(this.offset,this.littleEndian);return this.offset+=4,$},nextDouble:function(){var $=this.view.getFloat64(this.offset,this.littleEndian);return this.offset+=8,$},nextBuffer:function($){var J=this.arrayBuffer.slice(this.offset,this.offset+$);return this.offset+=$,J},remainingLength:function(){return this.arrayBuffer.byteLength-this.offset},nextString:function($){var J=this.arrayBuffer.slice(this.offset,this.offset+$);return J=String.fromCharCode.apply(null,new this.global.Uint8Array(J)),this.offset+=$,J},mark:function(){var $=this;return{openWithOffset:function(J){return J=(J||0)+this.offset,new B7($.arrayBuffer,J,$.arrayBuffer.byteLength-J,!$.littleEndian,$.global,$.parentOffset)},offset:this.offset,getParentOffset:function(){return $.parentOffset}}},offsetFrom:function($){return this.parentOffset+this.offset-($.offset+$.getParentOffset())},skip:function($){this.offset+=$},branch:function($,J){return J=typeof J==="number"?J:this.arrayBuffer.byteLength-(this.offset+$),new B7(this.arrayBuffer,this.offset+$,J,!this.littleEndian,this.global,this.parentOffset)}};kV.exports=B7});var yV=O0((HC,IV)=>{function R7($,J,X,q){this.buffer=$,this.offset=J||0,X=typeof X==="number"?X:$.length,this.endPosition=this.offset+X,this.setBigEndian(q)}R7.prototype={setBigEndian:function($){this.bigEndian=!!$},nextUInt8:function(){var $=this.buffer.readUInt8(this.offset);return this.offset+=1,$},nextInt8:function(){var $=this.buffer.readInt8(this.offset);return this.offset+=1,$},nextUInt16:function(){var $=this.bigEndian?this.buffer.readUInt16BE(this.offset):this.buffer.readUInt16LE(this.offset);return this.offset+=2,$},nextUInt32:function(){var $=this.bigEndian?this.buffer.readUInt32BE(this.offset):this.buffer.readUInt32LE(this.offset);return this.offset+=4,$},nextInt16:function(){var $=this.bigEndian?this.buffer.readInt16BE(this.offset):this.buffer.readInt16LE(this.offset);return this.offset+=2,$},nextInt32:function(){var $=this.bigEndian?this.buffer.readInt32BE(this.offset):this.buffer.readInt32LE(this.offset);return this.offset+=4,$},nextFloat:function(){var $=this.bigEndian?this.buffer.readFloatBE(this.offset):this.buffer.readFloatLE(this.offset);return this.offset+=4,$},nextDouble:function(){var $=this.bigEndian?this.buffer.readDoubleBE(this.offset):this.buffer.readDoubleLE(this.offset);return this.offset+=8,$},nextBuffer:function($){var J=this.buffer.slice(this.offset,this.offset+$);return this.offset+=$,J},remainingLength:function(){return this.endPosition-this.offset},nextString:function($){var J=this.buffer.toString("utf8",this.offset,this.offset+$);return this.offset+=$,J},mark:function(){var $=this;return{openWithOffset:function(J){return J=(J||0)+this.offset,new R7($.buffer,J,$.endPosition-J,$.bigEndian)},offset:this.offset}},offsetFrom:function($){return this.offset-$.offset},skip:function($){this.offset+=$},branch:function($,J){return J=typeof J==="number"?J:this.endPosition-(this.offset+$),new R7(this.buffer,this.offset+$,J,this.bigEndian)}};IV.exports=R7});var hV=O0((MC,xV)=>{var _V=wV();function rF(){return(0,eval)("this")}xV.exports={create:function($,J){if(J=J||rF(),$ instanceof J.ArrayBuffer){var X=TV();return new _V(new X($,0,$.byteLength,!0,J))}else{var q=yV();return new _V(new q($,0,$.length,!0))}}}});var aV=O0((nC,sV)=>{function T4($,J){if(!$||!J||!$.length||!J.length)throw Error("Bad alphabet");this.srcAlphabet=$,this.dstAlphabet=J}T4.prototype.convert=function($){var J,X,q,W={},Y=this.srcAlphabet.length,Q=this.dstAlphabet.length,K=$.length,G=typeof $==="string"?"":[];if(!this.isValid($))throw Error('Number "'+$+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return $;for(J=0;J<K;J++)W[J]=this.srcAlphabet.indexOf($[J]);do{X=0,q=0;for(J=0;J<K;J++)if(X=X*Y+W[J],X>=Q)W[q++]=parseInt(X/Q,10),X=X%Q;else if(q>0)W[q++]=0;K=q,G=this.dstAlphabet.slice(X,X+1).concat(G)}while(q!==0);return G};T4.prototype.isValid=function($){var J=0;for(;J<$.length;++J)if(this.srcAlphabet.indexOf($[J])===-1)return!1;return!0};sV.exports=T4});var eV=O0((rC,tV)=>{var BP=aV();function r$($,J){var X=new BP($,J);return function(q){return X.convert(q)}}r$.BIN="01";r$.OCT="01234567";r$.DEC="0123456789";r$.HEX="0123456789abcdef";tV.exports=r$});var c4={};K1(c4,{writeLogs:()=>P7,Logger:()=>G8});import $1 from"fs";function P7($,J){try{let q=`logs/${$}`;if($1.accessSync(process.cwd(),$1.constants.W_OK),!$1.existsSync("logs"))$1.mkdirSync("logs",{recursive:!0});$1.writeFileSync(q,JSON.stringify(J,null,2)),G8.log(`Debug log written to: ${q}`)}catch(X){let q=X instanceof Error?X.message:String(X);G8.log(`Failed to write logs to ${$}: ${q}`)}}var G8;var d9=a4(()=>{G8={isHTTP:!1,log:(...$)=>{if(G8.isHTTP)console.log("[INFO]",...$);else console.error("[INFO]",...$)},error:(...$)=>{console.error("[ERROR]",...$)}}});import{existsSync as Q2,readFileSync as K2}from"node:fs";import{join as G2}from"node:path";var E7="FIGMA_TOKEN",V2="No FIGMA token found. Pass --token, set FIGMA_TOKEN, or add FIGMA_TOKEN to .env.local or .env.";function J$($){if($!==void 0)return $;let J=process.env[E7];if(J)return J;let X=H2();if(X)return X;throw Error(V2)}function H2(){for(let $ of[".env.local",".env"]){let J=G2(process.cwd(),$);if(!Q2(J))continue;let X=K2(J,"utf8"),q=M2(X);if(q)return q}return}function M2($){for(let J of $.split(/\r?\n/)){let X=J.trim();if(!X||X.startsWith("#"))continue;if(!X.startsWith(`${E7}=`))continue;let q=X.slice(E7.length+1).trim();return O2(q)}return}function O2($){if(($.startsWith('"')&&$.endsWith('"')||$.startsWith("'")&&$.endsWith("'"))&&$.length>=2)return $.slice(1,-1);return $}import iH from"node:fs";import j3 from"node:path";/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function NX($){return typeof $>"u"||$===null}function N2($){return typeof $==="object"&&$!==null}function U2($){if(Array.isArray($))return $;else if(NX($))return[];return[$]}function B2($,J){var X,q,W,Y;if(J){Y=Object.keys(J);for(X=0,q=Y.length;X<q;X+=1)W=Y[X],$[W]=J[W]}return $}function R2($,J){var X="",q;for(q=0;q<J;q+=1)X+=$;return X}function j2($){return $===0&&Number.NEGATIVE_INFINITY===1/$}var L2=NX,z2=N2,Z2=U2,F2=R2,P2=j2,A2=B2,O8={isNothing:L2,isObject:z2,toArray:Z2,repeat:F2,isNegativeZero:P2,extend:A2};function UX($,J){var X="",q=$.reason||"(unknown reason)";if(!$.mark)return q;if($.mark.name)X+='in "'+$.mark.name+'" ';if(X+="("+($.mark.line+1)+":"+($.mark.column+1)+")",!J&&$.mark.snippet)X+=`
3
+
4
+ `+$.mark.snippet;return q+" "+X}function q$($,J){if(Error.call(this),this.name="YAMLException",this.reason=$,this.mark=J,this.message=UX(this,!1),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);else this.stack=Error().stack||""}q$.prototype=Object.create(Error.prototype);q$.prototype.constructor=q$;q$.prototype.toString=function(J){return this.name+": "+UX(this,J)};var C8=q$;function C7($,J,X,q,W){var Y="",Q="",K=Math.floor(W/2)-1;if(q-J>K)Y=" ... ",J=q-K+Y.length;if(X-q>K)Q=" ...",X=q+K-Q.length;return{str:Y+$.slice(J,X).replace(/\t/g,"→")+Q,pos:q-J+Y.length}}function v7($,J){return O8.repeat(" ",J-$.length)+$}function S2($,J){if(J=Object.create(J||null),!$.buffer)return null;if(!J.maxLength)J.maxLength=79;if(typeof J.indent!=="number")J.indent=1;if(typeof J.linesBefore!=="number")J.linesBefore=3;if(typeof J.linesAfter!=="number")J.linesAfter=2;var X=/\r?\n|\r|\0/g,q=[0],W=[],Y,Q=-1;while(Y=X.exec($.buffer))if(W.push(Y.index),q.push(Y.index+Y[0].length),$.position<=Y.index&&Q<0)Q=q.length-2;if(Q<0)Q=q.length-1;var K="",G,V,H=Math.min($.line+J.linesAfter,W.length).toString().length,M=J.maxLength-(J.indent+H+3);for(G=1;G<=J.linesBefore;G++){if(Q-G<0)break;V=C7($.buffer,q[Q-G],W[Q-G],$.position-(q[Q]-q[Q-G]),M),K=O8.repeat(" ",J.indent)+v7(($.line-G+1).toString(),H)+" | "+V.str+`
5
+ `+K}V=C7($.buffer,q[Q],W[Q],$.position,M),K+=O8.repeat(" ",J.indent)+v7(($.line+1).toString(),H)+" | "+V.str+`
6
+ `,K+=O8.repeat("-",J.indent+H+3+V.pos)+`^
7
+ `;for(G=1;G<=J.linesAfter;G++){if(Q+G>=W.length)break;V=C7($.buffer,q[Q+G],W[Q+G],$.position-(q[Q]-q[Q+G]),M),K+=O8.repeat(" ",J.indent)+v7(($.line+G+1).toString(),H)+" | "+V.str+`
8
+ `}return K.replace(/\n$/,"")}var D2=S2,E2=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],C2=["scalar","sequence","mapping"];function v2($){var J={};if($!==null)Object.keys($).forEach(function(X){$[X].forEach(function(q){J[String(q)]=X})});return J}function w2($,J){if(J=J||{},Object.keys(J).forEach(function(X){if(E2.indexOf(X)===-1)throw new C8('Unknown option "'+X+'" is met in definition of "'+$+'" YAML type.')}),this.options=J,this.tag=$,this.kind=J.kind||null,this.resolve=J.resolve||function(){return!0},this.construct=J.construct||function(X){return X},this.instanceOf=J.instanceOf||null,this.predicate=J.predicate||null,this.represent=J.represent||null,this.representName=J.representName||null,this.defaultStyle=J.defaultStyle||null,this.multi=J.multi||!1,this.styleAliases=v2(J.styleAliases||null),C2.indexOf(this.kind)===-1)throw new C8('Unknown kind "'+this.kind+'" is specified for "'+$+'" YAML type.')}var L8=w2;function t4($,J){var X=[];return $[J].forEach(function(q){var W=X.length;X.forEach(function(Y,Q){if(Y.tag===q.tag&&Y.kind===q.kind&&Y.multi===q.multi)W=Q}),X[W]=q}),X}function k2(){var $={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},J,X;function q(W){if(W.multi)$.multi[W.kind].push(W),$.multi.fallback.push(W);else $[W.kind][W.tag]=$.fallback[W.tag]=W}for(J=0,X=arguments.length;J<X;J+=1)arguments[J].forEach(q);return $}function k7($){return this.extend($)}k7.prototype.extend=function(J){var X=[],q=[];if(J instanceof L8)q.push(J);else if(Array.isArray(J))q=q.concat(J);else if(J&&(Array.isArray(J.implicit)||Array.isArray(J.explicit))){if(J.implicit)X=X.concat(J.implicit);if(J.explicit)q=q.concat(J.explicit)}else throw new C8("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");X.forEach(function(Y){if(!(Y instanceof L8))throw new C8("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(Y.loadKind&&Y.loadKind!=="scalar")throw new C8("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(Y.multi)throw new C8("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),q.forEach(function(Y){if(!(Y instanceof L8))throw new C8("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var W=Object.create(k7.prototype);return W.implicit=(this.implicit||[]).concat(X),W.explicit=(this.explicit||[]).concat(q),W.compiledImplicit=t4(W,"implicit"),W.compiledExplicit=t4(W,"explicit"),W.compiledTypeMap=k2(W.compiledImplicit,W.compiledExplicit),W};var BX=k7,RX=new L8("tag:yaml.org,2002:str",{kind:"scalar",construct:function($){return $!==null?$:""}}),jX=new L8("tag:yaml.org,2002:seq",{kind:"sequence",construct:function($){return $!==null?$:[]}}),LX=new L8("tag:yaml.org,2002:map",{kind:"mapping",construct:function($){return $!==null?$:{}}}),zX=new BX({explicit:[RX,jX,LX]});function T2($){if($===null)return!0;var J=$.length;return J===1&&$==="~"||J===4&&($==="null"||$==="Null"||$==="NULL")}function I2(){return null}function y2($){return $===null}var ZX=new L8("tag:yaml.org,2002:null",{kind:"scalar",resolve:T2,construct:I2,predicate:y2,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function _2($){if($===null)return!1;var J=$.length;return J===4&&($==="true"||$==="True"||$==="TRUE")||J===5&&($==="false"||$==="False"||$==="FALSE")}function x2($){return $==="true"||$==="True"||$==="TRUE"}function h2($){return Object.prototype.toString.call($)==="[object Boolean]"}var FX=new L8("tag:yaml.org,2002:bool",{kind:"scalar",resolve:_2,construct:x2,predicate:h2,represent:{lowercase:function($){return $?"true":"false"},uppercase:function($){return $?"TRUE":"FALSE"},camelcase:function($){return $?"True":"False"}},defaultStyle:"lowercase"});function g2($){return 48<=$&&$<=57||65<=$&&$<=70||97<=$&&$<=102}function f2($){return 48<=$&&$<=55}function b2($){return 48<=$&&$<=57}function m2($){if($===null)return!1;var J=$.length,X=0,q=!1,W;if(!J)return!1;if(W=$[X],W==="-"||W==="+")W=$[++X];if(W==="0"){if(X+1===J)return!0;if(W=$[++X],W==="b"){X++;for(;X<J;X++){if(W=$[X],W==="_")continue;if(W!=="0"&&W!=="1")return!1;q=!0}return q&&W!=="_"}if(W==="x"){X++;for(;X<J;X++){if(W=$[X],W==="_")continue;if(!g2($.charCodeAt(X)))return!1;q=!0}return q&&W!=="_"}if(W==="o"){X++;for(;X<J;X++){if(W=$[X],W==="_")continue;if(!f2($.charCodeAt(X)))return!1;q=!0}return q&&W!=="_"}}if(W==="_")return!1;for(;X<J;X++){if(W=$[X],W==="_")continue;if(!b2($.charCodeAt(X)))return!1;q=!0}if(!q||W==="_")return!1;return!0}function u2($){var J=$,X=1,q;if(J.indexOf("_")!==-1)J=J.replace(/_/g,"");if(q=J[0],q==="-"||q==="+"){if(q==="-")X=-1;J=J.slice(1),q=J[0]}if(J==="0")return 0;if(q==="0"){if(J[1]==="b")return X*parseInt(J.slice(2),2);if(J[1]==="x")return X*parseInt(J.slice(2),16);if(J[1]==="o")return X*parseInt(J.slice(2),8)}return X*parseInt(J,10)}function p2($){return Object.prototype.toString.call($)==="[object Number]"&&($%1===0&&!O8.isNegativeZero($))}var PX=new L8("tag:yaml.org,2002:int",{kind:"scalar",resolve:m2,construct:u2,predicate:p2,represent:{binary:function($){return $>=0?"0b"+$.toString(2):"-0b"+$.toString(2).slice(1)},octal:function($){return $>=0?"0o"+$.toString(8):"-0o"+$.toString(8).slice(1)},decimal:function($){return $.toString(10)},hexadecimal:function($){return $>=0?"0x"+$.toString(16).toUpperCase():"-0x"+$.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),l2=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function c2($){if($===null)return!1;if(!l2.test($)||$[$.length-1]==="_")return!1;return!0}function d2($){var J,X;if(J=$.replace(/_/g,"").toLowerCase(),X=J[0]==="-"?-1:1,"+-".indexOf(J[0])>=0)J=J.slice(1);if(J===".inf")return X===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;else if(J===".nan")return NaN;return X*parseFloat(J,10)}var n2=/^[-+]?[0-9]+e/;function r2($,J){var X;if(isNaN($))switch(J){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===$)switch(J){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===$)switch(J){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(O8.isNegativeZero($))return"-0.0";return X=$.toString(10),n2.test(X)?X.replace("e",".e"):X}function o2($){return Object.prototype.toString.call($)==="[object Number]"&&($%1!==0||O8.isNegativeZero($))}var AX=new L8("tag:yaml.org,2002:float",{kind:"scalar",resolve:c2,construct:d2,predicate:o2,represent:r2,defaultStyle:"lowercase"}),SX=zX.extend({implicit:[ZX,FX,PX,AX]}),DX=SX,EX=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),CX=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function i2($){if($===null)return!1;if(EX.exec($)!==null)return!0;if(CX.exec($)!==null)return!0;return!1}function s2($){var J,X,q,W,Y,Q,K,G=0,V=null,H,M,O;if(J=EX.exec($),J===null)J=CX.exec($);if(J===null)throw Error("Date resolve error");if(X=+J[1],q=+J[2]-1,W=+J[3],!J[4])return new Date(Date.UTC(X,q,W));if(Y=+J[4],Q=+J[5],K=+J[6],J[7]){G=J[7].slice(0,3);while(G.length<3)G+="0";G=+G}if(J[9]){if(H=+J[10],M=+(J[11]||0),V=(H*60+M)*60000,J[9]==="-")V=-V}if(O=new Date(Date.UTC(X,q,W,Y,Q,K,G)),V)O.setTime(O.getTime()-V);return O}function a2($){return $.toISOString()}var vX=new L8("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:i2,construct:s2,instanceOf:Date,represent:a2});function t2($){return $==="<<"||$===null}var wX=new L8("tag:yaml.org,2002:merge",{kind:"scalar",resolve:t2}),x7=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
9
+ \r`;function e2($){if($===null)return!1;var J,X,q=0,W=$.length,Y=x7;for(X=0;X<W;X++){if(J=Y.indexOf($.charAt(X)),J>64)continue;if(J<0)return!1;q+=6}return q%8===0}function $M($){var J,X,q=$.replace(/[\r\n=]/g,""),W=q.length,Y=x7,Q=0,K=[];for(J=0;J<W;J++){if(J%4===0&&J)K.push(Q>>16&255),K.push(Q>>8&255),K.push(Q&255);Q=Q<<6|Y.indexOf(q.charAt(J))}if(X=W%4*6,X===0)K.push(Q>>16&255),K.push(Q>>8&255),K.push(Q&255);else if(X===18)K.push(Q>>10&255),K.push(Q>>2&255);else if(X===12)K.push(Q>>4&255);return new Uint8Array(K)}function JM($){var J="",X=0,q,W,Y=$.length,Q=x7;for(q=0;q<Y;q++){if(q%3===0&&q)J+=Q[X>>18&63],J+=Q[X>>12&63],J+=Q[X>>6&63],J+=Q[X&63];X=(X<<8)+$[q]}if(W=Y%3,W===0)J+=Q[X>>18&63],J+=Q[X>>12&63],J+=Q[X>>6&63],J+=Q[X&63];else if(W===2)J+=Q[X>>10&63],J+=Q[X>>4&63],J+=Q[X<<2&63],J+=Q[64];else if(W===1)J+=Q[X>>2&63],J+=Q[X<<4&63],J+=Q[64],J+=Q[64];return J}function XM($){return Object.prototype.toString.call($)==="[object Uint8Array]"}var kX=new L8("tag:yaml.org,2002:binary",{kind:"scalar",resolve:e2,construct:$M,predicate:XM,represent:JM}),qM=Object.prototype.hasOwnProperty,WM=Object.prototype.toString;function YM($){if($===null)return!0;var J=[],X,q,W,Y,Q,K=$;for(X=0,q=K.length;X<q;X+=1){if(W=K[X],Q=!1,WM.call(W)!=="[object Object]")return!1;for(Y in W)if(qM.call(W,Y))if(!Q)Q=!0;else return!1;if(!Q)return!1;if(J.indexOf(Y)===-1)J.push(Y);else return!1}return!0}function QM($){return $!==null?$:[]}var TX=new L8("tag:yaml.org,2002:omap",{kind:"sequence",resolve:YM,construct:QM}),KM=Object.prototype.toString;function GM($){if($===null)return!0;var J,X,q,W,Y,Q=$;Y=Array(Q.length);for(J=0,X=Q.length;J<X;J+=1){if(q=Q[J],KM.call(q)!=="[object Object]")return!1;if(W=Object.keys(q),W.length!==1)return!1;Y[J]=[W[0],q[W[0]]]}return!0}function VM($){if($===null)return[];var J,X,q,W,Y,Q=$;Y=Array(Q.length);for(J=0,X=Q.length;J<X;J+=1)q=Q[J],W=Object.keys(q),Y[J]=[W[0],q[W[0]]];return Y}var IX=new L8("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:GM,construct:VM}),HM=Object.prototype.hasOwnProperty;function MM($){if($===null)return!0;var J,X=$;for(J in X)if(HM.call(X,J)){if(X[J]!==null)return!1}return!0}function OM($){return $!==null?$:{}}var yX=new L8("tag:yaml.org,2002:set",{kind:"mapping",resolve:MM,construct:OM}),h7=DX.extend({implicit:[vX,wX],explicit:[kX,TX,IX,yX]}),X9=Object.prototype.hasOwnProperty,G1=1,_X=2,xX=3,V1=4,w7=1,NM=2,e4=3,UM=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,BM=/[\x85\u2028\u2029]/,RM=/[,\[\]\{\}]/,hX=/^(?:!|!!|![a-z\-]+!)$/i,gX=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function $X($){return Object.prototype.toString.call($)}function A6($){return $===10||$===13}function v9($){return $===9||$===32}function x8($){return $===9||$===32||$===10||$===13}function i9($){return $===44||$===91||$===93||$===123||$===125}function jM($){var J;if(48<=$&&$<=57)return $-48;if(J=$|32,97<=J&&J<=102)return J-97+10;return-1}function LM($){if($===120)return 2;if($===117)return 4;if($===85)return 8;return 0}function zM($){if(48<=$&&$<=57)return $-48;return-1}function JX($){return $===48?"\x00":$===97?"\x07":$===98?"\b":$===116?"\t":$===9?"\t":$===110?`
10
+ `:$===118?"\v":$===102?"\f":$===114?"\r":$===101?"\x1B":$===32?" ":$===34?'"':$===47?"/":$===92?"\\":$===78?"…":$===95?" ":$===76?"\u2028":$===80?"\u2029":""}function ZM($){if($<=65535)return String.fromCharCode($);return String.fromCharCode(($-65536>>10)+55296,($-65536&1023)+56320)}function fX($,J,X){if(J==="__proto__")Object.defineProperty($,J,{configurable:!0,enumerable:!0,writable:!0,value:X});else $[J]=X}var bX=Array(256),mX=Array(256);for($9=0;$9<256;$9++)bX[$9]=JX($9)?1:0,mX[$9]=JX($9);var $9;function FM($,J){this.input=$,this.filename=J.filename||null,this.schema=J.schema||h7,this.onWarning=J.onWarning||null,this.legacy=J.legacy||!1,this.json=J.json||!1,this.listener=J.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=$.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function uX($,J){var X={name:$.filename,buffer:$.input.slice(0,-1),position:$.position,line:$.line,column:$.position-$.lineStart};return X.snippet=D2(X),new C8(J,X)}function P0($,J){throw uX($,J)}function H1($,J){if($.onWarning)$.onWarning.call(null,uX($,J))}var XX={YAML:function(J,X,q){var W,Y,Q;if(J.version!==null)P0(J,"duplication of %YAML directive");if(q.length!==1)P0(J,"YAML directive accepts exactly one argument");if(W=/^([0-9]+)\.([0-9]+)$/.exec(q[0]),W===null)P0(J,"ill-formed argument of the YAML directive");if(Y=parseInt(W[1],10),Q=parseInt(W[2],10),Y!==1)P0(J,"unacceptable YAML version of the document");if(J.version=q[0],J.checkLineBreaks=Q<2,Q!==1&&Q!==2)H1(J,"unsupported YAML version of the document")},TAG:function(J,X,q){var W,Y;if(q.length!==2)P0(J,"TAG directive accepts exactly two arguments");if(W=q[0],Y=q[1],!hX.test(W))P0(J,"ill-formed tag handle (first argument) of the TAG directive");if(X9.call(J.tagMap,W))P0(J,'there is a previously declared suffix for "'+W+'" tag handle');if(!gX.test(Y))P0(J,"ill-formed tag prefix (second argument) of the TAG directive");try{Y=decodeURIComponent(Y)}catch(Q){P0(J,"tag prefix is malformed: "+Y)}J.tagMap[W]=Y}};function J9($,J,X,q){var W,Y,Q,K;if(J<X){if(K=$.input.slice(J,X),q){for(W=0,Y=K.length;W<Y;W+=1)if(Q=K.charCodeAt(W),!(Q===9||32<=Q&&Q<=1114111))P0($,"expected valid JSON character")}else if(UM.test(K))P0($,"the stream contains non-printable characters");$.result+=K}}function qX($,J,X,q){var W,Y,Q,K;if(!O8.isObject(X))P0($,"cannot merge mappings; the provided source object is unacceptable");W=Object.keys(X);for(Q=0,K=W.length;Q<K;Q+=1)if(Y=W[Q],!X9.call(J,Y))fX(J,Y,X[Y]),q[Y]=!0}function s9($,J,X,q,W,Y,Q,K,G){var V,H;if(Array.isArray(W)){W=Array.prototype.slice.call(W);for(V=0,H=W.length;V<H;V+=1){if(Array.isArray(W[V]))P0($,"nested arrays are not supported inside keys");if(typeof W==="object"&&$X(W[V])==="[object Object]")W[V]="[object Object]"}}if(typeof W==="object"&&$X(W)==="[object Object]")W="[object Object]";if(W=String(W),J===null)J={};if(q==="tag:yaml.org,2002:merge")if(Array.isArray(Y))for(V=0,H=Y.length;V<H;V+=1)qX($,J,Y[V],X);else qX($,J,Y,X);else{if(!$.json&&!X9.call(X,W)&&X9.call(J,W))$.line=Q||$.line,$.lineStart=K||$.lineStart,$.position=G||$.position,P0($,"duplicated mapping key");fX(J,W,Y),delete X[W]}return J}function g7($){var J=$.input.charCodeAt($.position);if(J===10)$.position++;else if(J===13){if($.position++,$.input.charCodeAt($.position)===10)$.position++}else P0($,"a line break is expected");$.line+=1,$.lineStart=$.position,$.firstTabInLine=-1}function H8($,J,X){var q=0,W=$.input.charCodeAt($.position);while(W!==0){while(v9(W)){if(W===9&&$.firstTabInLine===-1)$.firstTabInLine=$.position;W=$.input.charCodeAt(++$.position)}if(J&&W===35)do W=$.input.charCodeAt(++$.position);while(W!==10&&W!==13&&W!==0);if(A6(W)){g7($),W=$.input.charCodeAt($.position),q++,$.lineIndent=0;while(W===32)$.lineIndent++,W=$.input.charCodeAt(++$.position)}else break}if(X!==-1&&q!==0&&$.lineIndent<X)H1($,"deficient indentation");return q}function N1($){var J=$.position,X;if(X=$.input.charCodeAt(J),(X===45||X===46)&&X===$.input.charCodeAt(J+1)&&X===$.input.charCodeAt(J+2)){if(J+=3,X=$.input.charCodeAt(J),X===0||x8(X))return!0}return!1}function f7($,J){if(J===1)$.result+=" ";else if(J>1)$.result+=O8.repeat(`
11
+ `,J-1)}function PM($,J,X){var q,W,Y,Q,K,G,V,H,M=$.kind,O=$.result,N;if(N=$.input.charCodeAt($.position),x8(N)||i9(N)||N===35||N===38||N===42||N===33||N===124||N===62||N===39||N===34||N===37||N===64||N===96)return!1;if(N===63||N===45){if(W=$.input.charCodeAt($.position+1),x8(W)||X&&i9(W))return!1}$.kind="scalar",$.result="",Y=Q=$.position,K=!1;while(N!==0){if(N===58){if(W=$.input.charCodeAt($.position+1),x8(W)||X&&i9(W))break}else if(N===35){if(q=$.input.charCodeAt($.position-1),x8(q))break}else if($.position===$.lineStart&&N1($)||X&&i9(N))break;else if(A6(N))if(G=$.line,V=$.lineStart,H=$.lineIndent,H8($,!1,-1),$.lineIndent>=J){K=!0,N=$.input.charCodeAt($.position);continue}else{$.position=Q,$.line=G,$.lineStart=V,$.lineIndent=H;break}if(K)J9($,Y,Q,!1),f7($,$.line-G),Y=Q=$.position,K=!1;if(!v9(N))Q=$.position+1;N=$.input.charCodeAt(++$.position)}if(J9($,Y,Q,!1),$.result)return!0;return $.kind=M,$.result=O,!1}function AM($,J){var X,q,W;if(X=$.input.charCodeAt($.position),X!==39)return!1;$.kind="scalar",$.result="",$.position++,q=W=$.position;while((X=$.input.charCodeAt($.position))!==0)if(X===39)if(J9($,q,$.position,!0),X=$.input.charCodeAt(++$.position),X===39)q=$.position,$.position++,W=$.position;else return!0;else if(A6(X))J9($,q,W,!0),f7($,H8($,!1,J)),q=W=$.position;else if($.position===$.lineStart&&N1($))P0($,"unexpected end of the document within a single quoted scalar");else $.position++,W=$.position;P0($,"unexpected end of the stream within a single quoted scalar")}function SM($,J){var X,q,W,Y,Q,K;if(K=$.input.charCodeAt($.position),K!==34)return!1;$.kind="scalar",$.result="",$.position++,X=q=$.position;while((K=$.input.charCodeAt($.position))!==0)if(K===34)return J9($,X,$.position,!0),$.position++,!0;else if(K===92){if(J9($,X,$.position,!0),K=$.input.charCodeAt(++$.position),A6(K))H8($,!1,J);else if(K<256&&bX[K])$.result+=mX[K],$.position++;else if((Q=LM(K))>0){W=Q,Y=0;for(;W>0;W--)if(K=$.input.charCodeAt(++$.position),(Q=jM(K))>=0)Y=(Y<<4)+Q;else P0($,"expected hexadecimal character");$.result+=ZM(Y),$.position++}else P0($,"unknown escape sequence");X=q=$.position}else if(A6(K))J9($,X,q,!0),f7($,H8($,!1,J)),X=q=$.position;else if($.position===$.lineStart&&N1($))P0($,"unexpected end of the document within a double quoted scalar");else $.position++,q=$.position;P0($,"unexpected end of the stream within a double quoted scalar")}function DM($,J){var X=!0,q,W,Y,Q=$.tag,K,G=$.anchor,V,H,M,O,N,U=Object.create(null),j,R,z,F;if(F=$.input.charCodeAt($.position),F===91)H=93,N=!1,K=[];else if(F===123)H=125,N=!0,K={};else return!1;if($.anchor!==null)$.anchorMap[$.anchor]=K;F=$.input.charCodeAt(++$.position);while(F!==0){if(H8($,!0,J),F=$.input.charCodeAt($.position),F===H)return $.position++,$.tag=Q,$.anchor=G,$.kind=N?"mapping":"sequence",$.result=K,!0;else if(!X)P0($,"missed comma between flow collection entries");else if(F===44)P0($,"expected the node content, but found ','");if(R=j=z=null,M=O=!1,F===63){if(V=$.input.charCodeAt($.position+1),x8(V))M=O=!0,$.position++,H8($,!0,J)}if(q=$.line,W=$.lineStart,Y=$.position,a9($,J,G1,!1,!0),R=$.tag,j=$.result,H8($,!0,J),F=$.input.charCodeAt($.position),(O||$.line===q)&&F===58)M=!0,F=$.input.charCodeAt(++$.position),H8($,!0,J),a9($,J,G1,!1,!0),z=$.result;if(N)s9($,K,U,R,j,z,q,W,Y);else if(M)K.push(s9($,null,U,R,j,z,q,W,Y));else K.push(j);if(H8($,!0,J),F=$.input.charCodeAt($.position),F===44)X=!0,F=$.input.charCodeAt(++$.position);else X=!1}P0($,"unexpected end of the stream within a flow collection")}function EM($,J){var X,q,W=w7,Y=!1,Q=!1,K=J,G=0,V=!1,H,M;if(M=$.input.charCodeAt($.position),M===124)q=!1;else if(M===62)q=!0;else return!1;$.kind="scalar",$.result="";while(M!==0)if(M=$.input.charCodeAt(++$.position),M===43||M===45)if(w7===W)W=M===43?e4:NM;else P0($,"repeat of a chomping mode identifier");else if((H=zM(M))>=0)if(H===0)P0($,"bad explicit indentation width of a block scalar; it cannot be less than one");else if(!Q)K=J+H-1,Q=!0;else P0($,"repeat of an indentation width identifier");else break;if(v9(M)){do M=$.input.charCodeAt(++$.position);while(v9(M));if(M===35)do M=$.input.charCodeAt(++$.position);while(!A6(M)&&M!==0)}while(M!==0){g7($),$.lineIndent=0,M=$.input.charCodeAt($.position);while((!Q||$.lineIndent<K)&&M===32)$.lineIndent++,M=$.input.charCodeAt(++$.position);if(!Q&&$.lineIndent>K)K=$.lineIndent;if(A6(M)){G++;continue}if($.lineIndent<K){if(W===e4)$.result+=O8.repeat(`
12
+ `,Y?1+G:G);else if(W===w7){if(Y)$.result+=`
13
+ `}break}if(q)if(v9(M))V=!0,$.result+=O8.repeat(`
14
+ `,Y?1+G:G);else if(V)V=!1,$.result+=O8.repeat(`
15
+ `,G+1);else if(G===0){if(Y)$.result+=" "}else $.result+=O8.repeat(`
16
+ `,G);else $.result+=O8.repeat(`
17
+ `,Y?1+G:G);Y=!0,Q=!0,G=0,X=$.position;while(!A6(M)&&M!==0)M=$.input.charCodeAt(++$.position);J9($,X,$.position,!1)}return!0}function WX($,J){var X,q=$.tag,W=$.anchor,Y=[],Q,K=!1,G;if($.firstTabInLine!==-1)return!1;if($.anchor!==null)$.anchorMap[$.anchor]=Y;G=$.input.charCodeAt($.position);while(G!==0){if($.firstTabInLine!==-1)$.position=$.firstTabInLine,P0($,"tab characters must not be used in indentation");if(G!==45)break;if(Q=$.input.charCodeAt($.position+1),!x8(Q))break;if(K=!0,$.position++,H8($,!0,-1)){if($.lineIndent<=J){Y.push(null),G=$.input.charCodeAt($.position);continue}}if(X=$.line,a9($,J,xX,!1,!0),Y.push($.result),H8($,!0,-1),G=$.input.charCodeAt($.position),($.line===X||$.lineIndent>J)&&G!==0)P0($,"bad indentation of a sequence entry");else if($.lineIndent<J)break}if(K)return $.tag=q,$.anchor=W,$.kind="sequence",$.result=Y,!0;return!1}function CM($,J,X){var q,W,Y,Q,K,G,V=$.tag,H=$.anchor,M={},O=Object.create(null),N=null,U=null,j=null,R=!1,z=!1,F;if($.firstTabInLine!==-1)return!1;if($.anchor!==null)$.anchorMap[$.anchor]=M;F=$.input.charCodeAt($.position);while(F!==0){if(!R&&$.firstTabInLine!==-1)$.position=$.firstTabInLine,P0($,"tab characters must not be used in indentation");if(q=$.input.charCodeAt($.position+1),Y=$.line,(F===63||F===58)&&x8(q)){if(F===63){if(R)s9($,M,O,N,U,null,Q,K,G),N=U=j=null;z=!0,R=!0,W=!0}else if(R)R=!1,W=!0;else P0($,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");$.position+=1,F=q}else{if(Q=$.line,K=$.lineStart,G=$.position,!a9($,X,_X,!1,!0))break;if($.line===Y){F=$.input.charCodeAt($.position);while(v9(F))F=$.input.charCodeAt(++$.position);if(F===58){if(F=$.input.charCodeAt(++$.position),!x8(F))P0($,"a whitespace character is expected after the key-value separator within a block mapping");if(R)s9($,M,O,N,U,null,Q,K,G),N=U=j=null;z=!0,R=!1,W=!1,N=$.tag,U=$.result}else if(z)P0($,"can not read an implicit mapping pair; a colon is missed");else return $.tag=V,$.anchor=H,!0}else if(z)P0($,"can not read a block mapping entry; a multiline key may not be an implicit key");else return $.tag=V,$.anchor=H,!0}if($.line===Y||$.lineIndent>J){if(R)Q=$.line,K=$.lineStart,G=$.position;if(a9($,J,V1,!0,W))if(R)U=$.result;else j=$.result;if(!R)s9($,M,O,N,U,j,Q,K,G),N=U=j=null;H8($,!0,-1),F=$.input.charCodeAt($.position)}if(($.line===Y||$.lineIndent>J)&&F!==0)P0($,"bad indentation of a mapping entry");else if($.lineIndent<J)break}if(R)s9($,M,O,N,U,null,Q,K,G);if(z)$.tag=V,$.anchor=H,$.kind="mapping",$.result=M;return z}function vM($){var J,X=!1,q=!1,W,Y,Q;if(Q=$.input.charCodeAt($.position),Q!==33)return!1;if($.tag!==null)P0($,"duplication of a tag property");if(Q=$.input.charCodeAt(++$.position),Q===60)X=!0,Q=$.input.charCodeAt(++$.position);else if(Q===33)q=!0,W="!!",Q=$.input.charCodeAt(++$.position);else W="!";if(J=$.position,X){do Q=$.input.charCodeAt(++$.position);while(Q!==0&&Q!==62);if($.position<$.length)Y=$.input.slice(J,$.position),Q=$.input.charCodeAt(++$.position);else P0($,"unexpected end of the stream within a verbatim tag")}else{while(Q!==0&&!x8(Q)){if(Q===33)if(!q){if(W=$.input.slice(J-1,$.position+1),!hX.test(W))P0($,"named tag handle cannot contain such characters");q=!0,J=$.position+1}else P0($,"tag suffix cannot contain exclamation marks");Q=$.input.charCodeAt(++$.position)}if(Y=$.input.slice(J,$.position),RM.test(Y))P0($,"tag suffix cannot contain flow indicator characters")}if(Y&&!gX.test(Y))P0($,"tag name cannot contain such characters: "+Y);try{Y=decodeURIComponent(Y)}catch(K){P0($,"tag name is malformed: "+Y)}if(X)$.tag=Y;else if(X9.call($.tagMap,W))$.tag=$.tagMap[W]+Y;else if(W==="!")$.tag="!"+Y;else if(W==="!!")$.tag="tag:yaml.org,2002:"+Y;else P0($,'undeclared tag handle "'+W+'"');return!0}function wM($){var J,X;if(X=$.input.charCodeAt($.position),X!==38)return!1;if($.anchor!==null)P0($,"duplication of an anchor property");X=$.input.charCodeAt(++$.position),J=$.position;while(X!==0&&!x8(X)&&!i9(X))X=$.input.charCodeAt(++$.position);if($.position===J)P0($,"name of an anchor node must contain at least one character");return $.anchor=$.input.slice(J,$.position),!0}function kM($){var J,X,q;if(q=$.input.charCodeAt($.position),q!==42)return!1;q=$.input.charCodeAt(++$.position),J=$.position;while(q!==0&&!x8(q)&&!i9(q))q=$.input.charCodeAt(++$.position);if($.position===J)P0($,"name of an alias node must contain at least one character");if(X=$.input.slice(J,$.position),!X9.call($.anchorMap,X))P0($,'unidentified alias "'+X+'"');return $.result=$.anchorMap[X],H8($,!0,-1),!0}function a9($,J,X,q,W){var Y,Q,K,G=1,V=!1,H=!1,M,O,N,U,j,R;if($.listener!==null)$.listener("open",$);if($.tag=null,$.anchor=null,$.kind=null,$.result=null,Y=Q=K=V1===X||xX===X,q){if(H8($,!0,-1)){if(V=!0,$.lineIndent>J)G=1;else if($.lineIndent===J)G=0;else if($.lineIndent<J)G=-1}}if(G===1)while(vM($)||wM($))if(H8($,!0,-1)){if(V=!0,K=Y,$.lineIndent>J)G=1;else if($.lineIndent===J)G=0;else if($.lineIndent<J)G=-1}else K=!1;if(K)K=V||W;if(G===1||V1===X){if(G1===X||_X===X)j=J;else j=J+1;if(R=$.position-$.lineStart,G===1)if(K&&(WX($,R)||CM($,R,j))||DM($,j))H=!0;else{if(Q&&EM($,j)||AM($,j)||SM($,j))H=!0;else if(kM($)){if(H=!0,$.tag!==null||$.anchor!==null)P0($,"alias node should not have any properties")}else if(PM($,j,G1===X)){if(H=!0,$.tag===null)$.tag="?"}if($.anchor!==null)$.anchorMap[$.anchor]=$.result}else if(G===0)H=K&&WX($,R)}if($.tag===null){if($.anchor!==null)$.anchorMap[$.anchor]=$.result}else if($.tag==="?"){if($.result!==null&&$.kind!=="scalar")P0($,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+$.kind+'"');for(M=0,O=$.implicitTypes.length;M<O;M+=1)if(U=$.implicitTypes[M],U.resolve($.result)){if($.result=U.construct($.result),$.tag=U.tag,$.anchor!==null)$.anchorMap[$.anchor]=$.result;break}}else if($.tag!=="!"){if(X9.call($.typeMap[$.kind||"fallback"],$.tag))U=$.typeMap[$.kind||"fallback"][$.tag];else{U=null,N=$.typeMap.multi[$.kind||"fallback"];for(M=0,O=N.length;M<O;M+=1)if($.tag.slice(0,N[M].tag.length)===N[M].tag){U=N[M];break}}if(!U)P0($,"unknown tag !<"+$.tag+">");if($.result!==null&&U.kind!==$.kind)P0($,"unacceptable node kind for !<"+$.tag+'> tag; it should be "'+U.kind+'", not "'+$.kind+'"');if(!U.resolve($.result,$.tag))P0($,"cannot resolve a node with !<"+$.tag+"> explicit tag");else if($.result=U.construct($.result,$.tag),$.anchor!==null)$.anchorMap[$.anchor]=$.result}if($.listener!==null)$.listener("close",$);return $.tag!==null||$.anchor!==null||H}function TM($){var J=$.position,X,q,W,Y=!1,Q;$.version=null,$.checkLineBreaks=$.legacy,$.tagMap=Object.create(null),$.anchorMap=Object.create(null);while((Q=$.input.charCodeAt($.position))!==0){if(H8($,!0,-1),Q=$.input.charCodeAt($.position),$.lineIndent>0||Q!==37)break;Y=!0,Q=$.input.charCodeAt(++$.position),X=$.position;while(Q!==0&&!x8(Q))Q=$.input.charCodeAt(++$.position);if(q=$.input.slice(X,$.position),W=[],q.length<1)P0($,"directive name must not be less than one character in length");while(Q!==0){while(v9(Q))Q=$.input.charCodeAt(++$.position);if(Q===35){do Q=$.input.charCodeAt(++$.position);while(Q!==0&&!A6(Q));break}if(A6(Q))break;X=$.position;while(Q!==0&&!x8(Q))Q=$.input.charCodeAt(++$.position);W.push($.input.slice(X,$.position))}if(Q!==0)g7($);if(X9.call(XX,q))XX[q]($,q,W);else H1($,'unknown document directive "'+q+'"')}if(H8($,!0,-1),$.lineIndent===0&&$.input.charCodeAt($.position)===45&&$.input.charCodeAt($.position+1)===45&&$.input.charCodeAt($.position+2)===45)$.position+=3,H8($,!0,-1);else if(Y)P0($,"directives end mark is expected");if(a9($,$.lineIndent-1,V1,!1,!0),H8($,!0,-1),$.checkLineBreaks&&BM.test($.input.slice(J,$.position)))H1($,"non-ASCII line breaks are interpreted as content");if($.documents.push($.result),$.position===$.lineStart&&N1($)){if($.input.charCodeAt($.position)===46)$.position+=3,H8($,!0,-1);return}if($.position<$.length-1)P0($,"end of the stream or a document separator is expected");else return}function pX($,J){if($=String($),J=J||{},$.length!==0){if($.charCodeAt($.length-1)!==10&&$.charCodeAt($.length-1)!==13)$+=`
18
+ `;if($.charCodeAt(0)===65279)$=$.slice(1)}var X=new FM($,J),q=$.indexOf("\x00");if(q!==-1)X.position=q,P0(X,"null byte is not allowed in input");X.input+="\x00";while(X.input.charCodeAt(X.position)===32)X.lineIndent+=1,X.position+=1;while(X.position<X.length-1)TM(X);return X.documents}function IM($,J,X){if(J!==null&&typeof J==="object"&&typeof X>"u")X=J,J=null;var q=pX($,X);if(typeof J!=="function")return q;for(var W=0,Y=q.length;W<Y;W+=1)J(q[W])}function yM($,J){var X=pX($,J);if(X.length===0)return;else if(X.length===1)return X[0];throw new C8("expected a single document in the stream, but found more")}var _M=IM,xM=yM,lX={loadAll:_M,load:xM},cX=Object.prototype.toString,dX=Object.prototype.hasOwnProperty,b7=65279,hM=9,W$=10,gM=13,fM=32,bM=33,mM=34,T7=35,uM=37,pM=38,lM=39,cM=42,nX=44,dM=45,M1=58,nM=61,rM=62,oM=63,iM=64,rX=91,oX=93,sM=96,iX=123,aM=124,sX=125,A8={};A8[0]="\\0";A8[7]="\\a";A8[8]="\\b";A8[9]="\\t";A8[10]="\\n";A8[11]="\\v";A8[12]="\\f";A8[13]="\\r";A8[27]="\\e";A8[34]="\\\"";A8[92]="\\\\";A8[133]="\\N";A8[160]="\\_";A8[8232]="\\L";A8[8233]="\\P";var tM=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],eM=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function $O($,J){var X,q,W,Y,Q,K,G;if(J===null)return{};X={},q=Object.keys(J);for(W=0,Y=q.length;W<Y;W+=1){if(Q=q[W],K=String(J[Q]),Q.slice(0,2)==="!!")Q="tag:yaml.org,2002:"+Q.slice(2);if(G=$.compiledTypeMap.fallback[Q],G&&dX.call(G.styleAliases,K))K=G.styleAliases[K];X[Q]=K}return X}function JO($){var J,X,q;if(J=$.toString(16).toUpperCase(),$<=255)X="x",q=2;else if($<=65535)X="u",q=4;else if($<=4294967295)X="U",q=8;else throw new C8("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+X+O8.repeat("0",q-J.length)+J}var XO=1,Y$=2;function qO($){this.schema=$.schema||h7,this.indent=Math.max(1,$.indent||2),this.noArrayIndent=$.noArrayIndent||!1,this.skipInvalid=$.skipInvalid||!1,this.flowLevel=O8.isNothing($.flowLevel)?-1:$.flowLevel,this.styleMap=$O(this.schema,$.styles||null),this.sortKeys=$.sortKeys||!1,this.lineWidth=$.lineWidth||80,this.noRefs=$.noRefs||!1,this.noCompatMode=$.noCompatMode||!1,this.condenseFlow=$.condenseFlow||!1,this.quotingType=$.quotingType==='"'?Y$:XO,this.forceQuotes=$.forceQuotes||!1,this.replacer=typeof $.replacer==="function"?$.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function YX($,J){var X=O8.repeat(" ",J),q=0,W=-1,Y="",Q,K=$.length;while(q<K){if(W=$.indexOf(`
19
+ `,q),W===-1)Q=$.slice(q),q=K;else Q=$.slice(q,W+1),q=W+1;if(Q.length&&Q!==`
20
+ `)Y+=X;Y+=Q}return Y}function I7($,J){return`
21
+ `+O8.repeat(" ",$.indent*J)}function WO($,J){var X,q,W;for(X=0,q=$.implicitTypes.length;X<q;X+=1)if(W=$.implicitTypes[X],W.resolve(J))return!0;return!1}function O1($){return $===fM||$===hM}function Q$($){return 32<=$&&$<=126||161<=$&&$<=55295&&$!==8232&&$!==8233||57344<=$&&$<=65533&&$!==b7||65536<=$&&$<=1114111}function QX($){return Q$($)&&$!==b7&&$!==gM&&$!==W$}function KX($,J,X){var q=QX($),W=q&&!O1($);return(X?q:q&&$!==nX&&$!==rX&&$!==oX&&$!==iX&&$!==sX)&&$!==T7&&!(J===M1&&!W)||QX(J)&&!O1(J)&&$===T7||J===M1&&W}function YO($){return Q$($)&&$!==b7&&!O1($)&&$!==dM&&$!==oM&&$!==M1&&$!==nX&&$!==rX&&$!==oX&&$!==iX&&$!==sX&&$!==T7&&$!==pM&&$!==cM&&$!==bM&&$!==aM&&$!==nM&&$!==rM&&$!==lM&&$!==mM&&$!==uM&&$!==iM&&$!==sM}function QO($){return!O1($)&&$!==M1}function X$($,J){var X=$.charCodeAt(J),q;if(X>=55296&&X<=56319&&J+1<$.length){if(q=$.charCodeAt(J+1),q>=56320&&q<=57343)return(X-55296)*1024+q-56320+65536}return X}function aX($){var J=/^\n* /;return J.test($)}var tX=1,y7=2,eX=3,$q=4,o9=5;function KO($,J,X,q,W,Y,Q,K){var G,V=0,H=null,M=!1,O=!1,N=q!==-1,U=-1,j=YO(X$($,0))&&QO(X$($,$.length-1));if(J||Q)for(G=0;G<$.length;V>=65536?G+=2:G++){if(V=X$($,G),!Q$(V))return o9;j=j&&KX(V,H,K),H=V}else{for(G=0;G<$.length;V>=65536?G+=2:G++){if(V=X$($,G),V===W$){if(M=!0,N)O=O||G-U-1>q&&$[U+1]!==" ",U=G}else if(!Q$(V))return o9;j=j&&KX(V,H,K),H=V}O=O||N&&(G-U-1>q&&$[U+1]!==" ")}if(!M&&!O){if(j&&!Q&&!W($))return tX;return Y===Y$?o9:y7}if(X>9&&aX($))return o9;if(!Q)return O?$q:eX;return Y===Y$?o9:y7}function GO($,J,X,q,W){$.dump=function(){if(J.length===0)return $.quotingType===Y$?'""':"''";if(!$.noCompatMode){if(tM.indexOf(J)!==-1||eM.test(J))return $.quotingType===Y$?'"'+J+'"':"'"+J+"'"}var Y=$.indent*Math.max(1,X),Q=$.lineWidth===-1?-1:Math.max(Math.min($.lineWidth,40),$.lineWidth-Y),K=q||$.flowLevel>-1&&X>=$.flowLevel;function G(V){return WO($,V)}switch(KO(J,K,$.indent,Q,G,$.quotingType,$.forceQuotes&&!q,W)){case tX:return J;case y7:return"'"+J.replace(/'/g,"''")+"'";case eX:return"|"+GX(J,$.indent)+VX(YX(J,Y));case $q:return">"+GX(J,$.indent)+VX(YX(VO(J,Q),Y));case o9:return'"'+HO(J)+'"';default:throw new C8("impossible error: invalid scalar style")}}()}function GX($,J){var X=aX($)?String(J):"",q=$[$.length-1]===`
22
+ `,W=q&&($[$.length-2]===`
23
+ `||$===`
24
+ `),Y=W?"+":q?"":"-";return X+Y+`
25
+ `}function VX($){return $[$.length-1]===`
26
+ `?$.slice(0,-1):$}function VO($,J){var X=/(\n+)([^\n]*)/g,q=function(){var V=$.indexOf(`
27
+ `);return V=V!==-1?V:$.length,X.lastIndex=V,HX($.slice(0,V),J)}(),W=$[0]===`
28
+ `||$[0]===" ",Y,Q;while(Q=X.exec($)){var K=Q[1],G=Q[2];Y=G[0]===" ",q+=K+(!W&&!Y&&G!==""?`
29
+ `:"")+HX(G,J),W=Y}return q}function HX($,J){if($===""||$[0]===" ")return $;var X=/ [^ ]/g,q,W=0,Y,Q=0,K=0,G="";while(q=X.exec($)){if(K=q.index,K-W>J)Y=Q>W?Q:K,G+=`
30
+ `+$.slice(W,Y),W=Y+1;Q=K}if(G+=`
31
+ `,$.length-W>J&&Q>W)G+=$.slice(W,Q)+`
32
+ `+$.slice(Q+1);else G+=$.slice(W);return G.slice(1)}function HO($){var J="",X=0,q;for(var W=0;W<$.length;X>=65536?W+=2:W++)if(X=X$($,W),q=A8[X],!q&&Q$(X)){if(J+=$[W],X>=65536)J+=$[W+1]}else J+=q||JO(X);return J}function MO($,J,X){var q="",W=$.tag,Y,Q,K;for(Y=0,Q=X.length;Y<Q;Y+=1){if(K=X[Y],$.replacer)K=$.replacer.call(X,String(Y),K);if(f6($,J,K,!1,!1)||typeof K>"u"&&f6($,J,null,!1,!1)){if(q!=="")q+=","+(!$.condenseFlow?" ":"");q+=$.dump}}$.tag=W,$.dump="["+q+"]"}function MX($,J,X,q){var W="",Y=$.tag,Q,K,G;for(Q=0,K=X.length;Q<K;Q+=1){if(G=X[Q],$.replacer)G=$.replacer.call(X,String(Q),G);if(f6($,J+1,G,!0,!0,!1,!0)||typeof G>"u"&&f6($,J+1,null,!0,!0,!1,!0)){if(!q||W!=="")W+=I7($,J);if($.dump&&W$===$.dump.charCodeAt(0))W+="-";else W+="- ";W+=$.dump}}$.tag=Y,$.dump=W||"[]"}function OO($,J,X){var q="",W=$.tag,Y=Object.keys(X),Q,K,G,V,H;for(Q=0,K=Y.length;Q<K;Q+=1){if(H="",q!=="")H+=", ";if($.condenseFlow)H+='"';if(G=Y[Q],V=X[G],$.replacer)V=$.replacer.call(X,G,V);if(!f6($,J,G,!1,!1))continue;if($.dump.length>1024)H+="? ";if(H+=$.dump+($.condenseFlow?'"':"")+":"+($.condenseFlow?"":" "),!f6($,J,V,!1,!1))continue;H+=$.dump,q+=H}$.tag=W,$.dump="{"+q+"}"}function NO($,J,X,q){var W="",Y=$.tag,Q=Object.keys(X),K,G,V,H,M,O;if($.sortKeys===!0)Q.sort();else if(typeof $.sortKeys==="function")Q.sort($.sortKeys);else if($.sortKeys)throw new C8("sortKeys must be a boolean or a function");for(K=0,G=Q.length;K<G;K+=1){if(O="",!q||W!=="")O+=I7($,J);if(V=Q[K],H=X[V],$.replacer)H=$.replacer.call(X,V,H);if(!f6($,J+1,V,!0,!0,!0))continue;if(M=$.tag!==null&&$.tag!=="?"||$.dump&&$.dump.length>1024,M)if($.dump&&W$===$.dump.charCodeAt(0))O+="?";else O+="? ";if(O+=$.dump,M)O+=I7($,J);if(!f6($,J+1,H,!0,M))continue;if($.dump&&W$===$.dump.charCodeAt(0))O+=":";else O+=": ";O+=$.dump,W+=O}$.tag=Y,$.dump=W||"{}"}function OX($,J,X){var q,W,Y,Q,K,G;W=X?$.explicitTypes:$.implicitTypes;for(Y=0,Q=W.length;Y<Q;Y+=1)if(K=W[Y],(K.instanceOf||K.predicate)&&(!K.instanceOf||typeof J==="object"&&J instanceof K.instanceOf)&&(!K.predicate||K.predicate(J))){if(X)if(K.multi&&K.representName)$.tag=K.representName(J);else $.tag=K.tag;else $.tag="?";if(K.represent){if(G=$.styleMap[K.tag]||K.defaultStyle,cX.call(K.represent)==="[object Function]")q=K.represent(J,G);else if(dX.call(K.represent,G))q=K.represent[G](J,G);else throw new C8("!<"+K.tag+'> tag resolver accepts not "'+G+'" style');$.dump=q}return!0}return!1}function f6($,J,X,q,W,Y,Q){if($.tag=null,$.dump=X,!OX($,X,!1))OX($,X,!0);var K=cX.call($.dump),G=q,V;if(q)q=$.flowLevel<0||$.flowLevel>J;var H=K==="[object Object]"||K==="[object Array]",M,O;if(H)M=$.duplicates.indexOf(X),O=M!==-1;if($.tag!==null&&$.tag!=="?"||O||$.indent!==2&&J>0)W=!1;if(O&&$.usedDuplicates[M])$.dump="*ref_"+M;else{if(H&&O&&!$.usedDuplicates[M])$.usedDuplicates[M]=!0;if(K==="[object Object]"){if(q&&Object.keys($.dump).length!==0){if(NO($,J,$.dump,W),O)$.dump="&ref_"+M+$.dump}else if(OO($,J,$.dump),O)$.dump="&ref_"+M+" "+$.dump}else if(K==="[object Array]"){if(q&&$.dump.length!==0){if($.noArrayIndent&&!Q&&J>0)MX($,J-1,$.dump,W);else MX($,J,$.dump,W);if(O)$.dump="&ref_"+M+$.dump}else if(MO($,J,$.dump),O)$.dump="&ref_"+M+" "+$.dump}else if(K==="[object String]"){if($.tag!=="?")GO($,$.dump,J,Y,G)}else if(K==="[object Undefined]")return!1;else{if($.skipInvalid)return!1;throw new C8("unacceptable kind of an object to dump "+K)}if($.tag!==null&&$.tag!=="?"){if(V=encodeURI($.tag[0]==="!"?$.tag.slice(1):$.tag).replace(/!/g,"%21"),$.tag[0]==="!")V="!"+V;else if(V.slice(0,18)==="tag:yaml.org,2002:")V="!!"+V.slice(18);else V="!<"+V+">";$.dump=V+" "+$.dump}}return!0}function UO($,J){var X=[],q=[],W,Y;_7($,X,q);for(W=0,Y=q.length;W<Y;W+=1)J.duplicates.push(X[q[W]]);J.usedDuplicates=Array(Y)}function _7($,J,X){var q,W,Y;if($!==null&&typeof $==="object")if(W=J.indexOf($),W!==-1){if(X.indexOf(W)===-1)X.push(W)}else if(J.push($),Array.isArray($))for(W=0,Y=$.length;W<Y;W+=1)_7($[W],J,X);else{q=Object.keys($);for(W=0,Y=q.length;W<Y;W+=1)_7($[q[W]],J,X)}}function BO($,J){J=J||{};var X=new qO(J);if(!X.noRefs)UO($,X);var q=$;if(X.replacer)q=X.replacer.call({"":q},"",q);if(f6(X,0,q,!0,!0))return X.dump+`
33
+ `;return""}var RO=BO,jO={dump:RO};function m7($,J){return function(){throw Error("Function yaml."+$+" is removed in js-yaml 4. Use yaml."+J+" instead, which is now safe by default.")}}var LO=L8,zO=BX,ZO=zX,FO=SX,PO=DX,AO=h7,SO=lX.load,DO=lX.loadAll,EO=jO.dump,CO=C8,vO={binary:kX,float:AX,map:LX,null:ZX,pairs:IX,set:yX,timestamp:vX,bool:FX,int:PX,merge:wX,omap:TX,seq:jX,str:RX},wO=m7("safeLoad","load"),kO=m7("safeLoadAll","loadAll"),TO=m7("safeDump","dump"),t9={Type:LO,Schema:zO,FAILSAFE_SCHEMA:ZO,JSON_SCHEMA:FO,CORE_SCHEMA:PO,DEFAULT_SCHEMA:AO,load:SO,loadAll:DO,dump:EO,YAMLException:CO,types:vO,safeLoad:wO,safeLoadAll:kO,safeDump:TO};import K$ from"node:fs";import IO from"node:path";import{createHash as yO}from"node:crypto";class u7{dir;ttlMs;constructor($,J){this.dir=$;this.ttlMs=J}get($){let J=this.getFilePath($);if(!K$.existsSync(J))return;try{let X=K$.statSync(J);if(Date.now()-X.mtimeMs>=this.ttlMs)return;return JSON.parse(K$.readFileSync(J,"utf8"))}catch{return}}set($,J){K$.mkdirSync(this.dir,{recursive:!0}),K$.writeFileSync(this.getFilePath($),JSON.stringify(J))}getFilePath($){let J=yO("sha256").update($).digest("hex");return IO.join(this.dir,`${J}.json`)}}function Jq($,J){switch(J){case"pages":return{pages:$.nodes.map((X)=>({id:X.id,name:X.name,frames:(X.children??[]).filter((q)=>q.type==="FRAME"||q.type==="COMPONENT"||q.type==="COMPONENT_SET").map((q)=>({id:q.id,name:q.name}))}))};case"components":return{components:$.components,componentSets:$.componentSets,componentNodes:_O($.nodes,new Set(["COMPONENT","COMPONENT_SET"]))};case"variables":return{variables:$.globalVars.variables};case"styles":return{styles:$.globalVars.styles};case"tree":return{nodes:$.nodes.map(Xq)};case"resolved":return{nodes:$.nodes.map((X)=>qq(X,$.globalVars.styles))};default:throw Error("Unknown filter: "+J)}}function _O($,J){let X=[];function q(W){if(J.has(W.type))X.push(W);W.children?.forEach(q)}return $.forEach(q),X}function Xq($){let{fills:J,strokes:X,effects:q,textStyle:W,...Y}=$;return{...Y,children:Y.children?.map(Xq)}}function qq($,J){let X={...$};if(X.fills&&J[X.fills]!==void 0)X.fills=J[X.fills];if(X.strokes&&J[X.strokes]!==void 0)X.strokes=J[X.strokes];if(X.effects&&J[X.effects]!==void 0)X.effects=J[X.effects];if(X.textStyle&&J[X.textStyle]!==void 0)X.textStyle=J[X.textStyle];if(X.styles&&J[X.styles]!==void 0)X.styles=J[X.styles];if(X.layout&&J[X.layout]!==void 0)X.layout=J[X.layout];if(X.children)X.children=X.children.map((q)=>qq(q,J));return X}V$();function B1($){return!!$}function s0($,J,X){if(!(typeof J==="object"&&J!==null)||!($ in J))return!1;let W=J[$];return X?X(W):W!==void 0}function Kq($){return typeof $==="object"&&$!==null&&"top"in $&&"right"in $&&"bottom"in $&&"left"in $}function Gq($){return Array.isArray($)&&$.length===4&&$.every((J)=>typeof J==="number")}var bO=100,c7=0;async function mO(){if(c7++,c7%bO===0)await new Promise(($)=>setImmediate($))}async function n7($,J,X={},q={styles:{}}){let W={globalVars:q,currentDepth:0,fileKey:X.fileKey,figma:X.figma,extraComponents:X.extraComponents};c7=0;let Y=[];for(let Q of $){if(!d7(Q,X))continue;let K=await Vq(Q,J,W,X);if(K!==null)Y.push(K)}return{nodes:Y,globalVars:W.globalVars}}async function Vq($,J,X,q){if(!d7($,q))return null;await mO();let W={id:$.id,name:$.name,type:$.type==="VECTOR"?"IMAGE-SVG":$.type};for(let Y of J)await Y($,W,X);if(uO($,X,q)){let Y={...X,currentDepth:X.currentDepth+1,parent:$};if(s0("children",$)&&$.children.length>0){let Q=[];for(let K of $.children){if(!d7(K,q))continue;let G=await Vq(K,J,Y,q);if(G!==null)Q.push(G)}if(Q.length>0){let K=q.afterChildren?q.afterChildren($,W,Q):Q;if(K.length>0)W.children=K}}}return W}function d7($,J){if(!e9($))return!1;if(J.nodeFilter&&!J.nodeFilter($))return!1;return!0}function uO($,J,X){if(X.maxDepth!==void 0&&J.currentDepth>=X.maxDepth)return!1;return!0}function Hq($){return Object.fromEntries(Object.entries($).map(([J,X])=>[J,{id:J,key:X.key,name:X.name,description:X.description||void 0,componentSetId:X.componentSetId}]))}function Mq($){return Object.fromEntries(Object.entries($).map(([J,X])=>[J,{id:J,key:X.key,name:X.name,description:X.description}]))}V$();async function $5($,J,X={}){let{metadata:q,rawNodes:W,components:Y,componentSets:Q,extraStyles:K}=pO($),G={styles:{},extraStyles:K},{nodes:V,globalVars:H}=await n7(W,J,{...X,extraComponents:Y},G);return{...q,nodes:V,components:Hq(Y),componentSets:Mq(Q),globalVars:{styles:H.styles,variables:H.variables}}}function pO($){let J={},X={},q={},W;if("nodes"in $){let Q=Object.values($.nodes);Q.forEach((K)=>{if(K.components)Object.assign(J,K.components);if(K.componentSets)Object.assign(X,K.componentSets);if(K.styles)Object.assign(q,K.styles)}),W=Q.map((K)=>K.document).filter(e9)}else{if(Object.assign(J,$.components),Object.assign(X,$.componentSets),$.styles)q=$.styles;W=$.document.children.filter(e9)}let{name:Y}=$;return{metadata:{name:Y},rawNodes:W,extraStyles:q,components:J,componentSets:X}}function Oq($,J){let X={},q=$;if(q.layoutMode!==void 0)X.layoutMode=q.layoutMode;if(q.primaryAxisAlignItems!==void 0)X.primaryAxisAlignItems=q.primaryAxisAlignItems;if(q.counterAxisAlignItems!==void 0)X.counterAxisAlignItems=q.counterAxisAlignItems;if(q.primaryAxisSizingMode!==void 0)X.primaryAxisSizingMode=q.primaryAxisSizingMode;if(q.counterAxisSizingMode!==void 0)X.counterAxisSizingMode=q.counterAxisSizingMode;if(q.itemSpacing!==void 0)X.itemSpacing=q.itemSpacing;if(q.layoutWrap!==void 0)X.layoutWrap=q.layoutWrap;if(q.paddingTop!==void 0)X.paddingTop=q.paddingTop;if(q.paddingRight!==void 0)X.paddingRight=q.paddingRight;if(q.paddingBottom!==void 0)X.paddingBottom=q.paddingBottom;if(q.paddingLeft!==void 0)X.paddingLeft=q.paddingLeft;if(q.layoutAlign!==void 0)X.layoutAlign=q.layoutAlign;if(q.layoutGrow!==void 0)X.layoutGrow=q.layoutGrow;if(q.layoutSizingHorizontal!==void 0)X.layoutSizingHorizontal=q.layoutSizingHorizontal;if(q.layoutSizingVertical!==void 0)X.layoutSizingVertical=q.layoutSizingVertical;if(q.layoutPositioning!==void 0)X.layoutPositioning=q.layoutPositioning;if(q.overflowDirection!==void 0)X.overflowDirection=q.overflowDirection;if(q.clipsContent!==void 0)X.clipsContent=q.clipsContent;if(q.absoluteBoundingBox!==void 0)X.absoluteBoundingBox=q.absoluteBoundingBox;if(q.preserveRatio!==void 0)X.preserveRatio=q.preserveRatio;if(q.constraints!==void 0)X.constraints=q.constraints;return X}function Nq($,J=!1){let X={colors:[]};if(s0("strokes",$)&&Array.isArray($.strokes)&&$.strokes.length)X.colors=$.strokes.filter((q)=>q.visible);if(s0("strokeWeight",$)&&typeof $.strokeWeight==="number"&&$.strokeWeight>0)X.strokeWeight=$.strokeWeight;if(s0("strokeDashes",$)&&Array.isArray($.strokeDashes)&&$.strokeDashes.length)X.strokeDashes=[...$.strokeDashes];if(s0("individualStrokeWeights",$,Kq))X.strokeWeights=$.individualStrokeWeights;return X}function Uq($,J=!1){return{...$}}function Bq($){if(!s0("effects",$)||!Array.isArray($.effects))return[];return $.effects.filter((J)=>J.visible).map((J)=>lO(J))}function lO($){return{...$}}function Rq($){return $.type==="TEXT"}function r7($){return s0("style",$)&&Object.keys($.style).length>0}function jq($){if(s0("characters",$,B1))return $.characters}function Lq($){if(r7($)){let J=$.style;return{fontFamily:J.fontFamily,fontWeight:J.fontWeight,fontSize:J.fontSize,lineHeight:"lineHeightPx"in J&&typeof J.lineHeightPx==="number"?{value:J.lineHeightPx,unit:"PIXELS"}:void 0,letterSpacing:J.letterSpacing,textCase:J.textCase,textAlignHorizontal:J.textAlignHorizontal,textAlignVertical:J.textAlignVertical,paragraphSpacing:J.paragraphSpacing,textDecoration:J.textDecoration}}}V$();function cO($){return!!$&&typeof $==="object"&&$.type==="VARIABLE_ALIAS"&&typeof $.id==="string"}function dO($){let J=(q)=>Math.max(0,Math.min(255,Math.round(q*255))).toString(16).padStart(2,"0"),X=`#${J($.r)}${J($.g)}${J($.b)}`;return $.a<1?`${X}${J($.a)}`:X}function nO($){if($==null)return null;if(typeof $==="string"||typeof $==="number"||typeof $==="boolean")return $;if(cO($))return{aliasTo:$.id};if(typeof $==="object"&&$&&"r"in $&&"g"in $&&"b"in $){let J=$;return dO({...J,a:J.a??1})}return JSON.stringify($)}var o7=async($,J,X)=>{if(X.globalVars.variables!==void 0)return;if(!X.fileKey||!X.figma){X.globalVars.variables={collections:[]};return}let q=await X.figma.getVariables(X.fileKey);if("variables"in q&&q.variables==="scope_not_granted"){X.globalVars.variables="scope_not_granted";return}let W=q.variables,Y=Object.values(q.variableCollections).map((Q)=>{let K=Q.modes.map((H)=>H.name),V=(Q.variableIds??[]).map((H)=>W[H]).filter(Boolean).map((H)=>{let M=Object.fromEntries(Object.entries(H.valuesByMode).map(([U,j])=>{return[Q.modes.find((z)=>z.modeId===U)?.name??U,nO(j)]})),O=Object.values(M).filter((U)=>typeof U==="object"&&U!==null&&("aliasTo"in U)).map((U)=>U.aliasTo),N=Array.from(new Set(O));return{id:H.id,key:H.key,name:H.name,type:H.resolvedType,description:H.description||void 0,valuesByMode:M,aliasTo:N.length===1&&O.length===Object.keys(M).length?N[0]:null}});return{id:Q.id,key:Q.key,name:Q.name,modes:K,defaultMode:Q.modes.find((H)=>H.modeId===Q.defaultModeId)?.name??Q.defaultModeId,variables:V}});X.globalVars.variables={collections:Y}};var zq=new WeakMap;function rO($){let J=zq.get($);if(!J)J=new Map,zq.set($,J);return J}function H$($,J,X){let q=rO($),W=JSON.stringify(J),Y=q.get(W);if(Y)return Y;let Q=l7(X,J,$.styles);return $.styles[Q]=J,q.set(W,Q),Q}var oO=[[/\b(nav|navbar|navigation|menu|tabbar)\b/i,"navigation"],[/\b(header|hero)\b/i,"section"],[/\b(footer)\b/i,"footer"],[/\b(button|btn|cta)\b/i,"button"],[/\b(input|textfield|text field|textarea|search|select)\b/i,"input"],[/\b(card|tile)\b/i,"card"],[/\b(list|feed|grid|table|collection)\b/i,"list"],[/\b(modal|dialog|drawer|sheet|popover)\b/i,"dialog"],[/\b(form)\b/i,"form"],[/\b(icon)\b/i,"icon"],[/\b(image|illustration|banner|avatar|logo)\b/i,"image"]];function i7($,J){if(!$.semanticHints){$.semanticHints=[J];return}if(!$.semanticHints.includes(J))$.semanticHints.push(J)}function iO($){for(let[J,X]of oO)if(J.test($))return X;return}var Pq=($,J,X)=>{let q=Oq($,X.parent);if(Object.keys(q).length>0)J.layout=H$(X.globalVars,q,"layout");let W=$.constraints;if(s0("constraints",$)&&W)J.constraints={horizontal:Zq(W.horizontal),vertical:Zq(W.vertical)};if(s0("scrollBehavior",$)&&$.scrollBehavior)J.scrollBehavior=sO($.scrollBehavior)},Aq=($,J,X)=>{if(Rq($))J.text=jq($);if(r7($)){let q=Lq($);if(q){let W=R1($,X,["text","typography"]);if(W)X.globalVars.styles[W]=q,J.textStyle=W;else J.textStyle=H$(X.globalVars,q,"style")}}},Sq=($,J,X)=>{let q=s0("children",$)&&Array.isArray($.children)&&$.children.length>0;if(s0("fills",$)&&Array.isArray($.fills)&&$.fills.length){let Q=$.fills.map((G)=>Uq(G,q)).reverse(),K=R1($,X,["fill","fills"]);if(K)X.globalVars.styles[K]=Q,J.fills=K;else J.fills=H$(X.globalVars,Q,"fill")}let W=Nq($,q);if(W.colors.length){let Q=R1($,X,["stroke","strokes"]);if(Q)X.globalVars.styles[Q]=W.colors,J.strokes=Q;else J.strokes=H$(X.globalVars,W,"stroke")}let Y=Bq($);if(Y.length){let Q=R1($,X,["effect","effects"]);if(Q)X.globalVars.styles[Q]=Y,J.effects=Q;else J.effects=H$(X.globalVars,Y,"effect")}if(s0("opacity",$)&&typeof $.opacity==="number"&&$.opacity!==1)J.opacity=$.opacity;if(s0("cornerRadius",$)&&typeof $.cornerRadius==="number")J.borderRadius=`${$.cornerRadius}px`;if(s0("rectangleCornerRadii",$,Gq))J.borderRadius=`${$.rectangleCornerRadii[0]}px ${$.rectangleCornerRadii[1]}px ${$.rectangleCornerRadii[2]}px ${$.rectangleCornerRadii[3]}px`},Dq=($,J,X)=>{let q=$;if(q.componentId){let W=X.extraComponents?.[q.componentId];if(W?.description)J.description=W.description}if($.type==="INSTANCE"){if(q.componentId)J.componentId=q.componentId;if(q.componentProperties)J.componentProperties=Object.entries(q.componentProperties).map(([W,{value:Y,type:Q}])=>({name:W,value:Y.toString(),type:Q}))}if(s0("devStatus",$)&&$.devStatus){let{type:W,description:Y}=$.devStatus;if(W==="READY_FOR_DEV"||W==="COMPLETED")J.devStatus=W;if(Y)J.devNote=Y}},Eq=($,J)=>{if(!s0("interactions",$)||!Array.isArray($.interactions)||!$.interactions.length)return;let X=$.interactions.flatMap((q)=>{let W=q.trigger;if(!W)return[];let Y=aO(W);return(Array.isArray(q.actions)?q.actions:[]).map((K)=>{let G={trigger:Y,action:K.type};if(K.type==="NODE"){if(G.destination=K.destinationId??void 0,G.navigation=K.navigation??void 0,K.transition)G.transition=tO(K.transition)}else if(K.type==="URL")G.destination=K.url??void 0;else if(K.type==="SET_VARIABLE")G.variableId=K.variableId??void 0,G.value=eO(K.variableValue);return G})});if(X.length>0)J.interactions=X},Cq=($,J,X)=>{let q=iO($.name);if(q)J.role=q;if($.type==="TEXT"&&!J.role)J.role="text";if(J.type==="IMAGE-SVG")J.role=J.role??"icon",i7(J,"vector-asset");if($.type==="INSTANCE")i7(J,"component-instance");if($.type==="FRAME"&&!J.role&&/section|container|wrapper/i.test($.name))J.role="section"};function Zq($){switch($){case"LEFT":return"left";case"RIGHT":return"right";case"TOP":return"top";case"BOTTOM":return"bottom";case"CENTER":return"center";case"SCALE":return"scale";case"LEFT_RIGHT":case"TOP_BOTTOM":return"stretch";default:return"center"}}function sO($){switch($){case"SCROLLS":return"scrolls";case"FIXED":return"fixed";case"STICKY_SCROLLS":return"sticky-scrolls";default:return"scrolls"}}function aO($){let J={type:String($.type)};if(typeof $.delay==="number")return{...J,delay:$.delay,deprecatedVersion:$.deprecatedVersion};if(typeof $.timeout==="number")return{...J,timeout:$.timeout};if(Array.isArray($.keyCodes))return{...J,device:$.device,keyCodes:$.keyCodes};if(typeof $.mediaHitTime==="number")return{...J,mediaHitTime:$.mediaHitTime};return J}function tO($){if(!$)return;return{type:String($.type),duration:typeof $.duration==="number"?$.duration:void 0,easing:$.easing?.type?String($.easing.type):void 0,direction:$.direction?String($.direction):void 0,matchLayers:typeof $.matchLayers==="boolean"?$.matchLayers:void 0}}function eO($){let J=$?.value??$;if(J==null)return null;if(typeof J==="string"||typeof J==="number"||typeof J==="boolean")return J;if(typeof J==="object"&&J.type==="VARIABLE_ALIAS"&&typeof J.id==="string")return J.id;return JSON.stringify(J)}function R1($,J,X){if(!s0("styles",$))return;let q=$.styles;for(let W of X){let Y=q[W];if(Y){let Q=J.globalVars.extraStyles?.[Y];if(Q?.name)return Q.name}}return}var vq=[o7,Pq,Aq,Sq,Dq,Eq,Cq];function J5(){return vq}function Fq($){return JSON.stringify({type:$.type,role:$.role,hasText:Boolean($.text),childTypes:$.children?.map((J)=>J.type)??[]})}function $N($,J){if(J.length<2)return;let X=J.map((Q)=>Fq(Q)),q=new Map;for(let Q of X)q.set(Q,(q.get(Q)??0)+1);let W=Array.from(q.entries()).filter(([,Q])=>Q>1);if(W.length===0)return;let Y=new Set(W.map(([Q])=>Q));for(let Q of J)if(Y.has(Fq(Q)))Q.isRepeatedItem=!0,Q.role=Q.role??"list-item";if(!$.role||$.role==="section")$.role="list";i7($,"repeated-children")}var wq=new Set(["IMAGE-SVG","BOOLEAN_OPERATION","STAR","LINE","ELLIPSE","REGULAR_POLYGON","RECTANGLE"]);function X5($,J,X){$N(J,X);let q=X.every((W)=>wq.has(W.type));if(($.type==="FRAME"||$.type==="GROUP"||$.type==="INSTANCE"||$.type==="BOOLEAN_OPERATION")&&q&&!JN($))return J.type="IMAGE-SVG",[];return X}function JN($){if(s0("fills",$)&&$.fills.some((J)=>J.type==="IMAGE"))return!0;if(s0("children",$))return $.children.some((J)=>s0("fills",J)&&J.fills.some((X)=>X.type==="IMAGE"));return!1}var s7;(function($){$[$.BITMAP_INFO_HEADER=40]="BITMAP_INFO_HEADER",$[$.BITMAP_V2_INFO_HEADER=52]="BITMAP_V2_INFO_HEADER",$[$.BITMAP_V3_INFO_HEADER=56]="BITMAP_V3_INFO_HEADER",$[$.BITMAP_V4_HEADER=108]="BITMAP_V4_HEADER",$[$.BITMAP_V5_HEADER=124]="BITMAP_V5_HEADER"})(s7||(s7={}));var o8=s7;function a7($,J,X,q){let W=~$+1&$,Y=~J+1&J,Q=~X+1&X,K=~q+1&q,G=$/W+1,V=J/Y+1,H=X/Q+1,M=q/K+1;return{shiftRed:(O)=>(O&$)/W*256/G,shiftGreen:(O)=>(O&J)/Y*256/V,shiftBlue:(O)=>(O&X)/Q*256/H,shiftAlpha:q!==0?(O)=>(O&q)/K*256/M:()=>255}}var b6;(function($){$[$.NONE=0]="NONE",$[$.BI_RLE8=1]="BI_RLE8",$[$.BI_RLE4=2]="BI_RLE4",$[$.BI_BIT_FIELDS=3]="BI_BIT_FIELDS",$[$.BI_ALPHA_BIT_FIELDS=6]="BI_ALPHA_BIT_FIELDS"})(b6||(b6={}));class j1{flag;fileSize;reserved1;reserved2;offset;headerSize;width;height;planes;bitPP;compression;rawSize;hr;vr;colors;importantColors;palette;data;maskRed;maskGreen;maskBlue;maskAlpha;toRGBA;pos;bottomUp;buffer;locRed;locGreen;locBlue;locAlpha;shiftRed;shiftGreen;shiftBlue;shiftAlpha;constructor($,{toRGBA:J}={toRGBA:!1}){if(this.buffer=$,this.toRGBA=!!J,this.pos=0,this.bottomUp=!0,this.flag=this.buffer.toString("utf-8",0,this.pos+=2),this.flag!=="BM")throw Error("Invalid BMP File");this.locRed=this.toRGBA?0:3,this.locGreen=this.toRGBA?1:2,this.locBlue=this.toRGBA?2:1,this.locAlpha=this.toRGBA?3:0,this.parseHeader(),this.parseRGBA()}parseHeader(){if(this.fileSize=this.readUInt32LE(),this.reserved1=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.reserved2=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.offset=this.readUInt32LE(),this.headerSize=this.readUInt32LE(),!(this.headerSize in o8))throw Error(`Unsupported BMP header size ${this.headerSize}`);if(this.width=this.readUInt32LE(),this.height=this.readUInt32LE(),this.height=this.height>2147483647?this.height-4294967296:this.height,this.planes=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.bitPP=this.buffer.readUInt16LE(this.pos),this.pos+=2,this.compression=this.readUInt32LE(),this.rawSize=this.readUInt32LE(),this.hr=this.readUInt32LE(),this.vr=this.readUInt32LE(),this.colors=this.readUInt32LE(),this.importantColors=this.readUInt32LE(),this.bitPP===32)this.maskAlpha=0,this.maskRed=16711680,this.maskGreen=65280,this.maskBlue=255;else if(this.bitPP===16)this.maskAlpha=0,this.maskRed=31744,this.maskGreen=992,this.maskBlue=31;if(this.headerSize>o8.BITMAP_INFO_HEADER||this.compression===b6.BI_BIT_FIELDS||this.compression===b6.BI_ALPHA_BIT_FIELDS)this.maskRed=this.readUInt32LE(),this.maskGreen=this.readUInt32LE(),this.maskBlue=this.readUInt32LE();if(this.headerSize>o8.BITMAP_V2_INFO_HEADER||this.compression===b6.BI_ALPHA_BIT_FIELDS)this.maskAlpha=this.readUInt32LE();if(this.headerSize>o8.BITMAP_V3_INFO_HEADER)this.pos+=o8.BITMAP_V4_HEADER-o8.BITMAP_V3_INFO_HEADER;if(this.headerSize>o8.BITMAP_V4_HEADER)this.pos+=o8.BITMAP_V5_HEADER-o8.BITMAP_V4_HEADER;if(this.bitPP<=8||this.colors>0){let J=this.colors===0?1<<this.bitPP:this.colors;this.palette=Array(J);for(let X=0;X<J;X++){let q=this.buffer.readUInt8(this.pos++),W=this.buffer.readUInt8(this.pos++),Y=this.buffer.readUInt8(this.pos++),Q=this.buffer.readUInt8(this.pos++);this.palette[X]={red:Y,green:W,blue:q,quad:Q}}}if(this.height<0)this.height*=-1,this.bottomUp=!1;let $=a7(this.maskRed,this.maskGreen,this.maskBlue,this.maskAlpha);this.shiftRed=$.shiftRed,this.shiftGreen=$.shiftGreen,this.shiftBlue=$.shiftBlue,this.shiftAlpha=$.shiftAlpha}parseRGBA(){switch(this.data=Buffer.alloc(this.width*this.height*4),this.bitPP){case 1:this.bit1();break;case 4:this.bit4();break;case 8:this.bit8();break;case 16:this.bit16();break;case 24:this.bit24();break;default:this.bit32()}}bit1(){let $=Math.ceil(this.width/8),J=$%4,X=J!==0?4-J:0,q;this.scanImage(X,$,(W,Y)=>{if(Y!==q)q=Y;let Q=this.buffer.readUInt8(this.pos++),K=Y*this.width*4+W*8*4;for(let G=0;G<8;G++)if(W*8+G<this.width){let V=this.palette[Q>>7-G&1];this.data[K+G*this.locAlpha]=0,this.data[K+G*4+this.locBlue]=V.blue,this.data[K+G*4+this.locGreen]=V.green,this.data[K+G*4+this.locRed]=V.red}else break})}bit4(){if(this.compression===b6.BI_RLE4){this.data.fill(0);let $=!1,J=this.bottomUp?this.height-1:0,X=0;while(X<this.data.length){let q=this.buffer.readUInt8(this.pos++),W=this.buffer.readUInt8(this.pos++);if(q===0){if(W===0){J+=this.bottomUp?-1:1,X=J*this.width*4,$=!1;continue}if(W===1)break;if(W===2){let Y=this.buffer.readUInt8(this.pos++),Q=this.buffer.readUInt8(this.pos++);J+=this.bottomUp?-Q:Q,X+=Q*this.width*4+Y*4}else{let Y=this.buffer.readUInt8(this.pos++);for(let Q=0;Q<W;Q++){if(X=this.setPixelData(X,$?Y&15:(Y&240)>>4),Q&1&&Q+1<W)Y=this.buffer.readUInt8(this.pos++);$=!$}if((W+1>>1&1)===1)this.pos++}}else for(let Y=0;Y<q;Y++)X=this.setPixelData(X,$?W&15:(W&240)>>4),$=!$}}else{let $=Math.ceil(this.width/2),J=$%4,X=J!==0?4-J:0;this.scanImage(X,$,(q,W)=>{let Y=this.buffer.readUInt8(this.pos++),Q=W*this.width*4+q*2*4,K=Y>>4,G=this.palette[K];if(this.data[Q]=0,this.data[Q+1]=G.blue,this.data[Q+2]=G.green,this.data[Q+3]=G.red,q*2+1>=this.width)return!1;let V=Y&15;G=this.palette[V],this.data[Q+4]=0,this.data[Q+4+1]=G.blue,this.data[Q+4+2]=G.green,this.data[Q+4+3]=G.red})}}bit8(){if(this.compression===b6.BI_RLE8){this.data.fill(0);let $=this.bottomUp?this.height-1:0,J=0;while(J<this.data.length){let X=this.buffer.readUInt8(this.pos++),q=this.buffer.readUInt8(this.pos++);if(X===0){if(q===0){$+=this.bottomUp?-1:1,J=$*this.width*4;continue}if(q===1)break;if(q===2){let W=this.buffer.readUInt8(this.pos++),Y=this.buffer.readUInt8(this.pos++);$+=this.bottomUp?-Y:Y,J+=Y*this.width*4+W*4}else{for(let Y=0;Y<q;Y++){let Q=this.buffer.readUInt8(this.pos++);J=this.setPixelData(J,Q)}if(q&!0)this.pos++}}else for(let W=0;W<X;W++)J=this.setPixelData(J,q)}}else{let $=this.width%4,J=$!==0?4-$:0;this.scanImage(J,this.width,(X,q)=>{let W=this.buffer.readUInt8(this.pos++),Y=q*this.width*4+X*4;if(W<this.palette.length){let Q=this.palette[W];this.data[Y]=0,this.data[Y+1]=Q.blue,this.data[Y+2]=Q.green,this.data[Y+3]=Q.red}else this.data[Y]=0,this.data[Y+1]=255,this.data[Y+2]=255,this.data[Y+3]=255})}}bit16(){let $=this.width%2*2;this.scanImage($,this.width,(J,X)=>{let q=X*this.width*4+J*4,W=this.buffer.readUInt16LE(this.pos);this.pos+=2,this.data[q+this.locRed]=this.shiftRed(W),this.data[q+this.locGreen]=this.shiftGreen(W),this.data[q+this.locBlue]=this.shiftBlue(W),this.data[q+this.locAlpha]=this.shiftAlpha(W)})}bit24(){let $=this.width%4;this.scanImage($,this.width,(J,X)=>{let q=X*this.width*4+J*4,W=this.buffer.readUInt8(this.pos++),Y=this.buffer.readUInt8(this.pos++),Q=this.buffer.readUInt8(this.pos++);this.data[q+this.locRed]=Q,this.data[q+this.locGreen]=Y,this.data[q+this.locBlue]=W,this.data[q+this.locAlpha]=0})}bit32(){this.scanImage(0,this.width,($,J)=>{let X=J*this.width*4+$*4,q=this.readUInt32LE();this.data[X+this.locRed]=this.shiftRed(q),this.data[X+this.locGreen]=this.shiftGreen(q),this.data[X+this.locBlue]=this.shiftBlue(q),this.data[X+this.locAlpha]=this.shiftAlpha(q)})}scanImage($=0,J=this.width,X){for(let q=this.height-1;q>=0;q--){let W=this.bottomUp?q:this.height-1-q;for(let Y=0;Y<J;Y++)if(X.call(this,Y,W)===!1)return;this.pos+=$}}readUInt32LE(){let $=this.buffer.readUInt32LE(this.pos);return this.pos+=4,$}setPixelData($,J){let{blue:X,green:q,red:W}=this.palette[J];return this.data[$+this.locAlpha]=0,this.data[$+1+this.locBlue]=X,this.data[$+2+this.locGreen]=q,this.data[$+3+this.locRed]=W,$+4}}function kq($){return $.reduce((J,X)=>J<<1|X,0)}function t7($){return $.quad<<24|$.red<<16|$.green<<8|$.blue}class L1{fileSize;reserved1;reserved2;offset;width;flag;height;planes;bitPP;compress;hr;vr;colors;importantColors;rawSize;headerSize;data;palette;extraBytes;buffer;bytesInColor;pos;constructor($){if(this.buffer=$.data,this.width=$.width,this.height=$.height,this.headerSize=o8.BITMAP_INFO_HEADER,this.flag="BM",this.bitPP=$.bitPP||24,this.offset=54,this.reserved1=$.reserved1||0,this.reserved2=$.reserved2||0,this.planes=1,this.compress=0,this.hr=$.hr||0,this.vr=$.vr||0,this.importantColors=$.importantColors||0,this.colors=Math.min(2**(this.bitPP-1||1),$.colors||1/0),this.palette=$.palette||[],this.colors&&this.bitPP<16)this.offset+=this.colors*4;else this.colors=0;switch(this.bitPP){case 32:this.bytesInColor=4;break;case 16:this.bytesInColor=2;break;case 8:this.bytesInColor=1;break;case 4:this.bytesInColor=0.5;break;case 1:this.bytesInColor=0.125;break;default:this.bytesInColor=3,this.bitPP=24}let J=this.width*this.bitPP/32,X=Math.ceil(J);this.extraBytes=(X-J)*4,this.rawSize=this.height*X*4+2,this.fileSize=this.rawSize+this.offset,this.data=Buffer.alloc(this.fileSize,1),this.pos=0,this.encode()}encode(){switch(this.pos=0,this.writeHeader(),this.bitPP){case 32:this.bit32();break;case 16:this.bit16();break;case 8:this.bit8();break;case 4:this.bit4();break;case 1:this.bit1();break;default:this.bit24()}}writeHeader(){this.data.write(this.flag,this.pos,2),this.pos+=2,this.writeUInt32LE(this.fileSize),this.writeUInt32LE(this.reserved1<<16|this.reserved2),this.writeUInt32LE(this.offset),this.writeUInt32LE(this.headerSize),this.writeUInt32LE(this.width),this.writeUInt32LE(this.height),this.data.writeUInt16LE(this.planes,this.pos),this.pos+=2,this.data.writeUInt16LE(this.bitPP,this.pos),this.pos+=2,this.writeUInt32LE(this.compress),this.writeUInt32LE(this.rawSize),this.writeUInt32LE(this.hr),this.writeUInt32LE(this.vr),this.writeUInt32LE(this.colors),this.writeUInt32LE(this.importantColors)}bit1(){if(this.palette.length&&this.colors===2)this.initColors(1);else this.writeUInt32LE(16777215),this.writeUInt32LE(0);this.pos+=1;let $=[];this.writeImage((J,X,q)=>{let W=X;W++;let Y=this.buffer[W++],Q=this.buffer[W++],G=this.buffer[W++]*0.2126+Q*0.7152+Y*0.0722;if($.push(G>127?0:1),(q+1)%8===0)this.data[J-1]=kq($),$=[];else if(q===this.width-1&&$.length>0)this.data[J-1]=kq($)<<4,$=[];return W})}bit4(){let $=this.initColors(4),J=[];this.writeImage((X,q,W)=>{let Y=q,Q=t7({quad:this.buffer[Y++],blue:this.buffer[Y++],green:this.buffer[Y++],red:this.buffer[Y++]}),K=$.findIndex((G)=>G===Q);if(K!==-1)J.push(K);else J.push(0);if((W+1)%2===0)this.data[X]=J[0]<<4|J[1],J=[];return Y})}bit8(){let $=this.initColors(8);this.writeImage((J,X)=>{let q=X,W=t7({quad:this.buffer[q++],blue:this.buffer[q++],green:this.buffer[q++],red:this.buffer[q++]}),Y=$.findIndex((Q)=>Q===W);if(Y!==-1)this.data[J]=Y;else this.data[J]=0;return q})}bit16(){this.writeImage(($,J)=>{let X=J+1,q=this.buffer[X++]/8,W=this.buffer[X++]/8,Q=this.buffer[X++]/8<<10|W<<5|q;return this.data[$]=Q&255,this.data[$+1]=(Q&65280)>>8,X})}bit24(){this.writeImage(($,J)=>{let X=J+1;return this.data[$]=this.buffer[X++],this.data[$+1]=this.buffer[X++],this.data[$+2]=this.buffer[X++],X})}bit32(){this.writeImage(($,J)=>{let X=J;return this.data[$+3]=this.buffer[X++],this.data[$]=this.buffer[X++],this.data[$+1]=this.buffer[X++],this.data[$+2]=this.buffer[X++],X})}writeImage($){let J=this.extraBytes+this.width*this.bytesInColor,X=0;for(let q=0;q<this.height;q++)for(let W=0;W<this.width;W++){let Y=Math.floor(this.pos+(this.height-1-q)*J+W*this.bytesInColor);X=$.call(this,Y,X,W,q)}}initColors($){let J=[];if(this.palette.length)for(let X=0;X<this.colors;X++){let q=t7(this.palette[X]);this.writeUInt32LE(q),J.push(q)}else throw Error(`To encode ${$}-bit BMPs a pallette is needed. Please choose up to ${this.colors} colors. Colors must be 32-bit integers.`);return J}writeUInt32LE($){this.data.writeUInt32LE($,this.pos),this.pos+=4}}function Tq($,J){return new j1($,J)}function Iq($){return new L1($)}function z1($){return z1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(J){return typeof J}:function(J){return J&&typeof Symbol=="function"&&J.constructor===Symbol&&J!==Symbol.prototype?"symbol":typeof J},z1($)}var qN=/^\s+/,WN=/\s+$/;function j0($,J){if($=$?$:"",J=J||{},$ instanceof j0)return $;if(!(this instanceof j0))return new j0($,J);var X=YN($);if(this._originalInput=$,this._r=X.r,this._g=X.g,this._b=X.b,this._a=X.a,this._roundA=Math.round(100*this._a)/100,this._format=J.format||X.format,this._gradientType=J.gradientType,this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=X.ok}j0.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var J=this.toRgb();return(J.r*299+J.g*587+J.b*114)/1000},getLuminance:function(){var J=this.toRgb(),X,q,W,Y,Q,K;if(X=J.r/255,q=J.g/255,W=J.b/255,X<=0.03928)Y=X/12.92;else Y=Math.pow((X+0.055)/1.055,2.4);if(q<=0.03928)Q=q/12.92;else Q=Math.pow((q+0.055)/1.055,2.4);if(W<=0.03928)K=W/12.92;else K=Math.pow((W+0.055)/1.055,2.4);return 0.2126*Y+0.7152*Q+0.0722*K},setAlpha:function(J){return this._a=bq(J),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var J=_q(this._r,this._g,this._b);return{h:J.h*360,s:J.s,v:J.v,a:this._a}},toHsvString:function(){var J=_q(this._r,this._g,this._b),X=Math.round(J.h*360),q=Math.round(J.s*100),W=Math.round(J.v*100);return this._a==1?"hsv("+X+", "+q+"%, "+W+"%)":"hsva("+X+", "+q+"%, "+W+"%, "+this._roundA+")"},toHsl:function(){var J=yq(this._r,this._g,this._b);return{h:J.h*360,s:J.s,l:J.l,a:this._a}},toHslString:function(){var J=yq(this._r,this._g,this._b),X=Math.round(J.h*360),q=Math.round(J.s*100),W=Math.round(J.l*100);return this._a==1?"hsl("+X+", "+q+"%, "+W+"%)":"hsla("+X+", "+q+"%, "+W+"%, "+this._roundA+")"},toHex:function(J){return xq(this._r,this._g,this._b,J)},toHexString:function(J){return"#"+this.toHex(J)},toHex8:function(J){return VN(this._r,this._g,this._b,this._a,J)},toHex8String:function(J){return"#"+this.toHex8(J)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(t0(this._r,255)*100)+"%",g:Math.round(t0(this._g,255)*100)+"%",b:Math.round(t0(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(t0(this._r,255)*100)+"%, "+Math.round(t0(this._g,255)*100)+"%, "+Math.round(t0(this._b,255)*100)+"%)":"rgba("+Math.round(t0(this._r,255)*100)+"%, "+Math.round(t0(this._g,255)*100)+"%, "+Math.round(t0(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){if(this._a===0)return"transparent";if(this._a<1)return!1;return FN[xq(this._r,this._g,this._b,!0)]||!1},toFilter:function(J){var X="#"+hq(this._r,this._g,this._b,this._a),q=X,W=this._gradientType?"GradientType = 1, ":"";if(J){var Y=j0(J);q="#"+hq(Y._r,Y._g,Y._b,Y._a)}return"progid:DXImageTransform.Microsoft.gradient("+W+"startColorstr="+X+",endColorstr="+q+")"},toString:function(J){var X=!!J;J=J||this._format;var q=!1,W=this._a<1&&this._a>=0,Y=!X&&W&&(J==="hex"||J==="hex6"||J==="hex3"||J==="hex4"||J==="hex8"||J==="name");if(Y){if(J==="name"&&this._a===0)return this.toName();return this.toRgbString()}if(J==="rgb")q=this.toRgbString();if(J==="prgb")q=this.toPercentageRgbString();if(J==="hex"||J==="hex6")q=this.toHexString();if(J==="hex3")q=this.toHexString(!0);if(J==="hex4")q=this.toHex8String(!0);if(J==="hex8")q=this.toHex8String();if(J==="name")q=this.toName();if(J==="hsl")q=this.toHslString();if(J==="hsv")q=this.toHsvString();return q||this.toHexString()},clone:function(){return j0(this.toString())},_applyModification:function(J,X){var q=J.apply(null,[this].concat([].slice.call(X)));return this._r=q._r,this._g=q._g,this._b=q._b,this.setAlpha(q._a),this},lighten:function(){return this._applyModification(NN,arguments)},brighten:function(){return this._applyModification(UN,arguments)},darken:function(){return this._applyModification(BN,arguments)},desaturate:function(){return this._applyModification(HN,arguments)},saturate:function(){return this._applyModification(MN,arguments)},greyscale:function(){return this._applyModification(ON,arguments)},spin:function(){return this._applyModification(RN,arguments)},_applyCombination:function(J,X){return J.apply(null,[this].concat([].slice.call(X)))},analogous:function(){return this._applyCombination(zN,arguments)},complement:function(){return this._applyCombination(jN,arguments)},monochromatic:function(){return this._applyCombination(ZN,arguments)},splitcomplement:function(){return this._applyCombination(LN,arguments)},triad:function(){return this._applyCombination(gq,[3])},tetrad:function(){return this._applyCombination(gq,[4])}};j0.fromRatio=function($,J){if(z1($)=="object"){var X={};for(var q in $)if($.hasOwnProperty(q))if(q==="a")X[q]=$[q];else X[q]=M$($[q]);$=X}return j0($,J)};function YN($){var J={r:0,g:0,b:0},X=1,q=null,W=null,Y=null,Q=!1,K=!1;if(typeof $=="string")$=DN($);if(z1($)=="object"){if(m6($.r)&&m6($.g)&&m6($.b))J=QN($.r,$.g,$.b),Q=!0,K=String($.r).substr(-1)==="%"?"prgb":"rgb";else if(m6($.h)&&m6($.s)&&m6($.v))q=M$($.s),W=M$($.v),J=GN($.h,q,W),Q=!0,K="hsv";else if(m6($.h)&&m6($.s)&&m6($.l))q=M$($.s),Y=M$($.l),J=KN($.h,q,Y),Q=!0,K="hsl";if($.hasOwnProperty("a"))X=$.a}return X=bq(X),{ok:Q,format:$.format||K,r:Math.min(255,Math.max(J.r,0)),g:Math.min(255,Math.max(J.g,0)),b:Math.min(255,Math.max(J.b,0)),a:X}}function QN($,J,X){return{r:t0($,255)*255,g:t0(J,255)*255,b:t0(X,255)*255}}function yq($,J,X){$=t0($,255),J=t0(J,255),X=t0(X,255);var q=Math.max($,J,X),W=Math.min($,J,X),Y,Q,K=(q+W)/2;if(q==W)Y=Q=0;else{var G=q-W;switch(Q=K>0.5?G/(2-q-W):G/(q+W),q){case $:Y=(J-X)/G+(J<X?6:0);break;case J:Y=(X-$)/G+2;break;case X:Y=($-J)/G+4;break}Y/=6}return{h:Y,s:Q,l:K}}function KN($,J,X){var q,W,Y;$=t0($,360),J=t0(J,100),X=t0(X,100);function Q(V,H,M){if(M<0)M+=1;if(M>1)M-=1;if(M<0.16666666666666666)return V+(H-V)*6*M;if(M<0.5)return H;if(M<0.6666666666666666)return V+(H-V)*(0.6666666666666666-M)*6;return V}if(J===0)q=W=Y=X;else{var K=X<0.5?X*(1+J):X+J-X*J,G=2*X-K;q=Q(G,K,$+0.3333333333333333),W=Q(G,K,$),Y=Q(G,K,$-0.3333333333333333)}return{r:q*255,g:W*255,b:Y*255}}function _q($,J,X){$=t0($,255),J=t0(J,255),X=t0(X,255);var q=Math.max($,J,X),W=Math.min($,J,X),Y,Q,K=q,G=q-W;if(Q=q===0?0:G/q,q==W)Y=0;else{switch(q){case $:Y=(J-X)/G+(J<X?6:0);break;case J:Y=(X-$)/G+2;break;case X:Y=($-J)/G+4;break}Y/=6}return{h:Y,s:Q,v:K}}function GN($,J,X){$=t0($,360)*6,J=t0(J,100),X=t0(X,100);var q=Math.floor($),W=$-q,Y=X*(1-J),Q=X*(1-W*J),K=X*(1-(1-W)*J),G=q%6,V=[X,Q,Y,Y,K,X][G],H=[K,X,X,Q,Y,Y][G],M=[Y,Y,K,X,X,Q][G];return{r:V*255,g:H*255,b:M*255}}function xq($,J,X,q){var W=[G6(Math.round($).toString(16)),G6(Math.round(J).toString(16)),G6(Math.round(X).toString(16))];if(q&&W[0].charAt(0)==W[0].charAt(1)&&W[1].charAt(0)==W[1].charAt(1)&&W[2].charAt(0)==W[2].charAt(1))return W[0].charAt(0)+W[1].charAt(0)+W[2].charAt(0);return W.join("")}function VN($,J,X,q,W){var Y=[G6(Math.round($).toString(16)),G6(Math.round(J).toString(16)),G6(Math.round(X).toString(16)),G6(mq(q))];if(W&&Y[0].charAt(0)==Y[0].charAt(1)&&Y[1].charAt(0)==Y[1].charAt(1)&&Y[2].charAt(0)==Y[2].charAt(1)&&Y[3].charAt(0)==Y[3].charAt(1))return Y[0].charAt(0)+Y[1].charAt(0)+Y[2].charAt(0)+Y[3].charAt(0);return Y.join("")}function hq($,J,X,q){var W=[G6(mq(q)),G6(Math.round($).toString(16)),G6(Math.round(J).toString(16)),G6(Math.round(X).toString(16))];return W.join("")}j0.equals=function($,J){if(!$||!J)return!1;return j0($).toRgbString()==j0(J).toRgbString()};j0.random=function(){return j0.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function HN($,J){J=J===0?0:J||10;var X=j0($).toHsl();return X.s-=J/100,X.s=Z1(X.s),j0(X)}function MN($,J){J=J===0?0:J||10;var X=j0($).toHsl();return X.s+=J/100,X.s=Z1(X.s),j0(X)}function ON($){return j0($).desaturate(100)}function NN($,J){J=J===0?0:J||10;var X=j0($).toHsl();return X.l+=J/100,X.l=Z1(X.l),j0(X)}function UN($,J){J=J===0?0:J||10;var X=j0($).toRgb();return X.r=Math.max(0,Math.min(255,X.r-Math.round(255*-(J/100)))),X.g=Math.max(0,Math.min(255,X.g-Math.round(255*-(J/100)))),X.b=Math.max(0,Math.min(255,X.b-Math.round(255*-(J/100)))),j0(X)}function BN($,J){J=J===0?0:J||10;var X=j0($).toHsl();return X.l-=J/100,X.l=Z1(X.l),j0(X)}function RN($,J){var X=j0($).toHsl(),q=(X.h+J)%360;return X.h=q<0?360+q:q,j0(X)}function jN($){var J=j0($).toHsl();return J.h=(J.h+180)%360,j0(J)}function gq($,J){if(isNaN(J)||J<=0)throw Error("Argument to polyad must be a positive number");var X=j0($).toHsl(),q=[j0($)],W=360/J;for(var Y=1;Y<J;Y++)q.push(j0({h:(X.h+Y*W)%360,s:X.s,l:X.l}));return q}function LN($){var J=j0($).toHsl(),X=J.h;return[j0($),j0({h:(X+72)%360,s:J.s,l:J.l}),j0({h:(X+216)%360,s:J.s,l:J.l})]}function zN($,J,X){J=J||6,X=X||30;var q=j0($).toHsl(),W=360/X,Y=[j0($)];for(q.h=(q.h-(W*J>>1)+720)%360;--J;)q.h=(q.h+W)%360,Y.push(j0(q));return Y}function ZN($,J){J=J||6;var X=j0($).toHsv(),q=X.h,W=X.s,Y=X.v,Q=[],K=1/J;while(J--)Q.push(j0({h:q,s:W,v:Y})),Y=(Y+K)%1;return Q}j0.mix=function($,J,X){X=X===0?0:X||50;var q=j0($).toRgb(),W=j0(J).toRgb(),Y=X/100,Q={r:(W.r-q.r)*Y+q.r,g:(W.g-q.g)*Y+q.g,b:(W.b-q.b)*Y+q.b,a:(W.a-q.a)*Y+q.a};return j0(Q)};j0.readability=function($,J){var X=j0($),q=j0(J);return(Math.max(X.getLuminance(),q.getLuminance())+0.05)/(Math.min(X.getLuminance(),q.getLuminance())+0.05)};j0.isReadable=function($,J,X){var q=j0.readability($,J),W,Y;switch(Y=!1,W=EN(X),W.level+W.size){case"AAsmall":case"AAAlarge":Y=q>=4.5;break;case"AAlarge":Y=q>=3;break;case"AAAsmall":Y=q>=7;break}return Y};j0.mostReadable=function($,J,X){var q=null,W=0,Y,Q,K,G;X=X||{},Q=X.includeFallbackColors,K=X.level,G=X.size;for(var V=0;V<J.length;V++)if(Y=j0.readability($,J[V]),Y>W)W=Y,q=j0(J[V]);if(j0.isReadable($,q,{level:K,size:G})||!Q)return q;else return X.includeFallbackColors=!1,j0.mostReadable($,["#fff","#000"],X)};var e7=j0.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},FN=j0.hexNames=PN(e7);function PN($){var J={};for(var X in $)if($.hasOwnProperty(X))J[$[X]]=X;return J}function bq($){if($=parseFloat($),isNaN($)||$<0||$>1)$=1;return $}function t0($,J){if(AN($))$="100%";var X=SN($);if($=Math.min(J,Math.max(0,parseFloat($))),X)$=parseInt($*J,10)/100;if(Math.abs($-J)<0.000001)return 1;return $%J/parseFloat(J)}function Z1($){return Math.min(1,Math.max(0,$))}function f8($){return parseInt($,16)}function AN($){return typeof $=="string"&&$.indexOf(".")!=-1&&parseFloat($)===1}function SN($){return typeof $==="string"&&$.indexOf("%")!=-1}function G6($){return $.length==1?"0"+$:""+$}function M$($){if($<=1)$=$*100+"%";return $}function mq($){return Math.round(parseFloat($)*255).toString(16)}function fq($){return f8($)/255}var K6=function(){var $="[-\\+]?\\d+%?",J="[-\\+]?\\d*\\.\\d+%?",X="(?:"+J+")|(?:"+$+")",q="[\\s|\\(]+("+X+")[,|\\s]+("+X+")[,|\\s]+("+X+")\\s*\\)?",W="[\\s|\\(]+("+X+")[,|\\s]+("+X+")[,|\\s]+("+X+")[,|\\s]+("+X+")\\s*\\)?";return{CSS_UNIT:new RegExp(X),rgb:new RegExp("rgb"+q),rgba:new RegExp("rgba"+W),hsl:new RegExp("hsl"+q),hsla:new RegExp("hsla"+W),hsv:new RegExp("hsv"+q),hsva:new RegExp("hsva"+W),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function m6($){return!!K6.CSS_UNIT.exec($)}function DN($){$=$.replace(qN,"").replace(WN,"").toLowerCase();var J=!1;if(e7[$])$=e7[$],J=!0;else if($=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var X;if(X=K6.rgb.exec($))return{r:X[1],g:X[2],b:X[3]};if(X=K6.rgba.exec($))return{r:X[1],g:X[2],b:X[3],a:X[4]};if(X=K6.hsl.exec($))return{h:X[1],s:X[2],l:X[3]};if(X=K6.hsla.exec($))return{h:X[1],s:X[2],l:X[3],a:X[4]};if(X=K6.hsv.exec($))return{h:X[1],s:X[2],v:X[3]};if(X=K6.hsva.exec($))return{h:X[1],s:X[2],v:X[3],a:X[4]};if(X=K6.hex8.exec($))return{r:f8(X[1]),g:f8(X[2]),b:f8(X[3]),a:fq(X[4]),format:J?"name":"hex8"};if(X=K6.hex6.exec($))return{r:f8(X[1]),g:f8(X[2]),b:f8(X[3]),format:J?"name":"hex"};if(X=K6.hex4.exec($))return{r:f8(X[1]+""+X[1]),g:f8(X[2]+""+X[2]),b:f8(X[3]+""+X[3]),a:fq(X[4]+""+X[4]),format:J?"name":"hex8"};if(X=K6.hex3.exec($))return{r:f8(X[1]+""+X[1]),g:f8(X[2]+""+X[2]),b:f8(X[3]+""+X[3]),format:J?"name":"hex"};return!1}function EN($){var J,X;if($=$||{level:"AA",size:"small"},J=($.level||"AA").toUpperCase(),X=($.size||"small").toLowerCase(),J!=="AA"&&J!=="AAA")J="AA";if(X!=="small"&&X!=="large")X="small";return{level:J,size:X}}function b8($){let J={width:$.bitmap.width,height:$.bitmap.height,data:Buffer.from($.bitmap.data)};return new $.constructor(J)}function i8($,J,X,q,W,Y){let Q,K,G,V,H;if(typeof J==="function")H=J,Q=0,K=0,G=$.bitmap.width,V=$.bitmap.height;else{if(Q=J,typeof X!=="number")throw Error("y must be a number");if(K=X,typeof q!=="number")throw Error("w must be a number");if(G=q,typeof W!=="number")throw Error("h must be a number");if(V=W,typeof Y!=="function")throw Error("cb must be a function");H=Y}Q=Math.round(Q),K=Math.round(K),G=Math.round(G),V=Math.round(V);let M=H.bind($);for(let O=K;O<K+V;O++)for(let N=Q;N<Q+G;N++){let U=$.bitmap.width*O+N<<2;M(N,O,U)}return $}function*uq($,J,X,q,W){J=Math.round(J),X=Math.round(X),q=Math.round(q),W=Math.round(W);for(let Y=X;Y<X+W;Y++)for(let Q=J;Q<J+q;Q++){let K=$.bitmap.width*Y+Q<<2;yield{x:Q,y:Y,idx:K,image:$}}}function q5($){if(typeof $!=="number")throw Error("i must be a number");let J={r:0,g:0,b:0,a:0};return J.r=Math.floor($/Math.pow(256,3)),J.g=Math.floor(($-J.r*Math.pow(256,3))/Math.pow(256,2)),J.b=Math.floor(($-J.r*Math.pow(256,3)-J.g*Math.pow(256,2))/Math.pow(256,1)),J.a=Math.floor(($-J.r*Math.pow(256,3)-J.g*Math.pow(256,2)-J.b*Math.pow(256,1))/Math.pow(256,0)),J}function O$($,J){let X=(K)=>Math.pow(K,2),{max:q}=Math,W=195075,Y="a"in $?$.a:255,Q="a"in J?J.a:255;return(q(X($.r-J.r),X($.r-J.r-Y+Q))+q(X($.g-J.g),X($.g-J.g-Y+Q))+q(X($.b-J.b),X($.b-J.b-Y+Q)))/195075}function e0($){return $=Math.max($,0),$=Math.min($,255),$}function pq($){if(typeof $==="number")return $;return parseInt(j0($).toHex8(),16)}function lq($,J={}){return i8({bitmap:$},0,0,$.width,$.height,function(X,q,W){let Y=$.data[W+0],Q=$.data[W+1],K=$.data[W+2],G=$.data[W+3];$.data[W+0]=G,$.data[W+1]=K,$.data[W+2]=Q,$.data[W+3]=Y}),Iq({...$,...J}).data}function cq($,J){let X=Tq($,J);return i8({bitmap:X},0,0,X.width,X.height,function(q,W,Y){let Q=X.data[Y+1],K=X.data[Y+2],G=X.data[Y+3];X.data[Y+0]=G,X.data[Y+1]=K,X.data[Y+2]=Q,X.data[Y+3]=255}),X}function dq(){return{mime:"image/x-ms-bmp",encode:lq,decode:cq}}function F1(){return{mime:"image/bmp",encode:lq,decode:cq}}var iW=P6($J(),1),Q9=P6(oW(),1);function I1(){return{mime:"image/gif",encode:async($)=>{let J=new Q9.BitmapImage($);Q9.GifUtil.quantizeDekker(J,256);let X=new Q9.GifFrame($);return(await new Q9.GifCodec().encodeGif([X],{})).buffer},decode:($)=>{let J=new iW.default.GifReader($),X=Buffer.alloc(J.width*J.height*4);return J.decodeAndBlitFrameRGBA(0,X),{data:X,width:J.width,height:J.height}}}}var UJ=P6(XY(),1);function _1(){return{mime:"image/jpeg",encode:($,{quality:J=100}={})=>UJ.default.encode($,J).data,decode:($,J)=>UJ.default.decode($,J)}}var h1=P6(oY(),1);var x1;(function($){$[$.AUTO=-1]="AUTO",$[$.NONE=0]="NONE",$[$.SUB=1]="SUB",$[$.UP=2]="UP",$[$.AVERAGE=3]="AVERAGE",$[$.PATH=4]="PATH"})(x1||(x1={}));var P$;(function($){$[$.GRAYSCALE=0]="GRAYSCALE",$[$.COLOR=2]="COLOR",$[$.GRAYSCALE_ALPHA=4]="GRAYSCALE_ALPHA",$[$.COLOR_ALPHA=6]="COLOR_ALPHA"})(P$||(P$={}));function g1(){return{mime:"image/png",hasAlpha:!0,encode:($,{deflateLevel:J=9,deflateStrategy:X=3,filterType:q=x1.AUTO,colorType:W,inputHasAlpha:Y=!0,...Q}={})=>{let K=new h1.PNG({width:$.width,height:$.height});return K.data=$.data,h1.PNG.sync.write(K,{...Q,deflateLevel:J,deflateStrategy:X,filterType:q,colorType:typeof W<"u"?W:Y?P$.COLOR_ALPHA:P$.COLOR,inputHasAlpha:Y})},decode:($,J)=>{let X=h1.PNG.sync.read($,J);return{data:X.data,width:X.width,height:X.height}}}}var g$=P6(gK(),1);function fK($){if(typeof $==="number")return $;if($ instanceof Uint8Array)return $[0];if(typeof $[0]==="string")return parseInt($[0]);return $[0]}function $7(){return{mime:"image/tiff",encode:($)=>{let J=g$.default.encodeImage($.data,$.width,$.height);return Buffer.from(J)},decode:($)=>{let J=g$.default.decode($),X=J[0];if(!X)throw Error("No page found in TIFF");if(!X.t256)throw Error("No image width found in TIFF");if(!X.t257)throw Error("No image height found in TIFF");J.forEach((W)=>{g$.default.decodeImage($,W)});let q=g$.default.toRGBA8(X);return{data:Buffer.from(q),width:fK(X.t256),height:fK(X.t257)}}}}var g={};K1(g,{void:()=>wz,util:()=>l0,unknown:()=>Cz,union:()=>yz,undefined:()=>Sz,tuple:()=>hz,transformer:()=>nz,symbol:()=>Az,string:()=>rK,strictObject:()=>Iz,setErrorMap:()=>oL,set:()=>bz,record:()=>gz,quotelessJson:()=>nL,promise:()=>dz,preprocess:()=>iz,pipeline:()=>sz,ostring:()=>az,optional:()=>rz,onumber:()=>tz,oboolean:()=>ez,objectUtil:()=>M4,object:()=>Tz,number:()=>oK,nullable:()=>oz,null:()=>Dz,never:()=>vz,nativeEnum:()=>cz,nan:()=>Zz,map:()=>fz,makeIssue:()=>f$,literal:()=>pz,lazy:()=>uz,late:()=>Lz,isValid:()=>B9,isDirty:()=>X7,isAsync:()=>A5,isAborted:()=>J7,intersection:()=>xz,instanceof:()=>zz,getParsedType:()=>I6,getErrorMap:()=>P5,function:()=>mz,enum:()=>lz,effect:()=>nz,discriminatedUnion:()=>_z,defaultErrorMap:()=>r6,datetimeRegex:()=>cK,date:()=>Pz,custom:()=>nK,coerce:()=>$Z,boolean:()=>iK,bigint:()=>Fz,array:()=>kz,any:()=>Ez,addIssueToContext:()=>U0,ZodVoid:()=>m$,ZodUnknown:()=>R9,ZodUnion:()=>w5,ZodUndefined:()=>C5,ZodType:()=>m0,ZodTuple:()=>_6,ZodTransformer:()=>R6,ZodSymbol:()=>b$,ZodString:()=>O6,ZodSet:()=>p9,ZodSchema:()=>m0,ZodRecord:()=>u$,ZodReadonly:()=>h5,ZodPromise:()=>l9,ZodPipeline:()=>c$,ZodParsedType:()=>H0,ZodOptional:()=>U6,ZodObject:()=>Y8,ZodNumber:()=>j9,ZodNullable:()=>i6,ZodNull:()=>v5,ZodNever:()=>y6,ZodNativeEnum:()=>y5,ZodNaN:()=>l$,ZodMap:()=>p$,ZodLiteral:()=>I5,ZodLazy:()=>T5,ZodIssueCode:()=>Q0,ZodIntersection:()=>k5,ZodFunction:()=>D5,ZodFirstPartyTypeKind:()=>C0,ZodError:()=>g8,ZodEnum:()=>z9,ZodEffects:()=>R6,ZodDiscriminatedUnion:()=>q7,ZodDefault:()=>_5,ZodDate:()=>m9,ZodCatch:()=>x5,ZodBranded:()=>W7,ZodBoolean:()=>E5,ZodBigInt:()=>L9,ZodArray:()=>N6,ZodAny:()=>u9,Schema:()=>m0,ParseStatus:()=>F8,OK:()=>D8,NEVER:()=>JZ,INVALID:()=>D0,EMPTY_PATH:()=>iL,DIRTY:()=>b9,BRAND:()=>jz});var l0;(function($){$.assertEqual=(W)=>{};function J(W){}$.assertIs=J;function X(W){throw Error()}$.assertNever=X,$.arrayToEnum=(W)=>{let Y={};for(let Q of W)Y[Q]=Q;return Y},$.getValidEnumValues=(W)=>{let Y=$.objectKeys(W).filter((K)=>typeof W[W[K]]!=="number"),Q={};for(let K of Y)Q[K]=W[K];return $.objectValues(Q)},$.objectValues=(W)=>{return $.objectKeys(W).map(function(Y){return W[Y]})},$.objectKeys=typeof Object.keys==="function"?(W)=>Object.keys(W):(W)=>{let Y=[];for(let Q in W)if(Object.prototype.hasOwnProperty.call(W,Q))Y.push(Q);return Y},$.find=(W,Y)=>{for(let Q of W)if(Y(Q))return Q;return},$.isInteger=typeof Number.isInteger==="function"?(W)=>Number.isInteger(W):(W)=>typeof W==="number"&&Number.isFinite(W)&&Math.floor(W)===W;function q(W,Y=" | "){return W.map((Q)=>typeof Q==="string"?`'${Q}'`:Q).join(Y)}$.joinValues=q,$.jsonStringifyReplacer=(W,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(l0||(l0={}));var M4;(function($){$.mergeShapes=(J,X)=>{return{...J,...X}}})(M4||(M4={}));var H0=l0.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),I6=($)=>{switch(typeof $){case"undefined":return H0.undefined;case"string":return H0.string;case"number":return Number.isNaN($)?H0.nan:H0.number;case"boolean":return H0.boolean;case"function":return H0.function;case"bigint":return H0.bigint;case"symbol":return H0.symbol;case"object":if(Array.isArray($))return H0.array;if($===null)return H0.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return H0.promise;if(typeof Map<"u"&&$ instanceof Map)return H0.map;if(typeof Set<"u"&&$ instanceof Set)return H0.set;if(typeof Date<"u"&&$ instanceof Date)return H0.date;return H0.object;default:return H0.unknown}};var Q0=l0.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),nL=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class g8 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=$}format($){let J=$||function(W){return W.message},X={_errors:[]},q=(W)=>{for(let Y of W.issues)if(Y.code==="invalid_union")Y.unionErrors.map(q);else if(Y.code==="invalid_return_type")q(Y.returnTypeError);else if(Y.code==="invalid_arguments")q(Y.argumentsError);else if(Y.path.length===0)X._errors.push(J(Y));else{let Q=X,K=0;while(K<Y.path.length){let G=Y.path[K];if(K!==Y.path.length-1)Q[G]=Q[G]||{_errors:[]};else Q[G]=Q[G]||{_errors:[]},Q[G]._errors.push(J(Y));Q=Q[G],K++}}};return q(this),X}static assert($){if(!($ instanceof g8))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,l0.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(J)=>J.message){let J={},X=[];for(let q of this.issues)if(q.path.length>0){let W=q.path[0];J[W]=J[W]||[],J[W].push($(q))}else X.push($(q));return{formErrors:X,fieldErrors:J}}get formErrors(){return this.flatten()}}g8.create=($)=>{return new g8($)};var rL=($,J)=>{let X;switch($.code){case Q0.invalid_type:if($.received===H0.undefined)X="Required";else X=`Expected ${$.expected}, received ${$.received}`;break;case Q0.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify($.expected,l0.jsonStringifyReplacer)}`;break;case Q0.unrecognized_keys:X=`Unrecognized key(s) in object: ${l0.joinValues($.keys,", ")}`;break;case Q0.invalid_union:X="Invalid input";break;case Q0.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${l0.joinValues($.options)}`;break;case Q0.invalid_enum_value:X=`Invalid enum value. Expected ${l0.joinValues($.options)}, received '${$.received}'`;break;case Q0.invalid_arguments:X="Invalid function arguments";break;case Q0.invalid_return_type:X="Invalid function return type";break;case Q0.invalid_date:X="Invalid date";break;case Q0.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(X=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)X=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)X=`Invalid input: must end with "${$.validation.endsWith}"`;else l0.assertNever($.validation);else if($.validation!=="regex")X=`Invalid ${$.validation}`;else X="Invalid";break;case Q0.too_small:if($.type==="array")X=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")X=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")X=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")X=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")X=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else X="Invalid input";break;case Q0.too_big:if($.type==="array")X=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")X=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")X=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")X=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")X=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else X="Invalid input";break;case Q0.custom:X="Invalid input";break;case Q0.invalid_intersection_types:X="Intersection results could not be merged";break;case Q0.not_multiple_of:X=`Number must be a multiple of ${$.multipleOf}`;break;case Q0.not_finite:X="Number must be finite";break;default:X=J.defaultError,l0.assertNever($)}return{message:X}},r6=rL;var bK=r6;function oL($){bK=$}function P5(){return bK}var f$=($)=>{let{data:J,path:X,errorMaps:q,issueData:W}=$,Y=[...X,...W.path||[]],Q={...W,path:Y};if(W.message!==void 0)return{...W,path:Y,message:W.message};let K="",G=q.filter((V)=>!!V).slice().reverse();for(let V of G)K=V(Q,{data:J,defaultError:K}).message;return{...W,path:Y,message:K}},iL=[];function U0($,J){let X=P5(),q=f$({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,X,X===r6?void 0:r6].filter((W)=>!!W)});$.common.issues.push(q)}class F8{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,J){let X=[];for(let q of J){if(q.status==="aborted")return D0;if(q.status==="dirty")$.dirty();X.push(q.value)}return{status:$.value,value:X}}static async mergeObjectAsync($,J){let X=[];for(let q of J){let W=await q.key,Y=await q.value;X.push({key:W,value:Y})}return F8.mergeObjectSync($,X)}static mergeObjectSync($,J){let X={};for(let q of J){let{key:W,value:Y}=q;if(W.status==="aborted")return D0;if(Y.status==="aborted")return D0;if(W.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(W.value!=="__proto__"&&(typeof Y.value<"u"||q.alwaysSet))X[W.value]=Y.value}return{status:$.value,value:X}}}var D0=Object.freeze({status:"aborted"}),b9=($)=>({status:"dirty",value:$}),D8=($)=>({status:"valid",value:$}),J7=($)=>$.status==="aborted",X7=($)=>$.status==="dirty",B9=($)=>$.status==="valid",A5=($)=>typeof Promise<"u"&&$ instanceof Promise;var L0;(function($){$.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},$.toString=(J)=>typeof J==="string"?J:J?.message})(L0||(L0={}));class B6{constructor($,J,X,q){this._cachedPath=[],this.parent=$,this.data=J,this._path=X,this._key=q}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var mK=($,J)=>{if(B9(J))return{success:!0,data:J.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new g8($.common.issues);return this._error=X,this._error}}}};function _0($){if(!$)return{};let{errorMap:J,invalid_type_error:X,required_error:q,description:W}=$;if(J&&(X||q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:W};return{errorMap:(Q,K)=>{let{message:G}=$;if(Q.code==="invalid_enum_value")return{message:G??K.defaultError};if(typeof K.data>"u")return{message:G??q??K.defaultError};if(Q.code!=="invalid_type")return{message:K.defaultError};return{message:G??X??K.defaultError}},description:W}}class m0{get description(){return this._def.description}_getType($){return I6($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:I6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new F8,ctx:{common:$.parent.common,data:$.data,parsedType:I6($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(A5(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync($){let J=this._parse($);return Promise.resolve(J)}parse($,J){let X=this.safeParse($,J);if(X.success)return X.data;throw X.error}safeParse($,J){let X={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:I6($)},q=this._parseSync({data:$,path:X.path,parent:X});return mK(X,q)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:I6($)};if(!this["~standard"].async)try{let X=this._parseSync({data:$,path:[],parent:J});return B9(X)?{value:X.value}:{issues:J.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:J}).then((X)=>B9(X)?{value:X.value}:{issues:J.common.issues})}async parseAsync($,J){let X=await this.safeParseAsync($,J);if(X.success)return X.data;throw X.error}async safeParseAsync($,J){let X={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:I6($)},q=this._parse({data:$,path:X.path,parent:X}),W=await(A5(q)?q:Promise.resolve(q));return mK(X,W)}refine($,J){let X=(q)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(q);else return J};return this._refinement((q,W)=>{let Y=$(q),Q=()=>W.addIssue({code:Q0.custom,...X(q)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((K)=>{if(!K)return Q(),!1;else return!0});if(!Y)return Q(),!1;else return!0})}refinement($,J){return this._refinement((X,q)=>{if(!$(X))return q.addIssue(typeof J==="function"?J(X,q):J),!1;else return!0})}_refinement($){return new R6({schema:this,typeName:C0.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(J)=>this["~validate"](J)}}optional(){return U6.create(this,this._def)}nullable(){return i6.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N6.create(this)}promise(){return l9.create(this,this._def)}or($){return w5.create([this,$],this._def)}and($){return k5.create(this,$,this._def)}transform($){return new R6({..._0(this._def),schema:this,typeName:C0.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new _5({..._0(this._def),innerType:this,defaultValue:J,typeName:C0.ZodDefault})}brand(){return new W7({typeName:C0.ZodBranded,type:this,..._0(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new x5({..._0(this._def),innerType:this,catchValue:J,typeName:C0.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return c$.create(this,$)}readonly(){return h5.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var sL=/^c[^\s-]{8,}$/i,aL=/^[0-9a-z]+$/,tL=/^[0-9A-HJKMNP-TV-Z]{26}$/i,eL=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,$z=/^[a-z0-9_-]{21}$/i,Jz=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Xz=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,qz=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Wz="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",O4,Yz=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Qz=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Kz=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Gz=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Vz=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Hz=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,pK="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Mz=new RegExp(`^${pK}$`);function lK($){let J="[0-5]\\d";if($.precision)J=`${J}\\.\\d{${$.precision}}`;else if($.precision==null)J=`${J}(\\.\\d+)?`;let X=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${X}`}function Oz($){return new RegExp(`^${lK($)}$`)}function cK($){let J=`${pK}T${lK($)}`,X=[];if(X.push($.local?"Z?":"Z"),$.offset)X.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${X.join("|")})`,new RegExp(`^${J}$`)}function Nz($,J){if((J==="v4"||!J)&&Yz.test($))return!0;if((J==="v6"||!J)&&Kz.test($))return!0;return!1}function Uz($,J){if(!Jz.test($))return!1;try{let[X]=$.split(".");if(!X)return!1;let q=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),W=JSON.parse(atob(q));if(typeof W!=="object"||W===null)return!1;if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(J&&W.alg!==J)return!1;return!0}catch{return!1}}function Bz($,J){if((J==="v4"||!J)&&Qz.test($))return!0;if((J==="v6"||!J)&&Gz.test($))return!0;return!1}class O6 extends m0{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==H0.string){let W=this._getOrReturnCtx($);return U0(W,{code:Q0.invalid_type,expected:H0.string,received:W.parsedType}),D0}let X=new F8,q=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.length<W.value)q=this._getOrReturnCtx($,q),U0(q,{code:Q0.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),X.dirty()}else if(W.kind==="max"){if($.data.length>W.value)q=this._getOrReturnCtx($,q),U0(q,{code:Q0.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),X.dirty()}else if(W.kind==="length"){let Y=$.data.length>W.value,Q=$.data.length<W.value;if(Y||Q){if(q=this._getOrReturnCtx($,q),Y)U0(q,{code:Q0.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});else if(Q)U0(q,{code:Q0.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});X.dirty()}}else if(W.kind==="email"){if(!qz.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"email",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="emoji"){if(!O4)O4=new RegExp(Wz,"u");if(!O4.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"emoji",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="uuid"){if(!eL.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"uuid",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="nanoid"){if(!$z.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"nanoid",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="cuid"){if(!sL.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"cuid",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="cuid2"){if(!aL.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"cuid2",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="ulid"){if(!tL.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"ulid",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="url")try{new URL($.data)}catch{q=this._getOrReturnCtx($,q),U0(q,{validation:"url",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="regex"){if(W.regex.lastIndex=0,!W.regex.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"regex",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="trim")$.data=$.data.trim();else if(W.kind==="includes"){if(!$.data.includes(W.value,W.position))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:{includes:W.value,position:W.position},message:W.message}),X.dirty()}else if(W.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(W.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(W.kind==="startsWith"){if(!$.data.startsWith(W.value))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:{startsWith:W.value},message:W.message}),X.dirty()}else if(W.kind==="endsWith"){if(!$.data.endsWith(W.value))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:{endsWith:W.value},message:W.message}),X.dirty()}else if(W.kind==="datetime"){if(!cK(W).test($.data))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:"datetime",message:W.message}),X.dirty()}else if(W.kind==="date"){if(!Mz.test($.data))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:"date",message:W.message}),X.dirty()}else if(W.kind==="time"){if(!Oz(W).test($.data))q=this._getOrReturnCtx($,q),U0(q,{code:Q0.invalid_string,validation:"time",message:W.message}),X.dirty()}else if(W.kind==="duration"){if(!Xz.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"duration",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="ip"){if(!Nz($.data,W.version))q=this._getOrReturnCtx($,q),U0(q,{validation:"ip",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="jwt"){if(!Uz($.data,W.alg))q=this._getOrReturnCtx($,q),U0(q,{validation:"jwt",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="cidr"){if(!Bz($.data,W.version))q=this._getOrReturnCtx($,q),U0(q,{validation:"cidr",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="base64"){if(!Vz.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"base64",code:Q0.invalid_string,message:W.message}),X.dirty()}else if(W.kind==="base64url"){if(!Hz.test($.data))q=this._getOrReturnCtx($,q),U0(q,{validation:"base64url",code:Q0.invalid_string,message:W.message}),X.dirty()}else l0.assertNever(W);return{status:X.value,value:$.data}}_regex($,J,X){return this.refinement((q)=>$.test(q),{validation:J,code:Q0.invalid_string,...L0.errToObj(X)})}_addCheck($){return new O6({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...L0.errToObj($)})}url($){return this._addCheck({kind:"url",...L0.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...L0.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...L0.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...L0.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...L0.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...L0.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...L0.errToObj($)})}base64($){return this._addCheck({kind:"base64",...L0.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...L0.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...L0.errToObj($)})}ip($){return this._addCheck({kind:"ip",...L0.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...L0.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...L0.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...L0.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...L0.errToObj($)})}regex($,J){return this._addCheck({kind:"regex",regex:$,...L0.errToObj(J)})}includes($,J){return this._addCheck({kind:"includes",value:$,position:J?.position,...L0.errToObj(J?.message)})}startsWith($,J){return this._addCheck({kind:"startsWith",value:$,...L0.errToObj(J)})}endsWith($,J){return this._addCheck({kind:"endsWith",value:$,...L0.errToObj(J)})}min($,J){return this._addCheck({kind:"min",value:$,...L0.errToObj(J)})}max($,J){return this._addCheck({kind:"max",value:$,...L0.errToObj(J)})}length($,J){return this._addCheck({kind:"length",value:$,...L0.errToObj(J)})}nonempty($){return this.min(1,L0.errToObj($))}trim(){return new O6({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O6({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O6({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxLength(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}O6.create=($)=>{return new O6({checks:[],typeName:C0.ZodString,coerce:$?.coerce??!1,..._0($)})};function Rz($,J){let X=($.toString().split(".")[1]||"").length,q=(J.toString().split(".")[1]||"").length,W=X>q?X:q,Y=Number.parseInt($.toFixed(W).replace(".","")),Q=Number.parseInt(J.toFixed(W).replace(".",""));return Y%Q/10**W}class j9 extends m0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==H0.number){let W=this._getOrReturnCtx($);return U0(W,{code:Q0.invalid_type,expected:H0.number,received:W.parsedType}),D0}let X=void 0,q=new F8;for(let W of this._def.checks)if(W.kind==="int"){if(!l0.isInteger($.data))X=this._getOrReturnCtx($,X),U0(X,{code:Q0.invalid_type,expected:"integer",received:"float",message:W.message}),q.dirty()}else if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)X=this._getOrReturnCtx($,X),U0(X,{code:Q0.too_small,minimum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),q.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)X=this._getOrReturnCtx($,X),U0(X,{code:Q0.too_big,maximum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),q.dirty()}else if(W.kind==="multipleOf"){if(Rz($.data,W.value)!==0)X=this._getOrReturnCtx($,X),U0(X,{code:Q0.not_multiple_of,multipleOf:W.value,message:W.message}),q.dirty()}else if(W.kind==="finite"){if(!Number.isFinite($.data))X=this._getOrReturnCtx($,X),U0(X,{code:Q0.not_finite,message:W.message}),q.dirty()}else l0.assertNever(W);return{status:q.value,value:$.data}}gte($,J){return this.setLimit("min",$,!0,L0.toString(J))}gt($,J){return this.setLimit("min",$,!1,L0.toString(J))}lte($,J){return this.setLimit("max",$,!0,L0.toString(J))}lt($,J){return this.setLimit("max",$,!1,L0.toString(J))}setLimit($,J,X,q){return new j9({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:X,message:L0.toString(q)}]})}_addCheck($){return new j9({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:L0.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:L0.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:L0.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:L0.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:L0.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:L0.toString(J)})}finite($){return this._addCheck({kind:"finite",message:L0.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:L0.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:L0.toString($)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&l0.isInteger($.value))}get isFinite(){let $=null,J=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(J===null||X.value>J)J=X.value}else if(X.kind==="max"){if($===null||X.value<$)$=X.value}return Number.isFinite(J)&&Number.isFinite($)}}j9.create=($)=>{return new j9({checks:[],typeName:C0.ZodNumber,coerce:$?.coerce||!1,..._0($)})};class L9 extends m0{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==H0.bigint)return this._getInvalidInput($);let X=void 0,q=new F8;for(let W of this._def.checks)if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)X=this._getOrReturnCtx($,X),U0(X,{code:Q0.too_small,type:"bigint",minimum:W.value,inclusive:W.inclusive,message:W.message}),q.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)X=this._getOrReturnCtx($,X),U0(X,{code:Q0.too_big,type:"bigint",maximum:W.value,inclusive:W.inclusive,message:W.message}),q.dirty()}else if(W.kind==="multipleOf"){if($.data%W.value!==BigInt(0))X=this._getOrReturnCtx($,X),U0(X,{code:Q0.not_multiple_of,multipleOf:W.value,message:W.message}),q.dirty()}else l0.assertNever(W);return{status:q.value,value:$.data}}_getInvalidInput($){let J=this._getOrReturnCtx($);return U0(J,{code:Q0.invalid_type,expected:H0.bigint,received:J.parsedType}),D0}gte($,J){return this.setLimit("min",$,!0,L0.toString(J))}gt($,J){return this.setLimit("min",$,!1,L0.toString(J))}lte($,J){return this.setLimit("max",$,!0,L0.toString(J))}lt($,J){return this.setLimit("max",$,!1,L0.toString(J))}setLimit($,J,X,q){return new L9({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:X,message:L0.toString(q)}]})}_addCheck($){return new L9({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:L0.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:L0.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:L0.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:L0.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:L0.toString(J)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}L9.create=($)=>{return new L9({checks:[],typeName:C0.ZodBigInt,coerce:$?.coerce??!1,..._0($)})};class E5 extends m0{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==H0.boolean){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.boolean,received:X.parsedType}),D0}return D8($.data)}}E5.create=($)=>{return new E5({typeName:C0.ZodBoolean,coerce:$?.coerce||!1,..._0($)})};class m9 extends m0{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==H0.date){let W=this._getOrReturnCtx($);return U0(W,{code:Q0.invalid_type,expected:H0.date,received:W.parsedType}),D0}if(Number.isNaN($.data.getTime())){let W=this._getOrReturnCtx($);return U0(W,{code:Q0.invalid_date}),D0}let X=new F8,q=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.getTime()<W.value)q=this._getOrReturnCtx($,q),U0(q,{code:Q0.too_small,message:W.message,inclusive:!0,exact:!1,minimum:W.value,type:"date"}),X.dirty()}else if(W.kind==="max"){if($.data.getTime()>W.value)q=this._getOrReturnCtx($,q),U0(q,{code:Q0.too_big,message:W.message,inclusive:!0,exact:!1,maximum:W.value,type:"date"}),X.dirty()}else l0.assertNever(W);return{status:X.value,value:new Date($.data.getTime())}}_addCheck($){return new m9({...this._def,checks:[...this._def.checks,$]})}min($,J){return this._addCheck({kind:"min",value:$.getTime(),message:L0.toString(J)})}max($,J){return this._addCheck({kind:"max",value:$.getTime(),message:L0.toString(J)})}get minDate(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $!=null?new Date($):null}}m9.create=($)=>{return new m9({checks:[],coerce:$?.coerce||!1,typeName:C0.ZodDate,..._0($)})};class b$ extends m0{_parse($){if(this._getType($)!==H0.symbol){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.symbol,received:X.parsedType}),D0}return D8($.data)}}b$.create=($)=>{return new b$({typeName:C0.ZodSymbol,..._0($)})};class C5 extends m0{_parse($){if(this._getType($)!==H0.undefined){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.undefined,received:X.parsedType}),D0}return D8($.data)}}C5.create=($)=>{return new C5({typeName:C0.ZodUndefined,..._0($)})};class v5 extends m0{_parse($){if(this._getType($)!==H0.null){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.null,received:X.parsedType}),D0}return D8($.data)}}v5.create=($)=>{return new v5({typeName:C0.ZodNull,..._0($)})};class u9 extends m0{constructor(){super(...arguments);this._any=!0}_parse($){return D8($.data)}}u9.create=($)=>{return new u9({typeName:C0.ZodAny,..._0($)})};class R9 extends m0{constructor(){super(...arguments);this._unknown=!0}_parse($){return D8($.data)}}R9.create=($)=>{return new R9({typeName:C0.ZodUnknown,..._0($)})};class y6 extends m0{_parse($){let J=this._getOrReturnCtx($);return U0(J,{code:Q0.invalid_type,expected:H0.never,received:J.parsedType}),D0}}y6.create=($)=>{return new y6({typeName:C0.ZodNever,..._0($)})};class m$ extends m0{_parse($){if(this._getType($)!==H0.undefined){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.void,received:X.parsedType}),D0}return D8($.data)}}m$.create=($)=>{return new m$({typeName:C0.ZodVoid,..._0($)})};class N6 extends m0{_parse($){let{ctx:J,status:X}=this._processInputParams($),q=this._def;if(J.parsedType!==H0.array)return U0(J,{code:Q0.invalid_type,expected:H0.array,received:J.parsedType}),D0;if(q.exactLength!==null){let Y=J.data.length>q.exactLength.value,Q=J.data.length<q.exactLength.value;if(Y||Q)U0(J,{code:Y?Q0.too_big:Q0.too_small,minimum:Q?q.exactLength.value:void 0,maximum:Y?q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:q.exactLength.message}),X.dirty()}if(q.minLength!==null){if(J.data.length<q.minLength.value)U0(J,{code:Q0.too_small,minimum:q.minLength.value,type:"array",inclusive:!0,exact:!1,message:q.minLength.message}),X.dirty()}if(q.maxLength!==null){if(J.data.length>q.maxLength.value)U0(J,{code:Q0.too_big,maximum:q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:q.maxLength.message}),X.dirty()}if(J.common.async)return Promise.all([...J.data].map((Y,Q)=>{return q.type._parseAsync(new B6(J,Y,J.path,Q))})).then((Y)=>{return F8.mergeArray(X,Y)});let W=[...J.data].map((Y,Q)=>{return q.type._parseSync(new B6(J,Y,J.path,Q))});return F8.mergeArray(X,W)}get element(){return this._def.type}min($,J){return new N6({...this._def,minLength:{value:$,message:L0.toString(J)}})}max($,J){return new N6({...this._def,maxLength:{value:$,message:L0.toString(J)}})}length($,J){return new N6({...this._def,exactLength:{value:$,message:L0.toString(J)}})}nonempty($){return this.min(1,$)}}N6.create=($,J)=>{return new N6({type:$,minLength:null,maxLength:null,exactLength:null,typeName:C0.ZodArray,..._0(J)})};function S5($){if($ instanceof Y8){let J={};for(let X in $.shape){let q=$.shape[X];J[X]=U6.create(S5(q))}return new Y8({...$._def,shape:()=>J})}else if($ instanceof N6)return new N6({...$._def,type:S5($.element)});else if($ instanceof U6)return U6.create(S5($.unwrap()));else if($ instanceof i6)return i6.create(S5($.unwrap()));else if($ instanceof _6)return _6.create($.items.map((J)=>S5(J)));else return $}class Y8 extends m0{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),J=l0.objectKeys($);return this._cached={shape:$,keys:J},this._cached}_parse($){if(this._getType($)!==H0.object){let G=this._getOrReturnCtx($);return U0(G,{code:Q0.invalid_type,expected:H0.object,received:G.parsedType}),D0}let{status:X,ctx:q}=this._processInputParams($),{shape:W,keys:Y}=this._getCached(),Q=[];if(!(this._def.catchall instanceof y6&&this._def.unknownKeys==="strip")){for(let G in q.data)if(!Y.includes(G))Q.push(G)}let K=[];for(let G of Y){let V=W[G],H=q.data[G];K.push({key:{status:"valid",value:G},value:V._parse(new B6(q,H,q.path,G)),alwaysSet:G in q.data})}if(this._def.catchall instanceof y6){let G=this._def.unknownKeys;if(G==="passthrough")for(let V of Q)K.push({key:{status:"valid",value:V},value:{status:"valid",value:q.data[V]}});else if(G==="strict"){if(Q.length>0)U0(q,{code:Q0.unrecognized_keys,keys:Q}),X.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let V of Q){let H=q.data[V];K.push({key:{status:"valid",value:V},value:G._parse(new B6(q,H,q.path,V)),alwaysSet:V in q.data})}}if(q.common.async)return Promise.resolve().then(async()=>{let G=[];for(let V of K){let H=await V.key,M=await V.value;G.push({key:H,value:M,alwaysSet:V.alwaysSet})}return G}).then((G)=>{return F8.mergeObjectSync(X,G)});else return F8.mergeObjectSync(X,K)}get shape(){return this._def.shape()}strict($){return L0.errToObj,new Y8({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(J,X)=>{let q=this._def.errorMap?.(J,X).message??X.defaultError;if(J.code==="unrecognized_keys")return{message:L0.errToObj($).message??q};return{message:q}}}:{}})}strip(){return new Y8({...this._def,unknownKeys:"strip"})}passthrough(){return new Y8({...this._def,unknownKeys:"passthrough"})}extend($){return new Y8({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new Y8({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:C0.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new Y8({...this._def,catchall:$})}pick($){let J={};for(let X of l0.objectKeys($))if($[X]&&this.shape[X])J[X]=this.shape[X];return new Y8({...this._def,shape:()=>J})}omit($){let J={};for(let X of l0.objectKeys(this.shape))if(!$[X])J[X]=this.shape[X];return new Y8({...this._def,shape:()=>J})}deepPartial(){return S5(this)}partial($){let J={};for(let X of l0.objectKeys(this.shape)){let q=this.shape[X];if($&&!$[X])J[X]=q;else J[X]=q.optional()}return new Y8({...this._def,shape:()=>J})}required($){let J={};for(let X of l0.objectKeys(this.shape))if($&&!$[X])J[X]=this.shape[X];else{let W=this.shape[X];while(W instanceof U6)W=W._def.innerType;J[X]=W}return new Y8({...this._def,shape:()=>J})}keyof(){return dK(l0.objectKeys(this.shape))}}Y8.create=($,J)=>{return new Y8({shape:()=>$,unknownKeys:"strip",catchall:y6.create(),typeName:C0.ZodObject,..._0(J)})};Y8.strictCreate=($,J)=>{return new Y8({shape:()=>$,unknownKeys:"strict",catchall:y6.create(),typeName:C0.ZodObject,..._0(J)})};Y8.lazycreate=($,J)=>{return new Y8({shape:$,unknownKeys:"strip",catchall:y6.create(),typeName:C0.ZodObject,..._0(J)})};class w5 extends m0{_parse($){let{ctx:J}=this._processInputParams($),X=this._def.options;function q(W){for(let Q of W)if(Q.result.status==="valid")return Q.result;for(let Q of W)if(Q.result.status==="dirty")return J.common.issues.push(...Q.ctx.common.issues),Q.result;let Y=W.map((Q)=>new g8(Q.ctx.common.issues));return U0(J,{code:Q0.invalid_union,unionErrors:Y}),D0}if(J.common.async)return Promise.all(X.map(async(W)=>{let Y={...J,common:{...J.common,issues:[]},parent:null};return{result:await W._parseAsync({data:J.data,path:J.path,parent:Y}),ctx:Y}})).then(q);else{let W=void 0,Y=[];for(let K of X){let G={...J,common:{...J.common,issues:[]},parent:null},V=K._parseSync({data:J.data,path:J.path,parent:G});if(V.status==="valid")return V;else if(V.status==="dirty"&&!W)W={result:V,ctx:G};if(G.common.issues.length)Y.push(G.common.issues)}if(W)return J.common.issues.push(...W.ctx.common.issues),W.result;let Q=Y.map((K)=>new g8(K));return U0(J,{code:Q0.invalid_union,unionErrors:Q}),D0}}get options(){return this._def.options}}w5.create=($,J)=>{return new w5({options:$,typeName:C0.ZodUnion,..._0(J)})};var o6=($)=>{if($ instanceof T5)return o6($.schema);else if($ instanceof R6)return o6($.innerType());else if($ instanceof I5)return[$.value];else if($ instanceof z9)return $.options;else if($ instanceof y5)return l0.objectValues($.enum);else if($ instanceof _5)return o6($._def.innerType);else if($ instanceof C5)return[void 0];else if($ instanceof v5)return[null];else if($ instanceof U6)return[void 0,...o6($.unwrap())];else if($ instanceof i6)return[null,...o6($.unwrap())];else if($ instanceof W7)return o6($.unwrap());else if($ instanceof h5)return o6($.unwrap());else if($ instanceof x5)return o6($._def.innerType);else return[]};class q7 extends m0{_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==H0.object)return U0(J,{code:Q0.invalid_type,expected:H0.object,received:J.parsedType}),D0;let X=this.discriminator,q=J.data[X],W=this.optionsMap.get(q);if(!W)return U0(J,{code:Q0.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),D0;if(J.common.async)return W._parseAsync({data:J.data,path:J.path,parent:J});else return W._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,J,X){let q=new Map;for(let W of J){let Y=o6(W.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let Q of Y){if(q.has(Q))throw Error(`Discriminator property ${String($)} has duplicate value ${String(Q)}`);q.set(Q,W)}}return new q7({typeName:C0.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:q,..._0(X)})}}function N4($,J){let X=I6($),q=I6(J);if($===J)return{valid:!0,data:$};else if(X===H0.object&&q===H0.object){let W=l0.objectKeys(J),Y=l0.objectKeys($).filter((K)=>W.indexOf(K)!==-1),Q={...$,...J};for(let K of Y){let G=N4($[K],J[K]);if(!G.valid)return{valid:!1};Q[K]=G.data}return{valid:!0,data:Q}}else if(X===H0.array&&q===H0.array){if($.length!==J.length)return{valid:!1};let W=[];for(let Y=0;Y<$.length;Y++){let Q=$[Y],K=J[Y],G=N4(Q,K);if(!G.valid)return{valid:!1};W.push(G.data)}return{valid:!0,data:W}}else if(X===H0.date&&q===H0.date&&+$===+J)return{valid:!0,data:$};else return{valid:!1}}class k5 extends m0{_parse($){let{status:J,ctx:X}=this._processInputParams($),q=(W,Y)=>{if(J7(W)||J7(Y))return D0;let Q=N4(W.value,Y.value);if(!Q.valid)return U0(X,{code:Q0.invalid_intersection_types}),D0;if(X7(W)||X7(Y))J.dirty();return{status:J.value,value:Q.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([W,Y])=>q(W,Y));else return q(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}k5.create=($,J,X)=>{return new k5({left:$,right:J,typeName:C0.ZodIntersection,..._0(X)})};class _6 extends m0{_parse($){let{status:J,ctx:X}=this._processInputParams($);if(X.parsedType!==H0.array)return U0(X,{code:Q0.invalid_type,expected:H0.array,received:X.parsedType}),D0;if(X.data.length<this._def.items.length)return U0(X,{code:Q0.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),D0;if(!this._def.rest&&X.data.length>this._def.items.length)U0(X,{code:Q0.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let W=[...X.data].map((Y,Q)=>{let K=this._def.items[Q]||this._def.rest;if(!K)return null;return K._parse(new B6(X,Y,X.path,Q))}).filter((Y)=>!!Y);if(X.common.async)return Promise.all(W).then((Y)=>{return F8.mergeArray(J,Y)});else return F8.mergeArray(J,W)}get items(){return this._def.items}rest($){return new _6({...this._def,rest:$})}}_6.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new _6({items:$,typeName:C0.ZodTuple,rest:null,..._0(J)})};class u$ extends m0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:X}=this._processInputParams($);if(X.parsedType!==H0.object)return U0(X,{code:Q0.invalid_type,expected:H0.object,received:X.parsedType}),D0;let q=[],W=this._def.keyType,Y=this._def.valueType;for(let Q in X.data)q.push({key:W._parse(new B6(X,Q,X.path,Q)),value:Y._parse(new B6(X,X.data[Q],X.path,Q)),alwaysSet:Q in X.data});if(X.common.async)return F8.mergeObjectAsync(J,q);else return F8.mergeObjectSync(J,q)}get element(){return this._def.valueType}static create($,J,X){if(J instanceof m0)return new u$({keyType:$,valueType:J,typeName:C0.ZodRecord,..._0(X)});return new u$({keyType:O6.create(),valueType:$,typeName:C0.ZodRecord,..._0(J)})}}class p$ extends m0{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:X}=this._processInputParams($);if(X.parsedType!==H0.map)return U0(X,{code:Q0.invalid_type,expected:H0.map,received:X.parsedType}),D0;let q=this._def.keyType,W=this._def.valueType,Y=[...X.data.entries()].map(([Q,K],G)=>{return{key:q._parse(new B6(X,Q,X.path,[G,"key"])),value:W._parse(new B6(X,K,X.path,[G,"value"]))}});if(X.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let K of Y){let G=await K.key,V=await K.value;if(G.status==="aborted"||V.status==="aborted")return D0;if(G.status==="dirty"||V.status==="dirty")J.dirty();Q.set(G.value,V.value)}return{status:J.value,value:Q}})}else{let Q=new Map;for(let K of Y){let{key:G,value:V}=K;if(G.status==="aborted"||V.status==="aborted")return D0;if(G.status==="dirty"||V.status==="dirty")J.dirty();Q.set(G.value,V.value)}return{status:J.value,value:Q}}}}p$.create=($,J,X)=>{return new p$({valueType:J,keyType:$,typeName:C0.ZodMap,..._0(X)})};class p9 extends m0{_parse($){let{status:J,ctx:X}=this._processInputParams($);if(X.parsedType!==H0.set)return U0(X,{code:Q0.invalid_type,expected:H0.set,received:X.parsedType}),D0;let q=this._def;if(q.minSize!==null){if(X.data.size<q.minSize.value)U0(X,{code:Q0.too_small,minimum:q.minSize.value,type:"set",inclusive:!0,exact:!1,message:q.minSize.message}),J.dirty()}if(q.maxSize!==null){if(X.data.size>q.maxSize.value)U0(X,{code:Q0.too_big,maximum:q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:q.maxSize.message}),J.dirty()}let W=this._def.valueType;function Y(K){let G=new Set;for(let V of K){if(V.status==="aborted")return D0;if(V.status==="dirty")J.dirty();G.add(V.value)}return{status:J.value,value:G}}let Q=[...X.data.values()].map((K,G)=>W._parse(new B6(X,K,X.path,G)));if(X.common.async)return Promise.all(Q).then((K)=>Y(K));else return Y(Q)}min($,J){return new p9({...this._def,minSize:{value:$,message:L0.toString(J)}})}max($,J){return new p9({...this._def,maxSize:{value:$,message:L0.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}p9.create=($,J)=>{return new p9({valueType:$,minSize:null,maxSize:null,typeName:C0.ZodSet,..._0(J)})};class D5 extends m0{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==H0.function)return U0(J,{code:Q0.invalid_type,expected:H0.function,received:J.parsedType}),D0;function X(Q,K){return f$({data:Q,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,P5(),r6].filter((G)=>!!G),issueData:{code:Q0.invalid_arguments,argumentsError:K}})}function q(Q,K){return f$({data:Q,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,P5(),r6].filter((G)=>!!G),issueData:{code:Q0.invalid_return_type,returnTypeError:K}})}let W={errorMap:J.common.contextualErrorMap},Y=J.data;if(this._def.returns instanceof l9){let Q=this;return D8(async function(...K){let G=new g8([]),V=await Q._def.args.parseAsync(K,W).catch((O)=>{throw G.addIssue(X(K,O)),G}),H=await Reflect.apply(Y,this,V);return await Q._def.returns._def.type.parseAsync(H,W).catch((O)=>{throw G.addIssue(q(H,O)),G})})}else{let Q=this;return D8(function(...K){let G=Q._def.args.safeParse(K,W);if(!G.success)throw new g8([X(K,G.error)]);let V=Reflect.apply(Y,this,G.data),H=Q._def.returns.safeParse(V,W);if(!H.success)throw new g8([q(V,H.error)]);return H.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new D5({...this._def,args:_6.create($).rest(R9.create())})}returns($){return new D5({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,X){return new D5({args:$?$:_6.create([]).rest(R9.create()),returns:J||R9.create(),typeName:C0.ZodFunction,..._0(X)})}}class T5 extends m0{get schema(){return this._def.getter()}_parse($){let{ctx:J}=this._processInputParams($);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}T5.create=($,J)=>{return new T5({getter:$,typeName:C0.ZodLazy,..._0(J)})};class I5 extends m0{_parse($){if($.data!==this._def.value){let J=this._getOrReturnCtx($);return U0(J,{received:J.data,code:Q0.invalid_literal,expected:this._def.value}),D0}return{status:"valid",value:$.data}}get value(){return this._def.value}}I5.create=($,J)=>{return new I5({value:$,typeName:C0.ZodLiteral,..._0(J)})};function dK($,J){return new z9({values:$,typeName:C0.ZodEnum,..._0(J)})}class z9 extends m0{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),X=this._def.values;return U0(J,{expected:l0.joinValues(X),received:J.parsedType,code:Q0.invalid_type}),D0}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let J=this._getOrReturnCtx($),X=this._def.values;return U0(J,{received:J.data,code:Q0.invalid_enum_value,options:X}),D0}return D8($.data)}get options(){return this._def.values}get enum(){let $={};for(let J of this._def.values)$[J]=J;return $}get Values(){let $={};for(let J of this._def.values)$[J]=J;return $}get Enum(){let $={};for(let J of this._def.values)$[J]=J;return $}extract($,J=this._def){return z9.create($,{...this._def,...J})}exclude($,J=this._def){return z9.create(this.options.filter((X)=>!$.includes(X)),{...this._def,...J})}}z9.create=dK;class y5 extends m0{_parse($){let J=l0.getValidEnumValues(this._def.values),X=this._getOrReturnCtx($);if(X.parsedType!==H0.string&&X.parsedType!==H0.number){let q=l0.objectValues(J);return U0(X,{expected:l0.joinValues(q),received:X.parsedType,code:Q0.invalid_type}),D0}if(!this._cache)this._cache=new Set(l0.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let q=l0.objectValues(J);return U0(X,{received:X.data,code:Q0.invalid_enum_value,options:q}),D0}return D8($.data)}get enum(){return this._def.values}}y5.create=($,J)=>{return new y5({values:$,typeName:C0.ZodNativeEnum,..._0(J)})};class l9 extends m0{unwrap(){return this._def.type}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==H0.promise&&J.common.async===!1)return U0(J,{code:Q0.invalid_type,expected:H0.promise,received:J.parsedType}),D0;let X=J.parsedType===H0.promise?J.data:Promise.resolve(J.data);return D8(X.then((q)=>{return this._def.type.parseAsync(q,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}l9.create=($,J)=>{return new l9({type:$,typeName:C0.ZodPromise,..._0(J)})};class R6 extends m0{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C0.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:J,ctx:X}=this._processInputParams($),q=this._def.effect||null,W={addIssue:(Y)=>{if(U0(X,Y),Y.fatal)J.abort();else J.dirty()},get path(){return X.path}};if(W.addIssue=W.addIssue.bind(W),q.type==="preprocess"){let Y=q.transform(X.data,W);if(X.common.async)return Promise.resolve(Y).then(async(Q)=>{if(J.value==="aborted")return D0;let K=await this._def.schema._parseAsync({data:Q,path:X.path,parent:X});if(K.status==="aborted")return D0;if(K.status==="dirty")return b9(K.value);if(J.value==="dirty")return b9(K.value);return K});else{if(J.value==="aborted")return D0;let Q=this._def.schema._parseSync({data:Y,path:X.path,parent:X});if(Q.status==="aborted")return D0;if(Q.status==="dirty")return b9(Q.value);if(J.value==="dirty")return b9(Q.value);return Q}}if(q.type==="refinement"){let Y=(Q)=>{let K=q.refinement(Q,W);if(X.common.async)return Promise.resolve(K);if(K instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Q};if(X.common.async===!1){let Q=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(Q.status==="aborted")return D0;if(Q.status==="dirty")J.dirty();return Y(Q.value),{status:J.value,value:Q.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((Q)=>{if(Q.status==="aborted")return D0;if(Q.status==="dirty")J.dirty();return Y(Q.value).then(()=>{return{status:J.value,value:Q.value}})})}if(q.type==="transform")if(X.common.async===!1){let Y=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!B9(Y))return D0;let Q=q.transform(Y.value,W);if(Q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:Q}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((Y)=>{if(!B9(Y))return D0;return Promise.resolve(q.transform(Y.value,W)).then((Q)=>({status:J.value,value:Q}))});l0.assertNever(q)}}R6.create=($,J,X)=>{return new R6({schema:$,typeName:C0.ZodEffects,effect:J,..._0(X)})};R6.createWithPreprocess=($,J,X)=>{return new R6({schema:J,effect:{type:"preprocess",transform:$},typeName:C0.ZodEffects,..._0(X)})};class U6 extends m0{_parse($){if(this._getType($)===H0.undefined)return D8(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}U6.create=($,J)=>{return new U6({innerType:$,typeName:C0.ZodOptional,..._0(J)})};class i6 extends m0{_parse($){if(this._getType($)===H0.null)return D8(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}i6.create=($,J)=>{return new i6({innerType:$,typeName:C0.ZodNullable,..._0(J)})};class _5 extends m0{_parse($){let{ctx:J}=this._processInputParams($),X=J.data;if(J.parsedType===H0.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}_5.create=($,J)=>{return new _5({innerType:$,typeName:C0.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,..._0(J)})};class x5 extends m0{_parse($){let{ctx:J}=this._processInputParams($),X={...J,common:{...J.common,issues:[]}},q=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(A5(q))return q.then((W)=>{return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new g8(X.common.issues)},input:X.data})}});else return{status:"valid",value:q.status==="valid"?q.value:this._def.catchValue({get error(){return new g8(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}x5.create=($,J)=>{return new x5({innerType:$,typeName:C0.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,..._0(J)})};class l$ extends m0{_parse($){if(this._getType($)!==H0.nan){let X=this._getOrReturnCtx($);return U0(X,{code:Q0.invalid_type,expected:H0.nan,received:X.parsedType}),D0}return{status:"valid",value:$.data}}}l$.create=($)=>{return new l$({typeName:C0.ZodNaN,..._0($)})};var jz=Symbol("zod_brand");class W7 extends m0{_parse($){let{ctx:J}=this._processInputParams($),X=J.data;return this._def.type._parse({data:X,path:J.path,parent:J})}unwrap(){return this._def.type}}class c$ extends m0{_parse($){let{status:J,ctx:X}=this._processInputParams($);if(X.common.async)return(async()=>{let W=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if(W.status==="aborted")return D0;if(W.status==="dirty")return J.dirty(),b9(W.value);else return this._def.out._parseAsync({data:W.value,path:X.path,parent:X})})();else{let q=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(q.status==="aborted")return D0;if(q.status==="dirty")return J.dirty(),{status:"dirty",value:q.value};else return this._def.out._parseSync({data:q.value,path:X.path,parent:X})}}static create($,J){return new c$({in:$,out:J,typeName:C0.ZodPipeline})}}class h5 extends m0{_parse($){let J=this._def.innerType._parse($),X=(q)=>{if(B9(q))q.value=Object.freeze(q.value);return q};return A5(J)?J.then((q)=>X(q)):X(J)}unwrap(){return this._def.innerType}}h5.create=($,J)=>{return new h5({innerType:$,typeName:C0.ZodReadonly,..._0(J)})};function uK($,J){let X=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof X==="string"?{message:X}:X}function nK($,J={},X){if($)return u9.create().superRefine((q,W)=>{let Y=$(q);if(Y instanceof Promise)return Y.then((Q)=>{if(!Q){let K=uK(J,q),G=K.fatal??X??!0;W.addIssue({code:"custom",...K,fatal:G})}});if(!Y){let Q=uK(J,q),K=Q.fatal??X??!0;W.addIssue({code:"custom",...Q,fatal:K})}return});return u9.create()}var Lz={object:Y8.lazycreate},C0;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(C0||(C0={}));var zz=($,J={message:`Input not instance of ${$.name}`})=>nK((X)=>X instanceof $,J),rK=O6.create,oK=j9.create,Zz=l$.create,Fz=L9.create,iK=E5.create,Pz=m9.create,Az=b$.create,Sz=C5.create,Dz=v5.create,Ez=u9.create,Cz=R9.create,vz=y6.create,wz=m$.create,kz=N6.create,Tz=Y8.create,Iz=Y8.strictCreate,yz=w5.create,_z=q7.create,xz=k5.create,hz=_6.create,gz=u$.create,fz=p$.create,bz=p9.create,mz=D5.create,uz=T5.create,pz=I5.create,lz=z9.create,cz=y5.create,dz=l9.create,nz=R6.create,rz=U6.create,oz=i6.create,iz=R6.createWithPreprocess,sz=c$.create,az=()=>rK().optional(),tz=()=>oK().optional(),ez=()=>iK().optional(),$Z={string:($)=>O6.create({...$,coerce:!0}),number:($)=>j9.create({...$,coerce:!0}),boolean:($)=>E5.create({...$,coerce:!0}),bigint:($)=>L9.create({...$,coerce:!0}),date:($)=>m9.create({...$,coerce:!0})};var JZ=D0;var r0=g;var j6;(function($){$[$.EXTEND=1]="EXTEND",$[$.WRAP=2]="WRAP",$[$.CROP=3]="CROP"})(j6||(j6={}));var Z9=g.object({bitmap:g.object({data:g.union([g.instanceof(Buffer),g.instanceof(Uint8Array)]),width:g.number(),height:g.number()})});var XZ=g.object({src:Z9,x:g.number().optional(),y:g.number().optional(),srcX:g.number().optional(),srcY:g.number().optional(),srcW:g.number().optional(),srcH:g.number().optional()}),qZ=g.union([Z9,XZ]),g5={blit($,J){let X=qZ.parse(J),{src:q,x:W=0,y:Y=0,srcX:Q=0,srcY:K=0,srcW:G=q.bitmap.width,srcH:V=q.bitmap.height}="bitmap"in X?{src:X}:X;if(!("bitmap"in q))throw Error("The source must be a Jimp image");if(typeof W!=="number"||typeof Y!=="number")throw Error("x and y must be numbers");W=Math.round(W),Y=Math.round(Y),Q=Math.round(Q),K=Math.round(K),G=Math.round(G),V=Math.round(V);let H=$.bitmap.width,M=$.bitmap.height;return i8(q,Q,K,G,V,function(O,N,U){let j=W+O-Q,R=Y+N-K;if(j>=0&&R>=0&&H-j>0&&M-R>0){let z=$.getPixelIndex(j,R),F={r:q.bitmap.data[U]||0,g:q.bitmap.data[U+1]||0,b:q.bitmap.data[U+2]||0,a:q.bitmap.data[U+3]||0},P={r:$.bitmap.data[z]||0,g:$.bitmap.data[z+1]||0,b:$.bitmap.data[z+2]||0,a:$.bitmap.data[z+3]||0};$.bitmap.data[z]=(F.a*(F.r-P.r)-P.r+255>>8)+P.r,$.bitmap.data[z+1]=(F.a*(F.g-P.g)-P.g+255>>8)+P.g,$.bitmap.data[z+2]=(F.a*(F.b-P.b)-P.b+255>>8)+P.b,$.bitmap.data[z+3]=e0(P.a+F.a)}}),$}};var sK=[1,57,41,21,203,34,97,73,227,91,149,62,105,45,39,137,241,107,3,173,39,71,65,238,219,101,187,87,81,151,141,133,249,117,221,209,197,187,177,169,5,153,73,139,133,127,243,233,223,107,103,99,191,23,177,171,165,159,77,149,9,139,135,131,253,245,119,231,224,109,211,103,25,195,189,23,45,175,171,83,81,79,155,151,147,9,141,137,67,131,129,251,123,30,235,115,113,221,217,53,13,51,50,49,193,189,185,91,179,175,43,169,83,163,5,79,155,19,75,147,145,143,35,69,17,67,33,65,255,251,247,243,239,59,29,229,113,111,219,27,213,105,207,51,201,199,49,193,191,47,93,183,181,179,11,87,43,85,167,165,163,161,159,157,155,77,19,75,37,73,145,143,141,35,138,137,135,67,33,131,129,255,63,250,247,61,121,239,237,117,29,229,227,225,111,55,109,216,213,211,209,207,205,203,201,199,197,195,193,48,190,47,93,185,183,181,179,178,176,175,173,171,85,21,167,165,41,163,161,5,79,157,78,154,153,19,75,149,74,147,73,144,143,71,141,140,139,137,17,135,134,133,66,131,65,129,1],aK=[0,9,10,10,14,12,14,14,16,15,16,15,16,15,15,17,18,17,12,18,16,17,17,19,19,18,19,18,18,19,19,19,20,19,20,20,20,20,20,20,15,20,19,20,20,20,21,21,21,20,20,20,21,18,21,21,21,21,20,21,17,21,21,21,22,22,21,22,22,21,22,21,19,22,22,19,20,22,22,21,21,21,22,22,22,18,22,22,21,22,22,23,22,20,23,22,22,23,23,21,19,21,21,21,23,23,23,22,23,23,21,23,22,23,18,22,23,20,22,23,23,23,21,22,20,22,21,22,24,24,24,24,24,22,21,24,23,23,24,21,24,23,24,22,24,24,22,24,24,22,23,24,24,24,20,23,22,23,24,24,24,24,24,24,24,23,21,23,22,23,24,24,24,22,24,24,24,23,22,24,24,25,23,25,25,23,24,25,25,24,22,25,25,25,24,23,24,25,25,25,25,25,25,25,25,25,25,25,25,23,25,23,24,25,25,25,25,25,25,25,25,25,24,22,25,25,23,25,25,20,24,25,24,25,25,22,24,25,24,25,24,25,25,24,25,25,25,25,22,25,25,25,24,25,24,25,18];var tK={blur($,J){if(typeof J!=="number")throw Error("r must be a number");if(J<1)throw Error("r must be greater than 0");let X,q,W,Y,Q,K,G,V,H,M,O,N,U,j=$.bitmap.width-1,R=$.bitmap.height-1,z=J+1,F=sK[J],P=aK[J],S=[],Z=[],L=[],B=[],v=[],w=[],x=2;while(x-- >0){N=0,U=0;for(K=0;K<$.bitmap.height;K++){X=$.bitmap.data[U]*z,q=$.bitmap.data[U+1]*z,W=$.bitmap.data[U+2]*z,Y=$.bitmap.data[U+3]*z;for(G=1;G<=J;G++)V=U+((G>j?j:G)<<2),X+=$.bitmap.data[V++],q+=$.bitmap.data[V++],W+=$.bitmap.data[V++],Y+=$.bitmap.data[V];for(Q=0;Q<$.bitmap.width;Q++){if(S[N]=X,Z[N]=q,L[N]=W,B[N]=Y,K===0)v[Q]=((V=Q+z)<j?V:j)<<2,w[Q]=(V=Q-J)>0?V<<2:0;H=U+v[Q],M=U+w[Q],X+=$.bitmap.data[H++]-$.bitmap.data[M++],q+=$.bitmap.data[H++]-$.bitmap.data[M++],W+=$.bitmap.data[H++]-$.bitmap.data[M++],Y+=$.bitmap.data[H]-$.bitmap.data[M++],N++}U+=$.bitmap.width<<2}for(Q=0;Q<$.bitmap.width;Q++){O=Q,X=S[O]*z,q=Z[O]*z,W=L[O]*z,Y=B[O]*z;for(G=1;G<=J;G++)O+=G>R?0:$.bitmap.width,X+=S[O],q+=Z[O],W+=L[O],Y+=B[O];N=Q<<2;for(K=0;K<$.bitmap.height;K++){if($.bitmap.data[N]=e0(X*F>>>P),$.bitmap.data[N+1]=e0(q*F>>>P),$.bitmap.data[N+2]=e0(W*F>>>P),$.bitmap.data[N+3]=e0(Y*F>>>P),Q===0)v[K]=((V=K+z)<R?V:R)*$.bitmap.width,w[K]=(V=K-J)>0?V*$.bitmap.width:0;H=Q+v[K],M=Q+w[K],X+=S[H]-S[M],q+=Z[H]-Z[M],W+=L[H]-L[M],Y+=B[H]-B[M],N+=$.bitmap.width<<2}}}return $},gaussian($,J){if(typeof J!=="number")throw Error("r must be a number");if(J<1)throw Error("r must be greater than 0");let X=Math.ceil(J*2.57),q=X*2+1,W=J*J*2,Y=W*Math.PI,Q=[];for(let K=0;K<q;K++){let G=[];for(let V=0;V<q;V++){let H=(V-X)**2+(K-X)**2;G[V]=Math.exp(-H/W)/Y}Q.push(G)}for(let K=0;K<$.bitmap.height;K++)for(let G=0;G<$.bitmap.width;G++){let V=0,H=0,M=0,O=0,N=0;for(let U=0;U<q;U++){for(let R=0;R<q;R++){let z=Math.min($.bitmap.width-1,Math.max(0,R+G-X)),F=Math.min($.bitmap.height-1,Math.max(0,U+K-X)),P=Q[U][R],S=F*$.bitmap.width+z<<2;V+=$.bitmap.data[S]*P,H+=$.bitmap.data[S+1]*P,M+=$.bitmap.data[S+2]*P,O+=$.bitmap.data[S+3]*P,N+=P}let j=K*$.bitmap.width+G<<2;$.bitmap.data[j]=Math.round(V/N),$.bitmap.data[j+1]=Math.round(H/N),$.bitmap.data[j+2]=Math.round(M/N),$.bitmap.data[j+3]=Math.round(O/N)}}return $}};var QZ=g.object({x:g.number().optional(),y:g.number().optional(),radius:g.number().min(0).optional()}),eK={circle($,J={}){let X=QZ.parse(J),q=X.radius||($.bitmap.width>$.bitmap.height?$.bitmap.height:$.bitmap.width)/2,W={x:typeof X.x==="number"?X.x:$.bitmap.width/2,y:typeof X.y==="number"?X.y:$.bitmap.height/2};return $.scan((Y,Q,K)=>{let G=Math.sqrt(Math.pow(Y-W.x,2)+Math.pow(Q-W.y,2));if(q-G<=0)$.bitmap.data[K+3]=0;else if(q-G<1)$.bitmap.data[K+3]=255*(q-G)}),$}};var Y7=g.array(g.number()).min(1).array(),GZ=g.object({kernel:Y7,edgeHandling:g.nativeEnum(j6).optional()}),VZ=g.union([Y7,GZ]),HZ=g.object({kernel:Y7,x:g.number().optional(),y:g.number().optional(),w:g.number().optional(),h:g.number().optional()}),MZ=g.union([Y7,HZ]),JG=g.number().min(1).max(1/0),OZ=g.object({size:JG,x:g.number().optional(),y:g.number().optional(),w:g.number().optional(),h:g.number().optional()}),NZ=g.union([JG,OZ]);function $G($,J,X,q){let W=[0,0,0,0],Y=(J.length-1)/2;for(let Q=0;Q<J.length;Q+=1)for(let K=0;K<J[Q].length;K+=1){let G=$.getPixelIndex(X+Q-Y,q+K-Y);W[0]+=$.bitmap.data[G]*J[Q][K],W[1]+=$.bitmap.data[G+1]*J[Q][K],W[2]+=$.bitmap.data[G+2]*J[Q][K],W[3]+=$.bitmap.data[G+3]*J[Q][K]}return W}function U4($,J,X=50){return{r:(J.r-$.r)*(X/100)+$.r,g:(J.g-$.g)*(X/100)+$.g,b:(J.b-$.b)*(X/100)+$.b}}var UZ=g.object({apply:g.literal("hue"),params:g.tuple([g.number().min(-360).max(360)])}),BZ=g.object({apply:g.literal("spin"),params:g.tuple([g.number().min(-360).max(360)])}),RZ=g.object({apply:g.literal("lighten"),params:g.tuple([g.number().min(0).max(100)]).optional()}),j4=g.object({r:g.number().min(0).max(255),g:g.number().min(0).max(255),b:g.number().min(0).max(255)}),jZ=g.object({apply:g.literal("mix"),params:g.union([g.tuple([j4]),g.tuple([j4,g.number().min(0).max(100)])])}),LZ=g.object({apply:g.literal("tint"),params:g.tuple([g.number().min(0).max(100)]).optional()}),zZ=g.object({apply:g.literal("shade"),params:g.tuple([g.number().min(0).max(100)]).optional()}),ZZ=g.object({apply:g.literal("xor"),params:g.tuple([j4])}),FZ=g.object({apply:g.literal("red"),params:g.tuple([g.number().min(-255).max(255)])}),PZ=g.object({apply:g.literal("green"),params:g.tuple([g.number().min(-255).max(255)])}),AZ=g.object({apply:g.literal("blue"),params:g.tuple([g.number().min(-255).max(255)])}),SZ=g.object({apply:g.literal("brighten"),params:g.tuple([g.number().min(0).max(100)]).optional()}),DZ=g.object({apply:g.literal("darken"),params:g.tuple([g.number().min(0).max(100)]).optional()}),EZ=g.object({apply:g.literal("desaturate"),params:g.tuple([g.number().min(0).max(100)]).optional()}),CZ=g.object({apply:g.literal("saturate"),params:g.tuple([g.number().min(0).max(100)]).optional()}),vZ=g.object({apply:g.literal("greyscale"),params:g.tuple([]).optional()}),wZ=g.union([UZ,BZ,RZ,jZ,LZ,zZ,ZZ,FZ,PZ,AZ,SZ,DZ,EZ,CZ,vZ]),wE=Object.freeze({LIGHTEN:"lighten",BRIGHTEN:"brighten",DARKEN:"darken",DESATURATE:"desaturate",SATURATE:"saturate",GREYSCALE:"greyscale",SPIN:"spin",HUE:"hue",MIX:"mix",TINT:"tint",SHADE:"shade",XOR:"xor",RED:"red",GREEN:"green",BLUE:"blue"});function kZ($){let J={r:Array(256).fill(0),g:Array(256).fill(0),b:Array(256).fill(0)};return $.scan((X,q,W)=>{J.r[$.bitmap.data[W+0]]++,J.g[$.bitmap.data[W+1]]++,J.b[$.bitmap.data[W+2]]++}),J}var B4=function($,J,X){return($-J)*255/(X-J)},R4=function($){return[$.findIndex((J)=>J>0),255-$.slice().reverse().findIndex((J)=>J>0)]},f5={normalize($){let J=kZ($),X={r:R4(J.r),g:R4(J.g),b:R4(J.b)};return $.scan((q,W,Y)=>{let Q=$.bitmap.data[Y+0],K=$.bitmap.data[Y+1],G=$.bitmap.data[Y+2];$.bitmap.data[Y+0]=B4(Q,X.r[0],X.r[1]),$.bitmap.data[Y+1]=B4(K,X.g[0],X.g[1]),$.bitmap.data[Y+2]=B4(G,X.b[0],X.b[1])}),$},invert($){return $.scan((J,X,q)=>{$.bitmap.data[q]=255-$.bitmap.data[q],$.bitmap.data[q+1]=255-$.bitmap.data[q+1],$.bitmap.data[q+2]=255-$.bitmap.data[q+2]}),$},brightness($,J){if(typeof J!=="number")throw Error("val must be numbers");return $.scan((X,q,W)=>{$.bitmap.data[W]=e0($.bitmap.data[W]*J),$.bitmap.data[W+1]=e0($.bitmap.data[W+1]*J),$.bitmap.data[W+2]=e0($.bitmap.data[W+2]*J)}),$},contrast($,J){if(typeof J!=="number")throw Error("val must be numbers");if(J<-1||J>1)throw Error("val must be a number between -1 and +1");let X=(J+1)/(1-J);function q(W){return W=Math.floor(X*(W-127)+127),W<0?0:W>255?255:W}return $.scan((W,Y,Q)=>{$.bitmap.data[Q]=q($.bitmap.data[Q]),$.bitmap.data[Q+1]=q($.bitmap.data[Q+1]),$.bitmap.data[Q+2]=q($.bitmap.data[Q+2])}),$},posterize($,J){if(typeof J!=="number")throw Error("n must be numbers");if(J<2)J=2;return $.scan((X,q,W)=>{let Y=$.bitmap.data[W],Q=$.bitmap.data[W+1],K=$.bitmap.data[W+2];$.bitmap.data[W]=Math.floor(Y/255*(J-1))/(J-1)*255,$.bitmap.data[W+1]=Math.floor(Q/255*(J-1))/(J-1)*255,$.bitmap.data[W+2]=Math.floor(K/255*(J-1))/(J-1)*255}),$},greyscale($){return $.scan((J,X,q)=>{let W=0.2126*$.bitmap.data[q]+0.7152*$.bitmap.data[q+1]+0.0722*$.bitmap.data[q+2];$.bitmap.data[q]=W,$.bitmap.data[q+1]=W,$.bitmap.data[q+2]=W}),$},opacity($,J){if(typeof J!=="number")throw Error("f must be a number");if(J<0||J>1)throw Error("f must be a number from 0 to 1");return $.scan((X,q,W)=>{let Y=$.bitmap.data[W+3]*J;$.bitmap.data[W+3]=Y}),$},sepia($){return $.scan((J,X,q)=>{let W=$.bitmap.data[q],Y=$.bitmap.data[q+1],Q=$.bitmap.data[q+2];W=W*0.393+Y*0.769+Q*0.189,Y=W*0.349+Y*0.686+Q*0.168,Q=W*0.272+Y*0.534+Q*0.131,$.bitmap.data[q]=W<255?W:255,$.bitmap.data[q+1]=Y<255?Y:255,$.bitmap.data[q+2]=Q<255?Q:255}),$},fade($,J){if(typeof J!=="number")throw Error("f must be a number");if(J<0||J>1)throw Error("f must be a number from 0 to 1");return this.opacity($,1-J)},convolution($,J){let X=VZ.parse(J),{kernel:q,edgeHandling:W=j6.EXTEND}="kernel"in X?X:{kernel:X,edgeHandling:void 0};if(!q[0])throw Error("kernel must be a matrix");let Y=Buffer.from($.bitmap.data),Q=q.length,K=q[0].length,G=Math.floor(Q/2),V=Math.floor(K/2),H=-G,M=-V,O,N,U,j,R,z,F,P,S,Z;return $.scan((L,B,v)=>{j=0,U=0,N=0;for(let w=H;w<=G;w++)for(let x=M;x<=V;x++){if(P=L+x,S=B+w,O=q[w+G][x+V],Z=$.getPixelIndex(P,S,W),Z===-1)F=0,z=0,R=0;else R=$.bitmap.data[Z+0],z=$.bitmap.data[Z+1],F=$.bitmap.data[Z+2];N+=O*R,U+=O*z,j+=O*F}if(N<0)N=0;if(U<0)U=0;if(j<0)j=0;if(N>255)N=255;if(U>255)U=255;if(j>255)j=255;Y[v+0]=N,Y[v+1]=U,Y[v+2]=j}),$.bitmap.data=Y,$},opaque($){return $.scan((J,X,q)=>{$.bitmap.data[q+3]=255}),$},pixelate($,J){let X=NZ.parse(J),{size:q,x:W=0,y:Y=0,w:Q=$.bitmap.width-W,h:K=$.bitmap.height-Y}=typeof X==="number"?{size:X}:X,G=[[0.0625,0.125,0.0625],[0.125,0.25,0.125],[0.0625,0.125,0.0625]],V=b8($);return i8(V,W,Y,Q,K,(H,M,O)=>{H=q*Math.floor(H/q),M=q*Math.floor(M/q);let N=$G(V,G,H,M);$.bitmap.data[O]=N[0],$.bitmap.data[O+1]=N[1],$.bitmap.data[O+2]=N[2],$.bitmap.data[O+3]=N[3]}),$},convolute($,J){let X=MZ.parse(J),{kernel:q,x:W=0,y:Y=0,w:Q=$.bitmap.width-W,h:K=$.bitmap.height-Y}="kernel"in X?X:{kernel:X},G=b8($);return i8(G,W,Y,Q,K,(V,H,M)=>{let O=$G(G,q,V,H);$.bitmap.data[M]=e0(O[0]),$.bitmap.data[M+1]=e0(O[1]),$.bitmap.data[M+2]=e0(O[2]),$.bitmap.data[M+3]=e0(O[3])}),$},color($,J){if(!J||!Array.isArray(J))throw Error("actions must be an array");return J.forEach((X)=>wZ.parse(X)),J=J.map((X)=>{if(X.apply==="xor"||X.apply==="mix")X.params[0]=j0(X.params[0]).toRgb();return X}),$.scan((X,q,W)=>{let Y={r:$.bitmap.data[W],g:$.bitmap.data[W+1],b:$.bitmap.data[W+2]},Q=(K,G)=>e0(Y[K]+G);J.forEach((K)=>{if(K.apply==="mix")Y=U4(Y,K.params[0],K.params[1]);else if(K.apply==="tint")Y=U4(Y,{r:255,g:255,b:255},K.params?.[0]);else if(K.apply==="shade")Y=U4(Y,{r:0,g:0,b:0},K.params?.[0]);else if(K.apply==="xor")Y={r:Y.r^K.params[0].r,g:Y.g^K.params[0].g,b:Y.b^K.params[0].b};else if(K.apply==="red")Y.r=Q("r",K.params[0]);else if(K.apply==="green")Y.g=Q("g",K.params[0]);else if(K.apply==="blue")Y.b=Q("b",K.params[0]);else{if(K.apply==="hue")K.apply="spin";let G=j0(Y),V=G[K.apply].bind(G);if(!V)throw Error("action "+K.apply+" not supported");Y=V(...K.params||[]).toRgb()}}),$.bitmap.data[W]=Y.r,$.bitmap.data[W+1]=Y.g,$.bitmap.data[W+2]=Y.b}),$}};var mV=P6(lG(),1),w4=P6(dG(),1);import{promises as nG}from"fs";import{existsSync as iG}from"fs";var rG=nG.readFile,oG=nG.writeFile;var uV=P6(JV(),1);var J6;(function($){$[$.LEFT=1]="LEFT",$[$.CENTER=2]="CENTER",$[$.RIGHT=4]="RIGHT"})(J6||(J6={}));var X6;(function($){$[$.TOP=8]="TOP",$[$.MIDDLE=16]="MIDDLE",$[$.BOTTOM=32]="BOTTOM"})(X6||(X6={}));var U7;(function($){$.SRC_OVER="srcOver",$.DST_OVER="dstOver",$.MULTIPLY="multiply",$.ADD="add",$.SCREEN="screen",$.OVERLAY="overlay",$.DARKEN="darken",$.LIGHTEN="lighten",$.HARD_LIGHT="hardLight",$.DIFFERENCE="difference",$.EXCLUSION="exclusion"})(U7||(U7={}));var A4={};K1(A4,{srcOver:()=>XV,screen:()=>QV,overlay:()=>KV,names:()=>hF,multiply:()=>WV,lighten:()=>VV,hardLight:()=>HV,exclusion:()=>OV,dstOver:()=>qV,difference:()=>MV,darken:()=>GV,add:()=>YV});function XV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=($.r*$.a+J.r*J.a*(1-$.a))/q,Y=($.g*$.a+J.g*J.a*(1-$.a))/q,Q=($.b*$.a+J.b*J.a*(1-$.a))/q;return{r:W,g:Y,b:Q,a:q}}function qV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=(J.r*J.a+$.r*$.a*(1-J.a))/q,Y=(J.g*J.a+$.g*$.a*(1-J.a))/q,Q=(J.b*J.a+$.b*$.a*(1-J.a))/q;return{r:W,g:Y,b:Q,a:q}}function WV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(W*K+W*(1-J.a)+K*(1-$.a))/q,M=(Y*G+Y*(1-J.a)+G*(1-$.a))/q,O=(Q*V+Q*(1-J.a)+V*(1-$.a))/q;return{r:H,g:M,b:O,a:q}}function YV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(W+K)/q,M=(Y+G)/q,O=(Q+V)/q;return{r:H,g:M,b:O,a:q}}function QV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(W*J.a+K*$.a-W*K+W*(1-J.a)+K*(1-$.a))/q,M=(Y*J.a+G*$.a-Y*G+Y*(1-J.a)+G*(1-$.a))/q,O=(Q*J.a+V*$.a-Q*V+Q*(1-J.a)+V*(1-$.a))/q;return{r:H,g:M,b:O,a:q}}function KV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(2*K<=J.a?2*W*K+W*(1-J.a)+K*(1-$.a):W*(1+J.a)+K*(1+$.a)-2*K*W-J.a*$.a)/q,M=(2*G<=J.a?2*Y*G+Y*(1-J.a)+G*(1-$.a):Y*(1+J.a)+G*(1+$.a)-2*G*Y-J.a*$.a)/q,O=(2*V<=J.a?2*Q*V+Q*(1-J.a)+V*(1-$.a):Q*(1+J.a)+V*(1+$.a)-2*V*Q-J.a*$.a)/q;return{r:H,g:M,b:O,a:q}}function GV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(Math.min(W*J.a,K*$.a)+W*(1-J.a)+K*(1-$.a))/q,M=(Math.min(Y*J.a,G*$.a)+Y*(1-J.a)+G*(1-$.a))/q,O=(Math.min(Q*J.a,V*$.a)+Q*(1-J.a)+V*(1-$.a))/q;return{r:H,g:M,b:O,a:q}}function VV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(Math.max(W*J.a,K*$.a)+W*(1-J.a)+K*(1-$.a))/q,M=(Math.max(Y*J.a,G*$.a)+Y*(1-J.a)+G*(1-$.a))/q,O=(Math.max(Q*J.a,V*$.a)+Q*(1-J.a)+V*(1-$.a))/q;return{r:H,g:M,b:O,a:q}}function HV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(2*W<=$.a?2*W*K+W*(1-J.a)+K*(1-$.a):W*(1+J.a)+K*(1+$.a)-2*K*W-J.a*$.a)/q,M=(2*Y<=$.a?2*Y*G+Y*(1-J.a)+G*(1-$.a):Y*(1+J.a)+G*(1+$.a)-2*G*Y-J.a*$.a)/q,O=(2*Q<=$.a?2*Q*V+Q*(1-J.a)+V*(1-$.a):Q*(1+J.a)+V*(1+$.a)-2*V*Q-J.a*$.a)/q;return{r:H,g:M,b:O,a:q}}function MV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(W+K-2*Math.min(W*J.a,K*$.a))/q,M=(Y+G-2*Math.min(Y*J.a,G*$.a))/q,O=(Q+V-2*Math.min(Q*J.a,V*$.a))/q;return{r:H,g:M,b:O,a:q}}function OV($,J,X=1){$.a*=X;let q=J.a+$.a-J.a*$.a,W=$.r*$.a,Y=$.g*$.a,Q=$.b*$.a,K=J.r*J.a,G=J.g*J.a,V=J.b*J.a,H=(W*J.a+K*$.a-2*W*K+W*(1-J.a)+K*(1-$.a))/q,M=(Y*J.a+G*$.a-2*Y*G+Y*(1-J.a)+G*(1-$.a))/q,O=(Q*J.a+V*$.a-2*Q*V+Q*(1-J.a)+V*(1-$.a))/q;return{r:H,g:M,b:O,a:q}}var hF=[XV,qV,WV,YV,QV,KV,GV,VV,HV,MV,OV];function b5($,J,X=0,q=0,W={}){if(!(J instanceof $.constructor))throw Error("The source must be a Jimp image");if(typeof X!=="number"||typeof q!=="number")throw Error("x and y must be numbers");let{mode:Y=U7.SRC_OVER}=W,{opacitySource:Q=1,opacityDest:K=1}=W;if(typeof Q!=="number"||Q<0||Q>1)Q=1;if(typeof K!=="number"||K<0||K>1)K=1;let G=A4[Y];if(X=Math.round(X),q=Math.round(q),K!==1)$.scan((V,H,M)=>{let O=$.bitmap.data[M+3]*K;$.bitmap.data[M+3]=O});return J.scan((V,H,M)=>{let O=$.getPixelIndex(X+V,q+H,j6.CROP);if(O===-1)return;let N=G({r:J.bitmap.data[M+0]/255,g:J.bitmap.data[M+1]/255,b:J.bitmap.data[M+2]/255,a:J.bitmap.data[M+3]/255},{r:$.bitmap.data[O+0]/255,g:$.bitmap.data[O+1]/255,b:$.bitmap.data[O+2]/255,a:$.bitmap.data[O+3]/255},Q);$.bitmap.data[O+0]=e0(N.r*255),$.bitmap.data[O+1]=e0(N.g*255),$.bitmap.data[O+2]=e0(N.b*255),$.bitmap.data[O+3]=e0(N.a*255)}),$}var gV=P6(hV(),1);function C4($){let J=$._exif;return J&&J.tags&&J.tags.Orientation||1}function oF($){let J=$.bitmap.width,X=$.bitmap.height;switch(C4($)){case 1:return null;case 2:return function(q,W){return[J-q-1,W]};case 3:return function(q,W){return[J-q-1,X-W-1]};case 4:return function(q,W){return[q,X-W-1]};case 5:return function(q,W){return[W,q]};case 6:return function(q,W){return[W,X-q-1]};case 7:return function(q,W){return[J-W-1,X-q-1]};case 8:return function(q,W){return[J-W-1,q]};default:return null}}function iF($,J,X,q){let W=$.bitmap.data,Y=$.bitmap.width,Q=Buffer.alloc(W.length);for(let K=0;K<J;K++)for(let G=0;G<X;G++){let[V,H]=q(K,G),M=J*G+K<<2,O=Y*H+V<<2,N=W.readUInt32BE(O);Q.writeUInt32BE(N,M)}$.bitmap.data=Q,$.bitmap.width=J,$.bitmap.height=X,$._exif.tags.Orientation=1}function sF($){if(C4($)<2)return;let J=oF($),X=C4($)>4,q=X?$.bitmap.height:$.bitmap.width,W=X?$.bitmap.width:$.bitmap.height;if(J)iF($,q,W,J)}async function fV($,J){try{$._exif=gV.default.create(J).parse(),sF($)}catch{}}var v4={data:Buffer.alloc(0),width:0,height:0};function bV($){let J=Buffer.alloc($.byteLength),X=new Uint8Array($);for(let q=0;q<J.length;++q)J[q]=X[q];return J}function pV({plugins:$,formats:J}={}){let X=$||[],q=(J||[]).map((Y)=>Y()),W=class{bitmap=v4;background=0;formats=[];mime;constructor(Q=v4){if(this.formats=q,"data"in Q)this.bitmap=Q;else if(this.bitmap={data:Buffer.alloc(Q.width*Q.height*4),width:Q.width,height:Q.height},Q.color){this.background=typeof Q.color==="string"?pq(Q.color):Q.color;for(let K=0;K<this.bitmap.data.length;K+=4)this.bitmap.data.writeUInt32BE(this.background,K)}for(let K of X)for(let G in K)this[G]=(...V)=>{let H=K[G]?.(this,...V);if(typeof H==="object"&&"bitmap"in H)return this.bitmap=H.bitmap,this;return H}}static async read(Q,K){if(Buffer.isBuffer(Q)||Q instanceof ArrayBuffer)return this.fromBuffer(Q);if(iG(Q))return this.fromBuffer(await rG(Q));let[G,V]=await w4.to(fetch(Q));if(G)throw Error(`Could not load Buffer from URL: ${Q}`);if(!V.ok)throw Error(`HTTP Status ${V.status} for url ${Q}`);let[H,M]=await w4.to(V.arrayBuffer());if(H)throw Error(`Could not load Buffer from ${Q}`);let O=bV(M);return this.fromBuffer(O,K)}static fromBitmap(Q){let K;if(Q.data instanceof Buffer)K=Buffer.from(Q.data);if(Q.data instanceof Uint8Array||Q.data instanceof Uint8ClampedArray)K=Buffer.from(Q.data.buffer);if(Array.isArray(Q.data))K=Buffer.concat(Q.data.map((G)=>Buffer.from(G.toString(16).padStart(8,"0"),"hex")));if(!K)throw Error("data must be a Buffer");if(typeof Q.height!=="number"||typeof Q.width!=="number")throw Error("bitmap must have width and height");return new W({height:Q.height,width:Q.width,data:K})}static async fromBuffer(Q,K){let G=Q instanceof ArrayBuffer?bV(Q):Q,V=await mV.default.fromBuffer(G);if(!V||!V.mime)throw Error("Could not find MIME for Buffer");let H=q.find((O)=>O.mime===V.mime);if(!H||!H.decode)throw Error(`Mime type ${V.mime} does not support decoding`);let M=new W(await H.decode(G,K?.[H.mime]));return M.mime=V.mime,fV(M,G),M}inspect(){return"<Jimp "+(this.bitmap===v4?"pending...":this.bitmap.width+"x"+this.bitmap.height)+">"}toString(){return"[object Jimp]"}get width(){return this.bitmap.width}get height(){return this.bitmap.height}async getBuffer(Q,K){let G=this.formats.find((H)=>H.mime===Q);if(!G||!G.encode)throw Error(`Unsupported MIME type: ${Q}`);let V;if(G.hasAlpha)V=this;else V=new W({width:this.bitmap.width,height:this.bitmap.height,color:this.background}),b5(V,this);return G.encode(V.bitmap,K)}async getBase64(Q,K){let G=await this.getBuffer(Q,K);return"data:"+Q+";base64,"+G.toString("base64")}async write(Q,K){let G=uV.default.getType(Q);await oG(Q,await this.getBuffer(G,K))}clone(){return new W({...this.bitmap,data:Buffer.from(this.bitmap.data)})}getPixelIndex(Q,K,G){let V,H;if(!G)G=j6.EXTEND;if(typeof Q!=="number"||typeof K!=="number")throw Error("x and y must be numbers");if(Q=Math.round(Q),K=Math.round(K),V=Q,H=K,G===j6.EXTEND){if(Q<0)V=0;if(Q>=this.bitmap.width)V=this.bitmap.width-1;if(K<0)H=0;if(K>=this.bitmap.height)H=this.bitmap.height-1}if(G===j6.WRAP){if(Q<0)V=this.bitmap.width+Q;if(Q>=this.bitmap.width)V=Q%this.bitmap.width;if(K<0)H=this.bitmap.height+K;if(K>=this.bitmap.height)H=K%this.bitmap.height}let M=this.bitmap.width*H+V<<2;if(V<0||V>=this.bitmap.width)M=-1;if(H<0||H>=this.bitmap.height)M=-1;return M}getPixelColor(Q,K){if(typeof Q!=="number"||typeof K!=="number")throw Error("x and y must be numbers");let G=this.getPixelIndex(Q,K);return this.bitmap.data.readUInt32BE(G)}setPixelColor(Q,K,G){if(typeof Q!=="number"||typeof K!=="number"||typeof G!=="number")throw Error("hex, x and y must be numbers");let V=this.getPixelIndex(K,G);return this.bitmap.data.writeUInt32BE(Q,V),this}hasAlpha(){let{width:Q,height:K,data:G}=this.bitmap,V=Q*K<<2;for(let H=3;H<V;H+=4)if(G[H]!==255)return!0;return!1}composite(Q,K=0,G=0,V={}){return b5(this,Q,K,G,V)}scan(Q,K,G,V,H){return i8(this,Q,K,G,V,H)}scanIterator(Q=0,K=0,G=this.bitmap.width,V=this.bitmap.height){if(typeof Q!=="number"||typeof K!=="number")throw Error("x and y must be numbers");if(typeof G!=="number"||typeof V!=="number")throw Error("w and h must be numbers");return uq(this,Q,K,G,V)}};return W}var c8;(function($){$.NEAREST_NEIGHBOR="nearestNeighbor",$.BILINEAR="bilinearInterpolation",$.BICUBIC="bicubicInterpolation",$.HERMITE="hermiteInterpolation",$.BEZIER="bezierInterpolation"})(c8||(c8={}));function M8($,J,X,q,W,Y,Q){this.widthOriginal=Math.abs(Math.floor($)||0),this.heightOriginal=Math.abs(Math.floor(J)||0),this.targetWidth=Math.abs(Math.floor(X)||0),this.targetHeight=Math.abs(Math.floor(q)||0),this.colorChannels=W?4:3,this.interpolationPass=Boolean(Y),this.resizeCallback=typeof Q==="function"?Q:function(){},this.targetWidthMultipliedByChannels=this.targetWidth*this.colorChannels,this.originalWidthMultipliedByChannels=this.widthOriginal*this.colorChannels,this.originalHeightMultipliedByChannels=this.heightOriginal*this.colorChannels,this.widthPassResultSize=this.targetWidthMultipliedByChannels*this.heightOriginal,this.finalResultSize=this.targetWidthMultipliedByChannels*this.targetHeight,this.initialize()}M8.prototype.initialize=function(){if(this.widthOriginal>0&&this.heightOriginal>0&&this.targetWidth>0&&this.targetHeight>0)this.configurePasses();else throw console.log(this),Error("Invalid settings specified for the resizer.")};M8.prototype.configurePasses=function(){if(this.widthOriginal===this.targetWidth)this.resizeWidth=this.bypassResizer;else if(this.ratioWeightWidthPass=this.widthOriginal/this.targetWidth,this.ratioWeightWidthPass<1&&this.interpolationPass)this.initializeFirstPassBuffers(!0),this.resizeWidth=this.colorChannels===4?this.resizeWidthInterpolatedRGBA:this.resizeWidthInterpolatedRGB;else this.initializeFirstPassBuffers(!1),this.resizeWidth=this.colorChannels===4?this.resizeWidthRGBA:this.resizeWidthRGB;if(this.heightOriginal===this.targetHeight)this.resizeHeight=this.bypassResizer;else if(this.ratioWeightHeightPass=this.heightOriginal/this.targetHeight,this.ratioWeightHeightPass<1&&this.interpolationPass)this.initializeSecondPassBuffers(!0),this.resizeHeight=this.resizeHeightInterpolated;else this.initializeSecondPassBuffers(!1),this.resizeHeight=this.colorChannels===4?this.resizeHeightRGBA:this.resizeHeightRGB};M8.prototype._resizeWidthInterpolatedRGBChannels=function($,J){let X=J?4:3,q=this.ratioWeightWidthPass,W=this.widthBuffer,Y=0,Q=0,K=0,G=0,V=0,H;for(H=0;Y<0.3333333333333333;H+=X,Y+=q)for(Q=H,K=0;Q<this.widthPassResultSize;K+=this.originalWidthMultipliedByChannels,Q+=this.targetWidthMultipliedByChannels)if(W[Q]=$[K],W[Q+1]=$[K+1],W[Q+2]=$[K+2],J)W[Q+3]=$[K+3];Y-=0.3333333333333333;let M;for(M=this.widthOriginal-1;Y<M;H+=X,Y+=q){V=Y%1,G=1-V;for(Q=H,K=Math.floor(Y)*X;Q<this.widthPassResultSize;K+=this.originalWidthMultipliedByChannels,Q+=this.targetWidthMultipliedByChannels)if(W[Q+0]=$[K+0]*G+$[K+X+0]*V,W[Q+1]=$[K+1]*G+$[K+X+1]*V,W[Q+2]=$[K+2]*G+$[K+X+2]*V,J)W[Q+3]=$[K+3]*G+$[K+X+3]*V}for(M=this.originalWidthMultipliedByChannels-X;H<this.targetWidthMultipliedByChannels;H+=X)for(Q=H,K=M;Q<this.widthPassResultSize;K+=this.originalWidthMultipliedByChannels,Q+=this.targetWidthMultipliedByChannels)if(W[Q]=$[K],W[Q+1]=$[K+1],W[Q+2]=$[K+2],J)W[Q+3]=$[K+3];return W};M8.prototype._resizeWidthRGBChannels=function($,J){let X=J?4:3,q=this.ratioWeightWidthPass,W=1/q,Y=this.originalWidthMultipliedByChannels-X+1,Q=this.targetWidthMultipliedByChannels-X+1,K=this.outputWidthWorkBench,G=this.widthBuffer,V=this.outputWidthWorkBenchOpaquePixelsCount,H=0,M=0,O=0,N=0,U=0,j=0,R=0,z=1,F=0,P=0,S=0,Z=0;do{for(U=0;U<this.originalHeightMultipliedByChannels;)if(K[U++]=0,K[U++]=0,K[U++]=0,J)K[U++]=0,V[U/X-1]=0;H=q;do{M=1+O-N,z=Math.min(H,M);for(U=0,j=O;U<this.originalHeightMultipliedByChannels;j+=Y)if(F=$[j],P=$[++j],S=$[++j],Z=J?$[++j]:255,K[U++]+=(Z?F:0)*z,K[U++]+=(Z?P:0)*z,K[U++]+=(Z?S:0)*z,J)K[U++]+=Z*z,V[U/X-1]+=Z?z:0;if(H>=M)O+=X,N=O,H-=M;else{N+=H;break}}while(H>0&&O<this.originalWidthMultipliedByChannels);for(U=0,j=R;U<this.originalHeightMultipliedByChannels;j+=Q)if(H=J?V[U/X]:1,z=J?H?1/H:0:W,G[j]=K[U++]*z,G[++j]=K[U++]*z,G[++j]=K[U++]*z,J)G[++j]=K[U++]*W;R+=X}while(R<this.targetWidthMultipliedByChannels);return G};M8.prototype._resizeHeightRGBChannels=function($,J){let X=this.ratioWeightHeightPass,q=1/X,W=this.outputHeightWorkBench,Y=this.heightBuffer,Q=this.outputHeightWorkBenchOpaquePixelsCount,K=0,G=0,V=0,H=0,M=0,O=0,N=0,U=1,j=0,R=0,z=0,F=0;do{for(M=0;M<this.targetWidthMultipliedByChannels;)if(W[M++]=0,W[M++]=0,W[M++]=0,J)W[M++]=0,Q[M/4-1]=0;K=X;do{G=1+V-H,U=Math.min(K,G),N=V;for(M=0;M<this.targetWidthMultipliedByChannels;)if(j=$[N++],R=$[N++],z=$[N++],F=J?$[N++]:255,W[M++]+=(F?j:0)*U,W[M++]+=(F?R:0)*U,W[M++]+=(F?z:0)*U,J)W[M++]+=F*U,Q[M/4-1]+=F?U:0;if(K>=G)V=N,H=V,K-=G;else{H+=K;break}}while(K>0&&V<this.widthPassResultSize);for(M=0;M<this.targetWidthMultipliedByChannels;)if(K=J?Q[M/4]:1,U=J?K?1/K:0:q,Y[O++]=Math.round(W[M++]*U),Y[O++]=Math.round(W[M++]*U),Y[O++]=Math.round(W[M++]*U),J)Y[O++]=Math.round(W[M++]*q)}while(O<this.finalResultSize);return Y};M8.prototype.resizeWidthInterpolatedRGB=function($){return this._resizeWidthInterpolatedRGBChannels($,!1)};M8.prototype.resizeWidthInterpolatedRGBA=function($){return this._resizeWidthInterpolatedRGBChannels($,!0)};M8.prototype.resizeWidthRGB=function($){return this._resizeWidthRGBChannels($,!1)};M8.prototype.resizeWidthRGBA=function($){return this._resizeWidthRGBChannels($,!0)};M8.prototype.resizeHeightInterpolated=function($){let J=this.ratioWeightHeightPass,X=this.heightBuffer,q=0,W=0,Y=0,Q=0,K=0,G=0,V=0,H;for(;q<0.3333333333333333;q+=J)for(Y=0;Y<this.targetWidthMultipliedByChannels;)X[W++]=Math.round($[Y++]);q-=0.3333333333333333;for(H=this.heightOriginal-1;q<H;q+=J){V=q%1,G=1-V,Q=Math.floor(q)*this.targetWidthMultipliedByChannels,K=Q+this.targetWidthMultipliedByChannels;for(Y=0;Y<this.targetWidthMultipliedByChannels;++Y)X[W++]=Math.round($[Q++]*G+$[K++]*V)}while(W<this.finalResultSize)for(Y=0,Q=H*this.targetWidthMultipliedByChannels;Y<this.targetWidthMultipliedByChannels;++Y)X[W++]=Math.round($[Q++]);return X};M8.prototype.resizeHeightRGB=function($){return this._resizeHeightRGBChannels($,!1)};M8.prototype.resizeHeightRGBA=function($){return this._resizeHeightRGBChannels($,!0)};M8.prototype.resize=function($){this.resizeCallback(this.resizeHeight(this.resizeWidth($)))};M8.prototype.bypassResizer=function($){return $};M8.prototype.initializeFirstPassBuffers=function($){if(this.widthBuffer=this.generateFloatBuffer(this.widthPassResultSize),!$){if(this.outputWidthWorkBench=this.generateFloatBuffer(this.originalHeightMultipliedByChannels),this.colorChannels>3)this.outputWidthWorkBenchOpaquePixelsCount=this.generateFloat64Buffer(this.heightOriginal)}};M8.prototype.initializeSecondPassBuffers=function($){if(this.heightBuffer=this.generateUint8Buffer(this.finalResultSize),!$){if(this.outputHeightWorkBench=this.generateFloatBuffer(this.targetWidthMultipliedByChannels),this.colorChannels>3)this.outputHeightWorkBenchOpaquePixelsCount=this.generateFloat64Buffer(this.targetWidth)}};M8.prototype.generateFloatBuffer=function($){try{return new Float32Array($)}catch(J){return console.error(J),[]}};M8.prototype.generateFloat64Buffer=function($){try{return new Float64Array($)}catch(J){return console.error(J),[]}};M8.prototype.generateUint8Buffer=function($){try{return new Uint8Array($)}catch(J){return console.error(J),[]}};var lV=M8;var k4={nearestNeighbor($,J){let{width:X,height:q}=$,W=J.width,Y=J.height,Q=$.data,K=J.data;for(let G=0;G<Y;G++)for(let V=0;V<W;V++){let H=(G*W+V)*4,M=Math.floor(G*q/Y),O=Math.floor(V*X/W),N=(M*X+O)*4;K[H++]=Q[N++],K[H++]=Q[N++],K[H++]=Q[N++],K[H++]=Q[N++]}},bilinearInterpolation($,J){let{width:X,height:q}=$,W=J.width,Y=J.height,Q=$.data,K=J.data,G=function(H,M,O,N,U){if(M===N)return O;return Math.round((H-M)*U+(N-H)*O)},V=function(H,M,O,N,U,j,R,z){let F=(R*X+N)*4+M,P=(R*X+U)*4+M,S=G(O,N,Q[F],U,Q[P]);if(z===R)K[H+M]=S;else{F=(z*X+N)*4+M,P=(z*X+U)*4+M;let Z=G(O,N,Q[F],U,Q[P]);K[H+M]=G(j,R,S,z,Z)}};for(let H=0;H<Y;H++)for(let M=0;M<W;M++){let O=(H*W+M)*4,N=M*X/W,U=Math.floor(N),j=Math.min(Math.ceil(N),X-1),R=H*q/Y,z=Math.floor(R),F=Math.min(Math.ceil(R),q-1);V(O,0,N,U,j,R,z,F),V(O,1,N,U,j,R,z,F),V(O,2,N,U,j,R,z,F),V(O,3,N,U,j,R,z,F)}},_interpolate2D($,J,X,q){let W=$.data,Y=J.data,Q=$.width,K=$.height,G=J.width,V=J.height,H=Math.max(1,Math.floor(Q/G)),M=G*H,O=Math.max(1,Math.floor(K/V)),N=V*O,U=Buffer.alloc(M*K*4);for(let z=0;z<K;z++)for(let F=0;F<M;F++){let P=F*(Q-1)/M,S=Math.floor(P),Z=P-S,L=(z*Q+S)*4,B=(z*M+F)*4;for(let v=0;v<4;v++){let w=L+v,x=S>0?W[w-4]:2*W[w]-W[w+4],A=W[w],D=W[w+4],C=S<Q-2?W[w+8]:2*W[w+4]-W[w];U[B+v]=q(x,A,D,C,Z)}}let j=Buffer.alloc(M*N*4);for(let z=0;z<N;z++)for(let F=0;F<M;F++){let P=z*(K-1)/N,S=Math.floor(P),Z=P-S,L=(S*M+F)*4,B=(z*M+F)*4;for(let v=0;v<4;v++){let w=L+v,x=S>0?U[w-M*4]:2*U[w]-U[w+M*4],A=U[w],D=U[w+M*4],C=S<K-2?U[w+M*8]:2*U[w+M*4]-U[w];j[B+v]=q(x,A,D,C,Z)}}let R=H*O;if(R>1)for(let z=0;z<V;z++)for(let F=0;F<G;F++){let P=0,S=0,Z=0,L=0,B=0;for(let w=0;w<O;w++){let x=z*O+w;for(let A=0;A<H;A++){let D=F*H+A,C=(x*M+D)*4,k=j[C+3];if(k)P+=j[C],S+=j[C+1],Z+=j[C+2],B++;L+=k}}let v=(z*G+F)*4;Y[v]=B?Math.round(P/B):0,Y[v+1]=B?Math.round(S/B):0,Y[v+2]=B?Math.round(Z/B):0,Y[v+3]=Math.round(L/R)}else J.data=j},bicubicInterpolation($,J,X){let q=function(W,Y,Q,K,G){let V=K-Q-W+Y,H=W-Y-V,M=Q-W,O=Y;return Math.max(0,Math.min(255,V*(G*G*G)+H*(G*G)+M*G+O))};return this._interpolate2D($,J,X,q)},hermiteInterpolation($,J,X){let q=function(W,Y,Q,K,G){let V=Y,H=0.5*(Q-W),M=W-2.5*Y+2*Q-0.5*K,O=0.5*(K-W)+1.5*(Y-Q);return Math.max(0,Math.min(255,Math.round(((O*G+M)*G+H)*G+V)))};return this._interpolate2D($,J,X,q)},bezierInterpolation($,J,X){let q=function(W,Y,Q,K,G){let V=Y+(Q-W)/4,H=Q-(K-Y)/4,M=1-G,O=Y*M*M*M,N=3*V*M*M*G,U=3*H*M*G*G,j=Q*G*G*G;return Math.max(0,Math.min(255,Math.round(O+N+U+j)))};return this._interpolate2D($,J,X,q)}};var aF=g.union([g.object({w:g.number().min(0),h:g.number().min(0).optional(),mode:g.nativeEnum(c8).optional()}),g.object({w:g.number().min(0).optional(),h:g.number().min(0),mode:g.nativeEnum(c8).optional()})]),tF=g.object({w:g.number().min(0),h:g.number().min(0),mode:g.nativeEnum(c8).optional()}),eF=g.object({f:g.number().min(0),mode:g.nativeEnum(c8).optional()}),L6={resize($,J){let{mode:X}=aF.parse(J),q,W;if(typeof J.w==="number")q=J.w,W=J.h??$.bitmap.height*(q/$.bitmap.width);else if(typeof J.h==="number")W=J.h,q=J.w??$.bitmap.width*(W/$.bitmap.height);else throw Error("w must be a number");if(q=Math.round(q)||1,W=Math.round(W)||1,X&&typeof k4[X]==="function"){let Y={data:Buffer.alloc(q*W*4),width:q,height:W};k4[X]($.bitmap,Y),$.bitmap=Y}else new lV($.bitmap.width,$.bitmap.height,q,W,!0,!0,(Q)=>{$.bitmap.data=Buffer.from(Q),$.bitmap.width=q,$.bitmap.height=W}).resize($.bitmap.data);return $},scale($,J){let{f:X,mode:q}=typeof J==="number"?{f:J}:eF.parse(J),W=$.bitmap.width*X,Y=$.bitmap.height*X;return this.resize($,{w:W,h:Y,mode:q})},scaleToFit($,J){let{h:X,w:q,mode:W}=tF.parse(J),Y=q/X>$.bitmap.width/$.bitmap.height?X/$.bitmap.height:q/$.bitmap.width;return this.scale($,{f:Y,mode:W})}};var JP=g.object({w:g.number(),h:g.number(),align:g.number().optional(),mode:g.nativeEnum(c8).optional()}),cV={contain($,J){let{w:X,h:q,align:W=J6.CENTER|X6.MIDDLE,mode:Y}=JP.parse(J),Q=W&7,K=W>>3;if(!(Q!==0&&!(Q&Q-1)||K!==0&&!(K&K-1)))throw Error("only use one flag per alignment direction");let G=Q>>1,V=K>>1,H=X/q>$.bitmap.width/$.bitmap.height?q/$.bitmap.height:X/$.bitmap.width,M=L6.scale(b8($),{f:H,mode:Y});return $=L6.resize($,{w:X,h:q,mode:Y}),$.scan((O,N,U)=>{$.bitmap.data.writeUInt32BE($.background,U)}),$=g5.blit($,{src:M,x:($.bitmap.width-M.bitmap.width)/2*G,y:($.bitmap.height-M.bitmap.height)/2*V}),$}};var qP=g.object({x:g.number(),y:g.number(),w:g.number(),h:g.number()}),WP=g.object({tolerance:g.number().min(0).max(1).optional(),cropOnlyFrames:g.boolean().optional(),cropSymmetric:g.boolean().optional(),leaveBorder:g.number().optional(),ignoreSides:g.object({north:g.boolean().optional(),south:g.boolean().optional(),east:g.boolean().optional(),west:g.boolean().optional()}).optional()}),p5={crop($,J){let{x:X,y:q,w:W,h:Y}=qP.parse(J);if(X=Math.round(X),q=Math.round(q),W=Math.round(W),Y=Math.round(Y),X===0&&W===$.bitmap.width){let Q=W*q+X<<2,K=Q+(Y*W<<2);$.bitmap.data=$.bitmap.data.slice(Q,K)}else{let Q=Buffer.allocUnsafe(W*Y*4),K=0;i8($,X,q,W,Y,function(G,V,H){let M=$.bitmap.data.readUInt32BE(H);Q.writeUInt32BE(M,K),K+=4}),$.bitmap.data=Q}return $.bitmap.width=W,$.bitmap.height=Y,$},autocrop($,J={}){let{tolerance:X=0.0002,cropOnlyFrames:q=!0,cropSymmetric:W=!1,leaveBorder:Y=0,ignoreSides:Q}=typeof J==="number"?{tolerance:J}:WP.parse(J),K=$.bitmap.width,G=$.bitmap.height,V=1,H={north:!1,south:!1,east:!1,west:!1,...Q},M=$.getPixelColor(0,0),O=q5(M),N=0,U=0,j=0,R=0;if(M=$.getPixelColor(0,0),!H.north)$:for(let S=0;S<G-1;S++){for(let Z=0;Z<K;Z++){let L=$.getPixelColor(Z,S),B=q5(L);if(O$(O,B)>X)break $}N++}if(M=$.getPixelColor(K,0),!H.west)$:for(let S=0;S<K-1;S++){for(let Z=0+N;Z<G;Z++){let L=$.getPixelColor(S,Z),B=q5(L);if(O$(O,B)>X)break $}R++}if(M=$.getPixelColor(0,G),!H.south)$:for(let S=G-1;S>=N+1;S--){for(let Z=K-U-1;Z>=0;Z--){let L=$.getPixelColor(Z,S),B=q5(L);if(O$(O,B)>X)break $}j++}if(M=$.getPixelColor(K,G),!H.east)$:for(let S=K-1;S>=0+R+1;S--){for(let Z=G-1;Z>=0+N;Z--){let L=$.getPixelColor(S,Z),B=q5(L);if(O$(O,B)>X)break $}U++}let z=!1;if(R-=Y,U-=Y,N-=Y,j-=Y,W){let S=Math.min(U,R),Z=Math.min(N,j);R=S,U=S,N=Z,j=Z}R=R>=0?R:0,U=U>=0?U:0,N=N>=0?N:0,j=j>=0?j:0;let F=K-(R+U),P=G-(j+N);if(q)z=U!==0&&N!==0&&R!==0&&j!==0;else z=U!==0||N!==0||R!==0||j!==0;if(z)this.crop($,{x:R,y:N,w:F,h:P});return $}};var QP=g.object({w:g.number(),h:g.number(),align:g.number().optional(),mode:g.nativeEnum(c8).optional()}),dV={cover($,J){let{w:X,h:q,align:W=J6.CENTER|X6.MIDDLE,mode:Y}=QP.parse(J),Q=W&7,K=W>>3;if(!(Q!==0&&!(Q&Q-1)||K!==0&&!(K&K-1)))throw Error("only use one flag per alignment direction");let G=Q>>1,V=K>>1,H=X/q>$.bitmap.width/$.bitmap.height?X/$.bitmap.width:q/$.bitmap.height;return $=L6.scale($,{f:H,mode:Y}),$=p5.crop($,{x:($.bitmap.width-X)/2*G,y:($.bitmap.height-q)/2*V,w:X,h:q}),$}};var GP=g.object({map:Z9,offset:g.number()}),nV={displace($,J){let{map:X,offset:q}=GP.parse(J),W=b8($);return $.scan((Y,Q,K)=>{let G=X.bitmap.data[K]/256*q;G=Math.round(G);let V=$.getPixelIndex(Y+G,Q);$.bitmap.data[V]=W.bitmap.data[K],$.bitmap.data[V+1]=W.bitmap.data[K+1],$.bitmap.data[V+2]=W.bitmap.data[K+2]}),$}};var rV={dither($){let J=[1,9,3,11,13,5,15,7,4,12,2,10,16,8,14,6];return $.scan((X,q,W)=>{let Y=((q&3)<<2)+X%4,Q=J[Y];$.bitmap.data[W]=Math.min($.bitmap.data[W]+Q,255),$.bitmap.data[W+1]=Math.min($.bitmap.data[W+1]+Q,255),$.bitmap.data[W+2]=Math.min($.bitmap.data[W+2]+Q,255)}),$}};var MP=g.object({radius:g.number().min(0).optional()}),oV={fisheye($,J={}){let{radius:X=2.5}=MP.parse(J),q=b8($),{width:W,height:Y}=q.bitmap;return q.scan((Q,K)=>{let G=Q/W,V=K/Y,H=Math.sqrt(Math.pow(G-0.5,2)+Math.pow(V-0.5,2)),M=2*Math.pow(H,X),O=(G-0.5)/H,N=(V-0.5)/H,U=Math.round((M*O+0.5)*W),j=Math.round((M*N+0.5)*Y),R=q.getPixelColor(U,j);$.setPixelColor(R,Q,K)}),$.setPixelColor(q.getPixelColor(W/2,Y/2),W/2,Y/2),$}};var NP=g.object({horizontal:g.boolean().optional(),vertical:g.boolean().optional()}),iV={flip($,J){let{horizontal:X,vertical:q}=NP.parse(J),W=Buffer.alloc($.bitmap.data.length);return $.scan((Y,Q,K)=>{let G=X?$.bitmap.width-1-Y:Y,V=q?$.bitmap.height-1-Q:Q,H=$.bitmap.width*V+G<<2,M=$.bitmap.data.readUInt32BE(K);W.writeUInt32BE(M,H)}),$.bitmap.data=Buffer.from(W),$}};var o$=P6(eV(),1);class $H{size;smallerSize;constructor($,J){this.size=$||32,this.smallerSize=J||8,jP(this.size)}distance($,J){let X=0;for(let q=0;q<$.length;q++)if($[q]!==J[q])X++;return X/$.length}getHash($){$=L6.resize(b8($),{w:this.size,h:this.size}),$=f5.greyscale($);let J=[];for(let Q=0;Q<$.bitmap.width;Q++){let K=[];for(let G=0;G<$.bitmap.height;G++)K[G]=RP($.getPixelColor(Q,G)).b;J[Q]=K}let X=LP(J,this.size),q=0;for(let Q=0;Q<this.smallerSize;Q++)for(let K=0;K<this.smallerSize;K++)q+=X[Q][K];let W=q/(this.smallerSize*this.smallerSize),Y="";for(let Q=0;Q<this.smallerSize;Q++)for(let K=0;K<this.smallerSize;K++)Y+=X[Q][K]>W?"1":"0";return Y}}function RP($){let J=$&255;$>>>=8;let X=$&255;$>>>=8;let q=$&255;return $>>>=8,{r:$&255,g:q,b:X,a:J}}var j7=[];function jP($){for(let J=1;J<$;J++)j7[J]=1;j7[0]=1/Math.sqrt(2)}function LP($,J){let X=J,q=[];for(let W=0;W<X;W++){let Y=[];for(let Q=0;Q<X;Q++){let K=0;for(let G=0;G<X;G++)for(let V=0;V<X;V++)K+=Math.cos((2*G+1)/(2*X)*W*Math.PI)*Math.cos((2*V+1)/(2*X)*Q*Math.PI)*$[G][V];K*=j7[W]*j7[Q]/4,Y[Q]=K,q[W]=Y}}return q}var I4=$H;var JH="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_",XH=[NaN,NaN];for(let $=2;$<65;$++){let J=o$.default(o$.default.BIN,JH.slice(0,$))(Array(65).join("1"));XH.push(J.length)}var qH={pHash($){return new I4().getHash($)},hash($,J=64){if(J<2||J>64)throw Error("base must be a number between 2 and 64");let X=JH.slice(0,J),q=this.pHash($),W=XH[J];return o$.default(o$.default.BIN,X)(q).padStart(W,"0")},distanceFromHash($,J){let X=new I4,q=X.getHash($);return X.distance(q,J)}};var ZP=g.object({src:Z9,x:g.number().optional(),y:g.number().optional()}),FP=g.union([Z9,ZP]),WH={mask($,J){FP.parse(J);let X,q,W;if("bitmap"in J)X=J,q=0,W=0;else X=J.src,q=J.x??0,W=J.y??0;q=Math.round(q),W=Math.round(W);let Y=$.bitmap.width,Q=$.bitmap.height;return X.scan(function(K,G,V){let H=q+K,M=W+G;if(H>=0&&M>=0&&H<Y&&M<Q){let O=$.getPixelIndex(H,M),{data:N}=X.bitmap,U=(N[V+0]+N[V+1]+N[V+2])/3;$.bitmap.data[O+3]*=U/255}}),$}};function l5($,J){let X=0;for(let q=0;q<J.length;q++){let W=J[q],Y=$.chars[W];if(Y){let Q=$.kernings[W],K=J[q+1],G=Q&&K&&Q[K]?Q[K]||0:0;X+=(Y.xadvance||0)+G}}return X}function y4($,J,X){let q=J.replace(/[\r\n]+/g,`
34
+ `).split(" "),W=[],Y=[],Q=0;return q.forEach((K)=>{if(l5($,K+(q.length>1?" ":""))>X){let M=K[Symbol.iterator](),O="";for(let N of M){let U=[...Y,O+N].join(" "),j=l5($,U);if(j<X)O+=N;else if(j>X)W.push([...Y,O]),Y=[],O=N;else W.push([...Y,O+N]),Y=[],O=""}return}let V=[...Y,K].join(" "),H=l5($,V);if(H<=X&&!K.includes(`
35
+ `)){if(H>Q)Q=H;Y.push(K)}else W.push(Y),Y=[K.replace(`
36
+ `,"")]}),W.push(Y),{lines:W,longestLine:Q}}function _4($,J,X){let{lines:q}=y4($,J,X);return q.length*$.common.lineHeight}var AP=g.object({x:g.number(),y:g.number(),text:g.union([g.union([g.string(),g.number()]),g.object({text:g.union([g.string(),g.number()]),alignmentX:g.nativeEnum(J6).optional(),alignmentY:g.nativeEnum(X6).optional()})]),maxWidth:g.number().optional(),maxHeight:g.number().optional(),cb:g.function(g.tuple([g.object({x:g.number(),y:g.number()})])).optional()});function SP($,J,X,q){if(q===J6.LEFT)return 0;if(q===J6.CENTER)return(X-l5($,J))/2;return X-l5($,J)}function DP($,J,X,q,W){if(W.width>0&&W.height>0){let Y=J.pages[W.page];if(Y)$=g5.blit($,{src:Y,x:X+W.xoffset,y:q+W.yoffset,srcX:W.x,srcY:W.y,srcW:W.width,srcH:W.height})}return $}function EP($,J,X,q,W,Y){for(let Q=0;Q<W.length;Q++){let K=W[Q],G;if(J.chars[K])G=K;else if(/\s/.test(K))G="";else G="?";let V=J.chars[G]||{xadvance:void 0},H=J.kernings[G];if(V)DP($,J,X,q,V);let M=W[Q+1],O=H&&M&&H[M]?H[M]||0:0;X+=O+(V.xadvance||Y)}}var YH={print($,{font:J,...X}){let{x:q,y:W,text:Y,maxWidth:Q=1/0,maxHeight:K=1/0,cb:G=()=>{}}=AP.parse(X),V,H;if(typeof Y==="object"&&Y.text!==null&&Y.text!==void 0)V=Y.alignmentX||J6.LEFT,H=Y.alignmentY||X6.TOP,{text:Y}=Y;else V=J6.LEFT,H=X6.TOP,Y=Y.toString();if(typeof Y==="number")Y=Y.toString();if(K!==1/0&&H===X6.BOTTOM)W+=K-_4(J,Y,Q);else if(K!==1/0&&H===X6.MIDDLE)W+=K/2-_4(J,Y,Q)/2;let M=Object.entries(J.chars).find((U)=>U[1].xadvance)?.[1].xadvance;if(typeof M!=="number")throw Error("Could not find default character width");let{lines:O,longestLine:N}=y4(J,Y,Q);return O.forEach((U)=>{let j=U.join(" "),R=SP(J,j,Q,V);EP($,J,q+R,W,j,M),W+=J.common.lineHeight}),G.bind($)({x:q+N,y:W}),$}};var vP=g.union([g.number(),g.object({deg:g.number(),mode:g.union([g.boolean(),g.nativeEnum(c8)]).optional()})]);function QH($){return function(J,X){return X*$+J<<2}}function wP($,J){if(Math.abs(J)%90!==0)throw Error("Unsupported matrix rotation degree");let X=$.bitmap.width,q=$.bitmap.height,W;switch(J){case 90:case-270:W=90;break;case 180:case-180:W=180;break;case 270:case-90:W=-90;break;default:throw Error("Unsupported matrix rotation degree")}let Y=W===180?X:q,Q=W===180?q:X,K=Buffer.alloc($.bitmap.data.length),G=QH(X),V=QH(Y);for(let H=0;H<X;H++)for(let M=0;M<q;M++){let O=G(H,M),N=$.bitmap.data.readUInt32BE(O),U;switch(W){case 90:U=V(M,X-H-1);break;case-90:U=V(q-M-1,H);break;case 180:U=V(X-H-1,q-M-1);break;default:throw Error("Unsupported matrix rotation angle")}K.writeUInt32BE(N,U)}$.bitmap.data=K,$.bitmap.width=Y,$.bitmap.height=Q}function KH($,J){return function(X,q){return{x:X+$,y:q+J}}}function kP($,J,X){let q=J*Math.PI/180,W=Math.cos(q),Y=Math.sin(q),Q=$.bitmap.width,K=$.bitmap.height;if(X===!0||typeof X==="string"){if(Q=Math.ceil(Math.abs($.bitmap.width*W)+Math.abs($.bitmap.height*Y))+1,K=Math.ceil(Math.abs($.bitmap.width*Y)+Math.abs($.bitmap.height*W))+1,Q%2!==0)Q++;if(K%2!==0)K++;let N=b8($);$.scan((j,R,z)=>{$.bitmap.data.writeUInt32BE($.background,z)});let U=Math.max(Q,K,$.bitmap.width,$.bitmap.height);$=L6.resize($,{h:U,w:U,mode:X===!0?void 0:X}),$=b5($,N,$.bitmap.width/2-N.bitmap.width/2,$.bitmap.height/2-N.bitmap.height/2)}let G=$.bitmap.width,V=$.bitmap.height,H=Buffer.alloc($.bitmap.data.length),M=KH(-(G/2),-(V/2)),O=KH(G/2+0.5,V/2+0.5);for(let N=1;N<=V;N++)for(let U=1;U<=G;U++){let j=M(U,N),R=O(W*j.x-Y*j.y,W*j.y+Y*j.x),z=G*(N-1)+U-1<<2;if(R.x>=0&&R.x<G&&R.y>=0&&R.y<V){let F=(G*(R.y|0)+R.x|0)<<2,P=$.bitmap.data.readUInt32BE(F);H.writeUInt32BE(P,z)}else H.writeUInt32BE($.background,z)}if($.bitmap.data=H,X===!0||typeof X==="string"){let N=Math.max(G/2-Q/2,0),U=Math.max(V/2-K/2,0);$=p5.crop($,{x:N,y:U,w:Q,h:K})}}var GH={rotate($,J){let X=vP.parse(J),q=typeof X==="number"?{deg:X}:X,{mode:W=!0}=q,{deg:Y}=q;if(Y%=360,Y%360===0)return $;if(Y%90===0&&(W||$.bitmap.width===$.bitmap.height||Y%180===0))wP($,Y);else kP($,Y,W);return $}};var IP=g.object({max:g.number().min(0).max(255),replace:g.number().min(0).max(255).optional(),autoGreyscale:g.boolean().optional()}),VH={threshold($,J){let{max:X,replace:q=255,autoGreyscale:W=!0}=IP.parse(J);if(X=e0(X),q=e0(q),W)f5.greyscale($);return $.scan((Y,Q,K)=>{let G=$.bitmap.data[K]<X?$.bitmap.data[K]:q;$.bitmap.data[K]=G,$.bitmap.data[K+1]=G,$.bitmap.data[K+2]=G}),$}};var NH=Object.defineProperty,_P=($,J,X)=>(J in $)?NH($,J,{enumerable:!0,configurable:!0,writable:!0,value:X}):$[J]=X,t6=($,J)=>{for(var X in J)NH($,X,{get:J[X],enumerable:!0})},d=($,J,X)=>{return _P($,typeof J!=="symbol"?J+"":J,X),X},xP={};t6(xP,{bt709:()=>UH});var UH={};t6(UH,{Y:()=>BH,x:()=>RH,y:()=>jH});var BH=(($)=>{return $[$.RED=0.2126]="RED",$[$.GREEN=0.7152]="GREEN",$[$.BLUE=0.0722]="BLUE",$[$.WHITE=1]="WHITE",$})(BH||{}),RH=(($)=>{return $[$.RED=0.64]="RED",$[$.GREEN=0.3]="GREEN",$[$.BLUE=0.15]="BLUE",$[$.WHITE=0.3127]="WHITE",$})(RH||{}),jH=(($)=>{return $[$.RED=0.33]="RED",$[$.GREEN=0.6]="GREEN",$[$.BLUE=0.06]="BLUE",$[$.WHITE=0.329]="WHITE",$})(jH||{}),hP={};t6(hP,{lab2rgb:()=>cP,lab2xyz:()=>AH,rgb2hsl:()=>L7,rgb2lab:()=>s$,rgb2xyz:()=>LH,xyz2lab:()=>PH,xyz2rgb:()=>SH});function x4($){return $>0.04045?(($+0.055)/1.055)**2.4:$/12.92}function LH($,J,X){return $=x4($/255),J=x4(J/255),X=x4(X/255),{x:$*0.4124+J*0.3576+X*0.1805,y:$*0.2126+J*0.7152+X*0.0722,z:$*0.0193+J*0.1192+X*0.9505}}var zH={};t6(zH,{degrees2radians:()=>A9,inRange0to255:()=>n8,inRange0to255Rounded:()=>q6,intInRange:()=>gP,max3:()=>ZH,min3:()=>FH,stableSort:()=>m4});function A9($){return $*(Math.PI/180)}function ZH($,J,X){let q=$;if(q<J)q=J;if(q<X)q=X;return q}function FH($,J,X){let q=$;if(q>J)q=J;if(q>X)q=X;return q}function gP($,J,X){if($>X)$=X;if($<J)$=J;return $|0}function q6($){if($=Math.round($),$>255)$=255;else if($<0)$=0;return $}function n8($){if($>255)$=255;else if($<0)$=0;return $}function m4($,J){let X=typeof $[0],q;if(X==="number"||X==="string"){let W=Object.create(null);for(let Y=0,Q=$.length;Y<Q;Y++){let K=$[Y];if(W[K]||W[K]===0)continue;W[K]=Y}q=$.sort((Y,Q)=>J(Y,Q)||W[Y]-W[Q])}else{let W=$.slice(0);q=$.sort((Y,Q)=>J(Y,Q)||W.indexOf(Y)-W.indexOf(Q))}return q}function L7($,J,X){let q=FH($,J,X),W=ZH($,J,X),Y=W-q,Q=(q+W)/510,K=0;if(Q>0&&Q<1)K=Y/(Q<0.5?W+q:510-W-q);let G=0;if(Y>0){if(W===$)G=(J-X)/Y;else if(W===J)G=2+(X-$)/Y;else G=4+($-J)/Y;if(G*=60,G<0)G+=360}return{h:G,s:K,l:Q}}var fP=0.95047,bP=1,mP=1.08883;function h4($){return $>0.008856?$**0.3333333333333333:7.787*$+0.13793103448275862}function PH($,J,X){if($=h4($/fP),J=h4(J/bP),X=h4(X/mP),116*J-16<0)throw Error("xxx");return{L:Math.max(0,116*J-16),a:500*($-J),b:200*(J-X)}}function s$($,J,X){let q=LH($,J,X);return PH(q.x,q.y,q.z)}var uP=0.95047,pP=1,lP=1.08883;function g4($){return $>0.206893034?$**3:($-0.13793103448275862)/7.787}function AH($,J,X){let q=($+16)/116,W=J/500+q,Y=q-X/200;return{x:uP*g4(W),y:pP*g4(q),z:lP*g4(Y)}}function f4($){return $>0.0031308?1.055*$**0.4166666666666667-0.055:12.92*$}function SH($,J,X){let q=f4($*3.2406+J*-1.5372+X*-0.4986),W=f4($*-0.9689+J*1.8758+X*0.0415),Y=f4($*0.0557+J*-0.204+X*1.057);return{r:q6(q*255),g:q6(W*255),b:q6(Y*255)}}function cP($,J,X){let q=AH($,J,X);return SH(q.x,q.y,q.z)}var dP={};t6(dP,{AbstractDistanceCalculator:()=>c9,AbstractEuclidean:()=>z7,AbstractManhattan:()=>Z7,CIE94GraphicArts:()=>CH,CIE94Textiles:()=>EH,CIEDE2000:()=>z6,CMetric:()=>vH,Euclidean:()=>wH,EuclideanBT709:()=>kH,EuclideanBT709NoAlpha:()=>TH,Manhattan:()=>IH,ManhattanBT709:()=>_H,ManhattanNommyde:()=>yH,PNGQuant:()=>xH});var c9=class{constructor(){d(this,"_maxDistance"),d(this,"_whitePoint"),this._setDefaults(),this.setWhitePoint(255,255,255,255)}setWhitePoint($,J,X,q){this._whitePoint={r:$>0?255/$:0,g:J>0?255/J:0,b:X>0?255/X:0,a:q>0?255/q:0},this._maxDistance=this.calculateRaw($,J,X,q,0,0,0,0)}calculateNormalized($,J){return this.calculateRaw($.r,$.g,$.b,$.a,J.r,J.g,J.b,J.a)/this._maxDistance}},DH=class extends c9{calculateRaw($,J,X,q,W,Y,Q,K){let G=s$(n8($*this._whitePoint.r),n8(J*this._whitePoint.g),n8(X*this._whitePoint.b)),V=s$(n8(W*this._whitePoint.r),n8(Y*this._whitePoint.g),n8(Q*this._whitePoint.b)),H=G.L-V.L,M=G.a-V.a,O=G.b-V.b,N=Math.sqrt(G.a*G.a+G.b*G.b),U=Math.sqrt(V.a*V.a+V.b*V.b),j=N-U,R=M*M+O*O-j*j;R=R<0?0:Math.sqrt(R);let z=(K-q)*this._whitePoint.a*this._kA;return Math.sqrt((H/this._Kl)**2+(j/(1+this._K1*N))**2+(R/(1+this._K2*N))**2+z**2)}},EH=class extends DH{_setDefaults(){this._Kl=2,this._K1=0.048,this._K2=0.014,this._kA=0.049019607843137254}},CH=class extends DH{_setDefaults(){this._Kl=1,this._K1=0.045,this._K2=0.015,this._kA=0.09803921568627451}},X8=class extends c9{_setDefaults(){}static _calculatehp($,J){let X=Math.atan2($,J);if(X>=0)return X;return X+X8._deg360InRad}static _calculateRT($,J){let X=J**7,q=2*Math.sqrt(X/(X+X8._pow25to7)),W=X8._deg30InRad*Math.exp(-((($-X8._deg275InRad)/X8._deg25InRad)**2));return-Math.sin(2*W)*q}static _calculateT($){return 1-0.17*Math.cos($-X8._deg30InRad)+0.24*Math.cos($*2)+0.32*Math.cos($*3+X8._deg6InRad)-0.2*Math.cos($*4-X8._deg63InRad)}static _calculate_ahp($,J,X,q){let W=X+q;if($===0)return W;if(J<=X8._deg180InRad)return W/2;if(W<X8._deg360InRad)return(W+X8._deg360InRad)/2;return(W-X8._deg360InRad)/2}static _calculate_dHp($,J,X,q){let W;if($===0)W=0;else if(J<=X8._deg180InRad)W=X-q;else if(X<=q)W=X-q+X8._deg360InRad;else W=X-q-X8._deg360InRad;return 2*Math.sqrt($)*Math.sin(W/2)}calculateRaw($,J,X,q,W,Y,Q,K){let G=s$(n8($*this._whitePoint.r),n8(J*this._whitePoint.g),n8(X*this._whitePoint.b)),V=s$(n8(W*this._whitePoint.r),n8(Y*this._whitePoint.g),n8(Q*this._whitePoint.b)),H=(K-q)*this._whitePoint.a*X8._kA,M=this.calculateRawInLab(G,V);return Math.sqrt(M+H*H)}calculateRawInLab($,J){let{L:X,a:q,b:W}=$,Y=J.L,Q=J.a,K=J.b,G=Math.sqrt(q*q+W*W),V=Math.sqrt(Q*Q+K*K),H=((G+V)/2)**7,M=0.5*(1-Math.sqrt(H/(H+X8._pow25to7))),O=(1+M)*q,N=(1+M)*Q,U=Math.sqrt(O*O+W*W),j=Math.sqrt(N*N+K*K),R=U*j,z=X8._calculatehp(W,O),F=X8._calculatehp(K,N),P=Math.abs(z-F),S=Y-X,Z=j-U,L=X8._calculate_dHp(R,P,F,z),B=X8._calculate_ahp(R,P,z,F),v=X8._calculateT(B),w=(U+j)/2,x=((X+Y)/2-50)**2,A=1+0.015*x/Math.sqrt(20+x),D=1+0.045*w,C=1+0.015*v*w,k=X8._calculateRT(B,w),_=S/A,y=Z/D,f=L/C;return _**2+y**2+f**2+k*y*f}},z6=X8;d(z6,"_kA",0.09803921568627451);d(z6,"_pow25to7",6103515625);d(z6,"_deg360InRad",A9(360));d(z6,"_deg180InRad",A9(180));d(z6,"_deg30InRad",A9(30));d(z6,"_deg6InRad",A9(6));d(z6,"_deg63InRad",A9(63));d(z6,"_deg275InRad",A9(275));d(z6,"_deg25InRad",A9(25));var vH=class extends c9{calculateRaw($,J,X,q,W,Y,Q,K){let G=($+W)/2*this._whitePoint.r,V=($-W)*this._whitePoint.r,H=(J-Y)*this._whitePoint.g,M=(X-Q)*this._whitePoint.b,O=((512+G)*V*V>>8)+4*H*H+((767-G)*M*M>>8),N=(K-q)*this._whitePoint.a;return Math.sqrt(O+N*N)}_setDefaults(){}},z7=class extends c9{calculateRaw($,J,X,q,W,Y,Q,K){let G=W-$,V=Y-J,H=Q-X,M=K-q;return Math.sqrt(this._kR*G*G+this._kG*V*V+this._kB*H*H+this._kA*M*M)}},wH=class extends z7{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},kH=class extends z7{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},TH=class extends z7{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=0}},Z7=class extends c9{calculateRaw($,J,X,q,W,Y,Q,K){let G=W-$,V=Y-J,H=Q-X,M=K-q;if(G<0)G=0-G;if(V<0)V=0-V;if(H<0)H=0-H;if(M<0)M=0-M;return this._kR*G+this._kG*V+this._kB*H+this._kA*M}},IH=class extends Z7{_setDefaults(){this._kR=1,this._kG=1,this._kB=1,this._kA=1}},yH=class extends Z7{_setDefaults(){this._kR=0.4984,this._kG=0.8625,this._kB=0.2979,this._kA=1}},_H=class extends Z7{_setDefaults(){this._kR=0.2126,this._kG=0.7152,this._kB=0.0722,this._kA=1}},xH=class extends c9{calculateRaw($,J,X,q,W,Y,Q,K){let G=(K-q)*this._whitePoint.a;return this._colordifferenceCh($*this._whitePoint.r,W*this._whitePoint.r,G)+this._colordifferenceCh(J*this._whitePoint.g,Y*this._whitePoint.g,G)+this._colordifferenceCh(X*this._whitePoint.b,Q*this._whitePoint.b,G)}_colordifferenceCh($,J,X){let q=$-J,W=q+X;return q*q+W*W}_setDefaults(){}},nP={};t6(nP,{AbstractPaletteQuantizer:()=>a$,ColorHistogram:()=>e$,NeuQuant:()=>Q8,NeuQuantFloat:()=>K8,RGBQuant:()=>fH,WuColorCube:()=>bH,WuQuant:()=>i5});var a$=class{quantizeSync(){for(let $ of this.quantize())if($.palette)return $.palette;throw Error("unreachable")}},r8=class{constructor(){d(this,"r"),d(this,"g"),d(this,"b"),d(this,"a"),d(this,"uint32"),d(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($){let J=new r8;return J.r=$[0]|0,J.g=$[1]|0,J.b=$[2]|0,J.a=$[3]|0,J._loadUINT32(),J._loadQuadruplet(),J}static createByRGBA($,J,X,q){let W=new r8;return W.r=$|0,W.g=J|0,W.b=X|0,W.a=q|0,W._loadUINT32(),W._loadQuadruplet(),W}static createByUint32($){let J=new r8;return J.uint32=$>>>0,J._loadRGBA(),J._loadQuadruplet(),J}from($){this.r=$.r,this.g=$.g,this.b=$.b,this.a=$.a,this.uint32=$.uint32,this.rgba[0]=$.r,this.rgba[1]=$.g,this.rgba[2]=$.b,this.rgba[3]=$.a}getLuminosity($){let J=this.r,X=this.g,q=this.b;if($)J=Math.min(255,255-this.a+this.a*J/255),X=Math.min(255,255-this.a+this.a*X/255),q=Math.min(255,255-this.a+this.a*q/255);return J*0.2126+X*0.7152+q*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}},a6=class{constructor(){d(this,"_pointArray"),d(this,"_width"),d(this,"_height"),this._width=0,this._height=0,this._pointArray=[]}getWidth(){return this._width}getHeight(){return this._height}setWidth($){this._width=$}setHeight($){this._height=$}getPointArray(){return this._pointArray}clone(){let $=new a6;$._width=this._width,$._height=this._height;for(let J=0,X=this._pointArray.length;J<X;J++)$._pointArray[J]=r8.createByUint32(this._pointArray[J].uint32|0);return $}toUint32Array(){let $=this._pointArray.length,J=new Uint32Array($);for(let X=0;X<$;X++)J[X]=this._pointArray[X].uint32;return J}toUint8Array(){return new Uint8Array(this.toUint32Array().buffer)}static fromHTMLImageElement($){let{naturalWidth:J,naturalHeight:X}=$,q=document.createElement("canvas");return q.width=J,q.height=X,q.getContext("2d").drawImage($,0,0,J,X,0,0,J,X),a6.fromHTMLCanvasElement(q)}static fromHTMLCanvasElement($){let{width:J,height:X}=$,W=$.getContext("2d").getImageData(0,0,J,X);return a6.fromImageData(W)}static fromImageData($){let{width:J,height:X}=$;return a6.fromUint8Array($.data,J,X)}static fromUint8Array($,J,X){switch(Object.prototype.toString.call($)){case"[object Uint8ClampedArray]":case"[object Uint8Array]":break;default:$=new Uint8Array($)}let q=new Uint32Array($.buffer);return a6.fromUint32Array(q,J,X)}static fromUint32Array($,J,X){let q=new a6;q._width=J,q._height=X;for(let W=0,Y=$.length;W<Y;W++)q._pointArray[W]=r8.createByUint32($[W]|0);return q}static fromBuffer($,J,X){let q=new Uint32Array($.buffer,$.byteOffset,$.byteLength/Uint32Array.BYTES_PER_ELEMENT);return a6.fromUint32Array(q,J,X)}},HH=10;function b4($,J){let q=360/J,W=q/2;for(let Y=1,Q=q-W;Y<J;Y++,Q+=q)if($>=Q&&$<Q+q)return Y;return 0}var t$=class{constructor(){d(this,"_pointContainer"),d(this,"_pointArray",[]),d(this,"_i32idx",{}),this._pointContainer=new a6,this._pointContainer.setHeight(1),this._pointArray=this._pointContainer.getPointArray()}add($){this._pointArray.push($),this._pointContainer.setWidth(this._pointArray.length)}has($){for(let J=this._pointArray.length-1;J>=0;J--)if($.uint32===this._pointArray[J].uint32)return!0;return!1}getNearestColor($,J){return this._pointArray[this._getNearestIndex($,J)|0]}getPointContainer(){return this._pointContainer}_nearestPointFromCache($){return typeof this._i32idx[$]==="number"?this._i32idx[$]:-1}_getNearestIndex($,J){let X=this._nearestPointFromCache(""+J.uint32);if(X>=0)return X;let q=Number.MAX_VALUE;X=0;for(let W=0,Y=this._pointArray.length;W<Y;W++){let Q=this._pointArray[W],K=$.calculateRaw(J.r,J.g,J.b,J.a,Q.r,Q.g,Q.b,Q.a);if(K<q)q=K,X=W}return this._i32idx[J.uint32]=X,X}sort(){this._i32idx={},this._pointArray.sort(($,J)=>{let X=L7($.r,$.g,$.b),q=L7(J.r,J.g,J.b),W=$.r===$.g&&$.g===$.b?0:1+b4(X.h,HH),Q=(J.r===J.g&&J.g===J.b?0:1+b4(q.h,HH))-W;if(Q)return-Q;let K=$.getLuminosity(!0),G=J.getLuminosity(!0);if(G-K!==0)return G-K;let V=(q.s*100|0)-(X.s*100|0);if(V)return-V;return 0})}},u4={};t6(u4,{HueStatistics:()=>hH,Palette:()=>t$,Point:()=>r8,PointContainer:()=>a6,ProgressTracker:()=>e6,arithmetic:()=>zH});var rP=class{constructor(){d(this,"num",0),d(this,"cols",[])}},hH=class{constructor($,J){d(this,"_numGroups"),d(this,"_minCols"),d(this,"_stats"),d(this,"_groupsFull"),this._numGroups=$,this._minCols=J,this._stats=[];for(let X=0;X<=$;X++)this._stats[X]=new rP;this._groupsFull=0}check($){if(this._groupsFull===this._numGroups+1)this.check=()=>{};let J=$&255,X=$>>>8&255,q=$>>>16&255,W=J===X&&X===q?0:1+b4(L7(J,X,q).h,this._numGroups),Y=this._stats[W],Q=this._minCols;if(Y.num++,Y.num>Q)return;if(Y.num===Q)this._groupsFull++;if(Y.num<=Q)this._stats[W].cols.push($)}injectIntoDictionary($){for(let J=0;J<=this._numGroups;J++)if(this._stats[J].num<=this._minCols)this._stats[J].cols.forEach((X)=>{if(!$[X])$[X]=1;else $[X]++})}injectIntoArray($){for(let J=0;J<=this._numGroups;J++)if(this._stats[J].num<=this._minCols)this._stats[J].cols.forEach((X)=>{if($.indexOf(X)===-1)$.push(X)})}},gH=class{constructor($,J){d(this,"progress"),d(this,"_step"),d(this,"_range"),d(this,"_last"),d(this,"_progressRange"),this._range=$,this._progressRange=J,this._step=Math.max(1,this._range/(gH.steps+1)|0),this._last=-this._step,this.progress=0}shouldNotify($){if($-this._last>=this._step)return this._last=$,this.progress=Math.min(this._progressRange*this._last/this._range,this._progressRange),!0;return!1}},e6=gH;d(e6,"steps",100);var I8=3,oP=class{constructor($){d(this,"r"),d(this,"g"),d(this,"b"),d(this,"a"),this.r=this.g=this.b=this.a=$}toPoint(){return r8.createByRGBA(this.r>>I8,this.g>>I8,this.b>>I8,this.a>>I8)}subtract($,J,X,q){this.r-=$|0,this.g-=J|0,this.b-=X|0,this.a-=q|0}},u0=class extends a${constructor($,J=256){super();d(this,"_pointArray"),d(this,"_networkSize"),d(this,"_network"),d(this,"_sampleFactor"),d(this,"_radPower"),d(this,"_freq"),d(this,"_bias"),d(this,"_distance"),this._distance=$,this._pointArray=[],this._sampleFactor=1,this._networkSize=J,this._distance.setWhitePoint(255<<I8,255<<I8,255<<I8,255<<I8)}sample($){this._pointArray=this._pointArray.concat($.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let $=0;$<this._networkSize;$++)this._network[$]=new oP(($<<I8+8)/this._networkSize|0),this._freq[$]=u0._initialBias/this._networkSize|0,this._bias[$]=0}*_learn(){let $=this._sampleFactor,J=this._pointArray.length;if(J<u0._minpicturebytes)$=1;let X=30+($-1)/3|0,q=J/$|0,W=q/u0._nCycles|0,Y=u0._initAlpha,Q=(this._networkSize>>3)*u0._radiusBias,K=Q>>u0._radiusBiasShift;if(K<=1)K=0;for(let H=0;H<K;H++)this._radPower[H]=Y*((K*K-H*H)*u0._radBias/(K*K))>>>0;let G;if(J<u0._minpicturebytes)G=1;else if(J%u0._prime1!==0)G=u0._prime1;else if(J%u0._prime2!==0)G=u0._prime2;else if(J%u0._prime3!==0)G=u0._prime3;else G=u0._prime4;let V=new e6(q,99);for(let H=0,M=0;H<q;){if(V.shouldNotify(H))yield{progress:V.progress};let O=this._pointArray[M],N=O.b<<I8,U=O.g<<I8,j=O.r<<I8,R=O.a<<I8,z=this._contest(N,U,j,R);if(this._alterSingle(Y,z,N,U,j,R),K!==0)this._alterNeighbour(K,z,N,U,j,R);if(M+=G,M>=J)M-=J;if(H++,W===0)W=1;if(H%W===0){if(Y-=Y/X|0,Q-=Q/u0._radiusDecrease|0,K=Q>>u0._radiusBiasShift,K<=1)K=0;for(let F=0;F<K;F++)this._radPower[F]=Y*((K*K-F*F)*u0._radBias/(K*K))>>>0}}}_buildPalette(){let $=new t$;return this._network.forEach((J)=>{$.add(J.toPoint())}),$.sort(),$}_alterNeighbour($,J,X,q,W,Y){let Q=J-$;if(Q<-1)Q=-1;let K=J+$;if(K>this._networkSize)K=this._networkSize;let G=J+1,V=J-1,H=1;while(G<K||V>Q){let M=this._radPower[H++]/u0._alphaRadBias;if(G<K){let O=this._network[G++];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}if(V>Q){let O=this._network[V--];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}}}_alterSingle($,J,X,q,W,Y){$/=u0._initAlpha;let Q=this._network[J];Q.subtract($*(Q.r-W),$*(Q.g-q),$*(Q.b-X),$*(Q.a-Y))}_contest($,J,X,q){let W=1020<<I8,Y=2147483647,Q=Y,K=-1,G=K;for(let V=0;V<this._networkSize;V++){let H=this._network[V],M=this._distance.calculateNormalized(H,{r:X,g:J,b:$,a:q})*W|0;if(M<Y)Y=M,K=V;let O=M-(this._bias[V]>>u0._initialBiasShift-I8);if(O<Q)Q=O,G=V;let N=this._freq[V]>>u0._betaShift;this._freq[V]-=N,this._bias[V]+=N<<u0._gammaShift}return this._freq[K]+=u0._beta,this._bias[K]-=u0._betaGamma,G}},Q8=u0;d(Q8,"_prime1",499);d(Q8,"_prime2",491);d(Q8,"_prime3",487);d(Q8,"_prime4",503);d(Q8,"_minpicturebytes",u0._prime4);d(Q8,"_nCycles",100);d(Q8,"_initialBiasShift",16);d(Q8,"_initialBias",1<<u0._initialBiasShift);d(Q8,"_gammaShift",10);d(Q8,"_betaShift",10);d(Q8,"_beta",u0._initialBias>>u0._betaShift);d(Q8,"_betaGamma",u0._initialBias<<u0._gammaShift-u0._betaShift);d(Q8,"_radiusBiasShift",6);d(Q8,"_radiusBias",1<<u0._radiusBiasShift);d(Q8,"_radiusDecrease",30);d(Q8,"_alphaBiasShift",10);d(Q8,"_initAlpha",1<<u0._alphaBiasShift);d(Q8,"_radBiasShift",8);d(Q8,"_radBias",1<<u0._radBiasShift);d(Q8,"_alphaRadBiasShift",u0._alphaBiasShift+u0._radBiasShift);d(Q8,"_alphaRadBias",1<<u0._alphaRadBiasShift);var y8=3,iP=class{constructor($){d(this,"r"),d(this,"g"),d(this,"b"),d(this,"a"),this.r=this.g=this.b=this.a=$}toPoint(){return r8.createByRGBA(this.r>>y8,this.g>>y8,this.b>>y8,this.a>>y8)}subtract($,J,X,q){this.r-=$,this.g-=J,this.b-=X,this.a-=q}},p0=class extends a${constructor($,J=256){super();d(this,"_pointArray"),d(this,"_networkSize"),d(this,"_network"),d(this,"_sampleFactor"),d(this,"_radPower"),d(this,"_freq"),d(this,"_bias"),d(this,"_distance"),this._distance=$,this._pointArray=[],this._sampleFactor=1,this._networkSize=J,this._distance.setWhitePoint(255<<y8,255<<y8,255<<y8,255<<y8)}sample($){this._pointArray=this._pointArray.concat($.getPointArray())}*quantize(){this._init(),yield*this._learn(),yield{palette:this._buildPalette(),progress:100}}_init(){this._freq=[],this._bias=[],this._radPower=[],this._network=[];for(let $=0;$<this._networkSize;$++)this._network[$]=new iP(($<<y8+8)/this._networkSize),this._freq[$]=p0._initialBias/this._networkSize,this._bias[$]=0}*_learn(){let $=this._sampleFactor,J=this._pointArray.length;if(J<p0._minpicturebytes)$=1;let X=30+($-1)/3,q=J/$,W=q/p0._nCycles|0,Y=p0._initAlpha,Q=(this._networkSize>>3)*p0._radiusBias,K=Q>>p0._radiusBiasShift;if(K<=1)K=0;for(let H=0;H<K;H++)this._radPower[H]=Y*((K*K-H*H)*p0._radBias/(K*K));let G;if(J<p0._minpicturebytes)G=1;else if(J%p0._prime1!==0)G=p0._prime1;else if(J%p0._prime2!==0)G=p0._prime2;else if(J%p0._prime3!==0)G=p0._prime3;else G=p0._prime4;let V=new e6(q,99);for(let H=0,M=0;H<q;){if(V.shouldNotify(H))yield{progress:V.progress};let O=this._pointArray[M],N=O.b<<y8,U=O.g<<y8,j=O.r<<y8,R=O.a<<y8,z=this._contest(N,U,j,R);if(this._alterSingle(Y,z,N,U,j,R),K!==0)this._alterNeighbour(K,z,N,U,j,R);if(M+=G,M>=J)M-=J;if(H++,W===0)W=1;if(H%W===0){if(Y-=Y/X,Q-=Q/p0._radiusDecrease,K=Q>>p0._radiusBiasShift,K<=1)K=0;for(let F=0;F<K;F++)this._radPower[F]=Y*((K*K-F*F)*p0._radBias/(K*K))}}}_buildPalette(){let $=new t$;return this._network.forEach((J)=>{$.add(J.toPoint())}),$.sort(),$}_alterNeighbour($,J,X,q,W,Y){let Q=J-$;if(Q<-1)Q=-1;let K=J+$;if(K>this._networkSize)K=this._networkSize;let G=J+1,V=J-1,H=1;while(G<K||V>Q){let M=this._radPower[H++]/p0._alphaRadBias;if(G<K){let O=this._network[G++];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}if(V>Q){let O=this._network[V--];O.subtract(M*(O.r-W),M*(O.g-q),M*(O.b-X),M*(O.a-Y))}}}_alterSingle($,J,X,q,W,Y){$/=p0._initAlpha;let Q=this._network[J];Q.subtract($*(Q.r-W),$*(Q.g-q),$*(Q.b-X),$*(Q.a-Y))}_contest($,J,X,q){let W=1020<<y8,Y=2147483647,Q=Y,K=-1,G=K;for(let V=0;V<this._networkSize;V++){let H=this._network[V],M=this._distance.calculateNormalized(H,{r:X,g:J,b:$,a:q})*W;if(M<Y)Y=M,K=V;let O=M-(this._bias[V]>>p0._initialBiasShift-y8);if(O<Q)Q=O,G=V;let N=this._freq[V]>>p0._betaShift;this._freq[V]-=N,this._bias[V]+=N<<p0._gammaShift}return this._freq[K]+=p0._beta,this._bias[K]-=p0._betaGamma,G}},K8=p0;d(K8,"_prime1",499);d(K8,"_prime2",491);d(K8,"_prime3",487);d(K8,"_prime4",503);d(K8,"_minpicturebytes",p0._prime4);d(K8,"_nCycles",100);d(K8,"_initialBiasShift",16);d(K8,"_initialBias",1<<p0._initialBiasShift);d(K8,"_gammaShift",10);d(K8,"_betaShift",10);d(K8,"_beta",p0._initialBias>>p0._betaShift);d(K8,"_betaGamma",p0._initialBias<<p0._gammaShift-p0._betaShift);d(K8,"_radiusBiasShift",6);d(K8,"_radiusBias",1<<p0._radiusBiasShift);d(K8,"_radiusDecrease",30);d(K8,"_alphaBiasShift",10);d(K8,"_initAlpha",1<<p0._alphaBiasShift);d(K8,"_radBiasShift",8);d(K8,"_radBias",1<<p0._radBiasShift);d(K8,"_alphaRadBiasShift",p0._alphaBiasShift+p0._radBiasShift);d(K8,"_alphaRadBias",1<<p0._alphaRadBiasShift);var i$=class{constructor($,J){d(this,"_method"),d(this,"_hueStats"),d(this,"_histogram"),d(this,"_initColors"),d(this,"_minHueCols"),this._method=$,this._minHueCols=J<<2,this._initColors=J<<2,this._hueStats=new hH(i$._hueGroups,this._minHueCols),this._histogram=Object.create(null)}sample($){switch(this._method){case 1:this._colorStats1D($);break;case 2:this._colorStats2D($);break}}getImportanceSortedColorsIDXI32(){let $=m4(Object.keys(this._histogram),(X,q)=>this._histogram[q]-this._histogram[X]);if($.length===0)return[];let J;switch(this._method){case 1:let X=Math.min($.length,this._initColors),q=$[X-1],W=this._histogram[q];J=$.slice(0,X);let Y=X,Q=$.length;while(Y<Q&&this._histogram[$[Y]]===W)J.push($[Y++]);this._hueStats.injectIntoArray(J);break;case 2:J=$;break;default:throw Error("Incorrect method")}return J.map((X)=>+X)}_colorStats1D($){let J=this._histogram,X=$.getPointArray(),q=X.length;for(let W=0;W<q;W++){let Y=X[W].uint32;if(this._hueStats.check(Y),Y in J)J[Y]++;else J[Y]=1}}_colorStats2D($){let J=$.getWidth(),X=$.getHeight(),q=$.getPointArray(),W=i$._boxSize[0],Y=i$._boxSize[1],Q=W*Y,K=this._makeBoxes(J,X,W,Y),G=this._histogram;K.forEach((V)=>{let H=Math.round(V.w*V.h/Q)*i$._boxPixels;if(H<2)H=2;let M={};this._iterateBox(V,J,(O)=>{let N=q[O].uint32;if(this._hueStats.check(N),N in G)G[N]++;else if(N in M){if(++M[N]>=H)G[N]=M[N]}else M[N]=1})}),this._hueStats.injectIntoDictionary(G)}_iterateBox($,J,X){let q=$,W=q.y*J+q.x,Y=(q.y+q.h-1)*J+(q.x+q.w-1),Q=J-q.w+1,K=0,G=W;do X.call(this,G),G+=++K%q.w===0?Q:1;while(G<=Y)}_makeBoxes($,J,X,q){let W=$%X,Y=J%q,Q=$-W,K=J-Y,G=[];for(let V=0;V<J;V+=q)for(let H=0;H<$;H+=X)G.push({x:H,y:V,w:H===Q?W:X,h:V===K?Y:q});return G}},e$=i$;d(e$,"_boxSize",[64,64]);d(e$,"_boxPixels",2);d(e$,"_hueGroups",10);var sP=class{constructor($,J,X){d(this,"index"),d(this,"color"),d(this,"distance"),this.index=$,this.color=J,this.distance=X}},fH=class extends a${constructor($,J=256,X=2){super();d(this,"_colors"),d(this,"_initialDistance"),d(this,"_distanceIncrement"),d(this,"_histogram"),d(this,"_distance"),this._distance=$,this._colors=J,this._histogram=new e$(X,J),this._initialDistance=0.01,this._distanceIncrement=0.005}sample($){this._histogram.sample($)}*quantize(){let $=this._histogram.getImportanceSortedColorsIDXI32();if($.length===0)throw Error("No colors in image");yield*this._buildPalette($)}*_buildPalette($){let J=new t$,X=J.getPointContainer().getPointArray(),q=Array($.length);for(let H=0;H<$.length;H++)X.push(r8.createByUint32($[H])),q[H]=1;let W=X.length,Y=[],Q=W,K=this._initialDistance,G=new e6(Q-this._colors,99);while(Q>this._colors){Y.length=0;for(let H=0;H<W;H++){if(G.shouldNotify(W-Q))yield{progress:G.progress};if(q[H]===0)continue;let M=X[H];for(let O=H+1;O<W;O++){if(q[O]===0)continue;let N=X[O],U=this._distance.calculateNormalized(M,N);if(U<K)Y.push(new sP(O,N,U)),q[O]=0,Q--}}K+=Q>this._colors*3?this._initialDistance:this._distanceIncrement}if(Q<this._colors){m4(Y,(M,O)=>O.distance-M.distance);let H=0;while(Q<this._colors&&H<Y.length){let M=Y[H];q[M.index]=1,Q++,H++}}let V=X.length;for(let H=V-1;H>=0;H--)if(q[H]===0){if(H!==V-1)X[H]=X[V-1];--V}X.length=V,J.sort(),yield{palette:J,progress:100}}};function c5($){let J=[];for(let X=0;X<$;X++)J[X]=0;return J}function d5($,J,X,q){let W=Array($);for(let Y=0;Y<$;Y++){W[Y]=Array(J);for(let Q=0;Q<J;Q++){W[Y][Q]=Array(X);for(let K=0;K<X;K++){W[Y][Q][K]=Array(q);for(let G=0;G<q;G++)W[Y][Q][K][G]=0}}}return W}function n5($,J,X){let q=Array($);for(let W=0;W<$;W++){q[W]=Array(J);for(let Y=0;Y<J;Y++){q[W][Y]=Array(X);for(let Q=0;Q<X;Q++)q[W][Y][Q]=0}}return q}function r5($,J,X,q,W){for(let Y=0;Y<J;Y++){$[Y]=[];for(let Q=0;Q<X;Q++){$[Y][Q]=[];for(let K=0;K<q;K++)$[Y][Q][K]=W}}}function o5($,J,X){for(let q=0;q<J;q++)$[q]=X}var bH=class{constructor(){d(this,"redMinimum"),d(this,"redMaximum"),d(this,"greenMinimum"),d(this,"greenMaximum"),d(this,"blueMinimum"),d(this,"blueMaximum"),d(this,"volume"),d(this,"alphaMinimum"),d(this,"alphaMaximum")}},w0=class extends a${constructor($,J=256,X=5){super();d(this,"_reds"),d(this,"_greens"),d(this,"_blues"),d(this,"_alphas"),d(this,"_sums"),d(this,"_weights"),d(this,"_momentsRed"),d(this,"_momentsGreen"),d(this,"_momentsBlue"),d(this,"_momentsAlpha"),d(this,"_moments"),d(this,"_table"),d(this,"_pixels"),d(this,"_cubes"),d(this,"_colors"),d(this,"_significantBitsPerChannel"),d(this,"_maxSideIndex"),d(this,"_alphaMaxSideIndex"),d(this,"_sideSize"),d(this,"_alphaSideSize"),d(this,"_distance"),this._distance=$,this._setQuality(X),this._initialize(J)}sample($){let J=$.getPointArray();for(let X=0,q=J.length;X<q;X++)this._addColor(J[X]);this._pixels=this._pixels.concat(J)}*quantize(){yield*this._preparePalette();let $=new t$;for(let J=0;J<this._colors;J++)if(this._sums[J]>0){let X=this._sums[J],q=this._reds[J]/X,W=this._greens[J]/X,Y=this._blues[J]/X,Q=this._alphas[J]/X,K=r8.createByRGBA(q|0,W|0,Y|0,Q|0);$.add(K)}$.sort(),yield{palette:$,progress:100}}*_preparePalette(){yield*this._calculateMoments();let $=0,J=c5(this._colors);for(let Q=1;Q<this._colors;++Q){if(this._cut(this._cubes[$],this._cubes[Q]))J[$]=this._cubes[$].volume>1?this._calculateVariance(this._cubes[$]):0,J[Q]=this._cubes[Q].volume>1?this._calculateVariance(this._cubes[Q]):0;else J[$]=0,Q--;$=0;let K=J[0];for(let G=1;G<=Q;++G)if(J[G]>K)K=J[G],$=G;if(K<=0){this._colors=Q+1;break}}let X=[],q=[],W=[],Y=[];for(let Q=0;Q<this._colors;++Q){let K=w0._volume(this._cubes[Q],this._weights);if(K>0)X[Q]=w0._volume(this._cubes[Q],this._momentsRed)/K|0,q[Q]=w0._volume(this._cubes[Q],this._momentsGreen)/K|0,W[Q]=w0._volume(this._cubes[Q],this._momentsBlue)/K|0,Y[Q]=w0._volume(this._cubes[Q],this._momentsAlpha)/K|0;else X[Q]=0,q[Q]=0,W[Q]=0,Y[Q]=0}this._reds=c5(this._colors+1),this._greens=c5(this._colors+1),this._blues=c5(this._colors+1),this._alphas=c5(this._colors+1),this._sums=c5(this._colors+1);for(let Q=0,K=this._pixels.length;Q<K;Q++){let G=this._pixels[Q],V=-1,H=-1,M=Number.MAX_VALUE;for(let O=0;O<this._colors;O++){let N=X[O],U=q[O],j=W[O],R=Y[O],z=this._distance.calculateRaw(N,U,j,R,G.r,G.g,G.b,G.a);if(z<M)M=z,H=O}this._reds[H]+=G.r,this._greens[H]+=G.g,this._blues[H]+=G.b,this._alphas[H]+=G.a,this._sums[H]++}}_addColor($){let J=8-this._significantBitsPerChannel,X=($.r>>J)+1,q=($.g>>J)+1,W=($.b>>J)+1,Y=($.a>>J)+1;this._weights[Y][X][q][W]++,this._momentsRed[Y][X][q][W]+=$.r,this._momentsGreen[Y][X][q][W]+=$.g,this._momentsBlue[Y][X][q][W]+=$.b,this._momentsAlpha[Y][X][q][W]+=$.a,this._moments[Y][X][q][W]+=this._table[$.r]+this._table[$.g]+this._table[$.b]+this._table[$.a]}*_calculateMoments(){let $=[],J=[],X=[],q=[],W=[],Y=[],Q=n5(this._sideSize,this._sideSize,this._sideSize),K=n5(this._sideSize,this._sideSize,this._sideSize),G=n5(this._sideSize,this._sideSize,this._sideSize),V=n5(this._sideSize,this._sideSize,this._sideSize),H=n5(this._sideSize,this._sideSize,this._sideSize),M=n5(this._sideSize,this._sideSize,this._sideSize),O=0,N=new e6(this._alphaMaxSideIndex*this._maxSideIndex,99);for(let U=1;U<=this._alphaMaxSideIndex;++U){r5(Q,this._sideSize,this._sideSize,this._sideSize,0),r5(K,this._sideSize,this._sideSize,this._sideSize,0),r5(G,this._sideSize,this._sideSize,this._sideSize,0),r5(V,this._sideSize,this._sideSize,this._sideSize,0),r5(H,this._sideSize,this._sideSize,this._sideSize,0),r5(M,this._sideSize,this._sideSize,this._sideSize,0);for(let j=1;j<=this._maxSideIndex;++j,++O){if(N.shouldNotify(O))yield{progress:N.progress};o5($,this._sideSize,0),o5(J,this._sideSize,0),o5(X,this._sideSize,0),o5(q,this._sideSize,0),o5(W,this._sideSize,0),o5(Y,this._sideSize,0);for(let R=1;R<=this._maxSideIndex;++R){let z=0,F=0,P=0,S=0,Z=0,L=0;for(let B=1;B<=this._maxSideIndex;++B)z+=this._weights[U][j][R][B],F+=this._momentsRed[U][j][R][B],P+=this._momentsGreen[U][j][R][B],S+=this._momentsBlue[U][j][R][B],Z+=this._momentsAlpha[U][j][R][B],L+=this._moments[U][j][R][B],$[B]+=z,J[B]+=F,X[B]+=P,q[B]+=S,W[B]+=Z,Y[B]+=L,Q[j][R][B]=Q[j-1][R][B]+$[B],K[j][R][B]=K[j-1][R][B]+J[B],G[j][R][B]=G[j-1][R][B]+X[B],V[j][R][B]=V[j-1][R][B]+q[B],H[j][R][B]=H[j-1][R][B]+W[B],M[j][R][B]=M[j-1][R][B]+Y[B],this._weights[U][j][R][B]=this._weights[U-1][j][R][B]+Q[j][R][B],this._momentsRed[U][j][R][B]=this._momentsRed[U-1][j][R][B]+K[j][R][B],this._momentsGreen[U][j][R][B]=this._momentsGreen[U-1][j][R][B]+G[j][R][B],this._momentsBlue[U][j][R][B]=this._momentsBlue[U-1][j][R][B]+V[j][R][B],this._momentsAlpha[U][j][R][B]=this._momentsAlpha[U-1][j][R][B]+H[j][R][B],this._moments[U][j][R][B]=this._moments[U-1][j][R][B]+M[j][R][B]}}}}static _volumeFloat($,J){return J[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMaximum]-J[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMaximum]-J[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMaximum]+J[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]-J[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMaximum]+J[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]+J[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-J[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(J[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMinimum]-J[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]-J[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+J[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]-J[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]+J[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]+J[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]-J[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum])}static _volume($,J){return w0._volumeFloat($,J)|0}static _top($,J,X,q){let W;switch(J){case w0._alpha:W=q[X][$.redMaximum][$.greenMaximum][$.blueMaximum]-q[X][$.redMaximum][$.greenMinimum][$.blueMaximum]-q[X][$.redMinimum][$.greenMaximum][$.blueMaximum]+q[X][$.redMinimum][$.greenMinimum][$.blueMaximum]-(q[X][$.redMaximum][$.greenMaximum][$.blueMinimum]-q[X][$.redMaximum][$.greenMinimum][$.blueMinimum]-q[X][$.redMinimum][$.greenMaximum][$.blueMinimum]+q[X][$.redMinimum][$.greenMinimum][$.blueMinimum]);break;case w0._red:W=q[$.alphaMaximum][X][$.greenMaximum][$.blueMaximum]-q[$.alphaMaximum][X][$.greenMinimum][$.blueMaximum]-q[$.alphaMinimum][X][$.greenMaximum][$.blueMaximum]+q[$.alphaMinimum][X][$.greenMinimum][$.blueMaximum]-(q[$.alphaMaximum][X][$.greenMaximum][$.blueMinimum]-q[$.alphaMaximum][X][$.greenMinimum][$.blueMinimum]-q[$.alphaMinimum][X][$.greenMaximum][$.blueMinimum]+q[$.alphaMinimum][X][$.greenMinimum][$.blueMinimum]);break;case w0._green:W=q[$.alphaMaximum][$.redMaximum][X][$.blueMaximum]-q[$.alphaMaximum][$.redMinimum][X][$.blueMaximum]-q[$.alphaMinimum][$.redMaximum][X][$.blueMaximum]+q[$.alphaMinimum][$.redMinimum][X][$.blueMaximum]-(q[$.alphaMaximum][$.redMaximum][X][$.blueMinimum]-q[$.alphaMaximum][$.redMinimum][X][$.blueMinimum]-q[$.alphaMinimum][$.redMaximum][X][$.blueMinimum]+q[$.alphaMinimum][$.redMinimum][X][$.blueMinimum]);break;case w0._blue:W=q[$.alphaMaximum][$.redMaximum][$.greenMaximum][X]-q[$.alphaMaximum][$.redMaximum][$.greenMinimum][X]-q[$.alphaMaximum][$.redMinimum][$.greenMaximum][X]+q[$.alphaMaximum][$.redMinimum][$.greenMinimum][X]-(q[$.alphaMinimum][$.redMaximum][$.greenMaximum][X]-q[$.alphaMinimum][$.redMaximum][$.greenMinimum][X]-q[$.alphaMinimum][$.redMinimum][$.greenMaximum][X]+q[$.alphaMinimum][$.redMinimum][$.greenMinimum][X]);break;default:throw Error("impossible")}return W|0}static _bottom($,J,X){switch(J){case w0._alpha:return-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMaximum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case w0._red:return-X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMaximum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case w0._green:return-X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMaximum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMaximum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMaximum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMaximum]-(-X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);case w0._blue:return-X[$.alphaMaximum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMaximum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMaximum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMaximum][$.redMinimum][$.greenMinimum][$.blueMinimum]-(-X[$.alphaMinimum][$.redMaximum][$.greenMaximum][$.blueMinimum]+X[$.alphaMinimum][$.redMaximum][$.greenMinimum][$.blueMinimum]+X[$.alphaMinimum][$.redMinimum][$.greenMaximum][$.blueMinimum]-X[$.alphaMinimum][$.redMinimum][$.greenMinimum][$.blueMinimum]);default:return 0}}_calculateVariance($){let J=w0._volume($,this._momentsRed),X=w0._volume($,this._momentsGreen),q=w0._volume($,this._momentsBlue),W=w0._volume($,this._momentsAlpha),Y=w0._volumeFloat($,this._moments),Q=w0._volume($,this._weights),K=J*J+X*X+q*q+W*W;return Y-K/Q}_maximize($,J,X,q,W,Y,Q,K,G){let V=w0._bottom($,J,this._momentsRed)|0,H=w0._bottom($,J,this._momentsGreen)|0,M=w0._bottom($,J,this._momentsBlue)|0,O=w0._bottom($,J,this._momentsAlpha)|0,N=w0._bottom($,J,this._weights)|0,U=0,j=-1;for(let R=X;R<q;++R){let z=V+w0._top($,J,R,this._momentsRed),F=H+w0._top($,J,R,this._momentsGreen),P=M+w0._top($,J,R,this._momentsBlue),S=O+w0._top($,J,R,this._momentsAlpha),Z=N+w0._top($,J,R,this._weights);if(Z!==0){let L=z*z+F*F+P*P+S*S,B=L/Z;if(z=W-z,F=Y-F,P=Q-P,S=K-S,Z=G-Z,Z!==0){if(L=z*z+F*F+P*P+S*S,B+=L/Z,B>U)U=B,j=R}}}return{max:U,position:j}}_cut($,J){let X,q=w0._volume($,this._momentsRed),W=w0._volume($,this._momentsGreen),Y=w0._volume($,this._momentsBlue),Q=w0._volume($,this._momentsAlpha),K=w0._volume($,this._weights),G=this._maximize($,w0._red,$.redMinimum+1,$.redMaximum,q,W,Y,Q,K),V=this._maximize($,w0._green,$.greenMinimum+1,$.greenMaximum,q,W,Y,Q,K),H=this._maximize($,w0._blue,$.blueMinimum+1,$.blueMaximum,q,W,Y,Q,K),M=this._maximize($,w0._alpha,$.alphaMinimum+1,$.alphaMaximum,q,W,Y,Q,K);if(M.max>=G.max&&M.max>=V.max&&M.max>=H.max){if(X=w0._alpha,M.position<0)return!1}else if(G.max>=M.max&&G.max>=V.max&&G.max>=H.max)X=w0._red;else if(V.max>=M.max&&V.max>=G.max&&V.max>=H.max)X=w0._green;else X=w0._blue;switch(J.redMaximum=$.redMaximum,J.greenMaximum=$.greenMaximum,J.blueMaximum=$.blueMaximum,J.alphaMaximum=$.alphaMaximum,X){case w0._red:J.redMinimum=$.redMaximum=G.position,J.greenMinimum=$.greenMinimum,J.blueMinimum=$.blueMinimum,J.alphaMinimum=$.alphaMinimum;break;case w0._green:J.greenMinimum=$.greenMaximum=V.position,J.redMinimum=$.redMinimum,J.blueMinimum=$.blueMinimum,J.alphaMinimum=$.alphaMinimum;break;case w0._blue:J.blueMinimum=$.blueMaximum=H.position,J.redMinimum=$.redMinimum,J.greenMinimum=$.greenMinimum,J.alphaMinimum=$.alphaMinimum;break;case w0._alpha:J.alphaMinimum=$.alphaMaximum=M.position,J.blueMinimum=$.blueMinimum,J.redMinimum=$.redMinimum,J.greenMinimum=$.greenMinimum;break}return $.volume=($.redMaximum-$.redMinimum)*($.greenMaximum-$.greenMinimum)*($.blueMaximum-$.blueMinimum)*($.alphaMaximum-$.alphaMinimum),J.volume=(J.redMaximum-J.redMinimum)*(J.greenMaximum-J.greenMinimum)*(J.blueMaximum-J.blueMinimum)*(J.alphaMaximum-J.alphaMinimum),!0}_initialize($){this._colors=$,this._cubes=[];for(let J=0;J<$;J++)this._cubes[J]=new bH;this._cubes[0].redMinimum=0,this._cubes[0].greenMinimum=0,this._cubes[0].blueMinimum=0,this._cubes[0].alphaMinimum=0,this._cubes[0].redMaximum=this._maxSideIndex,this._cubes[0].greenMaximum=this._maxSideIndex,this._cubes[0].blueMaximum=this._maxSideIndex,this._cubes[0].alphaMaximum=this._alphaMaxSideIndex,this._weights=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsRed=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsGreen=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsBlue=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._momentsAlpha=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._moments=d5(this._alphaSideSize,this._sideSize,this._sideSize,this._sideSize),this._table=[];for(let J=0;J<256;++J)this._table[J]=J*J;this._pixels=[]}_setQuality($=5){this._significantBitsPerChannel=$,this._maxSideIndex=1<<this._significantBitsPerChannel,this._alphaMaxSideIndex=this._maxSideIndex,this._sideSize=this._maxSideIndex+1,this._alphaSideSize=this._alphaMaxSideIndex+1}},i5=w0;d(i5,"_alpha",3);d(i5,"_red",2);d(i5,"_green",1);d(i5,"_blue",0);var aP={};t6(aP,{AbstractImageQuantizer:()=>F7,ErrorDiffusionArray:()=>h6,ErrorDiffusionArrayKernel:()=>uH,ErrorDiffusionRiemersma:()=>p4,NearestColor:()=>mH});var F7=class{quantizeSync($,J){for(let X of this.quantize($,J))if(X.pointContainer)return X.pointContainer;throw Error("unreachable")}},mH=class extends F7{constructor($){super();d(this,"_distance"),this._distance=$}*quantize($,J){let X=$.getPointArray(),q=$.getWidth(),W=$.getHeight(),Y=new e6(W,99);for(let Q=0;Q<W;Q++){if(Y.shouldNotify(Q))yield{progress:Y.progress};for(let K=0,G=Q*q;K<q;K++,G++){let V=X[G];V.from(J.getNearestColor(this._distance,V))}}yield{pointContainer:$,progress:100}}},uH=(($)=>{return $[$.FloydSteinberg=0]="FloydSteinberg",$[$.FalseFloydSteinberg=1]="FalseFloydSteinberg",$[$.Stucki=2]="Stucki",$[$.Atkinson=3]="Atkinson",$[$.Jarvis=4]="Jarvis",$[$.Burkes=5]="Burkes",$[$.Sierra=6]="Sierra",$[$.TwoSierra=7]="TwoSierra",$[$.SierraLite=8]="SierraLite",$})(uH||{}),h6=class extends F7{constructor($,J,X=!0,q=0,W=!1){super();d(this,"_minColorDistance"),d(this,"_serpentine"),d(this,"_kernel"),d(this,"_calculateErrorLikeGIMP"),d(this,"_distance"),this._setKernel(J),this._distance=$,this._minColorDistance=q,this._serpentine=X,this._calculateErrorLikeGIMP=W}*quantize($,J){let X=$.getPointArray(),q=new r8,W=$.getWidth(),Y=$.getHeight(),Q=[],K=1,G=1;for(let H of this._kernel){let M=H[2]+1;if(G<M)G=M}for(let H=0;H<G;H++)this._fillErrorLine(Q[H]=[],W);let V=new e6(Y,99);for(let H=0;H<Y;H++){if(V.shouldNotify(H))yield{progress:V.progress};if(this._serpentine)K*=-1;let M=H*W,O=K===1?0:W-1,N=K===1?W:-1;this._fillErrorLine(Q[0],W),Q.push(Q.shift());let U=Q[0];for(let j=O,R=M+O;j!==N;j+=K,R+=K){let z=X[R],F=U[j];q.from(z);let P=r8.createByRGBA(q6(z.r+F[0]),q6(z.g+F[1]),q6(z.b+F[2]),q6(z.a+F[3])),S=J.getNearestColor(this._distance,P);if(z.from(S),this._minColorDistance){if(this._distance.calculateNormalized(q,S)<this._minColorDistance)continue}let Z,L,B,v;if(this._calculateErrorLikeGIMP)Z=P.r-S.r,L=P.g-S.g,B=P.b-S.b,v=P.a-S.a;else Z=q.r-S.r,L=q.g-S.g,B=q.b-S.b,v=q.a-S.a;let w=K===1?0:this._kernel.length-1,x=K===1?this._kernel.length:-1;for(let A=w;A!==x;A+=K){let D=this._kernel[A][1]*K,C=this._kernel[A][2];if(D+j>=0&&D+j<W&&C+H>=0&&C+H<Y){let k=this._kernel[A][0],_=Q[C][D+j];_[0]+=Z*k,_[1]+=L*k,_[2]+=B*k,_[3]+=v*k}}}}yield{pointContainer:$,progress:100}}_fillErrorLine($,J){if($.length>J)$.length=J;let X=$.length;for(let q=0;q<X;q++){let W=$[q];W[0]=W[1]=W[2]=W[3]=0}for(let q=X;q<J;q++)$[q]=[0,0,0,0]}_setKernel($){switch($){case 0:this._kernel=[[0.4375,1,0],[0.1875,-1,1],[0.3125,0,1],[0.0625,1,1]];break;case 1:this._kernel=[[0.375,1,0],[0.375,0,1],[0.25,1,1]];break;case 2:this._kernel=[[0.19047619047619047,1,0],[0.09523809523809523,2,0],[0.047619047619047616,-2,1],[0.09523809523809523,-1,1],[0.19047619047619047,0,1],[0.09523809523809523,1,1],[0.047619047619047616,2,1],[0.023809523809523808,-2,2],[0.047619047619047616,-1,2],[0.09523809523809523,0,2],[0.047619047619047616,1,2],[0.023809523809523808,2,2]];break;case 3:this._kernel=[[0.125,1,0],[0.125,2,0],[0.125,-1,1],[0.125,0,1],[0.125,1,1],[0.125,0,2]];break;case 4:this._kernel=[[0.14583333333333334,1,0],[0.10416666666666667,2,0],[0.0625,-2,1],[0.10416666666666667,-1,1],[0.14583333333333334,0,1],[0.10416666666666667,1,1],[0.0625,2,1],[0.020833333333333332,-2,2],[0.0625,-1,2],[0.10416666666666667,0,2],[0.0625,1,2],[0.020833333333333332,2,2]];break;case 5:this._kernel=[[0.25,1,0],[0.125,2,0],[0.0625,-2,1],[0.125,-1,1],[0.25,0,1],[0.125,1,1],[0.0625,2,1]];break;case 6:this._kernel=[[0.15625,1,0],[0.09375,2,0],[0.0625,-2,1],[0.125,-1,1],[0.15625,0,1],[0.125,1,1],[0.0625,2,1],[0.0625,-1,2],[0.09375,0,2],[0.0625,1,2]];break;case 7:this._kernel=[[0.25,1,0],[0.1875,2,0],[0.0625,-2,1],[0.125,-1,1],[0.1875,0,1],[0.125,1,1],[0.0625,2,1]];break;case 8:this._kernel=[[0.5,1,0],[0.25,-1,1],[0.25,0,1]];break;default:throw Error(`ErrorDiffusionArray: unknown kernel = ${$}`)}}};function*tP($,J,X){let q=Math.max($,J),W=Math.floor(Math.log(q)/Math.log(2)+1),Y=new e6($*J,99),Q={width:$,height:J,level:W,callback:X,tracker:Y,index:0,x:0,y:0};yield*P8(Q,1),d8(Q,0)}function*P8($,J){if($.level<1)return;if($.tracker.shouldNotify($.index))yield{progress:$.tracker.progress};switch($.level--,J){case 2:yield*P8($,1),d8($,3),yield*P8($,2),d8($,4),yield*P8($,2),d8($,2),yield*P8($,4);break;case 3:yield*P8($,4),d8($,2),yield*P8($,3),d8($,1),yield*P8($,3),d8($,3),yield*P8($,1);break;case 1:yield*P8($,2),d8($,4),yield*P8($,1),d8($,3),yield*P8($,1),d8($,1),yield*P8($,3);break;case 4:yield*P8($,3),d8($,1),yield*P8($,4),d8($,2),yield*P8($,4),d8($,4),yield*P8($,2);break;default:break}$.level++}function d8($,J){if($.x>=0&&$.x<$.width&&$.y>=0&&$.y<$.height)$.callback($.x,$.y),$.index++;switch(J){case 2:$.x--;break;case 3:$.x++;break;case 1:$.y--;break;case 4:$.y++;break}}var p4=class extends F7{constructor($,J=16,X=1){super();d(this,"_distance"),d(this,"_weights"),d(this,"_errorQueueSize"),this._distance=$,this._errorQueueSize=J,this._weights=p4._createWeights(X,J)}*quantize($,J){let X=$.getPointArray(),q=$.getWidth(),W=$.getHeight(),Y=[],Q=0;for(let K=0;K<this._errorQueueSize;K++)Y[K]={r:0,g:0,b:0,a:0};yield*tP(q,W,(K,G)=>{let V=X[K+G*q],{r:H,g:M,b:O,a:N}=V;for(let z=0;z<this._errorQueueSize;z++){let F=this._weights[z],P=Y[(z+Q)%this._errorQueueSize];H+=P.r*F,M+=P.g*F,O+=P.b*F,N+=P.a*F}let U=r8.createByRGBA(q6(H),q6(M),q6(O),q6(N)),j=J.getNearestColor(this._distance,U);Q=(Q+1)%this._errorQueueSize;let R=(Q+this._errorQueueSize-1)%this._errorQueueSize;Y[R].r=V.r-j.r,Y[R].g=V.g-j.g,Y[R].b=V.b-j.b,Y[R].a=V.a-j.a,V.from(j)}),yield{pointContainer:$,progress:100}}static _createWeights($,J){let X=[],q=Math.exp(Math.log(J)/(J-1));for(let W=0,Y=1;W<J;W++)X[W]=(Y+0.5|0)/J*$,Y*=q;return X}},eP={};t6(eP,{ssim:()=>X3});var $3=0.01,J3=0.03;function X3($,J){if($.getHeight()!==J.getHeight()||$.getWidth()!==J.getWidth())throw Error("Images have different sizes!");let q=255,W=($3*q)**2,Y=(J3*q)**2,Q=0,K=0;return q3($,J,(G,V,H,M)=>{let O=0,N=0,U=0;for(let P=0;P<G.length;P++)N+=(G[P]-H)**2,U+=(V[P]-M)**2,O+=(G[P]-H)*(V[P]-M);let j=G.length-1;N/=j,U/=j,O/=j;let R=(2*H*M+W)*(2*O+Y),z=(H**2+M**2+W)*(N+U+Y),F=R/z;K+=F,Q++}),K/Q}function q3($,J,X){let W=$.getWidth(),Y=$.getHeight();for(let Q=0;Q<Y;Q+=8)for(let K=0;K<W;K+=8){let G=Math.min(8,W-K),V=Math.min(8,Y-Q),H=MH($,K,Q,G,V),M=MH(J,K,Q,G,V),O=OH(H),N=OH(M);X(H,M,O,N)}}function MH($,J,X,q,W){let Y=$.getPointArray(),Q=[],K=0;for(let G=X;G<X+W;G++){let V=G*$.getWidth();for(let H=J;H<J+q;H++){let M=Y[V+H];Q[K]=M.r*0.2126+M.g*0.7152+M.b*0.0722,K++}}return Q}function OH($){let J=0;for(let X of $)J+=X;return J/$.length}var Bv=typeof setImmediate==="function"?setImmediate:typeof process<"u"&&typeof(process==null?void 0:process.nextTick)==="function"?($)=>process.nextTick($):($)=>setTimeout($,0);function pH($,{colorDistanceFormula:J,paletteQuantization:X,colors:q}={}){let W=cH(J),Y=Y3(W,X,q);return $.forEach((Q)=>Y.sample(Q)),Y.quantizeSync()}function lH($,J,{colorDistanceFormula:X,imageQuantization:q}={}){let W=cH(X);return W3(W,q).quantizeSync($,J)}function cH($="euclidean-bt709"){switch($){case"cie94-graphic-arts":return new CH;case"cie94-textiles":return new EH;case"ciede2000":return new z6;case"color-metric":return new vH;case"euclidean":return new wH;case"euclidean-bt709":return new kH;case"euclidean-bt709-noalpha":return new TH;case"manhattan":return new IH;case"manhattan-bt709":return new _H;case"manhattan-nommyde":return new yH;case"pngquant":return new xH;default:throw Error(`Unknown colorDistanceFormula ${$}`)}}function W3($,J="floyd-steinberg"){switch(J){case"nearest":return new mH($);case"riemersma":return new p4($);case"floyd-steinberg":return new h6($,0);case"false-floyd-steinberg":return new h6($,1);case"stucki":return new h6($,2);case"atkinson":return new h6($,3);case"jarvis":return new h6($,4);case"burkes":return new h6($,5);case"sierra":return new h6($,6);case"two-sierra":return new h6($,7);case"sierra-lite":return new h6($,8);default:throw Error(`Unknown imageQuantization ${J}`)}}function Y3($,J="wuquant",X=256){switch(J){case"neuquant":return new Q8($,X);case"rgbquant":return new fH($,X);case"wuquant":return new i5($,X);case"neuquant-float":return new K8($,X);default:throw Error(`Unknown paletteQuantization ${J}`)}}var Q3=r0.object({colors:r0.number().optional(),colorDistanceFormula:r0.union([r0.literal("cie94-textiles"),r0.literal("cie94-graphic-arts"),r0.literal("ciede2000"),r0.literal("color-metric"),r0.literal("euclidean"),r0.literal("euclidean-bt709-noalpha"),r0.literal("euclidean-bt709"),r0.literal("manhattan"),r0.literal("manhattan-bt709"),r0.literal("manhattan-nommyde"),r0.literal("pngquant")]).optional(),paletteQuantization:r0.union([r0.literal("neuquant"),r0.literal("neuquant-float"),r0.literal("rgbquant"),r0.literal("wuquant")]).optional(),imageQuantization:r0.union([r0.literal("nearest"),r0.literal("riemersma"),r0.literal("floyd-steinberg"),r0.literal("false-floyd-steinberg"),r0.literal("stucki"),r0.literal("atkinson"),r0.literal("jarvis"),r0.literal("burkes"),r0.literal("sierra"),r0.literal("two-sierra"),r0.literal("sierra-lite")]).optional()}),dH={quantize($,J){let{colors:X,colorDistanceFormula:q,paletteQuantization:W,imageQuantization:Y}=Q3.parse(J),Q=u4.PointContainer.fromUint8Array($.bitmap.data,$.bitmap.width,$.bitmap.height),K=pH([Q],{colors:X,colorDistanceFormula:q,paletteQuantization:W}),G=lH(Q,K,{colorDistanceFormula:q,imageQuantization:Y});return $.bitmap.data=Buffer.from(G.toUint8Array()),$}};var G3=[g5,tK,eK,f5,cV,dV,p5,nV,rV,oV,iV,qH,WH,YH,L6,GH,VH,dH],V3=[F1,dq,I1,_1,g1,$7],Qw={bmp:F1().mime,gif:I1().mime,jpeg:_1().mime,png:g1().mime,tiff:$7().mime},l4=pV({formats:V3,plugins:G3});async function H3($,J){let{Logger:X}=await Promise.resolve().then(() => (d9(),c4));try{let q=J[0]?.[0]??1,W=J[0]?.[2]??0,Y=J[1]?.[1]??1,Q=J[1]?.[2]??0,K=await l4.read($),{width:G,height:V}=K,H=Math.max(0,Math.round(W*G)),M=Math.max(0,Math.round(Q*V)),O=Math.min(G-H,Math.round(q*G)),N=Math.min(V-M,Math.round(Y*V));if(O<=0||N<=0)return X.log(`Invalid crop dimensions for ${$}, using original image`),$;return K.crop({x:H,y:M,w:O,h:N}),await K.write($),X.log(`Cropped image saved (overwritten): ${$}`),X.log(`Crop region: ${H}, ${M}, ${O}x${N} from ${G}x${V}`),$}catch(q){return X.error(`Error cropping image ${$}:`,q),$}}async function nH($){let J=await l4.read($);return{width:J.width,height:J.height}}async function A7($,J,X,q=!1,W,Y=!1){let{Logger:Q}=await Promise.resolve().then(() => (d9(),c4)),K=[],{downloadFigmaImage:G}=await Promise.resolve().then(() => (V$(),Qq)),V=await G($,J,X);if(Q.log(`Downloaded original image: ${V}`),$.toLowerCase().endsWith(".svg"))return{filePath:V,originalDimensions:{width:0,height:0},finalDimensions:{width:0,height:0},wasCropped:!1,processingLog:K};let M=await nH(V);Q.log(`Original dimensions: ${M.width}x${M.height}`);let O=V,N=!1,U;if(q&&W&&!$.toLowerCase().endsWith(".gif")){Q.log("Applying crop transform...");let z=W[0]?.[0]??1,F=W[1]?.[1]??1,P=W[0]?.[2]??0,S=W[1]?.[2]??0,Z=Math.max(0,Math.round(P*M.width)),L=Math.max(0,Math.round(S*M.height)),B=Math.min(M.width-Z,Math.round(z*M.width)),v=Math.min(M.height-L,Math.round(F*M.height));if(B>0&&v>0)U={left:Z,top:L,width:B,height:v},O=await H3(V,W),N=!0,Q.log(`Cropped to region: ${Z}, ${L}, ${B}x${v}`);else Q.log("Invalid crop dimensions, keeping original image")}let j=await nH(O);Q.log(`Final dimensions: ${j.width}x${j.height}`);let R;if(Y)R=M3(j);return{filePath:O,originalDimensions:M,finalDimensions:j,wasCropped:N,cropRegion:U,cssVariables:R,processingLog:K}}function M3({width:$,height:J}){return`--original-width: ${$}px; --original-height: ${J}px;`}d9();d9();import{execFile as O3}from"child_process";import{promisify as N3}from"util";var U3=N3(O3);async function rH($,J={}){try{let X=await fetch($,J);if(!X.ok)throw Error(`Fetch failed with status ${X.status}: ${X.statusText}`);return await X.json()}catch(X){let q=X instanceof Error?X.message:String(X);G8.log(`[fetchWithRetry] Initial fetch failed for ${$}: ${q}. Likely a corporate proxy or SSL issue. Attempting curl fallback.`);let Y=["-s","-S","--fail-with-body","-L",...B3(J.headers),$];try{G8.log(`[fetchWithRetry] Executing curl with args: ${JSON.stringify(R3(Y))}`);let{stdout:Q,stderr:K}=await U3("curl",Y);if(K){if(!Q||K.toLowerCase().includes("error")||K.toLowerCase().includes("fail"))throw Error(`Curl command failed with stderr: ${K}`);G8.log(`[fetchWithRetry] Curl command for ${$} produced stderr (but might be informational): ${K}`)}if(!Q)throw Error("Curl command returned empty stdout.");let G=JSON.parse(Q);if(G.status&&G.status!==200)throw Error(`Curl command failed: ${G}`);return G}catch(Q){let K=oH(Q instanceof Error?Q.message:String(Q));throw G8.error(`[fetchWithRetry] Curl fallback also failed for ${$}: ${K}`),X}}}function B3($){if(!$)return[];let J=[];for(let[X,q]of Object.entries($))J.push("-H",`${X}: ${q}`);return J}function oH($){return $.replace(/figd_[A-Za-z0-9_\-]+/g,"[REDACTED_FIGMA_TOKEN]").replace(/Bearer\s+[A-Za-z0-9._\-]+/g,"Bearer [REDACTED_TOKEN]")}function R3($){return $.map((J)=>oH(J))}class n9{apiKey;oauthToken;useOAuth;baseUrl="https://api.figma.com/v1";constructor({figmaApiKey:$,figmaOAuthToken:J,useOAuth:X}){this.apiKey=$||"",this.oauthToken=J||"",this.useOAuth=!!X&&!!this.oauthToken}getAuthHeaders(){if(this.useOAuth)return G8.log("Using OAuth Bearer token for authentication"),{Authorization:`Bearer ${this.oauthToken}`};else return G8.log("Using Personal Access Token for authentication"),{"X-Figma-Token":this.apiKey}}filterValidImages($){if(!$)return{};return Object.fromEntries(Object.entries($).filter(([,J])=>!!J))}async request($){try{G8.log(`Calling ${this.baseUrl}${$}`);let J=this.getAuthHeaders();return await rH(`${this.baseUrl}${$}`,{headers:J})}catch(J){let X=J instanceof Error?J.message:String(J);throw Error(`Failed to make request to Figma API endpoint '${$}': ${X}`)}}buildSvgQueryParams($,J){return new URLSearchParams({ids:$.join(","),format:"svg",svg_outline_text:String(J.outlineText),svg_include_id:String(J.includeId),svg_simplify_stroke:String(J.simplifyStroke)}).toString()}async getImageFillUrls($){let J=`/files/${$}/images`;return(await this.request(J)).meta.images||{}}async getNodeRenderUrls($,J,X,q={}){if(J.length===0)return{};if(X==="png"){let W=q.pngScale||2,Y=`/images/${$}?ids=${J.join(",")}&format=png&scale=${W}`,Q=await this.request(Y);return this.filterValidImages(Q.images)}else{let W=q.svgOptions||{outlineText:!0,includeId:!1,simplifyStroke:!0},Y=this.buildSvgQueryParams(J,W),Q=`/images/${$}?${Y}`,K=await this.request(Q);return this.filterValidImages(K.images)}}async downloadImages($,J,X,q={}){if(X.length===0)return[];let W=J,{pngScale:Y=2,svgOptions:Q}=q,K=[],G=X.filter((M)=>!!M.imageRef||!!M.gifRef),V=X.filter((M)=>!!M.nodeId);if(G.length>0){let M=await this.getImageFillUrls($),O=G.map(({imageRef:N,gifRef:U,fileName:j,needsCropping:R,cropTransform:z,requiresImageDimensions:F})=>{let P=U??N,S=P?M[P]:void 0;return S?A7(j,W,S,R,z,F):null}).filter((N)=>N!==null);if(O.length>0)K.push(Promise.all(O))}if(V.length>0){let M=V.filter((N)=>!N.fileName.toLowerCase().endsWith(".svg")),O=V.filter((N)=>N.fileName.toLowerCase().endsWith(".svg"));if(M.length>0){let N=await this.getNodeRenderUrls($,M.map((j)=>j.nodeId),"png",{pngScale:Y}),U=M.map(({nodeId:j,fileName:R,needsCropping:z,cropTransform:F,requiresImageDimensions:P})=>{let S=N[j];return S?A7(R,W,S,z,F,P):null}).filter((j)=>j!==null);if(U.length>0)K.push(Promise.all(U))}if(O.length>0){let N=await this.getNodeRenderUrls($,O.map((j)=>j.nodeId),"svg",{svgOptions:Q}),U=O.map(({nodeId:j,fileName:R,needsCropping:z,cropTransform:F,requiresImageDimensions:P})=>{let S=N[j];return S?A7(R,W,S,z,F,P):null}).filter((j)=>j!==null);if(U.length>0)K.push(Promise.all(U))}}return(await Promise.all(K)).flat()}async getVariables($){let J=`/files/${$}/variables/local`;G8.log(`Retrieving variables for file: ${$}`);try{return(await this.request(J)).meta}catch(X){if((X instanceof Error?X.message:String(X)).includes("403"))return G8.log(`Variables scope not granted for file: ${$}`),{variables:"scope_not_granted"};throw X}}async getRawFile($,J){let X=`/files/${$}${J?`?depth=${J}`:""}`;G8.log(`Retrieving raw Figma file: ${$} (depth: ${J??"default"})`);let q=await this.request(X);return P7("figma-raw.json",q),q}async getRawNode($,J,X){let q=`/files/${$}/nodes?ids=${J}${X?`&depth=${X}`:""}`;G8.log(`Retrieving raw Figma node: ${J} from ${$} (depth: ${X??"default"})`);let W=await this.request(q);return P7("figma-raw.json",W),W}}d9();var L3=".nova-d2c-cache",z3=300000;async function sH($){let J=new n9({figmaApiKey:$.token,figmaOAuthToken:"",useOAuth:!1}),X;if($.nodeIds.length===0){let W=await J.getRawFile($.fileKey,2);X=await $5(W,J5(),{fileKey:$.fileKey,maxDepth:2,afterChildren:X5})}else{let W=new u7(L3,z3),Y=Z3($.fileKey,$.nodeIds,$.depth);if(!$.noCache){let Q=W.get(Y);if(Q!==void 0)G8.log(`Cache hit for ${Y}`),X=Q}if(X===void 0){let Q=await F3(J,$.fileKey,$.nodeIds,$.depth),K=await $5(Q,J5(),{fileKey:$.fileKey,maxDepth:$.depth,afterChildren:X5});if(!$.noCache)W.set(Y,K);X=K}if($.only)X=Jq(X,$.only)}let q=P3(X,$.format);D3(q,$.output)}function Z3($,J,X){return`${$}:${J.join(",")}:${X??""}`}async function F3($,J,X,q){return $.getRawNode(J,X.join(","),q)}function P3($,J){if(J==="yaml")return t9.dump($,{lineWidth:-1});if(J==="json")return JSON.stringify($,null,2);if(J==="compact")return A3($);if(J==="md")return S3($);return JSON.stringify($,null,2)}function d4($){if(Array.isArray($))return $.map(d4);if($!==null&&typeof $==="object"){let J={};for(let[X,q]of Object.entries($))if(q!==void 0&&q!==null)J[X]=d4(q);return J}return $}function A3($){return JSON.stringify(d4($))}function S3($){if(typeof $!=="object"||$===null)return String($);let J=[`# Design Data
37
+ `];function X(q,W){if(Array.isArray(q)){for(let Y of q)X(Y,W);return}if(typeof q==="object"&&q!==null){let Y=q,Q=Y.name??Y.id??"";if(Q&&W<=3)J.push(`${"#".repeat(Math.min(W+1,4))} ${Q}`);let K=new Set(["children","nodes","pages","globalVars","styles","variables","collections","componentNodes"]);for(let[G,V]of Object.entries(Y)){if(K.has(G)||V===void 0||V===null)continue;if(Array.isArray(V)){if(G==="components"||G==="componentSets")for(let H of V)X(H,W);continue}if(typeof V==="object"){J.push(`${"#".repeat(Math.min(W+2,4))} ${G}`),X(V,W+1);continue}J.push(`- **${G}**: ${V}`)}if(J.push(""),Y.componentNodes&&Array.isArray(Y.componentNodes))for(let G of Y.componentNodes)X(G,W+1);if(Y.children&&Array.isArray(Y.children))for(let G of Y.children)X(G,W+1)}}return X($,0),J.join(`
38
+ `)}function D3($,J){if(J){iH.mkdirSync(j3.dirname(J),{recursive:!0}),iH.writeFileSync(J,`${$}
39
+ `),G8.log(`Wrote output to ${J}`);return}process.stdout.write(`${$}
40
+ `)}import{mkdirSync as E3}from"node:fs";import{writeFile as C3}from"node:fs/promises";d9();async function aH($){let J=new n9({figmaApiKey:$.token,figmaOAuthToken:"",useOAuth:!1});E3($.output,{recursive:!0});let X=$.nodeIds.map((Y)=>({nodeId:Y,fileName:`${Y.replace(/[:/;]/g,"-")}.${$.imageFormat}`})),q=await J.downloadImages($.fileKey,$.output,X,{pngScale:$.scale}),W={fileKey:$.fileKey,format:$.imageFormat,generatedAt:new Date().toISOString(),assets:q};await C3(`${$.output}/manifest.json`,JSON.stringify(W,null,2),"utf8"),G8.log(`Wrote manifest to ${$.output}/manifest.json`)}var v3=`---
41
+ name: nova-d2c-core
42
+ description: "Figma 设计数据提取 CLI。当需要从 Figma 文件提取 design tokens、组件定义、布局树或图片资源用于 AI 驱动的设计转代码工作流时使用。"
43
+ allowed-tools: Bash(nova-d2c:*)
44
+ tags: [figma, design, d2c, cli, agent, extraction, components, tokens, images]
45
+ ---
46
+
47
+ # nova-d2c Core — 命令参考
48
+
49
+ 从 Figma 提取平台无关的设计数据,供 AI 编码 Agent 使用。
50
+
51
+ ## 前置条件
52
+
53
+ \`\`\`bash
54
+ # 设置 Figma token(任选一种):
55
+ export FIGMA_TOKEN=figd_xxx # 环境变量
56
+ echo "FIGMA_TOKEN=figd_xxx" > .env # env 文件
57
+ # 或每次调用时传 --token 参数
58
+ \`\`\`
59
+
60
+ ## 命令
61
+
62
+ ### \`doctor\` — 环境诊断
63
+
64
+ \`\`\`bash
65
+ nova-d2c doctor
66
+ \`\`\`
67
+ 返回:token 状态、API 连通性、缓存状态。**始终在开始工作流前运行此命令。**
68
+
69
+ ### \`explore\` — 文件结构分析
70
+
71
+ \`\`\`bash
72
+ nova-d2c explore <figma-url>
73
+ \`\`\`
74
+ 返回:节点类型统计、最大深度、组件/变量检测、推荐的 \`--only\` 过滤器。
75
+
76
+ ### \`get\` — 提取设计数据
77
+
78
+ \`\`\`bash
79
+ nova-d2c get <figma-url> [options]
80
+ \`\`\`
81
+
82
+ **发现模式**(无 \`--node-id\`):
83
+ \`\`\`bash
84
+ nova-d2c get "https://www.figma.com/design/ABC123/MyProject"
85
+ \`\`\`
86
+ 返回:页面列表 + 顶层 frame,用于导航定位。
87
+
88
+ **提取模式**(带 \`--node-id\`):
89
+ \`\`\`bash
90
+ nova-d2c get <url> --node-id 1:2 --only components
91
+ nova-d2c get <url> --node-id 1:2,3:4 --only variables
92
+ \`\`\`
93
+
94
+ | 选项 | 值 | 说明 |
95
+ |------|-----|------|
96
+ | \`--node-id\` | \`1:2,3:4\` | 节点 ID,逗号分隔 |
97
+ | \`--only\` | \`pages\` \`components\` \`variables\` \`styles\` \`tree\` | 过滤输出类型 |
98
+ | \`--depth\` | 数字 | 节点遍历深度 |
99
+ | \`--format\` | \`yaml\` \`json\` \`md\` \`compact\` | 输出格式(默认 yaml) |
100
+ | \`--output\` | 路径 | 写入文件 |
101
+ | \`--no-cache\` | 标志 | 强制刷新 |
102
+ | \`--token\` | 字符串 | Figma API token |
103
+
104
+ ### \`images\` — 导出图片资源
105
+
106
+ \`\`\`bash
107
+ nova-d2c images <figma-url> --node-id 1:2 --output assets/
108
+ \`\`\`
109
+
110
+ | 选项 | 值 | 说明 |
111
+ |------|-----|------|
112
+ | \`--node-id\` | 必填 | 要导出的节点 ID |
113
+ | \`--image-format\` | \`png\` \`svg\` | 格式(默认 png) |
114
+ | \`--scale\` | 数字 | PNG 缩放(默认 2) |
115
+ | \`--output\` | 目录 | 输出目录 |
116
+
117
+ ### \`--describe\` — 自描述能力
118
+
119
+ \`\`\`bash
120
+ nova-d2c --describe # yaml(默认)
121
+ nova-d2c --describe --format json
122
+ nova-d2c --describe --format md
123
+ \`\`\`
124
+
125
+ ### \`--describe --format skill\` — 输出完整技能定义
126
+
127
+ \`\`\`bash
128
+ nova-d2c --describe --format skill
129
+ \`\`\`
130
+ 输出:SKILL.md 完整内容,Agent 可直接读取作为技能定义。
131
+
132
+ ## 缓存机制
133
+
134
+ 首次 \`get\` 缓存 5 分钟。后续 \`--only\` 调用从缓存读取,不消耗 API 配额。
135
+ 使用 \`--no-cache\` 强制刷新。
136
+ `,s5={name:"nova-d2c",version:"1.0.0",description:"Agent-friendly Figma design extraction CLI",commands:{get:{description:"Extract design data from Figma",args:{"figma-url":{required:!0,description:"Figma file or node URL"}},options:{"node-id":{type:"string",description:"Node ID(s), comma-separated"},only:{type:"enum",values:["pages","components","variables","styles","tree"],description:"Filter output to specific data type"},depth:{type:"number",description:"Node traversal depth limit"},detail:{type:"enum",values:["minimal","compact","full"],default:"full",description:"Output detail level"},format:{type:"enum",values:["yaml","json"],default:"yaml",description:"Output format"},output:{type:"string",description:"Write to file instead of stdout"},"no-cache":{type:"boolean",description:"Skip cache, force fresh fetch"}}},images:{description:"Export image assets from Figma nodes",args:{"figma-url":{required:!0,description:"Figma file or node URL"}},options:{"node-id":{type:"string",required:!0,description:"Node ID(s), comma-separated"},"image-format":{type:"enum",values:["png","svg"],default:"png"},scale:{type:"number",default:2,description:"PNG export scale"},output:{type:"string",description:"Output directory"}}}}};function tH($="yaml"){if($==="skill"){process.stdout.write(v3);return}if($==="md"){let X=[`# ${s5.name} v${s5.version}`,"",s5.description,"","## Commands",""];for(let[q,W]of Object.entries(s5.commands)){X.push(`### ${q}`),X.push("",W.description,""),X.push("| Option | Type | Default | Description |"),X.push("|--------|------|---------|-------------|");for(let[Y,Q]of Object.entries(W.options??{})){let K=Q;X.push(`| \`${Y}\` | ${K.type??"string"}${K.values?` (${K.values.join("|")})`:""} | ${K.default??"-"} | ${K.description??""} |`)}X.push("")}process.stdout.write(X.join(`
137
+ `)+`
138
+ `);return}let J=$==="json"?JSON.stringify(s5,null,2):t9.dump(s5,{noRefs:!0,lineWidth:-1});process.stdout.write(J)}import J1 from"node:fs";import w3 from"node:path";function k3(){try{return J$(void 0),{ok:!0,source:T3()}}catch{return{ok:!1,error:"No FIGMA_TOKEN found"}}}function T3(){if(process.env.FIGMA_TOKEN)return"env";if(J1.existsSync(".env.local"))return".env.local";if(J1.existsSync(".env"))return".env";return"flag"}async function I3($){try{let J=await fetch("https://api.figma.com/v1/me",{headers:{"X-Figma-Token":$},signal:AbortSignal.timeout(1e4)});if(J.ok)return{ok:!0};return{ok:!1,error:`API returned ${J.status}`}}catch(J){return{ok:!1,error:J instanceof Error?J.message:"Network error"}}}function y3($){if(!J1.existsSync($))return{exists:!1,fileCount:0,totalSizeKB:0};let J=J1.readdirSync($).filter((q)=>q.endsWith(".json")),X=0;for(let q of J)X+=J1.statSync(w3.join($,q)).size;return{exists:!0,fileCount:J.length,totalSizeKB:Math.round(X/1024)}}async function eH(){let $=[],J=(Y)=>` ✓ ${Y}`,X=(Y)=>` ✗ ${Y}`,q=k3();if($.push(q.ok?J(`Token: found (${q.source})`):X(`Token: ${q.error??"not found"}`)),q.ok){let Y=J$(void 0),Q=await I3(Y);$.push(Q.ok?J("API: reachable"):X(`API: ${Q.error??"error"}`))}else $.push(X("API: skipped (no token)"));let W=y3(".nova-d2c-cache");$.push(W.exists?J(`Cache: ${W.fileCount} files, ${W.totalSizeKB}KB`):J("Cache: empty")),process.stdout.write($.join(`
139
+ `)+`
140
+ `)}function _3($,J,X){let q={},W=0,Y=0,Q=0,K=0,G=[],V=[],H=[];function M(U,j){if(W++,j>Y)Y=j;if(q[U.type]=(q[U.type]??0)+1,U.type==="COMPONENT")Q++;if(U.type==="COMPONENT_SET")Q++;if(U.type==="COMPONENT"&&U.children&&U.children.length>0)K++;if(j===1&&U.type==="FRAME")G.push(U.id);if(j===2&&U.type==="FRAME"&&U.fills&&U.fills.length>0)V.push(U.id);if(U.type==="COMPONENT"||U.type==="COMPONENT_SET")H.push(U.id);for(let R of U.children??[])M(R,j+1)}for(let U of $)M(U,0);let O=[];if(Q>0)O.push({filter:"components",reason:`${Q} component(s) detected`});if(q.TEXT)O.push({filter:"tree",reason:`${q.TEXT} text node(s)`});if(W>100)O.push({filter:"pages",reason:`${W} nodes — use pages filter first`});let N=[];if(G.length>0)N.push(`nova-d2c get <url> --node-id ${G[0]} --only tree`),N.push(`nova-d2c get <url> --node-id ${G[0]} --only styles`);if(H.length>0)N.push(`nova-d2c images <url> --node-id ${H.slice(0,3).join(",")}`);return{summary:{topLevelFrames:G.length,components:Q,componentInstances:K,variablesUsed:!1,maxDepth:Y},recommendedNodes:{pageRoot:G.slice(0,3),backgroundAssets:V.slice(0,3),componentAssets:H.slice(0,5)},recommendations:O,recommendedNextSteps:N}}async function $2($){let X=await new n9({figmaApiKey:$.token,figmaOAuthToken:"",useOAuth:!1}).getRawFile($.fileKey,2),q=await $5(X,J5(),{fileKey:$.fileKey,maxDepth:2,afterChildren:X5}),W=_3(q.nodes),Y=q.globalVars?.variables,Q=!!Y&&typeof Y==="object"&&!Array.isArray(Y)&&Object.keys(Y).length>0;if(W.summary.variablesUsed=Q,Q)W.recommendations.push({filter:"variables",reason:"Design tokens detected"});let K=$.format==="json"?JSON.stringify(W,null,2):t9.dump(W,{noRefs:!0,lineWidth:-1});process.stdout.write(K+`
141
+ `)}var x3="0.1.0";function h3($){let J=[],X=$.match(/figma\.com\/(?:design|file)\/([a-zA-Z0-9]+)/),q=X?X[1]:$,W=$.match(/node-id=([^&]+)/);if(W)J.push(...W[1].split(",").map((Y)=>Y.replace(/-/g,":")));return{fileKey:q,nodeIds:J}}function W6($,J){let X=$.indexOf("--"+J);return X===-1||X+1>=$.length?void 0:$[X+1]}function X1($,J){return $.includes("--"+J)}function g3(){process.stdout.write(`nova-d2c -- Agent-friendly Figma design extraction CLI
142
+
143
+ Commands:
144
+ doctor Check setup (token, API, cache)
145
+ explore <figma-url> Analyze file structure & recommend strategy
146
+ get <figma-url> Extract design data
147
+ images <figma-url> Export image assets
148
+
149
+ Options (get):
150
+ --node-id <id> Node ID(s), comma-separated
151
+ --only <filter> pages | components | variables | styles | tree | resolved
152
+ --depth <n> Node traversal depth
153
+ --format yaml|json|md|compact Output format (default: yaml)
154
+ --output <path> Write to file
155
+ --no-cache Force fresh fetch
156
+ --resolved Inline resolved styles (shorthand for --only resolved)
157
+ --token <token> Figma API token
158
+
159
+ Options (images):
160
+ --node-id <id> Node ID(s), required
161
+ --image-format <fmt> png | svg (default: png)
162
+ --scale <n> PNG scale (default: 2)
163
+ --output <dir> Output directory
164
+ --token <token> Figma API token
165
+
166
+ Global:
167
+ --describe --format yaml|json|md|skill Output CLI capability schema / SKILL.md
168
+ --help Show this help
169
+ `)}async function f3(){let $=process.argv.slice(2);if($.length===0||X1($,"help"))g3(),process.exit(0);if(X1($,"version"))process.stdout.write(`${x3}
170
+ `),process.exit(0);if(X1($,"describe"))tH(W6($,"format")??"yaml"),process.exit(0);let J=$[0];if(J==="doctor")await eH(),process.exit(0);let X=$[1];if(!X)process.stderr.write(`Error: Missing Figma URL
171
+ `),process.exit(1);let{fileKey:q,nodeIds:W}=h3(X),Y=W6($,"node-id")?.split(",").map((K)=>K.replace(/-/g,":"))??[],Q=[...new Set([...W,...Y])];try{let K=J$(W6($,"token"));switch(J){case"get":{let G=X1($,"resolved")?"resolved":W6($,"only");await sH({fileKey:q,nodeIds:Q,only:G,depth:W6($,"depth")?Number(W6($,"depth")):void 0,detail:W6($,"detail")??"full",format:W6($,"format")??"yaml",output:W6($,"output"),noCache:X1($,"no-cache"),token:K});break}case"images":{if(Y.length===0)process.stderr.write(`Error: images requires --node-id
172
+ `),process.exit(1);await aH({fileKey:q,nodeIds:Y,imageFormat:W6($,"image-format")??"png",scale:Number(W6($,"scale")??"2"),output:W6($,"output")??".",token:K});break}case"explore":{await $2({fileKey:q,token:K,format:"yaml"});break}default:process.stderr.write(`Error: Unknown command. Use get or images.
173
+ `),process.exit(1)}}catch(K){process.stderr.write(JSON.stringify({error:K instanceof Error?K.message:String(K)})+`
174
+ `),process.exit(1)}}f3();