Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@zip.js/zip.js

Package Overview
Dependencies
Maintainers
1
Versions
275
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zip.js/zip.js - npm Package Compare versions

Comparing version 2.3.2 to 2.3.3

2

dist/zip-no-worker-deflate.min.js

@@ -1,1 +0,1 @@

!function(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 t=256,n=256,r=-2,i=-5;function s(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const a=[0,1,2,3].concat(...s([[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 o(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=function(n){const r=e.dyn_tree,i=e.stat_desc.static_tree,s=e.stat_desc.elems;let a,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,a=0;a<s;a++)0!==r[2*a]?(n.heap[++n.heap_len]=l=a,n.depth[a]=0):r[2*a+1]=0;for(;n.heap_len<2;)c=n.heap[++n.heap_len]=l<2?++l:0,r[2*c]=1,n.depth[c]=0,n.opt_len--,i&&(n.static_len-=i[2*c+1]);for(e.max_code=l,a=Math.floor(n.heap_len/2);a>=1;a--)n.pqdownheap(r,a);c=s;do{a=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=a,n.heap[--n.heap_max]=o,r[2*c]=r[2*a]+r[2*o],n.depth[c]=Math.max(n.depth[a],n.depth[o])+1,r[2*a+1]=r[2*o+1]=c,n.heap[1]=c++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,c,l,d,u,h,f=0;for(d=0;d<=15;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>a&&(d=a,f++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,c>=s&&(u=i[c-s]),h=n[2*c],t.opt_len+=h*(d+u),r&&(t.static_len+=h*(r[2*c+1]+u)));if(0!==f){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,f-=2}while(f>0);for(d=a;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(e,n,r){const i=[];let s,a,o,c=0;for(s=1;s<=15;s++)i[s]=c=c+r[s-1]<<1;for(a=0;a<=n;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(i[o]++,o))}(r,e.max_code,n.bl_count)}}function c(e,t,n,r,i){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=r,s.max_length=i}o._length_code=[0,1,2,3,4,5,6,7].concat(...s([[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]])),o.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],o.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],o.d_code=function(e){return e<256?a[e]:a[256+(e>>>7)]},o.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],o.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],o.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],o.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],c.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],c.static_l_desc=new c(c.static_ltree,o.extra_lbits,257,286,15),c.static_d_desc=new c(c.static_dtree,o.extra_dbits,0,30,15),c.static_bl_desc=new c(null,o.extra_blbits,0,19,7);function l(e,t,n,r,i){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=r,s.func=i}const d=[new l(0,0,0,0,0),new l(4,4,8,4,1),new l(4,5,16,8,1),new l(4,6,32,32,1),new l(4,4,16,16,2),new l(8,16,32,32,2),new l(8,16,128,128,2),new l(8,32,128,256,2),new l(32,128,258,1024,2),new l(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],h=113,f=666,p=258,g=262;function w(e,t,n,r){const i=e[2*t],s=e[2*n];return i<s||i==s&&r[t]<=r[n]}function y(){const e=this;let s,a,l,y,_,m,b,x,A,k,U,v,E,z,R,S,T,D,F,W,I,M,B,C,H,O,P,j,N,L,V,q,K;const G=new o,Z=new o,X=new o;let Y,J,Q,$,ee,te,ne,re;function ie(){let t;for(t=0;t<286;t++)V[2*t]=0;for(t=0;t<30;t++)q[2*t]=0;for(t=0;t<19;t++)K[2*t]=0;V[512]=1,e.opt_len=e.static_len=0,Q=ee=0}function se(e,t){let n,r=-1,i=e[1],s=0,a=7,o=4;0===i&&(a=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;c<=t;c++)n=i,i=e[2*(c+1)+1],++s<a&&n==i||(s<o?K[2*n]+=s:0!==n?(n!=r&&K[2*n]++,K[32]++):s<=10?K[34]++:K[36]++,s=0,r=n,0===i?(a=138,o=3):n==i?(a=6,o=3):(a=7,o=4))}function ae(t){e.pending_buf[e.pending++]=t}function oe(e){ae(255&e),ae(e>>>8&255)}function ce(e,t){let n;const r=t;re>16-r?(n=e,ne|=n<<re&65535,oe(ne),ne=n>>>16-re,re+=r-16):(ne|=e<<re&65535,re+=r)}function le(e,t){const n=2*e;ce(65535&t[n],65535&t[n+1])}function de(e,t){let n,r,i=-1,s=e[1],a=0,o=7,c=4;for(0===s&&(o=138,c=3),n=0;n<=t;n++)if(r=s,s=e[2*(n+1)+1],!(++a<o&&r==s)){if(a<c)do{le(r,K)}while(0!=--a);else 0!==r?(r!=i&&(le(r,K),a--),le(16,K),ce(a-3,2)):a<=10?(le(17,K),ce(a-3,3)):(le(18,K),ce(a-11,7));a=0,i=r,0===s?(o=138,c=3):r==s?(o=6,c=3):(o=7,c=4)}}function ue(){16==re?(oe(ne),ne=0,re=0):re>=8&&(ae(255&ne),ne>>>=8,re-=8)}function he(n,r){let i,s,a;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[Y+Q]=255&r,Q++,0===n?V[2*r]++:(ee++,n--,V[2*(o._length_code[r]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&P>2){for(i=8*Q,s=I-T,a=0;a<30;a++)i+=q[2*a]*(5+o.extra_dbits[a]);if(i>>>=3,ee<Math.floor(Q/2)&&i<Math.floor(s/2))return!0}return Q==J-1}function fe(r,i){let s,a,c,l,d=0;if(0!==Q)do{s=e.pending_buf[$+2*d]<<8&65280|255&e.pending_buf[$+2*d+1],a=255&e.pending_buf[Y+d],d++,0===s?le(a,r):(c=o._length_code[a],le(c+t+1,r),l=o.extra_lbits[c],0!==l&&(a-=o.base_length[c],ce(a,l)),s--,c=o.d_code(s),le(c,i),l=o.extra_dbits[c],0!==l&&(s-=o.base_dist[c],ce(s,l)))}while(d<Q);le(n,r),te=r[513]}function pe(){re>8?oe(ne):re>0&&ae(255&ne),ne=0,re=0}function ge(t,n,r){ce(0+(r?1:0),3),function(t,n,r){pe(),te=8,r&&(oe(n),oe(~n)),e.pending_buf.set(x.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function we(t,n,r){let i,s,a=0;P>0?(G.build_tree(e),Z.build_tree(e),a=function(){let t;for(se(V,G.max_code),se(q,Z.max_code),X.build_tree(e),t=18;t>=3&&0===K[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!=t?ge(t,n,r):s==i?(ce(2+(r?1:0),3),fe(c.static_ltree,c.static_dtree)):(ce(4+(r?1:0),3),function(e,t,n){let r;for(ce(e-257,5),ce(t-1,5),ce(n-4,4),r=0;r<n;r++)ce(K[2*o.bl_order[r]+1],3);de(V,e-1),de(q,t-1)}(G.max_code+1,Z.max_code+1,a+1),fe(V,q)),ie(),r&&pe()}function ye(e){we(T>=0?T:-1,I-T,e),T=I,s.flush_pending()}function _e(){let e,t,n,r;do{if(r=A-B-I,0===r&&0===I&&0===B)r=_;else if(-1==r)r--;else if(I>=_+_-g){x.set(x.subarray(_,_+_),0),M-=_,I-=_,T-=_,e=E,n=e;do{t=65535&U[--n],U[n]=t>=_?t-_:0}while(0!=--e);e=_,n=e;do{t=65535&k[--n],k[n]=t>=_?t-_:0}while(0!=--e);r+=_}if(0===s.avail_in)return;e=s.read_buf(x,I+B,r),B+=e,B>=3&&(v=255&x[I],v=(v<<S^255&x[I+1])&R)}while(B<g&&0!==s.avail_in)}function me(e){let t,n,r=H,i=I,s=C;const a=I>_-g?I-(_-g):0;let o=L;const c=b,l=I+p;let d=x[i+s-1],u=x[i+s];C>=N&&(r>>=2),o>B&&(o=B);do{if(t=e,x[t+s]==u&&x[t+s-1]==d&&x[t]==x[i]&&x[++t]==x[i+1]){i+=2,t++;do{}while(x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&i<l);if(n=p-(l-i),i=l-p,n>s){if(M=e,s=n,n>=o)break;d=x[i+s-1],u=x[i+s]}}}while((e=65535&k[e&c])>a&&0!=--r);return s<=B?s:B}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,a=h,y=0,G.dyn_tree=V,G.stat_desc=c.static_l_desc,Z.dyn_tree=q,Z.stat_desc=c.static_d_desc,X.dyn_tree=K,X.stat_desc=c.static_bl_desc,ne=0,re=0,te=8,ie(),function(){A=2*_,U[E-1]=0;for(let e=0;e<E-1;e++)U[e]=0;O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain,I=0,T=0,B=0,D=C=2,W=0,v=0}(),0}e.depth=[],e.bl_count=[],e.heap=[],V=[],q=[],K=[],e.pqdownheap=function(t,n){const r=e.heap,i=r[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&w(t,r[s+1],r[s],e.depth)&&s++,!w(t,i,r[s],e.depth));)r[n]=r[s],n=s,s<<=1;r[n]=i},e.deflateInit=function(t,n,i,s,a,o){return s||(s=8),a||(a=8),o||(o=0),t.msg=null,-1==n&&(n=6),a<1||a>9||8!=s||i<9||i>15||n<0||n>9||o<0||o>2?r:(t.dstate=e,m=i,_=1<<m,b=_-1,z=a+7,E=1<<z,R=E-1,S=Math.floor((z+3-1)/3),x=new Uint8Array(2*_),k=[],U=[],J=1<<a+6,e.pending_buf=new Uint8Array(4*J),l=4*J,$=Math.floor(J/2),Y=3*J,P=n,j=o,be(t))},e.deflateEnd=function(){return 42!=a&&a!=h&&a!=f?r:(e.pending_buf=null,U=null,k=null,x=null,e.dstate=null,a==h?-3:0)},e.deflateParams=function(e,t,n){let i=0;return-1==t&&(t=6),t<0||t>9||n<0||n>2?r:(d[P].func!=d[t].func&&0!==e.total_in&&(i=e.deflate(1)),P!=t&&(P=t,O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain),j=n,i)},e.deflateSetDictionary=function(e,t,n){let i,s=n,o=0;if(!t||42!=a)return r;if(s<3)return 0;for(s>_-g&&(s=_-g,o=n-s),x.set(t.subarray(o,o+s),0),I=s,T=s,v=255&x[0],v=(v<<S^255&x[1])&R,i=0;i<=s-3;i++)v=(v<<S^255&x[i+2])&R,k[i&b]=U[v],U[v]=i;return 0},e.deflate=function(t,o){let p,w,A,z,H;if(o>4||o<0)return r;if(!t.next_out||!t.next_in&&0!==t.avail_in||a==f&&4!=o)return t.msg=u[4],r;if(0===t.avail_out)return t.msg=u[7],i;var N;if(s=t,z=y,y=o,42==a&&(w=8+(m-8<<4)<<8,A=(P-1&255)>>1,A>3&&(A=3),w|=A<<6,0!==I&&(w|=32),w+=31-w%31,a=h,ae((N=w)>>8&255),ae(255&N)),0!==e.pending){if(s.flush_pending(),0===s.avail_out)return y=-1,0}else if(0===s.avail_in&&o<=z&&4!=o)return s.msg=u[7],i;if(a==f&&0!==s.avail_in)return t.msg=u[7],i;if(0!==s.avail_in||0!==B||0!=o&&a!=f){switch(H=-1,d[P].func){case 0:H=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(B<=1){if(_e(),0===B&&0==e)return 0;if(0===B)break}if(I+=B,B=0,t=T+n,(0===I||I>=t)&&(B=I-t,I=t,ye(!1),0===s.avail_out))return 0;if(I-T>=_-g&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:H=function(e){let t,n=0;for(;;){if(B<g){if(_e(),B<g&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[I+2])&R,n=65535&U[v],k[I&b]=U[v],U[v]=I),0!==n&&(I-n&65535)<=_-g&&2!=j&&(D=me(n)),D>=3)if(t=he(I-M,D-3),B-=D,D<=O&&B>=3){D--;do{I++,v=(v<<S^255&x[I+2])&R,n=65535&U[v],k[I&b]=U[v],U[v]=I}while(0!=--D);I++}else I+=D,D=0,v=255&x[I],v=(v<<S^255&x[I+1])&R;else t=he(0,255&x[I]),B--,I++;if(t&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 2:H=function(e){let t,n,r=0;for(;;){if(B<g){if(_e(),B<g&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[I+2])&R,r=65535&U[v],k[I&b]=U[v],U[v]=I),C=D,F=M,D=2,0!==r&&C<O&&(I-r&65535)<=_-g&&(2!=j&&(D=me(r)),D<=5&&(1==j||3==D&&I-M>4096)&&(D=2)),C>=3&&D<=C){n=I+B-3,t=he(I-1-F,C-3),B-=C-1,C-=2;do{++I<=n&&(v=(v<<S^255&x[I+2])&R,r=65535&U[v],k[I&b]=U[v],U[v]=I)}while(0!=--C);if(W=0,D=2,I++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==W){if(t=he(0,255&x[I-1]),t&&ye(!1),I++,B--,0===s.avail_out)return 0}else W=1,I++,B--}return 0!==W&&(t=he(0,255&x[I-1]),W=0),ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o)}if(2!=H&&3!=H||(a=f),0==H||2==H)return 0===s.avail_out&&(y=-1),0;if(1==H){if(1==o)ce(2,3),le(n,c.static_ltree),ue(),1+te+10-re<9&&(ce(2,3),le(n,c.static_ltree),ue()),te=7;else if(ge(0,0,!1),3==o)for(p=0;p<E;p++)U[p]=0;if(s.flush_pending(),0===s.avail_out)return y=-1,0}}return 4!=o?0:1}}function _(){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}_.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new y,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):r},deflateEnd:function(){const e=this;if(!e.dstate)return r;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):r},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):r},read_buf:function(e,t,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),t),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){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 m={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},b=Object.assign({},m);function x(e){if(void 0!==e.chunkSize&&(b.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(b.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(b.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(b.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(b.Deflate=e.Deflate),void 0!==e.Inflate&&(b.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.inflate=e.workerScripts.inflate}}}const A="HTTP error ",k="HTTP Range not supported",U="text/plain",v="Content-Length",E="Accept-Ranges",z="HEAD",R="GET",S="bytes";class T{constructor(){this.size=0}init(){this.initialized=!0}}class D extends T{}class F extends T{writeUint8Array(e){this.size+=e.length}}class W extends D{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((r,i)=>{n.onload=e=>r(new Uint8Array(e.target.result)),n.onerror=()=>i(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class I extends F{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class M extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest){const e=await C(z,this.url,this.options);if(this.size=Number(e.headers.get(v)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(E)!=S)throw new Error(k);void 0===this.size&&await B(this,this.options)}else await B(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await C(R,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(k);return new Uint8Array(await n.arrayBuffer())}return this.data||await B(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function B(e,t){const n=await C(R,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function C(e,t,n,r){r=Object.assign({},n.headers,r);const i=await fetch(t,Object.assign({},n,{method:e,headers:r}));if(i.status<400)return i;throw new Error(A+(i.statusText||i.status))}class H extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>P(z,this.url,(n=>{this.size=Number(n.getResponseHeader(v)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(E)==S?e():t(new Error(k)):void 0===this.size?O(this,this.url).then((()=>e())).catch(t):e()}),t)));await O(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await O(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,r)=>P(R,this.url,(e=>n(new Uint8Array(e.response))),r,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(k)}}function O(e,t){return new Promise(((n,r)=>P(R,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),r)))}function P(e,t,n,r,i=[]){const s=new XMLHttpRequest;return s.addEventListener("load",(()=>{s.status<400?n(s):r(A+(s.statusText||s.status))}),!1),s.addEventListener("error",r,!1),s.open(e,t),i.forEach((e=>s.setRequestHeader(e[0],e[1]))),s.responseType="arraybuffer",s.send(),s}class j extends D{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new H(e,t):this.reader=new M(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function N(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const L=4294967295,V=65535,q=67324752,K=134695760,G=33639248,Z=101010256,X=101075792,Y=117853008,J=21589,Q="/",$=new Date(2107,11,31),ee=new Date(1980,0,1),te=[];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;te[e]=t}class ne{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;n<r;n++)t=t>>>8^te[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const re={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=re.getPartial(n);return 32===r?e.concat(t):re._shiftRight(t,r,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)+re.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]=re.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,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;i<e.length;i++)r.push(n|e[i]>>>t),n=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=re.getPartial(i);return r.push(re.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},ie={bytes:{fromBits(e){const t=re.bitLength(e)/8,n=new Uint8Array(t);let r;for(let i=0;i<t;i++)0==(3&i)&&(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(re.partial(8*(3&n),r)),t}}},se={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};se.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=ie.utf8String.toBits(e));const n=t._buffer=re.concat(t._buffer,e),r=t._length,i=t._length=r+re.bitLength(e);if(i>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=i;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=re.concat(t,[re.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},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,r=Array(80);for(let t=0;t<16;t++)r[t]=e[t];let i=n[0],s=n[1],a=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const n=t._S(5,i)+t._f(e,s,a,o)+c+r[e]+t._key[Math.floor(e/20)]|0;c=o,o=a,a=t._S(30,s),s=i,i=n}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const ae={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],i=e.length;let s,a,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=i;s<4*i+28;s++){let e=a[s-1];(s%i==0||8===i&&s%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%i==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=s<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[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],r=t[4],i=[],s=[];let a,o,c,l;for(let e=0;e<256;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,r[s]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,h=257*i[s]^16843008*s;for(let n=0;n<4;n++)e[n][d]=h=h<<24^h>>>8,t[n][s]=u=u<<24^u>>>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],r=n.length/4-2,i=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,h,f,p=e[0]^n[0],g=e[t?3:1]^n[1],w=e[2]^n[2],y=e[t?1:3]^n[3],_=4;for(let e=0;e<r;e++)u=a[p>>>24]^o[g>>16&255]^c[w>>8&255]^l[255&y]^n[_],h=a[g>>>24]^o[w>>16&255]^c[y>>8&255]^l[255&p]^n[_+1],f=a[w>>>24]^o[y>>16&255]^c[p>>8&255]^l[255&g]^n[_+2],y=a[y>>>24]^o[p>>16&255]^c[g>>8&255]^l[255&w]^n[_+3],_+=4,p=u,g=h,w=f;for(let e=0;e<4;e++)i[t?3&-e:e]=d[p>>>24]<<24^d[g>>16&255]<<16^d[w>>8&255]<<8^d[255&y]^n[_++],u=p,p=g,g=w,w=y,y=u;return i}}},oe={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&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const i=re.bitLength(t);for(let i=0;i<r;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return re.clamp(t,i)}}},ce={hmacSha1:class{constructor(e){const t=this,n=t._hash=se.sha1,r=[[],[]],i=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>i&&(e=n.hash(e));for(let t=0;t<i;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[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}}},le="Invalid pasword",de=16,ue={name:"PBKDF2"},he=Object.assign({hash:{name:"HMAC"}},ue),fe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ue),pe=["deriveBits"],ge=[8,12,16],we=[16,24,32],ye=10,_e=[0,0,0,0],me=crypto.subtle,be=ie.bytes,xe=ae.aes,Ae=oe.ctrGladman,ke=ce.hmacSha1;class Ue{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Se(e,0,ge[t.strength]+2);await async function(e,t,n){await ze(e,n,Se(t,0,ge[e.strength]));const r=Se(t,ge[e.strength]),i=e.keys.passwordVerification;if(i[0]!=r[0]||i[1]!=r[1])throw new Error(le)}(t,n,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication),e=Se(e,ge[t.strength]+2)}return Ee(t,e,new Uint8Array(e.length-ye-(e.length-ye)%de),0,ye,!0)}async flush(){const e=this,t=e.pendingInput,n=Se(t,0,t.length-ye),r=Se(t,t.length-ye);let i=new Uint8Array(0);if(n.length){const t=be.toBits(n);e.hmac.update(t);const r=e.aesCtrGladman.update(t);i=be.fromBits(r)}let s=!0;if(e.signed){const t=Se(be.fromBits(e.hmac.digest()),0,ye);for(let e=0;e<ye;e++)t[e]!=r[e]&&(s=!1)}return{valid:s,data:i}}}class ve{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(ge[e.strength]));return await ze(e,t,n),Re(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication));const r=new Uint8Array(n.length+e.length-e.length%de);return r.set(n,0),Ee(t,e,r,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(be.toBits(e.pendingInput));e.hmac.update(n),t=be.fromBits(n)}const n=Se(be.fromBits(e.hmac.digest()),0,ye);return{data:Re(t,n),signature:n}}}function Ee(e,t,n,r,i,s){const a=t.length-i;let o;for(e.pendingInput.length&&(t=Re(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,a-a%de)),o=0;o<=a-de;o+=de){const i=be.toBits(Se(t,o,o+de));s&&e.hmac.update(i);const a=e.aesCtrGladman.update(i);s||e.hmac.update(a),n.set(be.fromBits(a),o+r)}return e.pendingInput=Se(t,o),n}async function ze(e,t,n){const r=(new TextEncoder).encode(t),i=await me.importKey("raw",r,he,!1,pe),s=await me.deriveBits(Object.assign({salt:n},fe),i,8*(2*we[e.strength]+2)),a=new Uint8Array(s);e.keys={key:be.toBits(Se(a,0,we[e.strength])),authentication:be.toBits(Se(a,we[e.strength],2*we[e.strength])),passwordVerification:Se(a,2*we[e.strength])}}function Re(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 Se(e,t,n){return e.subarray(t,n)}const Te=12;class De{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Me(this,e)}async append(e){const t=this;if(t.password){const n=We(t,e.subarray(0,Te));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(le);e=e.subarray(Te)}return We(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Fe{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Me(this,e)}async append(e){const t=this;let n,r;if(t.password){t.password=null;const i=crypto.getRandomValues(new Uint8Array(Te));i[11]=t.passwordVerification,n=new Uint8Array(e.length+i.length),n.set(Ie(t,i),0),r=Te}else n=new Uint8Array(e.length),r=0;return n.set(Ie(t,e),r),n}async flush(){return{data:new Uint8Array(0)}}}function We(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,n[r]);return n}function Ie(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,t[r]);return n}function Me(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new ne(e.keys[0]),e.crcKey2=new ne(e.keys[2]);for(let n=0;n<t.length;n++)Be(e,t.charCodeAt(n))}function Be(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+He(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Ce(e){const t=2|e.keys[2];return He(Math.imul(t,1^t)>>>8)}function He(e){return 255&e}function Oe(e){return 4294967295&e}const Pe="deflate",je="Invalid signature";class Ne{constructor(e,{signature:t,password:n,signed:r,compressed:i,zipCrypto:s,passwordVerification:a,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:r,compressed:i,inflate:i&&new e({chunkSize:c}),crc32:r&&new ne,zipCrypto:s,decrypt:l&&s?new De(n,a):new Ue(n,r,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(je);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(je)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Le{constructor(e,{encrypted:t,signed:n,compressed:r,level:i,zipCrypto:s,password:a,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:r,deflate:r&&new e({level:i||5,chunkSize:l}),crc32:n&&new ne,zipCrypto:s,encrypt:t&&s?new Fe(a,o):new ve(a,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const r=await e.encrypt.flush();t=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Ve="init",qe="append",Ke="flush",Ge="message";var Ze=(e,t,n,r,i,s,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,i(e)}}),s?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-deflate.min.js",document.baseURI).href)),e.worker.addEventListener(Ge,s,!1),e.interface={append:e=>r({type:qe,data:e}),flush:()=>r({type:Ke})});return e.interface;async function r(r){if(!n){const n=e.options,r=e.scripts.slice(1);await i({scripts:r,type:Ve,options:n,config:{chunkSize:t.chunkSize}})}return i(r)}function i(t){const r=e.worker,i=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,r.postMessage(t,[t.data])}catch(e){r.postMessage(t)}else r.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return i}function s(t){const r=t.data;if(n){const t=r.error,i=r.type;if(t){const r=new Error(t.message);r.stack=t.stack,n.reject(r),n=null,e.onTaskFinished()}else if(i==Ve||i==Ke||i==qe){const t=r.data;i==Ke?(n.resolve({data:new Uint8Array(t),signature:r.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,r):function(e,t){const n=function(e,t,n){return t.codecType.startsWith(Pe)?new Le(e,t,n):t.codecType.startsWith("inflate")?new Ne(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,r));let Xe=[],Ye=[];function Je(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function Qe(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function $e(e,t){return t.length&&await e.writeUint8Array(t),t.length}const et=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp"];class tt{constructor(e){et.forEach((t=>this[t]=e[t]))}}const nt="File already exists",rt="Zip file comment exceeds 64KB",it="File entry comment exceeds 64KB",st="File entry name exceeds 64KB",at="Version exceeds 65535",ot="The strength must equal 1, 2, or 3",ct="Extra field type exceeds 65535",lt="Extra field data exceeds 64KB",dt="Zip64 is not supported",ut=new Uint8Array([7,0,2,0,65,69,3,0,0]);let ht=0;function ft(e,t,n){const r=new FileReader;return new Promise(((i,s)=>{r.onload=e=>i(e.target.result),r.onerror=()=>s(r.error),r.readAsArrayBuffer(t||n?e.slice(t,n):e)}))}function pt(e){if(e)return 10000n*(BigInt(e.getTime())+11644473600000n)}function gt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function wt(e,t,n){e.setUint8(t,n)}function yt(e,t,n){e.setUint16(t,n,!0)}function _t(e,t,n){e.setUint32(t,n,!0)}function mt(e,t,n){e.setBigUint64(t,n,!0)}function bt(e,t,n){e.set(t,n)}function xt(e){return new DataView(e.buffer)}x({Deflate:function(e){const t=new _,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(r/16383)+1);var r;const i=new Uint8Array(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=i,this.append=function(e,r){let s,a,o=0,c=0,l=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(i.slice(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(a=new Uint8Array(l),d.forEach((function(e){a.set(e,c),c+=e.length}))):a=d[0]||new Uint8Array(0),a}},this.flush=function(){let e,r,s=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(i.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(a),o.forEach((function(e){r.set(e,s),s+=e.length})),r}}}),e.BlobReader=W,e.BlobWriter=I,e.Data64URIReader=class extends D{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),r=4*Math.floor(e/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),s=e-3*Math.floor(r/4);for(let e=s;e<s+t;e++)n[e-s]=i.charCodeAt(e);return n}},e.Data64URIWriter=class extends F{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((r+e.length)/3)-r;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_DUPLICATED_NAME=nt,e.ERR_HTTP_RANGE=k,e.ERR_INVALID_COMMENT=rt,e.ERR_INVALID_ENCRYPTION_STRENGTH=ot,e.ERR_INVALID_ENTRY_COMMENT=it,e.ERR_INVALID_ENTRY_NAME=st,e.ERR_INVALID_EXTRAFIELD_DATA=lt,e.ERR_INVALID_EXTRAFIELD_TYPE=ct,e.ERR_INVALID_VERSION=at,e.ERR_UNSUPPORTED_FORMAT=dt,e.HttpRangeReader=class extends j{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=j,e.Reader=D,e.TextReader=class extends D{constructor(e){super(),this.blobReader=new W(new Blob([e],{type:U}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends F{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:U})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:U})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends D{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends F{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=F,e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:b,files:new Map,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",t,n={}){const r=this;if(!(ht<r.config.maxWorkers))return new Promise(((i,s)=>r.pendingEntries.push({name:e,reader:t,options:n,resolve:i,reject:s})));ht++;try{return await async function(e,t,n,r){t=t.trim(),r.directory&&!t.endsWith(Q)?t+=Q:r.directory=t.endsWith(Q);if(e.files.has(t))throw new Error(nt);const i=(new TextEncoder).encode(t);if(i.length>V)throw new Error(st);const s=r.comment||"",a=(new TextEncoder).encode(s);if(a.length>V)throw new Error(it);const o=e.options.version||r.version||0;if(o>V)throw new Error(at);const c=gt(e,r,"lastModDate")||new Date,l=gt(e,r,"lastAccessDate"),d=gt(e,r,"creationDate"),u=gt(e,r,"password"),h=gt(e,r,"encryptionStrength")||3,f=gt(e,r,"zipCrypto");if(void 0!==u&&void 0!==h&&(h<1||h>3))throw new Error(ot);let p=new Uint8Array(0);const g=r.extraField;if(g){let e=0,t=0;g.forEach((t=>e+=4+t.length)),p=new Uint8Array(e),g.forEach(((e,n)=>{if(n>V)throw new Error(ct);if(e.length>V)throw new Error(lt);bt(p,new Uint16Array([n]),t),bt(p,new Uint16Array([e.length]),t+2),bt(p,e,t+4),t+=4+e.length}))}let w=0,y=gt(e,r,"keepOrder");void 0===y&&(y=!0);let _=0;n&&(n.initialized||await n.init(),_=n.size,w=function(e){return e+5*(Math.floor(e/16383)+1)}(_));let m=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=L||_>=L||w>=L){if(!1===r.zip64||!1===e.options.zip64||!y)throw new Error(dt);m=!0}e.pendingCompressedSize+=w,await Promise.resolve();const b=gt(e,r,"level"),x=gt(e,r,"useWebWorkers"),A=gt(e,r,"bufferedWrite");let k=gt(e,r,"dataDescriptor");const U=gt(e,r,"signal");void 0===k&&(k=!0);const v=await async function(e,t,n,r){const i=e.files,s=e.writer,a=Array.from(i.values()).pop();let o,c,l,d={};i.set(t,d);try{let u,h,f;if(r.keepOrder&&(u=a&&a.lock),d.lock=f=new Promise((e=>l=e)),r.bufferedWrite||e.lockWrite||!r.dataDescriptor?(h=new I,h.init(),o=!0):(e.lockWrite=new Promise((e=>c=e)),s.initialized||await s.init(),h=s),d=await async function(e,t,n,r){const{rawFilename:i,lastAccessDate:s,creationDate:a,password:o,level:c,zip64:l,zipCrypto:d,dataDescriptor:u,directory:h,version:f,rawComment:p,rawExtraField:g,useWebWorkers:w,onprogress:y,signal:_,encryptionStrength:m}=r,b=Boolean(o&&o.length),x=0!==c&&!h;let A;if(b&&!d){A=new Uint8Array(ut.length+2);const e=xt(A);yt(e,0,39169),bt(A,ut,2),wt(e,8,m)}else A=new Uint8Array(0);const k=new Uint8Array(9+(s?4:0)+(a?4:0)),U=xt(k);yt(U,0,J),yt(U,2,k.length-4);wt(U,4,1+(s?2:0)+(a?4:0)),_t(U,5,Math.floor(r.lastModDate.getTime()/1e3)),s&&_t(U,9,Math.floor(s.getTime()/1e3));a&&_t(U,13,Math.floor(a.getTime()/1e3));let v;try{v=new Uint8Array(36);const e=xt(v),t=pt(r.lastModDate);yt(e,0,10),yt(e,2,32),yt(e,8,1),yt(e,10,24),mt(e,12,t),mt(e,20,pt(s)||t),mt(e,28,pt(a)||t)}catch(e){v=new Uint8Array(0)}const E={version:f||20,zip64:l,directory:Boolean(h),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldExtendedTimestamp:k,rawExtraFieldNTFS:v,rawExtraFieldAES:A,rawExtraField:g};let z=E.uncompressedSize=0,R=2048;u&&(R|=8);let S=0;x&&(S=8);l&&(E.version=E.version>45?E.version:45);b&&(R|=1,d||(E.version=E.version>51?E.version:51,S=99,x&&(E.rawExtraFieldAES[9]=8)));E.compressionMethod=S;const T=E.headerArray=new Uint8Array(26),D=xt(T);yt(D,0,E.version),yt(D,2,R),yt(D,4,S);const F=new Uint32Array(1),W=xt(F);let I;I=r.lastModDate<ee?ee:r.lastModDate>$?$:r.lastModDate;yt(W,0,(I.getHours()<<6|I.getMinutes())<<5|I.getSeconds()/2),yt(W,2,(I.getFullYear()-1980<<4|I.getMonth()+1)<<5|I.getDate());const M=F[0];_t(D,6,M),yt(D,22,i.length);const B=A.length+k.length+v.length+E.rawExtraField.length;yt(D,24,B);const C=new Uint8Array(30+i.length+B);let H;_t(xt(C),0,q),bt(C,T,4),bt(C,i,30),bt(C,A,30+i.length),bt(C,k,30+i.length+A.length),bt(C,v,30+i.length+A.length+k.length),bt(C,E.rawExtraField,30+i.length+A.length+k.length+v.length);let O=0;if(e){z=E.uncompressedSize=e.size;const r=await function(e,t,n){const r=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Xe.length<n.maxWorkers){const a={};return Xe.push(a),Ze(a,e,t,n,s,r,i)}{const a=Xe.find((e=>!e.busy));return a?(Je(a),Ze(a,e,t,n,s,r,i)):new Promise((n=>Ye.push({resolve:n,codecConstructor:e,options:t,webWorker:r,scripts:i})))}function s(e){if(Ye.length){const[{resolve:t,codecConstructor:r,options:i,webWorker:a,scripts:o}]=Ye.splice(0,1);t(Ze(e,r,i,n,s,a,o))}else e.worker?(Je(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Xe=Xe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Xe=Xe.filter((t=>t!=e))}}(n.Deflate,{codecType:Pe,level:c,password:o,encryptionStrength:m,zipCrypto:b&&d,passwordVerification:b&&d&&M>>8&255,signed:!0,compressed:x,encrypted:b,useWebWorkers:w},n);await t.writeUint8Array(C),E.dataWritten=!0,H=await async function(e,t,n,r,i,s,a){const o=Math.max(s.chunkSize,64);return async function s(c=0,l=0){const d=a.signal;if(c<i){Qe(d,e);const u=await t.readUint8Array(c+r,Math.min(o,i-c)),h=u.length;Qe(d,e);const f=await e.append(u);if(Qe(d,e),l+=await $e(n,f),a.onprogress)try{a.onprogress(c+h,i)}catch(e){}return s(c+o,l)}{const t=await e.flush();return l+=await $e(n,t.data),{signature:t.signature,length:l}}}()}(r,e,t,0,z,n,{onprogress:y,signal:_}),O=H.length}else await t.writeUint8Array(C),E.dataWritten=!0;let P,j=new Uint8Array(0);u&&(j=new Uint8Array(l?24:16),P=xt(j),_t(P,0,K));if(e){const e=H.signature;if(b&&!d||void 0===e||(_t(D,10,e),E.signature=e,u&&_t(P,4,e)),l){const e=xt(E.rawExtraFieldZip64);yt(e,0,1),yt(e,2,24),_t(D,14,L),mt(e,12,BigInt(O)),_t(D,18,L),mt(e,4,BigInt(z)),u&&(mt(P,8,BigInt(O)),mt(P,16,BigInt(z)))}else _t(D,14,O),_t(D,18,z),u&&(_t(P,8,O),_t(P,12,z))}u&&await t.writeUint8Array(j);const N=C.length+O+j.length;return Object.assign(E,{compressedSize:O,lastModDate:I,rawLastModDate:M,creationDate:a,lastAccessDate:s,encrypted:b,length:N}),E}(n,h,e.config,r),d.lock=f,i.set(t,d),d.filename=t,o){let t=0;const n=h.getData();let a;await Promise.all([e.lockWrite,u]);do{a=Array.from(i.values()).find((e=>e.writingBufferedData)),a&&await a.lock}while(a&&a.lock);if(d.writingBufferedData=!0,!r.dataDescriptor){const e=26,i=await ft(n,0,e),a=new DataView(i);d.encrypted&&!r.zipCrypto||_t(a,14,d.signature),d.zip64?(_t(a,18,L),_t(a,22,L)):(_t(a,18,d.compressedSize),_t(a,22,d.uncompressedSize)),await s.writeUint8Array(new Uint8Array(i)),t=e}await async function(e,t,n=0){const r=536870912;async function i(){if(n<t.size){const s=await ft(t,n,n+r);await e.writeUint8Array(new Uint8Array(s)),n+=r,await i()}}await i()}(s,n,t),delete d.writingBufferedData}if(d.offset=e.offset,d.zip64){mt(xt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=L)throw new Error(dt);return e.offset+=d.length,d}catch(n){throw(o&&d.writingBufferedData||!o&&d.dataWritten)&&(n.corruptedEntry=e.hasCorruptedEntries=!0,d.uncompressedSize&&(e.offset+=d.uncompressedSize)),i.delete(t),n}finally{l(),c&&c()}}(e,t,n,Object.assign({},r,{rawFilename:i,rawComment:a,version:o,lastModDate:c,lastAccessDate:l,creationDate:d,rawExtraField:p,zip64:m,password:u,level:b,useWebWorkers:x,encryptionStrength:h,zipCrypto:f,bufferedWrite:A,keepOrder:y,dataDescriptor:k,signal:U}));w&&(e.pendingCompressedSize-=w);return Object.assign(v,{name:t,comment:s,extraField:g}),new tt(v)}(r,e,t,n)}finally{ht--;const e=r.pendingEntries.shift();e&&r.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new Uint8Array(0),t={}){return await async function(e,t,n){const r=e.writer,i=e.files;let s=0,a=0,o=e.offset,c=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraFieldExtendedTimestamp.length+e.rawExtraFieldNTFS.length+e.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=L||a>=L||c>=V){if(!1===n.zip64||!1===e.options.zip64)throw new Error(dt);l=!0}const d=new Uint8Array(a+(l?98:22)),u=xt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(rt);yt(u,s+20,t.length)}for(const[e,t]of Array.from(i.values()).entries()){const{rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldNTFS:o,rawExtraFieldAES:c,rawExtraField:l,rawComment:h,version:f,headerArray:p,directory:g,zip64:w}=t,y=new Uint8Array(9),_=xt(y);yt(_,0,J),yt(_,2,y.length-4),wt(_,4,1),_t(_,5,Math.floor(t.lastModDate.getTime()/1e3));const m=a.length+c.length+y.length+o.length+l.length;if(_t(u,s,G),yt(u,s+4,f),bt(d,p,s+6),yt(u,s+30,m),yt(u,s+32,h.length),g&&wt(u,s+38,16),_t(u,s+42,w?L:t.offset),bt(d,r,s+46),bt(d,a,s+46+r.length),bt(d,c,s+46+r.length+a.length),bt(d,y,s+46+r.length+a.length+c.length),bt(d,o,s+46+r.length+a.length+c.length+y.length),bt(d,l,s+46+r.length+a.length+c.length+y.length+o.length),bt(d,h,s+46+r.length+m),s+=46+r.length+m+h.length,n.onprogress)try{n.onprogress(e+1,i.size,new tt(t))}catch(e){}}l&&(_t(u,s,X),mt(u,s+4,BigInt(44)),yt(u,s+12,45),yt(u,s+14,45),mt(u,s+24,BigInt(c)),mt(u,s+32,BigInt(c)),mt(u,s+40,BigInt(a)),mt(u,s+48,BigInt(o)),_t(u,s+56,Y),mt(u,s+64,BigInt(o)+BigInt(a)),_t(u,s+72,1),c=V,o=L,a=L,s+=76);_t(u,s,Z),yt(u,s+8,c),yt(u,s+10,c),_t(u,s+12,a),_t(u,s+16,o),await r.writeUint8Array(d),t&&t.length&&await r.writeUint8Array(t)}(this,e,t),this.writer.getData()}},e.configure=x,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(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 t=256,n=256,r=-2,i=-5;function s(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const a=[0,1,2,3].concat(...s([[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 o(){const e=this;function t(e,t){let n=0;do{n|=1&e,e>>>=1,n<<=1}while(--t>0);return n>>>1}e.build_tree=function(n){const r=e.dyn_tree,i=e.stat_desc.static_tree,s=e.stat_desc.elems;let a,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,a=0;a<s;a++)0!==r[2*a]?(n.heap[++n.heap_len]=l=a,n.depth[a]=0):r[2*a+1]=0;for(;n.heap_len<2;)c=n.heap[++n.heap_len]=l<2?++l:0,r[2*c]=1,n.depth[c]=0,n.opt_len--,i&&(n.static_len-=i[2*c+1]);for(e.max_code=l,a=Math.floor(n.heap_len/2);a>=1;a--)n.pqdownheap(r,a);c=s;do{a=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=a,n.heap[--n.heap_max]=o,r[2*c]=r[2*a]+r[2*o],n.depth[c]=Math.max(n.depth[a],n.depth[o])+1,r[2*a+1]=r[2*o+1]=c,n.heap[1]=c++,n.pqdownheap(r,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,a=e.stat_desc.max_length;let o,c,l,d,u,h,f=0;for(d=0;d<=15;d++)t.bl_count[d]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)c=t.heap[o],d=n[2*n[2*c+1]+1]+1,d>a&&(d=a,f++),n[2*c+1]=d,c>e.max_code||(t.bl_count[d]++,u=0,c>=s&&(u=i[c-s]),h=n[2*c],t.opt_len+=h*(d+u),r&&(t.static_len+=h*(r[2*c+1]+u)));if(0!==f){do{for(d=a-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[a]--,f-=2}while(f>0);for(d=a;0!==d;d--)for(c=t.bl_count[d];0!==c;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=d&&(t.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(e,n,r){const i=[];let s,a,o,c=0;for(s=1;s<=15;s++)i[s]=c=c+r[s-1]<<1;for(a=0;a<=n;a++)o=e[2*a+1],0!==o&&(e[2*a]=t(i[o]++,o))}(r,e.max_code,n.bl_count)}}function c(e,t,n,r,i){const s=this;s.static_tree=e,s.extra_bits=t,s.extra_base=n,s.elems=r,s.max_length=i}o._length_code=[0,1,2,3,4,5,6,7].concat(...s([[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]])),o.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],o.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],o.d_code=function(e){return e<256?a[e]:a[256+(e>>>7)]},o.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],o.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],o.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],o.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],c.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8],c.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5],c.static_l_desc=new c(c.static_ltree,o.extra_lbits,257,286,15),c.static_d_desc=new c(c.static_dtree,o.extra_dbits,0,30,15),c.static_bl_desc=new c(null,o.extra_blbits,0,19,7);function l(e,t,n,r,i){const s=this;s.good_length=e,s.max_lazy=t,s.nice_length=n,s.max_chain=r,s.func=i}const d=[new l(0,0,0,0,0),new l(4,4,8,4,1),new l(4,5,16,8,1),new l(4,6,32,32,1),new l(4,4,16,16,2),new l(8,16,32,32,2),new l(8,16,128,128,2),new l(8,32,128,256,2),new l(32,128,258,1024,2),new l(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],h=113,f=666,p=258,w=262;function g(e,t,n,r){const i=e[2*t],s=e[2*n];return i<s||i==s&&r[t]<=r[n]}function y(){const e=this;let s,a,l,y,_,m,b,x,A,k,U,v,E,z,R,S,T,D,F,W,M,I,B,C,H,O,P,j,N,L,V,q,K;const G=new o,Z=new o,X=new o;let Y,J,Q,$,ee,te,ne,re;function ie(){let t;for(t=0;t<286;t++)V[2*t]=0;for(t=0;t<30;t++)q[2*t]=0;for(t=0;t<19;t++)K[2*t]=0;V[512]=1,e.opt_len=e.static_len=0,Q=ee=0}function se(e,t){let n,r=-1,i=e[1],s=0,a=7,o=4;0===i&&(a=138,o=3),e[2*(t+1)+1]=65535;for(let c=0;c<=t;c++)n=i,i=e[2*(c+1)+1],++s<a&&n==i||(s<o?K[2*n]+=s:0!==n?(n!=r&&K[2*n]++,K[32]++):s<=10?K[34]++:K[36]++,s=0,r=n,0===i?(a=138,o=3):n==i?(a=6,o=3):(a=7,o=4))}function ae(t){e.pending_buf[e.pending++]=t}function oe(e){ae(255&e),ae(e>>>8&255)}function ce(e,t){let n;const r=t;re>16-r?(n=e,ne|=n<<re&65535,oe(ne),ne=n>>>16-re,re+=r-16):(ne|=e<<re&65535,re+=r)}function le(e,t){const n=2*e;ce(65535&t[n],65535&t[n+1])}function de(e,t){let n,r,i=-1,s=e[1],a=0,o=7,c=4;for(0===s&&(o=138,c=3),n=0;n<=t;n++)if(r=s,s=e[2*(n+1)+1],!(++a<o&&r==s)){if(a<c)do{le(r,K)}while(0!=--a);else 0!==r?(r!=i&&(le(r,K),a--),le(16,K),ce(a-3,2)):a<=10?(le(17,K),ce(a-3,3)):(le(18,K),ce(a-11,7));a=0,i=r,0===s?(o=138,c=3):r==s?(o=6,c=3):(o=7,c=4)}}function ue(){16==re?(oe(ne),ne=0,re=0):re>=8&&(ae(255&ne),ne>>>=8,re-=8)}function he(n,r){let i,s,a;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[Y+Q]=255&r,Q++,0===n?V[2*r]++:(ee++,n--,V[2*(o._length_code[r]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&P>2){for(i=8*Q,s=M-T,a=0;a<30;a++)i+=q[2*a]*(5+o.extra_dbits[a]);if(i>>>=3,ee<Math.floor(Q/2)&&i<Math.floor(s/2))return!0}return Q==J-1}function fe(r,i){let s,a,c,l,d=0;if(0!==Q)do{s=e.pending_buf[$+2*d]<<8&65280|255&e.pending_buf[$+2*d+1],a=255&e.pending_buf[Y+d],d++,0===s?le(a,r):(c=o._length_code[a],le(c+t+1,r),l=o.extra_lbits[c],0!==l&&(a-=o.base_length[c],ce(a,l)),s--,c=o.d_code(s),le(c,i),l=o.extra_dbits[c],0!==l&&(s-=o.base_dist[c],ce(s,l)))}while(d<Q);le(n,r),te=r[513]}function pe(){re>8?oe(ne):re>0&&ae(255&ne),ne=0,re=0}function we(t,n,r){ce(0+(r?1:0),3),function(t,n,r){pe(),te=8,r&&(oe(n),oe(~n)),e.pending_buf.set(x.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function ge(t,n,r){let i,s,a=0;P>0?(G.build_tree(e),Z.build_tree(e),a=function(){let t;for(se(V,G.max_code),se(q,Z.max_code),X.build_tree(e),t=18;t>=3&&0===K[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),i=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=i&&(i=s)):i=s=n+5,n+4<=i&&-1!=t?we(t,n,r):s==i?(ce(2+(r?1:0),3),fe(c.static_ltree,c.static_dtree)):(ce(4+(r?1:0),3),function(e,t,n){let r;for(ce(e-257,5),ce(t-1,5),ce(n-4,4),r=0;r<n;r++)ce(K[2*o.bl_order[r]+1],3);de(V,e-1),de(q,t-1)}(G.max_code+1,Z.max_code+1,a+1),fe(V,q)),ie(),r&&pe()}function ye(e){ge(T>=0?T:-1,M-T,e),T=M,s.flush_pending()}function _e(){let e,t,n,r;do{if(r=A-B-M,0===r&&0===M&&0===B)r=_;else if(-1==r)r--;else if(M>=_+_-w){x.set(x.subarray(_,_+_),0),I-=_,M-=_,T-=_,e=E,n=e;do{t=65535&U[--n],U[n]=t>=_?t-_:0}while(0!=--e);e=_,n=e;do{t=65535&k[--n],k[n]=t>=_?t-_:0}while(0!=--e);r+=_}if(0===s.avail_in)return;e=s.read_buf(x,M+B,r),B+=e,B>=3&&(v=255&x[M],v=(v<<S^255&x[M+1])&R)}while(B<w&&0!==s.avail_in)}function me(e){let t,n,r=H,i=M,s=C;const a=M>_-w?M-(_-w):0;let o=L;const c=b,l=M+p;let d=x[i+s-1],u=x[i+s];C>=N&&(r>>=2),o>B&&(o=B);do{if(t=e,x[t+s]==u&&x[t+s-1]==d&&x[t]==x[i]&&x[++t]==x[i+1]){i+=2,t++;do{}while(x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&x[++i]==x[++t]&&i<l);if(n=p-(l-i),i=l-p,n>s){if(I=e,s=n,n>=o)break;d=x[i+s-1],u=x[i+s]}}}while((e=65535&k[e&c])>a&&0!=--r);return s<=B?s:B}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,a=h,y=0,G.dyn_tree=V,G.stat_desc=c.static_l_desc,Z.dyn_tree=q,Z.stat_desc=c.static_d_desc,X.dyn_tree=K,X.stat_desc=c.static_bl_desc,ne=0,re=0,te=8,ie(),function(){A=2*_,U[E-1]=0;for(let e=0;e<E-1;e++)U[e]=0;O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain,M=0,T=0,B=0,D=C=2,W=0,v=0}(),0}e.depth=[],e.bl_count=[],e.heap=[],V=[],q=[],K=[],e.pqdownheap=function(t,n){const r=e.heap,i=r[n];let s=n<<1;for(;s<=e.heap_len&&(s<e.heap_len&&g(t,r[s+1],r[s],e.depth)&&s++,!g(t,i,r[s],e.depth));)r[n]=r[s],n=s,s<<=1;r[n]=i},e.deflateInit=function(t,n,i,s,a,o){return s||(s=8),a||(a=8),o||(o=0),t.msg=null,-1==n&&(n=6),a<1||a>9||8!=s||i<9||i>15||n<0||n>9||o<0||o>2?r:(t.dstate=e,m=i,_=1<<m,b=_-1,z=a+7,E=1<<z,R=E-1,S=Math.floor((z+3-1)/3),x=new Uint8Array(2*_),k=[],U=[],J=1<<a+6,e.pending_buf=new Uint8Array(4*J),l=4*J,$=Math.floor(J/2),Y=3*J,P=n,j=o,be(t))},e.deflateEnd=function(){return 42!=a&&a!=h&&a!=f?r:(e.pending_buf=null,U=null,k=null,x=null,e.dstate=null,a==h?-3:0)},e.deflateParams=function(e,t,n){let i=0;return-1==t&&(t=6),t<0||t>9||n<0||n>2?r:(d[P].func!=d[t].func&&0!==e.total_in&&(i=e.deflate(1)),P!=t&&(P=t,O=d[P].max_lazy,N=d[P].good_length,L=d[P].nice_length,H=d[P].max_chain),j=n,i)},e.deflateSetDictionary=function(e,t,n){let i,s=n,o=0;if(!t||42!=a)return r;if(s<3)return 0;for(s>_-w&&(s=_-w,o=n-s),x.set(t.subarray(o,o+s),0),M=s,T=s,v=255&x[0],v=(v<<S^255&x[1])&R,i=0;i<=s-3;i++)v=(v<<S^255&x[i+2])&R,k[i&b]=U[v],U[v]=i;return 0},e.deflate=function(t,o){let p,g,A,z,H;if(o>4||o<0)return r;if(!t.next_out||!t.next_in&&0!==t.avail_in||a==f&&4!=o)return t.msg=u[4],r;if(0===t.avail_out)return t.msg=u[7],i;var N;if(s=t,z=y,y=o,42==a&&(g=8+(m-8<<4)<<8,A=(P-1&255)>>1,A>3&&(A=3),g|=A<<6,0!==M&&(g|=32),g+=31-g%31,a=h,ae((N=g)>>8&255),ae(255&N)),0!==e.pending){if(s.flush_pending(),0===s.avail_out)return y=-1,0}else if(0===s.avail_in&&o<=z&&4!=o)return s.msg=u[7],i;if(a==f&&0!==s.avail_in)return t.msg=u[7],i;if(0!==s.avail_in||0!==B||0!=o&&a!=f){switch(H=-1,d[P].func){case 0:H=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(B<=1){if(_e(),0===B&&0==e)return 0;if(0===B)break}if(M+=B,B=0,t=T+n,(0===M||M>=t)&&(B=M-t,M=t,ye(!1),0===s.avail_out))return 0;if(M-T>=_-w&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:H=function(e){let t,n=0;for(;;){if(B<w){if(_e(),B<w&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[M+2])&R,n=65535&U[v],k[M&b]=U[v],U[v]=M),0!==n&&(M-n&65535)<=_-w&&2!=j&&(D=me(n)),D>=3)if(t=he(M-I,D-3),B-=D,D<=O&&B>=3){D--;do{M++,v=(v<<S^255&x[M+2])&R,n=65535&U[v],k[M&b]=U[v],U[v]=M}while(0!=--D);M++}else M+=D,D=0,v=255&x[M],v=(v<<S^255&x[M+1])&R;else t=he(0,255&x[M]),B--,M++;if(t&&(ye(!1),0===s.avail_out))return 0}return ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o);break;case 2:H=function(e){let t,n,r=0;for(;;){if(B<w){if(_e(),B<w&&0==e)return 0;if(0===B)break}if(B>=3&&(v=(v<<S^255&x[M+2])&R,r=65535&U[v],k[M&b]=U[v],U[v]=M),C=D,F=I,D=2,0!==r&&C<O&&(M-r&65535)<=_-w&&(2!=j&&(D=me(r)),D<=5&&(1==j||3==D&&M-I>4096)&&(D=2)),C>=3&&D<=C){n=M+B-3,t=he(M-1-F,C-3),B-=C-1,C-=2;do{++M<=n&&(v=(v<<S^255&x[M+2])&R,r=65535&U[v],k[M&b]=U[v],U[v]=M)}while(0!=--C);if(W=0,D=2,M++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==W){if(t=he(0,255&x[M-1]),t&&ye(!1),M++,B--,0===s.avail_out)return 0}else W=1,M++,B--}return 0!==W&&(t=he(0,255&x[M-1]),W=0),ye(4==e),0===s.avail_out?4==e?2:0:4==e?3:1}(o)}if(2!=H&&3!=H||(a=f),0==H||2==H)return 0===s.avail_out&&(y=-1),0;if(1==H){if(1==o)ce(2,3),le(n,c.static_ltree),ue(),1+te+10-re<9&&(ce(2,3),le(n,c.static_ltree),ue()),te=7;else if(we(0,0,!1),3==o)for(p=0;p<E;p++)U[p]=0;if(s.flush_pending(),0===s.avail_out)return y=-1,0}}return 4!=o?0:1}}function _(){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}_.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new y,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):r},deflateEnd:function(){const e=this;if(!e.dstate)return r;const t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams:function(e,t){const n=this;return n.dstate?n.dstate.deflateParams(n,e,t):r},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):r},read_buf:function(e,t,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,e.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),t),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){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 m={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},b=Object.assign({},m);function x(e){if(void 0!==e.chunkSize&&(b.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(b.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(b.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(b.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(b.Deflate=e.Deflate),void 0!==e.Inflate&&(b.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");b.workerScripts||(b.workerScripts={}),b.workerScripts.inflate=e.workerScripts.inflate}}}const A="HTTP error ",k="HTTP Range not supported",U="text/plain",v="Content-Length",E="Accept-Ranges",z="HEAD",R="GET",S="bytes";class T{constructor(){this.size=0}init(){this.initialized=!0}}class D extends T{}class F extends T{writeUint8Array(e){this.size+=e.length}}class W extends D{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((r,i)=>{n.onload=e=>r(new Uint8Array(e.target.result)),n.onerror=()=>i(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends F{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class I extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest){const e=await C(z,this.url,this.options);if(this.size=Number(e.headers.get(v)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(E)!=S)throw new Error(k);void 0===this.size&&await B(this,this.options)}else await B(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await C(R,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(k);return new Uint8Array(await n.arrayBuffer())}return this.data||await B(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function B(e,t){const n=await C(R,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function C(e,t,n,r){r=Object.assign({},n.headers,r);const i=await fetch(t,Object.assign({},n,{method:e,headers:r}));if(i.status<400)return i;throw new Error(A+(i.statusText||i.status))}class H extends D{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),N(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>P(z,this.url,(n=>{this.size=Number(n.getResponseHeader(v)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(E)==S?e():t(new Error(k)):void 0===this.size?O(this,this.url).then((()=>e())).catch(t):e()}),t)));await O(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await O(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,r)=>P(R,this.url,(e=>n(new Uint8Array(e.response))),r,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(k)}}function O(e,t){return new Promise(((n,r)=>P(R,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),r)))}function P(e,t,n,r,i=[]){const s=new XMLHttpRequest;return s.addEventListener("load",(()=>{s.status<400?n(s):r(A+(s.statusText||s.status))}),!1),s.addEventListener("error",r,!1),s.open(e,t),i.forEach((e=>s.setRequestHeader(e[0],e[1]))),s.responseType="arraybuffer",s.send(),s}class j extends D{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new H(e,t):this.reader=new I(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function N(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const L=4294967295,V=65535,q=67324752,K=134695760,G=33639248,Z=101010256,X=101075792,Y=117853008,J=21589,Q="/",$=new Date(2107,11,31),ee=new Date(1980,0,1),te=[];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;te[e]=t}class ne{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;n<r;n++)t=t>>>8^te[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const re={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=re.getPartial(n);return 32===r?e.concat(t):re._shiftRight(t,r,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)+re.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]=re.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,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let i=0;i<e.length;i++)r.push(n|e[i]>>>t),n=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=re.getPartial(i);return r.push(re.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},ie={bytes:{fromBits(e){const t=re.bitLength(e)/8,n=new Uint8Array(t);let r;for(let i=0;i<t;i++)0==(3&i)&&(r=e[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(re.partial(8*(3&n),r)),t}}},se={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};se.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=ie.utf8String.toBits(e));const n=t._buffer=re.concat(t._buffer,e),r=t._length,i=t._length=r+re.bitLength(e);if(i>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(n);let a=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=i;e+=t.blockSize)t._block(s.subarray(16*a,16*(a+1))),a+=1;return n.splice(0,16*a),t},finalize:function(){const e=this;let t=e._buffer;const n=e._h;t=re.concat(t,[re.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},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0},_S:function(e,t){return t<<e|t>>>32-e},_block:function(e){const t=this,n=t._h,r=Array(80);for(let t=0;t<16;t++)r[t]=e[t];let i=n[0],s=n[1],a=n[2],o=n[3],c=n[4];for(let e=0;e<=79;e++){e>=16&&(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const n=t._S(5,i)+t._f(e,s,a,o)+c+r[e]+t._key[Math.floor(e/20)]|0;c=o,o=a,a=t._S(30,s),s=i,i=n}n[0]=n[0]+i|0,n[1]=n[1]+s|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0}};const ae={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],i=e.length;let s,a,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(t._key=[a=e.slice(0),o=[]],s=i;s<4*i+28;s++){let e=a[s-1];(s%i==0||8===i&&s%i==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],s%i==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[s]=a[s-i]^e}for(let e=0;s;e++,s--){const t=a[3&e?s:s-4];o[e]=s<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[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],r=t[4],i=[],s=[];let a,o,c,l;for(let e=0;e<256;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let d=a=0;!n[d];d^=o||1,a=s[a]||1){let s=a^a<<1^a<<2^a<<3^a<<4;s=s>>8^255&s^99,n[d]=s,r[s]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,h=257*i[s]^16843008*s;for(let n=0;n<4;n++)e[n][d]=h=h<<24^h>>>8,t[n][s]=u=u<<24^u>>>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],r=n.length/4-2,i=[0,0,0,0],s=this._tables[t],a=s[0],o=s[1],c=s[2],l=s[3],d=s[4];let u,h,f,p=e[0]^n[0],w=e[t?3:1]^n[1],g=e[2]^n[2],y=e[t?1:3]^n[3],_=4;for(let e=0;e<r;e++)u=a[p>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&y]^n[_],h=a[w>>>24]^o[g>>16&255]^c[y>>8&255]^l[255&p]^n[_+1],f=a[g>>>24]^o[y>>16&255]^c[p>>8&255]^l[255&w]^n[_+2],y=a[y>>>24]^o[p>>16&255]^c[w>>8&255]^l[255&g]^n[_+3],_+=4,p=u,w=h,g=f;for(let e=0;e<4;e++)i[t?3&-e:e]=d[p>>>24]<<24^d[w>>16&255]<<16^d[g>>8&255]<<8^d[255&y]^n[_++],u=p,p=w,w=g,g=y,y=u;return i}}},oe={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&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const i=re.bitLength(t);for(let i=0;i<r;i+=4){this.incCounter(n);const r=e.encrypt(n);t[i]^=r[0],t[i+1]^=r[1],t[i+2]^=r[2],t[i+3]^=r[3]}return re.clamp(t,i)}}},ce={hmacSha1:class{constructor(e){const t=this,n=t._hash=se.sha1,r=[[],[]],i=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>i&&(e=n.hash(e));for(let t=0;t<i;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[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}}},le="Invalid pasword",de=16,ue={name:"PBKDF2"},he=Object.assign({hash:{name:"HMAC"}},ue),fe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},ue),pe=["deriveBits"],we=[8,12,16],ge=[16,24,32],ye=10,_e=[0,0,0,0],me=crypto.subtle,be=ie.bytes,xe=ae.aes,Ae=oe.ctrGladman,ke=ce.hmacSha1;class Ue{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Se(e,0,we[t.strength]+2);await async function(e,t,n){await ze(e,n,Se(t,0,we[e.strength]));const r=Se(t,we[e.strength]),i=e.keys.passwordVerification;if(i[0]!=r[0]||i[1]!=r[1])throw new Error(le)}(t,n,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication),e=Se(e,we[t.strength]+2)}return Ee(t,e,new Uint8Array(e.length-ye-(e.length-ye)%de),0,ye,!0)}async flush(){const e=this,t=e.pendingInput,n=Se(t,0,t.length-ye),r=Se(t,t.length-ye);let i=new Uint8Array(0);if(n.length){const t=be.toBits(n);e.hmac.update(t);const r=e.aesCtrGladman.update(t);i=be.fromBits(r)}let s=!0;if(e.signed){const t=Se(be.fromBits(e.hmac.digest()),0,ye);for(let e=0;e<ye;e++)t[e]!=r[e]&&(s=!1)}return{valid:s,data:i}}}class ve{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(we[e.strength]));return await ze(e,t,n),Re(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new Ae(new xe(t.keys.key),Array.from(_e)),t.hmac=new ke(t.keys.authentication));const r=new Uint8Array(n.length+e.length-e.length%de);return r.set(n,0),Ee(t,e,r,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(be.toBits(e.pendingInput));e.hmac.update(n),t=be.fromBits(n)}const n=Se(be.fromBits(e.hmac.digest()),0,ye);return{data:Re(t,n),signature:n}}}function Ee(e,t,n,r,i,s){const a=t.length-i;let o;for(e.pendingInput.length&&(t=Re(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,a-a%de)),o=0;o<=a-de;o+=de){const i=be.toBits(Se(t,o,o+de));s&&e.hmac.update(i);const a=e.aesCtrGladman.update(i);s||e.hmac.update(a),n.set(be.fromBits(a),o+r)}return e.pendingInput=Se(t,o),n}async function ze(e,t,n){const r=(new TextEncoder).encode(t),i=await me.importKey("raw",r,he,!1,pe),s=await me.deriveBits(Object.assign({salt:n},fe),i,8*(2*ge[e.strength]+2)),a=new Uint8Array(s);e.keys={key:be.toBits(Se(a,0,ge[e.strength])),authentication:be.toBits(Se(a,ge[e.strength],2*ge[e.strength])),passwordVerification:Se(a,2*ge[e.strength])}}function Re(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 Se(e,t,n){return e.subarray(t,n)}const Te=12;class De{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Ie(this,e)}async append(e){const t=this;if(t.password){const n=We(t,e.subarray(0,Te));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(le);e=e.subarray(Te)}return We(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Fe{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Ie(this,e)}async append(e){const t=this;let n,r;if(t.password){t.password=null;const i=crypto.getRandomValues(new Uint8Array(Te));i[11]=t.passwordVerification,n=new Uint8Array(e.length+i.length),n.set(Me(t,i),0),r=Te}else n=new Uint8Array(e.length),r=0;return n.set(Me(t,e),r),n}async flush(){return{data:new Uint8Array(0)}}}function We(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,n[r]);return n}function Me(e,t){const n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=Ce(e)^t[r],Be(e,t[r]);return n}function Ie(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new ne(e.keys[0]),e.crcKey2=new ne(e.keys[2]);for(let n=0;n<t.length;n++)Be(e,t.charCodeAt(n))}function Be(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+He(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Ce(e){const t=2|e.keys[2];return He(Math.imul(t,1^t)>>>8)}function He(e){return 255&e}function Oe(e){return 4294967295&e}const Pe="deflate",je="Invalid signature";class Ne{constructor(e,{signature:t,password:n,signed:r,compressed:i,zipCrypto:s,passwordVerification:a,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:r,compressed:i,inflate:i&&new e({chunkSize:c}),crc32:r&&new ne,zipCrypto:s,decrypt:l&&s?new De(n,a):new Ue(n,r,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(je);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(je)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Le{constructor(e,{encrypted:t,signed:n,compressed:r,level:i,zipCrypto:s,password:a,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:r,deflate:r&&new e({level:i||5,chunkSize:l}),crc32:n&&new ne,zipCrypto:s,encrypt:t&&s?new Fe(a,o):new ve(a,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const r=await e.encrypt.flush();t=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Ve="init",qe="append",Ke="flush",Ge="message";var Ze=(e,t,n,r,i,s,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,i(e)}}),s?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-deflate.min.js",document.baseURI).href)),e.worker.addEventListener(Ge,s,!1),e.interface={append:e=>r({type:qe,data:e}),flush:()=>r({type:Ke})});return e.interface;async function r(r){if(!n){const n=e.options,r=e.scripts.slice(1);await i({scripts:r,type:Ve,options:n,config:{chunkSize:t.chunkSize}})}return i(r)}function i(t){const r=e.worker,i=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,r.postMessage(t,[t.data])}catch(e){r.postMessage(t)}else r.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return i}function s(t){const r=t.data;if(n){const t=r.error,i=r.type;if(t){const r=new Error(t.message);r.stack=t.stack,n.reject(r),n=null,e.onTaskFinished()}else if(i==Ve||i==Ke||i==qe){const t=r.data;i==Ke?(n.resolve({data:new Uint8Array(t),signature:r.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,r):function(e,t){const n=function(e,t,n){return t.codecType.startsWith(Pe)?new Le(e,t,n):t.codecType.startsWith("inflate")?new Ne(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,r));let Xe=[],Ye=[];function Je(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function Qe(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function $e(e,t){return t.length&&await e.writeUint8Array(t),t.length}const et=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class tt{constructor(e){et.forEach((t=>this[t]=e[t]))}}const nt="File already exists",rt="Zip file comment exceeds 64KB",it="File entry comment exceeds 64KB",st="File entry name exceeds 64KB",at="Version exceeds 65535",ot="The strength must equal 1, 2, or 3",ct="Extra field type exceeds 65535",lt="Extra field data exceeds 64KB",dt="Zip64 is not supported",ut=new Uint8Array([7,0,2,0,65,69,3,0,0]);let ht=0;function ft(e,t,n){const r=new FileReader;return new Promise(((i,s)=>{r.onload=e=>i(e.target.result),r.onerror=()=>s(r.error),r.readAsArrayBuffer(t||n?e.slice(t,n):e)}))}function pt(e){if(e)return 10000n*(BigInt(e.getTime())+11644473600000n)}function wt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function gt(e,t,n){e.setUint8(t,n)}function yt(e,t,n){e.setUint16(t,n,!0)}function _t(e,t,n){e.setUint32(t,n,!0)}function mt(e,t,n){e.setBigUint64(t,n,!0)}function bt(e,t,n){e.set(t,n)}function xt(e){return new DataView(e.buffer)}x({Deflate:function(e){const t=new _,n=(r=e&&e.chunkSize?e.chunkSize:65536)+5*(Math.floor(r/16383)+1);var r;const i=new Uint8Array(n);let s=e?e.level:-1;void 0===s&&(s=-1),t.deflateInit(s),t.next_out=i,this.append=function(e,r){let s,a,o=0,c=0,l=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,s=t.deflate(0),0!=s)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(i.slice(0,t.next_out_index))),l+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=o&&(r(t.next_in_index),o=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return d.length>1?(a=new Uint8Array(l),d.forEach((function(e){a.set(e,c),c+=e.length}))):a=d[0]||new Uint8Array(0),a}},this.flush=function(){let e,r,s=0,a=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(i.slice(0,t.next_out_index)),a+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(a),o.forEach((function(e){r.set(e,s),s+=e.length})),r}}}),e.BlobReader=W,e.BlobWriter=M,e.Data64URIReader=class extends D{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),r=4*Math.floor(e/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),s=e-3*Math.floor(r/4);for(let e=s;e<s+t;e++)n[e-s]=i.charCodeAt(e);return n}},e.Data64URIWriter=class extends F{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const r=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((r+e.length)/3)-r;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_DUPLICATED_NAME=nt,e.ERR_HTTP_RANGE=k,e.ERR_INVALID_COMMENT=rt,e.ERR_INVALID_ENCRYPTION_STRENGTH=ot,e.ERR_INVALID_ENTRY_COMMENT=it,e.ERR_INVALID_ENTRY_NAME=st,e.ERR_INVALID_EXTRAFIELD_DATA=lt,e.ERR_INVALID_EXTRAFIELD_TYPE=ct,e.ERR_INVALID_VERSION=at,e.ERR_UNSUPPORTED_FORMAT=dt,e.HttpRangeReader=class extends j{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=j,e.Reader=D,e.TextReader=class extends D{constructor(e){super(),this.blobReader=new W(new Blob([e],{type:U}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends F{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:U})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:U})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends D{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends F{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=F,e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:b,files:new Map,offset:e.size,pendingCompressedSize:0,pendingEntries:[]})}async add(e="",t,n={}){const r=this;if(!(ht<r.config.maxWorkers))return new Promise(((i,s)=>r.pendingEntries.push({name:e,reader:t,options:n,resolve:i,reject:s})));ht++;try{return await async function(e,t,n,r){t=t.trim(),r.directory&&!t.endsWith(Q)?t+=Q:r.directory=t.endsWith(Q);if(e.files.has(t))throw new Error(nt);const i=(new TextEncoder).encode(t);if(i.length>V)throw new Error(st);const s=r.comment||"",a=(new TextEncoder).encode(s);if(a.length>V)throw new Error(it);const o=e.options.version||r.version||0;if(o>V)throw new Error(at);const c=wt(e,r,"lastModDate")||new Date,l=wt(e,r,"lastAccessDate"),d=wt(e,r,"creationDate"),u=wt(e,r,"password"),h=wt(e,r,"encryptionStrength")||3,f=wt(e,r,"zipCrypto");if(void 0!==u&&void 0!==h&&(h<1||h>3))throw new Error(ot);let p=new Uint8Array(0);const w=r.extraField;if(w){let e=0,t=0;w.forEach((t=>e+=4+t.length)),p=new Uint8Array(e),w.forEach(((e,n)=>{if(n>V)throw new Error(ct);if(e.length>V)throw new Error(lt);bt(p,new Uint16Array([n]),t),bt(p,new Uint16Array([e.length]),t+2),bt(p,e,t+4),t+=4+e.length}))}let g=wt(e,r,"extendedTimestamp");void 0===g&&(g=!0);let y=0,_=wt(e,r,"keepOrder");void 0===_&&(_=!0);let m=0;n&&(n.initialized||await n.init(),m=n.size,y=function(e){return e+5*(Math.floor(e/16383)+1)}(m));let b=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=L||m>=L||y>=L){if(!1===r.zip64||!1===e.options.zip64||!_)throw new Error(dt);b=!0}e.pendingCompressedSize+=y,await Promise.resolve();const x=wt(e,r,"level"),A=wt(e,r,"useWebWorkers"),k=wt(e,r,"bufferedWrite");let U=wt(e,r,"dataDescriptor");const v=wt(e,r,"signal");void 0===U&&(U=!0);const E=await async function(e,t,n,r){const i=e.files,s=e.writer,a=Array.from(i.values()).pop();let o,c,l,d={};i.set(t,d);try{let u,h,f;if(r.keepOrder&&(u=a&&a.lock),d.lock=f=new Promise((e=>l=e)),r.bufferedWrite||e.lockWrite||!r.dataDescriptor?(h=new M,h.init(),o=!0):(e.lockWrite=new Promise((e=>c=e)),s.initialized||await s.init(),h=s),d=await async function(e,t,n,r){const{rawFilename:i,lastAccessDate:s,creationDate:a,password:o,level:c,zip64:l,zipCrypto:d,dataDescriptor:u,directory:h,version:f,rawComment:p,rawExtraField:w,useWebWorkers:g,onprogress:y,signal:_,encryptionStrength:m,extendedTimestamp:b}=r,x=Boolean(o&&o.length),A=0!==c&&!h;let k,U,v;if(x&&!d){k=new Uint8Array(ut.length+2);const e=xt(k);yt(e,0,39169),bt(k,ut,2),gt(e,8,m)}else k=new Uint8Array(0);if(b){v=new Uint8Array(9+(s?4:0)+(a?4:0));const e=xt(v);yt(e,0,J),yt(e,2,v.length-4);gt(e,4,1+(s?2:0)+(a?4:0)),_t(e,5,Math.floor(r.lastModDate.getTime()/1e3)),s&&_t(e,9,Math.floor(s.getTime()/1e3)),a&&_t(e,13,Math.floor(a.getTime()/1e3));try{U=new Uint8Array(36);const e=xt(U),t=pt(r.lastModDate);yt(e,0,10),yt(e,2,32),yt(e,8,1),yt(e,10,24),mt(e,12,t),mt(e,20,pt(s)||t),mt(e,28,pt(a)||t)}catch(e){U=new Uint8Array(0)}}else U=v=new Uint8Array(0);const E={version:f||20,zip64:l,directory:Boolean(h),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldExtendedTimestamp:v,rawExtraFieldNTFS:U,rawExtraFieldAES:k,rawExtraField:w,extendedTimestamp:b};let z=E.uncompressedSize=0,R=2048;u&&(R|=8);let S=0;A&&(S=8);l&&(E.version=E.version>45?E.version:45);x&&(R|=1,d||(E.version=E.version>51?E.version:51,S=99,A&&(E.rawExtraFieldAES[9]=8)));E.compressionMethod=S;const T=E.headerArray=new Uint8Array(26),D=xt(T);yt(D,0,E.version),yt(D,2,R),yt(D,4,S);const F=new Uint32Array(1),W=xt(F);let M;M=r.lastModDate<ee?ee:r.lastModDate>$?$:r.lastModDate;yt(W,0,(M.getHours()<<6|M.getMinutes())<<5|M.getSeconds()/2),yt(W,2,(M.getFullYear()-1980<<4|M.getMonth()+1)<<5|M.getDate());const I=F[0];_t(D,6,I),yt(D,22,i.length);const B=k.length+v.length+U.length+E.rawExtraField.length;yt(D,24,B);const C=new Uint8Array(30+i.length+B);let H;_t(xt(C),0,q),bt(C,T,4),bt(C,i,30),bt(C,k,30+i.length),bt(C,v,30+i.length+k.length),bt(C,U,30+i.length+k.length+v.length),bt(C,E.rawExtraField,30+i.length+k.length+v.length+U.length);let O=0;if(e){z=E.uncompressedSize=e.size;const r=await function(e,t,n){const r=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[t.codecType]:[];if(Xe.length<n.maxWorkers){const a={};return Xe.push(a),Ze(a,e,t,n,s,r,i)}{const a=Xe.find((e=>!e.busy));return a?(Je(a),Ze(a,e,t,n,s,r,i)):new Promise((n=>Ye.push({resolve:n,codecConstructor:e,options:t,webWorker:r,scripts:i})))}function s(e){if(Ye.length){const[{resolve:t,codecConstructor:r,options:i,webWorker:a,scripts:o}]=Ye.splice(0,1);t(Ze(e,r,i,n,s,a,o))}else e.worker?(Je(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Xe=Xe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Xe=Xe.filter((t=>t!=e))}}(n.Deflate,{codecType:Pe,level:c,password:o,encryptionStrength:m,zipCrypto:x&&d,passwordVerification:x&&d&&I>>8&255,signed:!0,compressed:A,encrypted:x,useWebWorkers:g},n);await t.writeUint8Array(C),E.dataWritten=!0,H=await async function(e,t,n,r,i,s,a){const o=Math.max(s.chunkSize,64);return async function s(c=0,l=0){const d=a.signal;if(c<i){Qe(d,e);const u=await t.readUint8Array(c+r,Math.min(o,i-c)),h=u.length;Qe(d,e);const f=await e.append(u);if(Qe(d,e),l+=await $e(n,f),a.onprogress)try{a.onprogress(c+h,i)}catch(e){}return s(c+o,l)}{const t=await e.flush();return l+=await $e(n,t.data),{signature:t.signature,length:l}}}()}(r,e,t,0,z,n,{onprogress:y,signal:_}),O=H.length}else await t.writeUint8Array(C),E.dataWritten=!0;let P,j=new Uint8Array(0);u&&(j=new Uint8Array(l?24:16),P=xt(j),_t(P,0,K));if(e){const e=H.signature;if(x&&!d||void 0===e||(_t(D,10,e),E.signature=e,u&&_t(P,4,e)),l){const e=xt(E.rawExtraFieldZip64);yt(e,0,1),yt(e,2,24),_t(D,14,L),mt(e,12,BigInt(O)),_t(D,18,L),mt(e,4,BigInt(z)),u&&(mt(P,8,BigInt(O)),mt(P,16,BigInt(z)))}else _t(D,14,O),_t(D,18,z),u&&(_t(P,8,O),_t(P,12,z))}u&&await t.writeUint8Array(j);const N=C.length+O+j.length;return Object.assign(E,{compressedSize:O,lastModDate:M,rawLastModDate:I,creationDate:a,lastAccessDate:s,encrypted:x,length:N}),E}(n,h,e.config,r),d.lock=f,i.set(t,d),d.filename=t,o){let t=0;const n=h.getData();let a;await Promise.all([e.lockWrite,u]);do{a=Array.from(i.values()).find((e=>e.writingBufferedData)),a&&await a.lock}while(a&&a.lock);if(d.writingBufferedData=!0,!r.dataDescriptor){const e=26,i=await ft(n,0,e),a=new DataView(i);d.encrypted&&!r.zipCrypto||_t(a,14,d.signature),d.zip64?(_t(a,18,L),_t(a,22,L)):(_t(a,18,d.compressedSize),_t(a,22,d.uncompressedSize)),await s.writeUint8Array(new Uint8Array(i)),t=e}await async function(e,t,n=0){const r=536870912;async function i(){if(n<t.size){const s=await ft(t,n,n+r);await e.writeUint8Array(new Uint8Array(s)),n+=r,await i()}}await i()}(s,n,t),delete d.writingBufferedData}if(d.offset=e.offset,d.zip64){mt(xt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=L)throw new Error(dt);return e.offset+=d.length,d}catch(n){throw(o&&d.writingBufferedData||!o&&d.dataWritten)&&(n.corruptedEntry=e.hasCorruptedEntries=!0,d.uncompressedSize&&(e.offset+=d.uncompressedSize)),i.delete(t),n}finally{l(),c&&c()}}(e,t,n,Object.assign({},r,{rawFilename:i,rawComment:a,version:o,lastModDate:c,lastAccessDate:l,creationDate:d,rawExtraField:p,zip64:b,password:u,level:x,useWebWorkers:A,encryptionStrength:h,extendedTimestamp:g,zipCrypto:f,bufferedWrite:k,keepOrder:_,dataDescriptor:U,signal:v}));y&&(e.pendingCompressedSize-=y);return Object.assign(E,{name:t,comment:s,extraField:w}),new tt(E)}(r,e,t,n)}finally{ht--;const e=r.pendingEntries.shift();e&&r.add(e.name,e.reader,e.options).then(e.resolve).catch(e.reject)}}async close(e=new Uint8Array(0),t={}){return await async function(e,t,n){const r=e.writer,i=e.files;let s=0,a=0,o=e.offset,c=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraFieldExtendedTimestamp.length+e.rawExtraFieldNTFS.length+e.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=L||a>=L||c>=V){if(!1===n.zip64||!1===e.options.zip64)throw new Error(dt);l=!0}const d=new Uint8Array(a+(l?98:22)),u=xt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(rt);yt(u,s+20,t.length)}for(const[e,t]of Array.from(i.values()).entries()){const{rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldAES:o,rawExtraField:c,rawComment:l,version:h,headerArray:f,directory:p,zip64:w}=t;let g,y;if(t.extendedTimestamp){y=t.rawExtraFieldNTFS,g=new Uint8Array(9);const e=xt(g);yt(e,0,J),yt(e,2,g.length-4),gt(e,4,1),_t(e,5,Math.floor(t.lastModDate.getTime()/1e3))}else y=g=new Uint8Array(0);const _=a.length+o.length+g.length+y.length+c.length;if(_t(u,s,G),yt(u,s+4,h),bt(d,f,s+6),yt(u,s+30,_),yt(u,s+32,l.length),p&&gt(u,s+38,16),_t(u,s+42,w?L:t.offset),bt(d,r,s+46),bt(d,a,s+46+r.length),bt(d,o,s+46+r.length+a.length),bt(d,g,s+46+r.length+a.length+o.length),bt(d,y,s+46+r.length+a.length+o.length+g.length),bt(d,c,s+46+r.length+a.length+o.length+g.length+y.length),bt(d,l,s+46+r.length+_),s+=46+r.length+_+l.length,n.onprogress)try{n.onprogress(e+1,i.size,new tt(t))}catch(e){}}l&&(_t(u,s,X),mt(u,s+4,BigInt(44)),yt(u,s+12,45),yt(u,s+14,45),mt(u,s+24,BigInt(c)),mt(u,s+32,BigInt(c)),mt(u,s+40,BigInt(a)),mt(u,s+48,BigInt(o)),_t(u,s+56,Y),mt(u,s+64,BigInt(o)+BigInt(a)),_t(u,s+72,1),c=V,o=L,a=L,s+=76);_t(u,s,Z),yt(u,s+8,c),yt(u,s+10,c),_t(u,s+12,a),_t(u,s+16,o),await r.writeUint8Array(d),t&&t.length&&await r.writeUint8Array(t)}(this,e,t),this.writer.getData()}},e.configure=x,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})}));

@@ -1,1 +0,1 @@

!function(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 t=-2,n=-3,i=-5,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],a=[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],s=[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],o=[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],c=[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],l=[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],d=[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=15;function f(){let e,t,r,a,s,f;function h(e,t,o,c,l,d,h,_,w,p,b){let g,y,x,m,k,v,A,R,U,E,S,z,T,D,F;E=0,k=o;do{r[e[t+E]]++,E++,k--}while(0!==k);if(r[0]==o)return h[0]=-1,_[0]=0,0;for(R=_[0],v=1;v<=u&&0===r[v];v++);for(A=v,R<v&&(R=v),k=u;0!==k&&0===r[k];k--);for(x=k,R>k&&(R=k),_[0]=R,D=1<<v;v<k;v++,D<<=1)if((D-=r[v])<0)return n;if((D-=r[k])<0)return n;for(r[k]+=D,f[1]=v=0,E=1,T=2;0!=--k;)f[T]=v+=r[E],T++,E++;k=0,E=0;do{0!==(v=e[t+E])&&(b[f[v]++]=k),E++}while(++k<o);for(o=f[x],f[0]=k=0,E=0,m=-1,z=-R,s[0]=0,S=0,F=0;A<=x;A++)for(g=r[A];0!=g--;){for(;A>z+R;){if(m++,z+=R,F=x-z,F=F>R?R:F,(y=1<<(v=A-z))>g+1&&(y-=g+1,T=A,v<F))for(;++v<F&&!((y<<=1)<=r[++T]);)y-=r[T];if(F=1<<v,p[0]+F>1440)return n;s[m]=S=p[0],p[0]+=F,0!==m?(f[m]=k,a[0]=v,a[1]=R,v=k>>>z-R,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=A-z,E>=o?a[0]=192:b[E]<c?(a[0]=b[E]<256?0:96,a[2]=b[E++]):(a[0]=d[b[E]-c]+16+64,a[2]=l[b[E++]-c]),y=1<<A-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<A-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=R,U=(1<<z)-1}return 0!==D&&1!=x?i:0}function _(n){let i;for(e||(e=[],t=[],r=new Int32Array(16),a=[],s=new Int32Array(u),f=new Int32Array(16)),t.length<n&&(t=[]),i=0;i<n;i++)t[i]=0;for(i=0;i<16;i++)r[i]=0;for(i=0;i<3;i++)a[i]=0;s.set(r.subarray(0,u),0),f.set(r.subarray(0,16),0)}this.inflate_trees_bits=function(r,a,s,o,c){let l;return _(19),e[0]=0,l=h(r,0,19,19,null,null,s,a,o,e,t),l==n?c.msg="oversubscribed dynamic bit lengths tree":l!=i&&0!==a[0]||(c.msg="incomplete dynamic bit lengths tree",l=n),l},this.inflate_trees_dynamic=function(r,a,s,u,f,w,p,b,g){let y;return _(288),e[0]=0,y=h(s,0,r,257,o,c,w,u,b,e,t),0!=y||0===u[0]?(y==n?g.msg="oversubscribed literal/length tree":-4!=y&&(g.msg="incomplete literal/length tree",y=n),y):(_(288),y=h(s,r,a,0,l,d,p,f,b,e,t),0!=y||0===f[0]&&r>257?(y==n?g.msg="oversubscribed distance tree":y==i?(g.msg="incomplete distance tree",y=n):-4!=y&&(g.msg="empty distance tree with lengths",y=n),y):0)}}f.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=a,i[0]=s,0};function h(){const e=this;let i,a,s,o,c=0,l=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,g,y,x,m,k,v,A,R;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,g=c.write,y=g<c.read?c.read-g-1:c.end-g,x=r[e],m=r[t];do{for(;w<20;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(d=_&x,u=i,f=a,R=3*(f+d),0!==(h=u[R]))for(;;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15,k=u[R+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,R=3*(f+d),h=u[R];;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[R+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)A=g-v,g-A>0&&2>g-A?(c.window[g++]=c.window[A++],c.window[g++]=c.window[A++],k-=2):(c.window.set(c.window.subarray(A,A+2),g),g+=2,A+=2,k-=2);else{A=g-v;do{A+=c.end}while(A<0);if(h=c.end-A,k>h){if(k-=h,g-A>0&&h>g-A)do{c.window[g++]=c.window[A++]}while(0!=--h);else c.window.set(c.window.subarray(A,A+h),g),g+=h,A+=h,h=0;A=0}}if(g-A>0&&k>g-A)do{c.window[g++]=c.window[A++]}while(0!=--k);else c.window.set(c.window.subarray(A,A+k),g),g+=k,A+=k,k=0;break}if(0!=(64&h))return l.msg="invalid distance code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n;d+=u[R+2],d+=_&r[h],R=3*(f+d),h=u[R]}break}if(0!=(64&h))return 0!=(32&h)?(k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,1):(l.msg="invalid literal/length code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n);if(d+=u[R+2],d+=_&r[h],R=3*(f+d),0===(h=u[R])){_>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--;break}}else _>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--}while(y>=258&&b>=10);return k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,0}e.init=function(e,t,n,r,c,l){i=0,_=e,w=t,s=n,p=r,o=c,b=l,a=null},e.proc=function(e,y,x){let m,k,v,A,R,U,E,S=0,z=0,T=0;for(T=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R;;)switch(i){case 0:if(U>=258&&A>=10&&(e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,x=g(_,w,s,p,o,b,e,y),T=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>>=a[k+1],z-=a[k+1],v=a[k],0===v){u=a[k+2],i=6;break}if(0!=(16&v)){f=15&v,c=a[k+2],i=2;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}if(0!=(32&v)){i=7;break}return i=9,y.msg="invalid literal/length code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}c+=S&r[m],S>>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>=a[k+1],z-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],i=4;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}return i=9,y.msg="invalid distance code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(T++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=R-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);e.window[R++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);x=0,e.window[R++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,A++,T--),e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=R,e.inflate_flush(y,x)}},e.free=function(){}}const _=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function w(e,a){const s=this;let o,c=0,l=0,d=0,u=0;const w=[0],p=[0],b=new h;let g=0,y=new Int32Array(4320);const x=new f;s.bitk=0,s.bitb=0,s.window=new Uint8Array(a),s.end=a,s.read=0,s.write=0,s.reset=function(e,t){t&&(t[0]=0),6==c&&b.free(e),c=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(e,null),s.inflate_flush=function(e,t){let n,r,a;return r=e.next_out_index,a=s.read,n=(a<=s.write?s.write:s.end)-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n,a==s.end&&(a=0,s.write==s.end&&(s.write=0),n=s.write-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n),e.next_out_index=r,s.read=a,t},s.proc=function(e,i){let a,h,m,k,v,A,R,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A;;){let E,S,z,T,D,F,C,O;switch(c){case 0:for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}switch(a=7&h,g=1&a,a>>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],T=[[]],f.inflate_trees_fixed(E,S,z,T),b.init(E[0],S[0],z[0],0,T[0],0),h>>>=3,m-=3,c=6;break;case 2:h>>>=3,m-=3,c=3;break;case 3:return h>>>=3,m-=3,c=9,e.msg="invalid block type",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}break;case 1:for(;m<32;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if((~h>>>16&65535)!=(65535&h))return c=9,e.msg="invalid stored block lengths",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=65535&h,h=m=0,c=0!==l?2:0!==g?7:0;break;case 2:if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(0===R&&(A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R&&(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R)))return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>R&&(a=R),s.window.set(e.read_buf(k,a),A),k+=a,v-=a,A+=a,R-=a,0!=(l-=a))break;c=0!==g?7:0;break;case 3:for(;m<14;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(d=a=16383&h,(31&a)>29||(a>>5&31)>29)return c=9,e.msg="too many length or distance symbols",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(a=258+(31&a)+(a>>5&31),!o||o.length<a)o=[];else for(U=0;U<a;U++)o[U]=0;h>>>=14,m-=14,u=0,c=4;case 4:for(;u<4+(d>>>10);){for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}o[_[u++]]=7&h,h>>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,y,e),0!=a)return(i=a)==n&&(o=null,c=9),s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);u=0,c=5;case 5:for(;a=d,!(u>=258+(31&a)+(a>>5&31));){let t,l;for(a=w[0];m<a;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(a=y[3*(p[0]+(h&r[a]))+1],l=y[3*(p[0]+(h&r[a]))+2],l<16)h>>>=a,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m<a+U;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(h>>>=a,m-=a,t+=h&r[U],h>>>=U,m-=U,U=u,a=d,U+t>258+(31&a)+(a>>5&31)||16==l&&U<1)return o=null,c=9,e.msg="invalid bit length repeat",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=16==l?o[U-1]:0;do{o[U++]=l}while(0!=--t);u=U}}if(p[0]=-1,D=[],F=[],C=[],O=[],D[0]=9,F[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,D,F,C,O,y,e),0!=a)return a==n&&(o=null,c=9),i=a,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);b.init(D[0],F[0],y,C[0],y,O[0]),c=6;case 6:if(s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,1!=(i=b.proc(s,e,i)))return s.inflate_flush(e,i);if(i=0,b.free(e),k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A,0===g){c=0;break}c=7;case 7:if(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,s.read!=s.write)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);c=8;case 8:return i=1,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);case 9:return i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);default:return i=t,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}}},s.free=function(e){s.reset(e,null),s.window=null,y=null},s.set_dictionary=function(e,t,n){s.window.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=function(){return 1==c?1:0}}const p=13,b=[0,0,255,255];function g(){const e=this;function r(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):t}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<<i),r(n),0)},e.inflate=function(e,r){let a,s;if(!e||!e.istate||!e.next_in)return t;const o=e.istate;for(r=4==r?i:0,a=i;;)switch(o.mode){case 0:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,8!=(15&(o.method=e.read_byte(e.next_in_index++)))){o.mode=p,e.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=p,e.msg="invalid window size",o.marker=5;break}o.mode=1;case 1:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,s=255&e.read_byte(e.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=p,e.msg="incorrect header check",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===e.avail_in?a:(a=r,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=6,2);case 6:return o.mode=p,e.msg="need dictionary",o.marker=0,t;case 7:if(a=o.blocks.proc(e,a),a==n){o.mode=p,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(e,o.was),o.mode=12;case 12:return 1;case p:return n;default:return t}},e.inflateSetDictionary=function(e,n,i){let r=0,a=i;if(!e||!e.istate||6!=e.istate.mode)return t;const s=e.istate;return a>=1<<s.wbits&&(a=(1<<s.wbits)-1,r=i-a),s.blocks.set_dictionary(n,r,a),s.mode=7,0},e.inflateSync=function(e){let a,s,o,c,l;if(!e||!e.istate)return t;const d=e.istate;if(d.mode!=p&&(d.mode=p,d.marker=0),0===(a=e.avail_in))return i;for(s=e.next_in_index,o=d.marker;0!==a&&o<4;)e.read_byte(s)==b[o]?o++:o=0!==e.read_byte(s)?0:4-o,s++,a--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=a,d.marker=o,4!=o?n:(c=e.total_in,l=e.total_out,r(e),e.total_in=c,e.total_out=l,d.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():t}}function y(){}y.prototype={inflateInit:function(e){const t=this;return t.istate=new g,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const n=this;return n.istate?n.istate.inflate(n,e):t},inflateEnd:function(){const e=this;if(!e.istate)return t;const n=e.istate.inflateEnd(e);return e.istate=null,n},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):t},inflateSetDictionary:function(e,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,n):t},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const x={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},m=Object.assign({},x);function k(e){if(void 0!==e.chunkSize&&(m.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(m.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(m.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(m.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(m.Deflate=e.Deflate),void 0!==e.Inflate&&(m.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.inflate=e.workerScripts.inflate}}}const v="Abort error";function A(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function R(e,t){return t.length&&await e.writeUint8Array(t),t.length}const U="HTTP error ",E="HTTP Range not supported",S="text/plain",z="Content-Length",T="Accept-Ranges",D="HEAD",F="GET",C="bytes";class O{constructor(){this.size=0}init(){this.initialized=!0}}class W extends O{}class I extends O{writeUint8Array(e){this.size+=e.length}}class H extends W{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((i,r)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(D,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(T)!=C)throw new Error(E);void 0===this.size&&await L(this,this.options)}else await L(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await B(F,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(E);return new Uint8Array(await n.arrayBuffer())}return this.data||await L(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function L(e,t){const n=await B(F,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function B(e,t,n,i){i=Object.assign({},n.headers,i);const r=await fetch(t,Object.assign({},n,{method:e,headers:i}));if(r.status<400)return r;throw new Error(U+(r.statusText||r.status))}class N extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(D,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(T)==C?e():t(new Error(E)):void 0===this.size?P(this,this.url).then((()=>e())).catch(t):e()}),t)));await P(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await P(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(F,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function P(e,t){return new Promise(((n,i)=>j(F,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function j(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(U+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(e,t),r.forEach((e=>a.setRequestHeader(e[0],e[1]))),a.responseType="arraybuffer",a.send(),a}class q extends W{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new N(e,t):this.reader=new M(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function V(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const G=4294967295,Z=33639248,K=101075792,X="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Y=[];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;Y[e]=t}class J{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^Y[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Q={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Q.getPartial(n);return 32===i?e.concat(t):Q._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)+Q.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]=Q.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=Q.getPartial(r);return i.push(Q.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},$={bytes:{fromBits(e){const t=Q.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)0==(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==(3&n)&&(t.push(i),i=0);return 3&n&&t.push(Q.partial(8*(3&n),i)),t}}},ee={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ee.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=$.utf8String.toBits(e));const n=t._buffer=Q.concat(t._buffer,e),i=t._length,r=t._length=i+Q.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:function(){const e=this;let t=e._buffer;const n=e._h;t=Q.concat(t,[Q.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},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(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:function(e,t){return t<<e|t>>>32-e},_block:function(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],c=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)+c+i[e]+t._key[Math.floor(e/20)]|0;c=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]+c|0}};const te={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,c=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^c<<24,c=c<<1^283*(c>>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,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,l=r[c=r[o=r[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>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],c=a[2],l=a[3],d=a[4];let u,f,h,_=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;e<i;e++)u=s[_>>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[g],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[g+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[g+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[g+3],g+=4,_=u,w=f,p=h;for(let e=0;e<4;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],u=_,_=w,w=p,p=b,b=u;return r}}},ne={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&255)){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}else e+=1<<24;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=Q.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 Q.clamp(t,r)}}},ie={hmacSha1:class{constructor(e){const t=this,n=t._hash=ee.sha1,i=[[],[]],r=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>r&&(e=n.hash(e));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}}},re="Invalid pasword",ae=16,se={name:"PBKDF2"},oe=Object.assign({hash:{name:"HMAC"}},se),ce=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},se),le=["deriveBits"],de=[8,12,16],ue=[16,24,32],fe=10,he=[0,0,0,0],_e=crypto.subtle,we=$.bytes,pe=te.aes,be=ne.ctrGladman,ge=ie.hmacSha1;class ye{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Ae(e,0,de[t.strength]+2);await async function(e,t,n){await ke(e,n,Ae(t,0,de[e.strength]));const i=Ae(t,de[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new Error(re)}(t,n,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication),e=Ae(e,de[t.strength]+2)}return me(t,e,new Uint8Array(e.length-fe-(e.length-fe)%ae),0,fe,!0)}async flush(){const e=this,t=e.pendingInput,n=Ae(t,0,t.length-fe),i=Ae(t,t.length-fe);let r=new Uint8Array(0);if(n.length){const t=we.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=we.fromBits(i)}let a=!0;if(e.signed){const t=Ae(we.fromBits(e.hmac.digest()),0,fe);for(let e=0;e<fe;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class xe{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(de[e.strength]));return await ke(e,t,n),ve(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%ae);return i.set(n,0),me(t,e,i,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(we.toBits(e.pendingInput));e.hmac.update(n),t=we.fromBits(n)}const n=Ae(we.fromBits(e.hmac.digest()),0,fe);return{data:ve(t,n),signature:n}}}function me(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=ve(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%ae)),o=0;o<=s-ae;o+=ae){const r=we.toBits(Ae(t,o,o+ae));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(we.fromBits(s),o+i)}return e.pendingInput=Ae(t,o),n}async function ke(e,t,n){const i=(new TextEncoder).encode(t),r=await _e.importKey("raw",i,oe,!1,le),a=await _e.deriveBits(Object.assign({salt:n},ce),r,8*(2*ue[e.strength]+2)),s=new Uint8Array(a);e.keys={key:we.toBits(Ae(s,0,ue[e.strength])),authentication:we.toBits(Ae(s,ue[e.strength],2*ue[e.strength])),passwordVerification:Ae(s,2*ue[e.strength])}}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 Ae(e,t,n){return e.subarray(t,n)}const Re=12;class Ue{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Te(this,e)}async append(e){const t=this;if(t.password){const n=Se(t,e.subarray(0,Re));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Re)}return Se(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Ee{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),Te(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(Re));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ze(t,r),0),i=Re}else n=new Uint8Array(e.length),i=0;return n.set(ze(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function Se(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],De(e,n[i]);return n}function ze(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],De(e,t[i]);return n}function Te(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new J(e.keys[0]),e.crcKey2=new J(e.keys[2]);for(let n=0;n<t.length;n++)De(e,t.charCodeAt(n))}function De(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+Ce(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Fe(e){const t=2|e.keys[2];return Ce(Math.imul(t,1^t)>>>8)}function Ce(e){return 255&e}function Oe(e){return 4294967295&e}const We="inflate",Ie="Invalid signature";class He{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e({chunkSize:c}),crc32:i&&new J,zipCrypto:a,decrypt:l&&a?new Ue(n,s):new ye(n,i,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(Ie);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(Ie)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class Me{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5,chunkSize:l}),crc32:n&&new J,zipCrypto:a,encrypt:t&&a?new Ee(s,o):new xe(s,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=await e.encrypt.flush();t=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Le="init",Be="append",Ne="flush",Pe="message";var je=(e,t,n,i,r,a,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),a?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-inflate.min.js",document.baseURI).href)),e.worker.addEventListener(Pe,a,!1),e.interface={append:e=>i({type:Be,data:e}),flush:()=>i({type:Ne})});return e.interface;async function i(i){if(!n){const n=e.options,i=e.scripts.slice(1);await r({scripts:i,type:Le,options:n,config:{chunkSize:t.chunkSize}})}return r(i)}function r(t){const i=e.worker,r=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}function a(t){const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Le||r==Ne||r==Be){const t=i.data;r==Ne?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,i):function(e,t){const n=function(e,t,n){return t.codecType.startsWith("deflate")?new Me(e,t,n):t.codecType.startsWith(We)?new He(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,i));let qe=[],Ve=[];function Ge(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp"];class Ke{constructor(e){Ze.forEach((t=>this[t]=e[t]))}}const Xe="File format is not recognized",Ye="End of central directory not found",Je="End of Zip64 central directory not found",Qe="End of Zip64 central directory locator not found",$e="Central directory header not found",et="Local file header not found",tt="Zip64 extra field not found",nt="File contains encrypted entry",it="Encryption method not supported",rt="Compression method not supported",at="utf-8",st=["uncompressedSize","compressedSize","offset"];class ot{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,extraFieldAES:s,compressionMethod:o,config:c,bitFlag:l,signature:d,rawLastModDate:u,compressedSize:f}=i,h=i.localDirectory={};r.initialized||await r.init();let _=await xt(r,a,30);const w=yt(_);let p=ut(i,n,"password");if(p=p&&p.length&&p,s&&99!=s.originalCompressionMethod)throw new Error(rt);if(0!=o&&8!=o)throw new Error(rt);if(67324752!=bt(w,0))throw new Error(et);ct(h,w,4),_=await xt(r,a,30+h.filenameLength+h.extraFieldLength),h.rawExtraField=_.subarray(30+h.filenameLength),lt(i,h,w,4),t.lastAccessDate=h.lastAccessDate,t.creationDate=h.creationDate;const b=i.encrypted&&h.encrypted,g=b&&!s;if(b){if(!g&&void 0===s.strength)throw new Error(it);if(!p)throw new Error(nt)}const y=await function(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(qe.length<n.maxWorkers){const s={};return qe.push(s),je(s,e,t,n,a,i,r)}{const s=qe.find((e=>!e.busy));return s?(Ge(s),je(s,e,t,n,a,i,r)):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Ve.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Ve.splice(0,1);t(je(e,i,r,n,a,s,o))}else e.worker?(Ge(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{qe=qe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):qe=qe.filter((t=>t!=e))}}(c.Inflate,{codecType:We,password:p,zipCrypto:g,encryptionStrength:s&&s.strength,signed:ut(i,n,"checkSignature"),passwordVerification:g&&(l.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=o,encrypted:b,useWebWorkers:ut(i,n,"useWebWorkers")},c);e.initialized||await e.init();const x=ut(i,n,"signal"),m=a+30+h.filenameLength+h.extraFieldLength;return await async function(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(c<r){A(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;A(d,e);const h=await e.append(u);if(A(d,e),l+=await R(n,h),s.onprogress)try{s.onprogress(c+f,r)}catch(e){}return a(c+o,l)}{const t=await e.flush();return l+=await R(n,t.data),{signature:t.signature,length:l}}}()}(y,r,e,m,f,c,{onprogress:n.onprogress,signal:x}),e.getData()}}function ct(e,t,n){const i=e.rawBitFlag=pt(t,n+2),r=1==(1&i),a=bt(t,n+6);Object.assign(e,{encrypted:r,version:pt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:a,lastModDate:ht(a),filenameLength:pt(t,n+22),extraFieldLength:pt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=yt(new Uint8Array(r));let o=0;try{for(;o<r.length;){const e=pt(s,o),t=pt(s,o+2);a.set(e,{type:e,data:r.slice(o+4,o+4+t)}),o+=4+t}}catch(e){}const c=pt(n,i+4);t.signature=bt(n,i+10),t.uncompressedSize=bt(n,i+18),t.compressedSize=bt(n,i+14);const l=a.get(1);l&&(!function(e,t){t.zip64=!0;const n=yt(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(gt(n,0+8*t));const i=st.filter((e=>t[e]==G));for(let t=0;t<i.length;t++)e[i[t]]=e.values[t];st.forEach((n=>{if(t[n]==G){if(void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t),t.extraFieldZip64=l);const d=a.get(28789);d&&(dt(d,"filename","rawFilename",t,e),t.extraFieldUnicodePath=d);const u=a.get(25461);u&&(dt(u,"comment","rawComment",t,e),t.extraFieldUnicodeComment=u);const f=a.get(39169);f?(!function(e,t,n){const i=yt(e.data);e.vendorVersion=wt(i,0),e.vendorId=wt(i,2);const r=wt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=pt(i,5)}(f,t,c),t.extraFieldAES=f):t.compressionMethod=c;const h=a.get(10);h&&(!function(e,t){const n=yt(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=pt(n,r),a=pt(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=yt(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=_t(r),c=_t(a),l={lastModDate:o,lastAccessDate:c,creationDate:_t(s)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(h,t),t.extraFieldNTFS=h);const _=a.get(21589);_&&(!function(e,t){const n=yt(e.data),i=wt(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate"));2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate"));4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let s=1;r.forEach(((i,r)=>{if(e.data.length>=s+4){const o=bt(n,s);t[i]=e[i]=new Date(1e3*o);const c=a[r];e[c]=o}s+=4}))}(_,t),t.extraFieldExtendedTimestamp=_)}function dt(e,t,n,i,r){const a=yt(e.data);e.version=wt(a,0),e.signature=bt(a,1);const s=new J;s.append(r[n]);const o=yt(new Uint8Array(4));o.setUint32(0,s.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ut(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function ft(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n<e.length;n++)t+=X[e[n]];return t})(e)}function ht(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 _t(e){return new Date(Number(e/10000n-11644473600000n))}function wt(e,t){return e.getUint8(t)}function pt(e,t){return e.getUint16(t,!0)}function bt(e,t){return e.getUint32(t,!0)}function gt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function xt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(e){const t=new y,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,r=new Uint8Array(n);let a=!1;t.inflateInit(),t.next_out=r,this.append=function(e,s){const o=[];let c,l,d=0,u=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||a||(t.next_in_index=0,a=!0),c=t.inflate(0),a&&c===i){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==c&&1!==c)throw new Error("inflating: "+t.msg);if((a||1===c)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&(t.next_out_index===n?o.push(new Uint8Array(r)):o.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=d&&(s(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(l=new Uint8Array(f),o.forEach((function(e){l.set(e,u),u+=e.length}))):l=o[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}}),e.BlobReader=H,e.BlobWriter=class extends I{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}},e.Data64URIReader=class extends W{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),a=e-3*Math.floor(i/4);for(let e=a;e<a+t;e++)n[e-a]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends I{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=v,e.ERR_BAD_FORMAT=Xe,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$e,e.ERR_ENCRYPTED=nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qe,e.ERR_EOCDR_NOT_FOUND=Ye,e.ERR_EOCDR_ZIP64_NOT_FOUND=Je,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tt,e.ERR_HTTP_RANGE=E,e.ERR_INVALID_PASSWORD=re,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=et,e.ERR_UNSUPPORTED_COMPRESSION=rt,e.ERR_UNSUPPORTED_ENCRYPTION=it,e.HttpRangeReader=class extends q{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=q,e.Reader=W,e.TextReader=class extends W{constructor(e){super(),this.blobReader=new H(new Blob([e],{type:S}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends I{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:S})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:S})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends W{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends I{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=I,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:m})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Xe);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(yt(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 xt(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,22,1048560);if(!i)throw new Error(Ye);const r=yt(i);let a=bt(r,12),s=bt(r,16),o=pt(r,8),c=0;if(s==G||65535==o){const e=yt(await xt(n,i.offset-20,20));if(117853008!=bt(e,0))throw new Error(Je);s=gt(e,8);let t=await xt(n,s,56),r=yt(t);const l=i.offset-20-56;if(bt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await xt(n,s,56),r=yt(t)}if(bt(r,0)!=K)throw new Error(Qe);o=gt(r,24),a=bt(e,4),s-=gt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await xt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(bt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await xt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;i<o;i++){const r=new ot(n,t.config,t.options);if(bt(u,l)!=Z)throw new Error($e);ct(r,u,l+6);const a=Boolean(r.bitFlag.languageEncodingFlag),s=l+46,f=s+r.filenameLength,_=f+r.extraFieldLength;Object.assign(r,{compressedSize:0,uncompressedSize:0,commentLength:pt(u,l+32),directory:16==(16&wt(u,l+38)),offset:bt(u,l+42)+c,rawFilename:d.subarray(s,f),filenameUTF8:a,commentUTF8:a,rawExtraField:d.subarray(f,_)});const w=_+r.commentLength;r.rawComment=d.subarray(_,w),r.filename=ft(r.rawFilename,r.filenameUTF8?at:ut(t,e,"filenameEncoding")),r.comment=ft(r.rawComment,r.commentUTF8?at:ut(t,e,"commentEncoding")),!r.directory&&r.filename.endsWith("/")&&(r.directory=!0),lt(r,r,u,l+6);const p=new Ke(r);if(p.getData=(e,t)=>r.getData(e,p,t),h.push(p),l=w,e.onprogress)try{e.onprogress(i+1,o,new Ke(r))}catch(e){}}return h}async close(){}},e.configure=k,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(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 t=-2,n=-3,i=-5,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],a=[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],s=[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],o=[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],c=[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],l=[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],d=[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=15;function f(){let e,t,r,a,s,f;function h(e,t,o,c,l,d,h,_,w,p,b){let g,y,x,m,k,v,A,R,U,E,S,z,D,T,F;E=0,k=o;do{r[e[t+E]]++,E++,k--}while(0!==k);if(r[0]==o)return h[0]=-1,_[0]=0,0;for(R=_[0],v=1;v<=u&&0===r[v];v++);for(A=v,R<v&&(R=v),k=u;0!==k&&0===r[k];k--);for(x=k,R>k&&(R=k),_[0]=R,T=1<<v;v<k;v++,T<<=1)if((T-=r[v])<0)return n;if((T-=r[k])<0)return n;for(r[k]+=T,f[1]=v=0,E=1,D=2;0!=--k;)f[D]=v+=r[E],D++,E++;k=0,E=0;do{0!==(v=e[t+E])&&(b[f[v]++]=k),E++}while(++k<o);for(o=f[x],f[0]=k=0,E=0,m=-1,z=-R,s[0]=0,S=0,F=0;A<=x;A++)for(g=r[A];0!=g--;){for(;A>z+R;){if(m++,z+=R,F=x-z,F=F>R?R:F,(y=1<<(v=A-z))>g+1&&(y-=g+1,D=A,v<F))for(;++v<F&&!((y<<=1)<=r[++D]);)y-=r[D];if(F=1<<v,p[0]+F>1440)return n;s[m]=S=p[0],p[0]+=F,0!==m?(f[m]=k,a[0]=v,a[1]=R,v=k>>>z-R,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=A-z,E>=o?a[0]=192:b[E]<c?(a[0]=b[E]<256?0:96,a[2]=b[E++]):(a[0]=d[b[E]-c]+16+64,a[2]=l[b[E++]-c]),y=1<<A-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<A-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=R,U=(1<<z)-1}return 0!==T&&1!=x?i:0}function _(n){let i;for(e||(e=[],t=[],r=new Int32Array(16),a=[],s=new Int32Array(u),f=new Int32Array(16)),t.length<n&&(t=[]),i=0;i<n;i++)t[i]=0;for(i=0;i<16;i++)r[i]=0;for(i=0;i<3;i++)a[i]=0;s.set(r.subarray(0,u),0),f.set(r.subarray(0,16),0)}this.inflate_trees_bits=function(r,a,s,o,c){let l;return _(19),e[0]=0,l=h(r,0,19,19,null,null,s,a,o,e,t),l==n?c.msg="oversubscribed dynamic bit lengths tree":l!=i&&0!==a[0]||(c.msg="incomplete dynamic bit lengths tree",l=n),l},this.inflate_trees_dynamic=function(r,a,s,u,f,w,p,b,g){let y;return _(288),e[0]=0,y=h(s,0,r,257,o,c,w,u,b,e,t),0!=y||0===u[0]?(y==n?g.msg="oversubscribed literal/length tree":-4!=y&&(g.msg="incomplete literal/length tree",y=n),y):(_(288),y=h(s,r,a,0,l,d,p,f,b,e,t),0!=y||0===f[0]&&r>257?(y==n?g.msg="oversubscribed distance tree":y==i?(g.msg="incomplete distance tree",y=n):-4!=y&&(g.msg="empty distance tree with lengths",y=n),y):0)}}f.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=a,i[0]=s,0};function h(){const e=this;let i,a,s,o,c=0,l=0,d=0,u=0,f=0,h=0,_=0,w=0,p=0,b=0;function g(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,g,y,x,m,k,v,A,R;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,g=c.write,y=g<c.read?c.read-g-1:c.end-g,x=r[e],m=r[t];do{for(;w<20;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(d=_&x,u=i,f=a,R=3*(f+d),0!==(h=u[R]))for(;;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15,k=u[R+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,R=3*(f+d),h=u[R];;){if(_>>=u[R+1],w-=u[R+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[R+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)A=g-v,g-A>0&&2>g-A?(c.window[g++]=c.window[A++],c.window[g++]=c.window[A++],k-=2):(c.window.set(c.window.subarray(A,A+2),g),g+=2,A+=2,k-=2);else{A=g-v;do{A+=c.end}while(A<0);if(h=c.end-A,k>h){if(k-=h,g-A>0&&h>g-A)do{c.window[g++]=c.window[A++]}while(0!=--h);else c.window.set(c.window.subarray(A,A+h),g),g+=h,A+=h,h=0;A=0}}if(g-A>0&&k>g-A)do{c.window[g++]=c.window[A++]}while(0!=--k);else c.window.set(c.window.subarray(A,A+k),g),g+=k,A+=k,k=0;break}if(0!=(64&h))return l.msg="invalid distance code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n;d+=u[R+2],d+=_&r[h],R=3*(f+d),h=u[R]}break}if(0!=(64&h))return 0!=(32&h)?(k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,1):(l.msg="invalid literal/length code",k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,n);if(d+=u[R+2],d+=_&r[h],R=3*(f+d),0===(h=u[R])){_>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--;break}}else _>>=u[R+1],w-=u[R+1],c.window[g++]=u[R+2],y--}while(y>=258&&b>=10);return k=l.avail_in-b,k=w>>3<k?w>>3:k,b+=k,p-=k,w-=k<<3,c.bitb=_,c.bitk=w,l.avail_in=b,l.total_in+=p-l.next_in_index,l.next_in_index=p,c.write=g,0}e.init=function(e,t,n,r,c,l){i=0,_=e,w=t,s=n,p=r,o=c,b=l,a=null},e.proc=function(e,y,x){let m,k,v,A,R,U,E,S=0,z=0,D=0;for(D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R;;)switch(i){case 0:if(U>=258&&A>=10&&(e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,x=g(_,w,s,p,o,b,e,y),D=y.next_in_index,A=y.avail_in,S=e.bitb,z=e.bitk,R=e.write,U=R<e.read?e.read-R-1:e.end-R,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>>=a[k+1],z-=a[k+1],v=a[k],0===v){u=a[k+2],i=6;break}if(0!=(16&v)){f=15&v,c=a[k+2],i=2;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}if(0!=(32&v)){i=7;break}return i=9,y.msg="invalid literal/length code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}c+=S&r[m],S>>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}if(k=3*(l+(S&r[m])),S>>=a[k+1],z-=a[k+1],v=a[k],0!=(16&v)){f=15&v,h=a[k+2],i=4;break}if(0==(64&v)){d=v,l=k/3+a[k+2];break}return i=9,y.msg="invalid distance code",x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===A)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,A--,S|=(255&y.read_byte(D++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=R-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);e.window[R++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U&&(e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,R==e.end&&0!==e.read&&(R=0,U=R<e.read?e.read-R-1:e.end-R),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);x=0,e.window[R++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,A++,D--),e.write=R,x=e.inflate_flush(y,x),R=e.write,U=R<e.read?e.read-R-1:e.end-R,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=A,y.total_in+=D-y.next_in_index,y.next_in_index=D,e.write=R,e.inflate_flush(y,x)}},e.free=function(){}}const _=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function w(e,a){const s=this;let o,c=0,l=0,d=0,u=0;const w=[0],p=[0],b=new h;let g=0,y=new Int32Array(4320);const x=new f;s.bitk=0,s.bitb=0,s.window=new Uint8Array(a),s.end=a,s.read=0,s.write=0,s.reset=function(e,t){t&&(t[0]=0),6==c&&b.free(e),c=0,s.bitk=0,s.bitb=0,s.read=s.write=0},s.reset(e,null),s.inflate_flush=function(e,t){let n,r,a;return r=e.next_out_index,a=s.read,n=(a<=s.write?s.write:s.end)-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n,a==s.end&&(a=0,s.write==s.end&&(s.write=0),n=s.write-a,n>e.avail_out&&(n=e.avail_out),0!==n&&t==i&&(t=0),e.avail_out-=n,e.total_out+=n,e.next_out.set(s.window.subarray(a,a+n),r),r+=n,a+=n),e.next_out_index=r,s.read=a,t},s.proc=function(e,i){let a,h,m,k,v,A,R,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A;;){let E,S,z,D,T,F,C,O;switch(c){case 0:for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}switch(a=7&h,g=1&a,a>>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],D=[[]],f.inflate_trees_fixed(E,S,z,D),b.init(E[0],S[0],z[0],0,D[0],0),h>>>=3,m-=3,c=6;break;case 2:h>>>=3,m-=3,c=3;break;case 3:return h>>>=3,m-=3,c=9,e.msg="invalid block type",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}break;case 1:for(;m<32;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if((~h>>>16&65535)!=(65535&h))return c=9,e.msg="invalid stored block lengths",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=65535&h,h=m=0,c=0!==l?2:0!==g?7:0;break;case 2:if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(0===R&&(A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R&&(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,A==s.end&&0!==s.read&&(A=0,R=A<s.read?s.read-A-1:s.end-A),0===R)))return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>R&&(a=R),s.window.set(e.read_buf(k,a),A),k+=a,v-=a,A+=a,R-=a,0!=(l-=a))break;c=0!==g?7:0;break;case 3:for(;m<14;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(d=a=16383&h,(31&a)>29||(a>>5&31)>29)return c=9,e.msg="too many length or distance symbols",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);if(a=258+(31&a)+(a>>5&31),!o||o.length<a)o=[];else for(U=0;U<a;U++)o[U]=0;h>>>=14,m-=14,u=0,c=4;case 4:for(;u<4+(d>>>10);){for(;m<3;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}o[_[u++]]=7&h,h>>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,y,e),0!=a)return(i=a)==n&&(o=null,c=9),s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);u=0,c=5;case 5:for(;a=d,!(u>=258+(31&a)+(a>>5&31));){let t,l;for(a=w[0];m<a;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(a=y[3*(p[0]+(h&r[a]))+1],l=y[3*(p[0]+(h&r[a]))+2],l<16)h>>>=a,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m<a+U;){if(0===v)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);i=0,v--,h|=(255&e.read_byte(k++))<<m,m+=8}if(h>>>=a,m-=a,t+=h&r[U],h>>>=U,m-=U,U=u,a=d,U+t>258+(31&a)+(a>>5&31)||16==l&&U<1)return o=null,c=9,e.msg="invalid bit length repeat",i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);l=16==l?o[U-1]:0;do{o[U++]=l}while(0!=--t);u=U}}if(p[0]=-1,T=[],F=[],C=[],O=[],T[0]=9,F[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,T,F,C,O,y,e),0!=a)return a==n&&(o=null,c=9),i=a,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);b.init(T[0],F[0],y,C[0],y,O[0]),c=6;case 6:if(s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,1!=(i=b.proc(s,e,i)))return s.inflate_flush(e,i);if(i=0,b.free(e),k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,A=s.write,R=A<s.read?s.read-A-1:s.end-A,0===g){c=0;break}c=7;case 7:if(s.write=A,i=s.inflate_flush(e,i),A=s.write,R=A<s.read?s.read-A-1:s.end-A,s.read!=s.write)return s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);c=8;case 8:return i=1,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);case 9:return i=n,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i);default:return i=t,s.bitb=h,s.bitk=m,e.avail_in=v,e.total_in+=k-e.next_in_index,e.next_in_index=k,s.write=A,s.inflate_flush(e,i)}}},s.free=function(e){s.reset(e,null),s.window=null,y=null},s.set_dictionary=function(e,t,n){s.window.set(e.subarray(t,t+n),0),s.read=s.write=n},s.sync_point=function(){return 1==c?1:0}}const p=13,b=[0,0,255,255];function g(){const e=this;function r(e){return e&&e.istate?(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=7,e.istate.blocks.reset(e,null),0):t}e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0,e.inflateEnd=function(t){return e.blocks&&e.blocks.free(t),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<<i),r(n),0)},e.inflate=function(e,r){let a,s;if(!e||!e.istate||!e.next_in)return t;const o=e.istate;for(r=4==r?i:0,a=i;;)switch(o.mode){case 0:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,8!=(15&(o.method=e.read_byte(e.next_in_index++)))){o.mode=p,e.msg="unknown compression method",o.marker=5;break}if(8+(o.method>>4)>o.wbits){o.mode=p,e.msg="invalid window size",o.marker=5;break}o.mode=1;case 1:if(0===e.avail_in)return a;if(a=r,e.avail_in--,e.total_in++,s=255&e.read_byte(e.next_in_index++),((o.method<<8)+s)%31!=0){o.mode=p,e.msg="incorrect header check",o.marker=5;break}if(0==(32&s)){o.mode=7;break}o.mode=2;case 2:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,o.mode=3;case 3:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,o.mode=4;case 4:if(0===e.avail_in)return a;a=r,e.avail_in--,e.total_in++,o.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,o.mode=5;case 5:return 0===e.avail_in?a:(a=r,e.avail_in--,e.total_in++,o.need+=255&e.read_byte(e.next_in_index++),o.mode=6,2);case 6:return o.mode=p,e.msg="need dictionary",o.marker=0,t;case 7:if(a=o.blocks.proc(e,a),a==n){o.mode=p,o.marker=0;break}if(0==a&&(a=r),1!=a)return a;a=r,o.blocks.reset(e,o.was),o.mode=12;case 12:return 1;case p:return n;default:return t}},e.inflateSetDictionary=function(e,n,i){let r=0,a=i;if(!e||!e.istate||6!=e.istate.mode)return t;const s=e.istate;return a>=1<<s.wbits&&(a=(1<<s.wbits)-1,r=i-a),s.blocks.set_dictionary(n,r,a),s.mode=7,0},e.inflateSync=function(e){let a,s,o,c,l;if(!e||!e.istate)return t;const d=e.istate;if(d.mode!=p&&(d.mode=p,d.marker=0),0===(a=e.avail_in))return i;for(s=e.next_in_index,o=d.marker;0!==a&&o<4;)e.read_byte(s)==b[o]?o++:o=0!==e.read_byte(s)?0:4-o,s++,a--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=a,d.marker=o,4!=o?n:(c=e.total_in,l=e.total_out,r(e),e.total_in=c,e.total_out=l,d.mode=7,0)},e.inflateSyncPoint=function(e){return e&&e.istate&&e.istate.blocks?e.istate.blocks.sync_point():t}}function y(){}y.prototype={inflateInit:function(e){const t=this;return t.istate=new g,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const n=this;return n.istate?n.istate.inflate(n,e):t},inflateEnd:function(){const e=this;if(!e.istate)return t;const n=e.istate.inflateEnd(e);return e.istate=null,n},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):t},inflateSetDictionary:function(e,n){const i=this;return i.istate?i.istate.inflateSetDictionary(i,e,n):t},read_byte:function(e){return this.next_in[e]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}};const x={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,terminateWorkerTimeout:5e3,useWebWorkers:!0,workerScripts:void 0},m=Object.assign({},x);function k(e){if(void 0!==e.chunkSize&&(m.chunkSize=e.chunkSize),void 0!==e.maxWorkers&&(m.maxWorkers=e.maxWorkers),void 0!==e.terminateWorkerTimeout&&(m.terminateWorkerTimeout=e.terminateWorkerTimeout),void 0!==e.useWebWorkers&&(m.useWebWorkers=e.useWebWorkers),void 0!==e.Deflate&&(m.Deflate=e.Deflate),void 0!==e.Inflate&&(m.Inflate=e.Inflate),void 0!==e.workerScripts){if(e.workerScripts.deflate){if(!Array.isArray(e.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.deflate=e.workerScripts.deflate}if(e.workerScripts.inflate){if(!Array.isArray(e.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");m.workerScripts||(m.workerScripts={}),m.workerScripts.inflate=e.workerScripts.inflate}}}const v="Abort error";function A(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function R(e,t){return t.length&&await e.writeUint8Array(t),t.length}const U="HTTP error ",E="HTTP Range not supported",S="text/plain",z="Content-Length",D="Accept-Ranges",T="HEAD",F="GET",C="bytes";class O{constructor(){this.size=0}init(){this.initialized=!0}}class W extends O{}class I extends O{writeUint8Array(e){this.size+=e.length}}class M extends W{constructor(e){super(),this.blob=e,this.size=e.size}async readUint8Array(e,t){const n=new FileReader;return new Promise(((i,r)=>{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=()=>r(n.error),n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class H extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(T,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(D)!=C)throw new Error(E);void 0===this.size&&await L(this,this.options)}else await L(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await B(F,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(E);return new Uint8Array(await n.arrayBuffer())}return this.data||await L(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function L(e,t){const n=await B(F,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function B(e,t,n,i){i=Object.assign({},n.headers,i);const r=await fetch(t,Object.assign({},n,{method:e,headers:i}));if(r.status<400)return r;throw new Error(U+(r.statusText||r.status))}class N extends W{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(T,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(D)==C?e():t(new Error(E)):void 0===this.size?P(this,this.url).then((()=>e())).catch(t):e()}),t)));await P(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await P(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(F,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function P(e,t){return new Promise(((n,i)=>j(F,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function j(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(U+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(e,t),r.forEach((e=>a.setRequestHeader(e[0],e[1]))),a.responseType="arraybuffer",a.send(),a}class q extends W{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new N(e,t):this.reader=new H(e,t)}set size(e){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}function V(e){if("undefined"!=typeof document){const t=document.createElement("a");return t.href=e,"http:"==t.protocol||"https:"==t.protocol}return/^https?:\/\//i.test(e)}const G=4294967295,Z=33639248,K=101075792,X="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Y=[];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;Y[e]=t}class J{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^Y[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Q={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Q.getPartial(n);return 32===i?e.concat(t):Q._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)+Q.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]=Q.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=Q.getPartial(r);return i.push(Q.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},$={bytes:{fromBits(e){const t=Q.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r<t;r++)0==(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==(3&n)&&(t.push(i),i=0);return 3&n&&t.push(Q.partial(8*(3&n),i)),t}}},ee={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ee.sha1.prototype={blockSize:512,reset:function(){const e=this;return e._h=this._init.slice(0),e._buffer=[],e._length=0,e},update:function(e){const t=this;"string"==typeof e&&(e=$.utf8String.toBits(e));const n=t._buffer=Q.concat(t._buffer,e),i=t._length,r=t._length=i+Q.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:function(){const e=this;let t=e._buffer;const n=e._h;t=Q.concat(t,[Q.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},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(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:function(e,t){return t<<e|t>>>32-e},_block:function(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],c=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)+c+i[e]+t._key[Math.floor(e/20)]|0;c=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]+c|0}};const te={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,c=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^c<<24,c=c<<1^283*(c>>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,c,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,l=r[c=r[o=r[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][d]=f=f<<24^f>>>8,t[n][a]=u=u<<24^u>>>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],c=a[2],l=a[3],d=a[4];let u,f,h,_=e[0]^n[0],w=e[t?3:1]^n[1],p=e[2]^n[2],b=e[t?1:3]^n[3],g=4;for(let e=0;e<i;e++)u=s[_>>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[g],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[g+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[g+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[g+3],g+=4,_=u,w=f,p=h;for(let e=0;e<4;e++)r[t?3&-e:e]=d[_>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],u=_,_=w,w=p,p=b,b=u;return r}}},ne={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&255)){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}else e+=1<<24;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=Q.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 Q.clamp(t,r)}}},ie={hmacSha1:class{constructor(e){const t=this,n=t._hash=ee.sha1,i=[[],[]],r=n.prototype.blockSize/32;t._baseHash=[new n,new n],e.length>r&&(e=n.hash(e));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}}},re="Invalid pasword",ae=16,se={name:"PBKDF2"},oe=Object.assign({hash:{name:"HMAC"}},se),ce=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},se),le=["deriveBits"],de=[8,12,16],ue=[16,24,32],fe=10,he=[0,0,0,0],_e=crypto.subtle,we=$.bytes,pe=te.aes,be=ne.ctrGladman,ge=ie.hmacSha1;class ye{constructor(e,t,n){Object.assign(this,{password:e,signed:t,strength:n-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;if(t.password){const n=Ae(e,0,de[t.strength]+2);await async function(e,t,n){await ke(e,n,Ae(t,0,de[e.strength]));const i=Ae(t,de[e.strength]),r=e.keys.passwordVerification;if(r[0]!=i[0]||r[1]!=i[1])throw new Error(re)}(t,n,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication),e=Ae(e,de[t.strength]+2)}return me(t,e,new Uint8Array(e.length-fe-(e.length-fe)%ae),0,fe,!0)}async flush(){const e=this,t=e.pendingInput,n=Ae(t,0,t.length-fe),i=Ae(t,t.length-fe);let r=new Uint8Array(0);if(n.length){const t=we.toBits(n);e.hmac.update(t);const i=e.aesCtrGladman.update(t);r=we.fromBits(i)}let a=!0;if(e.signed){const t=Ae(we.fromBits(e.hmac.digest()),0,fe);for(let e=0;e<fe;e++)t[e]!=i[e]&&(a=!1)}return{valid:a,data:r}}}class xe{constructor(e,t){Object.assign(this,{password:e,strength:t-1,pendingInput:new Uint8Array(0)})}async append(e){const t=this;let n=new Uint8Array(0);t.password&&(n=await async function(e,t){const n=crypto.getRandomValues(new Uint8Array(de[e.strength]));return await ke(e,t,n),ve(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new be(new pe(t.keys.key),Array.from(he)),t.hmac=new ge(t.keys.authentication));const i=new Uint8Array(n.length+e.length-e.length%ae);return i.set(n,0),me(t,e,i,n.length,0)}async flush(){const e=this;let t=new Uint8Array(0);if(e.pendingInput.length){const n=e.aesCtrGladman.update(we.toBits(e.pendingInput));e.hmac.update(n),t=we.fromBits(n)}const n=Ae(we.fromBits(e.hmac.digest()),0,fe);return{data:ve(t,n),signature:n}}}function me(e,t,n,i,r,a){const s=t.length-r;let o;for(e.pendingInput.length&&(t=ve(e.pendingInput,t),n=function(e,t){if(t&&t>e.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%ae)),o=0;o<=s-ae;o+=ae){const r=we.toBits(Ae(t,o,o+ae));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(we.fromBits(s),o+i)}return e.pendingInput=Ae(t,o),n}async function ke(e,t,n){const i=(new TextEncoder).encode(t),r=await _e.importKey("raw",i,oe,!1,le),a=await _e.deriveBits(Object.assign({salt:n},ce),r,8*(2*ue[e.strength]+2)),s=new Uint8Array(a);e.keys={key:we.toBits(Ae(s,0,ue[e.strength])),authentication:we.toBits(Ae(s,ue[e.strength],2*ue[e.strength])),passwordVerification:Ae(s,2*ue[e.strength])}}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 Ae(e,t,n){return e.subarray(t,n)}const Re=12;class Ue{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),De(this,e)}async append(e){const t=this;if(t.password){const n=Se(t,e.subarray(0,Re));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Re)}return Se(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class Ee{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),De(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(Re));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ze(t,r),0),i=Re}else n=new Uint8Array(e.length),i=0;return n.set(ze(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function Se(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],Te(e,n[i]);return n}function ze(e,t){const n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Fe(e)^t[i],Te(e,t[i]);return n}function De(e,t){e.keys=[305419896,591751049,878082192],e.crcKey0=new J(e.keys[0]),e.crcKey2=new J(e.keys[2]);for(let n=0;n<t.length;n++)Te(e,t.charCodeAt(n))}function Te(e,t){e.crcKey0.append([t]),e.keys[0]=~e.crcKey0.get(),e.keys[1]=Oe(e.keys[1]+Ce(e.keys[0])),e.keys[1]=Oe(Math.imul(e.keys[1],134775813)+1),e.crcKey2.append([e.keys[1]>>>24]),e.keys[2]=~e.crcKey2.get()}function Fe(e){const t=2|e.keys[2];return Ce(Math.imul(t,1^t)>>>8)}function Ce(e){return 255&e}function Oe(e){return 4294967295&e}const We="inflate",Ie="Invalid signature";class Me{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o},{chunkSize:c}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e({chunkSize:c}),crc32:i&&new J,zipCrypto:a,decrypt:l&&a?new Ue(n,s):new ye(n,i,o)})}async append(e){const t=this;return t.encrypted&&e.length&&(e=await t.decrypt.append(e)),t.compressed&&e.length&&(e=await t.inflate.append(e)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),e}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.encrypted){const t=await e.decrypt.flush();if(!t.valid)throw new Error(Ie);n=t.data}if((!e.encrypted||e.zipCrypto)&&e.signed){const n=new DataView(new Uint8Array(4).buffer);if(t=e.crc32.get(),n.setUint32(0,t),e.signature!=n.getUint32(0,!1))throw new Error(Ie)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class He{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c},{chunkSize:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5,chunkSize:l}),crc32:n&&new J,zipCrypto:a,encrypt:t&&a?new Ee(s,o):new xe(s,c)})}async append(e){const t=this;let n=e;return t.compressed&&e.length&&(n=await t.deflate.append(e)),t.encrypted&&n.length&&(n=await t.encrypt.append(n)),(!t.encrypted||t.zipCrypto)&&t.signed&&e.length&&t.crc32.append(e),n}async flush(){const e=this;let t,n=new Uint8Array(0);if(e.compressed&&(n=await e.deflate.flush()||new Uint8Array(0)),e.encrypted){n=await e.encrypt.append(n);const i=await e.encrypt.flush();t=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return e.encrypted&&!e.zipCrypto||!e.signed||(t=e.crc32.get()),{data:n,signature:t}}}const Le="init",Be="append",Ne="flush",Pe="message";var je=(e,t,n,i,r,a,s)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:s,terminate(){e.worker&&!e.busy&&(e.worker.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,r(e)}}),a?function(e,t){let n;e.interface||(e.worker=new Worker(new URL(e.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-no-worker-inflate.min.js",document.baseURI).href)),e.worker.addEventListener(Pe,a,!1),e.interface={append:e=>i({type:Be,data:e}),flush:()=>i({type:Ne})});return e.interface;async function i(i){if(!n){const n=e.options,i=e.scripts.slice(1);await r({scripts:i,type:Le,options:n,config:{chunkSize:t.chunkSize}})}return r(i)}function r(t){const i=e.worker,r=new Promise(((e,t)=>n={resolve:e,reject:t}));try{if(t.data)try{t.data=t.data.buffer,i.postMessage(t,[t.data])}catch(e){i.postMessage(t)}else i.postMessage(t)}catch(t){n.reject(t),n=null,e.onTaskFinished()}return r}function a(t){const i=t.data;if(n){const t=i.error,r=i.type;if(t){const i=new Error(t.message);i.stack=t.stack,n.reject(i),n=null,e.onTaskFinished()}else if(r==Le||r==Ne||r==Be){const t=i.data;r==Ne?(n.resolve({data:new Uint8Array(t),signature:i.signature}),n=null,e.onTaskFinished()):n.resolve(t&&new Uint8Array(t))}}}}(e,i):function(e,t){const n=function(e,t,n){return t.codecType.startsWith("deflate")?new He(e,t,n):t.codecType.startsWith(We)?new Me(e,t,n):void 0}(e.codecConstructor,e.options,t);return{async append(t){try{return await n.append(t)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await n.flush()}finally{e.onTaskFinished()}}}}(e,i));let qe=[],Ve=[];function Ge(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64","compressionMethod","extraFieldNTFS","lastAccessDate","creationDate","extraFieldExtendedTimestamp","versionMadeBy","msDosCompatible","internalFileAttribute","externalFileAttribute"];class Ke{constructor(e){Ze.forEach((t=>this[t]=e[t]))}}const Xe="File format is not recognized",Ye="End of central directory not found",Je="End of Zip64 central directory not found",Qe="End of Zip64 central directory locator not found",$e="Central directory header not found",et="Local file header not found",tt="Zip64 extra field not found",nt="File contains encrypted entry",it="Encryption method not supported",rt="Compression method not supported",at="utf-8",st=["uncompressedSize","compressedSize","offset"];class ot{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,extraFieldAES:s,compressionMethod:o,config:c,bitFlag:l,signature:d,rawLastModDate:u,compressedSize:f}=i,h=i.localDirectory={};r.initialized||await r.init();let _=await xt(r,a,30);const w=yt(_);let p=ut(i,n,"password");if(p=p&&p.length&&p,s&&99!=s.originalCompressionMethod)throw new Error(rt);if(0!=o&&8!=o)throw new Error(rt);if(67324752!=bt(w,0))throw new Error(et);ct(h,w,4),_=await xt(r,a,30+h.filenameLength+h.extraFieldLength),h.rawExtraField=_.subarray(30+h.filenameLength),lt(i,h,w,4),t.lastAccessDate=h.lastAccessDate,t.creationDate=h.creationDate;const b=i.encrypted&&h.encrypted,g=b&&!s;if(b){if(!g&&void 0===s.strength)throw new Error(it);if(!p)throw new Error(nt)}const y=await function(e,t,n){const i=!(!t.compressed&&!t.signed&&!t.encrypted)&&(t.useWebWorkers||void 0===t.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[t.codecType]:[];if(qe.length<n.maxWorkers){const s={};return qe.push(s),je(s,e,t,n,a,i,r)}{const s=qe.find((e=>!e.busy));return s?(Ge(s),je(s,e,t,n,a,i,r)):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}function a(e){if(Ve.length){const[{resolve:t,codecConstructor:i,options:r,webWorker:s,scripts:o}]=Ve.splice(0,1);t(je(e,i,r,n,a,s,o))}else e.worker?(Ge(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{qe=qe.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):qe=qe.filter((t=>t!=e))}}(c.Inflate,{codecType:We,password:p,zipCrypto:g,encryptionStrength:s&&s.strength,signed:ut(i,n,"checkSignature"),passwordVerification:g&&(l.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=o,encrypted:b,useWebWorkers:ut(i,n,"useWebWorkers")},c);e.initialized||await e.init();const x=ut(i,n,"signal"),m=a+30+h.filenameLength+h.extraFieldLength;return await async function(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(c<r){A(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;A(d,e);const h=await e.append(u);if(A(d,e),l+=await R(n,h),s.onprogress)try{s.onprogress(c+f,r)}catch(e){}return a(c+o,l)}{const t=await e.flush();return l+=await R(n,t.data),{signature:t.signature,length:l}}}()}(y,r,e,m,f,c,{onprogress:n.onprogress,signal:x}),e.getData()}}function ct(e,t,n){const i=e.rawBitFlag=pt(t,n+2),r=1==(1&i),a=bt(t,n+6);Object.assign(e,{encrypted:r,version:pt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:a,lastModDate:ht(a),filenameLength:pt(t,n+22),extraFieldLength:pt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=yt(new Uint8Array(r));let o=0;try{for(;o<r.length;){const e=pt(s,o),t=pt(s,o+2);a.set(e,{type:e,data:r.slice(o+4,o+4+t)}),o+=4+t}}catch(e){}const c=pt(n,i+4);t.signature=bt(n,i+10),t.uncompressedSize=bt(n,i+18),t.compressedSize=bt(n,i+14);const l=a.get(1);l&&(!function(e,t){t.zip64=!0;const n=yt(e.data);e.values=[];for(let t=0;t<Math.floor(e.data.length/8);t++)e.values.push(gt(n,0+8*t));const i=st.filter((e=>t[e]==G));for(let t=0;t<i.length;t++)e[i[t]]=e.values[t];st.forEach((n=>{if(t[n]==G){if(void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t),t.extraFieldZip64=l);const d=a.get(28789);d&&(dt(d,"filename","rawFilename",t,e),t.extraFieldUnicodePath=d);const u=a.get(25461);u&&(dt(u,"comment","rawComment",t,e),t.extraFieldUnicodeComment=u);const f=a.get(39169);f?(!function(e,t,n){const i=yt(e.data);e.vendorVersion=wt(i,0),e.vendorId=wt(i,2);const r=wt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=pt(i,5)}(f,t,c),t.extraFieldAES=f):t.compressionMethod=c;const h=a.get(10);h&&(!function(e,t){const n=yt(e.data);let i,r=4;try{for(;r<e.data.length&&!i;){const t=pt(n,r),a=pt(n,r+2);1==t&&(i=e.data.slice(r+4,r+4+a)),r+=4+a}}catch(e){}try{if(i&&24==i.length){const n=yt(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=_t(r),c=_t(a),l={lastModDate:o,lastAccessDate:c,creationDate:_t(s)};Object.assign(e,l),Object.assign(t,l)}}catch(e){}}(h,t),t.extraFieldNTFS=h);const _=a.get(21589);_&&(!function(e,t){const n=yt(e.data),i=wt(n,0),r=[],a=[];1==(1&i)&&(r.push("lastModDate"),a.push("rawLastModDate"));2==(2&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate"));4==(4&i)&&(r.push("creationDate"),a.push("rawCreationDate"));let s=1;r.forEach(((i,r)=>{if(e.data.length>=s+4){const o=bt(n,s);t[i]=e[i]=new Date(1e3*o);const c=a[r];e[c]=o}s+=4}))}(_,t),t.extraFieldExtendedTimestamp=_)}function dt(e,t,n,i,r){const a=yt(e.data);e.version=wt(a,0),e.signature=bt(a,1);const s=new J;s.append(r[n]);const o=yt(new Uint8Array(4));o.setUint32(0,s.get(),!0),e[t]=(new TextDecoder).decode(e.data.subarray(5)),e.valid=!r.bitFlag.languageEncodingFlag&&e.signature==bt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ut(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function ft(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n<e.length;n++)t+=X[e[n]];return t})(e)}function ht(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 _t(e){return new Date(Number(e/10000n-11644473600000n))}function wt(e,t){return e.getUint8(t)}function pt(e,t){return e.getUint16(t,!0)}function bt(e,t){return e.getUint32(t,!0)}function gt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function xt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(e){const t=new y,n=e&&e.chunkSize?Math.floor(2*e.chunkSize):131072,r=new Uint8Array(n);let a=!1;t.inflateInit(),t.next_out=r,this.append=function(e,s){const o=[];let c,l,d=0,u=0,f=0;if(0!==e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,0!==t.avail_in||a||(t.next_in_index=0,a=!0),c=t.inflate(0),a&&c===i){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==c&&1!==c)throw new Error("inflating: "+t.msg);if((a||1===c)&&t.avail_in===e.length)throw new Error("inflating: bad input");t.next_out_index&&(t.next_out_index===n?o.push(new Uint8Array(r)):o.push(r.slice(0,t.next_out_index))),f+=t.next_out_index,s&&t.next_in_index>0&&t.next_in_index!=d&&(s(t.next_in_index),d=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o.length>1?(l=new Uint8Array(f),o.forEach((function(e){l.set(e,u),u+=e.length}))):l=o[0]||new Uint8Array(0),l}},this.flush=function(){t.inflateEnd()}}}),e.BlobReader=M,e.BlobWriter=class extends I{constructor(e){super(),this.offset=0,this.contentType=e,this.blob=new Blob([],{type:e})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}},e.Data64URIReader=class extends W{constructor(e){super(),this.dataURI=e;let t=e.length;for(;"="==e.charAt(t-1);)t--;this.dataStart=e.indexOf(",")+1,this.size=Math.floor(.75*(t-this.dataStart))}async readUint8Array(e,t){const n=new Uint8Array(t),i=4*Math.floor(e/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((e+t)/3)+this.dataStart)),a=e-3*Math.floor(i/4);for(let e=a;e<a+t;e++)n[e-a]=r.charCodeAt(e);return n}},e.Data64URIWriter=class extends I{constructor(e){super(),this.data="data:"+(e||"")+";base64,",this.pending=[]}async writeUint8Array(e){super.writeUint8Array(e);let t=0,n=this.pending;const i=this.pending.length;for(this.pending="",t=0;t<3*Math.floor((i+e.length)/3)-i;t++)n+=String.fromCharCode(e[t]);for(;t<e.length;t++)this.pending+=String.fromCharCode(e[t]);n.length>2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=v,e.ERR_BAD_FORMAT=Xe,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=$e,e.ERR_ENCRYPTED=nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Qe,e.ERR_EOCDR_NOT_FOUND=Ye,e.ERR_EOCDR_ZIP64_NOT_FOUND=Je,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=tt,e.ERR_HTTP_RANGE=E,e.ERR_INVALID_PASSWORD=re,e.ERR_INVALID_SIGNATURE=Ie,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=et,e.ERR_UNSUPPORTED_COMPRESSION=rt,e.ERR_UNSUPPORTED_ENCRYPTION=it,e.HttpRangeReader=class extends q{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=q,e.Reader=W,e.TextReader=class extends W{constructor(e){super(),this.blobReader=new M(new Blob([e],{type:S}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}},e.TextWriter=class extends I{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:S})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:S})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=()=>n(e.error),e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends W{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends I{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(e){super.writeUint8Array(e);const t=this.array;this.array=new Uint8Array(t.length+e.length),this.array.set(t),this.array.set(e,t.length)}getData(){return this.array}},e.Writer=I,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:m})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Xe);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(yt(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 xt(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,22,1048560);if(!i)throw new Error(Ye);const r=yt(i);let a=bt(r,12),s=bt(r,16),o=pt(r,8),c=0;if(s==G||65535==o){const e=yt(await xt(n,i.offset-20,20));if(117853008!=bt(e,0))throw new Error(Je);s=gt(e,8);let t=await xt(n,s,56),r=yt(t);const l=i.offset-20-56;if(bt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await xt(n,s,56),r=yt(t)}if(bt(r,0)!=K)throw new Error(Qe);o=gt(r,24),a=bt(e,4),s-=gt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await xt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(bt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await xt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;i<o;i++){const r=new ot(n,t.config,t.options);if(bt(u,l)!=Z)throw new Error($e);ct(r,u,l+6);const a=Boolean(r.bitFlag.languageEncodingFlag),s=l+46,f=s+r.filenameLength,_=f+r.extraFieldLength,w=pt(u,l+4),p=0==(0&w);Object.assign(r,{versionMadeBy:w,msDosCompatible:p,compressedSize:0,uncompressedSize:0,commentLength:pt(u,l+32),directory:p&&16==(16&wt(u,l+38)),offset:bt(u,l+42)+c,internalFileAttribute:bt(u,l+34),externalFileAttribute:bt(u,l+38),rawFilename:d.subarray(s,f),filenameUTF8:a,commentUTF8:a,rawExtraField:d.subarray(f,_)});const b=_+r.commentLength;r.rawComment=d.subarray(_,b),r.filename=ft(r.rawFilename,r.filenameUTF8?at:ut(t,e,"filenameEncoding")),r.comment=ft(r.rawComment,r.commentUTF8?at:ut(t,e,"commentEncoding")),!r.directory&&r.filename.endsWith("/")&&(r.directory=!0),lt(r,r,u,l+6);const g=new Ke(r);if(g.getData=(e,t)=>r.getData(e,g,t),h.push(g),l=b,e.onprogress)try{e.onprogress(i+1,o,new Ke(r))}catch(e){}}return h}async close(){}},e.configure=k,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})}));

@@ -140,2 +140,6 @@ declare module "@zip.js/zip.js" {

zip64: boolean;
versionMadeBy: number;
msDosCompatible: boolean;
internalFileAttribute: number;
externalFileAttribute: number;
getData?(writer: Writer, options?: OnprogressEntryDataOption | ZipReaderOptions): Promise<any>;

@@ -166,2 +170,3 @@ }

creationDate?: Date;
extendedTimestamp?: boolean;
}

@@ -168,0 +173,0 @@

@@ -36,3 +36,4 @@ /*

"extraFieldAES", "filenameUTF8", "commentUTF8", "offset", "zip64", "compressionMethod",
"extraFieldNTFS", "lastAccessDate", "creationDate", "extraFieldExtendedTimestamp"];
"extraFieldNTFS", "lastAccessDate", "creationDate", "extraFieldExtendedTimestamp",
"versionMadeBy", "msDosCompatible", "internalFileAttribute", "externalFileAttribute"];

@@ -39,0 +40,0 @@ export default class Entry {

@@ -161,8 +161,14 @@ /*

const commentOffset = extraFieldOffset + fileEntry.extraFieldLength;
const versionMadeBy = getUint16(directoryView, offset + 4);
const msDosCompatible = (versionMadeBy & 0) == 0;
Object.assign(fileEntry, {
versionMadeBy,
msDosCompatible,
compressedSize: 0,
uncompressedSize: 0,
commentLength: getUint16(directoryView, offset + 32),
directory: (getUint8(directoryView, offset + 38) & FILE_ATTR_MSDOS_DIR_MASK) == FILE_ATTR_MSDOS_DIR_MASK,
directory: msDosCompatible && ((getUint8(directoryView, offset + 38) & FILE_ATTR_MSDOS_DIR_MASK) == FILE_ATTR_MSDOS_DIR_MASK),
offset: getUint32(directoryView, offset + 42) + prependedDataLength,
internalFileAttribute: getUint32(directoryView, offset + 34),
externalFileAttribute: getUint32(directoryView, offset + 38),
rawFilename: directoryArray.subarray(filenameOffset, extraFieldOffset),

@@ -169,0 +175,0 @@ filenameUTF8: languageEncodingFlag,

@@ -190,2 +190,6 @@ /*

}
let extendedTimestamp = getOptionValue(zipWriter, options, "extendedTimestamp");
if (extendedTimestamp === undefined) {
extendedTimestamp = true;
}
let maximumCompressedSize = 0;

@@ -237,2 +241,3 @@ let keepOrder = getOptionValue(zipWriter, options, "keepOrder");

encryptionStrength,
extendedTimestamp,
zipCrypto,

@@ -358,3 +363,4 @@ bufferedWrite,

signal,
encryptionStrength
encryptionStrength,
extendedTimestamp
} = options;

@@ -373,29 +379,34 @@ const encrypted = Boolean(password && password.length);

}
const rawExtraFieldExtendedTimestamp = new Uint8Array(9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0));
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp);
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4);
const extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0);
setUint8(extraFieldExtendedTimestampView, 4, extraFieldExtendedTimestampFlag);
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(options.lastModDate.getTime() / 1000));
if (lastAccessDate) {
setUint32(extraFieldExtendedTimestampView, 9, Math.floor(lastAccessDate.getTime() / 1000));
}
if (creationDate) {
setUint32(extraFieldExtendedTimestampView, 13, Math.floor(creationDate.getTime() / 1000));
}
let rawExtraFieldNTFS;
try {
rawExtraFieldNTFS = new Uint8Array(36);
const extraFieldNTFSView = getDataView(rawExtraFieldNTFS);
const lastModTimeNTFS = getTimeNTFS(options.lastModDate);
setUint16(extraFieldNTFSView, 0, EXTRAFIELD_TYPE_NTFS);
setUint16(extraFieldNTFSView, 2, 32);
setUint16(extraFieldNTFSView, 8, EXTRAFIELD_TYPE_NTFS_TAG1);
setUint16(extraFieldNTFSView, 10, 24);
setBigUint64(extraFieldNTFSView, 12, lastModTimeNTFS);
setBigUint64(extraFieldNTFSView, 20, getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
setBigUint64(extraFieldNTFSView, 28, getTimeNTFS(creationDate) || lastModTimeNTFS);
} catch (error) {
rawExtraFieldNTFS = new Uint8Array(0);
let rawExtraFieldExtendedTimestamp;
if (extendedTimestamp) {
rawExtraFieldExtendedTimestamp = new Uint8Array(9 + (lastAccessDate ? 4 : 0) + (creationDate ? 4 : 0));
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp);
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4);
const extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x4 : 0);
setUint8(extraFieldExtendedTimestampView, 4, extraFieldExtendedTimestampFlag);
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(options.lastModDate.getTime() / 1000));
if (lastAccessDate) {
setUint32(extraFieldExtendedTimestampView, 9, Math.floor(lastAccessDate.getTime() / 1000));
}
if (creationDate) {
setUint32(extraFieldExtendedTimestampView, 13, Math.floor(creationDate.getTime() / 1000));
}
try {
rawExtraFieldNTFS = new Uint8Array(36);
const extraFieldNTFSView = getDataView(rawExtraFieldNTFS);
const lastModTimeNTFS = getTimeNTFS(options.lastModDate);
setUint16(extraFieldNTFSView, 0, EXTRAFIELD_TYPE_NTFS);
setUint16(extraFieldNTFSView, 2, 32);
setUint16(extraFieldNTFSView, 8, EXTRAFIELD_TYPE_NTFS_TAG1);
setUint16(extraFieldNTFSView, 10, 24);
setBigUint64(extraFieldNTFSView, 12, lastModTimeNTFS);
setBigUint64(extraFieldNTFSView, 20, getTimeNTFS(lastAccessDate) || lastModTimeNTFS);
setBigUint64(extraFieldNTFSView, 28, getTimeNTFS(creationDate) || lastModTimeNTFS);
} catch (error) {
rawExtraFieldNTFS = new Uint8Array(0);
}
} else {
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(0);
}

@@ -414,3 +425,4 @@ const fileEntry = {

rawExtraFieldAES,
rawExtraField
rawExtraField,
extendedTimestamp
};

@@ -578,3 +590,2 @@ let uncompressedSize = fileEntry.uncompressedSize = 0;

rawExtraFieldZip64,
rawExtraFieldNTFS,
rawExtraFieldAES,

@@ -588,8 +599,15 @@ rawExtraField,

} = fileEntry;
const rawExtraFieldExtendedTimestamp = new Uint8Array(9);
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp);
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4);
setUint8(extraFieldExtendedTimestampView, 4, 0x1);
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(fileEntry.lastModDate.getTime() / 1000));
let rawExtraFieldExtendedTimestamp;
let rawExtraFieldNTFS;
if (fileEntry.extendedTimestamp) {
rawExtraFieldNTFS = fileEntry.rawExtraFieldNTFS;
rawExtraFieldExtendedTimestamp = new Uint8Array(9);
const extraFieldExtendedTimestampView = getDataView(rawExtraFieldExtendedTimestamp);
setUint16(extraFieldExtendedTimestampView, 0, EXTRAFIELD_TYPE_EXTENDED_TIMESTAMP);
setUint16(extraFieldExtendedTimestampView, 2, rawExtraFieldExtendedTimestamp.length - 4);
setUint8(extraFieldExtendedTimestampView, 4, 0x1);
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(fileEntry.lastModDate.getTime() / 1000));
} else {
rawExtraFieldNTFS = rawExtraFieldExtendedTimestamp = new Uint8Array(0);
}
const extraFieldLength = rawExtraFieldZip64.length + rawExtraFieldAES.length + rawExtraFieldExtendedTimestamp.length + rawExtraFieldNTFS.length + rawExtraField.length;

@@ -596,0 +614,0 @@ setUint32(directoryView, offset, CENTRAL_FILE_HEADER_SIGNATURE);

@@ -6,3 +6,3 @@ {

"license": "BSD-3-Clause",
"version": "2.3.2",
"version": "2.3.3",
"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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc