@zip.js/zip.js 2.7.64 → 2.7.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deno.json +1 -1
- package/dist/z-worker-fflate.js +1 -1
- package/dist/z-worker-pako.js +1 -1
- package/dist/z-worker.js +1 -1
- package/dist/zip-fs-full.js +256 -208
- package/dist/zip-fs-full.min.js +1 -1
- package/dist/zip-fs.js +258 -210
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-full.js +252 -208
- package/dist/zip-full.min.js +1 -1
- package/dist/zip-no-worker-deflate.min.js +1 -1
- package/dist/zip-no-worker-inflate.min.js +1 -1
- package/dist/zip-no-worker.min.js +1 -1
- package/dist/zip.js +252 -208
- package/dist/zip.min.js +1 -1
- package/index.cjs +256 -208
- package/index.d.ts +19 -5
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +11 -6
- package/lib/core/constants.js +19 -7
- package/lib/core/io.js +70 -51
- package/lib/core/streams/codec-stream.js +2 -3
- package/lib/core/z-worker-core.js +4 -2
- package/lib/core/zip-fs-core.js +6 -2
- package/lib/core/zip-reader.js +23 -11
- package/lib/core/zip-writer.js +146 -134
- package/lib/z-worker-inline.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:i,Number:r,BigInt:a,Math:s,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:w,Uint16Array:p,Uint32Array:_,DataView:h,Blob:b,Promise:m,TextEncoder:g,TextDecoder:x,document:y,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:F,DecompressionStream:D,navigator:R,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self,A=-2;function C(e){return N(e.map(([e,n])=>new t(e).fill(n,0,e)))}function N(e){return e.reduce((e,n)=>e.concat(t.isArray(n)?N(n):n),[])}const U=[0,1,2,3].concat(...C([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(n.heap_len=0,n.heap_max=573,o=0;a>o;o++)0!==i[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):i[2*o+1]=0;for(;2>n.heap_len;)c=n.heap[++n.heap_len]=2>d?++d:0,i[2*c]=1,n.depth[c]=0,n.opt_len--,r&&(n.static_len-=r[2*c+1]);for(e.max_code=d,o=s.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(i,o);c=a;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),l=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=l,i[2*c]=i[2*o]+i[2*l],n.depth[c]=s.max(n.depth[o],n.depth[l])+1,i[2*o+1]=i[2*l+1]=c,n.heap[1]=c++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,l,c,d,u,f,w=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)l=t.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,w++),n[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=r[l-a]),f=n[2*l],t.opt_len+=f*(d+u),i&&(t.static_len+=f*(i[2*l+1]+u)));if(0!==w){do{for(d=s-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[s]--,w-=2}while(w>0);for(d=s;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(n[2*c+1]!=d&&(t.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}})(n),((e,n,i)=>{const r=[];let a,s,o,l=0;for(a=1;15>=a;a++)r[a]=l=l+i[a-1]<<1;for(s=0;n>=s;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))})(i,e.max_code,n.bl_count)}}function I(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...C([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=e=>256>e?U[e]:U[256+(e>>>7)],W.extra_lbits=[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],W.extra_dbits=[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],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const L=C([[144,8],[112,9],[24,7],[8,8]]);I.static_ltree=N([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,L[t]]));const O=C([[30,5]]);function M(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}I.static_dtree=N([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,O[t]])),I.static_l_desc=new I(I.static_ltree,W.extra_lbits,257,286,15),I.static_d_desc=new I(I.static_dtree,W.extra_dbits,0,30,15),I.static_bl_desc=new I(null,W.extra_blbits,0,19,7);const P=[new M(0,0,0,0,0),new M(4,4,8,4,1),new M(4,5,16,8,1),new M(4,6,32,32,1),new M(4,4,16,16,2),new M(8,16,32,32,2),new M(8,16,128,128,2),new M(8,32,128,256,2),new M(32,128,258,1024,2),new M(32,258,258,4096,2)],H=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,B=666,Z=262;function q(e,t,n,i){const r=e[2*t],a=e[2*n];return a>r||r==a&&i[t]<=i[n]}function K(){const e=this;let t,n,i,r,a,o,l,c,d,u,f,_,h,b,m,g,x,y,S,z,k,v,E,F,D,R,T,C,N,U,L,O,M;const K=new W,Y=new W,G=new W;let X,j,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)L[2*t]=0;for(t=0;30>t;t++)O[2*t]=0;for(t=0;19>t;t++)M[2*t]=0;L[512]=1,e.opt_len=e.static_len=0,j=J=0}function ne(e,t){let n,i=-1,r=e[1],a=0,s=7,o=4;0===r&&(s=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)n=r,r=e[2*(l+1)+1],++a<s&&n==r||(o>a?M[2*n]+=a:0!==n?(n!=i&&M[2*n]++,M[32]++):a>10?M[36]++:M[34]++,a=0,i=n,0===r?(s=138,o=3):n==r?(s=6,o=3):(s=7,o=4))}function ie(t){e.pending_buf[e.pending++]=t}function re(e){ie(255&e),ie(e>>>8&255)}function ae(e,t){let n;const i=t;ee>16-i?(n=e,$|=n<<ee&65535,re($),$=n>>>16-ee,ee+=i-16):($|=e<<ee&65535,ee+=i)}function se(e,t){const n=2*e;ae(65535&t[n],65535&t[n+1])}function oe(e,t){let n,i,r=-1,a=e[1],s=0,o=7,l=4;for(0===a&&(o=138,l=3),n=0;t>=n;n++)if(i=a,a=e[2*(n+1)+1],++s>=o||i!=a){if(l>s)do{se(i,M)}while(0!==--s);else 0!==i?(i!=r&&(se(i,M),s--),se(16,M),ae(s-3,2)):s>10?(se(18,M),ae(s-11,7)):(se(17,M),ae(s-3,3));s=0,r=i,0===a?(o=138,l=3):i==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(re($),$=0,ee=0):8>ee||(ie(255&$),$>>>=8,ee-=8)}function ce(t,n){let i,r,a;if(e.dist_buf[j]=t,e.lc_buf[j]=255&n,j++,0===t?L[2*n]++:(J++,t--,L[2*(W._length_code[n]+256+1)]++,O[2*W.d_code(t)]++),!(8191&j)&&T>2){for(i=8*j,r=k-x,a=0;30>a;a++)i+=O[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,J<s.floor(j/2)&&i<s.floor(r/2))return!0}return j==X-1}function de(t,n){let i,r,a,s,o=0;if(0!==j)do{i=e.dist_buf[o],r=e.lc_buf[o],o++,0===i?se(r,t):(a=W._length_code[r],se(a+256+1,t),s=W.extra_lbits[a],0!==s&&(r-=W.base_length[a],ae(r,s)),i--,a=W.d_code(i),se(a,n),s=W.extra_dbits[a],0!==s&&(i-=W.base_dist[a],ae(i,s)))}while(j>o);se(256,t),Q=t[513]}function ue(){ee>8?re($):ee>0&&ie(255&$),$=0,ee=0}function fe(t,n,i){ae(0+(i?1:0),3),((t,n)=>{ue(),Q=8,re(n),re(~n),e.pending_buf.set(c.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function we(n){((t,n,i)=>{let r,a,s=0;T>0?(K.build_tree(e),Y.build_tree(e),s=(()=>{let t;for(ne(L,K.max_code),ne(O,Y.max_code),G.build_tree(e),t=18;t>=3&&0===M[2*W.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>r||(r=a)):r=a=n+5,n+4>r||-1==t?a==r?(ae(2+(i?1:0),3),de(I.static_ltree,I.static_dtree)):(ae(4+(i?1:0),3),((e,t,n)=>{let i;for(ae(e-257,5),ae(t-1,5),ae(n-4,4),i=0;n>i;i++)ae(M[2*W.bl_order[i]+1],3);oe(L,e-1),oe(O,t-1)})(K.max_code+1,Y.max_code+1,s+1),de(L,O)):fe(t,n,i),te(),i&&ue()})(0>x?-1:x,k-x,n),x=k,t.flush_pending()}function pe(){let e,n,i,r;do{if(r=d-E-k,0===r&&0===k&&0===E)r=a;else if(-1==r)r--;else if(k>=a+a-Z){c.set(c.subarray(a,a+a),0),v-=a,k-=a,x-=a,e=h,i=e;do{n=65535&f[--i],f[i]=a>n?0:n-a}while(0!==--e);e=a,i=e;do{n=65535&u[--i],u[i]=a>n?0:n-a}while(0!==--e);r+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,r),E+=e,3>E||(_=255&c[k],_=(_<<g^255&c[k+1])&m)}while(Z>E&&0!==t.avail_in)}function _e(e){let t,n,i=D,r=k,s=F;const o=k>a-Z?k-(a-Z):0;let d=U;const f=l,w=k+258;let p=c[r+s-1],_=c[r+s];N>F||(i>>=2),d>E&&(d=E);do{if(t=e,c[t+s]==_&&c[t+s-1]==p&&c[t]==c[r]&&c[++t]==c[r+1]){r+=2,t++;do{}while(c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&w>r);if(n=258-(w-r),r=w-258,n>s){if(v=e,s=n,n>=d)break;p=c[r+s-1],_=c[r+s]}}}while((e=65535&u[e&f])>o&&0!==--i);return s>E?E:s}e.depth=[],e.bl_count=[],e.heap=[],L=[],O=[],M=[],e.pqdownheap=(t,n)=>{const i=e.heap,r=i[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&q(t,i[a+1],i[a],e.depth)&&a++,!q(t,r,i[a],e.depth));)i[n]=i[a],n=a,a<<=1;i[n]=r},e.deflateInit=(t,S,v,W,H,B)=>(W||(W=8),H||(H=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>H||H>9||8!=W||9>v||v>15||0>S||S>9||0>B||B>2?A:(t.dstate=e,o=v,a=1<<o,l=a-1,b=H+7,h=1<<b,m=h-1,g=s.floor((b+3-1)/3),c=new w(2*a),u=[],f=[],X=1<<H+6,e.pending_buf=new w(4*X),i=4*X,e.dist_buf=new p(X),e.lc_buf=new w(X),T=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,r=0,K.dyn_tree=L,K.stat_desc=I.static_l_desc,Y.dyn_tree=O,Y.stat_desc=I.static_d_desc,G.dyn_tree=M,G.stat_desc=I.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[h-1]=0;for(let e=0;h-1>e;e++)f[e]=0;R=P[T].max_lazy,N=P[T].good_length,U=P[T].nice_length,D=P[T].max_chain,k=0,x=0,E=0,y=F=2,z=0,_=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=V&&n!=B?A:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,n==V?-3:0),e.deflateParams=(e,t,n)=>{let i=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?A:(P[T].func!=P[t].func&&0!==e.total_in&&(i=e.deflate(1)),T!=t&&(T=t,R=P[T].max_lazy,N=P[T].good_length,U=P[T].nice_length,D=P[T].max_chain),C=n,i)},e.deflateSetDictionary=(e,t,i)=>{let r,s=i,o=0;if(!t||42!=n)return A;if(3>s)return 0;for(s>a-Z&&(s=a-Z,o=i-s),c.set(t.subarray(o,o+s),0),k=s,x=s,_=255&c[0],_=(_<<g^255&c[1])&m,r=0;s-3>=r;r++)_=(_<<g^255&c[r+2])&m,u[r&l]=f[_],f[_]=r;return 0},e.deflate=(s,d)=>{let w,p,b,D,N;if(d>4||0>d)return A;if(!s.next_out||!s.next_in&&0!==s.avail_in||n==B&&4!=d)return s.msg=H[4],A;if(0===s.avail_out)return s.msg=H[7],-5;var U;if(t=s,D=r,r=d,42==n&&(p=8+(o-8<<4)<<8,b=(T-1&255)>>1,b>3&&(b=3),p|=b<<6,0!==k&&(p|=32),p+=31-p%31,n=V,ie((U=p)>>8&255),ie(255&U)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=H[7],-5;if(n==B&&0!==t.avail_in)return s.msg=H[7],-5;if(0!==t.avail_in||0!==E||0!=d&&n!=B){switch(N=-1,P[T].func){case 0:N=(e=>{let n,r=65535;for(r>i-5&&(r=i-5);;){if(1>=E){if(pe(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,n=x+r,(0===k||k>=n)&&(E=k-n,k=n,we(!1),0===t.avail_out))return 0;if(k-x>=a-Z&&(we(!1),0===t.avail_out))return 0}return we(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:N=(e=>{let n,i=0;for(;;){if(Z>E){if(pe(),Z>E&&0==e)return 0;if(0===E)break}if(3>E||(_=(_<<g^255&c[k+2])&m,i=65535&f[_],u[k&l]=f[_],f[_]=k),0===i||(k-i&65535)>a-Z||2!=C&&(y=_e(i)),3>y)n=ce(0,255&c[k]),E--,k++;else if(n=ce(k-v,y-3),E-=y,y>R||3>E)k+=y,y=0,_=255&c[k],_=(_<<g^255&c[k+1])&m;else{y--;do{k++,_=(_<<g^255&c[k+2])&m,i=65535&f[_],u[k&l]=f[_],f[_]=k}while(0!==--y);k++}if(n&&(we(!1),0===t.avail_out))return 0}return we(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:N=(e=>{let n,i,r=0;for(;;){if(Z>E){if(pe(),Z>E&&0==e)return 0;if(0===E)break}if(3>E||(_=(_<<g^255&c[k+2])&m,r=65535&f[_],u[k&l]=f[_],f[_]=k),F=y,S=v,y=2,0!==r&&R>F&&a-Z>=(k-r&65535)&&(2!=C&&(y=_e(r)),5>=y&&(1==C||3==y&&k-v>4096)&&(y=2)),3>F||y>F)if(0!==z){if(n=ce(0,255&c[k-1]),n&&we(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{i=k+E-3,n=ce(k-1-S,F-3),E-=F-1,F-=2;do{++k>i||(_=(_<<g^255&c[k+2])&m,r=65535&f[_],u[k&l]=f[_],f[_]=k)}while(0!==--F);if(z=0,y=2,k++,n&&(we(!1),0===t.avail_out))return 0}}return 0!==z&&(n=ce(0,255&c[k-1]),z=0),we(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=N&&3!=N||(n=B),0==N||2==N)return 0===t.avail_out&&(r=-1),0;if(1==N){if(1==d)ae(2,3),se(256,I.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),se(256,I.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(w=0;h>w;w++)f[w]=0;if(t.flush_pending(),0===t.avail_out)return r=-1,0}}return 4!=d?0:1}}function Y(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}Y.prototype={deflateInit(e,t){const n=this;return n.dstate=new K,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):A},deflateEnd(){const e=this;if(!e.dstate)return A;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):A},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):A},read_buf(e,t,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const G=-2,X=-3,j=-5,J=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Q=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],$=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],ee=[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],te=[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,112,112],ne=[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],ie=[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];function re(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,w,p){let _,h,b,m,g,x,y,S,z,k,v,E,F,D,R;k=0,g=s;do{n[e[t+k]]++,k++,g--}while(0!==g);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(S=u[0],x=1;15>=x&&0===n[x];x++);for(y=x,x>S&&(S=x),g=15;0!==g&&0===n[g];g--);for(b=g,S>g&&(S=g),u[0]=S,D=1<<x;g>x;x++,D<<=1)if(0>(D-=n[x]))return X;if(0>(D-=n[g]))return X;for(n[g]+=D,a[1]=x=0,k=1,F=2;0!==--g;)a[F]=x+=n[k],F++,k++;g=0,k=0;do{0!==(x=e[t+k])&&(p[a[x]++]=g),k++}while(++g<s);for(s=a[b],a[0]=g=0,k=0,m=-1,E=-S,r[0]=0,v=0,R=0;b>=y;y++)for(_=n[y];0!==_--;){for(;y>E+S;){if(m++,E+=S,R=b-E,R=R>S?S:R,(h=1<<(x=y-E))>_+1&&(h-=_+1,F=y,R>x))for(;++x<R&&(h<<=1)>n[++F];)h-=n[F];if(R=1<<x,w[0]+R>1440)return X;r[m]=v=w[0],w[0]+=R,0!==m?(a[m]=g,i[0]=x,i[1]=S,x=g>>>E-S,i[2]=v-r[m-1]-x,f.set(i,3*(r[m-1]+x))):d[0]=v}for(i[1]=y-E,s>k?p[k]<o?(i[0]=256>p[k]?0:96,i[2]=p[k++]):(i[0]=c[p[k]-o]+16+64,i[2]=l[p[k++]-o]):i[0]=192,h=1<<y-E,x=g>>>E;R>x;x+=h)f.set(i,3*(v+x));for(x=1<<y-1;0!==(g&x);x>>>=1)g^=x;for(g^=x,z=(1<<E)-1;(g&z)!=a[m];)m--,E-=S,z=(1<<E)-1}return 0!==D&&1!=b?j:0}function o(s){let o;for(e||(e=[],t=[],n=new Int32Array(16),i=[],r=new Int32Array(15),a=new Int32Array(16)),t.length<s&&(t=[]),o=0;s>o;o++)t[o]=0;for(o=0;16>o;o++)n[o]=0;for(o=0;3>o;o++)i[o]=0;r.set(n.subarray(0,15),0),a.set(n.subarray(0,16),0)}this.inflate_trees_bits=(n,i,r,a,l)=>{let c;return o(19),e[0]=0,c=s(n,0,19,19,null,null,r,i,a,e,t),c==X?l.msg="oversubscribed dynamic bit lengths tree":c!=j&&0!==i[0]||(l.msg="incomplete dynamic bit lengths tree",c=X),c},this.inflate_trees_dynamic=(n,i,r,a,l,c,d,u,f)=>{let w;return o(288),e[0]=0,w=s(r,0,n,257,ee,te,c,a,u,e,t),0!=w||0===a[0]?(w==X?f.msg="oversubscribed literal/length tree":-4!=w&&(f.msg="incomplete literal/length tree",w=X),w):(o(288),w=s(r,n,i,0,ne,ie,d,l,u,e,t),0!=w||0===l[0]&&n>257?(w==X?f.msg="oversubscribed distance tree":w==j?(f.msg="incomplete distance tree",w=X):-4!=w&&(f.msg="empty distance tree with lengths",w=X),w):0)}}function ae(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,w=0,p=0;function _(e,t,n,i,r,a,s,o){let l,c,d,u,f,w,p,_,h,b,m,g,x,y,S,z;p=o.next_in_index,_=o.avail_in,f=s.bitb,w=s.bitk,h=s.write,b=h<s.read?s.read-h-1:s.end-h,m=J[e],g=J[t];do{for(;20>w;)_--,f|=(255&o.read_byte(p++))<<w,w+=8;if(l=f&m,c=n,d=i,z=3*(d+l),0!==(u=c[z]))for(;;){if(f>>=c[z+1],w-=c[z+1],16&u){for(u&=15,x=c[z+2]+(f&J[u]),f>>=u,w-=u;15>w;)_--,f|=(255&o.read_byte(p++))<<w,w+=8;for(l=f&g,c=r,d=a,z=3*(d+l),u=c[z];;){if(f>>=c[z+1],w-=c[z+1],16&u){for(u&=15;u>w;)_--,f|=(255&o.read_byte(p++))<<w,w+=8;if(y=c[z+2]+(f&J[u]),f>>=u,w-=u,b-=x,y>h){S=h-y;do{S+=s.end}while(0>S);if(u=s.end-S,x>u){if(x-=u,h-S>0&&u>h-S)do{s.win[h++]=s.win[S++]}while(0!==--u);else s.win.set(s.win.subarray(S,S+u),h),h+=u,S+=u,u=0;S=0}}else S=h-y,h-S>0&&2>h-S?(s.win[h++]=s.win[S++],s.win[h++]=s.win[S++],x-=2):(s.win.set(s.win.subarray(S,S+2),h),h+=2,S+=2,x-=2);if(h-S>0&&x>h-S)do{s.win[h++]=s.win[S++]}while(0!==--x);else s.win.set(s.win.subarray(S,S+x),h),h+=x,S+=x,x=0;break}if(64&u)return o.msg="invalid distance code",x=o.avail_in-_,x=x>w>>3?w>>3:x,_+=x,p-=x,w-=x<<3,s.bitb=f,s.bitk=w,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=h,X;l+=c[z+2],l+=f&J[u],z=3*(d+l),u=c[z]}break}if(64&u)return 32&u?(x=o.avail_in-_,x=x>w>>3?w>>3:x,_+=x,p-=x,w-=x<<3,s.bitb=f,s.bitk=w,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=h,1):(o.msg="invalid literal/length code",x=o.avail_in-_,x=x>w>>3?w>>3:x,_+=x,p-=x,w-=x<<3,s.bitb=f,s.bitk=w,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=h,X);if(l+=c[z+2],l+=f&J[u],z=3*(d+l),0===(u=c[z])){f>>=c[z+1],w-=c[z+1],s.win[h++]=c[z+2],b--;break}}else f>>=c[z+1],w-=c[z+1],s.win[h++]=c[z+2],b--}while(b>=258&&_>=10);return x=o.avail_in-_,x=x>w>>3?w>>3:x,_+=x,p-=x,w-=x<<3,s.bitb=f,s.bitk=w,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=h,0}e.init=(e,a,s,o,l,c)=>{t=0,u=e,f=a,i=s,w=o,r=l,p=c,n=null},e.proc=(e,h,b)=>{let m,g,x,y,S,z,k,v=0,E=0,F=0;for(F=h.next_in_index,y=h.avail_in,v=e.bitb,E=e.bitk,S=e.write,z=S<e.read?e.read-S-1:e.end-S;;)switch(t){case 0:if(z>=258&&y>=10&&(e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,b=_(u,f,i,w,r,p,e,h),F=h.next_in_index,y=h.avail_in,v=e.bitb,E=e.bitk,S=e.write,z=S<e.read?e.read-S-1:e.end-S,0!=b)){t=1==b?7:9;break}o=u,n=i,s=w,t=1;case 1:for(m=o;m>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);b=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}if(g=3*(s+(v&J[m])),v>>>=n[g+1],E-=n[g+1],x=n[g],0===x){l=n[g+2],t=6;break}if(16&x){c=15&x,a=n[g+2],t=2;break}if(!(64&x)){o=x,s=g/3+n[g+2];break}if(32&x){t=7;break}return t=9,h.msg="invalid literal/length code",b=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);case 2:for(m=c;m>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);b=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}a+=v&J[m],v>>=m,E-=m,o=f,n=r,s=p,t=3;case 3:for(m=o;m>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);b=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}if(g=3*(s+(v&J[m])),v>>=n[g+1],E-=n[g+1],x=n[g],16&x){c=15&x,d=n[g+2],t=4;break}if(!(64&x)){o=x,s=g/3+n[g+2];break}return t=9,h.msg="invalid distance code",b=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);case 4:for(m=c;m>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);b=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}d+=v&J[m],v>>=m,E-=m,t=5;case 5:for(k=S-d;0>k;)k+=e.end;for(;0!==a;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,b=e.inflate_flush(h,b),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);e.win[S++]=e.win[k++],z--,k==e.end&&(k=0),a--}t=0;break;case 6:if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,b=e.inflate_flush(h,b),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);b=0,e.win[S++]=l,z--,t=0;break;case 7:if(E>7&&(E-=8,y++,F--),e.write=S,b=e.inflate_flush(h,b),S=e.write,z=S<e.read?e.read-S-1:e.end-S,e.read!=e.write)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);t=8;case 8:return b=1,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);case 9:return b=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b);default:return b=G,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,b)}},e.free=()=>{}}re.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=Q,i[0]=$,0);const se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function oe(e,t){const n=this;let i,r=0,a=0,s=0,o=0;const l=[0],c=[0],d=new ae;let u=0,f=new Int32Array(4320);const p=new re;n.bitk=0,n.bitb=0,n.win=new w(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==r&&d.free(e),r=0,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let i,r,a;return r=e.next_out_index,a=n.read,i=(a>n.write?n.end:n.write)-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==j&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==j&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=(e,t)=>{let w,_,h,b,m,g,x,y;for(b=e.next_in_index,m=e.avail_in,_=n.bitb,h=n.bitk,g=n.write,x=g<n.read?n.read-g-1:n.end-g;;){let S,z,k,v,E,F,D,R;switch(r){case 0:for(;3>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}switch(w=7&_,u=1&w,w>>>1){case 0:_>>>=3,h-=3,w=7&h,_>>>=w,h-=w,r=1;break;case 1:S=[],z=[],k=[[]],v=[[]],re.inflate_trees_fixed(S,z,k,v),d.init(S[0],z[0],k[0],0,v[0],0),_>>>=3,h-=3,r=6;break;case 2:_>>>=3,h-=3,r=3;break;case 3:return _>>>=3,h-=3,r=9,e.msg="invalid block type",t=X,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t)}break;case 1:for(;32>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}if((~_>>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=X,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);a=65535&_,_=h=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);if(0===x&&(g==n.end&&0!==n.read&&(g=0,x=g<n.read?n.read-g-1:n.end-g),0===x&&(n.write=g,t=n.inflate_flush(e,t),g=n.write,x=g<n.read?n.read-g-1:n.end-g,g==n.end&&0!==n.read&&(g=0,x=g<n.read?n.read-g-1:n.end-g),0===x)))return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);if(t=0,w=a,w>m&&(w=m),w>x&&(w=x),n.win.set(e.read_buf(b,w),g),b+=w,m-=w,g+=w,x-=w,0!==(a-=w))break;r=0!==u?7:0;break;case 3:for(;14>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}if(s=w=16383&_,(31&w)>29||(w>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=X,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);if(w=258+(31&w)+(w>>5&31),!i||i.length<w)i=[];else for(y=0;w>y;y++)i[y]=0;_>>>=14,h-=14,o=0,r=4;case 4:for(;4+(s>>>10)>o;){for(;3>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}i[se[o++]]=7&_,_>>>=3,h-=3}for(;19>o;)i[se[o++]]=0;if(l[0]=7,w=p.inflate_trees_bits(i,l,c,f,e),0!=w)return(t=w)==X&&(i=null,r=9),n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);o=0,r=5;case 5:for(;w=s,258+(31&w)+(w>>5&31)>o;){let a,d;for(w=l[0];w>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}if(w=f[3*(c[0]+(_&J[w]))+1],d=f[3*(c[0]+(_&J[w]))+2],16>d)_>>>=w,h-=w,i[o++]=d;else{for(y=18==d?7:d-14,a=18==d?11:3;w+y>h;){if(0===m)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);t=0,m--,_|=(255&e.read_byte(b++))<<h,h+=8}if(_>>>=w,h-=w,a+=_&J[y],_>>>=y,h-=y,y=o,w=s,y+a>258+(31&w)+(w>>5&31)||16==d&&1>y)return i=null,r=9,e.msg="invalid bit length repeat",t=X,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);d=16==d?i[y-1]:0;do{i[y++]=d}while(0!==--a);o=y}}if(c[0]=-1,E=[],F=[],D=[],R=[],E[0]=9,F[0]=6,w=s,w=p.inflate_trees_dynamic(257+(31&w),1+(w>>5&31),i,E,F,D,R,f,e),0!=w)return w==X&&(i=null,r=9),t=w,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);d.init(E[0],F[0],f,D[0],f,R[0]),r=6;case 6:if(n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,1!=(t=d.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,d.free(e),b=e.next_in_index,m=e.avail_in,_=n.bitb,h=n.bitk,g=n.write,x=g<n.read?n.read-g-1:n.end-g,0===u){r=0;break}r=7;case 7:if(n.write=g,t=n.inflate_flush(e,t),g=n.write,x=g<n.read?n.read-g-1:n.end-g,n.read!=n.write)return n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);r=8;case 8:return t=1,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);case 9:return t=X,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t);default:return t=G,n.bitb=_,n.bitk=h,e.avail_in=m,e.total_in+=b-e.next_in_index,e.next_in_index=b,n.write=g,n.inflate_flush(e,t)}}},n.free=e=>{n.reset(e,null),n.win=null,f=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>1==r?1:0}const le=13,ce=[0,0,255,255];function de(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):G}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,0),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),G):(e.wbits=i,n.istate.blocks=new oe(n,1<<i),t(n),0)),e.inflate=(e,t)=>{let n,i;if(!e||!e.istate||!e.next_in)return G;const r=e.istate;for(t=4==t?j:0,n=j;;)switch(r.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=le,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=le,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=le,e.msg="incorrect header check",r.marker=5;break}if(!(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=le,e.msg="need dictionary",r.marker=0,G;case 7:if(n=r.blocks.proc(e,n),n==X){r.mode=le,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,1;case le:return X;default:return G}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return G;const a=e.istate;return r<1<<a.wbits||(r=(1<<a.wbits)-1,i=n-r),a.blocks.set_dictionary(t,i,r),a.mode=7,0},e.inflateSync=e=>{let n,i,r,a,s;if(!e||!e.istate)return G;const o=e.istate;if(o.mode!=le&&(o.mode=le,o.marker=0),0===(n=e.avail_in))return j;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==ce[r]?r++:r=0!==e.read_byte(i)?0:4-r,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,o.marker=r,4!=r?X:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,0)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():G}function ue(){}ue.prototype={inflateInit(e){const t=this;return t.istate=new de,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):G},inflateEnd(){const e=this;if(!e.istate)return G;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):G},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):G},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const fe=4294967295,we=65535,pe=67324752,_e=134695760,he=_e,be=33639248,me=101010256,ge=101075792,xe=117853008,ye=22,Se=21589,ze=2048,ke="/",ve=new o(2107,11,31),Ee=new o(1980,0,1),Fe=void 0,De="undefined",Re="function";class Te{constructor(e){return class extends k{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}let Ae=2;try{typeof R!=De&&R.hardwareConcurrency&&(Ae=R.hardwareConcurrency)}catch(e){}const Ce={chunkSize:524288,maxWorkers:Ae,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Fe,CompressionStreamNative:typeof F!=De&&F,DecompressionStreamNative:typeof D!=De&&D},Ne=n.assign({},Ce);function Ue(){return Ne}function We(e){return s.max(e.chunkSize,64)}function Ie(e){const{baseURL:n,chunkSize:i,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:s,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:w}=e;if(Le("baseURL",n),Le("chunkSize",i),Le("maxWorkers",r),Le("terminateWorkerTimeout",a),Le("useCompressionStream",s),Le("useWebWorkers",o),l&&(Ne.CompressionStream=new Te(l)),c&&(Ne.DecompressionStream=new Te(c)),Le("CompressionStream",d),Le("DecompressionStream",u),w!==Fe){const{deflate:e,inflate:n}=w;if((e||n)&&(Ne.workerScripts||(Ne.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");Ne.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");Ne.workerScripts.inflate=n}}}function Le(e,t){t!==Fe&&(Ne[e]=t)}const Oe=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;Oe[e]=t}class Me{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^Oe[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Pe extends k{constructor(){let e;const t=new Me;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function He(e){if(typeof g==De){const t=new w((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const Ve={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ve.getPartial(n);return 32===i?e.concat(t):Ve._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Ve.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ve.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ve.getPartial(r);return i.push(Ve.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Be={bytes:{fromBits(e){const t=Ve.bitLength(e)/8,n=new w(t);let i;for(let r=0;t>r;r++)3&r||(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(Ve.partial(8*(3&n),i)),t}}},Ze=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Be.utf8String.toBits(e));const n=t._buffer=Ve.concat(t._buffer,e),i=t._length,r=t._length=i+Ve.bitLength(e);if(r>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new _(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=Ve.concat(t,[Ve.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){return e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let a=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,a)+n._f(e,o,l,c)+d+r[e]+n._key[s.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=a,a=t}i[0]=i[0]+a|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}},qe={getRandomValues(e){const t=new _(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let i,r=0;r<e.length;r+=4){const e=n(4294967296*(i||s.random()));i=987654071*e(),t[r/4]=4294967296*e()|0}return e}},Ke={importKey:e=>new Ke.hmacSha1(Be.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new f("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,c;const d=new ArrayBuffer(r),u=new h(d);let w=0;const p=Ve;for(t=Be.bytes.toBits(t),c=1;(r||1)>w;c++){for(a=s=e.encrypt(p.concat(t,[c])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l<s.length;l++)a[l]^=s[l];for(o=0;(r||1)>w&&o<a.length;o++)u.setInt32(w,a[o]),w+=4}return d.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=Ze,i=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ye=typeof S!=De&&typeof S.getRandomValues==Re,Ge="Invalid password",Xe="Invalid signature",je="zipjs-abort-check-password";function Je(e){return Ye?S.getRandomValues(e):qe.getRandomValues(e)}const Qe=16,$e={name:"PBKDF2"},et=n.assign({hash:{name:"HMAC"}},$e),tt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},$e),nt=["deriveBits"],it=[8,12,16],rt=[16,24,32],at=10,st=[0,0,0,0],ot=typeof S!=De,lt=ot&&S.subtle,ct=ot&&typeof lt!=De,dt=Be.bytes,ut=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new f("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[a-1];(a%r===0||8===r&&a%r===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,w,p,_=e[0]^n[0],h=e[t?3:1]^n[1],b=e[2]^n[2],m=e[t?1:3]^n[3],g=4;for(let e=0;i>e;e++)u=s[_>>>24]^o[h>>16&255]^l[b>>8&255]^c[255&m]^n[g],w=s[h>>>24]^o[b>>16&255]^l[m>>8&255]^c[255&_]^n[g+1],p=s[b>>>24]^o[m>>16&255]^l[_>>8&255]^c[255&h]^n[g+2],m=s[m>>>24]^o[_>>16&255]^l[h>>8&255]^c[255&b]^n[g+3],g+=4,_=u,h=w,b=p;for(let e=0;4>e;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[h>>16&255]<<16^d[b>>8&255]<<8^d[255&m]^n[g++],u=_,_=h,h=b,b=m,m=u;return r}},ft=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Ve.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Ve.clamp(t,r)}},wt=Ke.hmacSha1;let pt=ot&&ct&&typeof lt.importKey==Re,_t=ot&&ct&&typeof lt.deriveBits==Re;class ht extends k{constructor({password:e,rawPassword:t,signed:i,encryptionStrength:r,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new m(e=>this.resolveReady=e),password:xt(e,t),signed:i,strength:r-1,pending:new w})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:s,ready:o}=n;i?(await(async(e,t,n,i)=>{const r=await gt(e,t,n,St(i,0,it[t])),a=St(i,it[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new f(Ge)})(n,r,i,St(e,0,it[r]+2)),e=St(e,it[r]+2),a?t.error(new f(je)):s()):await o;const l=new w(e.length-at-(e.length-at)%Qe);t.enqueue(mt(n,e,l,0,at,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:a}=this;if(i&&n){await a;const s=St(r,0,r.length-at),o=St(r,r.length-at);let l=new w;if(s.length){const e=kt(dt,s);i.update(e);const t=n.update(e);l=zt(dt,t)}if(t){const e=St(zt(dt,i.digest()),0,at);for(let t=0;at>t;t++)if(e[t]!=o[t])throw new f(Xe)}e.enqueue(l)}}})}}class bt extends k{constructor({password:e,rawPassword:t,encryptionStrength:i}){let r;super({start(){n.assign(this,{ready:new m(e=>this.resolveReady=e),password:xt(e,t),strength:i-1,pending:new w})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:a,ready:s}=n;let o=new w;i?(o=await(async(e,t,n)=>{const i=Je(new w(it[t]));return yt(i,await gt(e,t,n,i))})(n,r,i),a()):await s;const l=new w(o.length+e.length-e.length%Qe);l.set(o,0),t.enqueue(mt(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:i,ready:a}=this;if(n&&t){await a;let s=new w;if(i.length){const e=t.update(kt(dt,i));n.update(e),s=zt(dt,e)}r.signature=zt(dt,n.digest()).slice(0,at),e.enqueue(yt(s,r.signature))}}}),r=this}}function mt(e,t,n,i,r,a){const{ctr:s,hmac:o,pending:l}=e,c=t.length-r;let d;for(l.length&&(t=yt(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e})(n,c-c%Qe)),d=0;c-Qe>=d;d+=Qe){const e=kt(dt,St(t,d,d+Qe));a&&o.update(e);const r=s.update(e);a||o.update(r),n.set(zt(dt,r),d+i)}return e.pending=St(t,d),n}async function gt(e,i,r,a){e.password=null;const s=await(async(e,t,n,i,r)=>{if(!pt)return Ke.importKey(t);try{return await lt.importKey("raw",t,n,!1,r)}catch(e){return pt=!1,Ke.importKey(t)}})(0,r,et,0,nt),o=await(async(e,t,n)=>{if(!_t)return Ke.pbkdf2(t,e.salt,tt.iterations,n);try{return await lt.deriveBits(e,t,n)}catch(i){return _t=!1,Ke.pbkdf2(t,e.salt,tt.iterations,n)}})(n.assign({salt:a},tt),s,8*(2*rt[i]+2)),l=new w(o),c=kt(dt,St(l,0,rt[i])),d=kt(dt,St(l,rt[i],2*rt[i])),u=St(l,2*rt[i]);return n.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new ft(new ut(c),t.from(st)),hmac:new wt(d)}),u}function xt(e,t){return t===Fe?He(e):t}function yt(e,t){let n=e;return e.length+t.length&&(n=new w(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function St(e,t,n){return e.subarray(t,n)}function zt(e,t){return e.fromBits(t)}function kt(e,t){return e.toBits(t)}class vt extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:i}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;if(n.password){const t=Ft(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ge);e=e.subarray(12)}i?t.error(new f(je)):t.enqueue(Ft(n,e))}})}}class Et extends k{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=Je(new w(12));t[11]=n.passwordVerification,i=new w(e.length+t.length),i.set(Dt(n,t),0),r=12}else i=new w(e.length),r=0;i.set(Dt(n,e),r),t.enqueue(i)}})}}function Ft(e,t){const n=new w(t.length);for(let i=0;i<t.length;i++)n[i]=At(e)^t[i],Tt(e,n[i]);return n}function Dt(e,t){const n=new w(t.length);for(let i=0;i<t.length;i++)n[i]=At(e)^t[i],Tt(e,t[i]);return n}function Rt(e,t){const i=[305419896,591751049,878082192];n.assign(e,{keys:i,crcKey0:new Me(i[0]),crcKey2:new Me(i[2])});for(let n=0;n<t.length;n++)Tt(e,t.charCodeAt(n))}function Tt(e,t){let[n,i,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Nt(s.imul(Nt(i+Ct(n)),134775813)+1),e.crcKey2.append([i>>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function At(e){const t=2|e.keys[2];return Ct(s.imul(t,1^t)>>>8)}function Ct(e){return 255&e}function Nt(e){return 4294967295&e}const Ut="deflate-raw";class Wt extends k{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:a,useCompressionStream:s,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,w=Lt(super.readable);a&&!o||!l||(u=new Pe,w=Pt(w,u)),r&&(w=Mt(w,s,{level:c,chunkSize:t},i,n)),a&&(o?w=Pt(w,new Et(e)):(f=new bt(e),w=Pt(w,f))),Ot(d,w,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),d.signature=e})}}class It extends k{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:a,signed:s,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,w=Lt(super.readable);a&&(r?w=Pt(w,new vt(e)):(u=new ht(e),w=Pt(w,u))),l&&(w=Mt(w,c,{chunkSize:t},i,n)),a&&!r||!s||(d=new Pe,w=Pt(w,d)),Ot(this,w,()=>{if((!a||r)&&s){const e=new h(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Xe)}})}}function Lt(e){return Pt(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function Ot(e,t,i){t=Pt(t,new k({flush:i})),n.defineProperty(e,"readable",{get:()=>t})}function Mt(e,t,n,i,r){try{e=Pt(e,new(t&&i?i:r)(Ut,n))}catch(i){if(!t)return e;try{e=Pt(e,new r(Ut,n))}catch(t){return e}}return e}function Pt(e,t){return e.pipeThrough(t)}const Ht="data",Vt="close",Bt="deflate",Zt="inflate";class qt extends k{constructor(e,t){super({});const i=this,{codecType:r}=e;let a;r.startsWith(Bt)?a=Wt:r.startsWith(Zt)&&(a=It);let s=0,o=0;const l=new a(e,t),c=super.readable,d=new k({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){n.assign(i,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;n.assign(i,{signature:e,outputSize:s,inputSize:o})}});n.defineProperty(i,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class Kt extends k{constructor(e){let t;super({transform:function n(i,r){if(t){const e=new w(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(r.enqueue(i.slice(0,e)),n(i.slice(e),r)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}let Yt=typeof T!=De;class Gt{constructor(e,{readable:t,writable:i},{options:r,config:a,streamOptions:s,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=s;return n.assign(e,{busy:!0,readable:t.pipeThrough(new Kt(a.chunkSize)).pipeThrough(new Xt(t,s),{signal:u}),writable:i,options:n.assign({},r),scripts:c,transferStreams:l,terminate:()=>new m(t=>{const{worker:n,busy:i}=e;n?(i?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Yt?Qt:Jt)(e,a)}}class Xt extends k{constructor(e,{onstart:t,onprogress:n,size:i,onend:r}){let a=0;super({async start(){t&&await jt(t,i)},async transform(e,t){a+=e.length,n&&await jt(n,a,i),t.enqueue(e)},async flush(){e.size=a,r&&await jt(r,a)}})}}async function jt(e,...t){try{await e(...t)}catch(e){}}function Jt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:i},r)=>{try{const i=new qt(e,r);await t.pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:s,outputSize:o}=i;return{signature:a,inputSize:s,outputSize:o}}finally{i()}})(e,t)}}function Qt(e,t){const{baseURL:i,chunkSize:r}=t;if(!e.interface){let a;try{a=((e,t,i)=>{const r={type:"module"};let a,s;typeof e==Re&&(e=e());try{a=new u(e,t)}catch(t){a=e}if($t)try{s=new T(a)}catch(e){$t=!1,s=new T(a,r)}else s=new T(a,r);return s.addEventListener("message",e=>(async({data:e},t)=>{const{type:i,value:r,messageId:a,result:s,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:p}=t;try{if(o){const{message:e,stack:t,code:i,name:r}=o,a=new f(e);n.assign(a,{stack:t,code:i,name:r}),_(a)}else{if("pull"==i){const{value:e,done:n}=await l.read();tn({type:Ht,value:e,done:n,messageId:a},t)}i==Ht&&(await c.ready,await c.write(new w(r)),tn({type:"ack",messageId:a},t)),i==Vt&&_(null,s)}}catch(o){tn({type:Vt,messageId:a},t),_(o)}function _(e,t){e?u(e):d(t),c&&c.releaseLock(),p()}})(e,i)),s})(e.scripts[0],i,e)}catch(n){return Yt=!1,Jt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let i,r;const a=new m((e,t)=>{i=e,r=t});n.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:a});const{readable:s,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const n=new m(e=>t=e);return{writable:new E({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),u=tn({type:"start",scripts:l.slice(1),options:o,config:t,readable:s,writable:c},e);u||n.assign(e,{reader:s.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:r})}})}return e.interface}let $t=!0,en=!0;function tn(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{const{value:n,readable:i,writable:a}=e,s=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,s.push(e.value)),r&&en?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch(n){en=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let nn=[];const rn=[];let an=0;async function sn(e,t){const{options:n,config:i}=t,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:w}=i;t.transferStreams=a||a===Fe;const p=!(c||d||u||t.transferStreams);return t.useWebWorkers=!p&&(s||s===Fe&&i.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],n.useCompressionStream=o||o===Fe&&i.useCompressionStream,(await(async()=>{const n=nn.find(e=>!e.busy);if(n)return on(n),new Gt(n,e,t,_);if(nn.length<w){const n={indexWorker:an};return an++,nn.push(n),new Gt(n,e,t,_)}return new m(n=>rn.push({resolve:n,stream:e,workerOptions:t}))})()).run();function _(e){if(rn.length){const[{resolve:t,stream:n,workerOptions:i}]=rn.splice(0,1);t(new Gt(e,n,i,_))}else e.worker?(on(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:i}=n;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{nn=nn.filter(t=>t!=e);try{await e.terminate()}catch(e){}},i))})(e,t)):nn=nn.filter(t=>t!=e)}}function on(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const ln="HTTP error ",cn="HTTP Range not supported",dn="Writer iterator completed too soon",un="Writer not initialized",fn="Range",wn="GET",pn="bytes",_n=65536,hn="writable";class bn{constructor(){this.size=0}init(){this.initialized=!0}}class mn extends bn{get readable(){const e=this,{chunkSize:t=_n}=e,n=new v({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this,c=a===Fe?t:s.min(t,a-l),d=await Hn(e,r+l,c,o);i.enqueue(d),l+t>a||a===Fe&&!d.length&&c?i.close():this.chunkOffset+=t}});return n}}class gn extends bn{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(un);return e.writeUint8Array(t)}});n.defineProperty(e,hn,{get:()=>t})}writeUint8Array(){}}class xn extends mn{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||i<n.size?n.blob.slice(e,i):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,i)),new w(a)}}class yn extends bn{constructor(e){super();const t=new k,i=[];e&&i.push(["Content-Type",e]),n.defineProperty(this,hn,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:i}).blob()}getData(){return this.blob}}class Sn extends mn{constructor(e,t){super(),kn(this,e,t)}async init(){await vn(this,Nn,Rn),super.init()}readUint8Array(e,t){return En(this,e,t,Nn,Rn)}}class zn extends mn{constructor(e,t){super(),kn(this,e,t)}async init(){await vn(this,Un,Tn),super.init()}readUint8Array(e,t){return En(this,e,t,Un,Tn)}}function kn(e,t,i){const{preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=i;delete(i=n.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,n.assign(e,{url:t,options:i,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o})}async function vn(e,t,n){const{url:i,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=Ue(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(i)&&(s||o)&&(void 0===a||a)){const i=await t(wn,e,Fn(e,l?-22:void 0));if(!o&&i.headers.get("Accept-Ranges")!=pn)throw new f(cn);{let a;l&&(e.eocdCache=new w(await i.arrayBuffer()));const s=i.headers.get("Content-Range");if(s){const e=s.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=r(t))}}a===Fe?await Cn(e,t,n):e.size=a}}else await Cn(e,t,n)}async function En(e,t,n,i,r){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:l,options:c}=e;if(a||s){if(o&&t==l-ye&&n==ye)return o;const r=await i(wn,e,Fn(e,t,n));if(206!=r.status)throw new f(cn);return new w(await r.arrayBuffer())}{const{data:i}=e;return i||await r(e,c),new w(e.data.subarray(t,t+n))}}function Fn(e,t=0,i=1){return n.assign({},Dn(e),{[fn]:pn+"="+(0>t?t:t+"-"+(t+i-1))})}function Dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Rn(e){await An(e,Nn)}async function Tn(e){await An(e,Un)}async function An(e,t){const n=await t(wn,e,Dn(e));e.data=new w(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function Cn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t("HEAD",e,Dn(e))).headers.get("Content-Length");i?e.size=r(i):await n(e,e.options)}}async function Nn(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new f(cn):new f(ln+(a.statusText||a.status))}function Un(e,{url:t},i){return new m((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),r({status:s.status,arrayBuffer:()=>s.response,headers:new l(e)})}else a(416==s.status?new f(cn):new f(ln+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class Wn extends mn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new zn(e,t):new Sn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class In extends mn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await m.all(t.map(async(n,i)=>{await n.init(),i!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size})),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let a,o=n;-1==o&&(o=r.length-1);let l=e;for(;l>=r[o].size;)l-=r[o].size,o++;const c=r[o],d=c.size;if(l+t>d){const r=d-l;a=new w(t),a.set(await Hn(c,l,r)),a.set(await i.readUint8Array(e+r,t-r,n),r)}else a=await Hn(c,l,t);return i.lastDiskNumber=s.max(o,i.lastDiskNumber),a}}class Ln extends bn{constructor(e,t=4294967295){super();const i=this;let r,a,s;n.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:n}=i;if(s)t.length<n?await l(t):(await l(t.slice(0,n)),await c(),i.diskOffset+=r.size,i.diskNumber++,s=null,await this.write(t.slice(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(dn);r=n,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await On(r),a=n.writable,s=a.getWriter(),await this.write(t)}},async close(){await s.ready,await c()}});async function l(e){const t=e.length;t&&(await s.ready,await s.write(e),r.size+=t,i.size+=t,i.availableSize-=t)}async function c(){a.size=r.size,await s.close()}n.defineProperty(i,hn,{get:()=>o})}}async function On(e,t){if(!e.init||e.initialized)return m.resolve();await e.init(t)}function Mn(e){return t.isArray(e)&&(e=new In(e)),e instanceof v&&(e={readable:e}),e}function Pn(e){e.writable===Fe&&typeof e.next==Re&&(e=new Ln(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===Fe&&(t.size=0),e instanceof Ln||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Hn(e,t,n,i){return e.readUint8Array(t,n,i)}const Vn=In,Bn=Ln,Zn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function qn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Zn[e[n]];return t}})(e):new x(t).decode(e)}const Kn="filename",Yn="rawFilename",Gn="comment",Xn="rawComment",jn="uncompressedSize",Jn="compressedSize",Qn="offset",$n="diskNumberStart",ei="lastModDate",ti="rawLastModDate",ni="lastAccessDate",ii="creationDate",ri="internalFileAttribute",ai="internalFileAttributes",si="externalFileAttribute",oi="externalFileAttributes",li="msDosCompatible",ci="zip64",di="encrypted",ui="version",fi="versionMadeBy",wi="zipCrypto",pi="directory",_i="executable",hi=[Kn,Yn,Jn,jn,ei,ti,Gn,Xn,ni,ii,Qn,$n,$n,ri,ai,si,oi,li,ci,di,ui,fi,wi,pi,_i,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class bi{constructor(e){hi.forEach(t=>this[t]=e[t])}}const mi="File format is not recognized",gi="End of central directory not found",xi="End of Zip64 central directory locator not found",yi="Central directory header not found",Si="Local file header not found",zi="Zip64 extra field not found",ki="File contains encrypted entry",vi="Encryption method not supported",Ei="Compression method not supported",Fi="Split zip file",Di="utf-8",Ri="cp437",Ti=[[jn,fe],[Jn,fe],[Qn,fe],[$n,we]],Ai={[we]:{getValue:Vi,bytes:4},[fe]:{getValue:Bi,bytes:8}};class Ci{constructor(e,t={}){n.assign(this,{reader:Mn(e),options:t,config:Ue()})}async*getEntriesGenerator(e={}){const t=this;let{reader:i}=t;const{config:r}=t;if(await On(i),i.size!==Fe&&i.readUint8Array||(i=new xn(await new d(i.readable).blob()),await On(i)),i.size<ye)throw new f(mi);i.chunkSize=We(r);const a=await(async(e,t,n)=>{const i=new w(4);var r;return r=t,Zi(i).setUint32(0,r,!0),await a(22)||await a(s.min(1048582,n));async function a(t){const r=n-t,a=await Hn(e,r,t);for(let e=a.length-22;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+22).buffer}}})(i,me,i.size);if(!a)throw Vi(Zi(await Hn(i,0,4)))==_e?new f(Fi):new f(gi);const o=Zi(a);let l=Vi(o,12),c=Vi(o,16);const u=a.offset,p=Hi(o,20),_=u+ye+p;let h=Hi(o,4);const b=i.lastDiskNumber||0;let m=Hi(o,6),g=Hi(o,8),x=0,y=0;if(c==fe||l==fe||g==we||m==we){const e=Zi(await Hn(i,a.offset-20,20));if(Vi(e,0)==xe){c=Bi(e,8);let t=await Hn(i,c,56,-1),n=Zi(t);const r=a.offset-20-56;if(Vi(n,0)!=ge&&c!=r){const e=c;c=r,x=c-e,t=await Hn(i,c,56,-1),n=Zi(t)}if(Vi(n,0)!=ge)throw new f(xi);h==we&&(h=Vi(n,16)),m==we&&(m=Vi(n,20)),g==we&&(g=Bi(n,32)),l==fe&&(l=Bi(n,40)),c-=l}}if(c<i.size||(x=i.size-c-l-ye,c=i.size-l-ye),b!=h)throw new f(Fi);if(0>c)throw new f(mi);let S=0,z=await Hn(i,c,l,m),k=Zi(z);if(l){const e=a.offset-l;if(Vi(k,S)!=be&&c!=e){const t=c;c=e,x+=c-t,z=await Hn(i,c,l,m),k=Zi(z)}}const v=a.offset-c-(i.lastDiskOffset||0);if(l==v||0>v||(l=v,z=await Hn(i,c,l,m),k=Zi(z)),0>c||c>=i.size)throw new f(mi);const E=Li(t,e,"filenameEncoding"),F=Li(t,e,"commentEncoding");for(let a=0;g>a;a++){const o=new Ni(i,r,t.options);if(Vi(k,S)!=be)throw new f(yi);Ui(o,k,S+6);const l=!!o.bitFlag.languageEncodingFlag,c=S+46,d=c+o.filenameLength,u=d+o.extraFieldLength,w=Hi(k,S+4),p=!(w>>8),_=w>>8==3,h=z.subarray(c,d),b=Hi(k,S+32),m=u+b,v=z.subarray(u,m),D=l,R=l,T=Vi(k,S+38),A=p&&!(16&~Pi(k,S+38))||_&&16384==(T>>16&61440)||h.length&&47==h[h.length-1],C=_&&!!(T>>16&73),N=Vi(k,S+42)+x;n.assign(o,{versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:b,directory:A,offset:N,diskNumberStart:Hi(k,S+34),internalFileAttributes:Hi(k,S+36),externalFileAttributes:T,rawFilename:h,filenameUTF8:D,commentUTF8:R,rawExtraField:z.subarray(d,u),executable:C}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const U=Li(t,e,"decodeText")||qn,W=D?Di:E||Ri,I=R?Di:F||Ri;let L=U(h,W);L===Fe&&(L=qn(h,W));let O=U(v,I);O===Fe&&(O=qn(v,I)),n.assign(o,{rawComment:v,filename:L,comment:O,directory:A||L.endsWith(ke)}),y=s.max(N,y),Wi(o,o,k,S+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const M=new bi(o);M.getData=(e,t)=>o.getData(e,M,t),S=m;const{onprogress:P}=e;if(P)try{await P(a+1,g,new bi(o))}catch(e){}yield M}const D=Li(t,e,"extractPrependedData"),R=Li(t,e,"extractAppendedData");return D&&(t.prependedData=y>0?await Hn(i,0,y):new w),t.comment=p?await Hn(i,u+ye,p):new w,R&&(t.appendedData=_<i.size?await Hn(i,_,i.size-_):new w),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class Ni{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,i={}){const r=this,{reader:a,offset:s,diskNumberStart:o,extraFieldAES:l,compressionMethod:c,config:d,bitFlag:u,signature:p,rawLastModDate:_,uncompressedSize:h,compressedSize:b}=r,m=t.localDirectory={},g=Zi(await Hn(a,s,34,o));let x=Li(r,i,"password"),y=Li(r,i,"rawPassword");const S=Li(r,i,"passThrough");if(x=x&&x.length&&x,y=y&&y.length&&y,l&&99!=l.originalCompressionMethod)throw new f(Ei);if(0!=c&&8!=c&&!S)throw new f(Ei);if(Vi(g,0)!=pe)throw new f(Si);Ui(m,g,4),m.rawExtraField=m.extraFieldLength?await Hn(a,s+30+m.filenameLength,m.extraFieldLength,o):new w,Wi(r,m,g,4,!0),n.assign(t,{lastAccessDate:m.lastAccessDate,creationDate:m.creationDate});const z=r.encrypted&&m.encrypted&&!S,k=z&&!l;if(S||(t.zipCrypto=k),z){if(!k&&l.strength===Fe)throw new f(vi);if(!x&&!y)throw new f(ki)}const v=s+30+m.filenameLength+m.extraFieldLength,F=b,D=a.readable;n.assign(D,{diskNumberStart:o,offset:v,size:F});const R=Li(r,i,"signal"),T=Li(r,i,"checkPasswordOnly");T&&(e=new E),e=Pn(e),await On(e,S?b:h);const{writable:A}=e,{onstart:C,onprogress:N,onend:U}=i,W={options:{codecType:Zt,password:x,rawPassword:y,zipCrypto:k,encryptionStrength:l&&l.strength,signed:Li(r,i,"checkSignature")&&!S,passwordVerification:k&&(u.dataDescriptor?_>>>8&255:p>>>24&255),signature:p,compressed:0!=c&&!S,encrypted:r.encrypted&&!S,useWebWorkers:Li(r,i,"useWebWorkers"),useCompressionStream:Li(r,i,"useCompressionStream"),transferStreams:Li(r,i,"transferStreams"),checkPasswordOnly:T},config:d,streamOptions:{signal:R,size:F,onstart:C,onprogress:N,onend:U}};let I=0;try{({outputSize:I}=await sn({readable:D,writable:A},W))}catch(e){if(!T||e.message!=je)throw e}finally{const e=Li(r,i,"preventClose");A.size+=I,e||A.locked||await A.getWriter().close()}return T?Fe:e.getData?e.getData():A}}function Ui(e,t,i){const r=e.rawBitFlag=Hi(t,i+2),a=!(1&~r),s=Vi(t,i+6);n.assign(e,{encrypted:a,version:Hi(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&ze)==ze},rawLastModDate:s,lastModDate:Oi(s),filenameLength:Hi(t,i+22),extraFieldLength:Hi(t,i+24)})}function Wi(e,t,i,r,a){const{rawExtraField:s}=t,c=t.extraField=new l,d=Zi(new w(s));let u=0;try{for(;u<s.length;){const e=Hi(d,u),t=Hi(d,u+2);c.set(e,{type:e,data:s.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const p=Hi(i,r+4);n.assign(t,{signature:Vi(i,r+10),uncompressedSize:Vi(i,r+18),compressedSize:Vi(i,r+14)});const _=c.get(1);_&&(((e,t)=>{t.zip64=!0;const n=Zi(e.data),i=Ti.filter(([e,n])=>t[e]==n);for(let r=0,a=0;r<i.length;r++){const[s,o]=i[r];if(t[s]==o){const i=Ai[o];t[s]=e[s]=i.getValue(n,a),a+=i.bytes}else if(e[s])throw new f(zi)}})(_,t),t.extraFieldZip64=_);const h=c.get(28789);h&&(Ii(h,Kn,Yn,t,e),t.extraFieldUnicodePath=h);const b=c.get(25461);b&&(Ii(b,Gn,Xn,t,e),t.extraFieldUnicodeComment=b);const m=c.get(39169);m?(((e,t,i)=>{const r=Zi(e.data),a=Pi(r,4);n.assign(e,{vendorVersion:Pi(r,0),vendorId:Pi(r,2),strength:a,originalCompressionMethod:i,compressionMethod:Hi(r,5)}),t.compressionMethod=e.compressionMethod})(m,t,p),t.extraFieldAES=m):t.compressionMethod=p;const g=c.get(10);g&&(((e,t)=>{const i=Zi(e.data);let r,a=4;try{for(;a<e.data.length&&!r;){const t=Hi(i,a),n=Hi(i,a+2);1==t&&(r=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(r&&24==r.length){const i=Zi(r),a=i.getBigUint64(0,!0),s=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const l={lastModDate:Mi(a),lastAccessDate:Mi(s),creationDate:Mi(o)};n.assign(e,l),n.assign(t,l)}}catch(e){}})(g,t),t.extraFieldNTFS=g);const x=c.get(Se);x&&(((e,t,n)=>{const i=Zi(e.data),r=Pi(i,0),a=[],s=[];n?(1&~r||(a.push(ei),s.push(ti)),2&~r||(a.push(ni),s.push("rawLastAccessDate")),4&~r||(a.push(ii),s.push("rawCreationDate"))):5>e.data.length||(a.push(ei),s.push(ti));let l=1;a.forEach((n,r)=>{if(e.data.length>=l+4){const a=Vi(i,l);t[n]=e[n]=new o(1e3*a);const c=s[r];e[c]=a}l+=4})})(x,t,a),t.extraFieldExtendedTimestamp=x);const y=c.get(6534);y&&(t.extraFieldUSDZ=y)}function Ii(e,t,i,r,a){const s=Zi(e.data),o=new Me;o.append(a[i]);const l=Zi(new w(4));l.setUint32(0,o.get(),!0);const c=Vi(s,1);n.assign(e,{version:Pi(s,0),[t]:qn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Vi(l,0)}),e.valid&&(r[t]=e[t],r[t+"UTF8"]=!0)}function Li(e,t,n){return t[n]===Fe?e.options[n]:t[n]}function Oi(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function Mi(e){return new o(r(e/a(1e4)-a(116444736e5)))}function Pi(e,t){return e.getUint8(t)}function Hi(e,t){return e.getUint16(t,!0)}function Vi(e,t){return e.getUint32(t,!0)}function Bi(e,t){return r(e.getBigUint64(t,!0))}function Zi(e){return new h(e.buffer)}const qi="File already exists",Ki="Zip file comment exceeds 64KB",Yi="File entry comment exceeds 64KB",Gi="File entry name exceeds 64KB",Xi="Version exceeds 65535",ji="The strength must equal 1, 2, or 3",Ji="Extra field type exceeds 65535",Qi="Extra field data exceeds 64KB",$i="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",er="Undefined uncompressed size",tr="Zip file not empty",nr=new w([7,0,2,0,65,69,3,0,0]);let ir=0;const rr=[];class ar{constructor(e,t={}){const i=(e=Pn(e)).availableSize!==Fe&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==Fe&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:i,options:t,config:Ue(),files:new l,filenames:new c,offset:t.offset===Fe?e.writable.size:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(tr);({reader:e}=Mn(e));const[t,i]=e.readable.tee(),r=new Ci(new v({async start(e){const n=t.getReader();await async function t(){const{done:i,value:r}=await n.read();i?e.close():(e.enqueue(r),await t())}()}})),a=await r.getEntries();await r.close(),await i.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.writable.size=this.offset=e.size,this.filenames=new c(a.map(e=>e.filename)),this.files=new l(a.map(e=>{const{version:t,compressionMethod:i,lastModDate:r,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:l,encrypted:c,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:p,zip64:_}=e;let{rawExtraFieldZip64:h,rawExtraFieldAES:b,rawExtraFieldExtendedTimestamp:m,rawExtraFieldNTFS:g,rawExtraField:x}=e;const{level:y,languageEncodingFlag:S,dataDescriptor:z}=l;h=h||new w,b=b||new w,m=m||new w,g=g||new w,x=x||new w;const k=br(h,b,m,g,x),v=_&&d>fe,E=_&&u>fe,{headerArray:F,headerView:D}=mr({version:t,bitflag:gr(y,S,z,c),compressionMethod:i,uncompressedSize:d,compressedSize:u,lastModDate:r,rawFilename:o,zip64CompressedSize:E,zip64UncompressedSize:v,extraFieldLength:k});return n.assign(e,{zip64UncompressedSize:v,zip64CompressedSize:E,zip64Offset:_&&this.offset-f>fe,zip64DiskNumberStart:_&&p>we,rawExtraFieldZip64:h,rawExtraFieldAES:b,rawExtraFieldExtendedTimestamp:m,rawExtraFieldNTFS:g,rawExtraField:x,extendedTimestamp:m.length>0||g.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(s?4:0),headerArray:F,headerView:D}),[e.filename,e]}))}async add(e="",i,r={}){const l=this,{pendingAddFileCalls:c,config:u}=l;let _;ir<u.maxWorkers?ir++:await new m(e=>rr.push(e));try{if(e=e.trim(),l.filenames.has(e))throw new f(qi);return l.filenames.add(e),_=(async(e,i,r,l)=>{i=i.trim();const c=cr(e,l,li),u=cr(e,l,fi,c?20:768),_=cr(e,l,_i);if(u>we)throw new f(Xi);let b=cr(e,l,oi,0);0===b&&(b=cr(e,l,si,0)),!l.directory&&i.endsWith(ke)&&(l.directory=!0),cr(e,l,pi)?(i.endsWith(ke)||(i+=ke),0===b&&(b=16,c||(b|=16877<<16))):c||0!==b||(b=_?493<<16:27525120);const g=cr(e,l,"encodeText",He);let x=g(i);if(x===Fe&&(x=He(i)),br(x)>we)throw new f(Gi);const y=l.comment||"";let S=g(y);if(S===Fe&&(S=He(y)),br(S)>we)throw new f(Yi);const z=cr(e,l,ui,20);if(z>we)throw new f(Xi);const v=cr(e,l,ei,new o),E=cr(e,l,ni),F=cr(e,l,ii);let D=cr(e,l,ai,0);0===D&&(D=cr(e,l,ri,0));const R=cr(e,l,"passThrough");let T,A;R||(T=cr(e,l,"password"),A=cr(e,l,"rawPassword"));const C=cr(e,l,"encryptionStrength",3),N=cr(e,l,wi),U=cr(e,l,"extendedTimestamp",!0),W=cr(e,l,"keepOrder",!0),I=cr(e,l,"level"),L=cr(e,l,"useWebWorkers"),O=cr(e,l,"bufferedWrite"),M=cr(e,l,"dataDescriptorSignature",!1),P=cr(e,l,"signal"),H=cr(e,l,"useUnicodeFileNames",!0),V=cr(e,l,"useCompressionStream"),B=cr(e,l,"compressionMethod");let Z=cr(e,l,"dataDescriptor");O&&Z===Fe&&(Z=!1),(Z===Fe||N)&&(Z=!0);let q=cr(e,l,ci);if(!N&&(T!==Fe||A!==Fe)&&(1>C||C>3))throw new f(ji);let K=new w;const{extraField:Y}=l;if(Y){let e=0,t=0;Y.forEach(t=>e+=4+br(t)),K=new w(e),Y.forEach((e,n)=>{if(n>we)throw new f(Ji);if(br(e)>we)throw new f(Qi);_r(K,new p([n]),t),_r(K,new p([br(e)]),t+2),_r(K,e,t+4),t+=4+br(e)})}let G=0,X=0,j=0;if(R&&(({uncompressedSize:j}=l),j===Fe))throw new f(er);const J=!0===q;r&&(r=Mn(r),await On(r),R?(l.uncompressedSize=j,G=dr(j)):r.size===Fe?(Z=!0,(q||q===Fe)&&(q=!0,j=G=4294967296)):(l.uncompressedSize=j=r.size,G=dr(j)));const{diskOffset:Q,diskNumber:$,maxSize:ee}=e.writer,te=J||j>fe,ne=J||G>fe,ie=J||e.offset+e.pendingEntriesSize-Q>fe,re=cr(e,l,"supportZip64SplitFile",!0)&&J||$+s.ceil(e.pendingEntriesSize/ee)>we;if(ie||te||ne||re){if(!1===q||!W)throw new f($i);q=!0}q=q||!1;const ae=cr(e,l,di),{signature:se}=l,oe=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:r,level:o,zip64:l,zipCrypto:c,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:p,encryptionStrength:_,extendedTimestamp:h,passThrough:b,encrypted:m,zip64UncompressedSize:g,zip64CompressedSize:x,zip64Offset:y,zip64DiskNumberStart:S,uncompressedSize:z,offset:k,diskNumberStart:v}=e;let{version:E,compressionMethod:F}=e;const D=!f&&(o>0||o===Fe&&0!==F);let R;const T=b||!D,A=l&&(e.bufferedWrite||!g&&!x||T);if(l){let e=4;g&&(e+=8),x&&(e+=8),y&&(e+=8),S&&(e+=4),R=new w(e);const t=hr(R);if(fr(t,0,1),fr(t,2,br(R)-4),A){const e=hr(R);let t=4;g&&(pr(e,t,a(z)),t+=8),x&&T&&(pr(e,t,a(z)),t+=8),y&&(pr(e,t,a(k)),t+=8),S&&(wr(e,t,v),t+=4)}}else R=new w;let C,N,U,W;if(m&&!c){C=new w(br(nr)+2);const e=hr(C);fr(e,0,39169),_r(C,nr,2),ur(e,8,_)}else C=new w;if(h){U=new w(9+(i?4:0)+(r?4:0));const e=hr(U);fr(e,0,Se),fr(e,2,br(U)-4),W=1+(i?2:0)+(r?4:0),ur(e,4,W);let t=5;wr(e,t,s.floor(n.getTime()/1e3)),t+=4,i&&(wr(e,t,s.floor(i.getTime()/1e3)),t+=4),r&&wr(e,t,s.floor(r.getTime()/1e3));try{N=new w(36);const e=hr(N),t=lr(n);fr(e,0,10),fr(e,2,32),fr(e,8,1),fr(e,10,24),pr(e,12,t),pr(e,20,lr(i)||t),pr(e,28,lr(r)||t)}catch(e){N=new w}}else N=U=new w;F===Fe&&(F=D?8:0),l&&(E=E>45?E:45),m&&!c&&(E=E>51?E:51,C[9]=F,F=99);const I=A?br(R):0,L=I+br(C,U,N,p),{headerArray:O,headerView:M,rawLastModDate:P}=mr({version:E,bitflag:gr(o,d,u,m),compressionMethod:F,uncompressedSize:z,lastModDate:Ee>n?Ee:n>ve?ve:n,rawFilename:t,zip64CompressedSize:x,zip64UncompressedSize:g,extraFieldLength:L});let H=30;const V=new w(H+br(t)+L);return wr(hr(V),0,pe),_r(V,O,4),_r(V,t,H),H+=br(t),A&&_r(V,R,H),H+=I,_r(V,C,H),H+=br(C),_r(V,U,H),H+=br(U),_r(V,N,H),H+=br(N),_r(V,p,H),{localHeaderArray:V,headerArray:O,headerView:M,lastModDate:n,rawLastModDate:P,encrypted:m,compressed:D,version:E,compressionMethod:F,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:R,localExtraFieldZip64Length:I,rawExtraFieldExtendedTimestamp:U,rawExtraFieldNTFS:N,rawExtraFieldAES:C,extraFieldLength:L}})(l=n.assign({},l,{rawFilename:x,rawComment:S,version:z,versionMadeBy:u,lastModDate:v,lastAccessDate:E,creationDate:F,rawExtraField:K,zip64:q,zip64UncompressedSize:te,zip64CompressedSize:ne,zip64Offset:ie,zip64DiskNumberStart:re,password:T,rawPassword:A,level:V||e.config.CompressionStream!==Fe||e.config.CompressionStreamNative!==Fe?I:0,useWebWorkers:L,encryptionStrength:C,extendedTimestamp:U,zipCrypto:N,bufferedWrite:O,keepOrder:W,useUnicodeFileNames:H,dataDescriptor:Z,dataDescriptorSignature:M,signal:P,msDosCompatible:c,internalFileAttribute:D,internalFileAttributes:D,externalFileAttribute:b,externalFileAttributes:b,useCompressionStream:V,passThrough:R,encrypted:!!(T&&br(T)||A&&br(A))||R&&ae,signature:se,compressionMethod:B,uncompressedSize:j,offset:e.offset-Q,diskNumberStart:$})),le=(e=>{const{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e;let r,a=new w,s=0;return n&&(a=new w(t?i?24:20:i?16:12),r=hr(a),i&&(s=4,wr(r,0,he))),{dataDescriptorArray:a,dataDescriptorView:r,dataDescriptorOffset:s}})(l),ce=br(oe.localHeaderArray,le.dataDescriptorArray);let de;X=ce+G,e.options.usdz&&(X+=X+64),e.pendingEntriesSize+=X;try{de=await(async(e,i,r,s,o)=>{const{files:l,writer:c}=e,{keepOrder:u,dataDescriptor:p,signal:_}=o,{headerInfo:b}=s,{usdz:g}=e.options,x=t.from(l.values()).pop();let y,S,z,v,E,F,D,R={};l.set(i,R);try{let t;u&&(t=x&&x.lock,R.lock=new m(e=>z=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&p||g?(F=c,await T()):(F=new k,D=new d(F.readable).blob(),F.writable.size=0,y=!0,e.bufferedWrites++,await On(c)),await On(F);const{writable:b}=c;let{diskOffset:S}=c;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new w(4);wr(hr(t),0,_e),await or(b,t),e.offset+=4}g&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:i,extraFieldLength:r}=n,a=hr(i),s=64-(t+br(i))%64;4>s&&(s+=64);const o=new w(s),l=hr(o);fr(l,0,6534),fr(l,2,s-2);const c=i;n.localHeaderArray=i=new w(br(c)+s),_r(i,c),_r(i,o,br(c)),a=hr(i),fr(a,28,r+s),e.metadataSize+=s})(s,e.offset-S),y||(await t,await A(b));const{diskNumber:C}=c;if(E=!0,R.diskNumberStart=C,R=await(async(e,t,{diskNumberStart:i,lock:r},s,o,l)=>{const{headerInfo:c,dataDescriptorInfo:d,metadataSize:u}=s,{localHeaderArray:f,headerArray:w,headerView:p,lastModDate:_,rawLastModDate:h,encrypted:b,compressed:m,version:g,compressionMethod:x,rawExtraFieldZip64:y,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:z,extraFieldExtendedTimestampFlag:k,rawExtraFieldNTFS:v,rawExtraFieldAES:E}=c,{dataDescriptorArray:F}=d,{rawFilename:D,lastAccessDate:R,creationDate:T,password:A,rawPassword:C,level:N,zip64:U,zip64UncompressedSize:W,zip64CompressedSize:I,zip64Offset:L,zip64DiskNumberStart:O,zipCrypto:M,dataDescriptor:P,directory:H,executable:V,versionMadeBy:B,rawComment:Z,rawExtraField:q,useWebWorkers:K,onstart:Y,onprogress:G,onend:X,signal:j,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,useCompressionStream:ne,passThrough:ie}=l,re={lock:r,versionMadeBy:B,zip64:U,directory:!!H,executable:!!V,filenameUTF8:!0,rawFilename:D,commentUTF8:!0,rawComment:Z,rawExtraFieldZip64:y,localExtraFieldZip64Length:S,rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:v,rawExtraFieldAES:E,rawExtraField:q,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:ee,externalFileAttributes:te,diskNumberStart:i};let{signature:ae,uncompressedSize:se}=l,oe=0;ie||(se=0);const{writable:le}=t;if(e){e.chunkSize=We(o),await or(le,f);const t=e.readable,n=t.size=e.size,i={options:{codecType:Bt,level:N,rawPassword:C,password:A,encryptionStrength:J,zipCrypto:b&&M,passwordVerification:b&&M&&h>>8&255,signed:!ie,compressed:m&&!ie,encrypted:b&&!ie,useWebWorkers:K,useCompressionStream:ne,transferStreams:!1},config:o,streamOptions:{signal:j,size:n,onstart:Y,onprogress:G,onend:X}},r=await sn({readable:t,writable:le},i);oe=r.outputSize,ie||(se=r.inputSize,ae=r.signature),le.size+=se}else await or(le,f);return((e,t)=>{const{signature:n,compressedSize:i,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:o}=e,{headerView:l,encrypted:c}=s,{dataDescriptorView:d,dataDescriptorOffset:u}=o,{zip64:f,zipCrypto:w,dataDescriptor:p}=t;c&&!w||n===Fe||(wr(l,10,n),p&&wr(d,u,n)),f?p&&(pr(d,u+4,a(i)),pr(d,u+12,a(r))):(wr(l,14,i),wr(l,18,r),p&&(wr(d,u+4,i),wr(d,u+8,r)))})({signature:ae,compressedSize:oe,uncompressedSize:se,headerInfo:c,dataDescriptorInfo:d},l),P&&await or(le,F),n.assign(re,{uncompressedSize:se,compressedSize:oe,lastModDate:_,rawLastModDate:h,creationDate:T,lastAccessDate:R,encrypted:b,zipCrypto:M,size:u+oe,compressionMethod:x,version:g,headerArray:w,headerView:p,signature:ae,extraFieldExtendedTimestampFlag:k,zip64UncompressedSize:W,zip64CompressedSize:I,zip64Offset:L,zip64DiskNumberStart:O}),re})(r,F,R,s,e.config,o),E=!1,l.set(i,R),R.filename=i,y){await F.writable.getWriter().close();let n=await D;await t,await T(),v=!0,R.diskNumberStart=c.diskNumber,S=c.diskOffset,R.offset=e.offset-S,R.zip64&&sr(R),!R.zip64&&p||(n=await(async(e,t,n,{zipCrypto:i,dataDescriptor:r})=>{const{zip64:s,rawFilename:o,localExtraFieldZip64Length:l,signature:c,encrypted:d,zip64UncompressedSize:u,zip64CompressedSize:f,zip64Offset:p,zip64DiskNumberStart:_,uncompressedSize:b,compressedSize:m,offset:g,diskNumberStart:x}=e;let y,S=30+br(o);const z=s&&l?S+l:26;y=await t.slice(0,z).arrayBuffer(),y.byteLength!=z&&(y=y.slice(0,z));const k=new h(y);return r||(d&&!i||wr(k,14,c),s||(wr(k,18,m),wr(k,22,b))),s&&(wr(k,18,fe),wr(k,22,fe),l&&(S+=4,u&&(pr(k,S,a(b)),S+=8),f&&(pr(k,S,a(m)),S+=8),p&&(pr(k,S,a(g)),S+=8),_&&wr(k,S,x))),await or(n,new w(y)),t.slice(y.byteLength)})(R,n,b,o)),await A(b),await n.stream().pipeTo(b,{preventClose:!0,preventAbort:!0,signal:_}),b.size+=n.size,v=!1}else R.offset=e.offset-S,R.zip64&&sr(R);if(R.offset>fe&&!R.zip64)throw new f($i);return e.offset+=R.size,R}catch(t){if(y&&v||!y&&E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}y?e.offset+=F.writable.size:e.offset=F.writable.size}throw l.delete(i),t}finally{y&&e.bufferedWrites--,z&&z(),S&&S()}async function T(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new m(t=>S=()=>{e.writerLocked=!1,t()}),await t}async function A(e){br(b.localHeaderArray)>c.availableSize&&(c.availableSize=0,await or(e,new w))}})(e,i,r,{headerInfo:oe,dataDescriptorInfo:le,metadataSize:ce},l)}finally{e.pendingEntriesSize-=X}return n.assign(de,{name:i,comment:y,extraField:Y}),new bi(de)})(l,e,i,r),c.add(_),await _}catch(t){throw l.filenames.delete(e),t}finally{c.delete(_);const e=rr.shift();e?e():ir--}}remove(e){const{filenames:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==Fe){const{filename:i}=e;if(t.has(i)&&n.has(i))return t.delete(i),n.delete(i),!0}return!1}async close(e=new w,n={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;for(;i.size;)await m.allSettled(t.from(i));return await(async(e,n,i)=>{const{files:r,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,p=0,_=e.offset-l,h=r.size;for(const[,e]of r){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new w(9);const e=hr(u);fr(e,0,Se),fr(e,2,5),ur(e,4,c),wr(e,5,s.floor(d.getTime()/1e3))}else u=new w;e.rawExtraFieldExtendedTimestamp=u,p+=46+br(t,r,n,i,a,u,o)}const b=new w(p),m=hr(b);await On(o);let g=0;for(const[e,n]of t.from(r.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:s,rawExtraFieldAES:l,rawExtraFieldExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:w,rawComment:p,versionMadeBy:_,headerArray:h,headerView:x,zip64:y,zip64UncompressedSize:S,zip64CompressedSize:z,zip64DiskNumberStart:k,zip64Offset:v,internalFileAttributes:E,externalFileAttributes:F,diskNumberStart:D,uncompressedSize:R,compressedSize:T}=n,A=br(s,l,d,f,w);wr(m,u,be),fr(m,u+4,_),S||wr(x,18,R),z||wr(x,14,T),_r(b,h,u+6);let C=u+26+4;if(fr(m,C,A),C+=2,fr(m,C,br(p)),C+=2,fr(m,C,y&&k?we:D),C+=2,fr(m,C,E),C+=2,F&&wr(m,C,F),C+=4,wr(m,C,y&&v?fe:t),C+=4,_r(b,a,C),C+=br(a),_r(b,s,C),C+=br(s),_r(b,l,C),C+=br(l),_r(b,d,C),C+=br(d),_r(b,f,C),C+=br(f),_r(b,w,C),C+=br(w),_r(b,p,C),u-g>o.availableSize&&(o.availableSize=0,await or(c,b.slice(g,u)),g=u),u=C,i.onprogress)try{await i.onprogress(e+1,r.size,new bi(n))}catch(e){}}await or(c,g?b.slice(g):b);let x=o.diskNumber;const{availableSize:y}=o;ye>y&&x++;let S=cr(e,i,ci);if(_>fe||p>fe||h>we||x>we){if(!1===S)throw new f($i);S=!0}const z=new w(S?98:ye),k=hr(z);u=0,S&&(wr(k,0,ge),pr(k,4,a(44)),fr(k,12,45),fr(k,14,45),wr(k,16,x),wr(k,20,d),pr(k,24,a(h)),pr(k,32,a(h)),pr(k,40,a(p)),pr(k,48,a(_)),wr(k,56,xe),pr(k,64,a(_)+a(p)),wr(k,72,x+1),cr(e,i,"supportZip64SplitFile",!0)&&(x=we,d=we),h=we,_=fe,p=fe,u+=76),wr(k,u,me),fr(k,u+4,x),fr(k,u+6,d),fr(k,u+8,h),fr(k,u+10,h),wr(k,u+12,p),wr(k,u+16,_);const v=br(n);if(v){if(v>we)throw new f(Ki);fr(k,u+20,v)}await or(c,z),v&&await or(c,n)})(this,e,n),cr(this,n,"preventClose")||await o.getWriter().close(),r.getData?r.getData():o}}function sr(e){const t=hr(e.rawExtraFieldZip64);let n=4;e.zip64UncompressedSize&&(pr(t,n,a(e.uncompressedSize)),n+=8),e.zip64CompressedSize&&(pr(t,n,a(e.compressedSize)),n+=8),e.zip64Offset&&(pr(t,n,a(e.offset)),n+=8),e.zip64DiskNumberStart&&wr(t,n,e.diskNumberStart)}async function or(e,t){const n=e.getWriter();try{await n.ready,e.size+=br(t),await n.write(t)}finally{n.releaseLock()}}function lr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function cr(e,t,n,i){const r=t[n]===Fe?e.options[n]:t[n];return r===Fe?i:r}function dr(e){return e+5*(s.floor(e/16383)+1)}function ur(e,t,n){e.setUint8(t,n)}function fr(e,t,n){e.setUint16(t,n,!0)}function wr(e,t,n){e.setUint32(t,n,!0)}function pr(e,t,n){e.setBigUint64(t,n,!0)}function _r(e,t,n){e.set(t,n)}function hr(e){return new h(e.buffer)}function br(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function mr({version:e,bitflag:t,compressionMethod:n,uncompressedSize:i,compressedSize:r,lastModDate:a,rawFilename:s,zip64CompressedSize:o,zip64UncompressedSize:l,extraFieldLength:c}){const d=new w(26),u=hr(d);fr(u,0,e),fr(u,2,t),fr(u,4,n);const f=new _(1),p=hr(f);fr(p,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),fr(p,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const h=f[0];return wr(u,6,h),(o||r!==Fe)&&wr(u,14,o?fe:r),(l||i!==Fe)&&wr(u,18,l?fe:i),fr(u,22,br(s)),fr(u,24,c),{headerArray:d,headerView:u,rawLastModDate:h}}function gr(e,t,n,i){let r=0;return t&&(r|=ze),n&&(r|=8),e>=1&&3>e&&(r|=6),e>=3&&5>e&&(r|=1),9===e&&(r|=2),i&&(r|=1),r}Ie({Deflate:function(e){const t=new Y,n=(i=e&&e.chunkSize?e.chunkSize:65536)+5*(s.floor(i/16383)+1);var i;const r=new w(n);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=r,this.append=(e,i)=>{let a,s,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new w(r)):d.push(r.subarray(0,t.next_out_index))),c+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=o&&(i(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(s=new w(c),d.forEach(e=>{s.set(e,l),l+=e.length})):s=d[0]?new w(d[0]):new w,s}},this.flush=()=>{let e,i,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);n-t.avail_out>0&&o.push(r.slice(0,t.next_out_index)),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),i=new w(s),o.forEach(e=>{i.set(e,a),a+=e.length}),i}},Inflate:function(e){const t=new ue,n=e&&e.chunkSize?s.floor(2*e.chunkSize):131072,i=new w(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,c=0,d=0,u=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===j){if(0!==t.avail_in)throw new f("inflating: bad input")}else if(0!==o&&1!==o)throw new f("inflating: "+t.msg);if((r||1===o)&&t.avail_in===e.length)throw new f("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new w(i)):s.push(i.subarray(0,t.next_out_index))),u+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=c&&(a(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new w(u),s.forEach(e=>{l.set(e,d),d+=e.length})):l=s[0]?new w(s[0]):new w,l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=xn,e.BlobWriter=yn,e.Data64URIReader=class extends mn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const i=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:i,size:s.floor(.75*(t-i))})}readUint8Array(e,t){const{dataStart:n,dataURI:i}=this,r=new w(t),a=4*s.floor(e/3),o=atob(i.substring(a+n,4*s.ceil((e+t)/3)+n)),l=e-3*s.floor(a/4);for(let e=l;l+t>e;e++)r[e-l]=o.charCodeAt(e);return r}},e.Data64URIWriter=class extends gn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,r=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*s.floor((a+e.length)/3)-a;n++)r+=i.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=i.fromCharCode(e[n]);r.length>2?t.data+=z(r):t.pending=r}getData(){return this.data+z(this.pending)}},e.ERR_BAD_FORMAT=mi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=yi,e.ERR_DUPLICATED_NAME=qi,e.ERR_ENCRYPTED=ki,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=xi,e.ERR_EOCDR_NOT_FOUND=gi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=zi,e.ERR_HTTP_RANGE=cn,e.ERR_INVALID_COMMENT=Ki,e.ERR_INVALID_ENCRYPTION_STRENGTH=ji,e.ERR_INVALID_ENTRY_COMMENT=Yi,e.ERR_INVALID_ENTRY_NAME=Gi,e.ERR_INVALID_EXTRAFIELD_DATA=Qi,e.ERR_INVALID_EXTRAFIELD_TYPE=Ji,e.ERR_INVALID_PASSWORD=Ge,e.ERR_INVALID_SIGNATURE=Xe,e.ERR_INVALID_VERSION=Xi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=dn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Si,e.ERR_SPLIT_ZIP_FILE=Fi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=er,e.ERR_UNSUPPORTED_COMPRESSION=Ei,e.ERR_UNSUPPORTED_ENCRYPTION=vi,e.ERR_UNSUPPORTED_FORMAT=$i,e.ERR_WRITER_NOT_INITIALIZED=un,e.ERR_ZIP_NOT_EMPTY=tr,e.HttpRangeReader=class extends Wn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=Wn,e.Reader=mn,e.SplitDataReader=In,e.SplitDataWriter=Ln,e.SplitZipReader=Vn,e.SplitZipWriter=Bn,e.TextReader=class extends xn{constructor(e){super(new b([e],{type:"text/plain"}))}},e.TextWriter=class extends yn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,i=await super.getData();if(i.text&&t)return i.text();{const t=new FileReader;return new m((r,a)=>{n.assign(t,{onload:({target:e})=>r(e.result),onerror:()=>a(t.error)}),t.readAsText(i,e)})}}},e.Uint8ArrayReader=class extends mn{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends gn{init(e=0){n.assign(this,{offset:0,array:new w(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new w(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=gn,e.ZipReader=Ci,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new k,i=new Ci(t,e).getEntriesGenerator();this.readable=new v({async pull(e){const{done:t,value:n}=await i.next();if(t)return e.close();const r={...n,readable:(()=>{const{readable:e,writable:t}=new k;if(n.getData)return n.getData(t),e})()};delete r.getData,e.enqueue(r)}}),this.writable=n}},e.ZipWriter=ar,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new k;this.readable=t,this.zipWriter=new ar(n,e)}transform(e){const{readable:t,writable:n}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new k;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=Ie,e.getMimeType=()=>"application/octet-stream",e.initReader=Mn,e.initStream=On,e.initWriter=Pn,e.readUint8Array=Hn,e.terminateWorkers=async()=>{await m.allSettled(nn.map(e=>(on(e),e.terminate())))}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:i,Number:r,BigInt:a,Math:s,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:w,Uint32Array:_,DataView:h,Blob:m,Promise:b,TextEncoder:g,TextDecoder:x,document:y,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:F,DecompressionStream:D,navigator:R,Worker:T}="undefined"!=typeof globalThis?globalThis:this||self,A=-2;function C(e){return N(e.map(([e,n])=>new t(e).fill(n,0,e)))}function N(e){return e.reduce((e,n)=>e.concat(t.isArray(n)?N(n):n),[])}const U=[0,1,2,3].concat(...C([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=n=>{const i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(n.heap_len=0,n.heap_max=573,o=0;a>o;o++)0!==i[2*o]?(n.heap[++n.heap_len]=d=o,n.depth[o]=0):i[2*o+1]=0;for(;2>n.heap_len;)c=n.heap[++n.heap_len]=2>d?++d:0,i[2*c]=1,n.depth[c]=0,n.opt_len--,r&&(n.static_len-=r[2*c+1]);for(e.max_code=d,o=s.floor(n.heap_len/2);o>=1;o--)n.pqdownheap(i,o);c=a;do{o=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),l=n.heap[1],n.heap[--n.heap_max]=o,n.heap[--n.heap_max]=l,i[2*c]=i[2*o]+i[2*l],n.depth[c]=s.max(n.depth[o],n.depth[l])+1,i[2*o+1]=i[2*l+1]=c,n.heap[1]=c++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],(t=>{const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,l,c,d,u,f,p=0;for(d=0;15>=d;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)l=t.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,p++),n[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=r[l-a]),f=n[2*l],t.opt_len+=f*(d+u),i&&(t.static_len+=f*(i[2*l+1]+u)));if(0!==p){do{for(d=s-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[s]--,p-=2}while(p>0);for(d=s;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(n[2*c+1]!=d&&(t.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}})(n),((e,n,i)=>{const r=[];let a,s,o,l=0;for(a=1;15>=a;a++)r[a]=l=l+i[a-1]<<1;for(s=0;n>=s;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))})(i,e.max_code,n.bl_count)}}function I(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...C([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=e=>256>e?U[e]:U[256+(e>>>7)],W.extra_lbits=[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],W.extra_dbits=[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],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];const L=C([[144,8],[112,9],[24,7],[8,8]]);I.static_ltree=N([12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227].map((e,t)=>[e,L[t]]));const O=C([[30,5]]);function M(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}I.static_dtree=N([0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23].map((e,t)=>[e,O[t]])),I.static_l_desc=new I(I.static_ltree,W.extra_lbits,257,286,15),I.static_d_desc=new I(I.static_dtree,W.extra_dbits,0,30,15),I.static_bl_desc=new I(null,W.extra_blbits,0,19,7);const P=[new M(0,0,0,0,0),new M(4,4,8,4,1),new M(4,5,16,8,1),new M(4,6,32,32,1),new M(4,4,16,16,2),new M(8,16,32,32,2),new M(8,16,128,128,2),new M(8,32,128,256,2),new M(32,128,258,1024,2),new M(32,258,258,4096,2)],H=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],V=113,B=666,Z=262;function q(e,t,n,i){const r=e[2*t],a=e[2*n];return a>r||r==a&&i[t]<=i[n]}function K(){const e=this;let t,n,i,r,a,o,l,c,d,u,f,_,h,m,b,g,x,y,S,z,k,v,E,F,D,R,T,C,N,U,L,O,M;const K=new W,G=new W,Y=new W;let X,j,J,Q,$,ee;function te(){let t;for(t=0;286>t;t++)L[2*t]=0;for(t=0;30>t;t++)O[2*t]=0;for(t=0;19>t;t++)M[2*t]=0;L[512]=1,e.opt_len=e.static_len=0,j=J=0}function ne(e,t){let n,i=-1,r=e[1],a=0,s=7,o=4;0===r&&(s=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)n=r,r=e[2*(l+1)+1],++a<s&&n==r||(o>a?M[2*n]+=a:0!==n?(n!=i&&M[2*n]++,M[32]++):a>10?M[36]++:M[34]++,a=0,i=n,0===r?(s=138,o=3):n==r?(s=6,o=3):(s=7,o=4))}function ie(t){e.pending_buf[e.pending++]=t}function re(e){ie(255&e),ie(e>>>8&255)}function ae(e,t){let n;const i=t;ee>16-i?(n=e,$|=n<<ee&65535,re($),$=n>>>16-ee,ee+=i-16):($|=e<<ee&65535,ee+=i)}function se(e,t){const n=2*e;ae(65535&t[n],65535&t[n+1])}function oe(e,t){let n,i,r=-1,a=e[1],s=0,o=7,l=4;for(0===a&&(o=138,l=3),n=0;t>=n;n++)if(i=a,a=e[2*(n+1)+1],++s>=o||i!=a){if(l>s)do{se(i,M)}while(0!==--s);else 0!==i?(i!=r&&(se(i,M),s--),se(16,M),ae(s-3,2)):s>10?(se(18,M),ae(s-11,7)):(se(17,M),ae(s-3,3));s=0,r=i,0===a?(o=138,l=3):i==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(re($),$=0,ee=0):8>ee||(ie(255&$),$>>>=8,ee-=8)}function ce(t,n){let i,r,a;if(e.dist_buf[j]=t,e.lc_buf[j]=255&n,j++,0===t?L[2*n]++:(J++,t--,L[2*(W._length_code[n]+256+1)]++,O[2*W.d_code(t)]++),!(8191&j)&&T>2){for(i=8*j,r=k-x,a=0;30>a;a++)i+=O[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,J<s.floor(j/2)&&i<s.floor(r/2))return!0}return j==X-1}function de(t,n){let i,r,a,s,o=0;if(0!==j)do{i=e.dist_buf[o],r=e.lc_buf[o],o++,0===i?se(r,t):(a=W._length_code[r],se(a+256+1,t),s=W.extra_lbits[a],0!==s&&(r-=W.base_length[a],ae(r,s)),i--,a=W.d_code(i),se(a,n),s=W.extra_dbits[a],0!==s&&(i-=W.base_dist[a],ae(i,s)))}while(j>o);se(256,t),Q=t[513]}function ue(){ee>8?re($):ee>0&&ie(255&$),$=0,ee=0}function fe(t,n,i){ae(0+(i?1:0),3),((t,n)=>{ue(),Q=8,re(n),re(~n),e.pending_buf.set(c.subarray(t,t+n),e.pending),e.pending+=n})(t,n)}function pe(n){((t,n,i)=>{let r,a,s=0;T>0?(K.build_tree(e),G.build_tree(e),s=(()=>{let t;for(ne(L,K.max_code),ne(O,G.max_code),Y.build_tree(e),t=18;t>=3&&0===M[2*W.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>r||(r=a)):r=a=n+5,n+4>r||-1==t?a==r?(ae(2+(i?1:0),3),de(I.static_ltree,I.static_dtree)):(ae(4+(i?1:0),3),((e,t,n)=>{let i;for(ae(e-257,5),ae(t-1,5),ae(n-4,4),i=0;n>i;i++)ae(M[2*W.bl_order[i]+1],3);oe(L,e-1),oe(O,t-1)})(K.max_code+1,G.max_code+1,s+1),de(L,O)):fe(t,n,i),te(),i&&ue()})(0>x?-1:x,k-x,n),x=k,t.flush_pending()}function we(){let e,n,i,r;do{if(r=d-E-k,0===r&&0===k&&0===E)r=a;else if(-1==r)r--;else if(k>=a+a-Z){c.set(c.subarray(a,a+a),0),v-=a,k-=a,x-=a,e=h,i=e;do{n=65535&f[--i],f[i]=a>n?0:n-a}while(0!==--e);e=a,i=e;do{n=65535&u[--i],u[i]=a>n?0:n-a}while(0!==--e);r+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,r),E+=e,3>E||(_=255&c[k],_=(_<<g^255&c[k+1])&b)}while(Z>E&&0!==t.avail_in)}function _e(e){let t,n,i=D,r=k,s=F;const o=k>a-Z?k-(a-Z):0;let d=U;const f=l,p=k+258;let w=c[r+s-1],_=c[r+s];N>F||(i>>=2),d>E&&(d=E);do{if(t=e,c[t+s]==_&&c[t+s-1]==w&&c[t]==c[r]&&c[++t]==c[r+1]){r+=2,t++;do{}while(c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&c[++r]==c[++t]&&p>r);if(n=258-(p-r),r=p-258,n>s){if(v=e,s=n,n>=d)break;w=c[r+s-1],_=c[r+s]}}}while((e=65535&u[e&f])>o&&0!==--i);return s>E?E:s}e.depth=[],e.bl_count=[],e.heap=[],L=[],O=[],M=[],e.pqdownheap=(t,n)=>{const i=e.heap,r=i[n];let a=n<<1;for(;a<=e.heap_len&&(a<e.heap_len&&q(t,i[a+1],i[a],e.depth)&&a++,!q(t,r,i[a],e.depth));)i[n]=i[a],n=a,a<<=1;i[n]=r},e.deflateInit=(t,S,v,W,H,B)=>(W||(W=8),H||(H=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>H||H>9||8!=W||9>v||v>15||0>S||S>9||0>B||B>2?A:(t.dstate=e,o=v,a=1<<o,l=a-1,m=H+7,h=1<<m,b=h-1,g=s.floor((m+3-1)/3),c=new p(2*a),u=[],f=[],X=1<<H+6,e.pending_buf=new p(4*X),i=4*X,e.dist_buf=new w(X),e.lc_buf=new p(X),T=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=V,r=0,K.dyn_tree=L,K.stat_desc=I.static_l_desc,G.dyn_tree=O,G.stat_desc=I.static_d_desc,Y.dyn_tree=M,Y.stat_desc=I.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[h-1]=0;for(let e=0;h-1>e;e++)f[e]=0;R=P[T].max_lazy,N=P[T].good_length,U=P[T].nice_length,D=P[T].max_chain,k=0,x=0,E=0,y=F=2,z=0,_=0})(),0))(t))),e.deflateEnd=()=>42!=n&&n!=V&&n!=B?A:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,n==V?-3:0),e.deflateParams=(e,t,n)=>{let i=0;return-1==t&&(t=6),0>t||t>9||0>n||n>2?A:(P[T].func!=P[t].func&&0!==e.total_in&&(i=e.deflate(1)),T!=t&&(T=t,R=P[T].max_lazy,N=P[T].good_length,U=P[T].nice_length,D=P[T].max_chain),C=n,i)},e.deflateSetDictionary=(e,t,i)=>{let r,s=i,o=0;if(!t||42!=n)return A;if(3>s)return 0;for(s>a-Z&&(s=a-Z,o=i-s),c.set(t.subarray(o,o+s),0),k=s,x=s,_=255&c[0],_=(_<<g^255&c[1])&b,r=0;s-3>=r;r++)_=(_<<g^255&c[r+2])&b,u[r&l]=f[_],f[_]=r;return 0},e.deflate=(s,d)=>{let p,w,m,D,N;if(d>4||0>d)return A;if(!s.next_out||!s.next_in&&0!==s.avail_in||n==B&&4!=d)return s.msg=H[4],A;if(0===s.avail_out)return s.msg=H[7],-5;var U;if(t=s,D=r,r=d,42==n&&(w=8+(o-8<<4)<<8,m=(T-1&255)>>1,m>3&&(m=3),w|=m<<6,0!==k&&(w|=32),w+=31-w%31,n=V,ie((U=w)>>8&255),ie(255&U)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=H[7],-5;if(n==B&&0!==t.avail_in)return s.msg=H[7],-5;if(0!==t.avail_in||0!==E||0!=d&&n!=B){switch(N=-1,P[T].func){case 0:N=(e=>{let n,r=65535;for(r>i-5&&(r=i-5);;){if(1>=E){if(we(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,n=x+r,(0===k||k>=n)&&(E=k-n,k=n,pe(!1),0===t.avail_out))return 0;if(k-x>=a-Z&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 1:N=(e=>{let n,i=0;for(;;){if(Z>E){if(we(),Z>E&&0==e)return 0;if(0===E)break}if(3>E||(_=(_<<g^255&c[k+2])&b,i=65535&f[_],u[k&l]=f[_],f[_]=k),0===i||(k-i&65535)>a-Z||2!=C&&(y=_e(i)),3>y)n=ce(0,255&c[k]),E--,k++;else if(n=ce(k-v,y-3),E-=y,y>R||3>E)k+=y,y=0,_=255&c[k],_=(_<<g^255&c[k+1])&b;else{y--;do{k++,_=(_<<g^255&c[k+2])&b,i=65535&f[_],u[k&l]=f[_],f[_]=k}while(0!==--y);k++}if(n&&(pe(!1),0===t.avail_out))return 0}return pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d);break;case 2:N=(e=>{let n,i,r=0;for(;;){if(Z>E){if(we(),Z>E&&0==e)return 0;if(0===E)break}if(3>E||(_=(_<<g^255&c[k+2])&b,r=65535&f[_],u[k&l]=f[_],f[_]=k),F=y,S=v,y=2,0!==r&&R>F&&a-Z>=(k-r&65535)&&(2!=C&&(y=_e(r)),5>=y&&(1==C||3==y&&k-v>4096)&&(y=2)),3>F||y>F)if(0!==z){if(n=ce(0,255&c[k-1]),n&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{i=k+E-3,n=ce(k-1-S,F-3),E-=F-1,F-=2;do{++k>i||(_=(_<<g^255&c[k+2])&b,r=65535&f[_],u[k&l]=f[_],f[_]=k)}while(0!==--F);if(z=0,y=2,k++,n&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(n=ce(0,255&c[k-1]),z=0),pe(4==e),0===t.avail_out?4==e?2:0:4==e?3:1})(d)}if(2!=N&&3!=N||(n=B),0==N||2==N)return 0===t.avail_out&&(r=-1),0;if(1==N){if(1==d)ae(2,3),se(256,I.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),se(256,I.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;h>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return r=-1,0}}return 4!=d?0:1}}function G(){const e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}G.prototype={deflateInit(e,t){const n=this;return n.dstate=new K,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){const t=this;return t.dstate?t.dstate.deflate(t,e):A},deflateEnd(){const e=this;if(!e.dstate)return A;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):A},deflateSetDictionary(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):A},read_buf(e,t,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending(){const e=this;let t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),0!==t&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,0===e.dstate.pending&&(e.dstate.pending_out=0))}};const Y=-2,X=-3,j=-5,J=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Q=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],$=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],ee=[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],te=[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,112,112],ne=[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],ie=[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];function re(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,p,w){let _,h,m,b,g,x,y,S,z,k,v,E,F,D,R;k=0,g=s;do{n[e[t+k]]++,k++,g--}while(0!==g);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(S=u[0],x=1;15>=x&&0===n[x];x++);for(y=x,x>S&&(S=x),g=15;0!==g&&0===n[g];g--);for(m=g,S>g&&(S=g),u[0]=S,D=1<<x;g>x;x++,D<<=1)if(0>(D-=n[x]))return X;if(0>(D-=n[g]))return X;for(n[g]+=D,a[1]=x=0,k=1,F=2;0!==--g;)a[F]=x+=n[k],F++,k++;g=0,k=0;do{0!==(x=e[t+k])&&(w[a[x]++]=g),k++}while(++g<s);for(s=a[m],a[0]=g=0,k=0,b=-1,E=-S,r[0]=0,v=0,R=0;m>=y;y++)for(_=n[y];0!==_--;){for(;y>E+S;){if(b++,E+=S,R=m-E,R=R>S?S:R,(h=1<<(x=y-E))>_+1&&(h-=_+1,F=y,R>x))for(;++x<R&&(h<<=1)>n[++F];)h-=n[F];if(R=1<<x,p[0]+R>1440)return X;r[b]=v=p[0],p[0]+=R,0!==b?(a[b]=g,i[0]=x,i[1]=S,x=g>>>E-S,i[2]=v-r[b-1]-x,f.set(i,3*(r[b-1]+x))):d[0]=v}for(i[1]=y-E,s>k?w[k]<o?(i[0]=256>w[k]?0:96,i[2]=w[k++]):(i[0]=c[w[k]-o]+16+64,i[2]=l[w[k++]-o]):i[0]=192,h=1<<y-E,x=g>>>E;R>x;x+=h)f.set(i,3*(v+x));for(x=1<<y-1;0!==(g&x);x>>>=1)g^=x;for(g^=x,z=(1<<E)-1;(g&z)!=a[b];)b--,E-=S,z=(1<<E)-1}return 0!==D&&1!=m?j:0}function o(s){let o;for(e||(e=[],t=[],n=new Int32Array(16),i=[],r=new Int32Array(15),a=new Int32Array(16)),t.length<s&&(t=[]),o=0;s>o;o++)t[o]=0;for(o=0;16>o;o++)n[o]=0;for(o=0;3>o;o++)i[o]=0;r.set(n.subarray(0,15),0),a.set(n.subarray(0,16),0)}this.inflate_trees_bits=(n,i,r,a,l)=>{let c;return o(19),e[0]=0,c=s(n,0,19,19,null,null,r,i,a,e,t),c==X?l.msg="oversubscribed dynamic bit lengths tree":c!=j&&0!==i[0]||(l.msg="incomplete dynamic bit lengths tree",c=X),c},this.inflate_trees_dynamic=(n,i,r,a,l,c,d,u,f)=>{let p;return o(288),e[0]=0,p=s(r,0,n,257,ee,te,c,a,u,e,t),0!=p||0===a[0]?(p==X?f.msg="oversubscribed literal/length tree":-4!=p&&(f.msg="incomplete literal/length tree",p=X),p):(o(288),p=s(r,n,i,0,ne,ie,d,l,u,e,t),0!=p||0===l[0]&&n>257?(p==X?f.msg="oversubscribed distance tree":p==j?(f.msg="incomplete distance tree",p=X):-4!=p&&(f.msg="empty distance tree with lengths",p=X),p):0)}}function ae(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,p=0,w=0;function _(e,t,n,i,r,a,s,o){let l,c,d,u,f,p,w,_,h,m,b,g,x,y,S,z;w=o.next_in_index,_=o.avail_in,f=s.bitb,p=s.bitk,h=s.write,m=h<s.read?s.read-h-1:s.end-h,b=J[e],g=J[t];do{for(;20>p;)_--,f|=(255&o.read_byte(w++))<<p,p+=8;if(l=f&b,c=n,d=i,z=3*(d+l),0!==(u=c[z]))for(;;){if(f>>=c[z+1],p-=c[z+1],16&u){for(u&=15,x=c[z+2]+(f&J[u]),f>>=u,p-=u;15>p;)_--,f|=(255&o.read_byte(w++))<<p,p+=8;for(l=f&g,c=r,d=a,z=3*(d+l),u=c[z];;){if(f>>=c[z+1],p-=c[z+1],16&u){for(u&=15;u>p;)_--,f|=(255&o.read_byte(w++))<<p,p+=8;if(y=c[z+2]+(f&J[u]),f>>=u,p-=u,m-=x,y>h){S=h-y;do{S+=s.end}while(0>S);if(u=s.end-S,x>u){if(x-=u,h-S>0&&u>h-S)do{s.win[h++]=s.win[S++]}while(0!==--u);else s.win.set(s.win.subarray(S,S+u),h),h+=u,S+=u,u=0;S=0}}else S=h-y,h-S>0&&2>h-S?(s.win[h++]=s.win[S++],s.win[h++]=s.win[S++],x-=2):(s.win.set(s.win.subarray(S,S+2),h),h+=2,S+=2,x-=2);if(h-S>0&&x>h-S)do{s.win[h++]=s.win[S++]}while(0!==--x);else s.win.set(s.win.subarray(S,S+x),h),h+=x,S+=x,x=0;break}if(64&u)return o.msg="invalid distance code",x=o.avail_in-_,x=x>p>>3?p>>3:x,_+=x,w-=x,p-=x<<3,s.bitb=f,s.bitk=p,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=h,X;l+=c[z+2],l+=f&J[u],z=3*(d+l),u=c[z]}break}if(64&u)return 32&u?(x=o.avail_in-_,x=x>p>>3?p>>3:x,_+=x,w-=x,p-=x<<3,s.bitb=f,s.bitk=p,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=h,1):(o.msg="invalid literal/length code",x=o.avail_in-_,x=x>p>>3?p>>3:x,_+=x,w-=x,p-=x<<3,s.bitb=f,s.bitk=p,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=h,X);if(l+=c[z+2],l+=f&J[u],z=3*(d+l),0===(u=c[z])){f>>=c[z+1],p-=c[z+1],s.win[h++]=c[z+2],m--;break}}else f>>=c[z+1],p-=c[z+1],s.win[h++]=c[z+2],m--}while(m>=258&&_>=10);return x=o.avail_in-_,x=x>p>>3?p>>3:x,_+=x,w-=x,p-=x<<3,s.bitb=f,s.bitk=p,o.avail_in=_,o.total_in+=w-o.next_in_index,o.next_in_index=w,s.write=h,0}e.init=(e,a,s,o,l,c)=>{t=0,u=e,f=a,i=s,p=o,r=l,w=c,n=null},e.proc=(e,h,m)=>{let b,g,x,y,S,z,k,v=0,E=0,F=0;for(F=h.next_in_index,y=h.avail_in,v=e.bitb,E=e.bitk,S=e.write,z=S<e.read?e.read-S-1:e.end-S;;)switch(t){case 0:if(z>=258&&y>=10&&(e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,m=_(u,f,i,p,r,w,e,h),F=h.next_in_index,y=h.avail_in,v=e.bitb,E=e.bitk,S=e.write,z=S<e.read?e.read-S-1:e.end-S,0!=m)){t=1==m?7:9;break}o=u,n=i,s=p,t=1;case 1:for(b=o;b>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);m=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}if(g=3*(s+(v&J[b])),v>>>=n[g+1],E-=n[g+1],x=n[g],0===x){l=n[g+2],t=6;break}if(16&x){c=15&x,a=n[g+2],t=2;break}if(!(64&x)){o=x,s=g/3+n[g+2];break}if(32&x){t=7;break}return t=9,h.msg="invalid literal/length code",m=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);case 2:for(b=c;b>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);m=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}a+=v&J[b],v>>=b,E-=b,o=f,n=r,s=w,t=3;case 3:for(b=o;b>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);m=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}if(g=3*(s+(v&J[b])),v>>=n[g+1],E-=n[g+1],x=n[g],16&x){c=15&x,d=n[g+2],t=4;break}if(!(64&x)){o=x,s=g/3+n[g+2];break}return t=9,h.msg="invalid distance code",m=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);case 4:for(b=c;b>E;){if(0===y)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);m=0,y--,v|=(255&h.read_byte(F++))<<E,E+=8}d+=v&J[b],v>>=b,E-=b,t=5;case 5:for(k=S-d;0>k;)k+=e.end;for(;0!==a;){if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,m=e.inflate_flush(h,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);e.win[S++]=e.win[k++],z--,k==e.end&&(k=0),a--}t=0;break;case 6:if(0===z&&(S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z&&(e.write=S,m=e.inflate_flush(h,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,S==e.end&&0!==e.read&&(S=0,z=S<e.read?e.read-S-1:e.end-S),0===z)))return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);m=0,e.win[S++]=l,z--,t=0;break;case 7:if(E>7&&(E-=8,y++,F--),e.write=S,m=e.inflate_flush(h,m),S=e.write,z=S<e.read?e.read-S-1:e.end-S,e.read!=e.write)return e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);t=8;case 8:return m=1,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);case 9:return m=X,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m);default:return m=Y,e.bitb=v,e.bitk=E,h.avail_in=y,h.total_in+=F-h.next_in_index,h.next_in_index=F,e.write=S,e.inflate_flush(h,m)}},e.free=()=>{}}re.inflate_trees_fixed=(e,t,n,i)=>(e[0]=9,t[0]=5,n[0]=Q,i[0]=$,0);const se=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function oe(e,t){const n=this;let i,r=0,a=0,s=0,o=0;const l=[0],c=[0],d=new ae;let u=0,f=new Int32Array(4320);const w=new re;n.bitk=0,n.bitb=0,n.win=new p(t),n.end=t,n.read=0,n.write=0,n.reset=(e,t)=>{t&&(t[0]=0),6==r&&d.free(e),r=0,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=(e,t)=>{let i,r,a;return r=e.next_out_index,a=n.read,i=(a>n.write?n.end:n.write)-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==j&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==j&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.win.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=(e,t)=>{let p,_,h,m,b,g,x,y;for(m=e.next_in_index,b=e.avail_in,_=n.bitb,h=n.bitk,g=n.write,x=g<n.read?n.read-g-1:n.end-g;;){let S,z,k,v,E,F,D,R;switch(r){case 0:for(;3>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}switch(p=7&_,u=1&p,p>>>1){case 0:_>>>=3,h-=3,p=7&h,_>>>=p,h-=p,r=1;break;case 1:S=[],z=[],k=[[]],v=[[]],re.inflate_trees_fixed(S,z,k,v),d.init(S[0],z[0],k[0],0,v[0],0),_>>>=3,h-=3,r=6;break;case 2:_>>>=3,h-=3,r=3;break;case 3:return _>>>=3,h-=3,r=9,e.msg="invalid block type",t=X,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t)}break;case 1:for(;32>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}if((~_>>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=X,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);a=65535&_,_=h=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);if(0===x&&(g==n.end&&0!==n.read&&(g=0,x=g<n.read?n.read-g-1:n.end-g),0===x&&(n.write=g,t=n.inflate_flush(e,t),g=n.write,x=g<n.read?n.read-g-1:n.end-g,g==n.end&&0!==n.read&&(g=0,x=g<n.read?n.read-g-1:n.end-g),0===x)))return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);if(t=0,p=a,p>b&&(p=b),p>x&&(p=x),n.win.set(e.read_buf(m,p),g),m+=p,b-=p,g+=p,x-=p,0!==(a-=p))break;r=0!==u?7:0;break;case 3:for(;14>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}if(s=p=16383&_,(31&p)>29||(p>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=X,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);if(p=258+(31&p)+(p>>5&31),!i||i.length<p)i=[];else for(y=0;p>y;y++)i[y]=0;_>>>=14,h-=14,o=0,r=4;case 4:for(;4+(s>>>10)>o;){for(;3>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}i[se[o++]]=7&_,_>>>=3,h-=3}for(;19>o;)i[se[o++]]=0;if(l[0]=7,p=w.inflate_trees_bits(i,l,c,f,e),0!=p)return(t=p)==X&&(i=null,r=9),n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);o=0,r=5;case 5:for(;p=s,258+(31&p)+(p>>5&31)>o;){let a,d;for(p=l[0];p>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}if(p=f[3*(c[0]+(_&J[p]))+1],d=f[3*(c[0]+(_&J[p]))+2],16>d)_>>>=p,h-=p,i[o++]=d;else{for(y=18==d?7:d-14,a=18==d?11:3;p+y>h;){if(0===b)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);t=0,b--,_|=(255&e.read_byte(m++))<<h,h+=8}if(_>>>=p,h-=p,a+=_&J[y],_>>>=y,h-=y,y=o,p=s,y+a>258+(31&p)+(p>>5&31)||16==d&&1>y)return i=null,r=9,e.msg="invalid bit length repeat",t=X,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);d=16==d?i[y-1]:0;do{i[y++]=d}while(0!==--a);o=y}}if(c[0]=-1,E=[],F=[],D=[],R=[],E[0]=9,F[0]=6,p=s,p=w.inflate_trees_dynamic(257+(31&p),1+(p>>5&31),i,E,F,D,R,f,e),0!=p)return p==X&&(i=null,r=9),t=p,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);d.init(E[0],F[0],f,D[0],f,R[0]),r=6;case 6:if(n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,1!=(t=d.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,d.free(e),m=e.next_in_index,b=e.avail_in,_=n.bitb,h=n.bitk,g=n.write,x=g<n.read?n.read-g-1:n.end-g,0===u){r=0;break}r=7;case 7:if(n.write=g,t=n.inflate_flush(e,t),g=n.write,x=g<n.read?n.read-g-1:n.end-g,n.read!=n.write)return n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);r=8;case 8:return t=1,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);case 9:return t=X,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t);default:return t=Y,n.bitb=_,n.bitk=h,e.avail_in=b,e.total_in+=m-e.next_in_index,e.next_in_index=m,n.write=g,n.inflate_flush(e,t)}}},n.free=e=>{n.reset(e,null),n.win=null,f=null},n.set_dictionary=(e,t,i)=>{n.win.set(e.subarray(t,t+i),0),n.read=n.write=i},n.sync_point=()=>1==r?1:0}const le=13,ce=[0,0,255,255];function de(){const e=this;function t(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):Y}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=t=>(e.blocks&&e.blocks.free(t),e.blocks=null,0),e.inflateInit=(n,i)=>(n.msg=null,e.blocks=null,8>i||i>15?(e.inflateEnd(n),Y):(e.wbits=i,n.istate.blocks=new oe(n,1<<i),t(n),0)),e.inflate=(e,t)=>{let n,i;if(!e||!e.istate||!e.next_in)return Y;const r=e.istate;for(t=4==t?j:0,n=j;;)switch(r.mode){case 0:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,8!=(15&(r.method=e.read_byte(e.next_in_index++)))){r.mode=le,e.msg="unknown compression method",r.marker=5;break}if(8+(r.method>>4)>r.wbits){r.mode=le,e.msg="invalid win size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=le,e.msg="incorrect header check",r.marker=5;break}if(!(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=le,e.msg="need dictionary",r.marker=0,Y;case 7:if(n=r.blocks.proc(e,n),n==X){r.mode=le,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return e.avail_in=0,1;case le:return X;default:return Y}},e.inflateSetDictionary=(e,t,n)=>{let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return Y;const a=e.istate;return r<1<<a.wbits||(r=(1<<a.wbits)-1,i=n-r),a.blocks.set_dictionary(t,i,r),a.mode=7,0},e.inflateSync=e=>{let n,i,r,a,s;if(!e||!e.istate)return Y;const o=e.istate;if(o.mode!=le&&(o.mode=le,o.marker=0),0===(n=e.avail_in))return j;for(i=e.next_in_index,r=o.marker;0!==n&&4>r;)e.read_byte(i)==ce[r]?r++:r=0!==e.read_byte(i)?0:4-r,i++,n--;return e.total_in+=i-e.next_in_index,e.next_in_index=i,e.avail_in=n,o.marker=r,4!=r?X:(a=e.total_in,s=e.total_out,t(e),e.total_in=a,e.total_out=s,o.mode=7,0)},e.inflateSyncPoint=e=>e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():Y}function ue(){}ue.prototype={inflateInit(e){const t=this;return t.istate=new de,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):Y},inflateEnd(){const e=this;if(!e.istate)return Y;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):Y},inflateSetDictionary(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):Y},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const fe=4294967295,pe=65535,we=67324752,_e=134695760,he=_e,me=33639248,be=101010256,ge=101075792,xe=117853008,ye=22,Se=21589,ze=2048,ke="/",ve=new o(2107,11,31),Ee=new o(1980,0,1),Fe=void 0,De="undefined",Re="function";class Te{constructor(e){return class extends k{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}let Ae=2;try{typeof R!=De&&R.hardwareConcurrency&&(Ae=R.hardwareConcurrency)}catch(e){}const Ce={chunkSize:524288,maxWorkers:Ae,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Fe,CompressionStreamNative:typeof F!=De&&F,DecompressionStreamNative:typeof D!=De&&D},Ne=n.assign({},Ce);function Ue(){return Ne}function We(e){return s.max(e.chunkSize,64)}function Ie(e){const{baseURL:n,chunkSize:i,maxWorkers:r,terminateWorkerTimeout:a,useCompressionStream:s,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(Le("baseURL",n),Le("chunkSize",i),Le("maxWorkers",r),Le("terminateWorkerTimeout",a),Le("useCompressionStream",s),Le("useWebWorkers",o),l&&(Ne.CompressionStream=new Te(l)),c&&(Ne.DecompressionStream=new Te(c)),Le("CompressionStream",d),Le("DecompressionStream",u),p!==Fe){const{deflate:e,inflate:n}=p;if((e||n)&&(Ne.workerScripts||(Ne.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");Ne.workerScripts.deflate=e}if(n){if(!t.isArray(n))throw new f("workerScripts.inflate must be an array");Ne.workerScripts.inflate=n}}}function Le(e,t){t!==Fe&&(Ne[e]=t)}const Oe=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;Oe[e]=t}class Me{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;i>n;n++)t=t>>>8^Oe[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class Pe extends k{constructor(){let e;const t=new Me;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new p(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function He(e){if(typeof g==De){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new g).encode(e)}const Ve={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ve.getPartial(n);return 32===i?e.concat(t):Ve._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Ve.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ve.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>s.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ve.getPartial(r);return i.push(Ve.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Be={bytes:{fromBits(e){const t=Ve.bitLength(e)/8,n=new p(t);let i;for(let r=0;t>r;r++)3&r||(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(Ve.partial(8*(3&n),i)),t}}},Ze=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;"string"==typeof e&&(e=Be.utf8String.toBits(e));const n=t._buffer=Ve.concat(t._buffer,e),i=t._length,r=t._length=i+Ve.bitLength(e);if(r>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new _(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);r>=e;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=Ve.concat(t,[Ve.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){return e>19?e>39?e>59?e>79?void 0:t^n^i:t&n|t&i|n&i:t^n^i:t&n|~t&i}_S(e,t){return t<<e|t>>>32-e}_block(e){const n=this,i=n._h,r=t(80);for(let t=0;16>t;t++)r[t]=e[t];let a=i[0],o=i[1],l=i[2],c=i[3],d=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=n._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const t=n._S(5,a)+n._f(e,o,l,c)+d+r[e]+n._key[s.floor(e/20)]|0;d=c,c=l,l=n._S(30,o),o=a,a=t}i[0]=i[0]+a|0,i[1]=i[1]+o|0,i[2]=i[2]+l|0,i[3]=i[3]+c|0,i[4]=i[4]+d|0}},qe={getRandomValues(e){const t=new _(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(s.random()>.5?1:-1))};for(let i,r=0;r<e.length;r+=4){const e=n(4294967296*(i||s.random()));i=987654071*e(),t[r/4]=4294967296*e()|0}return e}},Ke={importKey:e=>new Ke.hmacSha1(Be.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,0>i||0>n)throw new f("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,c;const d=new ArrayBuffer(r),u=new h(d);let p=0;const w=Ve;for(t=Be.bytes.toBits(t),c=1;(r||1)>p;c++){for(a=s=e.encrypt(w.concat(t,[c])),o=1;n>o;o++)for(s=e.encrypt(s),l=0;l<s.length;l++)a[l]^=s[l];for(o=0;(r||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=Ze,i=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;r>t;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ge=typeof S!=De&&typeof S.getRandomValues==Re,Ye="Invalid password",Xe="Invalid signature",je="zipjs-abort-check-password";function Je(e){return Ge?S.getRandomValues(e):qe.getRandomValues(e)}const Qe=16,$e={name:"PBKDF2"},et=n.assign({hash:{name:"HMAC"}},$e),tt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},$e),nt=["deriveBits"],it=[8,12,16],rt=[16,24,32],at=10,st=[0,0,0,0],ot=typeof S!=De,lt=ot&&S.subtle,ct=ot&&typeof lt!=De,dt=Be.bytes,ut=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new f("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;4*r+28>a;a++){let e=s[a-1];(a%r===0||8===r&&a%r===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r===0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=4>=a||4>e?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;256>e;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;4>n;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,w,_=e[0]^n[0],h=e[t?3:1]^n[1],m=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;i>e;e++)u=s[_>>>24]^o[h>>16&255]^l[m>>8&255]^c[255&b]^n[g],p=s[h>>>24]^o[m>>16&255]^l[b>>8&255]^c[255&_]^n[g+1],w=s[m>>>24]^o[b>>16&255]^l[_>>8&255]^c[255&h]^n[g+2],b=s[b>>>24]^o[_>>16&255]^l[h>>8&255]^c[255&m]^n[g+3],g+=4,_=u,h=p,m=w;for(let e=0;4>e;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[h>>16&255]<<16^d[m>>8&255]<<8^d[255&b]^n[g++],u=_,_=h,h=m,m=b,b=u;return r}},ft=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=Ve.bitLength(t);for(let r=0;i>r;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return Ve.clamp(t,r)}},pt=Ke.hmacSha1;let wt=ot&&ct&&typeof lt.importKey==Re,_t=ot&&ct&&typeof lt.deriveBits==Re;class ht extends k{constructor({password:e,rawPassword:t,signed:i,encryptionStrength:r,checkPasswordOnly:a}){super({start(){n.assign(this,{ready:new b(e=>this.resolveReady=e),password:xt(e,t),signed:i,strength:r-1,pending:new p})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:s,ready:o}=n;i?(await(async(e,t,n,i)=>{const r=await gt(e,t,n,St(i,0,it[t])),a=St(i,it[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new f(Ye)})(n,r,i,St(e,0,it[r]+2)),e=St(e,it[r]+2),a?t.error(new f(je)):s()):await o;const l=new p(e.length-at-(e.length-at)%Qe);t.enqueue(bt(n,e,l,0,at,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:a}=this;if(i&&n){await a;const s=St(r,0,r.length-at),o=St(r,r.length-at);let l=new p;if(s.length){const e=kt(dt,s);i.update(e);const t=n.update(e);l=zt(dt,t)}if(t){const e=St(zt(dt,i.digest()),0,at);for(let t=0;at>t;t++)if(e[t]!=o[t])throw new f(Xe)}e.enqueue(l)}}})}}class mt extends k{constructor({password:e,rawPassword:t,encryptionStrength:i}){let r;super({start(){n.assign(this,{ready:new b(e=>this.resolveReady=e),password:xt(e,t),strength:i-1,pending:new p})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:a,ready:s}=n;let o=new p;i?(o=await(async(e,t,n)=>{const i=Je(new p(it[t]));return yt(i,await gt(e,t,n,i))})(n,r,i),a()):await s;const l=new p(o.length+e.length-e.length%Qe);l.set(o,0),t.enqueue(bt(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:i,ready:a}=this;if(n&&t){await a;let s=new p;if(i.length){const e=t.update(kt(dt,i));n.update(e),s=zt(dt,e)}r.signature=zt(dt,n.digest()).slice(0,at),e.enqueue(yt(s,r.signature))}}}),r=this}}function bt(e,t,n,i,r,a){const{ctr:s,hmac:o,pending:l}=e,c=t.length-r;let d;for(l.length&&(t=yt(l,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new p(t)).set(n,0)}return e})(n,c-c%Qe)),d=0;c-Qe>=d;d+=Qe){const e=kt(dt,St(t,d,d+Qe));a&&o.update(e);const r=s.update(e);a||o.update(r),n.set(zt(dt,r),d+i)}return e.pending=St(t,d),n}async function gt(e,i,r,a){e.password=null;const s=await(async(e,t,n,i,r)=>{if(!wt)return Ke.importKey(t);try{return await lt.importKey("raw",t,n,!1,r)}catch(e){return wt=!1,Ke.importKey(t)}})(0,r,et,0,nt),o=await(async(e,t,n)=>{if(!_t)return Ke.pbkdf2(t,e.salt,tt.iterations,n);try{return await lt.deriveBits(e,t,n)}catch(i){return _t=!1,Ke.pbkdf2(t,e.salt,tt.iterations,n)}})(n.assign({salt:a},tt),s,8*(2*rt[i]+2)),l=new p(o),c=kt(dt,St(l,0,rt[i])),d=kt(dt,St(l,rt[i],2*rt[i])),u=St(l,2*rt[i]);return n.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new ft(new ut(c),t.from(st)),hmac:new pt(d)}),u}function xt(e,t){return t===Fe?He(e):t}function yt(e,t){let n=e;return e.length+t.length&&(n=new p(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function St(e,t,n){return e.subarray(t,n)}function zt(e,t){return e.fromBits(t)}function kt(e,t){return e.toBits(t)}class vt extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:i}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;if(n.password){const t=Ft(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new f(Ye);e=e.subarray(12)}i?t.error(new f(je)):t.enqueue(Ft(n,e))}})}}class Et extends k{constructor({password:e,passwordVerification:t}){super({start(){n.assign(this,{password:e,passwordVerification:t}),Rt(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=Je(new p(12));t[11]=n.passwordVerification,i=new p(e.length+t.length),i.set(Dt(n,t),0),r=12}else i=new p(e.length),r=0;i.set(Dt(n,e),r),t.enqueue(i)}})}}function Ft(e,t){const n=new p(t.length);for(let i=0;i<t.length;i++)n[i]=At(e)^t[i],Tt(e,n[i]);return n}function Dt(e,t){const n=new p(t.length);for(let i=0;i<t.length;i++)n[i]=At(e)^t[i],Tt(e,t[i]);return n}function Rt(e,t){const i=[305419896,591751049,878082192];n.assign(e,{keys:i,crcKey0:new Me(i[0]),crcKey2:new Me(i[2])});for(let n=0;n<t.length;n++)Tt(e,t.charCodeAt(n))}function Tt(e,t){let[n,i,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Nt(s.imul(Nt(i+Ct(n)),134775813)+1),e.crcKey2.append([i>>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function At(e){const t=2|e.keys[2];return Ct(s.imul(t,1^t)>>>8)}function Ct(e){return 255&e}function Nt(e){return 4294967295&e}const Ut="deflate-raw";class Wt extends k{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:a,useCompressionStream:s,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=Lt(super.readable);a&&!o||!l||(u=new Pe,p=Pt(p,u)),r&&(p=Mt(p,s,{level:c,chunkSize:t},i,n)),a&&(o?p=Pt(p,new Et(e)):(f=new mt(e),p=Pt(p,f))),Ot(d,p,()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),d.signature=e})}}class It extends k{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:a,signed:s,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=Lt(super.readable);a&&(r?p=Pt(p,new vt(e)):(u=new ht(e),p=Pt(p,u))),l&&(p=Mt(p,c,{chunkSize:t},i,n)),a&&!r||!s||(d=new Pe,p=Pt(p,d)),Ot(this,p,()=>{if((!a||r)&&s){const e=new h(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(Xe)}})}}function Lt(e){return Pt(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function Ot(e,t,i){t=Pt(t,new k({flush:i})),n.defineProperty(e,"readable",{get:()=>t})}function Mt(e,t,n,i,r){try{e=Pt(e,new(t&&i?i:r)(Ut,n))}catch(i){if(!t)return e;try{e=Pt(e,new r(Ut,n))}catch(t){return e}}return e}function Pt(e,t){return e.pipeThrough(t)}const Ht="data",Vt="close",Bt="deflate",Zt="inflate";class qt extends k{constructor(e,t){super({});const i=this,{codecType:r}=e;let a;r.startsWith(Bt)?a=Wt:r.startsWith(Zt)&&(a=It),i.outputSize=0;let s=0;const o=new a(e,t),l=super.readable,c=new k({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(i,{inputSize:s})}}),d=new k({transform(e,t){e&&e.length&&(t.enqueue(e),i.outputSize+=e.length)},flush(){const{signature:e}=o;n.assign(i,{signature:e,inputSize:s})}});n.defineProperty(i,"readable",{get:()=>l.pipeThrough(c).pipeThrough(o).pipeThrough(d)})}}class Kt extends k{constructor(e){let t;super({transform:function n(i,r){if(t){const e=new p(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(r.enqueue(i.slice(0,e)),n(i.slice(e),r)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}let Gt=typeof T!=De;class Yt{constructor(e,{readable:t,writable:i},{options:r,config:a,streamOptions:s,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=s;return n.assign(e,{busy:!0,readable:t.pipeThrough(new Kt(a.chunkSize)).pipeThrough(new Xt(s),{signal:u}),writable:i,options:n.assign({},r),scripts:c,transferStreams:l,terminate:()=>new b(t=>{const{worker:n,busy:i}=e;n?(i?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()}),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,d(e)}}),(o&&Gt?Qt:Jt)(e,a)}}class Xt extends k{constructor({onstart:e,onprogress:t,size:n,onend:i}){let r=0;super({async start(){e&&await jt(e,n)},async transform(e,i){r+=e.length,t&&await jt(t,r,n),i.enqueue(e)},async flush(){i&&await jt(i,r)}})}}async function jt(e,...t){try{await e(...t)}catch(e){}}function Jt(e,t){return{run:()=>(async({options:e,readable:t,writable:n,onTaskFinished:i},r)=>{let a;try{a=new qt(e,r),await t.pipeThrough(a).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:s,outputSize:o}=a;return{signature:i,inputSize:s,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{i()}})(e,t)}}function Qt(e,t){const{baseURL:i,chunkSize:r}=t;if(!e.interface){let a;try{a=((e,t,i)=>{const r={type:"module"};let a,s;typeof e==Re&&(e=e());try{a=new u(e,t)}catch(t){a=e}if($t)try{s=new T(a)}catch(e){$t=!1,s=new T(a,r)}else s=new T(a,r);return s.addEventListener("message",e=>(async({data:e},t)=>{const{type:i,value:r,messageId:a,result:s,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:w}=t;try{if(o){const{message:e,stack:t,code:i,name:r,outputSize:a}=o,s=new f(e);n.assign(s,{stack:t,code:i,name:r,outputSize:a}),_(s)}else{if("pull"==i){const{value:e,done:n}=await l.read();tn({type:Ht,value:e,done:n,messageId:a},t)}i==Ht&&(await c.ready,await c.write(new p(r)),tn({type:"ack",messageId:a},t)),i==Vt&&_(null,s)}}catch(o){tn({type:Vt,messageId:a},t),_(o)}function _(e,t){e?u(e):d(t),c&&c.releaseLock(),w()}})(e,i)),s})(e.scripts[0],i,e)}catch(n){return Gt=!1,Jt(e,t)}n.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let i,r;const a=new b((e,t)=>{i=e,r=t});n.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:a});const{readable:s,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const n=new b(e=>t=e);return{writable:new E({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:n}})(e.writable),u=tn({type:"start",scripts:l.slice(1),options:o,config:t,readable:s,writable:c},e);u||n.assign(e,{reader:s.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:r})}})}return e.interface}let $t=!0,en=!0;function tn(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{const{value:n,readable:i,writable:a}=e,s=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,s.push(e.value)),r&&en?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch(n){en=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let nn=[];const rn=[];let an=0;async function sn(e,t){const{options:n,config:i}=t,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=n,{workerScripts:f,maxWorkers:p}=i;t.transferStreams=a||a===Fe;const w=!(c||d||u||t.transferStreams);return t.useWebWorkers=!w&&(s||s===Fe&&i.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],n.useCompressionStream=o||o===Fe&&i.useCompressionStream,(await(async()=>{const n=nn.find(e=>!e.busy);if(n)return on(n),new Yt(n,e,t,_);if(nn.length<p){const n={indexWorker:an};return an++,nn.push(n),new Yt(n,e,t,_)}return new b(n=>rn.push({resolve:n,stream:e,workerOptions:t}))})()).run();function _(e){if(rn.length){const[{resolve:t,stream:n,workerOptions:i}]=rn.splice(0,1);t(new Yt(e,n,i,_))}else e.worker?(on(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:i}=n;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{nn=nn.filter(t=>t!=e);try{await e.terminate()}catch(e){}},i))})(e,t)):nn=nn.filter(t=>t!=e)}}function on(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const ln="HTTP error ",cn="HTTP Range not supported",dn="Writer iterator completed too soon",un="Writer not initialized",fn="Range",pn="GET",wn="bytes",_n=65536,hn="writable";class mn{constructor(){this.size=0}init(){this.initialized=!0}}class bn extends mn{get readable(){const e=this,{chunkSize:t=_n}=e,n=new v({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this,c=a===Fe?t:s.min(t,a-l),d=await Hn(e,r+l,c,o);i.enqueue(d),l+t>a||a===Fe&&!d.length&&c?i.close():this.chunkOffset+=t}});return n}}class gn extends mn{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new f(un);return e.writeUint8Array(t)}});n.defineProperty(e,hn,{get:()=>t})}writeUint8Array(){}}class xn extends bn{constructor(e){super(),n.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||i<n.size?n.blob.slice(e,i):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,i)),new p(a)}}class yn extends mn{constructor(e){super();const t=new k,i=[];e&&i.push(["Content-Type",e]),n.defineProperty(this,hn,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:i}).blob()}getData(){return this.blob}}class Sn extends bn{constructor(e,t){super(),kn(this,e,t)}async init(){await vn(this,Nn,Rn),super.init()}readUint8Array(e,t){return En(this,e,t,Nn,Rn)}}class zn extends bn{constructor(e,t){super(),kn(this,e,t)}async init(){await vn(this,Un,Tn),super.init()}readUint8Array(e,t){return En(this,e,t,Un,Tn)}}function kn(e,t,i){const{preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o}=i;delete(i=n.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,n.assign(e,{url:t,options:i,preventHeadRequest:r,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o})}async function vn(e,t,n){const{url:i,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=Ue(),{protocol:n}=new u(e,t);return"http:"==n||"https:"==n})(i)&&(s||o)&&(void 0===a||a)){const i=await t(pn,e,Fn(e,l?-22:void 0));if(!o&&i.headers.get("Accept-Ranges")!=wn)throw new f(cn);{let a;l&&(e.eocdCache=new p(await i.arrayBuffer()));const s=i.headers.get("Content-Range");if(s){const e=s.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=r(t))}}a===Fe?await Cn(e,t,n):e.size=a}}else await Cn(e,t,n)}async function En(e,t,n,i,r){const{useRangeHeader:a,forceRangeRequests:s,eocdCache:o,size:l,options:c}=e;if(a||s){if(o&&t==l-ye&&n==ye)return o;const r=await i(pn,e,Fn(e,t,n));if(206!=r.status)throw new f(cn);return new p(await r.arrayBuffer())}{const{data:i}=e;return i||await r(e,c),new p(e.data.subarray(t,t+n))}}function Fn(e,t=0,i=1){return n.assign({},Dn(e),{[fn]:wn+"="+(0>t?t:t+"-"+(t+i-1))})}function Dn({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?n.fromEntries(t):t}async function Rn(e){await An(e,Nn)}async function Tn(e){await An(e,Un)}async function An(e,t){const n=await t(pn,e,Dn(e));e.data=new p(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function Cn(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const i=(await t("HEAD",e,Dn(e))).headers.get("Content-Length");i?e.size=r(i):await n(e,e.options)}}async function Nn(e,{options:t,url:i},r){const a=await fetch(i,n.assign({},t,{method:e,headers:r}));if(400>a.status)return a;throw 416==a.status?new f(cn):new f(ln+(a.statusText||a.status))}function Un(e,{url:t},i){return new b((r,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const e=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),r({status:s.status,arrayBuffer:()=>s.response,headers:new l(e)})}else a(416==s.status?new f(cn):new f(ln+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),s.open(e,t),i)for(const e of n.entries(i))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class Wn extends bn{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR?new zn(e,t):new Sn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class In extends bn{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await b.all(t.map(async(n,i)=>{await n.init(),i!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size})),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let a,o=n;-1==o&&(o=r.length-1);let l=e;for(;r[o]&&l>=r[o].size;)l-=r[o].size,o++;const c=r[o];if(c){const r=c.size;if(l+t>r){const s=r-l;a=new p(t);const o=await Hn(c,l,s);a.set(o,0);const d=await i.readUint8Array(e+s,t-s,n);a.set(d,s),o.length+d.length<t&&(a=a.subarray(0,o.length+d.length))}else a=await Hn(c,l,t)}else a=new p;return i.lastDiskNumber=s.max(o,i.lastDiskNumber),a}}class Ln extends mn{constructor(e,t=4294967295){super();const i=this;let r,a,s;n.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:n}=i;if(s)t.length<n?await l(t):(await l(t.subarray(0,n)),await c(),i.diskOffset+=r.size,i.diskNumber++,s=null,await this.write(t.subarray(n)));else{const{value:n,done:o}=await e.next();if(o&&!n)throw new f(dn);r=n,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await Pn(r),a=n.writable,s=a.getWriter(),await this.write(t)}},async close(){await s.ready,await c()}});async function l(e){const t=e.length;t&&(await s.ready,await s.write(e),r.size+=t,i.size+=t,i.availableSize-=t)}async function c(){await s.close()}n.defineProperty(i,hn,{get:()=>o})}}class On{constructor(e){return t.isArray(e)&&(e=new In(e)),e instanceof v&&(e={readable:e}),e}}class Mn{constructor(e){return e.writable===Fe&&typeof e.next==Re&&(e=new Ln(e)),e instanceof E&&(e={writable:e}),e.size===Fe&&(e.size=0),e instanceof Ln||n.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}}async function Pn(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}function Hn(e,t,n,i){return e.readUint8Array(t,n,i)}const Vn=In,Bn=Ln,Zn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function qn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Zn[e[n]];return t}})(e):new x(t).decode(e)}const Kn="filename",Gn="rawFilename",Yn="comment",Xn="rawComment",jn="uncompressedSize",Jn="compressedSize",Qn="offset",$n="diskNumberStart",ei="lastModDate",ti="rawLastModDate",ni="lastAccessDate",ii="creationDate",ri="internalFileAttribute",ai="internalFileAttributes",si="externalFileAttribute",oi="externalFileAttributes",li="msDosCompatible",ci="zip64",di="encrypted",ui="version",fi="versionMadeBy",pi="zipCrypto",wi="directory",_i="executable",hi=[Kn,Gn,Jn,jn,ei,ti,Yn,Xn,ni,ii,Qn,$n,$n,ri,ai,si,oi,li,ci,di,ui,fi,pi,wi,_i,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class mi{constructor(e){hi.forEach(t=>this[t]=e[t])}}const bi="File format is not recognized",gi="End of central directory not found",xi="End of Zip64 central directory locator not found",yi="Central directory header not found",Si="Local file header not found",zi="Zip64 extra field not found",ki="File contains encrypted entry",vi="Encryption method not supported",Ei="Compression method not supported",Fi="Split zip file",Di="utf-8",Ri="cp437",Ti=[[jn,fe],[Jn,fe],[Qn,fe],[$n,pe]],Ai={[pe]:{getValue:Vi,bytes:4},[fe]:{getValue:Bi,bytes:8}};class Ci{constructor(e,t={}){n.assign(this,{reader:new On(e),options:t,config:Ue()})}async*getEntriesGenerator(e={}){const t=this;let{reader:i}=t;const{config:r}=t;if(await Pn(i),i.size!==Fe&&i.readUint8Array||(i=new xn(await new d(i.readable).blob()),await Pn(i)),i.size<ye)throw new f(bi);i.chunkSize=We(r);const a=await(async(e,t,n)=>{const i=new p(4);var r;return r=t,Zi(i).setUint32(0,r,!0),await a(22)||await a(s.min(1048582,n));async function a(t){const r=n-t,a=await Hn(e,r,t);for(let e=a.length-22;e>=0;e--)if(a[e]==i[0]&&a[e+1]==i[1]&&a[e+2]==i[2]&&a[e+3]==i[3])return{offset:r+e,buffer:a.slice(e,e+22).buffer}}})(i,be,i.size);if(!a)throw Vi(Zi(await Hn(i,0,4)))==_e?new f(Fi):new f(gi);const o=Zi(a);let l=Vi(o,12),c=Vi(o,16);const u=a.offset,w=Hi(o,20),_=u+ye+w;let h=Hi(o,4);const m=i.lastDiskNumber||0;let g=Hi(o,6),x=Hi(o,8),y=0,S=0;if(c==fe||l==fe||x==pe||g==pe){const e=Zi(await Hn(i,a.offset-20,20));if(Vi(e,0)==xe){c=Bi(e,8);let t=await Hn(i,c,56,-1),n=Zi(t);const r=a.offset-20-56;if(Vi(n,0)!=ge&&c!=r){const e=c;c=r,y=c-e,t=await Hn(i,c,56,-1),n=Zi(t)}if(Vi(n,0)!=ge)throw new f(xi);h==pe&&(h=Vi(n,16)),g==pe&&(g=Vi(n,20)),x==pe&&(x=Bi(n,32)),l==fe&&(l=Bi(n,40)),c-=l}}if(c<i.size||(y=i.size-c-l-ye,c=i.size-l-ye),m!=h)throw new f(Fi);if(0>c)throw new f(bi);let z=0,v=await Hn(i,c,l,g),E=Zi(v);if(l){const e=a.offset-l;if(Vi(E,z)!=me&&c!=e){const t=c;c=e,y+=c-t,v=await Hn(i,c,l,g),E=Zi(v)}}const F=a.offset-c-(i.lastDiskOffset||0);if(l==F||0>F||(l=F,v=await Hn(i,c,l,g),E=Zi(v)),0>c||c>=i.size)throw new f(bi);const D=Li(t,e,"filenameEncoding"),R=Li(t,e,"commentEncoding");for(let a=0;x>a;a++){const o=new Ni(i,r,t.options);if(Vi(E,z)!=me)throw new f(yi);Ui(o,E,z+6);const l=!!o.bitFlag.languageEncodingFlag,c=z+46,u=c+o.filenameLength,p=u+o.extraFieldLength,w=Hi(E,z+4),_=!(w>>8),h=w>>8==3,m=v.subarray(c,u),g=Hi(E,z+32),F=p+g,T=v.subarray(p,F),A=l,C=l,N=Vi(E,z+38),U=_&&!(16&~Pi(E,z+38))||h&&16384==(N>>16&61440)||m.length&&47==m[m.length-1],W=h&&!!(N>>16&73),I=Vi(E,z+42)+y;n.assign(o,{versionMadeBy:w,msDosCompatible:_,compressedSize:0,uncompressedSize:0,commentLength:g,directory:U,offset:I,diskNumberStart:Hi(E,z+34),internalFileAttributes:Hi(E,z+36),externalFileAttributes:N,rawFilename:m,filenameUTF8:A,commentUTF8:C,rawExtraField:v.subarray(u,p),executable:W}),o.internalFileAttribute=o.internalFileAttributes,o.externalFileAttribute=o.externalFileAttributes;const L=Li(t,e,"decodeText")||qn,O=A?Di:D||Ri,M=C?Di:R||Ri;let P=L(m,O);P===Fe&&(P=qn(m,O));let H=L(T,M);H===Fe&&(H=qn(T,M)),n.assign(o,{rawComment:T,filename:P,comment:H,directory:U||P.endsWith(ke)}),S=s.max(I,S),Wi(o,o,E,z+6),o.zipCrypto=o.encrypted&&!o.extraFieldAES;const V=new mi(o);V.getData=(e,t)=>o.getData(e,V,t),V.arrayBuffer=async e=>{const t=new k,[n]=await b.all([new d(t.readable).arrayBuffer(),o.getData(t,V,e)]);return n},z=F;const{onprogress:B}=e;if(B)try{await B(a+1,x,new mi(o))}catch(e){}yield V}const T=Li(t,e,"extractPrependedData"),A=Li(t,e,"extractAppendedData");return T&&(t.prependedData=S>0?await Hn(i,0,S):new p),t.comment=w?await Hn(i,u+ye,w):new p,A&&(t.appendedData=_<i.size?await Hn(i,_,i.size-_):new p),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class Ni{constructor(e,t,i){n.assign(this,{reader:e,config:t,options:i})}async getData(e,t,i={}){const r=this,{reader:a,offset:s,diskNumberStart:o,extraFieldAES:l,compressionMethod:c,config:d,bitFlag:u,signature:w,rawLastModDate:_,uncompressedSize:h,compressedSize:m}=r,b=t.localDirectory={},g=Zi(await Hn(a,s,34,o));let x=Li(r,i,"password"),y=Li(r,i,"rawPassword");const S=Li(r,i,"passThrough");if(x=x&&x.length&&x,y=y&&y.length&&y,l&&99!=l.originalCompressionMethod)throw new f(Ei);if(0!=c&&8!=c&&!S)throw new f(Ei);if(Vi(g,0)!=we)throw new f(Si);Ui(b,g,4),b.rawExtraField=b.extraFieldLength?await Hn(a,s+30+b.filenameLength,b.extraFieldLength,o):new p,Wi(r,b,g,4,!0),n.assign(t,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});const z=r.encrypted&&b.encrypted&&!S,k=z&&!l;if(S||(t.zipCrypto=k),z){if(!k&&l.strength===Fe)throw new f(vi);if(!x&&!y)throw new f(ki)}const v=s+30+b.filenameLength+b.extraFieldLength,F=m,D=a.readable;n.assign(D,{diskNumberStart:o,offset:v,size:F});const R=Li(r,i,"signal"),T=Li(r,i,"checkPasswordOnly");T&&(e=new E),e=new Mn(e),await Pn(e,S?m:h);const{writable:A}=e,{onstart:C,onprogress:N,onend:U}=i,W={options:{codecType:Zt,password:x,rawPassword:y,zipCrypto:k,encryptionStrength:l&&l.strength,signed:Li(r,i,"checkSignature")&&!S,passwordVerification:k&&(u.dataDescriptor?_>>>8&255:w>>>24&255),signature:w,compressed:0!=c&&!S,encrypted:r.encrypted&&!S,useWebWorkers:Li(r,i,"useWebWorkers"),useCompressionStream:Li(r,i,"useCompressionStream"),transferStreams:Li(r,i,"transferStreams"),checkPasswordOnly:T},config:d,streamOptions:{signal:R,size:F,onstart:C,onprogress:N,onend:U}};try{const{outputSize:t}=await sn({readable:D,writable:A},W);e.size+=t}catch(t){if(t.outputSize!==Fe&&(e.size+=t.outputSize),!T||t.message!=je)throw t}finally{Li(r,i,"preventClose")||A.locked||await A.getWriter().close()}return T?Fe:e.getData?e.getData():A}}function Ui(e,t,i){const r=e.rawBitFlag=Hi(t,i+2),a=!(1&~r),s=Vi(t,i+6);n.assign(e,{encrypted:a,version:Hi(t,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&ze)==ze},rawLastModDate:s,lastModDate:Oi(s),filenameLength:Hi(t,i+22),extraFieldLength:Hi(t,i+24)})}function Wi(e,t,i,r,a){const{rawExtraField:s}=t,c=t.extraField=new l,d=Zi(new p(s));let u=0;try{for(;u<s.length;){const e=Hi(d,u),t=Hi(d,u+2);c.set(e,{type:e,data:s.slice(u+4,u+4+t)}),u+=4+t}}catch(e){}const w=Hi(i,r+4);n.assign(t,{signature:Vi(i,r+10),compressedSize:Vi(i,r+14),uncompressedSize:Vi(i,r+18)});const _=c.get(1);_&&(((e,t)=>{t.zip64=!0;const n=Zi(e.data),i=Ti.filter(([e,n])=>t[e]==n);for(let r=0,a=0;r<i.length;r++){const[s,o]=i[r];if(t[s]==o){const i=Ai[o];t[s]=e[s]=i.getValue(n,a),a+=i.bytes}else if(e[s])throw new f(zi)}})(_,t),t.extraFieldZip64=_);const h=c.get(28789);h&&(Ii(h,Kn,Gn,t,e),t.extraFieldUnicodePath=h);const m=c.get(25461);m&&(Ii(m,Yn,Xn,t,e),t.extraFieldUnicodeComment=m);const b=c.get(39169);b?(((e,t,i)=>{const r=Zi(e.data),a=Pi(r,4);n.assign(e,{vendorVersion:Pi(r,0),vendorId:Pi(r,2),strength:a,originalCompressionMethod:i,compressionMethod:Hi(r,5)}),t.compressionMethod=e.compressionMethod})(b,t,w),t.extraFieldAES=b):t.compressionMethod=w;const g=c.get(10);g&&(((e,t)=>{const i=Zi(e.data);let r,a=4;try{for(;a<e.data.length&&!r;){const t=Hi(i,a),n=Hi(i,a+2);1==t&&(r=e.data.slice(a+4,a+4+n)),a+=4+n}}catch(e){}try{if(r&&24==r.length){const i=Zi(r),a=i.getBigUint64(0,!0),s=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const l={lastModDate:Mi(a),lastAccessDate:Mi(s),creationDate:Mi(o)};n.assign(e,l),n.assign(t,l)}}catch(e){}})(g,t),t.extraFieldNTFS=g);const x=c.get(Se);x&&(((e,t,n)=>{const i=Zi(e.data),r=Pi(i,0),a=[],s=[];n?(1&~r||(a.push(ei),s.push(ti)),2&~r||(a.push(ni),s.push("rawLastAccessDate")),4&~r||(a.push(ii),s.push("rawCreationDate"))):5>e.data.length||(a.push(ei),s.push(ti));let l=1;a.forEach((n,r)=>{if(e.data.length>=l+4){const a=Vi(i,l);t[n]=e[n]=new o(1e3*a);const c=s[r];e[c]=a}l+=4})})(x,t,a),t.extraFieldExtendedTimestamp=x);const y=c.get(6534);y&&(t.extraFieldUSDZ=y)}function Ii(e,t,i,r,a){const s=Zi(e.data),o=new Me;o.append(a[i]);const l=Zi(new p(4));l.setUint32(0,o.get(),!0);const c=Vi(s,1);n.assign(e,{version:Pi(s,0),[t]:qn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Vi(l,0)}),e.valid&&(r[t]=e[t],r[t+"UTF8"]=!0)}function Li(e,t,n){return t[n]===Fe?e.options[n]:t[n]}function Oi(e){const t=(4294901760&e)>>16,n=65535&e;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function Mi(e){return new o(r(e/a(1e4)-a(116444736e5)))}function Pi(e,t){return e.getUint8(t)}function Hi(e,t){return e.getUint16(t,!0)}function Vi(e,t){return e.getUint32(t,!0)}function Bi(e,t){return r(e.getBigUint64(t,!0))}function Zi(e){return new h(e.buffer)}const qi="File already exists",Ki="Zip file comment exceeds 64KB",Gi="File entry comment exceeds 64KB",Yi="File entry name exceeds 64KB",Xi="Version exceeds 65535",ji="The strength must equal 1, 2, or 3",Ji="Extra field type exceeds 65535",Qi="Extra field data exceeds 64KB",$i="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",er="Undefined uncompressed size",tr="Zip file not empty",nr=new p([7,0,2,0,65,69,3,0,0]);let ir=0;const rr=[];class ar{constructor(e,t={}){const i=(e=new Mn(e)).availableSize!==Fe&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==Fe&&e.maxSize>0&&e.maxSize!==1/0;n.assign(this,{writer:e,addSplitZipSignature:i,options:t,config:Ue(),files:new l,filenames:new c,offset:t.offset===Fe?e.size||e.writable.size||0:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async prependZip(e){if(this.filenames.size)throw new f(tr);({reader:e}=new On(e));const[t,i]=e.readable.tee(),r=new Ci(new v({async start(e){const n=t.getReader();await async function t(){const{done:i,value:r}=await n.read();i?e.close():(e.enqueue(r),await t())}()}})),a=await r.getEntries();await r.close(),await i.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new c(a.map(e=>e.filename)),this.files=new l(a.map(e=>{const{version:t,compressionMethod:i,lastModDate:r,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:l,encrypted:c,uncompressedSize:d,compressedSize:u,diskOffset:f,diskNumber:w,zip64:_}=e;let{rawExtraFieldZip64:h,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:b,rawExtraFieldNTFS:g,rawExtraField:x}=e;const{level:y,languageEncodingFlag:S,dataDescriptor:z}=l;h=h||new p,m=m||new p,b=b||new p,g=g||new p,x=x||new p;const k=mr(h,m,b,g,x),v=_&&d>fe,E=_&&u>fe,{headerArray:F,headerView:D}=br({version:t,bitFlag:gr(y,S,z,c),compressionMethod:i,uncompressedSize:d,compressedSize:u,lastModDate:r,rawFilename:o,zip64CompressedSize:E,zip64UncompressedSize:v,extraFieldLength:k});return n.assign(e,{zip64UncompressedSize:v,zip64CompressedSize:E,zip64Offset:_&&this.offset-f>fe,zip64DiskNumberStart:_&&w>pe,rawExtraFieldZip64:h,rawExtraFieldAES:m,rawExtraFieldExtendedTimestamp:b,rawExtraFieldNTFS:g,rawExtraField:x,extendedTimestamp:b.length>0||g.length>0,extraFieldExtendedTimestampFlag:1+(a?2:0)+(s?4:0),headerArray:F,headerView:D}),[e.filename,e]}))}async add(e="",i,r={}){const l=this,{pendingAddFileCalls:c,config:u}=l;let _;ir<u.maxWorkers?ir++:await new b(e=>rr.push(e));try{if(e=e.trim(),l.filenames.has(e))throw new f(qi);return l.filenames.add(e),_=(async(e,i,r,l)=>{i=i.trim();const c=cr(e,l,li),u=cr(e,l,fi,c?20:768),_=cr(e,l,_i);if(u>pe)throw new f(Xi);let h=cr(e,l,oi,0);0===h&&(h=cr(e,l,si,0)),!l.directory&&i.endsWith(ke)&&(l.directory=!0),cr(e,l,wi)?(i.endsWith(ke)||(i+=ke),0===h&&(h=16,c||(h|=16877<<16))):c||0!==h||(h=_?493<<16:27525120);const m=cr(e,l,"encodeText",He);let g=m(i);if(g===Fe&&(g=He(i)),mr(g)>pe)throw new f(Yi);const x=l.comment||"";let y=m(x);if(y===Fe&&(y=He(x)),mr(y)>pe)throw new f(Gi);const S=cr(e,l,ui,20);if(S>pe)throw new f(Xi);const z=cr(e,l,ei,new o),v=cr(e,l,ni),E=cr(e,l,ii);let F=cr(e,l,ai,0);0===F&&(F=cr(e,l,ri,0));const D=cr(e,l,"passThrough");let R,T;D||(R=cr(e,l,"password"),T=cr(e,l,"rawPassword"));const A=cr(e,l,"encryptionStrength",3),C=cr(e,l,pi),N=cr(e,l,"extendedTimestamp",!0),U=cr(e,l,"keepOrder",!0),W=cr(e,l,"level"),I=cr(e,l,"useWebWorkers"),L=cr(e,l,"bufferedWrite"),O=cr(e,l,"dataDescriptorSignature",!1),M=cr(e,l,"signal"),P=cr(e,l,"useUnicodeFileNames",!0),H=cr(e,l,"useCompressionStream"),V=cr(e,l,"compressionMethod");let B=cr(e,l,"dataDescriptor");L&&B===Fe&&(B=!1),(B===Fe||C)&&(B=!0);let Z=cr(e,l,ci);if(!C&&(R!==Fe||T!==Fe)&&(1>A||A>3))throw new f(ji);let q=new p;const{extraField:K}=l;if(K){let e=0,t=0;K.forEach(t=>e+=4+mr(t)),q=new p(e),K.forEach((e,n)=>{if(n>pe)throw new f(Ji);if(mr(e)>pe)throw new f(Qi);_r(q,new w([n]),t),_r(q,new w([mr(e)]),t+2),_r(q,e,t+4),t+=4+mr(e)})}let G=0,Y=0,X=0;if(D&&(({uncompressedSize:X}=l),X===Fe))throw new f(er);const j=!0===Z;r&&(r=new On(r),await Pn(r),D?(l.uncompressedSize=X,G=dr(X)):r.size===Fe?(B=!0,(Z||Z===Fe)&&(Z=!0,X=G=4294967296)):(l.uncompressedSize=X=r.size,G=dr(X)));const{diskOffset:J,diskNumber:Q,maxSize:$}=e.writer,ee=j||X>fe,te=j||G>fe,ne=j||e.offset+e.pendingEntriesSize-J>fe,ie=cr(e,l,"supportZip64SplitFile",!0)&&j||Q+s.ceil(e.pendingEntriesSize/$)>pe;if(ne||ee||te||ie){if(!1===Z||!U)throw new f($i);Z=!0}Z=Z||!1;const re=cr(e,l,di),{signature:ae}=l,se=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:r,level:o,zip64:l,zipCrypto:c,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,encryptionStrength:_,extendedTimestamp:h,passThrough:m,encrypted:b,zip64UncompressedSize:g,zip64CompressedSize:x,zip64Offset:y,zip64DiskNumberStart:S,uncompressedSize:z,offset:k,diskNumberStart:v}=e;let{version:E,compressionMethod:F}=e;const D=!f&&(o>0||o===Fe&&0!==F);let R;const T=m||!D,A=l&&(e.bufferedWrite||!g&&!x||T);if(l){let e=4;g&&(e+=8),x&&(e+=8),y&&(e+=8),S&&(e+=4),R=new p(e);const t=hr(R);if(fr(t,0,1),fr(t,2,mr(R)-4),A){const e=hr(R);let t=4;g&&(wr(e,t,a(z)),t+=8),x&&T&&(wr(e,t,a(z)),t+=8),y&&(wr(e,t,a(k)),t+=8),S&&(pr(e,t,v),t+=4)}}else R=new p;let C,N,U,W;if(b&&!c){C=new p(mr(nr)+2);const e=hr(C);fr(e,0,39169),_r(C,nr,2),ur(e,8,_)}else C=new p;if(h){U=new p(9+(i?4:0)+(r?4:0));const e=hr(U);fr(e,0,Se),fr(e,2,mr(U)-4),W=1+(i?2:0)+(r?4:0),ur(e,4,W);let t=5;pr(e,t,s.floor(n.getTime()/1e3)),t+=4,i&&(pr(e,t,s.floor(i.getTime()/1e3)),t+=4),r&&pr(e,t,s.floor(r.getTime()/1e3));try{N=new p(36);const e=hr(N),t=lr(n);fr(e,0,10),fr(e,2,32),fr(e,8,1),fr(e,10,24),wr(e,12,t),wr(e,20,lr(i)||t),wr(e,28,lr(r)||t)}catch(e){N=new p}}else N=U=new p;F===Fe&&(F=D?8:0),l&&(E=E>45?E:45),b&&!c&&(E=E>51?E:51,C[9]=F,F=99);const I=A?mr(R):0,L=I+mr(C,U,N,w),{headerArray:O,headerView:M,rawLastModDate:P}=br({version:E,bitFlag:gr(o,d,u,b),compressionMethod:F,uncompressedSize:z,lastModDate:Ee>n?Ee:n>ve?ve:n,rawFilename:t,zip64CompressedSize:x,zip64UncompressedSize:g,extraFieldLength:L});let H=30;const V=new p(H+mr(t)+L),B=hr(V);return pr(B,0,we),_r(V,O,4),_r(V,t,H),H+=mr(t),A&&_r(V,R,H),H+=I,_r(V,C,H),H+=mr(C),_r(V,U,H),H+=mr(U),_r(V,N,H),H+=mr(N),_r(V,w,H),{localHeaderArray:V,localHeaderView:B,headerArray:O,headerView:M,lastModDate:n,rawLastModDate:P,encrypted:b,compressed:D,version:E,compressionMethod:F,extraFieldExtendedTimestampFlag:W,rawExtraFieldZip64:R,localExtraFieldZip64Length:I,rawExtraFieldExtendedTimestamp:U,rawExtraFieldNTFS:N,rawExtraFieldAES:C,extraFieldLength:L}})(l=n.assign({},l,{rawFilename:g,rawComment:y,version:S,versionMadeBy:u,lastModDate:z,lastAccessDate:v,creationDate:E,rawExtraField:q,zip64:Z,zip64UncompressedSize:ee,zip64CompressedSize:te,zip64Offset:ne,zip64DiskNumberStart:ie,password:R,rawPassword:T,level:H||e.config.CompressionStream!==Fe||e.config.CompressionStreamNative!==Fe?W:0,useWebWorkers:I,encryptionStrength:A,extendedTimestamp:N,zipCrypto:C,bufferedWrite:L,keepOrder:U,useUnicodeFileNames:P,dataDescriptor:B,dataDescriptorSignature:O,signal:M,msDosCompatible:c,internalFileAttribute:F,internalFileAttributes:F,externalFileAttribute:h,externalFileAttributes:h,useCompressionStream:H,passThrough:D,encrypted:!!(R&&mr(R)||T&&mr(T))||D&&re,signature:ae,compressionMethod:V,uncompressedSize:X,offset:e.offset-J,diskNumberStart:Q})),oe=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let i,r=new p,a=0;return t&&(r=new p(e?n?24:20:n?16:12),i=hr(r),n&&(a=4,pr(i,0,he))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:a}})(l),le=mr(se.localHeaderArray,oe.dataDescriptorArray);let ce;Y=le+G,e.options.usdz&&(Y+=Y+64),e.pendingEntriesSize+=Y;try{ce=await(async(e,i,r,s,o)=>{const{files:l,writer:c}=e,{keepOrder:u,dataDescriptor:w,signal:_}=o,{headerInfo:h}=s,{usdz:m}=e.options,g=t.from(l.values()).pop();let x,y,S,z,v,E,F,D={};l.set(i,D);try{let t;u&&(t=g&&g.lock,D.lock=new b(e=>S=e)),!(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&u)&&w||m?(E=c,await R()):(E=new k,E.size=0,x=!0,e.bufferedWrites++,await Pn(c)),await Pn(E);const{writable:y,diskOffset:A}=c;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);pr(hr(t),0,_e),await or(c,t),e.offset+=4}m&&((e,t)=>{const{headerInfo:n}=e;let{localHeaderArray:i,extraFieldLength:r}=n,a=hr(i),s=64-(t+mr(i))%64;4>s&&(s+=64);const o=new p(s),l=hr(o);fr(l,0,6534),fr(l,2,s-2);const c=i;n.localHeaderArray=i=new p(mr(c)+s),_r(i,c),_r(i,o,mr(c)),a=hr(i),fr(a,28,r+s),e.metadataSize+=s})(s,e.offset-A);const{localHeaderView:C,localHeaderArray:N}=h;x||(await t,await T(y));const{diskNumber:U}=c;v=!0,D.diskNumberStart=U,x?F=new d(E.readable).blob():await or(E,N),D=await(async(e,t,{diskNumberStart:i,lock:r},s,o,l)=>{const{headerInfo:c,dataDescriptorInfo:d,metadataSize:u}=s,{headerArray:f,headerView:p,lastModDate:w,rawLastModDate:_,encrypted:h,compressed:m,version:b,compressionMethod:g,rawExtraFieldZip64:x,localExtraFieldZip64Length:y,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:z,rawExtraFieldNTFS:k,rawExtraFieldAES:v}=c,{dataDescriptorArray:E}=d,{rawFilename:F,lastAccessDate:D,creationDate:R,password:T,rawPassword:A,level:C,zip64:N,zip64UncompressedSize:U,zip64CompressedSize:W,zip64Offset:I,zip64DiskNumberStart:L,zipCrypto:O,dataDescriptor:M,directory:P,executable:H,versionMadeBy:V,rawComment:B,rawExtraField:Z,useWebWorkers:q,onstart:K,onprogress:G,onend:Y,signal:X,encryptionStrength:j,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,useCompressionStream:te,passThrough:ne}=l,ie={lock:r,versionMadeBy:V,zip64:N,directory:!!P,executable:!!H,filenameUTF8:!0,rawFilename:F,commentUTF8:!0,rawComment:B,rawExtraFieldZip64:x,localExtraFieldZip64Length:y,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:k,rawExtraFieldAES:v,rawExtraField:Z,extendedTimestamp:J,msDosCompatible:Q,internalFileAttributes:$,externalFileAttributes:ee,diskNumberStart:i};let{signature:re,uncompressedSize:ae}=l,se=0;ne||(ae=0);const{writable:oe}=t;if(e){e.chunkSize=We(o);const n=e.readable,i=e.size,r={options:{codecType:Bt,level:C,rawPassword:A,password:T,encryptionStrength:j,zipCrypto:h&&O,passwordVerification:h&&O&&_>>8&255,signed:!ne,compressed:m&&!ne,encrypted:h&&!ne,useWebWorkers:q,useCompressionStream:te,transferStreams:!1},config:o,streamOptions:{signal:X,size:i,onstart:K,onprogress:G,onend:Y}};try{const e=await sn({readable:n,writable:oe},r);se=e.outputSize,t.size+=se,ne||(ae=e.inputSize,re=e.signature)}catch(e){throw e.outputSize!==Fe&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:n,headerInfo:i,dataDescriptorInfo:r},{zip64:s,zipCrypto:o,dataDescriptor:l})=>{const{headerView:c,encrypted:d}=i,{dataDescriptorView:u,dataDescriptorOffset:f}=r;d&&!o||e===Fe||(pr(c,10,e),l&&pr(u,f,e)),s?l&&(wr(u,f+4,a(t)),wr(u,f+12,a(n))):(pr(c,14,t),pr(c,18,n),l&&(pr(u,f+4,t),pr(u,f+8,n)))})({signature:re,compressedSize:se,uncompressedSize:ae,headerInfo:c,dataDescriptorInfo:d},l),M&&await or(t,E),n.assign(ie,{uncompressedSize:ae,compressedSize:se,lastModDate:w,rawLastModDate:_,creationDate:R,lastAccessDate:D,encrypted:h,zipCrypto:O,size:u+se,compressionMethod:g,version:b,headerArray:f,headerView:p,signature:re,extraFieldExtendedTimestampFlag:z,zip64UncompressedSize:U,zip64CompressedSize:W,zip64Offset:I,zip64DiskNumberStart:L}),ie})(r,E,D,s,e.config,o);const{zip64:W}=D;if(v=!1,l.set(i,D),D.filename=i,x){const[n]=await b.all([F,E.writable.getWriter().close(),t]);await R(),z=!0,D.diskNumberStart=c.diskNumber,D.offset=e.offset-c.diskOffset,W&&sr(D),(({rawFilename:e,dataDescriptor:t,encrypted:n,zip64:i,localExtraFieldZip64Length:r,signature:s,compressedSize:o,uncompressedSize:l,offset:c,diskNumberStart:d,zip64UncompressedSize:u,zip64CompressedSize:f,zip64Offset:p,zip64DiskNumberStart:w},_)=>{if(t||(n||pr(_,14,s),i||(pr(_,18,o),pr(_,22,l))),i&&r){let t=30+mr(e)+4;u&&(wr(_,t,a(l)),t+=8),f&&(wr(_,t,a(o)),t+=8),p&&(wr(_,t,a(c)),t+=8),w&&pr(_,t,d)}})(D,C),await T(y),await or(c,N),await n.stream().pipeTo(y,{preventClose:!0,preventAbort:!0,signal:_}),c.size+=E.size,z=!1}else D.offset=e.offset-A,W&&sr(D);if(D.offset>fe&&!W)throw new f($i);return e.offset+=D.size,D}catch(t){if(x&&z||!x&&v){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}x?e.offset+=E.size:e.offset=E.size}throw l.delete(i),t}finally{x&&e.bufferedWrites--,S&&S(),y&&y()}async function R(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new b(t=>y=()=>{e.writerLocked=!1,t()}),await t}async function T(e){mr(h.localHeaderArray)>c.availableSize&&(c.availableSize=0,await or(e,new p))}})(e,i,r,{headerInfo:se,dataDescriptorInfo:oe,metadataSize:le},l)}finally{e.pendingEntriesSize-=Y}return n.assign(ce,{name:i,comment:x,extraField:K}),new mi(ce)})(l,e,i,r),c.add(_),await _}catch(t){throw l.filenames.delete(e),t}finally{c.delete(_);const e=rr.shift();e?e():ir--}}remove(e){const{filenames:t,files:n}=this;if("string"==typeof e&&(e=n.get(e)),e&&e.filename!==Fe){const{filename:i}=e;if(t.has(i)&&n.has(i))return t.delete(i),n.delete(i),!0}return!1}async close(e=new p,n={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:o}=r;for(;i.size;)await b.allSettled(t.from(i));return await(async(e,n,i)=>{const{files:r,writer:o}=e,{diskOffset:l}=o;let{diskNumber:c}=o,d=0,u=0,w=e.offset-l,_=r.size;for(const[,e]of r){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let f;if(l){f=new p(9);const e=hr(f);fr(e,0,Se),fr(e,2,5),ur(e,4,c),pr(e,5,s.floor(d.getTime()/1e3))}else f=new p;e.rawExtraFieldExtendedTimestamp=f,u+=46+mr(t,r,n,i,a,f,o)}const h=new p(u),m=hr(h);await Pn(o);let b=0;for(const[e,n]of t.from(r.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:s,rawExtraFieldAES:l,rawExtraFieldExtendedTimestamp:c,rawExtraFieldNTFS:u,rawExtraField:f,rawComment:p,versionMadeBy:w,headerArray:_,headerView:g,zip64:x,zip64UncompressedSize:y,zip64CompressedSize:S,zip64DiskNumberStart:z,zip64Offset:k,internalFileAttributes:v,externalFileAttributes:E,diskNumberStart:F,uncompressedSize:D,compressedSize:R}=n,T=mr(s,l,c,u,f);pr(m,d,me),fr(m,d+4,w),y||pr(g,18,D),S||pr(g,14,R),_r(h,_,d+6);let A=d+26+4;if(fr(m,A,T),A+=2,fr(m,A,mr(p)),A+=2,fr(m,A,x&&z?pe:F),A+=2,fr(m,A,v),A+=2,E&&pr(m,A,E),A+=4,pr(m,A,x&&k?fe:t),A+=4,_r(h,a,A),A+=mr(a),_r(h,s,A),A+=mr(s),_r(h,l,A),A+=mr(l),_r(h,c,A),A+=mr(c),_r(h,u,A),A+=mr(u),_r(h,f,A),A+=mr(f),_r(h,p,A),d-b>o.availableSize&&(o.availableSize=0,await or(o,h.slice(b,d)),b=d),d=A,i.onprogress)try{await i.onprogress(e+1,r.size,new mi(n))}catch(e){}}await or(o,b?h.slice(b):h);let g=o.diskNumber;const{availableSize:x}=o;ye>x&&g++;let y=cr(e,i,ci);if(w>fe||u>fe||_>pe||g>pe){if(!1===y)throw new f($i);y=!0}const S=new p(y?98:ye),z=hr(S);d=0,y&&(pr(z,0,ge),wr(z,4,a(44)),fr(z,12,45),fr(z,14,45),pr(z,16,g),pr(z,20,c),wr(z,24,a(_)),wr(z,32,a(_)),wr(z,40,a(u)),wr(z,48,a(w)),pr(z,56,xe),wr(z,64,a(w)+a(u)),pr(z,72,g+1),cr(e,i,"supportZip64SplitFile",!0)&&(g=pe,c=pe),_=pe,w=fe,u=fe,d+=76),pr(z,d,be),fr(z,d+4,g),fr(z,d+6,c),fr(z,d+8,_),fr(z,d+10,_),pr(z,d+12,u),pr(z,d+16,w);const k=mr(n);if(k){if(k>pe)throw new f(Ki);fr(z,d+20,k)}await or(o,S),k&&await or(o,n)})(this,e,n),cr(this,n,"preventClose")||await o.getWriter().close(),r.getData?r.getData():o}}function sr({compressedSize:e,uncompressedSize:t,offset:n,diskNumberStart:i,zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:o,zip64DiskNumberStart:l,rawExtraFieldZip64:c}){const d=hr(c);let u=4;r&&(wr(d,u,a(t)),u+=8),s&&(wr(d,u,a(e)),u+=8),o&&(wr(d,u,a(n)),u+=8),l&&pr(d,u,i)}async function or(e,t){const{writable:n}=e,i=n.getWriter();try{await i.ready,e.size+=mr(t),await i.write(t)}finally{i.releaseLock()}}function lr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function cr(e,t,n,i){const r=t[n]===Fe?e.options[n]:t[n];return r===Fe?i:r}function dr(e){return e+5*(s.floor(e/16383)+1)}function ur(e,t,n){e.setUint8(t,n)}function fr(e,t,n){e.setUint16(t,n,!0)}function pr(e,t,n){e.setUint32(t,n,!0)}function wr(e,t,n){e.setBigUint64(t,n,!0)}function _r(e,t,n){e.set(t,n)}function hr(e){return new h(e.buffer)}function mr(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function br({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:i,compressedSize:r,lastModDate:a,rawFilename:s,zip64CompressedSize:o,zip64UncompressedSize:l,extraFieldLength:c}){const d=new p(26),u=hr(d);fr(u,0,e),fr(u,2,t),fr(u,4,n);const f=new _(1),w=hr(f);fr(w,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),fr(w,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const h=f[0];return pr(u,6,h),(o||r!==Fe)&&pr(u,14,o?fe:r),(l||i!==Fe)&&pr(u,18,l?fe:i),fr(u,22,mr(s)),fr(u,24,c),{headerArray:d,headerView:u,rawLastModDate:h}}function gr(e,t,n,i){let r=0;return t&&(r|=ze),n&&(r|=8),e>0&&3>=e&&(r|=6),e>3&&5>=e&&(r|=4),9==e&&(r|=2),i&&(r|=1),r}Ie({Deflate:function(e){const t=new G,n=(i=e&&e.chunkSize?e.chunkSize:65536)+5*(s.floor(i/16383)+1);var i;const r=new p(n);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=r,this.append=(e,i)=>{let a,s,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new p(r)):d.push(r.subarray(0,t.next_out_index))),c+=t.next_out_index,i&&t.next_in_index>0&&t.next_in_index!=o&&(i(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(s=new p(c),d.forEach(e=>{s.set(e,l),l+=e.length})):s=d[0]?new p(d[0]):new p,s}},this.flush=()=>{let e,i,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);n-t.avail_out>0&&o.push(r.slice(0,t.next_out_index)),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),i=new p(s),o.forEach(e=>{i.set(e,a),a+=e.length}),i}},Inflate:function(e){const t=new ue,n=e&&e.chunkSize?s.floor(2*e.chunkSize):131072,i=new p(n);let r=!1;t.inflateInit(),t.next_out=i,this.append=(e,a)=>{const s=[];let o,l,c=0,d=0,u=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||r||(t.next_in_index=0,r=!0),o=t.inflate(0),r&&o===j){if(0!==t.avail_in)throw new f("inflating: bad input")}else if(0!==o&&1!==o)throw new f("inflating: "+t.msg);if((r||1===o)&&t.avail_in===e.length)throw new f("inflating: bad input");t.next_out_index&&(t.next_out_index===n?s.push(new p(i)):s.push(i.subarray(0,t.next_out_index))),u+=t.next_out_index,a&&t.next_in_index>0&&t.next_in_index!=c&&(a(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return s.length>1?(l=new p(u),s.forEach(e=>{l.set(e,d),d+=e.length})):l=s[0]?new p(s[0]):new p,l}},this.flush=()=>{t.inflateEnd()}}}),e.BlobReader=xn,e.BlobWriter=yn,e.Data64URIReader=class extends bn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const i=e.indexOf(",")+1;n.assign(this,{dataURI:e,dataStart:i,size:s.floor(.75*(t-i))})}readUint8Array(e,t){const{dataStart:n,dataURI:i}=this,r=new p(t),a=4*s.floor(e/3),o=atob(i.substring(a+n,4*s.ceil((e+t)/3)+n)),l=e-3*s.floor(a/4);let c=0;for(let e=l;l+t>e&&e<o.length;e++)r[e-l]=o.charCodeAt(e),c++;return c<r.length?r.subarray(0,c):r}},e.Data64URIWriter=class extends gn{constructor(e){super(),n.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let n=0,r=t.pending;const a=t.pending.length;for(t.pending="",n=0;n<3*s.floor((a+e.length)/3)-a;n++)r+=i.fromCharCode(e[n]);for(;n<e.length;n++)t.pending+=i.fromCharCode(e[n]);r.length>2?t.data+=z(r):t.pending=r}getData(){return this.data+z(this.pending)}},e.ERR_BAD_FORMAT=bi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=yi,e.ERR_DUPLICATED_NAME=qi,e.ERR_ENCRYPTED=ki,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=xi,e.ERR_EOCDR_NOT_FOUND=gi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=zi,e.ERR_HTTP_RANGE=cn,e.ERR_INVALID_COMMENT=Ki,e.ERR_INVALID_ENCRYPTION_STRENGTH=ji,e.ERR_INVALID_ENTRY_COMMENT=Gi,e.ERR_INVALID_ENTRY_NAME=Yi,e.ERR_INVALID_EXTRAFIELD_DATA=Qi,e.ERR_INVALID_EXTRAFIELD_TYPE=Ji,e.ERR_INVALID_PASSWORD=Ye,e.ERR_INVALID_SIGNATURE=Xe,e.ERR_INVALID_VERSION=Xi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=dn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Si,e.ERR_SPLIT_ZIP_FILE=Fi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=er,e.ERR_UNSUPPORTED_COMPRESSION=Ei,e.ERR_UNSUPPORTED_ENCRYPTION=vi,e.ERR_UNSUPPORTED_FORMAT=$i,e.ERR_WRITER_NOT_INITIALIZED=un,e.ERR_ZIP_NOT_EMPTY=tr,e.GenericReader=On,e.GenericWriter=Mn,e.HttpRangeReader=class extends Wn{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=Wn,e.Reader=bn,e.SplitDataReader=In,e.SplitDataWriter=Ln,e.SplitZipReader=Vn,e.SplitZipWriter=Bn,e.TextReader=class extends xn{constructor(e){super(new m([e],{type:"text/plain"}))}},e.TextWriter=class extends yn{constructor(e){super(e),n.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,i=await super.getData();if(i.text&&t)return i.text();{const t=new FileReader;return new b((r,a)=>{n.assign(t,{onload:({target:e})=>r(e.result),onerror:()=>a(t.error)}),t.readAsText(i,e)})}}},e.Uint8ArrayReader=class extends bn{constructor(e){super(),e=new p(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends gn{init(e=0){n.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const n=t.array;t.array=new p(n.length+e.length),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=gn,e.ZipReader=Ci,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:n}=new k,i=new Ci(t,e).getEntriesGenerator();this.readable=new v({async pull(e){const{done:t,value:n}=await i.next();if(t)return e.close();const r={...n,readable:(()=>{const{readable:e,writable:t}=new k;if(n.getData)return n.getData(t),e})()};delete r.getData,e.enqueue(r)}}),this.writable=n}},e.ZipWriter=ar,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new k;this.readable=t,this.zipWriter=new ar(n,e)}transform(e){const{readable:t,writable:n}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:n}}writable(e){const{readable:t,writable:n}=new k;return this.zipWriter.add(e,t),n}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=Ie,e.getMimeType=()=>"application/octet-stream",e.initStream=Pn,e.readUint8Array=Hn,e.terminateWorkers=async()=>{await b.allSettled(nn.map(e=>(on(e),e.terminate())))}});
|