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.2.45 to 2.3.0

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,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,E,U,v,R,z,S,T,F,W,D,I,B,C,M,H,O,P,j,L,N,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 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,I-T,e),T=I,s.flush_pending()}function _e(){let e,t,n,r;do{if(r=A-C-I,0===r&&0===I&&0===C)r=_;else if(-1==r)r--;else if(I>=_+_-w){x.set(x.subarray(_,_+_),0),B-=_,I-=_,T-=_,e=v,n=e;do{t=65535&E[--n],E[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+C,r),C+=e,C>=3&&(U=255&x[I],U=(U<<S^255&x[I+1])&z)}while(C<w&&0!==s.avail_in)}function me(e){let t,n,r=H,i=I,s=M;const a=I>_-w?I-(_-w):0;let o=N;const c=b,l=I+p;let d=x[i+s-1],u=x[i+s];M>=L&&(r>>=2),o>C&&(o=C);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(B=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<=C?s:C}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*_,E[v-1]=0;for(let e=0;e<v-1;e++)E[e]=0;O=d[P].max_lazy,L=d[P].good_length,N=d[P].nice_length,H=d[P].max_chain,I=0,T=0,C=0,F=M=2,D=0,U=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,R=a+7,v=1<<R,z=v-1,S=Math.floor((R+3-1)/3),x=new Uint8Array(2*_),k=[],E=[],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,E=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,L=d[P].good_length,N=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),I=s,T=s,U=255&x[0],U=(U<<S^255&x[1])&z,i=0;i<=s-3;i++)U=(U<<S^255&x[i+2])&z,k[i&b]=E[U],E[U]=i;return 0},e.deflate=function(t,o){let p,g,A,R,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 L;if(s=t,R=y,y=o,42==a&&(g=8+(m-8<<4)<<8,A=(P-1&255)>>1,A>3&&(A=3),g|=A<<6,0!==I&&(g|=32),g+=31-g%31,a=h,ae((L=g)>>8&255),ae(255&L)),0!==e.pending){if(s.flush_pending(),0===s.avail_out)return y=-1,0}else if(0===s.avail_in&&o<=R&&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!==C||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(C<=1){if(_e(),0===C&&0==e)return 0;if(0===C)break}if(I+=C,C=0,t=T+n,(0===I||I>=t)&&(C=I-t,I=t,ye(!1),0===s.avail_out))return 0;if(I-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(C<w){if(_e(),C<w&&0==e)return 0;if(0===C)break}if(C>=3&&(U=(U<<S^255&x[I+2])&z,n=65535&E[U],k[I&b]=E[U],E[U]=I),0!==n&&(I-n&65535)<=_-w&&2!=j&&(F=me(n)),F>=3)if(t=he(I-B,F-3),C-=F,F<=O&&C>=3){F--;do{I++,U=(U<<S^255&x[I+2])&z,n=65535&E[U],k[I&b]=E[U],E[U]=I}while(0!=--F);I++}else I+=F,F=0,U=255&x[I],U=(U<<S^255&x[I+1])&z;else t=he(0,255&x[I]),C--,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(C<w){if(_e(),C<w&&0==e)return 0;if(0===C)break}if(C>=3&&(U=(U<<S^255&x[I+2])&z,r=65535&E[U],k[I&b]=E[U],E[U]=I),M=F,W=B,F=2,0!==r&&M<O&&(I-r&65535)<=_-w&&(2!=j&&(F=me(r)),F<=5&&(1==j||3==F&&I-B>4096)&&(F=2)),M>=3&&F<=M){n=I+C-3,t=he(I-1-W,M-3),C-=M-1,M-=2;do{++I<=n&&(U=(U<<S^255&x[I+2])&z,r=65535&E[U],k[I&b]=E[U],E[U]=I)}while(0!=--M);if(D=0,F=2,I++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==D){if(t=he(0,255&x[I-1]),t&&ye(!1),I++,C--,0===s.avail_out)return 0}else D=1,I++,C--}return 0!==D&&(t=he(0,255&x[I-1]),D=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<v;p++)E[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",E="text/plain",U="Content-Length",v="Accept-Ranges",R="HEAD",z="GET",S="bytes";class T{constructor(){this.size=0}init(){this.initialized=!0}}class F extends T{}class W extends T{writeUint8Array(e){this.size+=e.length}}class D extends F{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 W{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 B extends F{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(),L(this.url)&&!this.preventHeadRequest){const e=await M(R,this.url,this.options);if(this.size=Number(e.headers.get(U)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(v)!=S)throw new Error(k);void 0===this.size&&await C(this,this.options)}else await C(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await M(z,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 C(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function C(e,t){const n=await M(z,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function M(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 F{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),L(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>P(R,this.url,(n=>{this.size=Number(n.getResponseHeader(U)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(v)==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(z,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(z,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 F{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new H(e,t):this.reader=new B(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 L(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 N=4294967295,V=65535,q=67324752,K=134695760,G=33639248,Z=101010256,X=101075792,Y=117853008,J="/",Q=new Date(2107,11,31),$=new Date(1980,0,1),ee=[];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;ee[e]=t}class te{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^ee[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const ne={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=ne.getPartial(n);return 32===r?e.concat(t):ne._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)+ne.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]=ne.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=ne.getPartial(i);return r.push(ne.partial(t+s&31,t+s>32?n:r.pop(),1)),r}},re={bytes:{fromBits(e){const t=ne.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(ne.partial(8*(3&n),r)),t}}},ie={sha1:function(e){e?(this._h=e._h.slice(0),this._buffer=e._buffer.slice(0),this._length=e._length):this.reset()}};ie.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=re.utf8String.toBits(e));const n=t._buffer=ne.concat(t._buffer,e),r=t._length,i=t._length=r+ne.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=ne.concat(t,[ne.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 se={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}}},ae={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=ne.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 ne.clamp(t,i)}}},oe={hmacSha1:class{constructor(e){const t=this,n=t._hash=ie.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}}},ce="Invalid pasword",le=16,de={name:"PBKDF2"},ue=Object.assign({hash:{name:"HMAC"}},de),he=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},de),fe=["deriveBits"],pe=[8,12,16],we=[16,24,32],ge=10,ye=[0,0,0,0],_e=crypto.subtle,me=re.bytes,be=se.aes,xe=ae.ctrGladman,Ae=oe.hmacSha1;class ke{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=ze(e,0,pe[t.strength]+2);await async function(e,t,n){await ve(e,n,ze(t,0,pe[e.strength]));const r=ze(t,pe[e.strength]),i=e.keys.passwordVerification;if(i[0]!=r[0]||i[1]!=r[1])throw new Error(ce)}(t,n,t.password),t.password=null,t.aesCtrGladman=new xe(new be(t.keys.key),Array.from(ye)),t.hmac=new Ae(t.keys.authentication),e=ze(e,pe[t.strength]+2)}return Ue(t,e,new Uint8Array(e.length-ge-(e.length-ge)%le),0,ge,!0)}async flush(){const e=this,t=e.pendingInput,n=ze(t,0,t.length-ge),r=ze(t,t.length-ge);let i=new Uint8Array(0);if(n.length){const t=me.toBits(n);e.hmac.update(t);const r=e.aesCtrGladman.update(t);i=me.fromBits(r)}let s=!0;if(e.signed){const t=ze(me.fromBits(e.hmac.digest()),0,ge);for(let e=0;e<ge;e++)t[e]!=r[e]&&(s=!1)}return{valid:s,data:i}}}class Ee{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(pe[e.strength]));return await ve(e,t,n),Re(n,e.keys.passwordVerification)}(t,t.password),t.password=null,t.aesCtrGladman=new xe(new be(t.keys.key),Array.from(ye)),t.hmac=new Ae(t.keys.authentication));const r=new Uint8Array(n.length+e.length-e.length%le);return r.set(n,0),Ue(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(me.toBits(e.pendingInput));e.hmac.update(n),t=me.fromBits(n)}const n=ze(me.fromBits(e.hmac.digest()),0,ge);return{data:Re(t,n),signature:n}}}function Ue(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%le)),o=0;o<=a-le;o+=le){const i=me.toBits(ze(t,o,o+le));s&&e.hmac.update(i);const a=e.aesCtrGladman.update(i);s||e.hmac.update(a),n.set(me.fromBits(a),o+r)}return e.pendingInput=ze(t,o),n}async function ve(e,t,n){const r=(new TextEncoder).encode(t),i=await _e.importKey("raw",r,ue,!1,fe),s=await _e.deriveBits(Object.assign({salt:n},he),i,8*(2*we[e.strength]+2)),a=new Uint8Array(s);e.keys={key:me.toBits(ze(a,0,we[e.strength])),authentication:me.toBits(ze(a,we[e.strength],2*we[e.strength])),passwordVerification:ze(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 ze(e,t,n){return e.subarray(t,n)}const Se=12;class Te{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,Se));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(ce);e=e.subarray(Se)}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(Se));i[11]=t.passwordVerification,n=new Uint8Array(e.length+i.length),n.set(De(t,i),0),r=Se}else n=new Uint8Array(e.length),r=0;return n.set(De(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 De(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 te(e.keys[0]),e.crcKey2=new te(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]=He(e.keys[1]+Me(e.keys[0])),e.keys[1]=He(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 Me(Math.imul(t,1^t)>>>8)}function Me(e){return 255&e}function He(e){return 4294967295&e}const Oe="deflate",Pe="Invalid signature";class je{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 te,zipCrypto:s,decrypt:l&&s?new Te(n,a):new ke(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(Pe);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(Pe)}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 te,zipCrypto:s,encrypt:t&&s?new Fe(a,o):new Ee(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 Ne="init",Ve="append",qe="flush",Ke="message";var Ge=(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(Ke,s,!1),e.interface={append:e=>r({type:Ve,data:e}),flush:()=>r({type:qe})});return e.interface;async function r(r){if(!n){const n=e.options,r=e.scripts.slice(1);await i({scripts:r,type:Ne,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==Ne||i==qe||i==Ve){const t=r.data;i==qe?(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(Oe)?new Le(e,t,n):t.codecType.startsWith("inflate")?new je(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 Ze=[],Xe=[];function Ye(e){e.terminateTimeout&&(clearTimeout(e.terminateTimeout),e.terminateTimeout=null)}function Je(e,t){if(e&&e.aborted)throw t.flush(),new Error("Abort error")}async function Qe(e,t){return t.length&&await e.writeUint8Array(t),t.length}const $e=["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 et{constructor(e){$e.forEach((t=>this[t]=e[t]))}}const tt="File already exists",nt="Zip file comment exceeds 64KB",rt="File entry comment exceeds 64KB",it="File entry name exceeds 64KB",st="Version exceeds 65535",at="The modification date must be between 1/1/1980 and 12/31/2107",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,t,n){return void 0===t[n]?e.options[n]:t[n]}function wt(e,t,n){e.setUint8(t,n)}function gt(e,t,n){e.setUint16(t,n,!0)}function yt(e,t,n){e.setUint32(t,n,!0)}function _t(e,t,n){e.setBigUint64(t,n,!0)}function mt(e,t,n){e.set(t,n)}function bt(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=D,e.BlobWriter=I,e.Data64URIReader=class extends F{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 W{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=tt,e.ERR_HTTP_RANGE=k,e.ERR_INVALID_COMMENT=nt,e.ERR_INVALID_DATE=at,e.ERR_INVALID_ENCRYPTION_STRENGTH=ot,e.ERR_INVALID_ENTRY_COMMENT=rt,e.ERR_INVALID_ENTRY_NAME=it,e.ERR_INVALID_EXTRAFIELD_DATA=lt,e.ERR_INVALID_EXTRAFIELD_TYPE=ct,e.ERR_INVALID_VERSION=st,e.ERR_UNSUPPORTED_FORMAT=dt,e.HttpRangeReader=class extends j{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=j,e.Reader=F,e.TextReader=class extends F{constructor(e){super(),this.blobReader=new D(new Blob([e],{type:E}))}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 W{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:E})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:E})}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 F{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 W{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=W,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(J)?t+=J:r.directory=t.endsWith(J);if(e.files.has(t))throw new Error(tt);const i=(new TextEncoder).encode(t);if(i.length>V)throw new Error(it);const s=r.comment||"",a=(new TextEncoder).encode(s);if(a.length>V)throw new Error(rt);const o=e.options.version||r.version||0;if(o>V)throw new Error(st);const c=pt(e,r,"lastModDate")||new Date;if(c<$||c>Q)throw new Error(at);const l=pt(e,r,"password"),d=pt(e,r,"encryptionStrength")||3,u=pt(e,r,"zipCrypto");if(void 0!==l&&void 0!==d&&(d<1||d>3))throw new Error(ot);let h=new Uint8Array(0);const f=r.extraField;if(f){let e=0,t=0;f.forEach((t=>e+=4+t.length)),h=new Uint8Array(e),f.forEach(((e,n)=>{if(n>V)throw new Error(ct);if(e.length>V)throw new Error(lt);mt(h,new Uint16Array([n]),t),mt(h,new Uint16Array([e.length]),t+2),mt(h,e,t+4),t+=4+e.length}))}let p=0,w=pt(e,r,"keepOrder");void 0===w&&(w=!0);let g=0;n&&(n.initialized||await n.init(),g=n.size,p=function(e){return e+5*(Math.floor(e/16383)+1)}(g));let y=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=N||g>=N||p>=N){if(!1===r.zip64||!1===e.options.zip64||!w)throw new Error(dt);y=!0}e.pendingCompressedSize+=p,await Promise.resolve();const _=pt(e,r,"level"),m=pt(e,r,"useWebWorkers"),b=pt(e,r,"bufferedWrite");let x=pt(e,r,"dataDescriptor");const A=pt(e,r,"signal");void 0===x&&(x=!0);const k=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,lastModDate:s,password:a,level:o,zip64:c,zipCrypto:l,dataDescriptor:d,directory:u,version:h,rawComment:f,rawExtraField:p,useWebWorkers:w,onprogress:g,signal:y,encryptionStrength:_}=r,m=Boolean(a&&a.length),b=0!==o&&!u;let x;if(m&&!l){x=new Uint8Array(ut.length+2);const e=bt(x);gt(e,0,39169),mt(x,ut,2),wt(e,8,_)}else x=new Uint8Array(0);const A=new Uint8Array(9),k=bt(A);gt(k,0,21589),gt(k,2,A.length-4),wt(k,4,1),yt(k,5,Math.floor(s.getTime()/1e3));const E={version:h||20,zip64:c,directory:Boolean(u),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:f,rawExtraFieldZip64:c?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:x,rawExtraFieldExtendedTimestamp:A,rawExtraField:p};let U=E.uncompressedSize=0,v=2048;d&&(v|=8);let R=0;b&&(R=8);c&&(E.version=E.version>45?E.version:45);m&&(v|=1,l||(E.version=E.version>51?E.version:51,R=99,b&&(E.rawExtraFieldAES[9]=8)));E.compressionMethod=R;const z=E.headerArray=new Uint8Array(26),S=bt(z);gt(S,0,E.version),gt(S,2,v),gt(S,4,R);const T=new Uint32Array(1),F=bt(T);gt(F,0,(s.getHours()<<6|s.getMinutes())<<5|s.getSeconds()/2),gt(F,2,(s.getFullYear()-1980<<4|s.getMonth()+1)<<5|s.getDate());const W=T[0];yt(S,6,W),gt(S,22,i.length),gt(S,24,x.length+A.length+E.rawExtraField.length);const D=new Uint8Array(30+i.length+x.length+A.length+E.rawExtraField.length);let I;yt(bt(D),0,q),mt(D,z,4),mt(D,i,30),mt(D,x,30+i.length),mt(D,A,30+i.length+x.length),mt(D,E.rawExtraField,30+i.length+x.length+A.length);let B=0;if(e){U=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(Ze.length<n.maxWorkers){const a={};return Ze.push(a),Ge(a,e,t,n,s,r,i)}{const a=Ze.find((e=>!e.busy));return a?(Ye(a),Ge(a,e,t,n,s,r,i)):new Promise((n=>Xe.push({resolve:n,codecConstructor:e,options:t,webWorker:r,scripts:i})))}function s(e){if(Xe.length){const[{resolve:t,codecConstructor:r,options:i,webWorker:a,scripts:o}]=Xe.splice(0,1);t(Ge(e,r,i,n,s,a,o))}else e.worker?(Ye(e),Number.isFinite(n.terminateWorkerTimeout)&&n.terminateWorkerTimeout>=0&&(e.terminateTimeout=setTimeout((()=>{Ze=Ze.filter((t=>t!=e)),e.terminate()}),n.terminateWorkerTimeout))):Ze=Ze.filter((t=>t!=e))}}(n.Deflate,{codecType:Oe,level:o,password:a,encryptionStrength:_,zipCrypto:m&&l,passwordVerification:m&&l&&W>>8&255,signed:!0,compressed:b,encrypted:m,useWebWorkers:w},n);await t.writeUint8Array(D),E.dataWritten=!0,I=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){Je(d,e);const u=await t.readUint8Array(c+r,Math.min(o,i-c)),h=u.length;Je(d,e);const f=await e.append(u);if(Je(d,e),l+=await Qe(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 Qe(n,t.data),{signature:t.signature,length:l}}}()}(r,e,t,0,U,n,{onprogress:g,signal:y}),B=I.length}else await t.writeUint8Array(D),E.dataWritten=!0;let C,M=new Uint8Array(0);d&&(M=new Uint8Array(c?24:16),C=bt(M),yt(C,0,K));if(e){const e=I.signature;if(m&&!l||void 0===e||(yt(S,10,e),E.signature=e,d&&yt(C,4,e)),c){const e=bt(E.rawExtraFieldZip64);gt(e,0,1),gt(e,2,24),yt(S,14,N),_t(e,12,BigInt(B)),yt(S,18,N),_t(e,4,BigInt(U)),d&&(_t(C,8,BigInt(B)),_t(C,16,BigInt(U)))}else yt(S,14,B),yt(S,18,U),d&&(yt(C,8,B),yt(C,12,U))}d&&await t.writeUint8Array(M);const H=D.length+B+M.length;return Object.assign(E,{compressedSize:B,lastModDate:s,rawLastModDate:W,encrypted:m,length:H}),E}(n,h,e.config,r),d.lock=f,i.set(t,d),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||yt(a,14,d.signature),d.zip64?(yt(a,18,N),yt(a,22,N)):(yt(a,18,d.compressedSize),yt(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){_t(bt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=N)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,rawExtraField:h,zip64:y,password:l,level:_,useWebWorkers:m,encryptionStrength:d,zipCrypto:u,bufferedWrite:b,keepOrder:w,dataDescriptor:x,signal:A}));p&&(e.pendingCompressedSize-=p);return Object.assign(k,{name:t,comment:s,extraField:f}),new et(k)}(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.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=N||a>=N||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=bt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(nt);gt(u,s+20,t.length)}for(const[e,t]of Array.from(i.values()).entries()){const{rawFilename:r,rawExtraFieldZip64:a,rawExtraFieldAES:o,rawExtraFieldExtendedTimestamp:c,rawExtraField:l,rawComment:h,version:f,headerArray:p,directory:w,zip64:g}=t,y=a.length+o.length+c.length+l.length;if(yt(u,s,G),gt(u,s+4,f),mt(d,p,s+6),gt(u,s+30,y),gt(u,s+32,h.length),w&&wt(u,s+38,16),yt(u,s+42,g?N:t.offset),mt(d,r,s+46),mt(d,a,s+46+r.length),mt(d,o,s+46+r.length+a.length),mt(d,c,s+46+r.length+a.length+o.length),mt(d,l,s+46+r.length+a.length+o.length+c.length),mt(d,h,s+46+r.length+y),s+=46+r.length+y+h.length,n.onprogress)try{n.onprogress(e+1,i.size,new et(t))}catch(e){}}l&&(yt(u,s,X),_t(u,s+4,BigInt(44)),gt(u,s+12,45),gt(u,s+14,45),_t(u,s+24,BigInt(c)),_t(u,s+32,BigInt(c)),_t(u,s+40,BigInt(a)),_t(u,s+48,BigInt(o)),yt(u,s+56,Y),_t(u,s+64,BigInt(o)+BigInt(a)),yt(u,s+72,1),c=V,o=N,a=N,s+=76);yt(u,s,Z),gt(u,s+8,c),gt(u,s+10,c),yt(u,s+12,a),yt(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,W,F,I,M,B,C,H,O,P,j,L,N,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 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,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>=_+_-w){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<w&&0!==s.avail_in)}function me(e){let t,n,r=H,i=I,s=C;const a=I>_-w?I-(_-w):0;let o=N;const c=b,l=I+p;let d=x[i+s-1],u=x[i+s];C>=L&&(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,L=d[P].good_length,N=d[P].nice_length,H=d[P].max_chain,I=0,T=0,B=0,D=C=2,F=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,L=d[P].good_length,N=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),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,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 L;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!==I&&(g|=32),g+=31-g%31,a=h,ae((L=g)>>8&255),ae(255&L)),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>=_-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[I+2])&R,n=65535&U[v],k[I&b]=U[v],U[v]=I),0!==n&&(I-n&65535)<=_-w&&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<w){if(_e(),B<w&&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,W=M,D=2,0!==r&&C<O&&(I-r&65535)<=_-w&&(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-W,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(F=0,D=2,I++,t&&(ye(!1),0===s.avail_out))return 0}else if(0!==F){if(t=he(0,255&x[I-1]),t&&ye(!1),I++,B--,0===s.avail_out)return 0}else F=1,I++,B--}return 0!==F&&(t=he(0,255&x[I-1]),F=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 W extends T{writeUint8Array(e){this.size+=e.length}}class F 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 W{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(),L(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(),L(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 L(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 N=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}),Me(this,e)}async append(e){const t=this;if(t.password){const n=Fe(t,e.subarray(0,Te));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(le);e=e.subarray(Te)}return Fe(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class We{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 Fe(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 Le{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 Ne{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 We(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 Ne(e,t,n):t.codecType.startsWith("inflate")?new Le(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,t,n){return void 0===t[n]?e.options[n]:t[n]}function wt(e,t,n){e.setUint8(t,n)}function gt(e,t,n){e.setUint16(t,n,!0)}function yt(e,t,n){e.setUint32(t,n,!0)}function _t(e,t,n){e.setBigUint64(t,n,!0)}function mt(e,t,n){e.set(t,n)}function bt(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=F,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 W{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 F(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 W{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 W{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=W,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=pt(e,r,"lastModDate")||new Date,l=pt(e,r,"lastAccessDate"),d=pt(e,r,"creationDate"),u=pt(e,r,"password"),h=pt(e,r,"encryptionStrength")||3,f=pt(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);mt(p,new Uint16Array([n]),t),mt(p,new Uint16Array([e.length]),t+2),mt(p,e,t+4),t+=4+e.length}))}let g=0,y=pt(e,r,"keepOrder");void 0===y&&(y=!0);let _=0;n&&(n.initialized||await n.init(),_=n.size,g=function(e){return e+5*(Math.floor(e/16383)+1)}(_));let m=r.zip64||e.options.zip64||!1;if(e.offset+e.pendingCompressedSize>=N||_>=N||g>=N){if(!1===r.zip64||!1===e.options.zip64||!y)throw new Error(dt);m=!0}e.pendingCompressedSize+=g,await Promise.resolve();const b=pt(e,r,"level"),x=pt(e,r,"useWebWorkers"),A=pt(e,r,"bufferedWrite");let k=pt(e,r,"dataDescriptor");const U=pt(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:w,useWebWorkers:g,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=bt(A);gt(e,0,39169),mt(A,ut,2),wt(e,8,m)}else A=new Uint8Array(0);const k=new Uint8Array(9+(s?4:0)+(a?4:0)),U=bt(k);gt(U,0,J),gt(U,2,k.length-4);wt(U,4,1+(s?2:0)+(a?5:0)),yt(U,5,Math.floor(r.lastModDate.getTime()/1e3)),s&&yt(U,9,Math.floor(s.getTime()/1e3));a&&yt(U,13,Math.floor(a.getTime()/1e3));const v={version:f||20,zip64:l,directory:Boolean(h),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:A,rawExtraField:w};let E=v.uncompressedSize=0,z=2048;u&&(z|=8);let R=0;x&&(R=8);l&&(v.version=v.version>45?v.version:45);b&&(z|=1,d||(v.version=v.version>51?v.version:51,R=99,x&&(v.rawExtraFieldAES[9]=8)));v.compressionMethod=R;const S=v.headerArray=new Uint8Array(26),T=bt(S);gt(T,0,v.version),gt(T,2,z),gt(T,4,R);const D=new Uint32Array(1),W=bt(D);let F;F=r.lastModDate<ee?ee:r.lastModDate>$?$:r.lastModDate;gt(W,0,(F.getHours()<<6|F.getMinutes())<<5|F.getSeconds()/2),gt(W,2,(F.getFullYear()-1980<<4|F.getMonth()+1)<<5|F.getDate());const I=D[0];yt(T,6,I),gt(T,22,i.length),gt(T,24,A.length+k.length+v.rawExtraField.length);const M=new Uint8Array(30+i.length+A.length+k.length+v.rawExtraField.length);let B;yt(bt(M),0,q),mt(M,S,4),mt(M,i,30),mt(M,A,30+i.length),mt(M,k,30+i.length+A.length),mt(M,v.rawExtraField,30+i.length+A.length+k.length);let C=0;if(e){E=v.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&&I>>8&255,signed:!0,compressed:x,encrypted:b,useWebWorkers:g},n);await t.writeUint8Array(M),v.dataWritten=!0,B=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,E,n,{onprogress:y,signal:_}),C=B.length}else await t.writeUint8Array(M),v.dataWritten=!0;let H,O=new Uint8Array(0);u&&(O=new Uint8Array(l?24:16),H=bt(O),yt(H,0,K));if(e){const e=B.signature;if(b&&!d||void 0===e||(yt(T,10,e),v.signature=e,u&&yt(H,4,e)),l){const e=bt(v.rawExtraFieldZip64);gt(e,0,1),gt(e,2,24),yt(T,14,N),_t(e,12,BigInt(C)),yt(T,18,N),_t(e,4,BigInt(E)),u&&(_t(H,8,BigInt(C)),_t(H,16,BigInt(E)))}else yt(T,14,C),yt(T,18,E),u&&(yt(H,8,C),yt(H,12,E))}u&&await t.writeUint8Array(O);const P=M.length+C+O.length;return Object.assign(v,{compressedSize:C,lastModDate:F,rawLastModDate:I,encrypted:b,length:P}),v}(n,h,e.config,r),d.lock=f,i.set(t,d),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||yt(a,14,d.signature),d.zip64?(yt(a,18,N),yt(a,22,N)):(yt(a,18,d.compressedSize),yt(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){_t(bt(d.rawExtraFieldZip64),20,BigInt(d.offset))}else if(d.offset>=N)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}));g&&(e.pendingCompressedSize-=g);return Object.assign(v,{name:t,comment:s,extraField:w}),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+9+e.rawExtraField.length;let l=n.zip64||e.options.zip64||!1;if(o>=N||a>=N||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=bt(d);if(t&&t.length){if(!(t.length<=V))throw new Error(rt);gt(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,g=new Uint8Array(9),y=bt(g);gt(y,0,J),gt(y,2,g.length-4),wt(y,4,1),yt(y,5,Math.floor(t.lastModDate.getTime()/1e3));const _=a.length+o.length+9+c.length;if(yt(u,s,G),gt(u,s+4,h),mt(d,f,s+6),gt(u,s+30,_),gt(u,s+32,l.length),p&&wt(u,s+38,16),yt(u,s+42,w?N:t.offset),mt(d,r,s+46),mt(d,a,s+46+r.length),mt(d,o,s+46+r.length+a.length),mt(d,g,s+46+r.length+a.length+o.length),mt(d,c,s+46+r.length+a.length+o.length+g.length),mt(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&&(yt(u,s,X),_t(u,s+4,BigInt(44)),gt(u,s+12,45),gt(u,s+14,45),_t(u,s+24,BigInt(c)),_t(u,s+32,BigInt(c)),_t(u,s+40,BigInt(a)),_t(u,s+48,BigInt(o)),yt(u,s+56,Y),_t(u,s+64,BigInt(o)+BigInt(a)),yt(u,s+72,1),c=V,o=N,a=N,s+=76);yt(u,s,Z),gt(u,s+8,c),gt(u,s+10,c),yt(u,s+12,a),yt(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,R,A,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(A=_[0],v=1;v<=u&&0===r[v];v++);for(R=v,A<v&&(A=v),k=u;0!==k&&0===r[k];k--);for(x=k,A>k&&(A=k),_[0]=A,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=-A,s[0]=0,S=0,F=0;R<=x;R++)for(g=r[R];0!=g--;){for(;R>z+A;){if(m++,z+=A,F=x-z,F=F>A?A:F,(y=1<<(v=R-z))>g+1&&(y-=g+1,T=R,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]=A,v=k>>>z-A,a[2]=S-s[m-1]-v,w.set(a,3*(s[m-1]+v))):h[0]=S}for(a[1]=R-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<<R-z,v=k>>>z;v<F;v+=y)w.set(a,3*(S+v));for(v=1<<R-1;0!=(k&v);v>>>=1)k^=v;for(k^=v,U=(1<<z)-1;(k&U)!=f[m];)m--,z-=A,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,R,A;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,A=3*(f+d),0!==(h=u[A]))for(;;){if(_>>=u[A+1],w-=u[A+1],0!=(16&h)){for(h&=15,k=u[A+2]+(_&r[h]),_>>=h,w-=h;w<15;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;for(d=_&m,u=s,f=o,A=3*(f+d),h=u[A];;){if(_>>=u[A+1],w-=u[A+1],0!=(16&h)){for(h&=15;w<h;)b--,_|=(255&l.read_byte(p++))<<w,w+=8;if(v=u[A+2]+(_&r[h]),_>>=h,w-=h,y-=k,g>=v)R=g-v,g-R>0&&2>g-R?(c.window[g++]=c.window[R++],c.window[g++]=c.window[R++],k-=2):(c.window.set(c.window.subarray(R,R+2),g),g+=2,R+=2,k-=2);else{R=g-v;do{R+=c.end}while(R<0);if(h=c.end-R,k>h){if(k-=h,g-R>0&&h>g-R)do{c.window[g++]=c.window[R++]}while(0!=--h);else c.window.set(c.window.subarray(R,R+h),g),g+=h,R+=h,h=0;R=0}}if(g-R>0&&k>g-R)do{c.window[g++]=c.window[R++]}while(0!=--k);else c.window.set(c.window.subarray(R,R+k),g),g+=k,R+=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[A+2],d+=_&r[h],A=3*(f+d),h=u[A]}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[A+2],d+=_&r[h],A=3*(f+d),0===(h=u[A])){_>>=u[A+1],w-=u[A+1],c.window[g++]=u[A+2],y--;break}}else _>>=u[A+1],w-=u[A+1],c.window[g++]=u[A+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,R,A,U,E,S=0,z=0,T=0;for(T=y.next_in_index,R=y.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A<e.read?e.read-A-1:e.end-A;;)switch(i){case 0:if(U>=258&&R>=10&&(e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,x=g(_,w,s,p,o,b,e,y),T=y.next_in_index,R=y.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A<e.read?e.read-A-1:e.end-A,0!=x)){i=1==x?7:9;break}d=_,a=s,l=p,i=1;case 1:for(m=d;z<m;){if(0===R)return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);x=0,R--,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=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);case 2:for(m=f;z<m;){if(0===R)return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);x=0,R--,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===R)return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);x=0,R--,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=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);case 4:for(m=f;z<m;){if(0===R)return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);x=0,R--,S|=(255&y.read_byte(T++))<<z,z+=8}h+=S&r[m],S>>=m,z-=m,i=5;case 5:for(E=A-h;E<0;)E+=e.end;for(;0!==c;){if(0===U&&(A==e.end&&0!==e.read&&(A=0,U=A<e.read?e.read-A-1:e.end-A),0===U&&(e.write=A,x=e.inflate_flush(y,x),A=e.write,U=A<e.read?e.read-A-1:e.end-A,A==e.end&&0!==e.read&&(A=0,U=A<e.read?e.read-A-1:e.end-A),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);e.window[A++]=e.window[E++],U--,E==e.end&&(E=0),c--}i=0;break;case 6:if(0===U&&(A==e.end&&0!==e.read&&(A=0,U=A<e.read?e.read-A-1:e.end-A),0===U&&(e.write=A,x=e.inflate_flush(y,x),A=e.write,U=A<e.read?e.read-A-1:e.end-A,A==e.end&&0!==e.read&&(A=0,U=A<e.read?e.read-A-1:e.end-A),0===U)))return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);x=0,e.window[A++]=u,U--,i=0;break;case 7:if(z>7&&(z-=8,R++,T--),e.write=A,x=e.inflate_flush(y,x),A=e.write,U=A<e.read?e.read-A-1:e.end-A,e.read!=e.write)return e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);i=8;case 8:return x=1,e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);case 9:return x=n,e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,e.inflate_flush(y,x);default:return x=t,e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=T-y.next_in_index,y.next_in_index=T,e.write=A,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,R,A,U;for(k=e.next_in_index,v=e.avail_in,h=s.bitb,m=s.bitk,R=s.write,A=R<s.read?s.read-R-1:s.end-R;;){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=R,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=R,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=R,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=R,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=R,s.inflate_flush(e,i);if(0===A&&(R==s.end&&0!==s.read&&(R=0,A=R<s.read?s.read-R-1:s.end-R),0===A&&(s.write=R,i=s.inflate_flush(e,i),R=s.write,A=R<s.read?s.read-R-1:s.end-R,R==s.end&&0!==s.read&&(R=0,A=R<s.read?s.read-R-1:s.end-R),0===A)))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=R,s.inflate_flush(e,i);if(i=0,a=l,a>v&&(a=v),a>A&&(a=A),s.window.set(e.read_buf(k,a),R),k+=a,v-=a,R+=a,A-=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=R,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=R,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=R,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=R,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=R,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=R,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=R,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=R,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=R,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,R=s.write,A=R<s.read?s.read-R-1:s.end-R,0===g){c=0;break}c=7;case 7:if(s.write=R,i=s.inflate_flush(e,i),R=s.write,A=R<s.read?s.read-R-1:s.end-R,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=R,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=R,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=R,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=R,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 R(e,t){if(e&&e.aborted)throw t.flush(),new Error(v)}async function A(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=Re(e,0,de[t.strength]+2);await async function(e,t,n){await ke(e,n,Re(t,0,de[e.strength]));const i=Re(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=Re(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=Re(t,0,t.length-fe),i=Re(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=Re(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=Re(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(Re(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=Re(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(Re(s,0,ue[e.strength])),authentication:we.toBits(Re(s,ue[e.strength],2*ue[e.strength])),passwordVerification:Re(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 Re(e,t,n){return e.subarray(t,n)}const Ae=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,Ae));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(re);e=e.subarray(Ae)}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(Ae));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ze(t,r),0),i=Ae}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={}){const n=this,{reader:i,offset:r,extraFieldAES:a,compressionMethod:s,config:o,bitFlag:c,signature:l,rawLastModDate:d,compressedSize:u}=n,f=n.localDirectory={};i.initialized||await i.init();const h=await xt(i,r,30),_=yt(h);let w=ut(n,t,"password");if(w=w&&w.length&&w,a&&99!=a.originalCompressionMethod)throw new Error(rt);if(0!=s&&8!=s)throw new Error(rt);if(67324752!=bt(_,0))throw new Error(et);ct(f,_,4);const p=r+30+f.filenameLength,b=p+f.extraFieldLength;f.rawExtraField=h.subarray(p,b),lt(n,f,_,4);const g=n.encrypted&&f.encrypted,y=g&&!a;if(g){if(!y&&void 0===a.strength)throw new Error(it);if(!w)throw new Error(nt)}const x=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))}}(o.Inflate,{codecType:We,password:w,zipCrypto:y,encryptionStrength:a&&a.strength,signed:ut(n,t,"checkSignature"),passwordVerification:y&&(c.dataDescriptor?d>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:g,useWebWorkers:ut(n,t,"useWebWorkers")},o);e.initialized||await e.init();const m=ut(n,t,"signal");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){R(d,e);const u=await t.readUint8Array(c+i,Math.min(o,r-c)),f=u.length;R(d,e);const h=await e.append(u);if(R(d,e),l+=await A(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 A(n,t.data),{signature:t.signature,length:l}}}()}(x,i,e,b,u,o,{onprogress:t.onprogress,signal:m}),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"));16==(16&i)&&(r.push("lastAccessDate"),a.push("rawLastAccessDate"));256==(256&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,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,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"));5==(5&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})}));

@@ -74,3 +74,2 @@ /*

ERR_INVALID_VERSION,
ERR_INVALID_DATE,
ERR_INVALID_EXTRAFIELD_TYPE,

@@ -77,0 +76,0 @@ ERR_INVALID_EXTRAFIELD_DATA,

@@ -163,2 +163,4 @@ declare module "@zip.js/zip.js" {

lastModDate?: Date;
lastAccessDate?: Date;
creationDate?: Date;
}

@@ -258,3 +260,2 @@

export const ERR_INVALID_VERSION: string;
export const ERR_INVALID_DATE: string;
export const ERR_INVALID_EXTRAFIELD_TYPE: string;

@@ -261,0 +262,0 @@ export const ERR_INVALID_EXTRAFIELD_DATA: string;

@@ -75,3 +75,2 @@ /*

ERR_INVALID_VERSION,
ERR_INVALID_DATE,
ERR_INVALID_EXTRAFIELD_TYPE,

@@ -78,0 +77,0 @@ ERR_INVALID_EXTRAFIELD_DATA,

@@ -181,3 +181,3 @@ /*

const entry = new Entry(fileEntry);
entry.getData = (writer, options) => fileEntry.getData(writer, options);
entry.getData = (writer, options) => fileEntry.getData(writer, entry, options);
entries.push(entry);

@@ -226,3 +226,3 @@ offset = endOffset;

async getData(writer, options = {}) {
async getData(writer, fileEntry, options = {}) {
const zipEntry = this;

@@ -244,3 +244,3 @@ const {

}
const dataArray = await readUint8Array(reader, offset, 30);
let dataArray = await readUint8Array(reader, offset, 30);
const dataView = getDataView(dataArray);

@@ -261,6 +261,7 @@ let password = getOptionValue(zipEntry, options, "password");

readCommonHeader(localDirectory, dataView, 4);
const extraFieldOffset = offset + 30 + localDirectory.filenameLength;
const dataOffset = extraFieldOffset + localDirectory.extraFieldLength;
localDirectory.rawExtraField = dataArray.subarray(extraFieldOffset, dataOffset);
dataArray = await readUint8Array(reader, offset, 30 + localDirectory.filenameLength + localDirectory.extraFieldLength);
localDirectory.rawExtraField = dataArray.subarray(30 + localDirectory.filenameLength);
readCommonFooter(zipEntry, localDirectory, dataView, 4);
fileEntry.lastAccessDate = localDirectory.lastAccessDate;
fileEntry.creationDate = localDirectory.creationDate;
const encrypted = zipEntry.encrypted && localDirectory.encrypted;

@@ -291,2 +292,3 @@ const zipCrypto = encrypted && !extraFieldAES;

const signal = getOptionValue(zipEntry, options, "signal");
const dataOffset = offset + 30 + localDirectory.filenameLength + localDirectory.extraFieldLength;
await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress: options.onprogress, signal });

@@ -464,11 +466,11 @@ return writer.getData();

const timeRawProperties = [];
if ((flags & 0x001) == 0x001) {
if ((flags & 0x1) == 0x1) {
timeProperties.push("lastModDate");
timeRawProperties.push("rawLastModDate");
}
if ((flags & 0x010) == 0x010) {
if ((flags & 0x2) == 0x2) {
timeProperties.push("lastAccessDate");
timeRawProperties.push("rawLastAccessDate");
}
if ((flags & 0x100) == 0x100) {
if ((flags & 0x5) == 0x5) {
timeProperties.push("creationDate");

@@ -475,0 +477,0 @@ timeRawProperties.push("rawCreationDate");

@@ -73,3 +73,2 @@ /*

const ERR_INVALID_VERSION = "Version exceeds 65535";
const ERR_INVALID_DATE = "The modification date must be between 1/1/1980 and 12/31/2107";
const ERR_INVALID_ENCRYPTION_STRENGTH = "The strength must equal 1, 2, or 3";

@@ -132,3 +131,2 @@ const ERR_INVALID_EXTRAFIELD_TYPE = "Extra field type exceeds 65535";

ERR_INVALID_VERSION,
ERR_INVALID_DATE,
ERR_INVALID_EXTRAFIELD_TYPE,

@@ -164,5 +162,4 @@ ERR_INVALID_EXTRAFIELD_DATA,

const lastModDate = getOptionValue(zipWriter, options, "lastModDate") || new Date();
if (lastModDate < MIN_DATE || lastModDate > MAX_DATE) {
throw new Error(ERR_INVALID_DATE);
}
const lastAccessDate = getOptionValue(zipWriter, options, "lastAccessDate");
const creationDate = getOptionValue(zipWriter, options, "creationDate");
const password = getOptionValue(zipWriter, options, "password");

@@ -232,2 +229,4 @@ const encryptionStrength = getOptionValue(zipWriter, options, "encryptionStrength") || 3;

lastModDate,
lastAccessDate,
creationDate,
rawExtraField,

@@ -344,3 +343,4 @@ zip64,

rawFilename,
lastModDate,
lastAccessDate,
creationDate,
password,

@@ -372,8 +372,15 @@ level,

}
const rawExtraFieldExtendedTimestamp = new Uint8Array(9);
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);
setUint8(extraFieldExtendedTimestampView, 4, 1);
setUint32(extraFieldExtendedTimestampView, 5, Math.floor(lastModDate.getTime() / 1000));
const extraFieldExtendedTimestampFlag = 0x1 + (lastAccessDate ? 0x2 : 0) + (creationDate ? 0x5 : 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));
}
const fileEntry = {

@@ -389,3 +396,2 @@ version: version || VERSION_DEFLATE,

rawExtraFieldAES,
rawExtraFieldExtendedTimestamp,
rawExtraField

@@ -423,2 +429,10 @@ };

const dateView = getDataView(dateArray);
let lastModDate;
if (options.lastModDate < MIN_DATE) {
lastModDate = MIN_DATE;
} else if (options.lastModDate > MAX_DATE) {
lastModDate = MAX_DATE;
} else {
lastModDate = options.lastModDate;
}
setUint16(dateView, 0, (((lastModDate.getHours() << 6) | lastModDate.getMinutes()) << 5) | lastModDate.getSeconds() / 2);

@@ -520,3 +534,3 @@ setUint16(dateView, 2, ((((lastModDate.getFullYear() - 1980) << 4) | (lastModDate.getMonth() + 1)) << 5) | lastModDate.getDate());

fileEntry.rawExtraFieldAES.length +
fileEntry.rawExtraFieldExtendedTimestamp.length +
9 +
fileEntry.rawExtraField.length;

@@ -546,3 +560,2 @@ }

rawExtraFieldAES,
rawExtraFieldExtendedTimestamp,
rawExtraField,

@@ -555,3 +568,9 @@ rawComment,

} = fileEntry;
const extraFieldLength = rawExtraFieldZip64.length + rawExtraFieldAES.length + rawExtraFieldExtendedTimestamp.length + rawExtraField.length;
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));
const extraFieldLength = rawExtraFieldZip64.length + rawExtraFieldAES.length + 9 + rawExtraField.length;
setUint32(directoryView, offset, CENTRAL_FILE_HEADER_SIGNATURE);

@@ -558,0 +577,0 @@ setUint16(directoryView, offset + 4, version);

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

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