@zip.js/zip.js
Advanced tools
Comparing version 2.7.56 to 2.7.57
{ | ||
"name": "@zip-js/zip-js", | ||
"version": "2.7.56", | ||
"version": "2.7.57", | ||
"exports": { | ||
@@ -5,0 +5,0 @@ ".": "./index.js", |
@@ -1,1 +0,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:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:m,Blob:g,Promise:_,TextEncoder:b,TextDecoder:y,document:x,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:R,DecompressionStream:D,navigator:T,Worker:F}="undefined"!=typeof globalThis?globalThis:this||self,A=-2;function C(e){return W(e.map((([e,r])=>new t(e).fill(r,0,e))))}function W(e){return e.reduce(((e,r)=>e.concat(t.isArray(r)?W(r):r)),[])}const N=[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 U(){const e=this;function t(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}e.build_tree=r=>{const n=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(r.heap_len=0,r.heap_max=573,o=0;a>o;o++)0!==n[2*o]?(r.heap[++r.heap_len]=d=o,r.depth[o]=0):n[2*o+1]=0;for(;2>r.heap_len;)c=r.heap[++r.heap_len]=2>d?++d:0,n[2*c]=1,r.depth[c]=0,r.opt_len--,s&&(r.static_len-=s[2*c+1]);for(e.max_code=d,o=i.floor(r.heap_len/2);o>=1;o--)r.pqdownheap(n,o);c=a;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(n,1),l=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=l,n[2*c]=n[2*o]+n[2*l],r.depth[c]=i.max(r.depth[o],r.depth[l])+1,n[2*o+1]=n[2*l+1]=c,r.heap[1]=c++,r.pqdownheap(n,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],(t=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=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(r[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)l=t.heap[o],d=r[2*r[2*l+1]+1]+1,d>i&&(d=i,p++),r[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=s[l-a]),f=r[2*l],t.opt_len+=f*(d+u),n&&(t.static_len+=f*(n[2*l+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(r[2*c+1]!=d&&(t.opt_len+=(d-r[2*c+1])*r[2*c],r[2*c+1]=d),l--)}})(r),((e,r,n)=>{const s=[];let a,i,o,l=0;for(a=1;15>=a;a++)s[a]=l=l+n[a-1]<<1;for(i=0;r>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(n,e.max_code,r.bl_count)}}function I(e,t,r,n,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=r,a.elems=n,a.max_length=s}U._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]])),U.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],U.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],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.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],U.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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.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=W([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 H(e,t,r,n,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=r,a.max_chain=n,a.func=s}I.static_dtree=W([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,U.extra_lbits,257,286,15),I.static_d_desc=new I(I.static_dtree,U.extra_dbits,0,30,15),I.static_bl_desc=new I(null,U.extra_blbits,0,19,7);const M=[new H(0,0,0,0,0),new H(4,4,8,4,1),new H(4,5,16,8,1),new H(4,6,32,32,1),new H(4,4,16,16,2),new H(8,16,32,32,2),new H(8,16,128,128,2),new H(8,32,128,256,2),new H(32,128,258,1024,2),new H(32,258,258,4096,2)],q=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],P=113,B=666,V=262;function Z(e,t,r,n){const s=e[2*t],a=e[2*r];return a>s||s==a&&n[t]<=n[r]}function K(){const e=this;let t,r,n,s,a,o,l,c,d,u,f,w,m,g,_,b,y,x,S,z,k,v,E,R,D,T,F,C,W,N,L,O,H;const K=new U,j=new U,X=new U;let Y,G,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++)H[2*t]=0;L[512]=1,e.opt_len=e.static_len=0,G=J=0}function re(e,t){let r,n=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)r=s,s=e[2*(l+1)+1],++a<i&&r==s||(o>a?H[2*r]+=a:0!==r?(r!=n&&H[2*r]++,H[32]++):a>10?H[36]++:H[34]++,a=0,n=r,0===s?(i=138,o=3):r==s?(i=6,o=3):(i=7,o=4))}function ne(t){e.pending_buf[e.pending++]=t}function se(e){ne(255&e),ne(e>>>8&255)}function ae(e,t){let r;const n=t;ee>16-n?(r=e,$|=r<<ee&65535,se($),$=r>>>16-ee,ee+=n-16):($|=e<<ee&65535,ee+=n)}function ie(e,t){const r=2*e;ae(65535&t[r],65535&t[r+1])}function oe(e,t){let r,n,s=-1,a=e[1],i=0,o=7,l=4;for(0===a&&(o=138,l=3),r=0;t>=r;r++)if(n=a,a=e[2*(r+1)+1],++i>=o||n!=a){if(l>i)do{ie(n,H)}while(0!=--i);else 0!==n?(n!=s&&(ie(n,H),i--),ie(16,H),ae(i-3,2)):i>10?(ie(18,H),ae(i-11,7)):(ie(17,H),ae(i-3,3));i=0,s=n,0===a?(o=138,l=3):n==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(se($),$=0,ee=0):8>ee||(ne(255&$),$>>>=8,ee-=8)}function ce(t,r){let n,s,a;if(e.dist_buf[G]=t,e.lc_buf[G]=255&r,G++,0===t?L[2*r]++:(J++,t--,L[2*(U._length_code[r]+256+1)]++,O[2*U.d_code(t)]++),!(8191&G)&&F>2){for(n=8*G,s=k-y,a=0;30>a;a++)n+=O[2*a]*(5+U.extra_dbits[a]);if(n>>>=3,J<i.floor(G/2)&&n<i.floor(s/2))return!0}return G==Y-1}function de(t,r){let n,s,a,i,o=0;if(0!==G)do{n=e.dist_buf[o],s=e.lc_buf[o],o++,0===n?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),n--,a=U.d_code(n),ie(a,r),i=U.extra_dbits[a],0!==i&&(n-=U.base_dist[a],ae(n,i)))}while(G>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&ne(255&$),$=0,ee=0}function fe(t,r,n){ae(0+(n?1:0),3),((t,r)=>{ue(),Q=8,se(r),se(~r),e.pending_buf.set(c.subarray(t,t+r),e.pending),e.pending+=r})(t,r)}function pe(r){((t,r,n)=>{let s,a,i=0;F>0?(K.build_tree(e),j.build_tree(e),i=(()=>{let t;for(re(L,K.max_code),re(O,j.max_code),X.build_tree(e),t=18;t>=3&&0===H[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=r+5,r+4>s||-1==t?a==s?(ae(2+(n?1:0),3),de(I.static_ltree,I.static_dtree)):(ae(4+(n?1:0),3),((e,t,r)=>{let n;for(ae(e-257,5),ae(t-1,5),ae(r-4,4),n=0;r>n;n++)ae(H[2*U.bl_order[n]+1],3);oe(L,e-1),oe(O,t-1)})(K.max_code+1,j.max_code+1,i+1),de(L,O)):fe(t,r,n),te(),n&&ue()})(0>y?-1:y,k-y,r),y=k,t.flush_pending()}function he(){let e,r,n,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-V){c.set(c.subarray(a,a+a),0),v-=a,k-=a,y-=a,e=m,n=e;do{r=65535&f[--n],f[n]=a>r?0:r-a}while(0!=--e);e=a,n=e;do{r=65535&u[--n],u[n]=a>r?0:r-a}while(0!=--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,s),E+=e,3>E||(w=255&c[k],w=(w<<b^255&c[k+1])&_)}while(V>E&&0!==t.avail_in)}function we(e){let t,r,n=D,s=k,i=R;const o=k>a-V?k-(a-V):0;let d=N;const f=l,p=k+258;let h=c[s+i-1],w=c[s+i];W>R||(n>>=2),d>E&&(d=E);do{if(t=e,c[t+i]==w&&c[t+i-1]==h&&c[t]==c[s]&&c[++t]==c[s+1]){s+=2,t++;do{}while(c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&p>s);if(r=258-(p-s),s=p-258,r>i){if(v=e,i=r,r>=d)break;h=c[s+i-1],w=c[s+i]}}}while((e=65535&u[e&f])>o&&0!=--n);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],L=[],O=[],H=[],e.pqdownheap=(t,r)=>{const n=e.heap,s=n[r];let a=r<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,n[a+1],n[a],e.depth)&&a++,!Z(t,s,n[a],e.depth));)n[r]=n[a],r=a,a<<=1;n[r]=s},e.deflateInit=(t,S,v,U,q,B)=>(U||(U=8),q||(q=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>q||q>9||8!=U||9>v||v>15||0>S||S>9||0>B||B>2?A:(t.dstate=e,o=v,a=1<<o,l=a-1,g=q+7,m=1<<g,_=m-1,b=i.floor((g+3-1)/3),c=new p(2*a),u=[],f=[],Y=1<<q+6,e.pending_buf=new p(4*Y),n=4*Y,e.dist_buf=new h(Y),e.lc_buf=new p(Y),F=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,r=P,s=0,K.dyn_tree=L,K.stat_desc=I.static_l_desc,j.dyn_tree=O,j.stat_desc=I.static_d_desc,X.dyn_tree=H,X.stat_desc=I.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[m-1]=0;for(let e=0;m-1>e;e++)f[e]=0;T=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,D=M[F].max_chain,k=0,y=0,E=0,x=R=2,z=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=r&&r!=P&&r!=B?A:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,r==P?-3:0),e.deflateParams=(e,t,r)=>{let n=0;return-1==t&&(t=6),0>t||t>9||0>r||r>2?A:(M[F].func!=M[t].func&&0!==e.total_in&&(n=e.deflate(1)),F!=t&&(F=t,T=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,D=M[F].max_chain),C=r,n)},e.deflateSetDictionary=(e,t,n)=>{let s,i=n,o=0;if(!t||42!=r)return A;if(3>i)return 0;for(i>a-V&&(i=a-V,o=n-i),c.set(t.subarray(o,o+i),0),k=i,y=i,w=255&c[0],w=(w<<b^255&c[1])&_,s=0;i-3>=s;s++)w=(w<<b^255&c[s+2])&_,u[s&l]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,g,D,W;if(d>4||0>d)return A;if(!i.next_out||!i.next_in&&0!==i.avail_in||r==B&&4!=d)return i.msg=q[4],A;if(0===i.avail_out)return i.msg=q[7],-5;var N;if(t=i,D=s,s=d,42==r&&(h=8+(o-8<<4)<<8,g=(F-1&255)>>1,g>3&&(g=3),h|=g<<6,0!==k&&(h|=32),h+=31-h%31,r=P,ne((N=h)>>8&255),ne(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=q[7],-5;if(r==B&&0!==t.avail_in)return i.msg=q[7],-5;if(0!==t.avail_in||0!==E||0!=d&&r!=B){switch(W=-1,M[F].func){case 0:W=(e=>{let r,s=65535;for(s>n-5&&(s=n-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,r=y+s,(0===k||k>=r)&&(E=k-r,k=r,pe(!1),0===t.avail_out))return 0;if(k-y>=a-V&&(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:W=(e=>{let r,n=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k),0===n||(k-n&65535)>a-V||2!=C&&(x=we(n)),3>x)r=ce(0,255&c[k]),E--,k++;else if(r=ce(k-v,x-3),E-=x,x>T||3>E)k+=x,x=0,w=255&c[k],w=(w<<b^255&c[k+1])&_;else{x--;do{k++,w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k}while(0!=--x);k++}if(r&&(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:W=(e=>{let r,n,s=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k),R=x,S=v,x=2,0!==s&&T>R&&a-V>=(k-s&65535)&&(2!=C&&(x=we(s)),5>=x&&(1==C||3==x&&k-v>4096)&&(x=2)),3>R||x>R)if(0!==z){if(r=ce(0,255&c[k-1]),r&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{n=k+E-3,r=ce(k-1-S,R-3),E-=R-1,R-=2;do{++k>n||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k)}while(0!=--R);if(z=0,x=2,k++,r&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(r=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!=W&&3!=W||(r=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,I.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),ie(256,I.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;m>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function j(){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}j.prototype={deflateInit(e,t){const r=this;return r.dstate=new K,t||(t=15),r.dstate.deflateInit(r,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 r=this;return r.dstate?r.dstate.deflateParams(r,e,t):A},deflateSetDictionary(e,t){const r=this;return r.dstate?r.dstate.deflateSetDictionary(r,e,t):A},read_buf(e,t,r){const n=this;let s=n.avail_in;return s>r&&(s=r),0===s?0:(n.avail_in-=s,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+s),t),n.next_in_index+=s,n.total_in+=s,s)},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 X=4294967295,Y=65535,G=134695760,J=G,Q=new o(2107,11,31),$=new o(1980,0,1),ee=void 0,te="undefined",re="function";class ne{constructor(e){return class extends k{constructor(t,r){const n=new e(r);super({transform(e,t){t.enqueue(n.append(e))},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}}}let se=2;try{typeof T!=te&&T.hardwareConcurrency&&(se=T.hardwareConcurrency)}catch(e){}const ae={chunkSize:524288,maxWorkers:se,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:ee,CompressionStreamNative:typeof R!=te&&R,DecompressionStreamNative:typeof D!=te&&D},ie=r.assign({},ae);function oe(){return ie}function le(e){const{baseURL:r,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(ce("baseURL",r),ce("chunkSize",n),ce("maxWorkers",s),ce("terminateWorkerTimeout",a),ce("useCompressionStream",i),ce("useWebWorkers",o),l&&(ie.CompressionStream=new ne(l)),c&&(ie.DecompressionStream=new ne(c)),ce("CompressionStream",d),ce("DecompressionStream",u),p!==ee){const{deflate:e,inflate:r}=p;if((e||r)&&(ie.workerScripts||(ie.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");ie.workerScripts.deflate=e}if(r){if(!t.isArray(r))throw new f("workerScripts.inflate must be an array");ie.workerScripts.inflate=r}}}function ce(e,t){t!==ee&&(ie[e]=t)}const de=[];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;de[e]=t}class ue{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,n=0|e.length;n>r;r++)t=t>>>8^de[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class fe extends k{constructor(){let e;const t=new ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function pe(e){if(typeof b==te){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const he={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=he.getPartial(r);return 32===n?e.concat(t):he._shiftRight(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+he.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=he.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=he.getPartial(s);return n.push(he.partial(t+a&31,t+a>32?r:n.pop(),1)),n}},we={bytes:{fromBits(e){const t=he.bitLength(e)/8,r=new p(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},toBits(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(he.partial(8*(3&r),n)),t}}},me=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=we.utf8String.toBits(e));const r=t._buffer=he.concat(t._buffer,e),n=t._length,s=t._length=n+he.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=he.concat(t,[he.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,n=r._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],l=n[2],c=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._S(5,a)+r._f(e,o,l,c)+d+s[e]+r._key[i.floor(e/20)]|0;d=c,c=l,l=r._S(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+c|0,n[4]=n[4]+d|0}},ge={getRandomValues(e){const t=new w(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let n,s=0;s<e.length;s+=4){const e=r(4294967296*(n||i.random()));n=987654071*e(),t[s/4]=4294967296*e()|0}return e}},_e={importKey:e=>new _e.hmacSha1(we.bytes.toBits(e)),pbkdf2(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,l,c;const d=new ArrayBuffer(s),u=new m(d);let p=0;const h=he;for(t=we.bytes.toBits(t),c=1;(s||1)>p;c++){for(a=i=e.encrypt(h.concat(t,[c])),o=1;r>o;o++)for(i=e.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=me,n=[[],[]];t._baseHash=[new r,new r];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new r).update(e).finalize());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new r(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(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},be=typeof S!=te&&typeof S.getRandomValues==re,ye="Invalid password",xe="Invalid signature",Se="zipjs-abort-check-password";function ze(e){return be?S.getRandomValues(e):ge.getRandomValues(e)}const ke=16,ve={name:"PBKDF2"},Ee=r.assign({hash:{name:"HMAC"}},ve),Re=r.assign({iterations:1e3,hash:{name:"SHA-1"}},ve),De=["deriveBits"],Te=[8,12,16],Fe=[16,24,32],Ae=10,Ce=[0,0,0,0],We=typeof S!=te,Ne=We&&S.subtle,Ue=We&&typeof Ne!=te,Ie=we.bytes,Le=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],n=t._tables[1],s=e.length;let a,i,o,l=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s==0||8===s&&a%s==4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[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],r=e[4],n=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,c=s[l=s[o=s[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],n=r.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,h,w=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],_=e[t?1:3]^r[3],b=4;for(let e=0;n>e;e++)u=i[w>>>24]^o[m>>16&255]^l[g>>8&255]^c[255&_]^r[b],p=i[m>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&w]^r[b+1],h=i[g>>>24]^o[_>>16&255]^l[w>>8&255]^c[255&m]^r[b+2],_=i[_>>>24]^o[w>>16&255]^l[m>>8&255]^c[255&g]^r[b+3],b+=4,w=u,m=p,g=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&_]^r[b++],u=w,w=m,m=g,g=_,_=u;return s}},Oe=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,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let n;if(!(n=t.length))return[];const s=he.bitLength(t);for(let s=0;n>s;s+=4){this.incCounter(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return he.clamp(t,s)}},He=_e.hmacSha1;let Me=We&&Ue&&typeof Ne.importKey==re,qe=We&&Ue&&typeof Ne.deriveBits==re;class Pe extends k{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:s,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Ke(e,t),signed:n,strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:i,ready:o}=r;n?(await(async(e,t,r,n)=>{const s=await Ze(e,t,r,Xe(n,0,Te[t])),a=Xe(n,Te[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(ye)})(r,s,n,Xe(e,0,Te[s]+2)),e=Xe(e,Te[s]+2),a?t.error(new f(Se)):i()):await o;const l=new p(e.length-Ae-(e.length-Ae)%ke);t.enqueue(Ve(r,e,l,0,Ae,!0))},async flush(e){const{signed:t,ctr:r,hmac:n,pending:s,ready:a}=this;if(n&&r){await a;const i=Xe(s,0,s.length-Ae),o=Xe(s,s.length-Ae);let l=new p;if(i.length){const e=Ge(Ie,i);n.update(e);const t=r.update(e);l=Ye(Ie,t)}if(t){const e=Xe(Ye(Ie,n.digest()),0,Ae);for(let t=0;Ae>t;t++)if(e[t]!=o[t])throw new f(xe)}e.enqueue(l)}}})}}class Be extends k{constructor({password:e,rawPassword:t,encryptionStrength:n}){let s;super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Ke(e,t),strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:a,ready:i}=r;let o=new p;n?(o=await(async(e,t,r)=>{const n=ze(new p(Te[t]));return je(n,await Ze(e,t,r,n))})(r,s,n),a()):await i;const l=new p(o.length+e.length-e.length%ke);l.set(o,0),t.enqueue(Ve(r,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:n,ready:a}=this;if(r&&t){await a;let i=new p;if(n.length){const e=t.update(Ge(Ie,n));r.update(e),i=Ye(Ie,e)}s.signature=Ye(Ie,r.digest()).slice(0,Ae),e.enqueue(je(i,s.signature))}}}),s=this}}function Ve(e,t,r,n,s,a){const{ctr:i,hmac:o,pending:l}=e,c=t.length-s;let d;for(l.length&&(t=je(l,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,c-c%ke)),d=0;c-ke>=d;d+=ke){const e=Ge(Ie,Xe(t,d,d+ke));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Ye(Ie,s),d+n)}return e.pending=Xe(t,d),r}async function Ze(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!Me)return _e.importKey(t);try{return await Ne.importKey("raw",t,r,!1,s)}catch(e){return Me=!1,_e.importKey(t)}})(0,s,Ee,0,De),o=await(async(e,t,r)=>{if(!qe)return _e.pbkdf2(t,e.salt,Re.iterations,r);try{return await Ne.deriveBits(e,t,r)}catch(n){return qe=!1,_e.pbkdf2(t,e.salt,Re.iterations,r)}})(r.assign({salt:a},Re),i,8*(2*Fe[n]+2)),l=new p(o),c=Ge(Ie,Xe(l,0,Fe[n])),d=Ge(Ie,Xe(l,Fe[n],2*Fe[n])),u=Xe(l,2*Fe[n]);return r.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new Oe(new Le(c),t.from(Ce)),hmac:new He(d)}),u}function Ke(e,t){return t===ee?pe(e):t}function je(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Xe(e,t,r){return e.subarray(t,r)}function Ye(e,t){return e.fromBits(t)}function Ge(e,t){return e.toBits(t)}class Je extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;if(r.password){const t=$e(r,e.subarray(0,12));if(r.password=null,t[11]!=r.passwordVerification)throw new f(ye);e=e.subarray(12)}n?t.error(new f(Se)):t.enqueue($e(r,e))}})}}class Qe extends k{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;let n,s;if(r.password){r.password=null;const t=ze(new p(12));t[11]=r.passwordVerification,n=new p(e.length+t.length),n.set(et(r,t),0),s=12}else n=new p(e.length),s=0;n.set(et(r,e),s),t.enqueue(n)}})}}function $e(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,r[n]);return r}function et(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,t[n]);return r}function tt(e,t){const n=[305419896,591751049,878082192];r.assign(e,{keys:n,crcKey0:new ue(n[0]),crcKey2:new ue(n[2])});for(let r=0;r<t.length;r++)rt(e,t.charCodeAt(r))}function rt(e,t){let[r,n,s]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),n=at(i.imul(at(n+st(r)),134775813)+1),e.crcKey2.append([n>>>24]),s=~e.crcKey2.get(),e.keys=[r,n,s]}function nt(e){const t=2|e.keys[2];return st(i.imul(t,1^t)>>>8)}function st(e){return 255&e}function at(e){return 4294967295&e}const it="deflate-raw";class ot extends k{constructor(e,{chunkSize:t,CompressionStream:r,CompressionStreamNative:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=ct(super.readable);a&&!o||!l||(u=new fe,p=ft(p,u)),s&&(p=ut(p,i,{level:c,chunkSize:t},n,r)),a&&(o?p=ft(p,new Qe(e)):(f=new Be(e),p=ft(p,f))),dt(d,p,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new m(u.value.buffer).getUint32(0)),d.signature=e}))}}class lt extends k{constructor(e,{chunkSize:t,DecompressionStream:r,DecompressionStreamNative:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=ct(super.readable);a&&(s?p=ft(p,new Je(e)):(u=new Pe(e),p=ft(p,u))),l&&(p=ut(p,c,{chunkSize:t},n,r)),a&&!s||!i||(d=new fe,p=ft(p,d)),dt(this,p,(()=>{if((!a||s)&&i){const e=new m(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(xe)}}))}}function ct(e){return ft(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function dt(e,t,n){t=ft(t,new k({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function ut(e,t,r,n,s){try{e=ft(e,new(t&&n?n:s)(it,r))}catch(n){if(!t)return e;try{e=ft(e,new s(it,r))}catch(t){return e}}return e}function ft(e,t){return e.pipeThrough(t)}const pt="data",ht="close",wt="deflate";class mt extends k{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(wt)?a=ot:s.startsWith("inflate")&&(a=lt);let i=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(){r.assign(n,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;r.assign(n,{signature:e,outputSize:i,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class gt extends k{constructor(e){let t;super({transform:function r(n,s){if(t){const e=new p(t.length+n.length);e.set(t),e.set(n,t.length),n=e,t=null}n.length>e?(s.enqueue(n.slice(0,e)),r(n.slice(e),s)):t=n},flush(e){t&&t.length&&e.enqueue(t)}})}}let _t=typeof F!=te;class bt{constructor(e,{readable:t,writable:n},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new gt(a.chunkSize)).pipeThrough(new yt(t,i),{signal:u}),writable:n,options:r.assign({},s),scripts:c,transferStreams:l,terminate:()=>new _((t=>{const{worker:r,busy:n}=e;r?(n?e.resolveTerminated=t:(r.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&&_t?zt:St)(e,a)}}class yt extends k{constructor(e,{onstart:t,onprogress:r,size:n,onend:s}){let a=0;super({async start(){t&&await xt(t,n)},async transform(e,t){a+=e.length,r&&await xt(r,a,n),t.enqueue(e)},async flush(){e.size=a,s&&await xt(s,a)}})}}async function xt(e,...t){try{await e(...t)}catch(e){}}function St(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:n},s)=>{try{const n=new mt(e,s);await t.pipeThrough(n).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=n;return{signature:a,inputSize:i,outputSize:o}}finally{n()}})(e,t)}}function zt(e,t){const{baseURL:n,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,n)=>{const s={type:"module"};let a,i;typeof e==re&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(kt)try{i=new F(a)}catch(e){kt=!1,i=new F(a,s)}else i=new F(a,s);return i.addEventListener("message",(e=>(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:n,name:s}=o,a=new f(e);r.assign(a,{stack:t,code:n,name:s}),w(a)}else{if("pull"==n){const{value:e,done:r}=await l.read();Et({type:pt,value:e,done:r,messageId:a},t)}n==pt&&(await c.ready,await c.write(new p(s)),Et({type:"ack",messageId:a},t)),n==ht&&w(null,i)}}catch(o){Et({type:ht,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),c&&c.releaseLock(),h()}})(e,n))),i})(e.scripts[0],n,e)}catch(r){return _t=!1,St(e,t)}r.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let n,s;const a=new _(((e,t)=>{n=e,s=t}));r.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:s,result:a});const{readable:i,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const r=new _((e=>t=e));return{writable:new E({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),u=Et({type:"start",scripts:l.slice(1),options:o,config:t,readable:i,writable:c},e);u||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let kt=!0,vt=!0;function Et(e,{worker:t,writer:r,onTaskFinished:n,transferStreams:s}){try{const{value:r,readable:n,writable:a}=e,i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),s&&vt?(n&&i.push(n),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){vt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),n(),e}}let Rt=[];const Dt=[];let Tt=0;function Ft(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const At="HTTP error ",Ct="HTTP Range not supported",Wt="Writer iterator completed too soon",Nt="Range",Ut="GET",It="bytes",Lt=65536,Ot="writable";class Ht{constructor(){this.size=0}init(){this.initialized=!0}}class Mt extends Ht{get readable(){const e=this,{chunkSize:t=Lt}=e,r=new v({start(){this.chunkOffset=0},async pull(n){const{offset:s=0,size:a,diskNumberStart:o}=r,{chunkOffset:l}=this;n.enqueue(await cr(e,s+l,i.min(t,a-l),o)),l+t>a?n.close():this.chunkOffset+=t}});return r}}class qt extends Ht{constructor(){super();const e=this,t=new E({write:t=>e.writeUint8Array(t)});r.defineProperty(e,Ot,{get:()=>t})}writeUint8Array(){}}class Pt extends Mt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new p(a)}}class Bt extends Ht{constructor(e){super();const t=new k,n=[];e&&n.push(["Content-Type",e]),r.defineProperty(this,Ot,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Vt extends Mt{constructor(e,t){super(),Kt(this,e,t)}async init(){await jt(this,tr,Jt),super.init()}readUint8Array(e,t){return Xt(this,e,t,tr,Jt)}}class Zt extends Mt{constructor(e,t){super(),Kt(this,e,t)}async init(){await jt(this,rr,Qt),super.init()}readUint8Array(e,t){return Xt(this,e,t,rr,Qt)}}function Kt(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function jt(e,t,r){const{url:n,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=oe(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||o)&&(void 0===a||a)){const n=await t(Ut,e,Yt(e,l?-22:void 0));if(!o&&n.headers.get("Accept-Ranges")!=It)throw new f(Ct);{let a;l&&(e.eocdCache=new p(await n.arrayBuffer()));const i=n.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===ee?await er(e,t,r):e.size=a}}else await er(e,t,r)}async function Xt(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:l,options:c}=e;if(a||i){if(o&&t==l-22&&22==r)return o;const s=await n(Ut,e,Yt(e,t,r));if(206!=s.status)throw new f(Ct);return new p(await s.arrayBuffer())}{const{data:n}=e;return n||await s(e,c),new p(e.data.subarray(t,t+r))}}function Yt(e,t=0,n=1){return r.assign({},Gt(e),{[Nt]:It+"="+(0>t?t:t+"-"+(t+n-1))})}function Gt({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Jt(e){await $t(e,tr)}async function Qt(e){await $t(e,rr)}async function $t(e,t){const r=await t(Ut,e,Gt(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function er(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=(await t("HEAD",e,Gt(e))).headers.get("Content-Length");n?e.size=s(n):await r(e,e.options)}}async function tr(e,{options:t,url:n},s){const a=await fetch(n,r.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(Ct):new f(At+(a.statusText||a.status))}function rr(e,{url:t},n){return new _(((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",(()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(r)})),s({status:i.status,arrayBuffer:()=>i.response,headers:new l(e)})}else a(416==i.status?new f(Ct):new f(At+(i.statusText||i.status)))}),!1),i.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()}))}class nr extends Mt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Zt(e,t):new Vt(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 sr extends Mt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await _.all(t.map((async(r,n)=>{await r.init(),n!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size}))),super.init()}async readUint8Array(e,t,r=0){const n=this,{readers:s}=this;let a,o=r;-1==o&&(o=s.length-1);let l=e;for(;l>=s[o].size;)l-=s[o].size,o++;const c=s[o],d=c.size;if(l+t>d){const s=d-l;a=new p(t),a.set(await cr(c,l,s)),a.set(await n.readUint8Array(e+s,t-s,r),s)}else a=await cr(c,l,t);return n.lastDiskNumber=i.max(o,n.lastDiskNumber),a}}class ar extends Ht{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:r}=n;if(i)t.length<r?await l(t):(await l(t.slice(0,r)),await c(),n.diskOffset+=s.size,n.diskNumber++,i=null,await this.write(t.slice(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Wt);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ir(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await c()}});async function l(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.size+=t,n.availableSize-=t)}async function c(){a.size=s.size,await i.close()}r.defineProperty(n,Ot,{get:()=>o})}}async function ir(e,t){if(!e.init||e.initialized)return _.resolve();await e.init(t)}function or(e){return t.isArray(e)&&(e=new sr(e)),e instanceof v&&(e={readable:e}),e}function lr(e){e.writable===ee&&typeof e.next==re&&(e=new ar(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===ee&&(t.size=0),e instanceof ar||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function cr(e,t,r,n){return e.readUint8Array(t,r,n)}const dr=sr,ur=ar,fr="diskNumberStart",pr="lastModDate",hr="lastAccessDate",wr="creationDate",mr="internalFileAttribute",gr="internalFileAttributes",_r="externalFileAttribute",br="externalFileAttributes",yr="msDosCompatible",xr="zip64",Sr="encrypted",zr="version",kr="versionMadeBy",vr="zipCrypto",Er=["filename","rawFilename","compressedSize","uncompressedSize",pr,"rawLastModDate","comment","rawComment",hr,wr,"offset",fr,fr,mr,gr,_r,br,yr,xr,Sr,zr,kr,vr,"directory","executable","bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Rr{constructor(e){Er.forEach((t=>this[t]=e[t]))}}const Dr="File already exists",Tr="Zip file comment exceeds 64KB",Fr="File entry comment exceeds 64KB",Ar="File entry name exceeds 64KB",Cr="Version exceeds 65535",Wr="The strength must equal 1, 2, or 3",Nr="Extra field type exceeds 65535",Ur="Extra field data exceeds 64KB",Ir="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Lr="Undefined uncompressed size",Or=new p([7,0,2,0,65,69,3,0,0]);let Hr=0;const Mr=[];class qr{constructor(e,t={}){const n=(e=lr(e)).availableSize!==ee&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==ee&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:oe(),files:new l,filenames:new c,offset:t.offset===ee?e.writable.size:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",n,l={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let b;Hr<g.maxWorkers?Hr++:await new _((e=>Mr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new f(Dr);return c.filenames.add(e),b=(async(e,n,l,c)=>{n=n.trim(),c.directory&&!n.endsWith("/")?n+="/":c.directory=n.endsWith("/");const u=Vr(e,c,"encodeText",pe);let g=u(n);if(g===ee&&(g=pe(n)),Qr(g)>Y)throw new f(Ar);const b=c.comment||"";let y=u(b);if(y===ee&&(y=pe(b)),Qr(y)>Y)throw new f(Fr);const x=Vr(e,c,zr,20);if(x>Y)throw new f(Cr);const S=Vr(e,c,kr,20);if(S>Y)throw new f(Cr);const z=Vr(e,c,pr,new o),v=Vr(e,c,hr),E=Vr(e,c,wr),R=Vr(e,c,yr,!0);let D=Vr(e,c,gr,0);0===D&&(D=Vr(e,c,mr,0));let T=Vr(e,c,br,0);0===T&&(T=Vr(e,c,_r,0));const F=Vr(e,c,"passThrough");let A,C;F||(A=Vr(e,c,"password"),C=Vr(e,c,"rawPassword"));const W=Vr(e,c,"encryptionStrength",3),N=Vr(e,c,vr),U=Vr(e,c,"extendedTimestamp",!0),I=Vr(e,c,"keepOrder",!0),L=Vr(e,c,"level"),O=Vr(e,c,"useWebWorkers"),H=Vr(e,c,"bufferedWrite"),M=Vr(e,c,"dataDescriptorSignature",!1),q=Vr(e,c,"signal"),P=Vr(e,c,"useUnicodeFileNames",!0),B=Vr(e,c,"useCompressionStream"),V=Vr(e,c,"compressionMethod");let Z=Vr(e,c,"dataDescriptor",!0),K=Vr(e,c,xr);if(!N&&(A!==ee||C!==ee)&&(1>W||W>3))throw new f(Wr);let j=new p;const{extraField:te}=c;if(te){let e=0,t=0;te.forEach((t=>e+=4+Qr(t))),j=new p(e),te.forEach(((e,r)=>{if(r>Y)throw new f(Nr);if(Qr(e)>Y)throw new f(Ur);Gr(j,new h([r]),t),Gr(j,new h([Qr(e)]),t+2),Gr(j,e,t+4),t+=4+Qr(e)}))}let re=0,ne=0,se=0;if(F&&(({uncompressedSize:se}=c),se===ee))throw new f(Lr);const ae=!0===K;l&&(l=or(l),await ir(l),F?re=Zr(se):l.size===ee?(Z=!0,(K||K===ee)&&(K=!0,se=re=4294967296)):(se=l.size,re=Zr(se)));const{diskOffset:ie,diskNumber:oe,maxSize:le}=e.writer,ce=ae||se>X,de=ae||re>X,ue=ae||e.offset+e.pendingEntriesSize-ie>X,fe=Vr(e,c,"supportZip64SplitFile",!0)&&ae||oe+i.ceil(e.pendingEntriesSize/le)>Y;if(ue||ce||de||fe){if(!1===K||!I)throw new f(Ir);K=!0}K=K||!1;const he=Vr(e,c,Sr),{signature:we}=c,me=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:o,zipCrypto:l,useUnicodeFileNames:c,dataDescriptor:d,directory:u,rawExtraField:f,encryptionStrength:h,extendedTimestamp:m,encrypted:g}=e;let{version:_,compressionMethod:b}=e;const y=!u&&(a>0||a===ee&&0!==b);let x,S,z,k;if(g&&!l){x=new p(Qr(Or)+2);const e=Jr(x);jr(e,0,39169),Gr(x,Or,2),Kr(e,8,h)}else x=new p;if(m){z=new p(9+(n?4:0)+(s?4:0));const e=Jr(z);jr(e,0,21589),jr(e,2,Qr(z)-4),k=1+(n?2:0)+(s?4:0),Kr(e,4,k);let t=5;Xr(e,t,i.floor(r.getTime()/1e3)),t+=4,n&&(Xr(e,t,i.floor(n.getTime()/1e3)),t+=4),s&&Xr(e,t,i.floor(s.getTime()/1e3));try{S=new p(36);const e=Jr(S),t=Br(r);jr(e,0,10),jr(e,2,32),jr(e,8,1),jr(e,10,24),Yr(e,12,t),Yr(e,20,Br(n)||t),Yr(e,28,Br(s)||t)}catch(e){S=new p}}else S=z=new p;let v=0;c&&(v|=2048),d&&(v|=8),b===ee&&(b=y?8:0),8==b&&(a>=1&&3>a&&(v|=6),a>=3&&5>a&&(v|=1),9===a&&(v|=2)),o&&(_=_>45?_:45),g&&(v|=1,l||(_=_>51?_:51,x[9]=b,b=99));const E=new p(26),R=Jr(E);jr(R,0,_),jr(R,2,v),jr(R,4,b);const D=new w(1),T=Jr(D);let F;F=$>r?$:r>Q?Q:r,jr(T,0,(F.getHours()<<6|F.getMinutes())<<5|F.getSeconds()/2),jr(T,2,(F.getFullYear()-1980<<4|F.getMonth()+1)<<5|F.getDate());const A=D[0];Xr(R,6,A),jr(R,22,Qr(t));const C=Qr(x,z,S,f);jr(R,24,C);const W=new p(30+Qr(t)+C);return Xr(Jr(W),0,67324752),Gr(W,E,4),Gr(W,t,30),Gr(W,x,30+Qr(t)),Gr(W,z,30+Qr(t,x)),Gr(W,S,30+Qr(t,x,z)),Gr(W,f,30+Qr(t,x,z,S)),{localHeaderArray:W,headerArray:E,headerView:R,lastModDate:r,rawLastModDate:A,encrypted:g,compressed:y,version:_,compressionMethod:b,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:S,rawExtraFieldAES:x,extraFieldLength:C}})(c=r.assign({},c,{rawFilename:g,rawComment:y,version:x,versionMadeBy:S,lastModDate:z,lastAccessDate:v,creationDate:E,rawExtraField:j,zip64:K,zip64UncompressedSize:ce,zip64CompressedSize:de,zip64Offset:ue,zip64DiskNumberStart:fe,password:A,rawPassword:C,level:B||e.config.CompressionStream!==ee||e.config.CompressionStreamNative!==ee?L:0,useWebWorkers:O,encryptionStrength:W,extendedTimestamp:U,zipCrypto:N,bufferedWrite:H,keepOrder:I,useUnicodeFileNames:P,dataDescriptor:Z,dataDescriptorSignature:M,signal:q,msDosCompatible:R,internalFileAttribute:D,internalFileAttributes:D,externalFileAttribute:T,externalFileAttributes:T,useCompressionStream:B,passThrough:F,encrypted:!!(A&&Qr(A)||C&&Qr(C))||F&&he,signature:we,compressionMethod:V})),ge=(e=>{const{zip64:t,dataDescriptor:r,dataDescriptorSignature:n}=e;let s,a=new p,i=0;return r&&(a=new p(t?n?24:20:n?16:12),s=Jr(a),n&&(i=4,Xr(s,0,J))),{dataDescriptorArray:a,dataDescriptorView:s,dataDescriptorOffset:i}})(c),_e=Qr(me.localHeaderArray,ge.dataDescriptorArray);let be;ne=_e+re,e.options.usdz&&(ne+=ne+64),e.pendingEntriesSize+=ne;try{be=await(async(e,n,o,l,c)=>{const{files:u,writer:h}=e,{keepOrder:w,dataDescriptor:g,signal:b}=c,{headerInfo:y}=l,{usdz:x}=e.options,S=t.from(u.values()).pop();let z,v,E,R,D,T,F,A={};u.set(n,A);try{let t;w&&(t=S&&S.lock,A.lock=new _((e=>E=e))),!(c.bufferedWrite||e.writerLocked||e.bufferedWrites&&w)&&g||x?(T=h,await C()):(T=new k,F=new d(T.readable).blob(),T.writable.size=0,z=!0,e.bufferedWrites++,await ir(h)),await ir(T);const{writable:y}=h;let{diskOffset:v}=h;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Xr(Jr(t),0,G),await Pr(y,t),e.offset+=4}x&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:n,extraFieldLength:s}=r,a=Jr(n),i=64-(t+Qr(n))%64;4>i&&(i+=64);const o=new p(i),l=Jr(o);jr(l,0,6534),jr(l,2,i-2);const c=n;r.localHeaderArray=n=new p(Qr(c)+i),Gr(n,c),Gr(n,o,Qr(c)),a=Jr(n),jr(a,28,s+i),e.metadataSize+=i})(l,e.offset-v),z||(await t,await W(y));const{diskNumber:N}=h;if(D=!0,A.diskNumberStart=N,A=await(async(e,t,{diskNumberStart:n,lock:o},l,c,d)=>{const{headerInfo:u,dataDescriptorInfo:f,metadataSize:h}=l,{localHeaderArray:w,headerArray:m,lastModDate:g,rawLastModDate:b,encrypted:y,compressed:x,version:S,compressionMethod:z,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:E,rawExtraFieldAES:R}=u,{dataDescriptorArray:D}=f,{rawFilename:T,lastAccessDate:F,creationDate:A,password:C,rawPassword:W,level:N,zip64:U,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H,zipCrypto:M,dataDescriptor:q,directory:P,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:K,onstart:j,onprogress:Y,onend:G,signal:J,encryptionStrength:Q,extendedTimestamp:$,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,useCompressionStream:se,passThrough:ae}=d,ie={lock:o,versionMadeBy:B,zip64:U,directory:!!P,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:V,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:E,rawExtraFieldAES:R,rawExtraField:Z,extendedTimestamp:$,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n};let{signature:oe,uncompressedSize:le}=d,ce=0;ae||(le=0);const{writable:de}=t;if(e){e.chunkSize=(e=>i.max(e.chunkSize,64))(c),await Pr(de,w);const t=e.readable,r=t.size=e.size,n={options:{codecType:wt,level:N,rawPassword:W,password:C,encryptionStrength:Q,zipCrypto:y&&M,passwordVerification:y&&M&&b>>8&255,signed:!ae,compressed:x&&!ae,encrypted:y&&!ae,useWebWorkers:K,useCompressionStream:se,transferStreams:!1},config:c,streamOptions:{signal:J,size:r,onstart:j,onprogress:Y,onend:G}},a=await(async(e,t)=>{const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=r,{workerScripts:f,maxWorkers:p}=n;t.transferStreams=a||a===ee;const h=!(c||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===ee&&n.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],r.useCompressionStream=o||o===ee&&n.useCompressionStream,(await(async()=>{const r=Rt.find((e=>!e.busy));if(r)return Ft(r),new bt(r,e,t,w);if(Rt.length<p){const r={indexWorker:Tt};return Tt++,Rt.push(r),new bt(r,e,t,w)}return new _((r=>Dt.push({resolve:r,stream:e,workerOptions:t})))})()).run();function w(e){if(Dt.length){const[{resolve:t,stream:r,workerOptions:n}]=Dt.splice(0,1);t(new bt(e,r,n,w))}else e.worker?(Ft(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Rt=Rt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),n))})(e,t)):Rt=Rt.filter((t=>t!=e))}})({readable:t,writable:de},n);ce=a.outputSize,ae||(le=a.inputSize,oe=a.signature),de.size+=le}else await Pr(de,w);let ue;if(U){let e=4;I&&(e+=8),L&&(e+=8),O&&(e+=8),H&&(e+=4),ue=new p(e)}else ue=new p;return((e,t)=>{const{signature:r,rawExtraFieldZip64:n,compressedSize:s,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:u,dataDescriptorOffset:f}=l,{zip64:p,zip64UncompressedSize:h,zip64CompressedSize:w,zipCrypto:m,dataDescriptor:g}=t;if(d&&!m||r===ee||(Xr(c,10,r),g&&Xr(u,f,r)),p){const e=Jr(n);jr(e,0,1),jr(e,2,Qr(n)-4);let t=4;h&&(Xr(c,18,X),Yr(e,t,a(i)),t+=8),w&&(Xr(c,14,X),Yr(e,t,a(s))),g&&(Yr(u,f+4,a(s)),Yr(u,f+12,a(i)))}else Xr(c,14,s),Xr(c,18,i),g&&(Xr(u,f+4,s),Xr(u,f+8,i))})({signature:oe,rawExtraFieldZip64:ue,compressedSize:ce,uncompressedSize:le,headerInfo:u,dataDescriptorInfo:f},d),q&&await Pr(de,D),r.assign(ie,{uncompressedSize:le,compressedSize:ce,lastModDate:g,rawLastModDate:b,creationDate:A,lastAccessDate:F,encrypted:y,zipCrypto:M,size:h+ce,compressionMethod:z,version:S,headerArray:m,signature:oe,rawExtraFieldZip64:ue,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H}),ie})(o,T,A,l,e.config,c),D=!1,u.set(n,A),A.filename=n,z){await T.writable.getWriter().close();let e=await F;await t,await C(),R=!0,g||(e=await(async(e,t,r,{zipCrypto:n})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const a=new m(s);return e.encrypted&&!n||Xr(a,14,e.signature),e.zip64?(Xr(a,18,X),Xr(a,22,X)):(Xr(a,18,e.compressedSize),Xr(a,22,e.uncompressedSize)),await Pr(r,new p(s)),t.slice(s.byteLength)})(A,e,y,c)),await W(y),A.diskNumberStart=h.diskNumber,v=h.diskOffset,await e.stream().pipeTo(y,{preventClose:!0,preventAbort:!0,signal:b}),y.size+=e.size,R=!1}if(A.offset=e.offset-v,A.zip64)((e,t)=>{const{rawExtraFieldZip64:r,offset:n,diskNumberStart:s}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=Jr(r);let u=4;i&&(u+=8),o&&(u+=8),l&&(Yr(d,u,a(n)),u+=8),c&&Xr(d,u,s)})(A,c);else if(A.offset>X)throw new f(Ir);return e.offset+=A.size,A}catch(t){if(z&&R||!z&&D){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=T.writable.size:e.offset=T.writable.size}throw u.delete(n),t}finally{z&&e.bufferedWrites--,E&&E(),v&&v()}async function C(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new _((t=>v=()=>{e.writerLocked=!1,t()})),await t}async function W(e){Qr(y.localHeaderArray)>h.availableSize&&(h.availableSize=0,await Pr(e,new p))}})(e,n,l,{headerInfo:me,dataDescriptorInfo:ge,metadataSize:_e},c)}finally{e.pendingEntriesSize-=ne}return r.assign(be,{name:n,comment:b,extraField:te}),new Rr(be)})(c,e,n,l),u.add(b),await b}catch(t){throw c.filenames.delete(e),t}finally{u.delete(b);const e=Mr.shift();e?e():Hr--}}async close(e=new p,r={}){const{pendingAddFileCalls:n,writer:s}=this,{writable:o}=s;for(;n.size;)await _.allSettled(t.from(n));return await(async(e,r,n)=>{const{files:s,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,h=0,w=e.offset-l,m=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:n,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new p(9);const e=Jr(u);jr(e,0,21589),jr(e,2,5),Kr(e,4,c),Xr(e,5,i.floor(d.getTime()/1e3))}else u=new p;e.rawExtraFieldCDExtendedTimestamp=u,h+=46+Qr(t,s,r,n,a,u,o)}const g=new p(h),_=Jr(g);await ir(o);let b=0;for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:p,rawComment:h,versionMadeBy:w,headerArray:m,directory:y,zip64:x,zip64UncompressedSize:S,zip64CompressedSize:z,zip64DiskNumberStart:k,zip64Offset:v,msDosCompatible:E,internalFileAttributes:R,externalFileAttributes:D,diskNumberStart:T,uncompressedSize:F,compressedSize:A}=r,C=Qr(i,l,d,f,p);Xr(_,u,33639248),jr(_,u+4,w);const W=Jr(m);S||Xr(W,18,F),z||Xr(W,14,A),Gr(g,m,u+6),jr(_,u+30,C),jr(_,u+32,Qr(h)),jr(_,u+34,x&&k?Y:T),jr(_,u+36,R),D?Xr(_,u+38,D):y&&E&&Kr(_,u+38,16),Xr(_,u+42,x&&v?X:t),Gr(g,a,u+46),Gr(g,i,u+46+Qr(a)),Gr(g,l,u+46+Qr(a,i)),Gr(g,d,u+46+Qr(a,i,l)),Gr(g,f,u+46+Qr(a,i,l,d)),Gr(g,p,u+46+Qr(a,i,l,d,f)),Gr(g,h,u+46+Qr(a)+C);const N=46+Qr(a,h)+C;if(u-b>o.availableSize&&(o.availableSize=0,await Pr(c,g.slice(b,u)),b=u),u+=N,n.onprogress)try{await n.onprogress(e+1,s.size,new Rr(r))}catch(e){}}await Pr(c,b?g.slice(b):g);let y=o.diskNumber;const{availableSize:x}=o;22>x&&y++;let S=Vr(e,n,xr);if(w>X||h>X||m>Y||y>Y){if(!1===S)throw new f(Ir);S=!0}const z=new p(S?98:22),k=Jr(z);u=0,S&&(Xr(k,0,101075792),Yr(k,4,a(44)),jr(k,12,45),jr(k,14,45),Xr(k,16,y),Xr(k,20,d),Yr(k,24,a(m)),Yr(k,32,a(m)),Yr(k,40,a(h)),Yr(k,48,a(w)),Xr(k,56,117853008),Yr(k,64,a(w)+a(h)),Xr(k,72,y+1),Vr(e,n,"supportZip64SplitFile",!0)&&(y=Y,d=Y),m=Y,w=X,h=X,u+=76),Xr(k,u,101010256),jr(k,u+4,y),jr(k,u+6,d),jr(k,u+8,m),jr(k,u+10,m),Xr(k,u+12,h),Xr(k,u+16,w);const v=Qr(r);if(v){if(v>Y)throw new f(Tr);jr(k,u+20,v)}await Pr(c,z),v&&await Pr(c,r)})(this,e,r),Vr(this,r,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function Pr(e,t){const r=e.getWriter();try{await r.ready,e.size+=Qr(t),await r.write(t)}finally{r.releaseLock()}}function Br(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Vr(e,t,r,n){const s=t[r]===ee?e.options[r]:t[r];return s===ee?n:s}function Zr(e){return e+5*(i.floor(e/16383)+1)}function Kr(e,t,r){e.setUint8(t,r)}function jr(e,t,r){e.setUint16(t,r,!0)}function Xr(e,t,r){e.setUint32(t,r,!0)}function Yr(e,t,r){e.setBigUint64(t,r,!0)}function Gr(e,t,r){e.set(t,r)}function Jr(e){return new m(e.buffer)}function Qr(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}le({Deflate:function(e){const t=new j,r=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(n/16383)+1);var n;const s=new p(r);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,n)=>{let a,i,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=r,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==r?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=o&&(n(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(c),d.forEach((e=>{i.set(e,l),l+=e.length}))):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,n,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=r,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);r-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new p(i),o.forEach((e=>{n.set(e,a),a+=e.length})),n}}}),e.BlobReader=Pt,e.BlobWriter=Bt,e.Data64URIReader=class extends Mt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:r,dataURI:n}=this,s=new p(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),l=e-3*i.floor(a/4);for(let e=l;l+t>e;e++)s[e-l]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends qt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.ERR_DUPLICATED_NAME=Dr,e.ERR_HTTP_RANGE=Ct,e.ERR_INVALID_COMMENT=Tr,e.ERR_INVALID_ENCRYPTION_STRENGTH=Wr,e.ERR_INVALID_ENTRY_COMMENT=Fr,e.ERR_INVALID_ENTRY_NAME=Ar,e.ERR_INVALID_EXTRAFIELD_DATA=Ur,e.ERR_INVALID_EXTRAFIELD_TYPE=Nr,e.ERR_INVALID_VERSION=Cr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Wt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Lr,e.ERR_UNSUPPORTED_FORMAT=Ir,e.HttpRangeReader=class extends nr{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=nr,e.Reader=Mt,e.SplitDataReader=sr,e.SplitDataWriter=ar,e.SplitZipReader=dr,e.SplitZipWriter=ur,e.TextReader=class extends Pt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends Bt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new _(((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)}))}}},e.Uint8ArrayReader=class extends Mt{constructor(e){super(),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends qt{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=qt,e.ZipWriter=qr,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new k;this.readable=t,this.zipWriter=new qr(r,e)}transform(e){const{readable:t,writable:r}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new k;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=le,e.getMimeType=()=>"application/octet-stream",e.initReader=or,e.initStream=ir,e.initWriter=lr,e.readUint8Array=cr,e.terminateWorkers=async()=>{await _.allSettled(Rt.map((e=>(Ft(e),e.terminate()))))}})); | ||
((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:r,String:n,Number:s,BigInt:a,Math:i,Date:o,Map:l,Set:c,Response:d,URL:u,Error:f,Uint8Array:p,Uint16Array:h,Uint32Array:w,DataView:m,Blob:g,Promise:_,TextEncoder:b,TextDecoder:y,document:x,crypto:S,btoa:z,TransformStream:k,ReadableStream:v,WritableStream:E,CompressionStream:R,DecompressionStream:D,navigator:T,Worker:F}="undefined"!=typeof globalThis?globalThis:this||self,A=-2;function C(e){return W(e.map((([e,r])=>new t(e).fill(r,0,e))))}function W(e){return e.reduce(((e,r)=>e.concat(t.isArray(r)?W(r):r)),[])}const N=[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 U(){const e=this;function t(e,t){let r=0;do{r|=1&e,e>>>=1,r<<=1}while(--t>0);return r>>>1}e.build_tree=r=>{const n=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems;let o,l,c,d=-1;for(r.heap_len=0,r.heap_max=573,o=0;a>o;o++)0!==n[2*o]?(r.heap[++r.heap_len]=d=o,r.depth[o]=0):n[2*o+1]=0;for(;2>r.heap_len;)c=r.heap[++r.heap_len]=2>d?++d:0,n[2*c]=1,r.depth[c]=0,r.opt_len--,s&&(r.static_len-=s[2*c+1]);for(e.max_code=d,o=i.floor(r.heap_len/2);o>=1;o--)r.pqdownheap(n,o);c=a;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],r.pqdownheap(n,1),l=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=l,n[2*c]=n[2*o]+n[2*l],r.depth[c]=i.max(r.depth[o],r.depth[l])+1,n[2*o+1]=n[2*l+1]=c,r.heap[1]=c++,r.pqdownheap(n,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],(t=>{const r=e.dyn_tree,n=e.stat_desc.static_tree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,i=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(r[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;573>o;o++)l=t.heap[o],d=r[2*r[2*l+1]+1]+1,d>i&&(d=i,p++),r[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,a>l||(u=s[l-a]),f=r[2*l],t.opt_len+=f*(d+u),n&&(t.static_len+=f*(n[2*l+1]+u)));if(0!==p){do{for(d=i-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[i]--,p-=2}while(p>0);for(d=i;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(r[2*c+1]!=d&&(t.opt_len+=(d-r[2*c+1])*r[2*c],r[2*c+1]=d),l--)}})(r),((e,r,n)=>{const s=[];let a,i,o,l=0;for(a=1;15>=a;a++)s[a]=l=l+n[a-1]<<1;for(i=0;r>=i;i++)o=e[2*i+1],0!==o&&(e[2*i]=t(s[o]++,o))})(n,e.max_code,r.bl_count)}}function I(e,t,r,n,s){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=r,a.elems=n,a.max_length=s}U._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]])),U.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],U.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],U.d_code=e=>256>e?N[e]:N[256+(e>>>7)],U.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],U.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],U.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],U.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=W([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 H(e,t,r,n,s){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=r,a.max_chain=n,a.func=s}I.static_dtree=W([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,U.extra_lbits,257,286,15),I.static_d_desc=new I(I.static_dtree,U.extra_dbits,0,30,15),I.static_bl_desc=new I(null,U.extra_blbits,0,19,7);const M=[new H(0,0,0,0,0),new H(4,4,8,4,1),new H(4,5,16,8,1),new H(4,6,32,32,1),new H(4,4,16,16,2),new H(8,16,32,32,2),new H(8,16,128,128,2),new H(8,32,128,256,2),new H(32,128,258,1024,2),new H(32,258,258,4096,2)],q=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],P=113,B=666,V=262;function Z(e,t,r,n){const s=e[2*t],a=e[2*r];return a>s||s==a&&n[t]<=n[r]}function K(){const e=this;let t,r,n,s,a,o,l,c,d,u,f,w,m,g,_,b,y,x,S,z,k,v,E,R,D,T,F,C,W,N,L,O,H;const K=new U,j=new U,X=new U;let Y,G,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++)H[2*t]=0;L[512]=1,e.opt_len=e.static_len=0,G=J=0}function re(e,t){let r,n=-1,s=e[1],a=0,i=7,o=4;0===s&&(i=138,o=3),e[2*(t+1)+1]=65535;for(let l=0;t>=l;l++)r=s,s=e[2*(l+1)+1],++a<i&&r==s||(o>a?H[2*r]+=a:0!==r?(r!=n&&H[2*r]++,H[32]++):a>10?H[36]++:H[34]++,a=0,n=r,0===s?(i=138,o=3):r==s?(i=6,o=3):(i=7,o=4))}function ne(t){e.pending_buf[e.pending++]=t}function se(e){ne(255&e),ne(e>>>8&255)}function ae(e,t){let r;const n=t;ee>16-n?(r=e,$|=r<<ee&65535,se($),$=r>>>16-ee,ee+=n-16):($|=e<<ee&65535,ee+=n)}function ie(e,t){const r=2*e;ae(65535&t[r],65535&t[r+1])}function oe(e,t){let r,n,s=-1,a=e[1],i=0,o=7,l=4;for(0===a&&(o=138,l=3),r=0;t>=r;r++)if(n=a,a=e[2*(r+1)+1],++i>=o||n!=a){if(l>i)do{ie(n,H)}while(0!=--i);else 0!==n?(n!=s&&(ie(n,H),i--),ie(16,H),ae(i-3,2)):i>10?(ie(18,H),ae(i-11,7)):(ie(17,H),ae(i-3,3));i=0,s=n,0===a?(o=138,l=3):n==a?(o=6,l=3):(o=7,l=4)}}function le(){16==ee?(se($),$=0,ee=0):8>ee||(ne(255&$),$>>>=8,ee-=8)}function ce(t,r){let n,s,a;if(e.dist_buf[G]=t,e.lc_buf[G]=255&r,G++,0===t?L[2*r]++:(J++,t--,L[2*(U._length_code[r]+256+1)]++,O[2*U.d_code(t)]++),!(8191&G)&&F>2){for(n=8*G,s=k-y,a=0;30>a;a++)n+=O[2*a]*(5+U.extra_dbits[a]);if(n>>>=3,J<i.floor(G/2)&&n<i.floor(s/2))return!0}return G==Y-1}function de(t,r){let n,s,a,i,o=0;if(0!==G)do{n=e.dist_buf[o],s=e.lc_buf[o],o++,0===n?ie(s,t):(a=U._length_code[s],ie(a+256+1,t),i=U.extra_lbits[a],0!==i&&(s-=U.base_length[a],ae(s,i)),n--,a=U.d_code(n),ie(a,r),i=U.extra_dbits[a],0!==i&&(n-=U.base_dist[a],ae(n,i)))}while(G>o);ie(256,t),Q=t[513]}function ue(){ee>8?se($):ee>0&&ne(255&$),$=0,ee=0}function fe(t,r,n){ae(0+(n?1:0),3),((t,r)=>{ue(),Q=8,se(r),se(~r),e.pending_buf.set(c.subarray(t,t+r),e.pending),e.pending+=r})(t,r)}function pe(r){((t,r,n)=>{let s,a,i=0;F>0?(K.build_tree(e),j.build_tree(e),i=(()=>{let t;for(re(L,K.max_code),re(O,j.max_code),X.build_tree(e),t=18;t>=3&&0===H[2*U.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t})(),s=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a>s||(s=a)):s=a=r+5,r+4>s||-1==t?a==s?(ae(2+(n?1:0),3),de(I.static_ltree,I.static_dtree)):(ae(4+(n?1:0),3),((e,t,r)=>{let n;for(ae(e-257,5),ae(t-1,5),ae(r-4,4),n=0;r>n;n++)ae(H[2*U.bl_order[n]+1],3);oe(L,e-1),oe(O,t-1)})(K.max_code+1,j.max_code+1,i+1),de(L,O)):fe(t,r,n),te(),n&&ue()})(0>y?-1:y,k-y,r),y=k,t.flush_pending()}function he(){let e,r,n,s;do{if(s=d-E-k,0===s&&0===k&&0===E)s=a;else if(-1==s)s--;else if(k>=a+a-V){c.set(c.subarray(a,a+a),0),v-=a,k-=a,y-=a,e=m,n=e;do{r=65535&f[--n],f[n]=a>r?0:r-a}while(0!=--e);e=a,n=e;do{r=65535&u[--n],u[n]=a>r?0:r-a}while(0!=--e);s+=a}if(0===t.avail_in)return;e=t.read_buf(c,k+E,s),E+=e,3>E||(w=255&c[k],w=(w<<b^255&c[k+1])&_)}while(V>E&&0!==t.avail_in)}function we(e){let t,r,n=D,s=k,i=R;const o=k>a-V?k-(a-V):0;let d=N;const f=l,p=k+258;let h=c[s+i-1],w=c[s+i];W>R||(n>>=2),d>E&&(d=E);do{if(t=e,c[t+i]==w&&c[t+i-1]==h&&c[t]==c[s]&&c[++t]==c[s+1]){s+=2,t++;do{}while(c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&c[++s]==c[++t]&&p>s);if(r=258-(p-s),s=p-258,r>i){if(v=e,i=r,r>=d)break;h=c[s+i-1],w=c[s+i]}}}while((e=65535&u[e&f])>o&&0!=--n);return i>E?E:i}e.depth=[],e.bl_count=[],e.heap=[],L=[],O=[],H=[],e.pqdownheap=(t,r)=>{const n=e.heap,s=n[r];let a=r<<1;for(;a<=e.heap_len&&(a<e.heap_len&&Z(t,n[a+1],n[a],e.depth)&&a++,!Z(t,s,n[a],e.depth));)n[r]=n[a],r=a,a<<=1;n[r]=s},e.deflateInit=(t,S,v,U,q,B)=>(U||(U=8),q||(q=8),B||(B=0),t.msg=null,-1==S&&(S=6),1>q||q>9||8!=U||9>v||v>15||0>S||S>9||0>B||B>2?A:(t.dstate=e,o=v,a=1<<o,l=a-1,g=q+7,m=1<<g,_=m-1,b=i.floor((g+3-1)/3),c=new p(2*a),u=[],f=[],Y=1<<q+6,e.pending_buf=new p(4*Y),n=4*Y,e.dist_buf=new h(Y),e.lc_buf=new p(Y),F=S,C=B,(t=>(t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,r=P,s=0,K.dyn_tree=L,K.stat_desc=I.static_l_desc,j.dyn_tree=O,j.stat_desc=I.static_d_desc,X.dyn_tree=H,X.stat_desc=I.static_bl_desc,$=0,ee=0,Q=8,te(),(()=>{d=2*a,f[m-1]=0;for(let e=0;m-1>e;e++)f[e]=0;T=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,D=M[F].max_chain,k=0,y=0,E=0,x=R=2,z=0,w=0})(),0))(t))),e.deflateEnd=()=>42!=r&&r!=P&&r!=B?A:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,f=null,u=null,c=null,e.dstate=null,r==P?-3:0),e.deflateParams=(e,t,r)=>{let n=0;return-1==t&&(t=6),0>t||t>9||0>r||r>2?A:(M[F].func!=M[t].func&&0!==e.total_in&&(n=e.deflate(1)),F!=t&&(F=t,T=M[F].max_lazy,W=M[F].good_length,N=M[F].nice_length,D=M[F].max_chain),C=r,n)},e.deflateSetDictionary=(e,t,n)=>{let s,i=n,o=0;if(!t||42!=r)return A;if(3>i)return 0;for(i>a-V&&(i=a-V,o=n-i),c.set(t.subarray(o,o+i),0),k=i,y=i,w=255&c[0],w=(w<<b^255&c[1])&_,s=0;i-3>=s;s++)w=(w<<b^255&c[s+2])&_,u[s&l]=f[w],f[w]=s;return 0},e.deflate=(i,d)=>{let p,h,g,D,W;if(d>4||0>d)return A;if(!i.next_out||!i.next_in&&0!==i.avail_in||r==B&&4!=d)return i.msg=q[4],A;if(0===i.avail_out)return i.msg=q[7],-5;var N;if(t=i,D=s,s=d,42==r&&(h=8+(o-8<<4)<<8,g=(F-1&255)>>1,g>3&&(g=3),h|=g<<6,0!==k&&(h|=32),h+=31-h%31,r=P,ne((N=h)>>8&255),ne(255&N)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return s=-1,0}else if(0===t.avail_in&&D>=d&&4!=d)return t.msg=q[7],-5;if(r==B&&0!==t.avail_in)return i.msg=q[7],-5;if(0!==t.avail_in||0!==E||0!=d&&r!=B){switch(W=-1,M[F].func){case 0:W=(e=>{let r,s=65535;for(s>n-5&&(s=n-5);;){if(1>=E){if(he(),0===E&&0==e)return 0;if(0===E)break}if(k+=E,E=0,r=y+s,(0===k||k>=r)&&(E=k-r,k=r,pe(!1),0===t.avail_out))return 0;if(k-y>=a-V&&(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:W=(e=>{let r,n=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k),0===n||(k-n&65535)>a-V||2!=C&&(x=we(n)),3>x)r=ce(0,255&c[k]),E--,k++;else if(r=ce(k-v,x-3),E-=x,x>T||3>E)k+=x,x=0,w=255&c[k],w=(w<<b^255&c[k+1])&_;else{x--;do{k++,w=(w<<b^255&c[k+2])&_,n=65535&f[w],u[k&l]=f[w],f[w]=k}while(0!=--x);k++}if(r&&(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:W=(e=>{let r,n,s=0;for(;;){if(V>E){if(he(),V>E&&0==e)return 0;if(0===E)break}if(3>E||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k),R=x,S=v,x=2,0!==s&&T>R&&a-V>=(k-s&65535)&&(2!=C&&(x=we(s)),5>=x&&(1==C||3==x&&k-v>4096)&&(x=2)),3>R||x>R)if(0!==z){if(r=ce(0,255&c[k-1]),r&&pe(!1),k++,E--,0===t.avail_out)return 0}else z=1,k++,E--;else{n=k+E-3,r=ce(k-1-S,R-3),E-=R-1,R-=2;do{++k>n||(w=(w<<b^255&c[k+2])&_,s=65535&f[w],u[k&l]=f[w],f[w]=k)}while(0!=--R);if(z=0,x=2,k++,r&&(pe(!1),0===t.avail_out))return 0}}return 0!==z&&(r=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!=W&&3!=W||(r=B),0==W||2==W)return 0===t.avail_out&&(s=-1),0;if(1==W){if(1==d)ae(2,3),ie(256,I.static_ltree),le(),9>1+Q+10-ee&&(ae(2,3),ie(256,I.static_ltree),le()),Q=7;else if(fe(0,0,!1),3==d)for(p=0;m>p;p++)f[p]=0;if(t.flush_pending(),0===t.avail_out)return s=-1,0}}return 4!=d?0:1}}function j(){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}j.prototype={deflateInit(e,t){const r=this;return r.dstate=new K,t||(t=15),r.dstate.deflateInit(r,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 r=this;return r.dstate?r.dstate.deflateParams(r,e,t):A},deflateSetDictionary(e,t){const r=this;return r.dstate?r.dstate.deflateSetDictionary(r,e,t):A},read_buf(e,t,r){const n=this;let s=n.avail_in;return s>r&&(s=r),0===s?0:(n.avail_in-=s,e.set(n.next_in.subarray(n.next_in_index,n.next_in_index+s),t),n.next_in_index+=s,n.total_in+=s,s)},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 X=4294967295,Y=65535,G=134695760,J=G,Q=new o(2107,11,31),$=new o(1980,0,1),ee=void 0,te="undefined",re="function";class ne{constructor(e){return class extends k{constructor(t,r){const n=new e(r);super({transform(e,t){t.enqueue(n.append(e))},flush(e){const t=n.flush();t&&e.enqueue(t)}})}}}}let se=2;try{typeof T!=te&&T.hardwareConcurrency&&(se=T.hardwareConcurrency)}catch(e){}const ae={chunkSize:524288,maxWorkers:se,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:ee,CompressionStreamNative:typeof R!=te&&R,DecompressionStreamNative:typeof D!=te&&D},ie=r.assign({},ae);function oe(){return ie}function le(e){const{baseURL:r,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:a,useCompressionStream:i,useWebWorkers:o,Deflate:l,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:p}=e;if(ce("baseURL",r),ce("chunkSize",n),ce("maxWorkers",s),ce("terminateWorkerTimeout",a),ce("useCompressionStream",i),ce("useWebWorkers",o),l&&(ie.CompressionStream=new ne(l)),c&&(ie.DecompressionStream=new ne(c)),ce("CompressionStream",d),ce("DecompressionStream",u),p!==ee){const{deflate:e,inflate:r}=p;if((e||r)&&(ie.workerScripts||(ie.workerScripts={})),e){if(!t.isArray(e))throw new f("workerScripts.deflate must be an array");ie.workerScripts.deflate=e}if(r){if(!t.isArray(r))throw new f("workerScripts.inflate must be an array");ie.workerScripts.inflate=r}}}function ce(e,t){t!==ee&&(ie[e]=t)}const de=[];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;de[e]=t}class ue{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let r=0,n=0|e.length;n>r;r++)t=t>>>8^de[255&(t^e[r])];this.crc=t}get(){return~this.crc}}class fe extends k{constructor(){let e;const t=new ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new p(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function pe(e){if(typeof b==te){const t=new p((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new b).encode(e)}const he={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=he.getPartial(r);return 32===n?e.concat(t):he._shiftRight(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+he.getPartial(r)},clamp(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=he.partial(t,e[r-1]&2147483648>>t-1,1)),e},partial:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,getPartial:e=>i.round(e/1099511627776)||32,_shiftRight(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=he.getPartial(s);return n.push(he.partial(t+a&31,t+a>32?r:n.pop(),1)),n}},we={bytes:{fromBits(e){const t=he.bitLength(e)/8,r=new p(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},toBits(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(he.partial(8*(3&r),n)),t}}},me=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=we.utf8String.toBits(e));const r=t._buffer=he.concat(t._buffer,e),n=t._length,s=t._length=n+he.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new w(r);let i=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t._block(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),t}finalize(){const e=this;let t=e._buffer;const r=e._h;t=he.concat(t,[he.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),r}_f(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}_S(e,t){return t<<e|t>>>32-e}_block(e){const r=this,n=r._h,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],o=n[1],l=n[2],c=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r._S(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r._S(5,a)+r._f(e,o,l,c)+d+s[e]+r._key[i.floor(e/20)]|0;d=c,c=l,l=r._S(30,o),o=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+c|0,n[4]=n[4]+d|0}},ge={getRandomValues(e){const t=new w(e.buffer),r=e=>{let t=987654321;const r=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&r,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&r)&r)/4294967296+.5)*(i.random()>.5?1:-1))};for(let n,s=0;s<e.length;s+=4){const e=r(4294967296*(n||i.random()));n=987654071*e(),t[s/4]=4294967296*e()|0}return e}},_e={importKey:e=>new _e.hmacSha1(we.bytes.toBits(e)),pbkdf2(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,i,o,l,c;const d=new ArrayBuffer(s),u=new m(d);let p=0;const h=he;for(t=we.bytes.toBits(t),c=1;(s||1)>p;c++){for(a=i=e.encrypt(h.concat(t,[c])),o=1;r>o;o++)for(i=e.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(s||1)>p&&o<a.length;o++)u.setInt32(p,a[o]),p+=4}return d.slice(0,n/8)},hmacSha1:class{constructor(e){const t=this,r=t._hash=me,n=[[],[]];t._baseHash=[new r,new r];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new r).update(e).finalize());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new r(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(),r=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),r}encrypt(e){if(this._updated)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},be=typeof S!=te&&typeof S.getRandomValues==re,ye="Invalid password",xe="Invalid signature",Se="zipjs-abort-check-password";function ze(e){return be?S.getRandomValues(e):ge.getRandomValues(e)}const ke=16,ve={name:"PBKDF2"},Ee=r.assign({hash:{name:"HMAC"}},ve),Re=r.assign({iterations:1e3,hash:{name:"SHA-1"}},ve),De=["deriveBits"],Te=[8,12,16],Fe=[16,24,32],Ae=10,Ce=[0,0,0,0],We=typeof S!=te,Ne=We&&S.subtle,Ue=We&&typeof Ne!=te,Ie=we.bytes,Le=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const r=t._tables[0][4],n=t._tables[1],s=e.length;let a,i,o,l=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t._key=[i=e.slice(0),o=[]],a=s;4*s+28>a;a++){let e=i[a-1];(a%s==0||8===s&&a%s==4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[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],r=e[4],n=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=i=0;!r[d];d^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,c=s[l=s[o=s[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}_crypt(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this._key[t],n=r.length/4-2,s=[0,0,0,0],a=this._tables[t],i=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,p,h,w=e[0]^r[0],m=e[t?3:1]^r[1],g=e[2]^r[2],_=e[t?1:3]^r[3],b=4;for(let e=0;n>e;e++)u=i[w>>>24]^o[m>>16&255]^l[g>>8&255]^c[255&_]^r[b],p=i[m>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&w]^r[b+1],h=i[g>>>24]^o[_>>16&255]^l[w>>8&255]^c[255&m]^r[b+2],_=i[_>>>24]^o[w>>16&255]^l[m>>8&255]^c[255&g]^r[b+3],b+=4,w=u,m=p,g=h;for(let e=0;4>e;e++)s[t?3&-e:e]=d[w>>>24]<<24^d[m>>16&255]<<16^d[g>>8&255]<<8^d[255&_]^r[b++],u=w,w=m,m=g,g=_,_=u;return s}},Oe=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,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,r){let n;if(!(n=t.length))return[];const s=he.bitLength(t);for(let s=0;n>s;s+=4){this.incCounter(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return he.clamp(t,s)}},He=_e.hmacSha1;let Me=We&&Ue&&typeof Ne.importKey==re,qe=We&&Ue&&typeof Ne.deriveBits==re;class Pe extends k{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:s,checkPasswordOnly:a}){super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Ke(e,t),signed:n,strength:s-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:i,ready:o}=r;n?(await(async(e,t,r,n)=>{const s=await Ze(e,t,r,Xe(n,0,Te[t])),a=Xe(n,Te[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(ye)})(r,s,n,Xe(e,0,Te[s]+2)),e=Xe(e,Te[s]+2),a?t.error(new f(Se)):i()):await o;const l=new p(e.length-Ae-(e.length-Ae)%ke);t.enqueue(Ve(r,e,l,0,Ae,!0))},async flush(e){const{signed:t,ctr:r,hmac:n,pending:s,ready:a}=this;if(n&&r){await a;const i=Xe(s,0,s.length-Ae),o=Xe(s,s.length-Ae);let l=new p;if(i.length){const e=Ge(Ie,i);n.update(e);const t=r.update(e);l=Ye(Ie,t)}if(t){const e=Xe(Ye(Ie,n.digest()),0,Ae);for(let t=0;Ae>t;t++)if(e[t]!=o[t])throw new f(xe)}e.enqueue(l)}}})}}class Be extends k{constructor({password:e,rawPassword:t,encryptionStrength:n}){let s;super({start(){r.assign(this,{ready:new _((e=>this.resolveReady=e)),password:Ke(e,t),strength:n-1,pending:new p})},async transform(e,t){const r=this,{password:n,strength:s,resolveReady:a,ready:i}=r;let o=new p;n?(o=await(async(e,t,r)=>{const n=ze(new p(Te[t]));return je(n,await Ze(e,t,r,n))})(r,s,n),a()):await i;const l=new p(o.length+e.length-e.length%ke);l.set(o,0),t.enqueue(Ve(r,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:r,pending:n,ready:a}=this;if(r&&t){await a;let i=new p;if(n.length){const e=t.update(Ge(Ie,n));r.update(e),i=Ye(Ie,e)}s.signature=Ye(Ie,r.digest()).slice(0,Ae),e.enqueue(je(i,s.signature))}}}),s=this}}function Ve(e,t,r,n,s,a){const{ctr:i,hmac:o,pending:l}=e,c=t.length-s;let d;for(l.length&&(t=je(l,t),r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new p(t)).set(r,0)}return e})(r,c-c%ke)),d=0;c-ke>=d;d+=ke){const e=Ge(Ie,Xe(t,d,d+ke));a&&o.update(e);const s=i.update(e);a||o.update(s),r.set(Ye(Ie,s),d+n)}return e.pending=Xe(t,d),r}async function Ze(e,n,s,a){e.password=null;const i=await(async(e,t,r,n,s)=>{if(!Me)return _e.importKey(t);try{return await Ne.importKey("raw",t,r,!1,s)}catch(e){return Me=!1,_e.importKey(t)}})(0,s,Ee,0,De),o=await(async(e,t,r)=>{if(!qe)return _e.pbkdf2(t,e.salt,Re.iterations,r);try{return await Ne.deriveBits(e,t,r)}catch(n){return qe=!1,_e.pbkdf2(t,e.salt,Re.iterations,r)}})(r.assign({salt:a},Re),i,8*(2*Fe[n]+2)),l=new p(o),c=Ge(Ie,Xe(l,0,Fe[n])),d=Ge(Ie,Xe(l,Fe[n],2*Fe[n])),u=Xe(l,2*Fe[n]);return r.assign(e,{keys:{key:c,authentication:d,passwordVerification:u},ctr:new Oe(new Le(c),t.from(Ce)),hmac:new He(d)}),u}function Ke(e,t){return t===ee?pe(e):t}function je(e,t){let r=e;return e.length+t.length&&(r=new p(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function Xe(e,t,r){return e.subarray(t,r)}function Ye(e,t){return e.fromBits(t)}function Ge(e,t){return e.toBits(t)}class Je extends k{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;if(r.password){const t=$e(r,e.subarray(0,12));if(r.password=null,t[11]!=r.passwordVerification)throw new f(ye);e=e.subarray(12)}n?t.error(new f(Se)):t.enqueue($e(r,e))}})}}class Qe extends k{constructor({password:e,passwordVerification:t}){super({start(){r.assign(this,{password:e,passwordVerification:t}),tt(this,e)},transform(e,t){const r=this;let n,s;if(r.password){r.password=null;const t=ze(new p(12));t[11]=r.passwordVerification,n=new p(e.length+t.length),n.set(et(r,t),0),s=12}else n=new p(e.length),s=0;n.set(et(r,e),s),t.enqueue(n)}})}}function $e(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,r[n]);return r}function et(e,t){const r=new p(t.length);for(let n=0;n<t.length;n++)r[n]=nt(e)^t[n],rt(e,t[n]);return r}function tt(e,t){const n=[305419896,591751049,878082192];r.assign(e,{keys:n,crcKey0:new ue(n[0]),crcKey2:new ue(n[2])});for(let r=0;r<t.length;r++)rt(e,t.charCodeAt(r))}function rt(e,t){let[r,n,s]=e.keys;e.crcKey0.append([t]),r=~e.crcKey0.get(),n=at(i.imul(at(n+st(r)),134775813)+1),e.crcKey2.append([n>>>24]),s=~e.crcKey2.get(),e.keys=[r,n,s]}function nt(e){const t=2|e.keys[2];return st(i.imul(t,1^t)>>>8)}function st(e){return 255&e}function at(e){return 4294967295&e}const it="deflate-raw";class ot extends k{constructor(e,{chunkSize:t,CompressionStream:r,CompressionStreamNative:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,d=this;let u,f,p=ct(super.readable);a&&!o||!l||(u=new fe,p=ft(p,u)),s&&(p=ut(p,i,{level:c,chunkSize:t},n,r)),a&&(o?p=ft(p,new Qe(e)):(f=new Be(e),p=ft(p,f))),dt(d,p,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new m(u.value.buffer).getUint32(0)),d.signature=e}))}}class lt extends k{constructor(e,{chunkSize:t,DecompressionStream:r,DecompressionStreamNative:n}){super({});const{zipCrypto:s,encrypted:a,signed:i,signature:o,compressed:l,useCompressionStream:c}=e;let d,u,p=ct(super.readable);a&&(s?p=ft(p,new Je(e)):(u=new Pe(e),p=ft(p,u))),l&&(p=ut(p,c,{chunkSize:t},n,r)),a&&!s||!i||(d=new fe,p=ft(p,d)),dt(this,p,(()=>{if((!a||s)&&i){const e=new m(d.value.buffer);if(o!=e.getUint32(0,!1))throw new f(xe)}}))}}function ct(e){return ft(e,new k({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function dt(e,t,n){t=ft(t,new k({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function ut(e,t,r,n,s){try{e=ft(e,new(t&&n?n:s)(it,r))}catch(n){if(!t)return e;try{e=ft(e,new s(it,r))}catch(t){return e}}return e}function ft(e,t){return e.pipeThrough(t)}const pt="data",ht="close",wt="deflate";class mt extends k{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(wt)?a=ot:s.startsWith("inflate")&&(a=lt);let i=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(){r.assign(n,{inputSize:o})}}),u=new k({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=l;r.assign(n,{signature:e,outputSize:i,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(l).pipeThrough(u)})}}class gt extends k{constructor(e){let t;super({transform:function r(n,s){if(t){const e=new p(t.length+n.length);e.set(t),e.set(n,t.length),n=e,t=null}n.length>e?(s.enqueue(n.slice(0,e)),r(n.slice(e),s)):t=n},flush(e){t&&t.length&&e.enqueue(t)}})}}let _t=typeof F!=te;class bt{constructor(e,{readable:t,writable:n},{options:s,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:c},d){const{signal:u}=i;return r.assign(e,{busy:!0,readable:t.pipeThrough(new gt(a.chunkSize)).pipeThrough(new yt(t,i),{signal:u}),writable:n,options:r.assign({},s),scripts:c,transferStreams:l,terminate:()=>new _((t=>{const{worker:r,busy:n}=e;r?(n?e.resolveTerminated=t:(r.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&&_t?zt:St)(e,a)}}class yt extends k{constructor(e,{onstart:t,onprogress:r,size:n,onend:s}){let a=0;super({async start(){t&&await xt(t,n)},async transform(e,t){a+=e.length,r&&await xt(r,a,n),t.enqueue(e)},async flush(){e.size=a,s&&await xt(s,a)}})}}async function xt(e,...t){try{await e(...t)}catch(e){}}function St(e,t){return{run:()=>(async({options:e,readable:t,writable:r,onTaskFinished:n},s)=>{try{const n=new mt(e,s);await t.pipeThrough(n).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:i,outputSize:o}=n;return{signature:a,inputSize:i,outputSize:o}}finally{n()}})(e,t)}}function zt(e,t){const{baseURL:n,chunkSize:s}=t;if(!e.interface){let a;try{a=((e,t,n)=>{const s={type:"module"};let a,i;typeof e==re&&(e=e());try{a=new u(e,t)}catch(t){a=e}if(kt)try{i=new F(a)}catch(e){kt=!1,i=new F(a,s)}else i=new F(a,s);return i.addEventListener("message",(e=>(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:i,error:o}=e,{reader:l,writer:c,resolveResult:d,rejectResult:u,onTaskFinished:h}=t;try{if(o){const{message:e,stack:t,code:n,name:s}=o,a=new f(e);r.assign(a,{stack:t,code:n,name:s}),w(a)}else{if("pull"==n){const{value:e,done:r}=await l.read();Et({type:pt,value:e,done:r,messageId:a},t)}n==pt&&(await c.ready,await c.write(new p(s)),Et({type:"ack",messageId:a},t)),n==ht&&w(null,i)}}catch(o){Et({type:ht,messageId:a},t),w(o)}function w(e,t){e?u(e):d(t),c&&c.releaseLock(),h()}})(e,n))),i})(e.scripts[0],n,e)}catch(r){return _t=!1,St(e,t)}r.assign(e,{worker:a,interface:{run:()=>(async(e,t)=>{let n,s;const a=new _(((e,t)=>{n=e,s=t}));r.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:s,result:a});const{readable:i,options:o,scripts:l}=e,{writable:c,closed:d}=(e=>{let t;const r=new _((e=>t=e));return{writable:new E({async write(t){const r=e.getWriter();await r.ready,await r.write(t),r.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)}),closed:r}})(e.writable),u=Et({type:"start",scripts:l.slice(1),options:o,config:t,readable:i,writable:c},e);u||r.assign(e,{reader:i.getReader(),writer:c.getWriter()});const f=await a;return u||await c.getWriter().close(),await d,f})(e,{chunkSize:s})}})}return e.interface}let kt=!0,vt=!0;function Et(e,{worker:t,writer:r,onTaskFinished:n,transferStreams:s}){try{const{value:r,readable:n,writable:a}=e,i=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,i.push(e.value)),s&&vt?(n&&i.push(n),a&&i.push(a)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch(r){vt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),n(),e}}let Rt=[];const Dt=[];let Tt=0;function Ft(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const At="HTTP error ",Ct="HTTP Range not supported",Wt="Writer iterator completed too soon",Nt="Range",Ut="GET",It="bytes",Lt=65536,Ot="writable";class Ht{constructor(){this.size=0}init(){this.initialized=!0}}class Mt extends Ht{get readable(){const e=this,{chunkSize:t=Lt}=e,r=new v({start(){this.chunkOffset=0},async pull(n){const{offset:s=0,size:a,diskNumberStart:o}=r,{chunkOffset:l}=this;n.enqueue(await cr(e,s+l,i.min(t,a-l),o)),l+t>a?n.close():this.chunkOffset+=t}});return r}}class qt extends Ht{constructor(){super();const e=this,t=new E({write:t=>e.writeUint8Array(t)});r.defineProperty(e,Ot,{get:()=>t})}writeUint8Array(){}}class Pt extends Mt{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new p(a)}}class Bt extends Ht{constructor(e){super();const t=new k,n=[];e&&n.push(["Content-Type",e]),r.defineProperty(this,Ot,{get:()=>t.writable}),this.blob=new d(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Vt extends Mt{constructor(e,t){super(),Kt(this,e,t)}async init(){await jt(this,tr,Jt),super.init()}readUint8Array(e,t){return Xt(this,e,t,tr,Jt)}}class Zt extends Mt{constructor(e,t){super(),Kt(this,e,t)}async init(){await jt(this,rr,Qt),super.init()}readUint8Array(e,t){return Xt(this,e,t,rr,Qt)}}function Kt(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o})}async function jt(e,t,r){const{url:n,preventHeadRequest:a,useRangeHeader:i,forceRangeRequests:o,combineSizeEocd:l}=e;if((e=>{const{baseURL:t}=oe(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||o)&&(void 0===a||a)){const n=await t(Ut,e,Yt(e,l?-22:void 0));if(!o&&n.headers.get("Accept-Ranges")!=It)throw new f(Ct);{let a;l&&(e.eocdCache=new p(await n.arrayBuffer()));const i=n.headers.get("Content-Range");if(i){const e=i.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(a=s(t))}}a===ee?await er(e,t,r):e.size=a}}else await er(e,t,r)}async function Xt(e,t,r,n,s){const{useRangeHeader:a,forceRangeRequests:i,eocdCache:o,size:l,options:c}=e;if(a||i){if(o&&t==l-22&&22==r)return o;const s=await n(Ut,e,Yt(e,t,r));if(206!=s.status)throw new f(Ct);return new p(await s.arrayBuffer())}{const{data:n}=e;return n||await s(e,c),new p(e.data.subarray(t,t+r))}}function Yt(e,t=0,n=1){return r.assign({},Gt(e),{[Nt]:It+"="+(0>t?t:t+"-"+(t+n-1))})}function Gt({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Jt(e){await $t(e,tr)}async function Qt(e){await $t(e,rr)}async function $t(e,t){const r=await t(Ut,e,Gt(e));e.data=new p(await r.arrayBuffer()),e.size||(e.size=e.data.length)}async function er(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=(await t("HEAD",e,Gt(e))).headers.get("Content-Length");n?e.size=s(n):await r(e,e.options)}}async function tr(e,{options:t,url:n},s){const a=await fetch(n,r.assign({},t,{method:e,headers:s}));if(400>a.status)return a;throw 416==a.status?new f(Ct):new f(At+(a.statusText||a.status))}function rr(e,{url:t},n){return new _(((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",(()=>{if(400>i.status){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,(e=>e.toUpperCase())),e.push(r)})),s({status:i.status,arrayBuffer:()=>i.response,headers:new l(e)})}else a(416==i.status?new f(Ct):new f(At+(i.statusText||i.status)))}),!1),i.addEventListener("error",(e=>a(e.detail?e.detail.error:new f("Network error"))),!1),i.open(e,t),n)for(const e of r.entries(n))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()}))}class nr extends Mt{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR?new Zt(e,t):new Vt(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 sr extends Mt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await _.all(t.map((async(r,n)=>{await r.init(),n!=t.length-1&&(e.lastDiskOffset+=r.size),e.size+=r.size}))),super.init()}async readUint8Array(e,t,r=0){const n=this,{readers:s}=this;let a,o=r;-1==o&&(o=s.length-1);let l=e;for(;l>=s[o].size;)l-=s[o].size,o++;const c=s[o],d=c.size;if(l+t>d){const s=d-l;a=new p(t),a.set(await cr(c,l,s)),a.set(await n.readUint8Array(e+s,t-s,r),s)}else a=await cr(c,l,t);return n.lastDiskNumber=i.max(o,n.lastDiskNumber),a}}class ar extends Ht{constructor(e,t=4294967295){super();const n=this;let s,a,i;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new E({async write(t){const{availableSize:r}=n;if(i)t.length<r?await l(t):(await l(t.slice(0,r)),await c(),n.diskOffset+=s.size,n.diskNumber++,i=null,await this.write(t.slice(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new f(Wt);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ir(s),a=r.writable,i=a.getWriter(),await this.write(t)}},async close(){await i.ready,await c()}});async function l(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,n.size+=t,n.availableSize-=t)}async function c(){a.size=s.size,await i.close()}r.defineProperty(n,Ot,{get:()=>o})}}async function ir(e,t){if(!e.init||e.initialized)return _.resolve();await e.init(t)}function or(e){return t.isArray(e)&&(e=new sr(e)),e instanceof v&&(e={readable:e}),e}function lr(e){e.writable===ee&&typeof e.next==re&&(e=new ar(e)),e instanceof E&&(e={writable:e});const{writable:t}=e;return t.size===ee&&(t.size=0),e instanceof ar||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function cr(e,t,r,n){return e.readUint8Array(t,r,n)}const dr=sr,ur=ar,fr="diskNumberStart",pr="lastModDate",hr="lastAccessDate",wr="creationDate",mr="internalFileAttribute",gr="internalFileAttributes",_r="externalFileAttribute",br="externalFileAttributes",yr="msDosCompatible",xr="zip64",Sr="encrypted",zr="version",kr="versionMadeBy",vr="zipCrypto",Er="directory",Rr="executable",Dr=["filename","rawFilename","compressedSize","uncompressedSize",pr,"rawLastModDate","comment","rawComment",hr,wr,"offset",fr,fr,mr,gr,_r,br,yr,xr,Sr,zr,kr,vr,Er,Rr,"bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Tr{constructor(e){Dr.forEach((t=>this[t]=e[t]))}}const Fr="File already exists",Ar="Zip file comment exceeds 64KB",Cr="File entry comment exceeds 64KB",Wr="File entry name exceeds 64KB",Nr="Version exceeds 65535",Ur="The strength must equal 1, 2, or 3",Ir="Extra field type exceeds 65535",Lr="Extra field data exceeds 64KB",Or="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Hr="Undefined uncompressed size",Mr=new p([7,0,2,0,65,69,3,0,0]);let qr=0;const Pr=[];class Br{constructor(e,t={}){const n=(e=lr(e)).availableSize!==ee&&e.availableSize>0&&e.availableSize!==1/0&&e.maxSize!==ee&&e.maxSize>0&&e.maxSize!==1/0;r.assign(this,{writer:e,addSplitZipSignature:n,options:t,config:oe(),files:new l,filenames:new c,offset:t.offset===ee?e.writable.size:t.offset,pendingEntriesSize:0,pendingAddFileCalls:new c,bufferedWrites:0})}async add(e="",n,l={}){const c=this,{pendingAddFileCalls:u,config:g}=c;let b;qr<g.maxWorkers?qr++:await new _((e=>Pr.push(e)));try{if(e=e.trim(),c.filenames.has(e))throw new f(Fr);return c.filenames.add(e),b=(async(e,n,l,c)=>{n=n.trim();const u=Kr(e,c,yr),g=Kr(e,c,kr,u?20:768),b=Kr(e,c,Rr);if(g>Y)throw new f(Nr);let y=Kr(e,c,br,0);0===y&&(y=Kr(e,c,_r,0)),!c.directory&&n.endsWith("/")&&(c.directory=!0),Kr(e,c,Er)?(n.endsWith("/")||(n+="/"),0===y&&(y=u?16:16384<<16)):u||0!==y||(y=b?493<<16:27525120);const x=Kr(e,c,"encodeText",pe);let S=x(n);if(S===ee&&(S=pe(n)),en(S)>Y)throw new f(Wr);const z=c.comment||"";let v=x(z);if(v===ee&&(v=pe(z)),en(v)>Y)throw new f(Cr);const E=Kr(e,c,zr,20);if(E>Y)throw new f(Nr);const R=Kr(e,c,pr,new o),D=Kr(e,c,hr),T=Kr(e,c,wr);let F=Kr(e,c,gr,0);0===F&&(F=Kr(e,c,mr,0));const A=Kr(e,c,"passThrough");let C,W;A||(C=Kr(e,c,"password"),W=Kr(e,c,"rawPassword"));const N=Kr(e,c,"encryptionStrength",3),U=Kr(e,c,vr),I=Kr(e,c,"extendedTimestamp",!0),L=Kr(e,c,"keepOrder",!0),O=Kr(e,c,"level"),H=Kr(e,c,"useWebWorkers"),M=Kr(e,c,"bufferedWrite"),q=Kr(e,c,"dataDescriptorSignature",!1),P=Kr(e,c,"signal"),B=Kr(e,c,"useUnicodeFileNames",!0),V=Kr(e,c,"useCompressionStream"),Z=Kr(e,c,"compressionMethod");let K=Kr(e,c,"dataDescriptor",!0),j=Kr(e,c,xr);if(!U&&(C!==ee||W!==ee)&&(1>N||N>3))throw new f(Ur);let te=new p;const{extraField:re}=c;if(re){let e=0,t=0;re.forEach((t=>e+=4+en(t))),te=new p(e),re.forEach(((e,r)=>{if(r>Y)throw new f(Ir);if(en(e)>Y)throw new f(Lr);Qr(te,new h([r]),t),Qr(te,new h([en(e)]),t+2),Qr(te,e,t+4),t+=4+en(e)}))}let ne=0,se=0,ae=0;if(A&&(({uncompressedSize:ae}=c),ae===ee))throw new f(Hr);const ie=!0===j;l&&(l=or(l),await ir(l),A?ne=jr(ae):l.size===ee?(K=!0,(j||j===ee)&&(j=!0,ae=ne=4294967296)):(ae=l.size,ne=jr(ae)));const{diskOffset:oe,diskNumber:le,maxSize:ce}=e.writer,de=ie||ae>X,ue=ie||ne>X,fe=ie||e.offset+e.pendingEntriesSize-oe>X,he=Kr(e,c,"supportZip64SplitFile",!0)&&ie||le+i.ceil(e.pendingEntriesSize/ce)>Y;if(fe||de||ue||he){if(!1===j||!L)throw new f(Or);j=!0}j=j||!1;const we=Kr(e,c,Sr),{signature:me}=c,ge=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:o,zipCrypto:l,useUnicodeFileNames:c,dataDescriptor:d,directory:u,rawExtraField:f,encryptionStrength:h,extendedTimestamp:m,encrypted:g}=e;let{version:_,compressionMethod:b}=e;const y=!u&&(a>0||a===ee&&0!==b);let x,S,z,k;if(g&&!l){x=new p(en(Mr)+2);const e=$r(x);Yr(e,0,39169),Qr(x,Mr,2),Xr(e,8,h)}else x=new p;if(m){z=new p(9+(n?4:0)+(s?4:0));const e=$r(z);Yr(e,0,21589),Yr(e,2,en(z)-4),k=1+(n?2:0)+(s?4:0),Xr(e,4,k);let t=5;Gr(e,t,i.floor(r.getTime()/1e3)),t+=4,n&&(Gr(e,t,i.floor(n.getTime()/1e3)),t+=4),s&&Gr(e,t,i.floor(s.getTime()/1e3));try{S=new p(36);const e=$r(S),t=Zr(r);Yr(e,0,10),Yr(e,2,32),Yr(e,8,1),Yr(e,10,24),Jr(e,12,t),Jr(e,20,Zr(n)||t),Jr(e,28,Zr(s)||t)}catch(e){S=new p}}else S=z=new p;let v=0;c&&(v|=2048),d&&(v|=8),b===ee&&(b=y?8:0),8==b&&(a>=1&&3>a&&(v|=6),a>=3&&5>a&&(v|=1),9===a&&(v|=2)),o&&(_=_>45?_:45),g&&(v|=1,l||(_=_>51?_:51,x[9]=b,b=99));const E=new p(26),R=$r(E);Yr(R,0,_),Yr(R,2,v),Yr(R,4,b);const D=new w(1),T=$r(D);let F;F=$>r?$:r>Q?Q:r,Yr(T,0,(F.getHours()<<6|F.getMinutes())<<5|F.getSeconds()/2),Yr(T,2,(F.getFullYear()-1980<<4|F.getMonth()+1)<<5|F.getDate());const A=D[0];Gr(R,6,A),Yr(R,22,en(t));const C=en(x,z,S,f);Yr(R,24,C);const W=new p(30+en(t)+C);return Gr($r(W),0,67324752),Qr(W,E,4),Qr(W,t,30),Qr(W,x,30+en(t)),Qr(W,z,30+en(t,x)),Qr(W,S,30+en(t,x,z)),Qr(W,f,30+en(t,x,z,S)),{localHeaderArray:W,headerArray:E,headerView:R,lastModDate:r,rawLastModDate:A,encrypted:g,compressed:y,version:_,compressionMethod:b,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:z,rawExtraFieldNTFS:S,rawExtraFieldAES:x,extraFieldLength:C}})(c=r.assign({},c,{rawFilename:S,rawComment:v,version:E,versionMadeBy:g,lastModDate:R,lastAccessDate:D,creationDate:T,rawExtraField:te,zip64:j,zip64UncompressedSize:de,zip64CompressedSize:ue,zip64Offset:fe,zip64DiskNumberStart:he,password:C,rawPassword:W,level:V||e.config.CompressionStream!==ee||e.config.CompressionStreamNative!==ee?O:0,useWebWorkers:H,encryptionStrength:N,extendedTimestamp:I,zipCrypto:U,bufferedWrite:M,keepOrder:L,useUnicodeFileNames:B,dataDescriptor:K,dataDescriptorSignature:q,signal:P,msDosCompatible:u,internalFileAttribute:F,internalFileAttributes:F,externalFileAttribute:y,externalFileAttributes:y,useCompressionStream:V,passThrough:A,encrypted:!!(C&&en(C)||W&&en(W))||A&&we,signature:me,compressionMethod:Z})),_e=(e=>{const{zip64:t,dataDescriptor:r,dataDescriptorSignature:n}=e;let s,a=new p,i=0;return r&&(a=new p(t?n?24:20:n?16:12),s=$r(a),n&&(i=4,Gr(s,0,J))),{dataDescriptorArray:a,dataDescriptorView:s,dataDescriptorOffset:i}})(c),be=en(ge.localHeaderArray,_e.dataDescriptorArray);let ye;se=be+ne,e.options.usdz&&(se+=se+64),e.pendingEntriesSize+=se;try{ye=await(async(e,n,o,l,c)=>{const{files:u,writer:h}=e,{keepOrder:w,dataDescriptor:g,signal:b}=c,{headerInfo:y}=l,{usdz:x}=e.options,S=t.from(u.values()).pop();let z,v,E,R,D,T,F,A={};u.set(n,A);try{let t;w&&(t=S&&S.lock,A.lock=new _((e=>E=e))),!(c.bufferedWrite||e.writerLocked||e.bufferedWrites&&w)&&g||x?(T=h,await C()):(T=new k,F=new d(T.readable).blob(),T.writable.size=0,z=!0,e.bufferedWrites++,await ir(h)),await ir(T);const{writable:y}=h;let{diskOffset:v}=h;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const t=new p(4);Gr($r(t),0,G),await Vr(y,t),e.offset+=4}x&&((e,t)=>{const{headerInfo:r}=e;let{localHeaderArray:n,extraFieldLength:s}=r,a=$r(n),i=64-(t+en(n))%64;4>i&&(i+=64);const o=new p(i),l=$r(o);Yr(l,0,6534),Yr(l,2,i-2);const c=n;r.localHeaderArray=n=new p(en(c)+i),Qr(n,c),Qr(n,o,en(c)),a=$r(n),Yr(a,28,s+i),e.metadataSize+=i})(l,e.offset-v),z||(await t,await W(y));const{diskNumber:N}=h;if(D=!0,A.diskNumberStart=N,A=await(async(e,t,{diskNumberStart:n,lock:o},l,c,d)=>{const{headerInfo:u,dataDescriptorInfo:f,metadataSize:h}=l,{localHeaderArray:w,headerArray:m,lastModDate:g,rawLastModDate:b,encrypted:y,compressed:x,version:S,compressionMethod:z,rawExtraFieldExtendedTimestamp:k,extraFieldExtendedTimestampFlag:v,rawExtraFieldNTFS:E,rawExtraFieldAES:R}=u,{dataDescriptorArray:D}=f,{rawFilename:T,lastAccessDate:F,creationDate:A,password:C,rawPassword:W,level:N,zip64:U,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H,zipCrypto:M,dataDescriptor:q,directory:P,executable:B,versionMadeBy:V,rawComment:Z,rawExtraField:K,useWebWorkers:j,onstart:Y,onprogress:G,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,useCompressionStream:ae,passThrough:ie}=d,oe={lock:o,versionMadeBy:V,zip64:U,directory:!!P,executable:!!B,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:Z,rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:E,rawExtraFieldAES:R,rawExtraField:K,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n};let{signature:le,uncompressedSize:ce}=d,de=0;ie||(ce=0);const{writable:ue}=t;if(e){e.chunkSize=(e=>i.max(e.chunkSize,64))(c),await Vr(ue,w);const t=e.readable,r=t.size=e.size,n={options:{codecType:wt,level:N,rawPassword:W,password:C,encryptionStrength:$,zipCrypto:y&&M,passwordVerification:y&&M&&b>>8&255,signed:!ie,compressed:x&&!ie,encrypted:y&&!ie,useWebWorkers:j,useCompressionStream:ae,transferStreams:!1},config:c,streamOptions:{signal:Q,size:r,onstart:Y,onprogress:G,onend:J}},a=await(async(e,t)=>{const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,codecType:l,compressed:c,signed:d,encrypted:u}=r,{workerScripts:f,maxWorkers:p}=n;t.transferStreams=a||a===ee;const h=!(c||d||u||t.transferStreams);return t.useWebWorkers=!h&&(i||i===ee&&n.useWebWorkers),t.scripts=t.useWebWorkers&&f?f[l]:[],r.useCompressionStream=o||o===ee&&n.useCompressionStream,(await(async()=>{const r=Rt.find((e=>!e.busy));if(r)return Ft(r),new bt(r,e,t,w);if(Rt.length<p){const r={indexWorker:Tt};return Tt++,Rt.push(r),new bt(r,e,t,w)}return new _((r=>Dt.push({resolve:r,stream:e,workerOptions:t})))})()).run();function w(e){if(Dt.length){const[{resolve:t,stream:r,workerOptions:n}]=Dt.splice(0,1);t(new bt(e,r,n,w))}else e.worker?(Ft(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Rt=Rt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),n))})(e,t)):Rt=Rt.filter((t=>t!=e))}})({readable:t,writable:ue},n);de=a.outputSize,ie||(ce=a.inputSize,le=a.signature),ue.size+=ce}else await Vr(ue,w);let fe;if(U){let e=4;I&&(e+=8),L&&(e+=8),O&&(e+=8),H&&(e+=4),fe=new p(e)}else fe=new p;return((e,t)=>{const{signature:r,rawExtraFieldZip64:n,compressedSize:s,uncompressedSize:i,headerInfo:o,dataDescriptorInfo:l}=e,{headerView:c,encrypted:d}=o,{dataDescriptorView:u,dataDescriptorOffset:f}=l,{zip64:p,zip64UncompressedSize:h,zip64CompressedSize:w,zipCrypto:m,dataDescriptor:g}=t;if(d&&!m||r===ee||(Gr(c,10,r),g&&Gr(u,f,r)),p){const e=$r(n);Yr(e,0,1),Yr(e,2,en(n)-4);let t=4;h&&(Gr(c,18,X),Jr(e,t,a(i)),t+=8),w&&(Gr(c,14,X),Jr(e,t,a(s))),g&&(Jr(u,f+4,a(s)),Jr(u,f+12,a(i)))}else Gr(c,14,s),Gr(c,18,i),g&&(Gr(u,f+4,s),Gr(u,f+8,i))})({signature:le,rawExtraFieldZip64:fe,compressedSize:de,uncompressedSize:ce,headerInfo:u,dataDescriptorInfo:f},d),q&&await Vr(ue,D),r.assign(oe,{uncompressedSize:ce,compressedSize:de,lastModDate:g,rawLastModDate:b,creationDate:A,lastAccessDate:F,encrypted:y,zipCrypto:M,size:h+de,compressionMethod:z,version:S,headerArray:m,signature:le,rawExtraFieldZip64:fe,extraFieldExtendedTimestampFlag:v,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:O,zip64DiskNumberStart:H}),oe})(o,T,A,l,e.config,c),D=!1,u.set(n,A),A.filename=n,z){await T.writable.getWriter().close();let e=await F;await t,await C(),R=!0,g||(e=await(async(e,t,r,{zipCrypto:n})=>{let s;s=await t.slice(0,26).arrayBuffer(),26!=s.byteLength&&(s=s.slice(0,26));const a=new m(s);return e.encrypted&&!n||Gr(a,14,e.signature),e.zip64?(Gr(a,18,X),Gr(a,22,X)):(Gr(a,18,e.compressedSize),Gr(a,22,e.uncompressedSize)),await Vr(r,new p(s)),t.slice(s.byteLength)})(A,e,y,c)),await W(y),A.diskNumberStart=h.diskNumber,v=h.diskOffset,await e.stream().pipeTo(y,{preventClose:!0,preventAbort:!0,signal:b}),y.size+=e.size,R=!1}if(A.offset=e.offset-v,A.zip64)((e,t)=>{const{rawExtraFieldZip64:r,offset:n,diskNumberStart:s}=e,{zip64UncompressedSize:i,zip64CompressedSize:o,zip64Offset:l,zip64DiskNumberStart:c}=t,d=$r(r);let u=4;i&&(u+=8),o&&(u+=8),l&&(Jr(d,u,a(n)),u+=8),c&&Gr(d,u,s)})(A,c);else if(A.offset>X)throw new f(Or);return e.offset+=A.size,A}catch(t){if(z&&R||!z&&D){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(e){}z?e.offset+=T.writable.size:e.offset=T.writable.size}throw u.delete(n),t}finally{z&&e.bufferedWrites--,E&&E(),v&&v()}async function C(){e.writerLocked=!0;const{lockWriter:t}=e;e.lockWriter=new _((t=>v=()=>{e.writerLocked=!1,t()})),await t}async function W(e){en(y.localHeaderArray)>h.availableSize&&(h.availableSize=0,await Vr(e,new p))}})(e,n,l,{headerInfo:ge,dataDescriptorInfo:_e,metadataSize:be},c)}finally{e.pendingEntriesSize-=se}return r.assign(ye,{name:n,comment:z,extraField:re}),new Tr(ye)})(c,e,n,l),u.add(b),await b}catch(t){throw c.filenames.delete(e),t}finally{u.delete(b);const e=Pr.shift();e?e():qr--}}async close(e=new p,r={}){const{pendingAddFileCalls:n,writer:s}=this,{writable:o}=s;for(;n.size;)await _.allSettled(t.from(n));return await(async(e,r,n)=>{const{files:s,writer:o}=e,{diskOffset:l,writable:c}=o;let{diskNumber:d}=o,u=0,h=0,w=e.offset-l,m=s.size;for(const[,e]of s){const{rawFilename:t,rawExtraFieldZip64:r,rawExtraFieldAES:n,rawComment:s,rawExtraFieldNTFS:a,rawExtraField:o,extendedTimestamp:l,extraFieldExtendedTimestampFlag:c,lastModDate:d}=e;let u;if(l){u=new p(9);const e=$r(u);Yr(e,0,21589),Yr(e,2,5),Xr(e,4,c),Gr(e,5,i.floor(d.getTime()/1e3))}else u=new p;e.rawExtraFieldCDExtendedTimestamp=u,h+=46+en(t,s,r,n,a,u,o)}const g=new p(h),_=$r(g);await ir(o);let b=0;for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:a,rawExtraFieldZip64:i,rawExtraFieldAES:l,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:f,rawExtraField:p,rawComment:h,versionMadeBy:w,headerArray:m,zip64:y,zip64UncompressedSize:x,zip64CompressedSize:S,zip64DiskNumberStart:z,zip64Offset:k,internalFileAttributes:v,externalFileAttributes:E,diskNumberStart:R,uncompressedSize:D,compressedSize:T}=r,F=en(i,l,d,f,p);Gr(_,u,33639248),Yr(_,u+4,w);const A=$r(m);x||Gr(A,18,D),S||Gr(A,14,T),Qr(g,m,u+6),Yr(_,u+30,F),Yr(_,u+32,en(h)),Yr(_,u+34,y&&z?Y:R),Yr(_,u+36,v),E&&Gr(_,u+38,E),Gr(_,u+42,y&&k?X:t),Qr(g,a,u+46),Qr(g,i,u+46+en(a)),Qr(g,l,u+46+en(a,i)),Qr(g,d,u+46+en(a,i,l)),Qr(g,f,u+46+en(a,i,l,d)),Qr(g,p,u+46+en(a,i,l,d,f)),Qr(g,h,u+46+en(a)+F);const C=46+en(a,h)+F;if(u-b>o.availableSize&&(o.availableSize=0,await Vr(c,g.slice(b,u)),b=u),u+=C,n.onprogress)try{await n.onprogress(e+1,s.size,new Tr(r))}catch(e){}}await Vr(c,b?g.slice(b):g);let y=o.diskNumber;const{availableSize:x}=o;22>x&&y++;let S=Kr(e,n,xr);if(w>X||h>X||m>Y||y>Y){if(!1===S)throw new f(Or);S=!0}const z=new p(S?98:22),k=$r(z);u=0,S&&(Gr(k,0,101075792),Jr(k,4,a(44)),Yr(k,12,45),Yr(k,14,45),Gr(k,16,y),Gr(k,20,d),Jr(k,24,a(m)),Jr(k,32,a(m)),Jr(k,40,a(h)),Jr(k,48,a(w)),Gr(k,56,117853008),Jr(k,64,a(w)+a(h)),Gr(k,72,y+1),Kr(e,n,"supportZip64SplitFile",!0)&&(y=Y,d=Y),m=Y,w=X,h=X,u+=76),Gr(k,u,101010256),Yr(k,u+4,y),Yr(k,u+6,d),Yr(k,u+8,m),Yr(k,u+10,m),Gr(k,u+12,h),Gr(k,u+16,w);const v=en(r);if(v){if(v>Y)throw new f(Ar);Yr(k,u+20,v)}await Vr(c,z),v&&await Vr(c,r)})(this,e,r),Kr(this,r,"preventClose")||await o.getWriter().close(),s.getData?s.getData():o}}async function Vr(e,t){const r=e.getWriter();try{await r.ready,e.size+=en(t),await r.write(t)}finally{r.releaseLock()}}function Zr(e){if(e)return(a(e.getTime())+a(116444736e5))*a(1e4)}function Kr(e,t,r,n){const s=t[r]===ee?e.options[r]:t[r];return s===ee?n:s}function jr(e){return e+5*(i.floor(e/16383)+1)}function Xr(e,t,r){e.setUint8(t,r)}function Yr(e,t,r){e.setUint16(t,r,!0)}function Gr(e,t,r){e.setUint32(t,r,!0)}function Jr(e,t,r){e.setBigUint64(t,r,!0)}function Qr(e,t,r){e.set(t,r)}function $r(e){return new m(e.buffer)}function en(...e){let t=0;return e.forEach((e=>e&&(t+=e.length))),t}le({Deflate:function(e){const t=new j,r=(n=e&&e.chunkSize?e.chunkSize:65536)+5*(i.floor(n/16383)+1);var n;const s=new p(r);let a=e?e.level:-1;void 0===a&&(a=-1),t.deflateInit(a),t.next_out=s,this.append=(e,n)=>{let a,i,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=r,a=t.deflate(0),0!=a)throw new f("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==r?d.push(new p(s)):d.push(s.subarray(0,t.next_out_index))),c+=t.next_out_index,n&&t.next_in_index>0&&t.next_in_index!=o&&(n(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(i=new p(c),d.forEach((e=>{i.set(e,l),l+=e.length}))):i=d[0]?new p(d[0]):new p,i}},this.flush=()=>{let e,n,a=0,i=0;const o=[];do{if(t.next_out_index=0,t.avail_out=r,e=t.deflate(4),1!=e&&0!=e)throw new f("deflating: "+t.msg);r-t.avail_out>0&&o.push(s.slice(0,t.next_out_index)),i+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),n=new p(i),o.forEach((e=>{n.set(e,a),a+=e.length})),n}}}),e.BlobReader=Pt,e.BlobWriter=Bt,e.Data64URIReader=class extends Mt{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,dataStart:n,size:i.floor(.75*(t-n))})}readUint8Array(e,t){const{dataStart:r,dataURI:n}=this,s=new p(t),a=4*i.floor(e/3),o=atob(n.substring(a+r,4*i.ceil((e+t)/3)+r)),l=e-3*i.floor(a/4);for(let e=l;l+t>e;e++)s[e-l]=o.charCodeAt(e);return s}},e.Data64URIWriter=class extends qt{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r=0,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*i.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=z(s):t.pending=s}getData(){return this.data+z(this.pending)}},e.ERR_DUPLICATED_NAME=Fr,e.ERR_HTTP_RANGE=Ct,e.ERR_INVALID_COMMENT=Ar,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ur,e.ERR_INVALID_ENTRY_COMMENT=Cr,e.ERR_INVALID_ENTRY_NAME=Wr,e.ERR_INVALID_EXTRAFIELD_DATA=Lr,e.ERR_INVALID_EXTRAFIELD_TYPE=Ir,e.ERR_INVALID_VERSION=Nr,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Wt,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Hr,e.ERR_UNSUPPORTED_FORMAT=Or,e.HttpRangeReader=class extends nr{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=nr,e.Reader=Mt,e.SplitDataReader=sr,e.SplitDataWriter=ar,e.SplitZipReader=dr,e.SplitZipWriter=ur,e.TextReader=class extends Pt{constructor(e){super(new g([e],{type:"text/plain"}))}},e.TextWriter=class extends Bt{constructor(e){super(e),r.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new _(((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)}))}}},e.Uint8ArrayReader=class extends Mt{constructor(e){super(),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends qt{init(e=0){r.assign(this,{offset:0,array:new p(e)}),super.init()}writeUint8Array(e){const t=this;if(t.offset+e.length>t.array.length){const r=t.array;t.array=new p(r.length+e.length),t.array.set(r)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.array}},e.Writer=qt,e.ZipWriter=Br,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new k;this.readable=t,this.zipWriter=new Br(r,e)}transform(e){const{readable:t,writable:r}=new k({flush:()=>{this.zipWriter.close()}});return this.zipWriter.add(e,t),{readable:this.readable,writable:r}}writable(e){const{readable:t,writable:r}=new k;return this.zipWriter.add(e,t),r}close(e,t={}){return this.zipWriter.close(e,t)}},e.configure=le,e.getMimeType=()=>"application/octet-stream",e.initReader=or,e.initStream=ir,e.initWriter=lr,e.readUint8Array=cr,e.terminateWorkers=async()=>{await _.allSettled(Rt.map((e=>(Ft(e),e.terminate()))))}})); |
@@ -1191,2 +1191,8 @@ /** | ||
/** | ||
* `true` if the entry is an executable file. | ||
* | ||
* @defaultValue false | ||
*/ | ||
executable?: boolean; | ||
/** | ||
* The comment of the entry. | ||
@@ -1361,3 +1367,3 @@ */ | ||
* | ||
* @defaultValue true | ||
* @defaultValue false | ||
*/ | ||
@@ -1364,0 +1370,0 @@ msDosCompatible?: boolean; |
@@ -63,2 +63,3 @@ /* | ||
const FILE_ATTR_UNIX_EXECUTABLE_MASK = 0o111; | ||
const FILE_ATTR_UNIX_DEFAULT_MASK = 0o644; | ||
@@ -110,2 +111,3 @@ const VERSION_DEFLATE = 0x14; | ||
FILE_ATTR_UNIX_EXECUTABLE_MASK, | ||
FILE_ATTR_UNIX_DEFAULT_MASK, | ||
VERSION_DEFLATE, | ||
@@ -112,0 +114,0 @@ VERSION_ZIP64, |
@@ -53,2 +53,4 @@ /* | ||
const PROPERTY_NAME_ZIPCRYPTO = "zipCrypto"; | ||
const PROPERTY_NAME_DIRECTORY = "directory"; | ||
const PROPERTY_NAME_EXECUTABLE = "executable"; | ||
@@ -59,3 +61,3 @@ const PROPERTY_NAMES = [ | ||
PROPERTY_NAME_LAST_ACCESS_DATE, PROPERTY_NAME_CREATION_DATE, PROPERTY_NAME_OFFSET, PROPERTY_NAME_DISK_NUMBER_START, | ||
PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY, PROPERTY_NAME_ZIPCRYPTO, "directory", "executable", "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"]; | ||
PROPERTY_NAME_DISK_NUMBER_START, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, PROPERTY_NAME_MS_DOS_COMPATIBLE, PROPERTY_NAME_ZIP64, PROPERTY_NAME_ENCRYPTED, PROPERTY_NAME_VERSION, PROPERTY_NAME_VERSION_MADE_BY, PROPERTY_NAME_ZIPCRYPTO, PROPERTY_NAME_DIRECTORY, PROPERTY_NAME_EXECUTABLE, "bitFlag", "signature", "filenameUTF8", "commentUTF8", "compressionMethod", "extraField", "rawExtraField", "extraFieldZip64", "extraFieldUnicodePath", "extraFieldUnicodeComment", "extraFieldAES", "extraFieldNTFS", "extraFieldExtendedTimestamp"]; | ||
@@ -95,3 +97,5 @@ class Entry { | ||
PROPERTY_NAME_ZIPCRYPTO, | ||
PROPERTY_NAME_DIRECTORY, | ||
PROPERTY_NAME_EXECUTABLE, | ||
Entry | ||
}; |
@@ -59,2 +59,5 @@ /* | ||
FILE_ATTR_MSDOS_DIR_MASK, | ||
FILE_ATTR_UNIX_DIR_MASK, | ||
FILE_ATTR_UNIX_EXECUTABLE_MASK, | ||
FILE_ATTR_UNIX_DEFAULT_MASK, | ||
VERSION_DEFLATE, | ||
@@ -96,2 +99,4 @@ VERSION_ZIP64, | ||
PROPERTY_NAME_ZIPCRYPTO, | ||
PROPERTY_NAME_DIRECTORY, | ||
PROPERTY_NAME_EXECUTABLE, | ||
Entry | ||
@@ -232,7 +237,34 @@ } from "./zip-entry.js"; | ||
name = name.trim(); | ||
if (options.directory && (!name.endsWith(DIRECTORY_SIGNATURE))) { | ||
name += DIRECTORY_SIGNATURE; | ||
} else { | ||
options.directory = name.endsWith(DIRECTORY_SIGNATURE); | ||
const msDosCompatible = getOptionValue(zipWriter, options, PROPERTY_NAME_MS_DOS_COMPATIBLE); | ||
const versionMadeBy = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION_MADE_BY, msDosCompatible ? 20 : 768); | ||
const executable = getOptionValue(zipWriter, options, PROPERTY_NAME_EXECUTABLE); | ||
if (versionMadeBy > MAX_16_BITS) { | ||
throw new Error(ERR_INVALID_VERSION); | ||
} | ||
let externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, 0); | ||
if (externalFileAttributes === 0) { | ||
externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE, 0); | ||
} | ||
if (!options.directory && name.endsWith(DIRECTORY_SIGNATURE)) { | ||
options.directory = true; | ||
} | ||
const directory = getOptionValue(zipWriter, options, PROPERTY_NAME_DIRECTORY); | ||
if (directory) { | ||
if (!name.endsWith(DIRECTORY_SIGNATURE)) { | ||
name += DIRECTORY_SIGNATURE; | ||
} | ||
if (externalFileAttributes === 0) { | ||
if (msDosCompatible) { | ||
externalFileAttributes = FILE_ATTR_MSDOS_DIR_MASK; | ||
} else { | ||
externalFileAttributes = FILE_ATTR_UNIX_DIR_MASK << 16; | ||
} | ||
} | ||
} else if (!msDosCompatible && externalFileAttributes === 0) { | ||
if (executable) { | ||
externalFileAttributes = (FILE_ATTR_UNIX_EXECUTABLE_MASK | FILE_ATTR_UNIX_DEFAULT_MASK) << 16; | ||
} else { | ||
externalFileAttributes = FILE_ATTR_UNIX_DEFAULT_MASK << 16; | ||
} | ||
} | ||
const encode = getOptionValue(zipWriter, options, "encodeText", encodeText); | ||
@@ -258,10 +290,5 @@ let rawFilename = encode(name); | ||
} | ||
const versionMadeBy = getOptionValue(zipWriter, options, PROPERTY_NAME_VERSION_MADE_BY, 20); | ||
if (versionMadeBy > MAX_16_BITS) { | ||
throw new Error(ERR_INVALID_VERSION); | ||
} | ||
const lastModDate = getOptionValue(zipWriter, options, PROPERTY_NAME_LAST_MODIFICATION_DATE, new Date()); | ||
const lastAccessDate = getOptionValue(zipWriter, options, PROPERTY_NAME_LAST_ACCESS_DATE); | ||
const creationDate = getOptionValue(zipWriter, options, PROPERTY_NAME_CREATION_DATE); | ||
const msDosCompatible = getOptionValue(zipWriter, options, PROPERTY_NAME_MS_DOS_COMPATIBLE, true); | ||
let internalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_INTERNAL_FILE_ATTRIBUTES, 0); | ||
@@ -271,6 +298,2 @@ if (internalFileAttributes === 0) { | ||
} | ||
let externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTES, 0); | ||
if (externalFileAttributes === 0) { | ||
externalFileAttributes = getOptionValue(zipWriter, options, PROPERTY_NAME_EXTERNAL_FILE_ATTRIBUTE, 0); | ||
} | ||
const passThrough = getOptionValue(zipWriter, options, "passThrough"); | ||
@@ -598,2 +621,3 @@ let password, rawPassword; | ||
directory, | ||
executable, | ||
versionMadeBy, | ||
@@ -620,2 +644,3 @@ rawComment, | ||
directory: Boolean(directory), | ||
executable: Boolean(executable), | ||
filenameUTF8: true, | ||
@@ -1081,3 +1106,2 @@ rawFilename, | ||
headerArray, | ||
directory, | ||
zip64, | ||
@@ -1088,3 +1112,2 @@ zip64UncompressedSize, | ||
zip64Offset, | ||
msDosCompatible, | ||
internalFileAttributes, | ||
@@ -1113,4 +1136,2 @@ externalFileAttributes, | ||
setUint32(directoryView, offset + 38, externalFileAttributes); | ||
} else if (directory && msDosCompatible) { | ||
setUint8(directoryView, offset + 38, FILE_ATTR_MSDOS_DIR_MASK); | ||
} | ||
@@ -1117,0 +1138,0 @@ setUint32(directoryView, offset + 42, zip64 && zip64Offset ? MAX_32_BITS : fileEntryOffset); |
@@ -6,3 +6,3 @@ { | ||
"license": "BSD-3-Clause", | ||
"version": "2.7.56", | ||
"version": "2.7.57", | ||
"type": "module", | ||
@@ -9,0 +9,0 @@ "keywords": [ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
3136666
59814