Files
foliate-js/vendor/zip.js
T
John Factotum ffceb8a4aa Reader: update vendored libraries
Note: these are built from running `npm run build` from the main repo
https://github.com/johnfactotum/foliate
2024-09-11 13:50:39 +08:00

2 lines
54 KiB
JavaScript
Vendored

const e=0,t=1,n=-2,i=-3,r=-4,a=-5,s=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],o=1440,l=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],c=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],u=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],d=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],f=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],w=15;function _(){let t,n,s,l,c,_;function b(t,n,r,u,d,f,h,b,p,m,g){let y,x,k,v,S,z,A,U,D,E,T,F,O,C,W;E=0,S=r;do{s[t[n+E]]++,E++,S--}while(0!==S);if(s[0]==r)return h[0]=-1,b[0]=0,e;for(U=b[0],z=1;z<=w&&0===s[z];z++);for(A=z,U<z&&(U=z),S=w;0!==S&&0===s[S];S--);for(k=S,U>S&&(U=S),b[0]=U,C=1<<z;z<S;z++,C<<=1)if((C-=s[z])<0)return i;if((C-=s[S])<0)return i;for(s[S]+=C,_[1]=z=0,E=1,O=2;0!=--S;)_[O]=z+=s[E],O++,E++;S=0,E=0;do{0!==(z=t[n+E])&&(g[_[z]++]=S),E++}while(++S<r);for(r=_[k],_[0]=S=0,E=0,v=-1,F=-U,c[0]=0,T=0,W=0;A<=k;A++)for(y=s[A];0!=y--;){for(;A>F+U;){if(v++,F+=U,W=k-F,W=W>U?U:W,(x=1<<(z=A-F))>y+1&&(x-=y+1,O=A,z<W))for(;++z<W&&!((x<<=1)<=s[++O]);)x-=s[O];if(W=1<<z,m[0]+W>o)return i;c[v]=T=m[0],m[0]+=W,0!==v?(_[v]=S,l[0]=z,l[1]=U,z=S>>>F-U,l[2]=T-c[v-1]-z,p.set(l,3*(c[v-1]+z))):h[0]=T}for(l[1]=A-F,E>=r?l[0]=192:g[E]<u?(l[0]=g[E]<256?0:96,l[2]=g[E++]):(l[0]=f[g[E]-u]+16+64,l[2]=d[g[E++]-u]),x=1<<A-F,z=S>>>F;z<W;z+=x)p.set(l,3*(T+z));for(z=1<<A-1;S&z;z>>>=1)S^=z;for(S^=z,D=(1<<F)-1;(S&D)!=_[v];)v--,F-=U,D=(1<<F)-1}return 0!==C&&1!=k?a:e}function p(e){let i;for(t||(t=[],n=[],s=new Int32Array(w+1),l=[],c=new Int32Array(w),_=new Int32Array(w+1)),n.length<e&&(n=[]),i=0;i<e;i++)n[i]=0;for(i=0;i<w+1;i++)s[i]=0;for(i=0;i<3;i++)l[i]=0;c.set(s.subarray(0,w),0),_.set(s.subarray(0,w+1),0)}this.inflate_trees_bits=function(e,r,s,o,l){let c;return p(19),t[0]=0,c=b(e,0,19,19,null,null,s,r,o,t,n),c==i?l.msg="oversubscribed dynamic bit lengths tree":c!=a&&0!==r[0]||(l.msg="incomplete dynamic bit lengths tree",c=i),c},this.inflate_trees_dynamic=function(s,o,l,c,w,_,m,g,y){let x;return p(288),t[0]=0,x=b(l,0,s,257,u,d,_,c,g,t,n),x!=e||0===c[0]?(x==i?y.msg="oversubscribed literal/length tree":x!=r&&(y.msg="incomplete literal/length tree",x=i),x):(p(288),x=b(l,s,o,0,f,h,m,w,g,t,n),x!=e||0===w[0]&&s>257?(x==i?y.msg="oversubscribed distance tree":x==a?(y.msg="incomplete distance tree",x=i):x!=r&&(y.msg="empty distance tree with lengths",x=i),x):e)}}_.inflate_trees_fixed=function(t,n,i,r){return t[0]=9,n[0]=5,i[0]=l,r[0]=c,e};const b=0,p=1,m=2,g=3,y=4,x=5,k=6,v=7,S=8,z=9;function A(){const r=this;let a,o,l,c,u=0,d=0,f=0,h=0,w=0,_=0,A=0,U=0,D=0,E=0;function T(n,r,a,o,l,c,u,d){let f,h,w,_,b,p,m,g,y,x,k,v,S,z,A,U;m=d.next_in_index,g=d.avail_in,b=u.bitb,p=u.bitk,y=u.write,x=y<u.read?u.read-y-1:u.end-y,k=s[n],v=s[r];do{for(;p<20;)g--,b|=(255&d.read_byte(m++))<<p,p+=8;if(f=b&k,h=a,w=o,U=3*(w+f),0!==(_=h[U]))for(;;){if(b>>=h[U+1],p-=h[U+1],16&_){for(_&=15,S=h[U+2]+(b&s[_]),b>>=_,p-=_;p<15;)g--,b|=(255&d.read_byte(m++))<<p,p+=8;for(f=b&v,h=l,w=c,U=3*(w+f),_=h[U];;){if(b>>=h[U+1],p-=h[U+1],16&_){for(_&=15;p<_;)g--,b|=(255&d.read_byte(m++))<<p,p+=8;if(z=h[U+2]+(b&s[_]),b>>=_,p-=_,x-=S,y>=z)A=y-z,y-A>0&&2>y-A?(u.win[y++]=u.win[A++],u.win[y++]=u.win[A++],S-=2):(u.win.set(u.win.subarray(A,A+2),y),y+=2,A+=2,S-=2);else{A=y-z;do{A+=u.end}while(A<0);if(_=u.end-A,S>_){if(S-=_,y-A>0&&_>y-A)do{u.win[y++]=u.win[A++]}while(0!=--_);else u.win.set(u.win.subarray(A,A+_),y),y+=_,A+=_,_=0;A=0}}if(y-A>0&&S>y-A)do{u.win[y++]=u.win[A++]}while(0!=--S);else u.win.set(u.win.subarray(A,A+S),y),y+=S,A+=S,S=0;break}if(64&_)return d.msg="invalid distance code",S=d.avail_in-g,S=p>>3<S?p>>3:S,g+=S,m-=S,p-=S<<3,u.bitb=b,u.bitk=p,d.avail_in=g,d.total_in+=m-d.next_in_index,d.next_in_index=m,u.write=y,i;f+=h[U+2],f+=b&s[_],U=3*(w+f),_=h[U]}break}if(64&_)return 32&_?(S=d.avail_in-g,S=p>>3<S?p>>3:S,g+=S,m-=S,p-=S<<3,u.bitb=b,u.bitk=p,d.avail_in=g,d.total_in+=m-d.next_in_index,d.next_in_index=m,u.write=y,t):(d.msg="invalid literal/length code",S=d.avail_in-g,S=p>>3<S?p>>3:S,g+=S,m-=S,p-=S<<3,u.bitb=b,u.bitk=p,d.avail_in=g,d.total_in+=m-d.next_in_index,d.next_in_index=m,u.write=y,i);if(f+=h[U+2],f+=b&s[_],U=3*(w+f),0===(_=h[U])){b>>=h[U+1],p-=h[U+1],u.win[y++]=h[U+2],x--;break}}else b>>=h[U+1],p-=h[U+1],u.win[y++]=h[U+2],x--}while(x>=258&&g>=10);return S=d.avail_in-g,S=p>>3<S?p>>3:S,g+=S,m-=S,p-=S<<3,u.bitb=b,u.bitk=p,d.avail_in=g,d.total_in+=m-d.next_in_index,d.next_in_index=m,u.write=y,e}r.init=function(e,t,n,i,r,s){a=b,A=e,U=t,l=n,D=i,c=r,E=s,o=null},r.proc=function(r,F,O){let C,W,j,M,L,P,R,B=0,I=0,N=0;for(N=F.next_in_index,M=F.avail_in,B=r.bitb,I=r.bitk,L=r.write,P=L<r.read?r.read-L-1:r.end-L;;)switch(a){case b:if(P>=258&&M>=10&&(r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,O=T(A,U,l,D,c,E,r,F),N=F.next_in_index,M=F.avail_in,B=r.bitb,I=r.bitk,L=r.write,P=L<r.read?r.read-L-1:r.end-L,O!=e)){a=O==t?v:z;break}f=A,o=l,d=D,a=p;case p:for(C=f;I<C;){if(0===M)return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);O=e,M--,B|=(255&F.read_byte(N++))<<I,I+=8}if(W=3*(d+(B&s[C])),B>>>=o[W+1],I-=o[W+1],j=o[W],0===j){h=o[W+2],a=k;break}if(16&j){w=15&j,u=o[W+2],a=m;break}if(!(64&j)){f=j,d=W/3+o[W+2];break}if(32&j){a=v;break}return a=z,F.msg="invalid literal/length code",O=i,r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);case m:for(C=w;I<C;){if(0===M)return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);O=e,M--,B|=(255&F.read_byte(N++))<<I,I+=8}u+=B&s[C],B>>=C,I-=C,f=U,o=c,d=E,a=g;case g:for(C=f;I<C;){if(0===M)return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);O=e,M--,B|=(255&F.read_byte(N++))<<I,I+=8}if(W=3*(d+(B&s[C])),B>>=o[W+1],I-=o[W+1],j=o[W],16&j){w=15&j,_=o[W+2],a=y;break}if(!(64&j)){f=j,d=W/3+o[W+2];break}return a=z,F.msg="invalid distance code",O=i,r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);case y:for(C=w;I<C;){if(0===M)return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);O=e,M--,B|=(255&F.read_byte(N++))<<I,I+=8}_+=B&s[C],B>>=C,I-=C,a=x;case x:for(R=L-_;R<0;)R+=r.end;for(;0!==u;){if(0===P&&(L==r.end&&0!==r.read&&(L=0,P=L<r.read?r.read-L-1:r.end-L),0===P&&(r.write=L,O=r.inflate_flush(F,O),L=r.write,P=L<r.read?r.read-L-1:r.end-L,L==r.end&&0!==r.read&&(L=0,P=L<r.read?r.read-L-1:r.end-L),0===P)))return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);r.win[L++]=r.win[R++],P--,R==r.end&&(R=0),u--}a=b;break;case k:if(0===P&&(L==r.end&&0!==r.read&&(L=0,P=L<r.read?r.read-L-1:r.end-L),0===P&&(r.write=L,O=r.inflate_flush(F,O),L=r.write,P=L<r.read?r.read-L-1:r.end-L,L==r.end&&0!==r.read&&(L=0,P=L<r.read?r.read-L-1:r.end-L),0===P)))return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);O=e,r.win[L++]=h,P--,a=b;break;case v:if(I>7&&(I-=8,M++,N--),r.write=L,O=r.inflate_flush(F,O),L=r.write,P=L<r.read?r.read-L-1:r.end-L,r.read!=r.write)return r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);a=S;case S:return O=t,r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);case z:return O=i,r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O);default:return O=n,r.bitb=B,r.bitk=I,F.avail_in=M,F.total_in+=N-F.next_in_index,F.next_in_index=N,r.write=L,r.inflate_flush(F,O)}},r.free=function(){}}const U=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],D=0,E=1,T=2,F=3,O=4,C=5,W=6,j=7,M=8,L=9;function P(r,l){const c=this;let u,d=D,f=0,h=0,w=0;const b=[0],p=[0],m=new A;let g=0,y=new Int32Array(3*o);const x=new _;c.bitk=0,c.bitb=0,c.win=new Uint8Array(l),c.end=l,c.read=0,c.write=0,c.reset=function(e,t){t&&(t[0]=0),d==W&&m.free(e),d=D,c.bitk=0,c.bitb=0,c.read=c.write=0},c.reset(r,null),c.inflate_flush=function(t,n){let i,r,s;return r=t.next_out_index,s=c.read,i=(s<=c.write?c.write:c.end)-s,i>t.avail_out&&(i=t.avail_out),0!==i&&n==a&&(n=e),t.avail_out-=i,t.total_out+=i,t.next_out.set(c.win.subarray(s,s+i),r),r+=i,s+=i,s==c.end&&(s=0,c.write==c.end&&(c.write=0),i=c.write-s,i>t.avail_out&&(i=t.avail_out),0!==i&&n==a&&(n=e),t.avail_out-=i,t.total_out+=i,t.next_out.set(c.win.subarray(s,s+i),r),r+=i,s+=i),t.next_out_index=r,c.read=s,n},c.proc=function(r,a){let o,l,k,v,S,z,A,P;for(v=r.next_in_index,S=r.avail_in,l=c.bitb,k=c.bitk,z=c.write,A=z<c.read?c.read-z-1:c.end-z;;){let R,B,I,N,V,q,H,K;switch(d){case D:for(;k<3;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}switch(o=7&l,g=1&o,o>>>1){case 0:l>>>=3,k-=3,o=7&k,l>>>=o,k-=o,d=E;break;case 1:R=[],B=[],I=[[]],N=[[]],_.inflate_trees_fixed(R,B,I,N),m.init(R[0],B[0],I[0],0,N[0],0),l>>>=3,k-=3,d=W;break;case 2:l>>>=3,k-=3,d=F;break;case 3:return l>>>=3,k-=3,d=L,r.msg="invalid block type",a=i,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a)}break;case E:for(;k<32;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}if((~l>>>16&65535)!=(65535&l))return d=L,r.msg="invalid stored block lengths",a=i,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);f=65535&l,l=k=0,d=0!==f?T:0!==g?j:D;break;case T:if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);if(0===A&&(z==c.end&&0!==c.read&&(z=0,A=z<c.read?c.read-z-1:c.end-z),0===A&&(c.write=z,a=c.inflate_flush(r,a),z=c.write,A=z<c.read?c.read-z-1:c.end-z,z==c.end&&0!==c.read&&(z=0,A=z<c.read?c.read-z-1:c.end-z),0===A)))return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);if(a=e,o=f,o>S&&(o=S),o>A&&(o=A),c.win.set(r.read_buf(v,o),z),v+=o,S-=o,z+=o,A-=o,0!=(f-=o))break;d=0!==g?j:D;break;case F:for(;k<14;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}if(h=o=16383&l,(31&o)>29||(o>>5&31)>29)return d=L,r.msg="too many length or distance symbols",a=i,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);if(o=258+(31&o)+(o>>5&31),!u||u.length<o)u=[];else for(P=0;P<o;P++)u[P]=0;l>>>=14,k-=14,w=0,d=O;case O:for(;w<4+(h>>>10);){for(;k<3;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}u[U[w++]]=7&l,l>>>=3,k-=3}for(;w<19;)u[U[w++]]=0;if(b[0]=7,o=x.inflate_trees_bits(u,b,p,y,r),o!=e)return(a=o)==i&&(u=null,d=L),c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);w=0,d=C;case C:for(;o=h,!(w>=258+(31&o)+(o>>5&31));){let t,n;for(o=b[0];k<o;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}if(o=y[3*(p[0]+(l&s[o]))+1],n=y[3*(p[0]+(l&s[o]))+2],n<16)l>>>=o,k-=o,u[w++]=n;else{for(P=18==n?7:n-14,t=18==n?11:3;k<o+P;){if(0===S)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);a=e,S--,l|=(255&r.read_byte(v++))<<k,k+=8}if(l>>>=o,k-=o,t+=l&s[P],l>>>=P,k-=P,P=w,o=h,P+t>258+(31&o)+(o>>5&31)||16==n&&P<1)return u=null,d=L,r.msg="invalid bit length repeat",a=i,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);n=16==n?u[P-1]:0;do{u[P++]=n}while(0!=--t);w=P}}if(p[0]=-1,V=[],q=[],H=[],K=[],V[0]=9,q[0]=6,o=h,o=x.inflate_trees_dynamic(257+(31&o),1+(o>>5&31),u,V,q,H,K,y,r),o!=e)return o==i&&(u=null,d=L),a=o,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);m.init(V[0],q[0],y,H[0],y,K[0]),d=W;case W:if(c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,(a=m.proc(c,r,a))!=t)return c.inflate_flush(r,a);if(a=e,m.free(r),v=r.next_in_index,S=r.avail_in,l=c.bitb,k=c.bitk,z=c.write,A=z<c.read?c.read-z-1:c.end-z,0===g){d=D;break}d=j;case j:if(c.write=z,a=c.inflate_flush(r,a),z=c.write,A=z<c.read?c.read-z-1:c.end-z,c.read!=c.write)return c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);d=M;case M:return a=t,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);case L:return a=i,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a);default:return a=n,c.bitb=l,c.bitk=k,r.avail_in=S,r.total_in+=v-r.next_in_index,r.next_in_index=v,c.write=z,c.inflate_flush(r,a)}}},c.free=function(e){c.reset(e,null),c.win=null,y=null},c.set_dictionary=function(e,t,n){c.win.set(e.subarray(t,t+n),0),c.read=c.write=n},c.sync_point=function(){return d==E?1:0}}const R=13,B=[0,0,255,255];function I(){const r=this;function s(t){return t&&t.istate?(t.total_in=t.total_out=0,t.msg=null,t.istate.mode=7,t.istate.blocks.reset(t,null),e):n}r.mode=0,r.method=0,r.was=[0],r.need=0,r.marker=0,r.wbits=0,r.inflateEnd=function(t){return r.blocks&&r.blocks.free(t),r.blocks=null,e},r.inflateInit=function(t,i){return t.msg=null,r.blocks=null,i<8||i>15?(r.inflateEnd(t),n):(r.wbits=i,t.istate.blocks=new P(t,1<<i),s(t),e)},r.inflate=function(r,s){let o,l;if(!r||!r.istate||!r.next_in)return n;const c=r.istate;for(s=4==s?a:e,o=a;;)switch(c.mode){case 0:if(0===r.avail_in)return o;if(o=s,r.avail_in--,r.total_in++,8!=(15&(c.method=r.read_byte(r.next_in_index++)))){c.mode=R,r.msg="unknown compression method",c.marker=5;break}if(8+(c.method>>4)>c.wbits){c.mode=R,r.msg="invalid win size",c.marker=5;break}c.mode=1;case 1:if(0===r.avail_in)return o;if(o=s,r.avail_in--,r.total_in++,l=255&r.read_byte(r.next_in_index++),((c.method<<8)+l)%31!=0){c.mode=R,r.msg="incorrect header check",c.marker=5;break}if(!(32&l)){c.mode=7;break}c.mode=2;case 2:if(0===r.avail_in)return o;o=s,r.avail_in--,r.total_in++,c.need=(255&r.read_byte(r.next_in_index++))<<24&4278190080,c.mode=3;case 3:if(0===r.avail_in)return o;o=s,r.avail_in--,r.total_in++,c.need+=(255&r.read_byte(r.next_in_index++))<<16&16711680,c.mode=4;case 4:if(0===r.avail_in)return o;o=s,r.avail_in--,r.total_in++,c.need+=(255&r.read_byte(r.next_in_index++))<<8&65280,c.mode=5;case 5:return 0===r.avail_in?o:(o=s,r.avail_in--,r.total_in++,c.need+=255&r.read_byte(r.next_in_index++),c.mode=6,2);case 6:return c.mode=R,r.msg="need dictionary",c.marker=0,n;case 7:if(o=c.blocks.proc(r,o),o==i){c.mode=R,c.marker=0;break}if(o==e&&(o=s),o!=t)return o;o=s,c.blocks.reset(r,c.was),c.mode=12;case 12:return r.avail_in=0,t;case R:return i;default:return n}},r.inflateSetDictionary=function(t,i,r){let a=0,s=r;if(!t||!t.istate||6!=t.istate.mode)return n;const o=t.istate;return s>=1<<o.wbits&&(s=(1<<o.wbits)-1,a=r-s),o.blocks.set_dictionary(i,a,s),o.mode=7,e},r.inflateSync=function(t){let r,o,l,c,u;if(!t||!t.istate)return n;const d=t.istate;if(d.mode!=R&&(d.mode=R,d.marker=0),0===(r=t.avail_in))return a;for(o=t.next_in_index,l=d.marker;0!==r&&l<4;)t.read_byte(o)==B[l]?l++:l=0!==t.read_byte(o)?0:4-l,o++,r--;return t.total_in+=o-t.next_in_index,t.next_in_index=o,t.avail_in=r,d.marker=l,4!=l?i:(c=t.total_in,u=t.total_out,s(t),t.total_in=c,t.total_out=u,d.mode=7,e)},r.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():n}}function N(){}N.prototype={inflateInit(e){const t=this;return t.istate=new I,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){const t=this;return t.istate?t.istate.inflate(t,e):n},inflateEnd(){const e=this;if(!e.istate)return n;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){const e=this;return e.istate?e.istate.inflateSync(e):n},inflateSetDictionary(e,t){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,t):n},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};const V=4294967295,q=65535,H=33639248,K=101075792,Z=22,G=1,J=void 0,Q="undefined",X="function";class Y{constructor(e){return class extends TransformStream{constructor(t,n){const i=new e(n);super({transform(e,t){t.enqueue(i.append(e))},flush(e){const t=i.flush();t&&e.enqueue(t)}})}}}}let $=2;try{typeof navigator!=Q&&navigator.hardwareConcurrency&&($=navigator.hardwareConcurrency)}catch(e){}const ee={chunkSize:524288,maxWorkers:$,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:J,CompressionStreamNative:typeof CompressionStream!=Q&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=Q&&DecompressionStream},te=Object.assign({},ee);function ne(e){const{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:r,useCompressionStream:a,useWebWorkers:s,Deflate:o,Inflate:l,CompressionStream:c,DecompressionStream:u,workerScripts:d}=e;if(ie("baseURL",t),ie("chunkSize",n),ie("maxWorkers",i),ie("terminateWorkerTimeout",r),ie("useCompressionStream",a),ie("useWebWorkers",s),o&&(te.CompressionStream=new Y(o)),l&&(te.DecompressionStream=new Y(l)),ie("CompressionStream",c),ie("DecompressionStream",u),d!==J){const{deflate:e,inflate:t}=d;if((e||t)&&(te.workerScripts||(te.workerScripts={})),e){if(!Array.isArray(e))throw new Error("workerScripts.deflate must be an array");te.workerScripts.deflate=e}if(t){if(!Array.isArray(t))throw new Error("workerScripts.inflate must be an array");te.workerScripts.inflate=t}}}function ie(e,t){t!==J&&(te[e]=t)}const re=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;re[e]=t}class ae{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n<i;n++)t=t>>>8^re[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class se extends TransformStream{constructor(){let e;const t=new ae;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const oe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=oe.getPartial(n);return 32===i?e.concat(t):oe._shiftRight(t,i,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+oe.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=oe.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>Math.round(e/1099511627776)||32,_shiftRight(e,t,n,i){for(void 0===i&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(0===t)return i.concat(e);for(let r=0;r<e.length;r++)i.push(n|e[r]>>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=oe.getPartial(r);return i.push(oe.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},le={bytes:{fromBits(e){const t=oe.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)3&r||(i=e[r/4]),n[r]=i>>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],3&~n||(t.push(i),i=0);return 3&n&&t.push(oe.partial(8*(3&n),i)),t}}},ce={sha1: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=le.utf8String.toBits(e));const n=t._buffer=oe.concat(t._buffer,e),i=t._length,r=t._length=i+oe.bitLength(e);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let e=t.blockSize+i-(t.blockSize+i&t.blockSize-1);e<=r;e+=t.blockSize)t._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=oe.concat(t,[oe.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){return e<=19?t&n|~t&i:e<=39?t^n^i:e<=59?t&n|t&i|n&i:e<=79?t^n^i:void 0}_S(e,t){return t<<e|t>>>32-e}_block(e){const t=this,n=t._h,i=Array(80);for(let t=0;t<16;t++)i[t]=e[t];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+l+i[e]+t._key[Math.floor(e/20)]|0;l=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}}},ue={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let u=s=0;!n[u];u^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[u]=a,i[a]=u,c=r[l=r[o=r[u]]];let d=16843009*c^65537*l^257*o^16843008*u,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][u]=f=f<<24^f>>>8,t[n][a]=d=d<<24^d>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new Error("invalid aes block size");const n=this._key[t],i=n.length/4-2,r=[0,0,0,0],a=this._tables[t],s=a[0],o=a[1],l=a[2],c=a[3],u=a[4];let d,f,h,w=e[0]^n[0],_=e[t?3:1]^n[1],b=e[2]^n[2],p=e[t?1:3]^n[3],m=4;for(let e=0;e<i;e++)d=s[w>>>24]^o[_>>16&255]^l[b>>8&255]^c[255&p]^n[m],f=s[_>>>24]^o[b>>16&255]^l[p>>8&255]^c[255&w]^n[m+1],h=s[b>>>24]^o[p>>16&255]^l[w>>8&255]^c[255&_]^n[m+2],p=s[p>>>24]^o[w>>16&255]^l[_>>8&255]^c[255&b]^n[m+3],m+=4,w=d,_=f,b=h;for(let e=0;e<4;e++)r[t?3&-e:e]=u[w>>>24]<<24^u[_>>16&255]<<16^u[b>>8&255]<<8^u[255&p]^n[m++],d=w,w=_,_=b,b=p,p=d;return r}}},de={getRandomValues(e){const t=new Uint32Array(e.buffer),n=e=>{let t=987654321;const n=4294967295;return function(){t=36969*(65535&t)+(t>>16)&n;return(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i,r=0;r<e.length;r+=4){const e=n(4294967296*(i||Math.random()));i=987654071*e(),t[r/4]=4294967296*e()|0}return e}},fe={ctrGladman:class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,i=255&e;255===t?(t=0,255===n?(n=0,255===i?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];const r=oe.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);const i=e.encrypt(n);t[r]^=i[0],t[r+1]^=i[1],t[r+2]^=i[2],t[r+3]^=i[3]}return oe.clamp(t,r)}}},he={importKey:e=>new he.hmacSha1(le.bytes.toBits(e)),pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");const r=1+(i>>5)<<2;let a,s,o,l,c;const u=new ArrayBuffer(r),d=new DataView(u);let f=0;const h=oe;for(t=le.bytes.toBits(t),c=1;f<(r||1);c++){for(a=s=e.encrypt(h.concat(t,[c])),o=1;o<n;o++)for(s=e.encrypt(s),l=0;l<s.length;l++)a[l]^=s[l];for(o=0;f<(r||1)&&o<a.length;o++)d.setInt32(f,a[o]),f+=4}return u.slice(0,i/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=ce.sha1,i=[[],[]];t._baseHash=[new n,new n];const r=t._baseHash[0].blockSize/32;e.length>r&&(e=(new n).update(e).finalize());for(let t=0;t<r;t++)i[0][t]=909522486^e[t],i[1][t]=1549556828^e[t];t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},we=typeof crypto!=Q&&typeof crypto.getRandomValues==X,_e="Invalid password",be="Invalid signature",pe="zipjs-abort-check-password";function me(e){return we?crypto.getRandomValues(e):de.getRandomValues(e)}const ge=16,ye="raw",xe={name:"PBKDF2"},ke=Object.assign({hash:{name:"HMAC"}},xe),ve=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},xe),Se=["deriveBits"],ze=[8,12,16],Ae=[16,24,32],Ue=10,De=[0,0,0,0],Ee=typeof crypto!=Q,Te=Ee&&crypto.subtle,Fe=Ee&&typeof Te!=Q,Oe=le.bytes,Ce=ue.aes,We=fe.ctrGladman,je=he.hmacSha1;let Me=Ee&&Fe&&typeof Te.importKey==X,Le=Ee&&Fe&&typeof Te.deriveBits==X;class Pe extends TransformStream{constructor({password:e,rawPassword:t,signed:n,encryptionStrength:i,checkPasswordOnly:r}){super({start(){Object.assign(this,{ready:new Promise((e=>this.resolveReady=e)),password:Ne(e,t),signed:n,strength:i-1,pending:new Uint8Array})},async transform(e,t){const n=this,{password:i,strength:a,resolveReady:s,ready:o}=n;i?(await async function(e,t,n,i){const r=await Ie(e,t,n,qe(i,0,ze[t])),a=qe(i,ze[t]);if(r[0]!=a[0]||r[1]!=a[1])throw new Error(_e)}(n,a,i,qe(e,0,ze[a]+2)),e=qe(e,ze[a]+2),r?t.error(new Error(pe)):s()):await o;const l=new Uint8Array(e.length-Ue-(e.length-Ue)%ge);t.enqueue(Be(n,e,l,0,Ue,!0))},async flush(e){const{signed:t,ctr:n,hmac:i,pending:r,ready:a}=this;if(i&&n){await a;const s=qe(r,0,r.length-Ue),o=qe(r,r.length-Ue);let l=new Uint8Array;if(s.length){const e=Ke(Oe,s);i.update(e);const t=n.update(e);l=He(Oe,t)}if(t){const e=qe(He(Oe,i.digest()),0,Ue);for(let t=0;t<Ue;t++)if(e[t]!=o[t])throw new Error(be)}e.enqueue(l)}}})}}class Re extends TransformStream{constructor({password:e,rawPassword:t,encryptionStrength:n}){let i;super({start(){Object.assign(this,{ready:new Promise((e=>this.resolveReady=e)),password:Ne(e,t),strength:n-1,pending:new Uint8Array})},async transform(e,t){const n=this,{password:i,strength:r,resolveReady:a,ready:s}=n;let o=new Uint8Array;i?(o=await async function(e,t,n){const i=me(new Uint8Array(ze[t])),r=await Ie(e,t,n,i);return Ve(i,r)}(n,r,i),a()):await s;const l=new Uint8Array(o.length+e.length-e.length%ge);l.set(o,0),t.enqueue(Be(n,e,l,o.length,0))},async flush(e){const{ctr:t,hmac:n,pending:r,ready:a}=this;if(n&&t){await a;let s=new Uint8Array;if(r.length){const e=t.update(Ke(Oe,r));n.update(e),s=He(Oe,e)}i.signature=He(Oe,n.digest()).slice(0,Ue),e.enqueue(Ve(s,i.signature))}}}),i=this}}function Be(e,t,n,i,r,a){const{ctr:s,hmac:o,pending:l}=e,c=t.length-r;let u;for(l.length&&(t=Ve(l,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,c-c%ge)),u=0;u<=c-ge;u+=ge){const e=Ke(Oe,qe(t,u,u+ge));a&&o.update(e);const r=s.update(e);a||o.update(r),n.set(He(Oe,r),u+i)}return e.pending=qe(t,u),n}async function Ie(e,t,n,i){e.password=null;const r=await async function(e,t,n,i,r){if(!Me)return he.importKey(t);try{return await Te.importKey(e,t,n,i,r)}catch(e){return Me=!1,he.importKey(t)}}(ye,n,ke,!1,Se),a=await async function(e,t,n){if(!Le)return he.pbkdf2(t,e.salt,ve.iterations,n);try{return await Te.deriveBits(e,t,n)}catch(i){return Le=!1,he.pbkdf2(t,e.salt,ve.iterations,n)}}(Object.assign({salt:i},ve),r,8*(2*Ae[t]+2)),s=new Uint8Array(a),o=Ke(Oe,qe(s,0,Ae[t])),l=Ke(Oe,qe(s,Ae[t],2*Ae[t])),c=qe(s,2*Ae[t]);return Object.assign(e,{keys:{key:o,authentication:l,passwordVerification:c},ctr:new We(new Ce(o),Array.from(De)),hmac:new je(l)}),c}function Ne(e,t){return t===J?function(e){if(typeof TextEncoder==Q){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new TextEncoder).encode(e)}(e):t}function Ve(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function qe(e,t,n){return e.subarray(t,n)}function He(e,t){return e.fromBits(t)}function Ke(e,t){return e.toBits(t)}const Ze=12;class Ge extends TransformStream{constructor({password:e,passwordVerification:t,checkPasswordOnly:n}){super({start(){Object.assign(this,{password:e,passwordVerification:t}),Ye(this,e)},transform(e,t){const i=this;if(i.password){const t=Qe(i,e.subarray(0,Ze));if(i.password=null,t[11]!=i.passwordVerification)throw new Error(_e);e=e.subarray(Ze)}n?t.error(new Error(pe)):t.enqueue(Qe(i,e))}})}}class Je extends TransformStream{constructor({password:e,passwordVerification:t}){super({start(){Object.assign(this,{password:e,passwordVerification:t}),Ye(this,e)},transform(e,t){const n=this;let i,r;if(n.password){n.password=null;const t=me(new Uint8Array(Ze));t[11]=n.passwordVerification,i=new Uint8Array(e.length+t.length),i.set(Xe(n,t),0),r=Ze}else i=new Uint8Array(e.length),r=0;i.set(Xe(n,e),r),t.enqueue(i)}})}}function Qe(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=et(e)^t[i],$e(e,n[i]);return n}function Xe(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=et(e)^t[i],$e(e,t[i]);return n}function Ye(e,t){const n=[305419896,591751049,878082192];Object.assign(e,{keys:n,crcKey0:new ae(n[0]),crcKey2:new ae(n[2])});for(let n=0;n<t.length;n++)$e(e,t.charCodeAt(n))}function $e(e,t){let[n,i,r]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=nt(Math.imul(nt(i+tt(n)),134775813)+1),e.crcKey2.append([i>>>24]),r=~e.crcKey2.get(),e.keys=[n,i,r]}function et(e){const t=2|e.keys[2];return tt(Math.imul(t,1^t)>>>8)}function tt(e){return 255&e}function nt(e){return 4294967295&e}const it="deflate-raw";class rt extends TransformStream{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:i}){super({});const{compressed:r,encrypted:a,useCompressionStream:s,zipCrypto:o,signed:l,level:c}=e,u=this;let d,f,h=st(super.readable);a&&!o||!l||(d=new se,h=ct(h,d)),r&&(h=lt(h,s,{level:c,chunkSize:t},i,n)),a&&(o?h=ct(h,new Je(e)):(f=new Re(e),h=ct(h,f))),ot(u,h,(()=>{let e;a&&!o&&(e=f.signature),a&&!o||!l||(e=new DataView(d.value.buffer).getUint32(0)),u.signature=e}))}}class at extends TransformStream{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:i}){super({});const{zipCrypto:r,encrypted:a,signed:s,signature:o,compressed:l,useCompressionStream:c}=e;let u,d,f=st(super.readable);a&&(r?f=ct(f,new Ge(e)):(d=new Pe(e),f=ct(f,d))),l&&(f=lt(f,c,{chunkSize:t},i,n)),a&&!r||!s||(u=new se,f=ct(f,u)),ot(this,f,(()=>{if((!a||r)&&s){const e=new DataView(u.value.buffer);if(o!=e.getUint32(0,!1))throw new Error(be)}}))}}function st(e){return ct(e,new TransformStream({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function ot(e,t,n){t=ct(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get:()=>t})}function lt(e,t,n,i,r){try{e=ct(e,new(t&&i?i:r)(it,n))}catch(i){if(!t)return e;try{e=ct(e,new r(it,n))}catch(t){return e}}return e}function ct(e,t){return e.pipeThrough(t)}const ut="message",dt="start",ft="pull",ht="data",wt="ack",_t="close",bt="inflate";class pt extends TransformStream{constructor(e,t){super({});const n=this,{codecType:i}=e;let r;i.startsWith("deflate")?r=rt:i.startsWith(bt)&&(r=at);let a=0,s=0;const o=new r(e,t),l=super.readable,c=new TransformStream({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){Object.assign(n,{inputSize:s})}}),u=new TransformStream({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){const{signature:e}=o;Object.assign(n,{signature:e,outputSize:a,inputSize:s})}});Object.defineProperty(n,"readable",{get:()=>l.pipeThrough(c).pipeThrough(o).pipeThrough(u)})}}class mt extends TransformStream{constructor(e){let t;super({transform:function n(i,r){if(t){const e=new Uint8Array(t.length+i.length);e.set(t),e.set(i,t.length),i=e,t=null}i.length>e?(r.enqueue(i.slice(0,e)),n(i.slice(e),r)):t=i},flush(e){t&&t.length&&e.enqueue(t)}})}}let gt=typeof Worker!=Q;class yt{constructor(e,{readable:t,writable:n},{options:i,config:r,streamOptions:a,useWebWorkers:s,transferStreams:o,scripts:l},c){const{signal:u}=a;return Object.assign(e,{busy:!0,readable:t.pipeThrough(new mt(r.chunkSize)).pipeThrough(new xt(t,a),{signal:u}),writable:n,options:Object.assign({},i),scripts:l,transferStreams:o,terminate:()=>new Promise((t=>{const{worker:n,busy:i}=e;n?(i?e.resolveTerminated=t:(n.terminate(),t()),e.interface=null):t()})),onTaskFinished(){const{resolveTerminated:t}=e;t&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),t()),e.busy=!1,c(e)}}),(s&&gt?St:vt)(e,r)}}class xt extends TransformStream{constructor(e,{onstart:t,onprogress:n,size:i,onend:r}){let a=0;super({async start(){t&&await kt(t,i)},async transform(e,t){a+=e.length,n&&await kt(n,a,i),t.enqueue(e)},async flush(){e.size=a,r&&await kt(r,a)}})}}async function kt(e,...t){try{await e(...t)}catch(e){}}function vt(e,t){return{run:()=>async function({options:e,readable:t,writable:n,onTaskFinished:i},r){try{const i=new pt(e,r);await t.pipeThrough(i).pipeTo(n,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:s,outputSize:o}=i;return{signature:a,inputSize:s,outputSize:o}}finally{i()}}(e,t)}}function St(e,t){const{baseURL:n,chunkSize:i}=t;if(!e.interface){let r;try{r=function(e,t,n){const i={type:"module"};let r,a;typeof e==X&&(e=e());try{r=new URL(e,t)}catch(t){r=e}if(zt)try{a=new Worker(r)}catch(e){zt=!1,a=new Worker(r,i)}else a=new Worker(r,i);return a.addEventListener(ut,(e=>async function({data:e},t){const{type:n,value:i,messageId:r,result:a,error:s}=e,{reader:o,writer:l,resolveResult:c,rejectResult:u,onTaskFinished:d}=t;try{if(s){const{message:e,stack:t,code:n,name:i}=s,r=new Error(e);Object.assign(r,{stack:t,code:n,name:i}),f(r)}else{if(n==ft){const{value:e,done:n}=await o.read();Ut({type:ht,value:e,done:n,messageId:r},t)}n==ht&&(await l.ready,await l.write(new Uint8Array(i)),Ut({type:wt,messageId:r},t)),n==_t&&f(null,a)}}catch(s){Ut({type:_t,messageId:r},t),f(s)}function f(e,t){e?u(e):c(t),l&&l.releaseLock(),d()}}(e,n))),a}(e.scripts[0],n,e)}catch(n){return gt=!1,vt(e,t)}Object.assign(e,{worker:r,interface:{run:()=>async function(e,t){let n,i;const r=new Promise(((e,t)=>{n=e,i=t}));Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:r});const{readable:a,options:s,scripts:o}=e,{writable:l,closed:c}=function(e){let t;const n=new Promise((e=>t=e)),i=new WritableStream({async write(t){const n=e.getWriter();await n.ready,await n.write(t),n.releaseLock()},close(){t()},abort:t=>e.getWriter().abort(t)});return{writable:i,closed:n}}(e.writable),u=Ut({type:dt,scripts:o.slice(1),options:s,config:t,readable:a,writable:l},e);u||Object.assign(e,{reader:a.getReader(),writer:l.getWriter()});const d=await r;u||await l.getWriter().close();return await c,d}(e,{chunkSize:i})}})}return e.interface}let zt=!0,At=!0;function Ut(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:r}){try{let{value:n,readable:i,writable:a}=e;const s=[];if(n&&(n.byteLength<n.buffer.byteLength?e.value=n.buffer.slice(0,n.byteLength):e.value=n.buffer,s.push(e.value)),r&&At?(i&&s.push(i),a&&s.push(a)):e.readable=e.writable=null,s.length)try{return t.postMessage(e,s),!0}catch(n){At=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),i(),e}}let Dt=[];const Et=[];let Tt=0;async function Ft(e,t){const{options:n,config:i}=t,{transferStreams:r,useWebWorkers:a,useCompressionStream:s,codecType:o,compressed:l,signed:c,encrypted:u}=n,{workerScripts:d,maxWorkers:f}=i;t.transferStreams=r||r===J;const h=!(l||c||u||t.transferStreams);return t.useWebWorkers=!h&&(a||a===J&&i.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[o]:[],n.useCompressionStream=s||s===J&&i.useCompressionStream,(await async function(){const n=Dt.find((e=>!e.busy));if(n)return Ot(n),new yt(n,e,t,w);if(Dt.length<f){const n={indexWorker:Tt};return Tt++,Dt.push(n),new yt(n,e,t,w)}return new Promise((n=>Et.push({resolve:n,stream:e,workerOptions:t})))}()).run();function w(e){if(Et.length){const[{resolve:t,stream:n,workerOptions:i}]=Et.splice(0,1);t(new yt(e,n,i,w))}else e.worker?(Ot(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout((async()=>{Dt=Dt.filter((t=>t!=e));try{await e.terminate()}catch(e){}}),i))}(e,t)):Dt=Dt.filter((t=>t!=e))}}function Ot(e){const{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}const Ct=65536,Wt="writable";class jt{constructor(){this.size=0}init(){this.initialized=!0}}class Mt extends jt{get readable(){const e=this,{chunkSize:t=Ct}=e,n=new ReadableStream({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:a,diskNumberStart:s}=n,{chunkOffset:o}=this;i.enqueue(await qt(e,r+o,Math.min(t,a-o),s)),o+t>a?i.close():this.chunkOffset+=t}});return n}}class Lt extends Mt{constructor(e){super(),Object.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const n=this,i=e+t,r=e||i<n.size?n.blob.slice(e,i):n.blob;let a=await r.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,i)),new Uint8Array(a)}}class Pt extends jt{constructor(e){super();const t=new TransformStream,n=[];e&&n.push(["Content-Type",e]),Object.defineProperty(this,Wt,{get:()=>t.writable}),this.blob=new Response(t.readable,{headers:n}).blob()}getData(){return this.blob}}class Rt extends Pt{constructor(e){super(e),Object.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 Promise(((i,r)=>{Object.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>r(t.error)}),t.readAsText(n,e)}))}}}class Bt extends Mt{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:t}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await Promise.all(t.map((async(n,i)=>{await n.init(),i!=t.length-1&&(e.lastDiskOffset+=n.size),e.size+=n.size}))),super.init()}async readUint8Array(e,t,n=0){const i=this,{readers:r}=this;let a,s=n;-1==s&&(s=r.length-1);let o=e;for(;o>=r[s].size;)o-=r[s].size,s++;const l=r[s],c=l.size;if(o+t<=c)a=await qt(l,o,t);else{const r=c-o;a=new Uint8Array(t),a.set(await qt(l,o,r)),a.set(await i.readUint8Array(e+r,t-r,n),r)}return i.lastDiskNumber=Math.max(s,i.lastDiskNumber),a}}class It extends jt{constructor(e,t=4294967295){super();const n=this;let i,r,a;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const s=new WritableStream({async write(t){const{availableSize:s}=n;if(a)t.length>=s?(await o(t.slice(0,s)),await l(),n.diskOffset+=i.size,n.diskNumber++,a=null,await this.write(t.slice(s))):await o(t);else{const{value:s,done:o}=await e.next();if(o&&!s)throw new Error("Writer iterator completed too soon");i=s,i.size=0,i.maxSize&&(n.maxSize=i.maxSize),n.availableSize=n.maxSize,await Nt(i),r=s.writable,a=r.getWriter(),await this.write(t)}},async close(){await a.ready,await l()}});async function o(e){const t=e.length;t&&(await a.ready,await a.write(e),i.size+=t,n.size+=t,n.availableSize-=t)}async function l(){r.size=i.size,await a.close()}Object.defineProperty(n,Wt,{get:()=>s})}}async function Nt(e,t){if(!e.init||e.initialized)return Promise.resolve();await e.init(t)}function Vt(e){return Array.isArray(e)&&(e=new Bt(e)),e instanceof ReadableStream&&(e={readable:e}),e}function qt(e,t,n,i){return e.readUint8Array(t,n,i)}const Ht="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Kt=256==Ht.length;function Zt(e,t){return t&&"cp437"==t.trim().toLowerCase()?function(e){if(Kt){let t="";for(let n=0;n<e.length;n++)t+=Ht[e[n]];return t}return(new TextDecoder).decode(e)}(e):new TextDecoder(t).decode(e)}const Gt="filename",Jt="rawFilename",Qt="comment",Xt="rawComment",Yt="uncompressedSize",$t="compressedSize",en="offset",tn="diskNumberStart",nn="lastModDate",rn="rawLastModDate",an="lastAccessDate",sn="rawLastAccessDate",on="creationDate",ln="rawCreationDate",cn=[Gt,Jt,$t,Yt,nn,rn,Qt,Xt,an,on,en,tn,tn,"internalFileAttribute","externalFileAttribute","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","bitFlag","signature","filenameUTF8","commentUTF8","compressionMethod","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class un{constructor(e){cn.forEach((t=>this[t]=e[t]))}}const dn="File format is not recognized",fn="Zip64 extra field not found",hn="Compression method not supported",wn="Split zip file",_n="utf-8",bn="cp437",pn=[[Yt,V],[$t,V],[en,V],[tn,q]],mn={[q]:{getValue:En,bytes:4},[V]:{getValue:Tn,bytes:8}};class gn{constructor(e,t={}){Object.assign(this,{reader:Vt(e),options:t,config:te})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await Nt(n),n.size!==J&&n.readUint8Array||(n=new Lt(await new Response(n.readable).blob()),await Nt(n)),n.size<Z)throw new Error(dn);n.chunkSize=function(e){return Math.max(e.chunkSize,64)}(i);const r=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(Fn(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await qt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,101010256,n.size,Z,1048560);if(!r){throw 134695760==En(Fn(await qt(n,0,4)))?new Error(wn):new Error("End of central directory not found")}const a=Fn(r);let s=En(a,12),o=En(a,16);const l=r.offset,c=Dn(a,20),u=l+Z+c;let d=Dn(a,4);const f=n.lastDiskNumber||0;let h=Dn(a,6),w=Dn(a,8),_=0,b=0;if(o==V||s==V||w==q||h==q){const e=Fn(await qt(n,r.offset-20,20));if(117853008==En(e,0)){o=Tn(e,8);let t=await qt(n,o,56,-1),i=Fn(t);const a=r.offset-20-56;if(En(i,0)!=K&&o!=a){const e=o;o=a,_=o-e,t=await qt(n,o,56,-1),i=Fn(t)}if(En(i,0)!=K)throw new Error("End of Zip64 central directory locator not found");d==q&&(d=En(i,16)),h==q&&(h=En(i,20)),w==q&&(w=Tn(i,32)),s==V&&(s=Tn(i,40)),o-=s}}if(o>=n.size&&(_=n.size-o-s-Z,o=n.size-s-Z),f!=d)throw new Error(wn);if(o<0)throw new Error(dn);let p=0,m=await qt(n,o,s,h),g=Fn(m);if(s){const e=r.offset-s;if(En(g,p)!=H&&o!=e){const t=o;o=e,_+=o-t,m=await qt(n,o,s,h),g=Fn(m)}}const y=r.offset-o-(n.lastDiskOffset||0);if(s!=y&&y>=0&&(s=y,m=await qt(n,o,s,h),g=Fn(m)),o<0||o>=n.size)throw new Error(dn);const x=Sn(t,e,"filenameEncoding"),k=Sn(t,e,"commentEncoding");for(let r=0;r<w;r++){const a=new yn(n,i,t.options);if(En(g,p)!=H)throw new Error("Central directory header not found");xn(a,g,p+6);const s=Boolean(a.bitFlag.languageEncodingFlag),o=p+46,l=o+a.filenameLength,c=l+a.extraFieldLength,u=Dn(g,p+4),d=!0,f=m.subarray(o,l),h=Dn(g,p+32),y=c+h,v=m.subarray(c,y),S=s,z=s,A=d&&!(16&~Un(g,p+38)),U=En(g,p+42)+_;Object.assign(a,{versionMadeBy:u,msDosCompatible:d,compressedSize:0,uncompressedSize:0,commentLength:h,directory:A,offset:U,diskNumberStart:Dn(g,p+34),internalFileAttribute:Dn(g,p+36),externalFileAttribute:En(g,p+38),rawFilename:f,filenameUTF8:S,commentUTF8:z,rawExtraField:m.subarray(l,c)});const D=Sn(t,e,"decodeText")||Zt,E=S?_n:x||bn,T=z?_n:k||bn;let F=D(f,E);F===J&&(F=Zt(f,E));let O=D(v,T);O===J&&(O=Zt(v,T)),Object.assign(a,{rawComment:v,filename:F,comment:O,directory:A||F.endsWith("/")}),b=Math.max(U,b),await kn(a,a,g,p+6),a.zipCrypto=a.encrypted&&!a.extraFieldAES;const C=new un(a);C.getData=(e,t)=>a.getData(e,C,t),p=y;const{onprogress:W}=e;if(W)try{await W(r+1,w,new un(a))}catch(e){}yield C}const v=Sn(t,e,"extractPrependedData"),S=Sn(t,e,"extractAppendedData");return v&&(t.prependedData=b>0?await qt(n,0,b):new Uint8Array),t.comment=c?await qt(n,l+Z,c):new Uint8Array,S&&(t.appendedData=u<n.size?await qt(n,u,n.size-u):new Uint8Array),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){}}class yn{constructor(e,t,n){Object.assign(this,{reader:e,config:t,options:n})}async getData(e,t,n={}){const i=this,{reader:r,offset:a,diskNumberStart:s,extraFieldAES:o,compressionMethod:l,config:c,bitFlag:u,signature:d,rawLastModDate:f,uncompressedSize:h,compressedSize:w}=i,_=t.localDirectory={},b=Fn(await qt(r,a,30,s));let p=Sn(i,n,"password"),m=Sn(i,n,"rawPassword");const g=Sn(i,n,"passThrough");if(p=p&&p.length&&p,m=m&&m.length&&m,o&&99!=o.originalCompressionMethod)throw new Error(hn);if(0!=l&&8!=l&&!g)throw new Error(hn);if(67324752!=En(b,0))throw new Error("Local file header not found");xn(_,b,4),_.rawExtraField=_.extraFieldLength?await qt(r,a+30+_.filenameLength,_.extraFieldLength,s):new Uint8Array,await kn(i,_,b,4,!0),Object.assign(t,{lastAccessDate:_.lastAccessDate,creationDate:_.creationDate});const y=i.encrypted&&_.encrypted&&!g,x=y&&!o;if(g||(t.zipCrypto=x),y){if(!x&&o.strength===J)throw new Error("Encryption method not supported");if(!p&&!m)throw new Error("File contains encrypted entry")}const k=a+30+_.filenameLength+_.extraFieldLength,v=w,S=r.readable;Object.assign(S,{diskNumberStart:s,offset:k,size:v});const z=Sn(i,n,"signal"),A=Sn(i,n,"checkPasswordOnly");A&&(e=new WritableStream),e=function(e){e.writable===J&&typeof e.next==X&&(e=new It(e)),e instanceof WritableStream&&(e={writable:e});const{writable:t}=e;return t.size===J&&(t.size=0),e instanceof It||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}(e),await Nt(e,g?w:h);const{writable:U}=e,{onstart:D,onprogress:E,onend:T}=n,F={options:{codecType:bt,password:p,rawPassword:m,zipCrypto:x,encryptionStrength:o&&o.strength,signed:Sn(i,n,"checkSignature")&&!g,passwordVerification:x&&(u.dataDescriptor?f>>>8&255:d>>>24&255),signature:d,compressed:0!=l&&!g,encrypted:i.encrypted&&!g,useWebWorkers:Sn(i,n,"useWebWorkers"),useCompressionStream:Sn(i,n,"useCompressionStream"),transferStreams:Sn(i,n,"transferStreams"),checkPasswordOnly:A},config:c,streamOptions:{signal:z,size:v,onstart:D,onprogress:E,onend:T}};let O=0;try{({outputSize:O}=await Ft({readable:S,writable:U},F))}catch(e){if(!A||e.message!=pe)throw e}finally{const e=Sn(i,n,"preventClose");U.size+=O,e||U.locked||await U.getWriter().close()}return A?J:e.getData?e.getData():U}}function xn(e,t,n){const i=e.rawBitFlag=Dn(t,n+2),r=!(1&~i),a=En(t,n+6);Object.assign(e,{encrypted:r,version:Dn(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:!(8&~i),languageEncodingFlag:!(2048&~i)},rawLastModDate:a,lastModDate:zn(a),filenameLength:Dn(t,n+22),extraFieldLength:Dn(t,n+24)})}async function kn(e,t,n,i,r){const{rawExtraField:a}=t,s=t.extraField=new Map,o=Fn(new Uint8Array(a));let l=0;try{for(;l<a.length;){const e=Dn(o,l),t=Dn(o,l+2);s.set(e,{type:e,data:a.slice(l+4,l+4+t)}),l+=4+t}}catch(e){}const c=Dn(n,i+4);Object.assign(t,{signature:En(n,i+10),uncompressedSize:En(n,i+18),compressedSize:En(n,i+14)});const u=s.get(1);u&&(!function(e,t){t.zip64=!0;const n=Fn(e.data),i=pn.filter((([e,n])=>t[e]==n));for(let r=0,a=0;r<i.length;r++){const[s,o]=i[r];if(t[s]==o){const i=mn[o];t[s]=e[s]=i.getValue(n,a),a+=i.bytes}else if(e[s])throw new Error(fn)}}(u,t),t.extraFieldZip64=u);const d=s.get(28789);d&&(await vn(d,Gt,Jt,t,e),t.extraFieldUnicodePath=d);const f=s.get(25461);f&&(await vn(f,Qt,Xt,t,e),t.extraFieldUnicodeComment=f);const h=s.get(39169);h?(!function(e,t,n){const i=Fn(e.data),r=Un(i,4);Object.assign(e,{vendorVersion:Un(i,0),vendorId:Un(i,2),strength:r,originalCompressionMethod:n,compressionMethod:Dn(i,5)}),t.compressionMethod=e.compressionMethod}(h,t,c),t.extraFieldAES=h):t.compressionMethod=c;const w=s.get(10);w&&(!function(e,t){const n=Fn(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=Dn(n,r),a=Dn(n,r+2);t==G&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=Fn(i),r=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),s=n.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:r,rawLastAccessDate:a,rawCreationDate:s});const o=An(r),l=An(a),c={lastModDate:o,lastAccessDate:l,creationDate:An(s)};Object.assign(e,c),Object.assign(t,c)}}catch(e){}}(w,t),t.extraFieldNTFS=w);const _=s.get(21589);_&&(!function(e,t,n){const i=Fn(e.data),r=Un(i,0),a=[],s=[];n?(1&~r||(a.push(nn),s.push(rn)),2&~r||(a.push(an),s.push(sn)),4&~r||(a.push(on),s.push(ln))):e.data.length>=5&&(a.push(nn),s.push(rn));let o=1;a.forEach(((n,r)=>{if(e.data.length>=o+4){const a=En(i,o);t[n]=e[n]=new Date(1e3*a);const l=s[r];e[l]=a}o+=4}))}(_,t,r),t.extraFieldExtendedTimestamp=_);const b=s.get(6534);b&&(t.extraFieldUSDZ=b)}async function vn(e,t,n,i,r){const a=Fn(e.data),s=new ae;s.append(r[n]);const o=Fn(new Uint8Array(4));o.setUint32(0,s.get(),!0);const l=En(a,1);Object.assign(e,{version:Un(a,0),[t]:Zt(e.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&l==En(o,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Sn(e,t,n){return t[n]===J?e.options[n]:t[n]}function zn(e){const t=(4294901760&e)>>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}function An(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function Un(e,t){return e.getUint8(t)}function Dn(e,t){return e.getUint16(t,!0)}function En(e,t){return e.getUint32(t,!0)}function Tn(e,t){return Number(e.getBigUint64(t,!0))}function Fn(e){return new DataView(e.buffer)}ne({Inflate:function(n){const i=new N,r=n&&n.chunkSize?Math.floor(2*n.chunkSize):131072,s=new Uint8Array(r);let o=!1;i.inflateInit(),i.next_out=s,this.append=function(n,l){const c=[];let u,d,f=0,h=0,w=0;if(0!==n.length){i.next_in_index=0,i.next_in=n,i.avail_in=n.length;do{if(i.next_out_index=0,i.avail_out=r,0!==i.avail_in||o||(i.next_in_index=0,o=!0),u=i.inflate(0),o&&u===a){if(0!==i.avail_in)throw new Error("inflating: bad input")}else if(u!==e&&u!==t)throw new Error("inflating: "+i.msg);if((o||u===t)&&i.avail_in===n.length)throw new Error("inflating: bad input");i.next_out_index&&(i.next_out_index===r?c.push(new Uint8Array(s)):c.push(s.subarray(0,i.next_out_index))),w+=i.next_out_index,l&&i.next_in_index>0&&i.next_in_index!=f&&(l(i.next_in_index),f=i.next_in_index)}while(i.avail_in>0||0===i.avail_out);return c.length>1?(d=new Uint8Array(w),c.forEach((function(e){d.set(e,h),h+=e.length}))):d=c[0]?new Uint8Array(c[0]):new Uint8Array,d}},this.flush=function(){i.inflateEnd()}}});export{Lt as BlobReader,Pt as BlobWriter,Rt as TextWriter,gn as ZipReader,ne as configure};