From d112d897f9e17194fea61d65a8107bc5f51b1582 Mon Sep 17 00:00:00 2001 From: Gildas Date: Mon, 22 Mar 2021 13:20:58 +0100 Subject: [PATCH] bump version --- dist/zip-fs-full.js | 2 +- dist/zip-fs-full.min.js | 2 +- dist/zip-fs.js | 2 +- dist/zip-fs.min.js | 2 +- dist/zip-full.js | 2 +- dist/zip-full.min.js | 2 +- dist/zip-no-worker-inflate.min.js | 2 +- dist/zip-no-worker.min.js | 2 +- dist/zip.js | 2 +- dist/zip.min.js | 2 +- package.json | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dist/zip-fs-full.js b/dist/zip-fs-full.js index 1c282ce6..13adb9ce 100644 --- a/dist/zip-fs-full.js +++ b/dist/zip-fs-full.js @@ -7720,7 +7720,7 @@ await writer.init(); } const signal = getOptionValue$1(zipEntry, options, "signal"); - await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress, signal }); + await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress: options.onprogress, signal }); return writer.getData(); } } diff --git a/dist/zip-fs-full.min.js b/dist/zip-fs-full.min.js index 04bd9e54..5745989f 100644 --- a/dist/zip-fs-full.min.js +++ b/dist/zip-fs-full.min.js @@ -1 +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,i=-2,r=-5;function a(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const s=[0,1,2,3].concat(...a([[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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,d,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);d=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*d]=i[2*s]+i[2*o],n.depth[d]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=d,n.heap[1]=d++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,d,l,c,f,u,p=0;for(c=0;c<=15;c++)t.bl_count[c]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],c=n[2*n[2*d+1]+1]+1,c>s&&(c=s,p++),n[2*d+1]=c,d>e.max_code||(t.bl_count[c]++,f=0,d>=a&&(f=r[d-a]),u=n[2*d],t.opt_len+=u*(c+f),i&&(t.static_len+=u*(i[2*d+1]+f)));if(0!==p){do{for(c=s-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[s]--,p-=2}while(p>0);for(c=s;0!==c;c--)for(d=t.bl_count[c];0!==d;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=c&&(t.opt_len+=(c-n[2*l+1])*n[2*l],n[2*l+1]=c),d--)}}(n),function(e,n,i){const r=[];let a,s,o,d=0;for(a=1;a<=15;a++)r[a]=d=d+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function d(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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?s[e]:s[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],d.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],d.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],d.static_l_desc=new d(d.static_ltree,o.extra_lbits,257,286,15),d.static_d_desc=new d(d.static_dtree,o.extra_dbits,0,30,15),d.static_bl_desc=new d(null,o.extra_blbits,0,19,7);function l(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}const c=[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)],f=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],u=113,p=666,h=258,_=262;function m(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function de(e,t){let n;const i=t;ie>16-i?(n=e,ne|=n<>>16-ie,ie+=i-16):(ne|=e<=8&&(se(255&ne),ne>>>=8,ie-=8)}function ue(n,i){let r,a,s;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[X+Q]=255&i,Q++,0===n?N[2*i]++:(ee++,n--,N[2*(o._length_code[i]+t+1)]++,V[2*o.d_code(n)]++),0==(8191&Q)&&q>2){for(r=8*Q,a=C-S,s=0;s<30;s++)r+=V[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,ee8?oe(ne):ie>0&&se(255&ne),ne=0,ie=0}function _e(t,n,i){de(0+(i?1:0),3),function(t,n,i){he(),te=8,i&&(oe(n),oe(~n)),e.pending_buf.set(v.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function me(t,n,i){let r,a,s=0;q>0?(K.build_tree(e),G.build_tree(e),s=function(){let t;for(ae(N,K.max_code),ae(V,G.max_code),Y.build_tree(e),t=18;t>=3&&0===Z[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?_e(t,n,i):a==r?(de(2+(i?1:0),3),pe(d.static_ltree,d.static_dtree)):(de(4+(i?1:0),3),function(e,t,n){let i;for(de(e-257,5),de(t-1,5),de(n-4,4),i=0;i=0?S:-1,C-S,e),S=C,a.flush_pending()}function we(){let e,t,n,i;do{if(i=y-O-C,0===i&&0===C&&0===O)i=w;else if(-1==i)i--;else if(C>=w+w-_){v.set(v.subarray(w,w+w),0),B-=w,C-=w,S-=w,e=E,n=e;do{t=65535&z[--n],z[n]=t>=w?t-w:0}while(0!=--e);e=w,n=e;do{t=65535&k[--n],k[n]=t>=w?t-w:0}while(0!=--e);i+=w}if(0===a.avail_in)return;e=a.read_buf(v,C+O,i),O+=e,O>=3&&(A=255&v[C],A=(A<w-_?C-(w-_):0;let o=L;const d=b,l=C+h;let c=v[r+a-1],f=v[r+a];T>=P&&(i>>=2),o>O&&(o=O);do{if(t=e,v[t+a]==f&&v[t+a-1]==c&&v[t]==v[r]&&v[++t]==v[r+1]){r+=2,t++;do{}while(v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&ra){if(B=e,a=n,n>=o)break;c=v[r+a-1],f=v[r+a]}}}while((e=65535&k[e&d])>s&&0!=--i);return a<=O?a:O}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,s=u,x=0,K.dyn_tree=N,K.stat_desc=d.static_l_desc,G.dyn_tree=V,G.stat_desc=d.static_d_desc,Y.dyn_tree=Z,Y.stat_desc=d.static_bl_desc,ne=0,ie=0,te=8,re(),function(){y=2*w,z[E-1]=0;for(let e=0;e9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(t.dstate=e,g=r,w=1<9||n<0||n>2?i:(c[q].func!=c[t].func&&0!==e.total_in&&(r=e.deflate(1)),q!=t&&(q=t,W=c[q].max_lazy,P=c[q].good_length,L=c[q].nice_length,M=c[q].max_chain),H=n,r)},e.deflateSetDictionary=function(e,t,n){let r,a=n,o=0;if(!t||42!=s)return i;if(a<3)return 0;for(a>w-_&&(a=w-_,o=n-a),v.set(t.subarray(o,o+a),0),C=a,S=a,A=255&v[0],A=(A<4||o<0)return i;if(!t.next_out||!t.next_in&&0!==t.avail_in||s==p&&4!=o)return t.msg=f[4],i;if(0===t.avail_out)return t.msg=f[7],r;var P;if(a=t,U=x,x=o,42==s&&(m=8+(g-8<<4)<<8,y=(q-1&255)>>1,y>3&&(y=3),m|=y<<6,0!==C&&(m|=32),m+=31-m%31,s=u,se((P=m)>>8&255),se(255&P)),0!==e.pending){if(a.flush_pending(),0===a.avail_out)return x=-1,0}else if(0===a.avail_in&&o<=U&&4!=o)return a.msg=f[7],r;if(s==p&&0!==a.avail_in)return t.msg=f[7],r;if(0!==a.avail_in||0!==O||0!=o&&s!=p){switch(M=-1,c[q].func){case 0:M=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(O<=1){if(we(),0===O&&0==e)return 0;if(0===O)break}if(C+=O,O=0,t=S+n,(0===C||C>=t)&&(O=C-t,C=t,xe(!1),0===a.avail_out))return 0;if(C-S>=w-_&&(xe(!1),0===a.avail_out))return 0}return xe(4==e),0===a.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:M=function(e){let t,n=0;for(;;){if(O<_){if(we(),O<_&&0==e)return 0;if(0===O)break}if(O>=3&&(A=(A<=3)if(t=ue(C-B,j-3),O-=j,j<=W&&O>=3){j--;do{C++,A=(A<=3&&(A=(A<4096)&&(j=2)),T>=3&&j<=T){n=C+O-3,t=ue(C-1-I,T-3),O-=T-1,T-=2;do{++C<=n&&(A=(A<n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 g=-2,b=-3,v=-5,y=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],z=[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],A=[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],E=[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],U=[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],R=[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],D=15;function S(){let e,t,n,i,r,a;function s(e,t,s,o,d,l,c,f,u,p,h){let _,m,x,w,g,y,k,z,A,E,U,R,S,j,I;E=0,g=s;do{n[e[t+E]]++,E++,g--}while(0!==g);if(n[0]==s)return c[0]=-1,f[0]=0,0;for(z=f[0],y=1;y<=D&&0===n[y];y++);for(k=y,zg&&(z=g),f[0]=z,j=1<R+z;){if(w++,R+=z,I=x-R,I=I>z?z:I,(m=1<<(y=k-R))>_+1&&(m-=_+1,S=k,y1440)return b;r[w]=U=p[0],p[0]+=I,0!==w?(a[w]=g,i[0]=y,i[1]=z,y=g>>>R-z,i[2]=U-r[w-1]-y,u.set(i,3*(r[w-1]+y))):c[0]=U}for(i[1]=k-R,E>=s?i[0]=192:h[E]>>R;y>>=1)g^=y;for(g^=y,A=(1<257?(p==b?u.msg="oversubscribed distance tree":p==v?(u.msg="incomplete distance tree",p=b):-4!=p&&(u.msg="empty distance tree with lengths",p=b),p):0)}}S.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=k,i[0]=z,0};function j(){const e=this;let t,n,i,r,a=0,s=0,o=0,d=0,l=0,c=0,f=0,u=0,p=0,h=0;function _(e,t,n,i,r,a,s,o){let d,l,c,f,u,p,h,_,m,x,w,g,v,k,z,A;h=o.next_in_index,_=o.avail_in,u=s.bitb,p=s.bitk,m=s.write,x=m>=l[A+1],p-=l[A+1],0!=(16&f)){for(f&=15,v=l[A+2]+(u&y[f]),u>>=f,p-=f;p<15;)_--,u|=(255&o.read_byte(h++))<>=l[A+1],p-=l[A+1],0!=(16&f)){for(f&=15;p>=f,p-=f,x-=v,m>=k)z=m-k,m-z>0&&2>m-z?(s.window[m++]=s.window[z++],s.window[m++]=s.window[z++],v-=2):(s.window.set(s.window.subarray(z,z+2),m),m+=2,z+=2,v-=2);else{z=m-k;do{z+=s.end}while(z<0);if(f=s.end-z,v>f){if(v-=f,m-z>0&&f>m-z)do{s.window[m++]=s.window[z++]}while(0!=--f);else s.window.set(s.window.subarray(z,z+f),m),m+=f,z+=f,f=0;z=0}}if(m-z>0&&v>m-z)do{s.window[m++]=s.window[z++]}while(0!=--v);else s.window.set(s.window.subarray(z,z+v),m),m+=v,z+=v,v=0;break}if(0!=(64&f))return o.msg="invalid distance code",v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,b;d+=l[A+2],d+=u&y[f],A=3*(c+d),f=l[A]}break}if(0!=(64&f))return 0!=(32&f)?(v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,1):(o.msg="invalid literal/length code",v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,b);if(d+=l[A+2],d+=u&y[f],A=3*(c+d),0===(f=l[A])){u>>=l[A+1],p-=l[A+1],s.window[m++]=l[A+2],x--;break}}else u>>=l[A+1],p-=l[A+1],s.window[m++]=l[A+2],x--}while(x>=258&&_>=10);return v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,0}e.init=function(e,a,s,o,d,l){t=0,f=e,u=a,i=s,p=o,r=d,h=l,n=null},e.proc=function(e,m,x){let w,v,k,z,A,E,U,R=0,D=0,S=0;for(S=m.next_in_index,z=m.avail_in,R=e.bitb,D=e.bitk,A=e.write,E=A=258&&z>=10&&(e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,x=_(f,u,i,p,r,h,e,m),S=m.next_in_index,z=m.avail_in,R=e.bitb,D=e.bitk,A=e.write,E=A>>=n[v+1],D-=n[v+1],k=n[v],0===k){d=n[v+2],t=6;break}if(0!=(16&k)){l=15&k,a=n[v+2],t=2;break}if(0==(64&k)){o=k,s=v/3+n[v+2];break}if(0!=(32&k)){t=7;break}return t=9,m.msg="invalid literal/length code",x=b,e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,e.inflate_flush(m,x);case 2:for(w=l;D>=w,D-=w,o=u,n=r,s=h,t=3;case 3:for(w=o;D>=n[v+1],D-=n[v+1],k=n[v],0!=(16&k)){l=15&k,c=n[v+2],t=4;break}if(0==(64&k)){o=k,s=v/3+n[v+2];break}return t=9,m.msg="invalid distance code",x=b,e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,e.inflate_flush(m,x);case 4:for(w=l;D>=w,D-=w,t=5;case 5:for(U=A-c;U<0;)U+=e.end;for(;0!==a;){if(0===E&&(A==e.end&&0!==e.read&&(A=0,E=A7&&(D-=8,z++,S--),e.write=A,x=e.inflate_flush(m,x),A=e.write,E=Ae.avail_out&&(i=e.avail_out),0!==i&&t==v&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==v&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,_,m,x,w,v,k,z;for(x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,v=n.write,k=v>>1){case 0:_>>>=3,m-=3,h=7&m,_>>>=h,m-=h,r=1;break;case 1:A=[],E=[],U=[[]],R=[[]],S.inflate_trees_fixed(A,E,U,R),c.init(A[0],E[0],U[0],0,R[0],0),_>>>=3,m-=3,r=6;break;case 2:_>>>=3,m-=3,r=3;break;case 3:return _>>>=3,m-=3,r=9,e.msg="invalid block type",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t)}break;case 1:for(;m<32;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);a=65535&_,_=m=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(0===k&&(v==n.end&&0!==n.read&&(v=0,k=vw&&(h=w),h>k&&(h=k),n.window.set(e.read_buf(x,h),v),x+=h,w-=h,v+=h,k-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;m<14;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,m-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;m<3;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>=3,m-=3}for(;o<19;)i[I[o++]]=0;if(d[0]=7,h=p.inflate_trees_bits(i,d,l,u,e),0!=h)return(t=h)==b&&(i=null,r=9),n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,c;for(h=d[0];m>>=h,m-=h,i[o++]=c;else{for(z=18==c?7:c-14,a=18==c?11:3;m>>=h,m-=h,a+=_&y[z],_>>>=z,m-=z,z=o,h=s,z+a>258+(31&h)+(h>>5&31)||16==c&&z<1)return i=null,r=9,e.msg="invalid bit length repeat",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);c=16==c?i[z-1]:0;do{i[z++]=c}while(0!=--a);o=z}}if(l[0]=-1,D=[],j=[],F=[],C=[],D[0]=9,j[0]=6,h=s,h=p.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,D,j,F,C,u,e),0!=h)return h==b&&(i=null,r=9),t=h,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);c.init(D[0],j[0],u,F[0],u,C[0]),r=6;case 6:if(n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,1!=(t=c.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,c.free(e),x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,v=n.write,k=v15?(e.inflateEnd(n),g):(e.wbits=i,n.istate.blocks=new F(n,1<>4)>r.wbits){r.mode=C,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=C,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=C,e.msg="need dictionary",r.marker=0,g;case 7:if(n=r.blocks.proc(e,n),n==b){r.mode=C,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case C:return b;default:return g}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return g;const a=e.istate;return r>=1<{const e={};for(let t in P)if(P.hasOwnProperty(t))for(let n in P[t])if(P[t].hasOwnProperty(n)){const i=P[t][n];if("string"==typeof i)e[i]=t+"/"+n;else for(let r=0;r{if(r.pendingData){const t=r.pendingData;r.pendingData=new Uint8Array(t.length+e.length),r.pendingData.set(t,0),r.pendingData.set(e,t.length)}else r.pendingData=new Uint8Array(e)}))}async append(e){return this.codec.push(e),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new Uint8Array(0)}}const V="HTTP error ",Z="HTTP Range not supported",K="text/plain",G="Content-Length",Y="Accept-Ranges",X="HEAD",J="GET",Q="bytes";class ${constructor(){this.size=0}init(){this.initialized=!0}}class ee extends ${}class te extends ${writeUint8Array(e){this.size+=e.length}}class ne extends ee{constructor(e){super(),this.blobReader=new se(new Blob([e],{type:K}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}}class ie extends te{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:K})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:K})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=n,e.readAsText(this.blob,this.encoding)}))}}class re extends ee{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;e2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}}class se extends ee{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.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class oe extends te{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 de extends ee{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(),xe(this.url)&&!this.preventHeadRequest){const e=await ce(X,this.url,this.options);if(this.size=Number(e.headers.get(G)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(Y)!=Q)throw new Error(Z);void 0===this.size&&await le(this,this.options)}else await le(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await ce(J,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(Z);return new Uint8Array(await n.arrayBuffer())}return this.data||await le(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function le(e,t){const n=await ce(J,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function ce(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(V+(r.statusText||r.status))}class fe extends ee{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),xe(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>pe(X,this.url,(n=>{this.size=Number(n.getResponseHeader(G)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(Y)==Q?e():t(new Error(Z)):void 0===this.size?ue(this,this.url).then((()=>e())).catch(t):e()}),t)));await ue(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await ue(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>pe(J,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(Z)}}function ue(e,t){return new Promise(((n,i)=>pe(J,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function pe(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(V+(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 he extends ee{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new fe(e,t):this.reader=new de(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)}}class _e extends ee{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}}class me extends te{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}}function xe(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 we=4294967295,ge=65535,be=67324752,ve=134695760,ye=33639248,ke=101010256,ze=101075792,Ae=117853008,Ee=39169,Ue=2048,Re="/",De=new Date(2107,11,31),Se=new Date(1980,0,1),je="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Ie=[];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;Ie[e]=t}class Fe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n>>8^Ie[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Ce={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ce.getPartial(n);return 32===i?e.concat(t):Ce._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)+Ce.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=Ce.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>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ce.getPartial(r);return i.push(Ce.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Be={bytes:{fromBits(e){const t=Ce.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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=Ce.concat(t,[Ce.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<>>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],d=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)+d+i[e]+t._key[Math.floor(e/20)]|0;d=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]+d|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,d=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^d<<24,d=d<<1^283*(d>>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,d,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let c=s=0;!n[c];c^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[c]=a,i[a]=c,l=r[d=r[o=r[c]]];let f=16843009*l^65537*d^257*o^16843008*c,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][c]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>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],d=a[2],l=a[3],c=a[4];let f,u,p,h=e[0]^n[0],_=e[t?3:1]^n[1],m=e[2]^n[2],x=e[t?1:3]^n[3],w=4;for(let e=0;e>>24]^o[_>>16&255]^d[m>>8&255]^l[255&x]^n[w],u=s[_>>>24]^o[m>>16&255]^d[x>>8&255]^l[255&h]^n[w+1],p=s[m>>>24]^o[x>>16&255]^d[h>>8&255]^l[255&_]^n[w+2],x=s[x>>>24]^o[h>>16&255]^d[_>>8&255]^l[255&m]^n[w+3],w+=4,h=f,_=u,m=p;for(let e=0;e<4;e++)r[t?3&-e:e]=c[h>>>24]<<24^c[_>>16&255]<<16^c[m>>8&255]<<8^c[255&x]^n[w++],f=h,h=_,_=m,m=x,x=f;return r}}},Me={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=Ce.bitLength(t);for(let r=0;rr&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%He)),o=0;o<=s-He;o+=He){const r=Je.toBits(st(t,o,o+He));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(Je.fromBits(s),o+i)}return e.pendingInput=st(t,o),n}async function rt(e,t,n){const i=(new TextEncoder).encode(t),r=await Xe.importKey("raw",i,Le,!1,Ve),a=await Xe.deriveBits(Object.assign({salt:n},Ne),r,8*(2*Ke[e.strength]+2)),s=new Uint8Array(a);e.keys={key:Je.toBits(st(s,0,Ke[e.strength])),authentication:Je.toBits(st(s,Ke[e.strength],2*Ke[e.strength])),passwordVerification:st(s,2*Ke[e.strength])}}function at(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 st(e,t,n){return e.subarray(t,n)}const ot=12;class dt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ut(this,e)}async append(e){const t=this;if(t.password){const n=ct(t,e.subarray(0,ot));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(qe);e=e.subarray(ot)}return ct(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class lt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ut(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(ot));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ft(t,r),0),i=ot}else n=new Uint8Array(e.length),i=0;return n.set(ft(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function ct(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function ht(e){const t=2|e.keys[2];return _t(Math.imul(t,1^t)>>>8)}function _t(e){return 255&e}function mt(e){return 4294967295&e}const xt="deflate",wt="inflate",gt="Invalid signature";class bt{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const d=Boolean(n);Object.assign(this,{signature:t,encrypted:d,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new Fe,zipCrypto:a,decrypt:d&&a?new dt(n,s):new tt(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(gt);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.cipher!=n.getUint32(0,!1))throw new Error(gt)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class vt{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:d}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),crc32:n&&new Fe,zipCrypto:a,encrypt:t&&a?new lt(s,o):new nt(s,d)})}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 yt="init",kt="append",zt="flush",At="message";var Et=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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-fs-full.min.js",document.baseURI).href)),e.worker.addEventListener(At,r,!1),e.interface={append:e=>n({type:kt,data:e}),flush:()=>n({type:zt})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:yt,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==yt||r==zt||r==kt){const n=i.data;r==zt?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith(xt)?new vt(e,t):t.codecType.startsWith(wt)?new bt(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let Ut=[],Rt=[];function Dt(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(Ut.length!e.busy));return n?Et(n,e,t,St,i,r):new Promise((n=>Rt.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}function St(e){const t=!Rt.length;if(t)Ut=Ut.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Rt.splice(0,1);t(Et(e,n,i,St,r,a))}return t}const jt="Abort error";async function It(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(d=0,l=0){const c=s.signal;if(dthis[t]=e[t]))}}const Tt="File format is not recognized",Mt="End of central directory not found",Wt="End of Zip64 central directory not found",qt="End of Zip64 central directory locator not found",Ht="Central directory header not found",Pt="Local file header not found",Lt="Zip64 extra field not found",Nt="File contains encrypted entry",Vt="Encryption method not supported",Zt="Compression method not supported",Kt="utf-8",Gt=["uncompressedSize","compressedSize","offset"];class Yt{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:q()})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Tt);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(dn(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 ln(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,ke,n.size,22,1048560);if(!i)throw new Error(Mt);const r=dn(i);let a=sn(r,12),s=sn(r,16),o=an(r,8),d=0;if(s==we||o==ge){const e=dn(await ln(n,i.offset-20,20));if(sn(e,0)!=Ae)throw new Error(Wt);s=on(e,8);let t=await ln(n,s,56),r=dn(t);const l=i.offset-20-56;if(sn(r,0)!=ze&&s!=l){const e=s;s=l,d=s-e,t=await ln(n,s,56),r=dn(t)}if(sn(r,0)!=ze)throw new Error(qt);o=on(r,24),a=sn(e,4),s-=on(r,40)}if(s<0||s>=n.size)throw new Error(Tt);let l=0,c=await ln(n,s,n.size-s),f=dn(c);const u=i.offset-a;if(sn(f,l)!=ye&&s!=u){const e=s;s=u,d=s-e,c=await ln(n,s,n.size-s),f=dn(c)}if(s<0||s>=n.size)throw new Error(Tt);const p=[];for(let i=0;ii.getData(e,t),p.push(h),l=u}return p}async close(){}}class Xt{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:d,signature:l,rawLastModDate:c,compressedSize:f,onprogress:u}=n,p=n.localDirectory={};i.initialized||await i.init();const h=await ln(i,r,30),_=dn(h);let m=en(n,t,"password");if(m=m&&m.length&&m,a&&99!=a.originalCompressionMethod)throw new Error(Zt);if(0!=s&&8!=s)throw new Error(Zt);if(sn(_,0)!=be)throw new Error(Pt);Jt(p,_,4);const x=r+30+p.filenameLength,w=x+p.extraFieldLength;p.rawExtraField=h.subarray(x,w),Qt(n,p,_,4);const g=n.encrypted&&p.encrypted,b=g&&!a;if(g){if(!b&&void 0===a.strength)throw new Error(Vt);if(!m)throw new Error(Nt)}const v=await Dt(o.Inflate,{codecType:wt,password:m,zipCrypto:b,encryptionStrength:a&&a.strength,signed:en(n,t,"checkSignature"),passwordVerification:b&&(d.dataDescriptor?c>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:g,useWebWorkers:en(n,t,"useWebWorkers")},o);e.initialized||await e.init();const y=en(n,t,"signal");return await It(v,i,e,w,f,o,{onprogress:u,signal:y}),e.getData()}}function Jt(e,t,n){const i=e.rawBitFlag=an(t,n+2),r=1==(1&i);Object.assign(e,{encrypted:r,version:an(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&Ue)==Ue},rawLastModDate:sn(t,n+6),lastModDate:nn(e.rawLastModDate),filenameLength:an(t,n+22),extraFieldLength:an(t,n+24)})}function Qt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=dn(new Uint8Array(r));let o=0;try{for(;ot[e]==we));for(let t=0;t{if(t[n]==we){if(!e||void 0===e[n])throw new Error(Lt);t[n]=e[n]}}))}(l,t);const c=t.extraFieldUnicodePath=a.get(28789);c&&$t(c,"filename","rawFilename",t,e);const f=t.extraFieldUnicodeComment=a.get(25461);f&&$t(f,"comment","rawComment",t,e);const u=t.extraFieldAES=a.get(39169);u?function(e,t,n){if(e){const i=dn(e.data);e.vendorVersion=rn(i,0),e.vendorId=rn(i,2);const r=rn(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=an(i,5)}else t.compressionMethod=n}(u,t,d):t.compressionMethod=d}function $t(e,t,n,i,r){const a=dn(e.data);e.version=rn(a,0),e.signature=sn(a,1);const s=new Fe;s.append(r[n]);const o=dn(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==sn(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function en(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function tn(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n>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 rn(e,t){return e.getUint8(t)}function an(e,t){return e.getUint16(t,!0)}function sn(e,t){return e.getUint32(t,!0)}function on(e,t){return Number(e.getBigUint64(t,!0))}function dn(e){return new DataView(e.buffer)}function ln(e,t,n){return e.readUint8Array(t,n)}const cn="File already exists",fn="Zip file comment exceeds 64KB",un="File entry comment exceeds 64KB",pn="File entry name exceeds 64KB",hn="Version exceeds 65535",_n="The modification date must be between 1/1/1980 and 12/31/2107",mn="The strength must equal 1, 2, or 3",xn="Extra field type exceeds 65535",wn="Extra field data exceeds 64KB",gn=new Uint8Array([7,0,2,0,65,69,3,0,0]);class bn{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:q(),files:new Map,offset:e.size,pendingOutputSize:0})}async add(e="",t,n={}){const i=this;if(e=e.trim(),n.directory&&!e.endsWith(Re)?e+=Re:n.directory=e.endsWith(Re),i.files.has(e))throw new Error(cn);const r=(new TextEncoder).encode(e);if(r.length>ge)throw new Error(pn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>ge)throw new Error(un);const o=i.options.version||n.version||0;if(o>ge)throw new Error(hn);const d=n.lastModDate||new Date;if(dDe)throw new Error(_n);const l=vn(i,n,"password"),c=vn(i,n,"encryptionStrength")||3,f=vn(i,n,"zipCrypto");if(void 0!==l&&void 0!==c&&(c<1||c>3))throw new Error(mn);t&&!t.initialized&&await t.init();let u=new Uint8Array(0);const p=n.extraField;if(p){let e=0,t=0;p.forEach((t=>e+=4+t.length)),u=new Uint8Array(e),p.forEach(((e,n)=>{if(n>ge)throw new Error(xn);if(e.length>ge)throw new Error(wn);En(u,new Uint16Array([n]),t),En(u,new Uint16Array([e.length]),t+2),En(u,e,t+4),t+=4+e.length}))}const h=t?Math.floor(1.05*t.size):0;i.pendingOutputSize+=h,await Promise.resolve();const _=n.zip64||i.options.zip64||i.offset>=we||h>=we||i.offset+i.pendingOutputSize>=we,m=vn(i,n,"level"),x=vn(i,n,"useWebWorkers"),w=vn(i,n,"bufferedWrite");let g=vn(i,n,"keepOrder"),b=vn(i,n,"dataDescriptor");const v=vn(i,n,"signal");void 0===b&&(b=!0),void 0===g&&(g=!0);const y=await async function(e,t,n,i){const r=e.files,a=e.writer;let s,o;r.set(t,null);try{let d,l,c;try{i.keepOrder&&(d=e.lockPreviousFile,e.lockPreviousFile=new Promise((e=>o=e))),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(l=new oe,l.init()):(e.lockWrite=new Promise((e=>s=e)),a.initialized||await a.init(),l=a),c=await async function(e,t,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:d,zipCrypto:l,dataDescriptor:c,directory:f,version:u,rawComment:p,rawExtraField:h,useWebWorkers:_,onprogress:m,signal:x,encryptionStrength:w}=i,g=Boolean(s&&s.length),b=0!==o&&!f;let v;if(g&&!l){v=new Uint8Array(gn.length+2);const e=Un(v);kn(e,0,Ee),En(v,gn,2),yn(e,8,w)}else v=new Uint8Array(0);const y={version:u||20,zip64:d,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:d?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:v,rawExtraField:h};let k=Ue;c&&(k|=8);let z=0;b&&(z=8);d&&(y.version=y.version>45?y.version:45);g&&(k|=1,l||(y.version=y.version>51?y.version:51,z=99,b&&(y.rawExtraFieldAES[9]=8)));const A=y.headerArray=new Uint8Array(26),E=Un(A);kn(E,0,y.version),kn(E,2,k),kn(E,4,z);const U=new Uint32Array(1),R=Un(U);kn(R,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),kn(R,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const D=U[0];zn(E,6,D),kn(E,22,r.length),kn(E,24,0),kn(E,24,v.length+y.rawExtraField.length);const S=new Uint8Array(30+r.length+v.length+y.rawExtraField.length);let j;zn(Un(S),0,be),En(S,A,4),En(S,r,30),En(S,v,30+r.length),En(S,y.rawExtraField,30+r.length+v.length);let I=0,F=0;if(e){I=e.size;const i=await Dt(n.Deflate,{codecType:xt,level:o,password:s,encryptionStrength:w,zipCrypto:g&&l,passwordVerification:g&&l&&D>>8&255,signed:!0,compressed:b,encrypted:g,useWebWorkers:_},n);await t.writeUint8Array(S),j=await It(i,e,t,0,I,n,{onprogress:m,signal:x}),F=j.length}else await t.writeUint8Array(S);let C,B=new Uint8Array(0);c&&(B=new Uint8Array(d?24:16),C=Un(B),zn(C,0,ve));if(e){const e=j.signature;if(g&&!l||void 0===e||(zn(E,10,e),y.signature=e,c&&zn(C,4,e)),d){const e=Un(y.rawExtraFieldZip64);kn(e,0,1),kn(e,2,24),zn(E,14,we),An(e,12,BigInt(F)),zn(E,18,we),An(e,4,BigInt(I)),c&&(An(C,8,BigInt(F)),An(C,16,BigInt(I)))}else zn(E,14,F),zn(E,18,I),c&&(zn(C,8,F),zn(C,12,I))}c&&await t.writeUint8Array(B);const O=S.length+F+B.length;return Object.assign(y,{compressedSize:F,uncompressedSize:I,lastModDate:a,rawLastModDate:D,encrypted:g,length:O}),y}(n,l,e.config,i)}catch(e){throw r.delete(t),e}if(r.set(t,c),l!=a){const t=l.getData(),n=new FileReader,r=new Promise(((e,i)=>{n.onload=t=>e(t.target.result),n.onerror=i,n.readAsArrayBuffer(t)})),[s]=await Promise.all([r,e.lockWrite,d]);if(!i.dataDescriptor){const e=new DataView(s);c.encrypted&&!i.zipCrypto||zn(e,14,c.signature),c.zip64?(zn(e,18,we),zn(e,22,we)):(zn(e,18,c.compressedSize),zn(e,22,c.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(c.offset=e.offset,c.zip64){An(Un(c.rawExtraFieldZip64),20,BigInt(c.offset))}return e.offset+=c.length,c}finally{o&&o(),s&&s()}}(i,e,t,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:d,rawExtraField:u,zip64:_,password:l,level:m,useWebWorkers:x,encryptionStrength:c,zipCrypto:f,bufferedWrite:w,keepOrder:g,dataDescriptor:b,signal:v}));return i.pendingOutputSize-=h,Object.assign(y,{name:e,comment:a,extraField:p}),new Ot(y)}async close(e=new Uint8Array(0)){const t=this,n=t.writer,i=t.files;let r=0,a=0,s=t.offset,o=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraField.length;const d=t.options.zip64||s>=we||a>=we||o>=ge,l=new Uint8Array(a+(d?98:22)),c=Un(l);if(e.length){if(!(e.length<=ge))throw new Error(fn);kn(c,r+20,e.length)}for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:d,directory:f,zip64:u}=e,p=n.length+i.length+a.length;zn(c,r,ye),kn(c,r+4,o),En(l,d,r+6),kn(c,r+30,p),kn(c,r+32,s.length),f&&yn(c,r+38,16),zn(c,r+42,u?we:e.offset),En(l,t,r+46),En(l,n,r+46+t.length),En(l,i,r+46+t.length+n.length),En(l,a,46+t.length+n.length+i.length),En(l,s,r+46+t.length+p),r+=46+t.length+p+s.length}return d&&(zn(c,r,ze),An(c,r+4,BigInt(44)),kn(c,r+12,45),kn(c,r+14,45),An(c,r+24,BigInt(o)),An(c,r+32,BigInt(o)),An(c,r+40,BigInt(a)),An(c,r+48,BigInt(s)),zn(c,r+56,Ae),An(c,r+64,BigInt(s)+BigInt(a)),zn(c,r+72,1),o=ge,s=we,a=we,r+=76),zn(c,r,ke),kn(c,r+8,o),kn(c,r+10,o),zn(c,r+12,a),zn(c,r+16,s),await n.writeUint8Array(l),e.length&&await n.writeUint8Array(e),n.getData()}}function vn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function yn(e,t,n){e.setUint8(t,n)}function kn(e,t,n){e.setUint16(t,n,!0)}function zn(e,t,n){e.setUint32(t,n,!0)}function An(e,t,n){e.setBigUint64(t,n,!0)}function En(e,t,n){e.set(t,n)}function Un(e){return new DataView(e.buffer)}const Rn=524288;class Dn{constructor(e,t,n,i){const r=this;if(e.root&&i&&i.getChildByName(t))throw new Error("Entry filename already exists");n||(n={}),Object.assign(r,{fs:e,name:t,data:n.data,id:e.entries.length,parent:i,children:[],uncompressedSize:0}),e.entries.push(r),i&&r.parent.children.push(r)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,n=this.parent;for(;n&&n!=e;)t=(n.name?n.name+"/":"")+t,n=n.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return Boolean(t)}}class Sn extends Dn{constructor(e,t,n,i){super(e,t,n,i);const r=this;r.Reader=n.Reader,r.Writer=n.Writer,n.getData&&(r.getData=n.getData)}async getData(e,t={}){const n=this;return!e||e.constructor==n.Writer&&n.data?n.data:(n.reader=new n.Reader(n.data,t),await n.reader.init(),e.initialized||await e.init(),n.uncompressedSize=n.reader.size,async function(e,t){return n();async function n(i=0){const r=i*Rn;if(rt.file((i=>n(e.addBlob(t.name,i))),i)));async function n(e,t){const r=await i(t);for(const t of r)t.isDirectory?await n(e.addDirectory(t.name),t):await new Promise(((n,i)=>{t.file((i=>{const r=e.addBlob(t.name,i);r.uncompressedSize=i.size,n(r)}),i)}))}function i(e){return new Promise(((t,n)=>{let i=[];function r(e){e.readEntries((n=>{n.length?(i=i.concat(n),r(e)):t(i)}),n)}e.isDirectory&&r(e.createReader()),e.isFile&&t(i)}))}}(this,e)}async addData(e,t){return Tn(this,e,t)}async importBlob(e,t={}){await this.importZip(new se(e),t)}async importData64URI(e,t={}){await this.importZip(new re(e),t)}async importUint8Array(e,t={}){await this.importZip(new _e(e),t)}async importHttpContent(e,t={}){await this.importZip(new he(e,t),t)}async exportBlob(e={}){return this.exportZip(new oe("application/zip"),e)}async exportData64URI(e={}){return this.exportZip(new ae("application/zip"),e)}async exportUint8Array(e={}){return this.exportZip(new me,e)}async importZip(e,t){e.initialized||await e.init();const n=new Yt(e,t);(await n.getEntries()).forEach((e=>{let n=this;const i=e.filename.split("/"),r=i.pop();i.forEach((e=>n=n.getChildByName(e)||new jn(this.fs,e,null,n))),e.directory||Tn(n,r,{data:e,Reader:Fn(Object.assign({},t))})}))}async exportZip(e,t){const n=this;await Cn(n),await e.init();const i=new bn(e,t);return await async function(e,t,n,i){const r=t,a=new Map;async function s(e,t){async function o(){if(i.bufferedWrite)await Promise.all(t.children.map(d));else for(const e of t.children)await d(e)}async function d(t){const o=i.relativePath?t.getRelativeName(r):t.getFullname();await e.add(o,t.reader,Object.assign({directory:t.directory},Object.assign({},i,{onprogress:e=>{if(i.onprogress){a.set(o,e);try{i.onprogress(Array.from(a.values()).reduce(((e,t)=>e+t)),n)}catch(e){}}}}))),await s(e,t)}await o()}await s(e,t)}(i,n,function(e,t){let n=0;return e.forEach(i),n;function i(e){n+=e[t],e.children&&e.children.forEach(i)}}([n],"uncompressedSize"),t),await i.close(),e.getData()}getChildByName(e){const t=this.children;for(let n=0;n{n.id==e.id&&t.splice(i,1)}))}function On(e){e.entries=[],e.root=new jn(e)}function Tn(e,t,n,i){if(e.directory)return i?new jn(e.fs,t,n,e):new Sn(e.fs,t,n,e);throw new Error("Parent entry is not a directory")}(()=>{if("function"==typeof URL.createObjectURL){const e=(()=>{const e=[];for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)1&n?n=n>>>1^3988292384:n>>>=1;e[t]=n}class t{constructor(e){this.crc=e||-1}append(t){let n=0|this.crc;for(let i=0,r=0|t.length;i>>8^e[255&(n^t[i])];this.crc=n}get(){return~this.crc}}const n={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const i=e[e.length-1],r=n.getPartial(i);return 32===r?e.concat(t):n._shiftRight(t,r,0|i,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const i=e[t-1];return 32*(t-1)+n.getPartial(i)},clamp(e,t){if(32*e.length0&&t&&(e[i-1]=n.partial(t,e[i-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,i,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(i),i=0;if(0===t)return r.concat(e);for(let n=0;n>>t),i=e[n]<<32-t;const a=e.length?e[e.length-1]:0,s=n.getPartial(a);return r.push(n.partial(t+s&31,t+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(e){const t=n.bitLength(e)/8,i=new Uint8Array(t);let r;for(let n=0;n>>24,r<<=8;return i},toBits(e){const t=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let d=0;for(let e=t.blockSize+a-(t.blockSize+a&t.blockSize-1);e<=s;e+=t.blockSize)t._block(o.subarray(16*d,16*(d+1))),d+=1;return r.splice(0,16*d),t},finalize:function(){const e=this;let t=e._buffer;const i=e._h;t=n.concat(t,[n.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(),i},_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<>>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],d=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)+d+i[e]+t._key[Math.floor(e/20)]|0;d=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]+d|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),d=["deriveBits"],l=[8,12,16],c=[16,24,32],f=[0,0,0,0],u=crypto.subtle,p=i.bytes,h=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,d=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^d<<24,d=d<<1^283*(d>>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,d,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let c=s=0;!n[c];c^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[c]=a,i[a]=c,l=r[d=r[o=r[c]]];let f=16843009*l^65537*d^257*o^16843008*c,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][c]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>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],d=a[2],l=a[3],c=a[4];let f,u,p,h=e[0]^n[0],_=e[t?3:1]^n[1],m=e[2]^n[2],x=e[t?1:3]^n[3],w=4;for(let e=0;e>>24]^o[_>>16&255]^d[m>>8&255]^l[255&x]^n[w],u=s[_>>>24]^o[m>>16&255]^d[x>>8&255]^l[255&h]^n[w+1],p=s[m>>>24]^o[x>>16&255]^d[h>>8&255]^l[255&_]^n[w+2],x=s[x>>>24]^o[h>>16&255]^d[_>>8&255]^l[255&m]^n[w+3],w+=4,h=f,_=u,m=p;for(let e=0;e<4;e++)r[t?3&-e:e]=c[h>>>24]<<24^c[_>>16&255]<<16^c[m>>8&255]<<8^c[255&x]^n[w++],f=h,h=_,_=m,m=x,x=f;return r}},_=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,i){let r;if(!(r=t.length))return[];const a=n.bitLength(t);for(let n=0;na&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=p.toBits(y(t,o,o+16));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(p.fromBits(s),o+i)}return e.pendingInput=y(t,o),n}async function b(e,t,n){const i=(new TextEncoder).encode(t),r=await u.importKey("raw",i,s,!1,d),a=await u.deriveBits(Object.assign({salt:n},o),r,8*(2*c[e.strength]+2)),l=new Uint8Array(a);e.keys={key:p.toBits(y(l,0,c[e.strength])),authentication:p.toBits(y(l,c[e.strength],2*c[e.strength])),passwordVerification:y(l,2*c[e.strength])}}function v(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 y(e,t,n){return e.subarray(t,n)}class k{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),U(this,e)}async append(e){const t=this;if(t.password){const n=A(t,e.subarray(0,12));if(t.password=null,n[11]!=t.passwordVerification)throw new Error("Invalid pasword");e=e.subarray(12)}return A(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class z{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),U(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(E(t,r),0),i=12}else n=new Uint8Array(e.length),i=0;return n.set(E(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function A(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function D(e){const t=2|e.keys[2];return S(Math.imul(t,1^t)>>>8)}function S(e){return 255&e}function j(e){return 4294967295&e}class I{constructor(e,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:d}){const l=Boolean(i);Object.assign(this,{signature:n,encrypted:l,signed:r,compressed:a,inflate:a&&new e,crc32:r&&new t,zipCrypto:s,decrypt:l&&s?new k(i,o):new x(i,r,d)})}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("Invalid signature");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.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class F{constructor(e,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:d,encryptionStrength:l}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new e({level:a||5}),crc32:i&&new t,zipCrypto:s,encrypt:n&&s?new z(o,d):new w(o,l)})}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 C={init(e){e.scripts&&e.scripts.length&&importScripts.apply(void 0,e.scripts);const t=e.options;let n;self.initCodec&&self.initCodec(),t.codecType.startsWith("deflate")?n=self.Deflate:t.codecType.startsWith("inflate")&&(n=self.Inflate),B=function(e,t){return t.codecType.startsWith("deflate")?new F(e,t):t.codecType.startsWith("inflate")?new I(e,t):void 0}(n,t)},append:async e=>({data:await B.append(e.data)}),flush:()=>B.flush()};let B;function O(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}addEventListener("message",(async e=>{const t=e.data,n=t.type,i=C[n];if(i)try{t.data&&(t.data=new Uint8Array(t.data));const e=await i(t)||{};if(e.type=n,e.data)try{e.data=e.data.buffer,postMessage(e,[e.data])}catch(t){postMessage(e)}else postMessage(e)}catch(e){postMessage({type:n,error:{message:e.message,stack:e.stack}})}}));const T=[0,1,2,3].concat(...O([[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 M(){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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,d,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);d=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*d]=i[2*s]+i[2*o],n.depth[d]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=d,n.heap[1]=d++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,d,l,c,f,u,p=0;for(c=0;c<=15;c++)t.bl_count[c]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],c=n[2*n[2*d+1]+1]+1,c>s&&(c=s,p++),n[2*d+1]=c,d>e.max_code||(t.bl_count[c]++,f=0,d>=a&&(f=r[d-a]),u=n[2*d],t.opt_len+=u*(c+f),i&&(t.static_len+=u*(i[2*d+1]+f)));if(0!==p){do{for(c=s-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[s]--,p-=2}while(p>0);for(c=s;0!==c;c--)for(d=t.bl_count[c];0!==d;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=c&&(t.opt_len+=(c-n[2*l+1])*n[2*l],n[2*l+1]=c),d--)}}(n),function(e,n,i){const r=[];let a,s,o,d=0;for(a=1;a<=15;a++)r[a]=d=d+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function W(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}function q(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}M._length_code=[0,1,2,3,4,5,6,7].concat(...O([[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]])),M.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],M.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],M.d_code=function(e){return e<256?T[e]:T[256+(e>>>7)]},M.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],M.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],M.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W.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],W.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],W.static_l_desc=new W(W.static_ltree,M.extra_lbits,257,286,15),W.static_d_desc=new W(W.static_dtree,M.extra_dbits,0,30,15),W.static_bl_desc=new W(null,M.extra_blbits,0,19,7);const H=[new q(0,0,0,0,0),new q(4,4,8,4,1),new q(4,5,16,8,1),new q(4,6,32,32,1),new q(4,4,16,16,2),new q(8,16,32,32,2),new q(8,16,128,128,2),new q(8,32,128,256,2),new q(32,128,258,1024,2),new q(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function L(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function ee(e,t){let n;const i=t;Y>16-i?(n=e,G|=n<>>16-Y,Y+=i-16):(G|=e<=8&&(Q(255&G),G>>>=8,Y-=8)}function re(t,n){let i,r,a;if(e.pending_buf[V+2*N]=t>>>8&255,e.pending_buf[V+2*N+1]=255&t,e.pending_buf[T+N]=255&n,N++,0===t?j[2*n]++:(Z++,t--,j[2*(M._length_code[n]+256+1)]++,I[2*M.d_code(t)]++),0==(8191&N)&&U>2){for(i=8*N,r=v-x,a=0;a<30;a++)i+=I[2*a]*(5+M.extra_dbits[a]);if(i>>>=3,Z8?$(G):Y>0&&Q(255&G),G=0,Y=0}function oe(t,n,i){ee(0+(i?1:0),3),function(t,n,i){se(),K=8,$(n),$(~n),e.pending_buf.set(d.subarray(t,t+n),e.pending),e.pending+=n}(t,n)}function de(t,n,i){let r,a,s=0;U>0?(C.build_tree(e),B.build_tree(e),s=function(){let t;for(J(j,C.max_code),J(I,B.max_code),O.build_tree(e),t=18;t>=3&&0===F[2*M.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?oe(t,n,i):a==r?(ee(2+(i?1:0),3),ae(W.static_ltree,W.static_dtree)):(ee(4+(i?1:0),3),function(e,t,n){let i;for(ee(e-257,5),ee(t-1,5),ee(n-4,4),i=0;i=0?x:-1,v-x,e),x=v,t.flush_pending()}function ce(){let e,n,i,r;do{if(r=l-k-v,0===r&&0===v&&0===k)r=a;else if(-1==r)r--;else if(v>=a+a-262){d.set(d.subarray(a,a+a),0),y-=a,v-=a,x-=a,e=p,i=e;do{n=65535&f[--i],f[i]=n>=a?n-a:0}while(0!=--e);e=a,i=e;do{n=65535&c[--i],c[i]=n>=a?n-a:0}while(0!=--e);r+=a}if(0===t.avail_in)return;e=t.read_buf(d,v+k,r),k+=e,k>=3&&(u=255&d[v],u=(u<a-262?v-(a-262):0;let f=S;const u=o,p=v+258;let h=d[r+s-1],_=d[r+s];z>=D&&(i>>=2),f>k&&(f=k);do{if(t=e,d[t+s]==_&&d[t+s-1]==h&&d[t]==d[r]&&d[++t]==d[r+1]){r+=2,t++;do{}while(d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&rs){if(y=e,s=n,n>=f)break;h=d[r+s-1],_=d[r+s]}}}while((e=65535&c[e&u])>l&&0!=--i);return s<=k?s:k}function ue(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=113,r=0,C.dyn_tree=j,C.stat_desc=W.static_l_desc,B.dyn_tree=I,B.stat_desc=W.static_d_desc,O.dyn_tree=F,O.stat_desc=W.static_bl_desc,G=0,Y=0,K=8,X(),function(){l=2*a,f[p-1]=0;for(let e=0;e9||8!=l||r<9||r>15||n<0||n>9||x<0||x>2?-2:(t.dstate=e,s=r,a=1<9||n<0||n>2?-2:(H[U].func!=H[t].func&&0!==e.total_in&&(i=e.deflate(1)),U!=t&&(U=t,E=H[U].max_lazy,D=H[U].good_length,S=H[U].nice_length,A=H[U].max_chain),R=n,i)},e.deflateSetDictionary=function(e,t,i){let r,s=i,l=0;if(!t||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,l=i-s),d.set(t.subarray(l,l+s),0),v=s,x=s,u=255&d[0],u=(u<4||h<0)return-2;if(!l.next_out||!l.next_in&&0!==l.avail_in||666==n&&4!=h)return l.msg=P[4],-2;if(0===l.avail_out)return l.msg=P[7],-5;var F;if(t=l,j=r,r=h,42==n&&(D=8+(s-8<<4)<<8,S=(U-1&255)>>1,S>3&&(S=3),D|=S<<6,0!==v&&(D|=32),D+=31-D%31,n=113,Q((F=D)>>8&255),Q(255&F)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,0}else if(0===t.avail_in&&h<=j&&4!=h)return t.msg=P[7],-5;if(666==n&&0!==t.avail_in)return l.msg=P[7],-5;if(0!==t.avail_in||0!==k||0!=h&&666!=n){switch(I=-1,H[U].func){case 0:I=function(e){let n,r=65535;for(r>i-5&&(r=i-5);;){if(k<=1){if(ce(),0===k&&0==e)return 0;if(0===k)break}if(v+=k,k=0,n=x+r,(0===v||v>=n)&&(k=v-n,v=n,le(!1),0===t.avail_out))return 0;if(v-x>=a-262&&(le(!1),0===t.avail_out))return 0}return le(4==e),0===t.avail_out?4==e?2:0:4==e?3:1}(h);break;case 1:I=function(e){let n,i=0;for(;;){if(k<262){if(ce(),k<262&&0==e)return 0;if(0===k)break}if(k>=3&&(u=(u<=3)if(n=re(v-y,w-3),k-=w,w<=E&&k>=3){w--;do{v++,u=(u<=3&&(u=(u<4096)&&(w=2)),z>=3&&w<=z){i=v+k-3,n=re(v-1-g,z-3),k-=z-1,z-=2;do{++v<=i&&(u=(u<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 s=new Uint8Array(l),c.forEach((function(e){s.set(e,d),d+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}}V.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new N,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd:function(){const e=this;if(!e.dstate)return-2;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):-2},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf:function(e,t,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 K=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],G=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function ee(){let e,t,n,i,r,a;function s(e,t,s,o,d,l,c,f,u,p,h){let _,m,x,w,g,b,v,y,k,z,A,E,U,R,D;z=0,g=s;do{n[e[t+z]]++,z++,g--}while(0!==g);if(n[0]==s)return c[0]=-1,f[0]=0,0;for(y=f[0],b=1;b<=15&&0===n[b];b++);for(v=b,yg&&(y=g),f[0]=y,R=1<E+y;){if(w++,E+=y,D=x-E,D=D>y?y:D,(m=1<<(b=v-E))>_+1&&(m-=_+1,U=v,b1440)return-3;r[w]=A=p[0],p[0]+=D,0!==w?(a[w]=g,i[0]=b,i[1]=y,b=g>>>E-y,i[2]=A-r[w-1]-b,u.set(i,3*(r[w-1]+b))):c[0]=A}for(i[1]=v-E,z>=s?i[0]=192:h[z]>>E;b>>=1)g^=b;for(g^=b,k=(1<257?(-3==p?u.msg="oversubscribed distance tree":-5==p?(u.msg="incomplete distance tree",p=-3):-4!=p&&(u.msg="empty distance tree with lengths",p=-3),p):0)}}function te(){const e=this;let t,n,i,r,a=0,s=0,o=0,d=0,l=0,c=0,f=0,u=0,p=0,h=0;function _(e,t,n,i,r,a,s,o){let d,l,c,f,u,p,h,_,m,x,w,g,b,v,y,k;h=o.next_in_index,_=o.avail_in,u=s.bitb,p=s.bitk,m=s.write,x=m>=l[k+1],p-=l[k+1],0!=(16&f)){for(f&=15,b=l[k+2]+(u&K[f]),u>>=f,p-=f;p<15;)_--,u|=(255&o.read_byte(h++))<>=l[k+1],p-=l[k+1],0!=(16&f)){for(f&=15;p>=f,p-=f,x-=b,m>=v)y=m-v,m-y>0&&2>m-y?(s.window[m++]=s.window[y++],s.window[m++]=s.window[y++],b-=2):(s.window.set(s.window.subarray(y,y+2),m),m+=2,y+=2,b-=2);else{y=m-v;do{y+=s.end}while(y<0);if(f=s.end-y,b>f){if(b-=f,m-y>0&&f>m-y)do{s.window[m++]=s.window[y++]}while(0!=--f);else s.window.set(s.window.subarray(y,y+f),m),m+=f,y+=f,f=0;y=0}}if(m-y>0&&b>m-y)do{s.window[m++]=s.window[y++]}while(0!=--b);else s.window.set(s.window.subarray(y,y+b),m),m+=b,y+=b,b=0;break}if(0!=(64&f))return o.msg="invalid distance code",b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,-3;d+=l[k+2],d+=u&K[f],k=3*(c+d),f=l[k]}break}if(0!=(64&f))return 0!=(32&f)?(b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,1):(o.msg="invalid literal/length code",b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,-3);if(d+=l[k+2],d+=u&K[f],k=3*(c+d),0===(f=l[k])){u>>=l[k+1],p-=l[k+1],s.window[m++]=l[k+2],x--;break}}else u>>=l[k+1],p-=l[k+1],s.window[m++]=l[k+2],x--}while(x>=258&&_>=10);return b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,0}e.init=function(e,a,s,o,d,l){t=0,f=e,u=a,i=s,p=o,r=d,h=l,n=null},e.proc=function(e,m,x){let w,g,b,v,y,k,z,A=0,E=0,U=0;for(U=m.next_in_index,v=m.avail_in,A=e.bitb,E=e.bitk,y=e.write,k=y=258&&v>=10&&(e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,x=_(f,u,i,p,r,h,e,m),U=m.next_in_index,v=m.avail_in,A=e.bitb,E=e.bitk,y=e.write,k=y>>=n[g+1],E-=n[g+1],b=n[g],0===b){d=n[g+2],t=6;break}if(0!=(16&b)){l=15&b,a=n[g+2],t=2;break}if(0==(64&b)){o=b,s=g/3+n[g+2];break}if(0!=(32&b)){t=7;break}return t=9,m.msg="invalid literal/length code",x=-3,e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,e.inflate_flush(m,x);case 2:for(w=l;E>=w,E-=w,o=u,n=r,s=h,t=3;case 3:for(w=o;E>=n[g+1],E-=n[g+1],b=n[g],0!=(16&b)){l=15&b,c=n[g+2],t=4;break}if(0==(64&b)){o=b,s=g/3+n[g+2];break}return t=9,m.msg="invalid distance code",x=-3,e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,e.inflate_flush(m,x);case 4:for(w=l;E>=w,E-=w,t=5;case 5:for(z=y-c;z<0;)z+=e.end;for(;0!==a;){if(0===k&&(y==e.end&&0!==e.read&&(y=0,k=y7&&(E-=8,v++,U--),e.write=y,x=e.inflate_flush(m,x),y=e.write,k=ye.avail_out&&(i=e.avail_out),0!==i&&-5==t&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&-5==t&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,_,m,x,w,g,b,v;for(x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,g=n.write,b=g>>1){case 0:_>>>=3,m-=3,h=7&m,_>>>=h,m-=h,r=1;break;case 1:y=[],k=[],z=[[]],A=[[]],ee.inflate_trees_fixed(y,k,z,A),c.init(y[0],k[0],z[0],0,A[0],0),_>>>=3,m-=3,r=6;break;case 2:_>>>=3,m-=3,r=3;break;case 3:return _>>>=3,m-=3,r=9,e.msg="invalid block type",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t)}break;case 1:for(;m<32;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);a=65535&_,_=m=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);if(0===b&&(g==n.end&&0!==n.read&&(g=0,b=gw&&(h=w),h>b&&(h=b),n.window.set(e.read_buf(x,h),g),x+=h,w-=h,g+=h,b-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;m<14;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,m-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;m<3;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>=3,m-=3}for(;o<19;)i[ne[o++]]=0;if(d[0]=7,h=p.inflate_trees_bits(i,d,l,u,e),0!=h)return-3==(t=h)&&(i=null,r=9),n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,c;for(h=d[0];m>>=h,m-=h,i[o++]=c;else{for(v=18==c?7:c-14,a=18==c?11:3;m>>=h,m-=h,a+=_&K[v],_>>>=v,m-=v,v=o,h=s,v+a>258+(31&h)+(h>>5&31)||16==c&&v<1)return i=null,r=9,e.msg="invalid bit length repeat",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);c=16==c?i[v-1]:0;do{i[v++]=c}while(0!=--a);o=v}}if(l[0]=-1,E=[],U=[],R=[],D=[],E[0]=9,U[0]=6,h=s,h=p.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,E,U,R,D,u,e),0!=h)return-3==h&&(i=null,r=9),t=h,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);c.init(E[0],U[0],u,R[0],u,D[0]),r=6;case 6:if(n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,1!=(t=c.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,c.free(e),x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,g=n.write,b=g15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new ie(n,1<>4)>r.wbits){r.mode=13,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=13,e.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(e,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return-2;const a=e.istate;return r>=1<0&&e.next_in_index!=d&&(r(e.next_in_index),d=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(c),a.forEach((function(e){o.set(e,l),l+=e.length})),o}},this.flush=function(){e.inflateEnd()}}se.prototype={inflateInit:function(e){const t=this;return t.istate=new ae,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd:function(){const e=this;if(!e.istate)return-2;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary:function(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte:function(e){return this.next_in.subarray(e,e+1)[0]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=Z,self.Inflate=oe}}).toString(),t=URL.createObjectURL(new Blob(["("+e+")()"],{type:"text/javascript"}));H({workerScripts:{inflate:[t],deflate:[t]}})}})(),H({Deflate:function(e){const t=new w,n=512,i=new Uint8Array(n);let r=e?e.level:-1;void 0===r&&(r=-1),t.deflateInit(r),t.next_out=i,this.append=function(e,r){let a,s,o=0,d=0,l=0;const c=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?c.push(new Uint8Array(i)):c.push(new Uint8Array(i.subarray(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 s=new Uint8Array(l),c.forEach((function(e){s.set(e,d),d+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}},Inflate:function(){const e=new T,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(i,r){const a=[];let s,o,d=0,l=0,c=0;if(0!==i.length){e.next_in_index=0,e.next_in=i,e.avail_in=i.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),s=e.inflate(0),n&&s===v){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+e.msg);if((n||1===s)&&e.avail_in===i.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?a.push(new Uint8Array(t)):a.push(new Uint8Array(t.subarray(0,e.next_out_index)))),c+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=d&&(r(e.next_in_index),d=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(c),a.forEach((function(e){o.set(e,l),l+=e.length})),o}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=se,e.BlobWriter=oe,e.Data64URIReader=re,e.Data64URIWriter=ae,e.ERR_ABORT=jt,e.ERR_BAD_FORMAT=Tt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ht,e.ERR_DUPLICATED_NAME=cn,e.ERR_ENCRYPTED=Nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=qt,e.ERR_EOCDR_NOT_FOUND=Mt,e.ERR_EOCDR_ZIP64_NOT_FOUND=Wt,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Lt,e.ERR_HTTP_RANGE=Z,e.ERR_INVALID_COMMENT=fn,e.ERR_INVALID_DATE=_n,e.ERR_INVALID_ENCRYPTION_STRENGTH=mn,e.ERR_INVALID_ENTRY_COMMENT=un,e.ERR_INVALID_ENTRY_NAME=pn,e.ERR_INVALID_EXTRAFIELD_DATA=wn,e.ERR_INVALID_EXTRAFIELD_TYPE=xn,e.ERR_INVALID_PASSWORD=qe,e.ERR_INVALID_SIGNATURE=gt,e.ERR_INVALID_VERSION=hn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Pt,e.ERR_UNSUPPORTED_COMPRESSION=Zt,e.ERR_UNSUPPORTED_ENCRYPTION=Vt,e.HttpRangeReader=class extends he{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=he,e.Reader=ee,e.TextReader=ne,e.TextWriter=ie,e.Uint8ArrayReader=_e,e.Uint8ArrayWriter=me,e.Writer=te,e.ZipReader=Yt,e.ZipWriter=bn,e.configure=H,e.fs=In,e.getMimeType=function(e){return e&&L[e.split(".").pop().toLowerCase()]||"application/octet-stream"},e.initShimAsyncCodec=(e,t={},n)=>({Deflate:N(e.Deflate,t.deflate,n),Inflate:N(e.Inflate,t.inflate,n)}),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,i=-2,r=-5;function a(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const s=[0,1,2,3].concat(...a([[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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,d,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);d=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*d]=i[2*s]+i[2*o],n.depth[d]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=d,n.heap[1]=d++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,d,l,c,f,u,p=0;for(c=0;c<=15;c++)t.bl_count[c]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],c=n[2*n[2*d+1]+1]+1,c>s&&(c=s,p++),n[2*d+1]=c,d>e.max_code||(t.bl_count[c]++,f=0,d>=a&&(f=r[d-a]),u=n[2*d],t.opt_len+=u*(c+f),i&&(t.static_len+=u*(i[2*d+1]+f)));if(0!==p){do{for(c=s-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[s]--,p-=2}while(p>0);for(c=s;0!==c;c--)for(d=t.bl_count[c];0!==d;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=c&&(t.opt_len+=(c-n[2*l+1])*n[2*l],n[2*l+1]=c),d--)}}(n),function(e,n,i){const r=[];let a,s,o,d=0;for(a=1;a<=15;a++)r[a]=d=d+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function d(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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?s[e]:s[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],d.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],d.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],d.static_l_desc=new d(d.static_ltree,o.extra_lbits,257,286,15),d.static_d_desc=new d(d.static_dtree,o.extra_dbits,0,30,15),d.static_bl_desc=new d(null,o.extra_blbits,0,19,7);function l(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}const c=[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)],f=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],u=113,p=666,h=258,_=262;function m(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function de(e,t){let n;const i=t;ie>16-i?(n=e,ne|=n<>>16-ie,ie+=i-16):(ne|=e<=8&&(se(255&ne),ne>>>=8,ie-=8)}function ue(n,i){let r,a,s;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[X+Q]=255&i,Q++,0===n?N[2*i]++:(ee++,n--,N[2*(o._length_code[i]+t+1)]++,V[2*o.d_code(n)]++),0==(8191&Q)&&q>2){for(r=8*Q,a=C-S,s=0;s<30;s++)r+=V[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,ee8?oe(ne):ie>0&&se(255&ne),ne=0,ie=0}function _e(t,n,i){de(0+(i?1:0),3),function(t,n,i){he(),te=8,i&&(oe(n),oe(~n)),e.pending_buf.set(v.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function me(t,n,i){let r,a,s=0;q>0?(K.build_tree(e),G.build_tree(e),s=function(){let t;for(ae(N,K.max_code),ae(V,G.max_code),Y.build_tree(e),t=18;t>=3&&0===Z[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?_e(t,n,i):a==r?(de(2+(i?1:0),3),pe(d.static_ltree,d.static_dtree)):(de(4+(i?1:0),3),function(e,t,n){let i;for(de(e-257,5),de(t-1,5),de(n-4,4),i=0;i=0?S:-1,C-S,e),S=C,a.flush_pending()}function we(){let e,t,n,i;do{if(i=y-O-C,0===i&&0===C&&0===O)i=w;else if(-1==i)i--;else if(C>=w+w-_){v.set(v.subarray(w,w+w),0),B-=w,C-=w,S-=w,e=E,n=e;do{t=65535&z[--n],z[n]=t>=w?t-w:0}while(0!=--e);e=w,n=e;do{t=65535&k[--n],k[n]=t>=w?t-w:0}while(0!=--e);i+=w}if(0===a.avail_in)return;e=a.read_buf(v,C+O,i),O+=e,O>=3&&(A=255&v[C],A=(A<w-_?C-(w-_):0;let o=L;const d=b,l=C+h;let c=v[r+a-1],f=v[r+a];T>=P&&(i>>=2),o>O&&(o=O);do{if(t=e,v[t+a]==f&&v[t+a-1]==c&&v[t]==v[r]&&v[++t]==v[r+1]){r+=2,t++;do{}while(v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&v[++r]==v[++t]&&ra){if(B=e,a=n,n>=o)break;c=v[r+a-1],f=v[r+a]}}}while((e=65535&k[e&d])>s&&0!=--i);return a<=O?a:O}function be(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,s=u,x=0,K.dyn_tree=N,K.stat_desc=d.static_l_desc,G.dyn_tree=V,G.stat_desc=d.static_d_desc,Y.dyn_tree=Z,Y.stat_desc=d.static_bl_desc,ne=0,ie=0,te=8,re(),function(){y=2*w,z[E-1]=0;for(let e=0;e9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(t.dstate=e,g=r,w=1<9||n<0||n>2?i:(c[q].func!=c[t].func&&0!==e.total_in&&(r=e.deflate(1)),q!=t&&(q=t,W=c[q].max_lazy,P=c[q].good_length,L=c[q].nice_length,M=c[q].max_chain),H=n,r)},e.deflateSetDictionary=function(e,t,n){let r,a=n,o=0;if(!t||42!=s)return i;if(a<3)return 0;for(a>w-_&&(a=w-_,o=n-a),v.set(t.subarray(o,o+a),0),C=a,S=a,A=255&v[0],A=(A<4||o<0)return i;if(!t.next_out||!t.next_in&&0!==t.avail_in||s==p&&4!=o)return t.msg=f[4],i;if(0===t.avail_out)return t.msg=f[7],r;var P;if(a=t,U=x,x=o,42==s&&(m=8+(g-8<<4)<<8,y=(q-1&255)>>1,y>3&&(y=3),m|=y<<6,0!==C&&(m|=32),m+=31-m%31,s=u,se((P=m)>>8&255),se(255&P)),0!==e.pending){if(a.flush_pending(),0===a.avail_out)return x=-1,0}else if(0===a.avail_in&&o<=U&&4!=o)return a.msg=f[7],r;if(s==p&&0!==a.avail_in)return t.msg=f[7],r;if(0!==a.avail_in||0!==O||0!=o&&s!=p){switch(M=-1,c[q].func){case 0:M=function(e){let t,n=65535;for(n>l-5&&(n=l-5);;){if(O<=1){if(we(),0===O&&0==e)return 0;if(0===O)break}if(C+=O,O=0,t=S+n,(0===C||C>=t)&&(O=C-t,C=t,xe(!1),0===a.avail_out))return 0;if(C-S>=w-_&&(xe(!1),0===a.avail_out))return 0}return xe(4==e),0===a.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:M=function(e){let t,n=0;for(;;){if(O<_){if(we(),O<_&&0==e)return 0;if(0===O)break}if(O>=3&&(A=(A<=3)if(t=ue(C-B,j-3),O-=j,j<=W&&O>=3){j--;do{C++,A=(A<=3&&(A=(A<4096)&&(j=2)),T>=3&&j<=T){n=C+O-3,t=ue(C-1-I,T-3),O-=T-1,T-=2;do{++C<=n&&(A=(A<n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 g=-2,b=-3,v=-5,y=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],z=[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],A=[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],E=[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],U=[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],R=[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],D=15;function S(){let e,t,n,i,r,a;function s(e,t,s,o,d,l,c,f,u,p,h){let _,m,x,w,g,y,k,z,A,E,U,R,S,j,I;E=0,g=s;do{n[e[t+E]]++,E++,g--}while(0!==g);if(n[0]==s)return c[0]=-1,f[0]=0,0;for(z=f[0],y=1;y<=D&&0===n[y];y++);for(k=y,zg&&(z=g),f[0]=z,j=1<R+z;){if(w++,R+=z,I=x-R,I=I>z?z:I,(m=1<<(y=k-R))>_+1&&(m-=_+1,S=k,y1440)return b;r[w]=U=p[0],p[0]+=I,0!==w?(a[w]=g,i[0]=y,i[1]=z,y=g>>>R-z,i[2]=U-r[w-1]-y,u.set(i,3*(r[w-1]+y))):c[0]=U}for(i[1]=k-R,E>=s?i[0]=192:h[E]>>R;y>>=1)g^=y;for(g^=y,A=(1<257?(p==b?u.msg="oversubscribed distance tree":p==v?(u.msg="incomplete distance tree",p=b):-4!=p&&(u.msg="empty distance tree with lengths",p=b),p):0)}}S.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=k,i[0]=z,0};function j(){const e=this;let t,n,i,r,a=0,s=0,o=0,d=0,l=0,c=0,f=0,u=0,p=0,h=0;function _(e,t,n,i,r,a,s,o){let d,l,c,f,u,p,h,_,m,x,w,g,v,k,z,A;h=o.next_in_index,_=o.avail_in,u=s.bitb,p=s.bitk,m=s.write,x=m>=l[A+1],p-=l[A+1],0!=(16&f)){for(f&=15,v=l[A+2]+(u&y[f]),u>>=f,p-=f;p<15;)_--,u|=(255&o.read_byte(h++))<>=l[A+1],p-=l[A+1],0!=(16&f)){for(f&=15;p>=f,p-=f,x-=v,m>=k)z=m-k,m-z>0&&2>m-z?(s.window[m++]=s.window[z++],s.window[m++]=s.window[z++],v-=2):(s.window.set(s.window.subarray(z,z+2),m),m+=2,z+=2,v-=2);else{z=m-k;do{z+=s.end}while(z<0);if(f=s.end-z,v>f){if(v-=f,m-z>0&&f>m-z)do{s.window[m++]=s.window[z++]}while(0!=--f);else s.window.set(s.window.subarray(z,z+f),m),m+=f,z+=f,f=0;z=0}}if(m-z>0&&v>m-z)do{s.window[m++]=s.window[z++]}while(0!=--v);else s.window.set(s.window.subarray(z,z+v),m),m+=v,z+=v,v=0;break}if(0!=(64&f))return o.msg="invalid distance code",v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,b;d+=l[A+2],d+=u&y[f],A=3*(c+d),f=l[A]}break}if(0!=(64&f))return 0!=(32&f)?(v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,1):(o.msg="invalid literal/length code",v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,b);if(d+=l[A+2],d+=u&y[f],A=3*(c+d),0===(f=l[A])){u>>=l[A+1],p-=l[A+1],s.window[m++]=l[A+2],x--;break}}else u>>=l[A+1],p-=l[A+1],s.window[m++]=l[A+2],x--}while(x>=258&&_>=10);return v=o.avail_in-_,v=p>>3>3:v,_+=v,h-=v,p-=v<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,0}e.init=function(e,a,s,o,d,l){t=0,f=e,u=a,i=s,p=o,r=d,h=l,n=null},e.proc=function(e,m,x){let w,v,k,z,A,E,U,R=0,D=0,S=0;for(S=m.next_in_index,z=m.avail_in,R=e.bitb,D=e.bitk,A=e.write,E=A=258&&z>=10&&(e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,x=_(f,u,i,p,r,h,e,m),S=m.next_in_index,z=m.avail_in,R=e.bitb,D=e.bitk,A=e.write,E=A>>=n[v+1],D-=n[v+1],k=n[v],0===k){d=n[v+2],t=6;break}if(0!=(16&k)){l=15&k,a=n[v+2],t=2;break}if(0==(64&k)){o=k,s=v/3+n[v+2];break}if(0!=(32&k)){t=7;break}return t=9,m.msg="invalid literal/length code",x=b,e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,e.inflate_flush(m,x);case 2:for(w=l;D>=w,D-=w,o=u,n=r,s=h,t=3;case 3:for(w=o;D>=n[v+1],D-=n[v+1],k=n[v],0!=(16&k)){l=15&k,c=n[v+2],t=4;break}if(0==(64&k)){o=k,s=v/3+n[v+2];break}return t=9,m.msg="invalid distance code",x=b,e.bitb=R,e.bitk=D,m.avail_in=z,m.total_in+=S-m.next_in_index,m.next_in_index=S,e.write=A,e.inflate_flush(m,x);case 4:for(w=l;D>=w,D-=w,t=5;case 5:for(U=A-c;U<0;)U+=e.end;for(;0!==a;){if(0===E&&(A==e.end&&0!==e.read&&(A=0,E=A7&&(D-=8,z++,S--),e.write=A,x=e.inflate_flush(m,x),A=e.write,E=Ae.avail_out&&(i=e.avail_out),0!==i&&t==v&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==v&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,_,m,x,w,v,k,z;for(x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,v=n.write,k=v>>1){case 0:_>>>=3,m-=3,h=7&m,_>>>=h,m-=h,r=1;break;case 1:A=[],E=[],U=[[]],R=[[]],S.inflate_trees_fixed(A,E,U,R),c.init(A[0],E[0],U[0],0,R[0],0),_>>>=3,m-=3,r=6;break;case 2:_>>>=3,m-=3,r=3;break;case 3:return _>>>=3,m-=3,r=9,e.msg="invalid block type",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t)}break;case 1:for(;m<32;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);a=65535&_,_=m=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(0===k&&(v==n.end&&0!==n.read&&(v=0,k=vw&&(h=w),h>k&&(h=k),n.window.set(e.read_buf(x,h),v),x+=h,w-=h,v+=h,k-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;m<14;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,m-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;m<3;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>=3,m-=3}for(;o<19;)i[I[o++]]=0;if(d[0]=7,h=p.inflate_trees_bits(i,d,l,u,e),0!=h)return(t=h)==b&&(i=null,r=9),n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,c;for(h=d[0];m>>=h,m-=h,i[o++]=c;else{for(z=18==c?7:c-14,a=18==c?11:3;m>>=h,m-=h,a+=_&y[z],_>>>=z,m-=z,z=o,h=s,z+a>258+(31&h)+(h>>5&31)||16==c&&z<1)return i=null,r=9,e.msg="invalid bit length repeat",t=b,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);c=16==c?i[z-1]:0;do{i[z++]=c}while(0!=--a);o=z}}if(l[0]=-1,D=[],j=[],F=[],C=[],D[0]=9,j[0]=6,h=s,h=p.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,D,j,F,C,u,e),0!=h)return h==b&&(i=null,r=9),t=h,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,n.inflate_flush(e,t);c.init(D[0],j[0],u,F[0],u,C[0]),r=6;case 6:if(n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=v,1!=(t=c.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,c.free(e),x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,v=n.write,k=v15?(e.inflateEnd(n),g):(e.wbits=i,n.istate.blocks=new F(n,1<>4)>r.wbits){r.mode=C,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=C,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=C,e.msg="need dictionary",r.marker=0,g;case 7:if(n=r.blocks.proc(e,n),n==b){r.mode=C,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case C:return b;default:return g}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return g;const a=e.istate;return r>=1<{const e={};for(let t in P)if(P.hasOwnProperty(t))for(let n in P[t])if(P[t].hasOwnProperty(n)){const i=P[t][n];if("string"==typeof i)e[i]=t+"/"+n;else for(let r=0;r{if(r.pendingData){const t=r.pendingData;r.pendingData=new Uint8Array(t.length+e.length),r.pendingData.set(t,0),r.pendingData.set(e,t.length)}else r.pendingData=new Uint8Array(e)}))}async append(e){return this.codec.push(e),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new Uint8Array(0)}}const V="HTTP error ",Z="HTTP Range not supported",K="text/plain",G="Content-Length",Y="Accept-Ranges",X="HEAD",J="GET",Q="bytes";class ${constructor(){this.size=0}init(){this.initialized=!0}}class ee extends ${}class te extends ${writeUint8Array(e){this.size+=e.length}}class ne extends ee{constructor(e){super(),this.blobReader=new se(new Blob([e],{type:K}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(e,t){return this.blobReader.readUint8Array(e,t)}}class ie extends te{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:K})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:K})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=n,e.readAsText(this.blob,this.encoding)}))}}class re extends ee{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;e2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}}class se extends ee{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.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class oe extends te{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 de extends ee{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(),xe(this.url)&&!this.preventHeadRequest){const e=await ce(X,this.url,this.options);if(this.size=Number(e.headers.get(G)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(Y)!=Q)throw new Error(Z);void 0===this.size&&await le(this,this.options)}else await le(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await ce(J,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(Z);return new Uint8Array(await n.arrayBuffer())}return this.data||await le(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function le(e,t){const n=await ce(J,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function ce(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(V+(r.statusText||r.status))}class fe extends ee{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),xe(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>pe(X,this.url,(n=>{this.size=Number(n.getResponseHeader(G)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(Y)==Q?e():t(new Error(Z)):void 0===this.size?ue(this,this.url).then((()=>e())).catch(t):e()}),t)));await ue(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await ue(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>pe(J,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(Z)}}function ue(e,t){return new Promise(((n,i)=>pe(J,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function pe(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(V+(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 he extends ee{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new fe(e,t):this.reader=new de(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)}}class _e extends ee{constructor(e){super(),this.array=e,this.size=e.length}async readUint8Array(e,t){return this.array.slice(e,e+t)}}class me extends te{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}}function xe(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 we=4294967295,ge=65535,be=67324752,ve=134695760,ye=33639248,ke=101010256,ze=101075792,Ae=117853008,Ee=39169,Ue=2048,Re="/",De=new Date(2107,11,31),Se=new Date(1980,0,1),je="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Ie=[];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;Ie[e]=t}class Fe{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n>>8^Ie[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Ce={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Ce.getPartial(n);return 32===i?e.concat(t):Ce._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)+Ce.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=Ce.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>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Ce.getPartial(r);return i.push(Ce.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Be={bytes:{fromBits(e){const t=Ce.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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=Ce.concat(t,[Ce.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<>>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],d=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)+d+i[e]+t._key[Math.floor(e/20)]|0;d=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]+d|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,d=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^d<<24,d=d<<1^283*(d>>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,d,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let c=s=0;!n[c];c^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[c]=a,i[a]=c,l=r[d=r[o=r[c]]];let f=16843009*l^65537*d^257*o^16843008*c,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][c]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>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],d=a[2],l=a[3],c=a[4];let f,u,p,h=e[0]^n[0],_=e[t?3:1]^n[1],m=e[2]^n[2],x=e[t?1:3]^n[3],w=4;for(let e=0;e>>24]^o[_>>16&255]^d[m>>8&255]^l[255&x]^n[w],u=s[_>>>24]^o[m>>16&255]^d[x>>8&255]^l[255&h]^n[w+1],p=s[m>>>24]^o[x>>16&255]^d[h>>8&255]^l[255&_]^n[w+2],x=s[x>>>24]^o[h>>16&255]^d[_>>8&255]^l[255&m]^n[w+3],w+=4,h=f,_=u,m=p;for(let e=0;e<4;e++)r[t?3&-e:e]=c[h>>>24]<<24^c[_>>16&255]<<16^c[m>>8&255]<<8^c[255&x]^n[w++],f=h,h=_,_=m,m=x,x=f;return r}}},Me={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=Ce.bitLength(t);for(let r=0;rr&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%He)),o=0;o<=s-He;o+=He){const r=Je.toBits(st(t,o,o+He));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(Je.fromBits(s),o+i)}return e.pendingInput=st(t,o),n}async function rt(e,t,n){const i=(new TextEncoder).encode(t),r=await Xe.importKey("raw",i,Le,!1,Ve),a=await Xe.deriveBits(Object.assign({salt:n},Ne),r,8*(2*Ke[e.strength]+2)),s=new Uint8Array(a);e.keys={key:Je.toBits(st(s,0,Ke[e.strength])),authentication:Je.toBits(st(s,Ke[e.strength],2*Ke[e.strength])),passwordVerification:st(s,2*Ke[e.strength])}}function at(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 st(e,t,n){return e.subarray(t,n)}const ot=12;class dt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ut(this,e)}async append(e){const t=this;if(t.password){const n=ct(t,e.subarray(0,ot));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(qe);e=e.subarray(ot)}return ct(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class lt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ut(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(ot));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(ft(t,r),0),i=ot}else n=new Uint8Array(e.length),i=0;return n.set(ft(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function ct(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function ht(e){const t=2|e.keys[2];return _t(Math.imul(t,1^t)>>>8)}function _t(e){return 255&e}function mt(e){return 4294967295&e}const xt="deflate",wt="inflate",gt="Invalid signature";class bt{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const d=Boolean(n);Object.assign(this,{signature:t,encrypted:d,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new Fe,zipCrypto:a,decrypt:d&&a?new dt(n,s):new tt(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(gt);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.cipher!=n.getUint32(0,!1))throw new Error(gt)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class vt{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:d}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),crc32:n&&new Fe,zipCrypto:a,encrypt:t&&a?new lt(s,o):new nt(s,d)})}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 yt="init",kt="append",zt="flush",At="message";var Et=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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-fs-full.min.js",document.baseURI).href)),e.worker.addEventListener(At,r,!1),e.interface={append:e=>n({type:kt,data:e}),flush:()=>n({type:zt})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:yt,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==yt||r==zt||r==kt){const n=i.data;r==zt?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith(xt)?new vt(e,t):t.codecType.startsWith(wt)?new bt(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let Ut=[],Rt=[];function Dt(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(Ut.length!e.busy));return n?Et(n,e,t,St,i,r):new Promise((n=>Rt.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}function St(e){const t=!Rt.length;if(t)Ut=Ut.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Rt.splice(0,1);t(Et(e,n,i,St,r,a))}return t}const jt="Abort error";async function It(e,t,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(d=0,l=0){const c=s.signal;if(dthis[t]=e[t]))}}const Tt="File format is not recognized",Mt="End of central directory not found",Wt="End of Zip64 central directory not found",qt="End of Zip64 central directory locator not found",Ht="Central directory header not found",Pt="Local file header not found",Lt="Zip64 extra field not found",Nt="File contains encrypted entry",Vt="Encryption method not supported",Zt="Compression method not supported",Kt="utf-8",Gt=["uncompressedSize","compressedSize","offset"];class Yt{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:q()})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Tt);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(dn(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 ln(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,ke,n.size,22,1048560);if(!i)throw new Error(Mt);const r=dn(i);let a=sn(r,12),s=sn(r,16),o=an(r,8),d=0;if(s==we||o==ge){const e=dn(await ln(n,i.offset-20,20));if(sn(e,0)!=Ae)throw new Error(Wt);s=on(e,8);let t=await ln(n,s,56),r=dn(t);const l=i.offset-20-56;if(sn(r,0)!=ze&&s!=l){const e=s;s=l,d=s-e,t=await ln(n,s,56),r=dn(t)}if(sn(r,0)!=ze)throw new Error(qt);o=on(r,24),a=sn(e,4),s-=on(r,40)}if(s<0||s>=n.size)throw new Error(Tt);let l=0,c=await ln(n,s,n.size-s),f=dn(c);const u=i.offset-a;if(sn(f,l)!=ye&&s!=u){const e=s;s=u,d=s-e,c=await ln(n,s,n.size-s),f=dn(c)}if(s<0||s>=n.size)throw new Error(Tt);const p=[];for(let i=0;ii.getData(e,t),p.push(h),l=u}return p}async close(){}}class Xt{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:d,signature:l,rawLastModDate:c,compressedSize:f,onprogress:u}=n,p=n.localDirectory={};i.initialized||await i.init();const h=await ln(i,r,30),_=dn(h);let m=en(n,t,"password");if(m=m&&m.length&&m,a&&99!=a.originalCompressionMethod)throw new Error(Zt);if(0!=s&&8!=s)throw new Error(Zt);if(sn(_,0)!=be)throw new Error(Pt);Jt(p,_,4);const x=r+30+p.filenameLength,w=x+p.extraFieldLength;p.rawExtraField=h.subarray(x,w),Qt(n,p,_,4);const g=n.encrypted&&p.encrypted,b=g&&!a;if(g){if(!b&&void 0===a.strength)throw new Error(Vt);if(!m)throw new Error(Nt)}const v=await Dt(o.Inflate,{codecType:wt,password:m,zipCrypto:b,encryptionStrength:a&&a.strength,signed:en(n,t,"checkSignature"),passwordVerification:b&&(d.dataDescriptor?c>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:g,useWebWorkers:en(n,t,"useWebWorkers")},o);e.initialized||await e.init();const y=en(n,t,"signal");return await It(v,i,e,w,f,o,{onprogress:t.onprogress,signal:y}),e.getData()}}function Jt(e,t,n){const i=e.rawBitFlag=an(t,n+2),r=1==(1&i);Object.assign(e,{encrypted:r,version:an(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&Ue)==Ue},rawLastModDate:sn(t,n+6),lastModDate:nn(e.rawLastModDate),filenameLength:an(t,n+22),extraFieldLength:an(t,n+24)})}function Qt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=dn(new Uint8Array(r));let o=0;try{for(;ot[e]==we));for(let t=0;t{if(t[n]==we){if(!e||void 0===e[n])throw new Error(Lt);t[n]=e[n]}}))}(l,t);const c=t.extraFieldUnicodePath=a.get(28789);c&&$t(c,"filename","rawFilename",t,e);const f=t.extraFieldUnicodeComment=a.get(25461);f&&$t(f,"comment","rawComment",t,e);const u=t.extraFieldAES=a.get(39169);u?function(e,t,n){if(e){const i=dn(e.data);e.vendorVersion=rn(i,0),e.vendorId=rn(i,2);const r=rn(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=an(i,5)}else t.compressionMethod=n}(u,t,d):t.compressionMethod=d}function $t(e,t,n,i,r){const a=dn(e.data);e.version=rn(a,0),e.signature=sn(a,1);const s=new Fe;s.append(r[n]);const o=dn(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==sn(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function en(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function tn(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n>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 rn(e,t){return e.getUint8(t)}function an(e,t){return e.getUint16(t,!0)}function sn(e,t){return e.getUint32(t,!0)}function on(e,t){return Number(e.getBigUint64(t,!0))}function dn(e){return new DataView(e.buffer)}function ln(e,t,n){return e.readUint8Array(t,n)}const cn="File already exists",fn="Zip file comment exceeds 64KB",un="File entry comment exceeds 64KB",pn="File entry name exceeds 64KB",hn="Version exceeds 65535",_n="The modification date must be between 1/1/1980 and 12/31/2107",mn="The strength must equal 1, 2, or 3",xn="Extra field type exceeds 65535",wn="Extra field data exceeds 64KB",gn=new Uint8Array([7,0,2,0,65,69,3,0,0]);class bn{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:q(),files:new Map,offset:e.size,pendingOutputSize:0})}async add(e="",t,n={}){const i=this;if(e=e.trim(),n.directory&&!e.endsWith(Re)?e+=Re:n.directory=e.endsWith(Re),i.files.has(e))throw new Error(cn);const r=(new TextEncoder).encode(e);if(r.length>ge)throw new Error(pn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>ge)throw new Error(un);const o=i.options.version||n.version||0;if(o>ge)throw new Error(hn);const d=n.lastModDate||new Date;if(dDe)throw new Error(_n);const l=vn(i,n,"password"),c=vn(i,n,"encryptionStrength")||3,f=vn(i,n,"zipCrypto");if(void 0!==l&&void 0!==c&&(c<1||c>3))throw new Error(mn);t&&!t.initialized&&await t.init();let u=new Uint8Array(0);const p=n.extraField;if(p){let e=0,t=0;p.forEach((t=>e+=4+t.length)),u=new Uint8Array(e),p.forEach(((e,n)=>{if(n>ge)throw new Error(xn);if(e.length>ge)throw new Error(wn);En(u,new Uint16Array([n]),t),En(u,new Uint16Array([e.length]),t+2),En(u,e,t+4),t+=4+e.length}))}const h=t?Math.floor(1.05*t.size):0;i.pendingOutputSize+=h,await Promise.resolve();const _=n.zip64||i.options.zip64||i.offset>=we||h>=we||i.offset+i.pendingOutputSize>=we,m=vn(i,n,"level"),x=vn(i,n,"useWebWorkers"),w=vn(i,n,"bufferedWrite");let g=vn(i,n,"keepOrder"),b=vn(i,n,"dataDescriptor");const v=vn(i,n,"signal");void 0===b&&(b=!0),void 0===g&&(g=!0);const y=await async function(e,t,n,i){const r=e.files,a=e.writer;let s,o;r.set(t,null);try{let d,l,c;try{i.keepOrder&&(d=e.lockPreviousFile,e.lockPreviousFile=new Promise((e=>o=e))),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(l=new oe,l.init()):(e.lockWrite=new Promise((e=>s=e)),a.initialized||await a.init(),l=a),c=await async function(e,t,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:d,zipCrypto:l,dataDescriptor:c,directory:f,version:u,rawComment:p,rawExtraField:h,useWebWorkers:_,onprogress:m,signal:x,encryptionStrength:w}=i,g=Boolean(s&&s.length),b=0!==o&&!f;let v;if(g&&!l){v=new Uint8Array(gn.length+2);const e=Un(v);kn(e,0,Ee),En(v,gn,2),yn(e,8,w)}else v=new Uint8Array(0);const y={version:u||20,zip64:d,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:p,rawExtraFieldZip64:d?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:v,rawExtraField:h};let k=Ue;c&&(k|=8);let z=0;b&&(z=8);d&&(y.version=y.version>45?y.version:45);g&&(k|=1,l||(y.version=y.version>51?y.version:51,z=99,b&&(y.rawExtraFieldAES[9]=8)));const A=y.headerArray=new Uint8Array(26),E=Un(A);kn(E,0,y.version),kn(E,2,k),kn(E,4,z);const U=new Uint32Array(1),R=Un(U);kn(R,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),kn(R,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const D=U[0];zn(E,6,D),kn(E,22,r.length),kn(E,24,0),kn(E,24,v.length+y.rawExtraField.length);const S=new Uint8Array(30+r.length+v.length+y.rawExtraField.length);let j;zn(Un(S),0,be),En(S,A,4),En(S,r,30),En(S,v,30+r.length),En(S,y.rawExtraField,30+r.length+v.length);let I=0,F=0;if(e){I=e.size;const i=await Dt(n.Deflate,{codecType:xt,level:o,password:s,encryptionStrength:w,zipCrypto:g&&l,passwordVerification:g&&l&&D>>8&255,signed:!0,compressed:b,encrypted:g,useWebWorkers:_},n);await t.writeUint8Array(S),j=await It(i,e,t,0,I,n,{onprogress:m,signal:x}),F=j.length}else await t.writeUint8Array(S);let C,B=new Uint8Array(0);c&&(B=new Uint8Array(d?24:16),C=Un(B),zn(C,0,ve));if(e){const e=j.signature;if(g&&!l||void 0===e||(zn(E,10,e),y.signature=e,c&&zn(C,4,e)),d){const e=Un(y.rawExtraFieldZip64);kn(e,0,1),kn(e,2,24),zn(E,14,we),An(e,12,BigInt(F)),zn(E,18,we),An(e,4,BigInt(I)),c&&(An(C,8,BigInt(F)),An(C,16,BigInt(I)))}else zn(E,14,F),zn(E,18,I),c&&(zn(C,8,F),zn(C,12,I))}c&&await t.writeUint8Array(B);const O=S.length+F+B.length;return Object.assign(y,{compressedSize:F,uncompressedSize:I,lastModDate:a,rawLastModDate:D,encrypted:g,length:O}),y}(n,l,e.config,i)}catch(e){throw r.delete(t),e}if(r.set(t,c),l!=a){const t=l.getData(),n=new FileReader,r=new Promise(((e,i)=>{n.onload=t=>e(t.target.result),n.onerror=i,n.readAsArrayBuffer(t)})),[s]=await Promise.all([r,e.lockWrite,d]);if(!i.dataDescriptor){const e=new DataView(s);c.encrypted&&!i.zipCrypto||zn(e,14,c.signature),c.zip64?(zn(e,18,we),zn(e,22,we)):(zn(e,18,c.compressedSize),zn(e,22,c.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(c.offset=e.offset,c.zip64){An(Un(c.rawExtraFieldZip64),20,BigInt(c.offset))}return e.offset+=c.length,c}finally{o&&o(),s&&s()}}(i,e,t,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:d,rawExtraField:u,zip64:_,password:l,level:m,useWebWorkers:x,encryptionStrength:c,zipCrypto:f,bufferedWrite:w,keepOrder:g,dataDescriptor:b,signal:v}));return i.pendingOutputSize-=h,Object.assign(y,{name:e,comment:a,extraField:p}),new Ot(y)}async close(e=new Uint8Array(0)){const t=this,n=t.writer,i=t.files;let r=0,a=0,s=t.offset,o=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraField.length;const d=t.options.zip64||s>=we||a>=we||o>=ge,l=new Uint8Array(a+(d?98:22)),c=Un(l);if(e.length){if(!(e.length<=ge))throw new Error(fn);kn(c,r+20,e.length)}for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:d,directory:f,zip64:u}=e,p=n.length+i.length+a.length;zn(c,r,ye),kn(c,r+4,o),En(l,d,r+6),kn(c,r+30,p),kn(c,r+32,s.length),f&&yn(c,r+38,16),zn(c,r+42,u?we:e.offset),En(l,t,r+46),En(l,n,r+46+t.length),En(l,i,r+46+t.length+n.length),En(l,a,46+t.length+n.length+i.length),En(l,s,r+46+t.length+p),r+=46+t.length+p+s.length}return d&&(zn(c,r,ze),An(c,r+4,BigInt(44)),kn(c,r+12,45),kn(c,r+14,45),An(c,r+24,BigInt(o)),An(c,r+32,BigInt(o)),An(c,r+40,BigInt(a)),An(c,r+48,BigInt(s)),zn(c,r+56,Ae),An(c,r+64,BigInt(s)+BigInt(a)),zn(c,r+72,1),o=ge,s=we,a=we,r+=76),zn(c,r,ke),kn(c,r+8,o),kn(c,r+10,o),zn(c,r+12,a),zn(c,r+16,s),await n.writeUint8Array(l),e.length&&await n.writeUint8Array(e),n.getData()}}function vn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function yn(e,t,n){e.setUint8(t,n)}function kn(e,t,n){e.setUint16(t,n,!0)}function zn(e,t,n){e.setUint32(t,n,!0)}function An(e,t,n){e.setBigUint64(t,n,!0)}function En(e,t,n){e.set(t,n)}function Un(e){return new DataView(e.buffer)}const Rn=524288;class Dn{constructor(e,t,n,i){const r=this;if(e.root&&i&&i.getChildByName(t))throw new Error("Entry filename already exists");n||(n={}),Object.assign(r,{fs:e,name:t,data:n.data,id:e.entries.length,parent:i,children:[],uncompressedSize:0}),e.entries.push(r),i&&r.parent.children.push(r)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,n=this.parent;for(;n&&n!=e;)t=(n.name?n.name+"/":"")+t,n=n.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return Boolean(t)}}class Sn extends Dn{constructor(e,t,n,i){super(e,t,n,i);const r=this;r.Reader=n.Reader,r.Writer=n.Writer,n.getData&&(r.getData=n.getData)}async getData(e,t={}){const n=this;return!e||e.constructor==n.Writer&&n.data?n.data:(n.reader=new n.Reader(n.data,t),await n.reader.init(),e.initialized||await e.init(),n.uncompressedSize=n.reader.size,async function(e,t){return n();async function n(i=0){const r=i*Rn;if(rt.file((i=>n(e.addBlob(t.name,i))),i)));async function n(e,t){const r=await i(t);for(const t of r)t.isDirectory?await n(e.addDirectory(t.name),t):await new Promise(((n,i)=>{t.file((i=>{const r=e.addBlob(t.name,i);r.uncompressedSize=i.size,n(r)}),i)}))}function i(e){return new Promise(((t,n)=>{let i=[];function r(e){e.readEntries((n=>{n.length?(i=i.concat(n),r(e)):t(i)}),n)}e.isDirectory&&r(e.createReader()),e.isFile&&t(i)}))}}(this,e)}async addData(e,t){return Tn(this,e,t)}async importBlob(e,t={}){await this.importZip(new se(e),t)}async importData64URI(e,t={}){await this.importZip(new re(e),t)}async importUint8Array(e,t={}){await this.importZip(new _e(e),t)}async importHttpContent(e,t={}){await this.importZip(new he(e,t),t)}async exportBlob(e={}){return this.exportZip(new oe("application/zip"),e)}async exportData64URI(e={}){return this.exportZip(new ae("application/zip"),e)}async exportUint8Array(e={}){return this.exportZip(new me,e)}async importZip(e,t){e.initialized||await e.init();const n=new Yt(e,t);(await n.getEntries()).forEach((e=>{let n=this;const i=e.filename.split("/"),r=i.pop();i.forEach((e=>n=n.getChildByName(e)||new jn(this.fs,e,null,n))),e.directory||Tn(n,r,{data:e,Reader:Fn(Object.assign({},t))})}))}async exportZip(e,t){const n=this;await Cn(n),await e.init();const i=new bn(e,t);return await async function(e,t,n,i){const r=t,a=new Map;async function s(e,t){async function o(){if(i.bufferedWrite)await Promise.all(t.children.map(d));else for(const e of t.children)await d(e)}async function d(t){const o=i.relativePath?t.getRelativeName(r):t.getFullname();await e.add(o,t.reader,Object.assign({directory:t.directory},Object.assign({},i,{onprogress:e=>{if(i.onprogress){a.set(o,e);try{i.onprogress(Array.from(a.values()).reduce(((e,t)=>e+t)),n)}catch(e){}}}}))),await s(e,t)}await o()}await s(e,t)}(i,n,function(e,t){let n=0;return e.forEach(i),n;function i(e){n+=e[t],e.children&&e.children.forEach(i)}}([n],"uncompressedSize"),t),await i.close(),e.getData()}getChildByName(e){const t=this.children;for(let n=0;n{n.id==e.id&&t.splice(i,1)}))}function On(e){e.entries=[],e.root=new jn(e)}function Tn(e,t,n,i){if(e.directory)return i?new jn(e.fs,t,n,e):new Sn(e.fs,t,n,e);throw new Error("Parent entry is not a directory")}(()=>{if("function"==typeof URL.createObjectURL){const e=(()=>{const e=[];for(let t=0;t<256;t++){let n=t;for(let e=0;e<8;e++)1&n?n=n>>>1^3988292384:n>>>=1;e[t]=n}class t{constructor(e){this.crc=e||-1}append(t){let n=0|this.crc;for(let i=0,r=0|t.length;i>>8^e[255&(n^t[i])];this.crc=n}get(){return~this.crc}}const n={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const i=e[e.length-1],r=n.getPartial(i);return 32===r?e.concat(t):n._shiftRight(t,r,0|i,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const i=e[t-1];return 32*(t-1)+n.getPartial(i)},clamp(e,t){if(32*e.length0&&t&&(e[i-1]=n.partial(t,e[i-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,i,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(i),i=0;if(0===t)return r.concat(e);for(let n=0;n>>t),i=e[n]<<32-t;const a=e.length?e[e.length-1]:0,s=n.getPartial(a);return r.push(n.partial(t+s&31,t+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(e){const t=n.bitLength(e)/8,i=new Uint8Array(t);let r;for(let n=0;n>>24,r<<=8;return i},toBits(e){const t=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let d=0;for(let e=t.blockSize+a-(t.blockSize+a&t.blockSize-1);e<=s;e+=t.blockSize)t._block(o.subarray(16*d,16*(d+1))),d+=1;return r.splice(0,16*d),t},finalize:function(){const e=this;let t=e._buffer;const i=e._h;t=n.concat(t,[n.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(),i},_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<>>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],d=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)+d+i[e]+t._key[Math.floor(e/20)]|0;d=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]+d|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),d=["deriveBits"],l=[8,12,16],c=[16,24,32],f=[0,0,0,0],u=crypto.subtle,p=i.bytes,h=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,d=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^d<<24,d=d<<1^283*(d>>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,d,l;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let c=s=0;!n[c];c^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[c]=a,i[a]=c,l=r[d=r[o=r[c]]];let f=16843009*l^65537*d^257*o^16843008*c,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)e[n][c]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>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],d=a[2],l=a[3],c=a[4];let f,u,p,h=e[0]^n[0],_=e[t?3:1]^n[1],m=e[2]^n[2],x=e[t?1:3]^n[3],w=4;for(let e=0;e>>24]^o[_>>16&255]^d[m>>8&255]^l[255&x]^n[w],u=s[_>>>24]^o[m>>16&255]^d[x>>8&255]^l[255&h]^n[w+1],p=s[m>>>24]^o[x>>16&255]^d[h>>8&255]^l[255&_]^n[w+2],x=s[x>>>24]^o[h>>16&255]^d[_>>8&255]^l[255&m]^n[w+3],w+=4,h=f,_=u,m=p;for(let e=0;e<4;e++)r[t?3&-e:e]=c[h>>>24]<<24^c[_>>16&255]<<16^c[m>>8&255]<<8^c[255&x]^n[w++],f=h,h=_,_=m,m=x,x=f;return r}},_=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,i){let r;if(!(r=t.length))return[];const a=n.bitLength(t);for(let n=0;na&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=p.toBits(y(t,o,o+16));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(p.fromBits(s),o+i)}return e.pendingInput=y(t,o),n}async function b(e,t,n){const i=(new TextEncoder).encode(t),r=await u.importKey("raw",i,s,!1,d),a=await u.deriveBits(Object.assign({salt:n},o),r,8*(2*c[e.strength]+2)),l=new Uint8Array(a);e.keys={key:p.toBits(y(l,0,c[e.strength])),authentication:p.toBits(y(l,c[e.strength],2*c[e.strength])),passwordVerification:y(l,2*c[e.strength])}}function v(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 y(e,t,n){return e.subarray(t,n)}class k{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),U(this,e)}async append(e){const t=this;if(t.password){const n=A(t,e.subarray(0,12));if(t.password=null,n[11]!=t.passwordVerification)throw new Error("Invalid pasword");e=e.subarray(12)}return A(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class z{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),U(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(E(t,r),0),i=12}else n=new Uint8Array(e.length),i=0;return n.set(E(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function A(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function D(e){const t=2|e.keys[2];return S(Math.imul(t,1^t)>>>8)}function S(e){return 255&e}function j(e){return 4294967295&e}class I{constructor(e,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:d}){const l=Boolean(i);Object.assign(this,{signature:n,encrypted:l,signed:r,compressed:a,inflate:a&&new e,crc32:r&&new t,zipCrypto:s,decrypt:l&&s?new k(i,o):new x(i,r,d)})}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("Invalid signature");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.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class F{constructor(e,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:d,encryptionStrength:l}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new e({level:a||5}),crc32:i&&new t,zipCrypto:s,encrypt:n&&s?new z(o,d):new w(o,l)})}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 C={init(e){e.scripts&&e.scripts.length&&importScripts.apply(void 0,e.scripts);const t=e.options;let n;self.initCodec&&self.initCodec(),t.codecType.startsWith("deflate")?n=self.Deflate:t.codecType.startsWith("inflate")&&(n=self.Inflate),B=function(e,t){return t.codecType.startsWith("deflate")?new F(e,t):t.codecType.startsWith("inflate")?new I(e,t):void 0}(n,t)},append:async e=>({data:await B.append(e.data)}),flush:()=>B.flush()};let B;function O(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}addEventListener("message",(async e=>{const t=e.data,n=t.type,i=C[n];if(i)try{t.data&&(t.data=new Uint8Array(t.data));const e=await i(t)||{};if(e.type=n,e.data)try{e.data=e.data.buffer,postMessage(e,[e.data])}catch(t){postMessage(e)}else postMessage(e)}catch(e){postMessage({type:n,error:{message:e.message,stack:e.stack}})}}));const T=[0,1,2,3].concat(...O([[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 M(){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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,d,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);d=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*d]=i[2*s]+i[2*o],n.depth[d]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=d,n.heap[1]=d++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,d,l,c,f,u,p=0;for(c=0;c<=15;c++)t.bl_count[c]=0;for(n[2*t.heap[t.heap_max]+1]=0,o=t.heap_max+1;o<573;o++)d=t.heap[o],c=n[2*n[2*d+1]+1]+1,c>s&&(c=s,p++),n[2*d+1]=c,d>e.max_code||(t.bl_count[c]++,f=0,d>=a&&(f=r[d-a]),u=n[2*d],t.opt_len+=u*(c+f),i&&(t.static_len+=u*(i[2*d+1]+f)));if(0!==p){do{for(c=s-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[s]--,p-=2}while(p>0);for(c=s;0!==c;c--)for(d=t.bl_count[c];0!==d;)l=t.heap[--o],l>e.max_code||(n[2*l+1]!=c&&(t.opt_len+=(c-n[2*l+1])*n[2*l],n[2*l+1]=c),d--)}}(n),function(e,n,i){const r=[];let a,s,o,d=0;for(a=1;a<=15;a++)r[a]=d=d+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function W(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}function q(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}M._length_code=[0,1,2,3,4,5,6,7].concat(...O([[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]])),M.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],M.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],M.d_code=function(e){return e<256?T[e]:T[256+(e>>>7)]},M.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],M.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],M.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W.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],W.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],W.static_l_desc=new W(W.static_ltree,M.extra_lbits,257,286,15),W.static_d_desc=new W(W.static_dtree,M.extra_dbits,0,30,15),W.static_bl_desc=new W(null,M.extra_blbits,0,19,7);const H=[new q(0,0,0,0,0),new q(4,4,8,4,1),new q(4,5,16,8,1),new q(4,6,32,32,1),new q(4,4,16,16,2),new q(8,16,32,32,2),new q(8,16,128,128,2),new q(8,32,128,256,2),new q(32,128,258,1024,2),new q(32,258,258,4096,2)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function L(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function ee(e,t){let n;const i=t;Y>16-i?(n=e,G|=n<>>16-Y,Y+=i-16):(G|=e<=8&&(Q(255&G),G>>>=8,Y-=8)}function re(t,n){let i,r,a;if(e.pending_buf[V+2*N]=t>>>8&255,e.pending_buf[V+2*N+1]=255&t,e.pending_buf[T+N]=255&n,N++,0===t?j[2*n]++:(Z++,t--,j[2*(M._length_code[n]+256+1)]++,I[2*M.d_code(t)]++),0==(8191&N)&&U>2){for(i=8*N,r=v-x,a=0;a<30;a++)i+=I[2*a]*(5+M.extra_dbits[a]);if(i>>>=3,Z8?$(G):Y>0&&Q(255&G),G=0,Y=0}function oe(t,n,i){ee(0+(i?1:0),3),function(t,n,i){se(),K=8,$(n),$(~n),e.pending_buf.set(d.subarray(t,t+n),e.pending),e.pending+=n}(t,n)}function de(t,n,i){let r,a,s=0;U>0?(C.build_tree(e),B.build_tree(e),s=function(){let t;for(J(j,C.max_code),J(I,B.max_code),O.build_tree(e),t=18;t>=3&&0===F[2*M.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?oe(t,n,i):a==r?(ee(2+(i?1:0),3),ae(W.static_ltree,W.static_dtree)):(ee(4+(i?1:0),3),function(e,t,n){let i;for(ee(e-257,5),ee(t-1,5),ee(n-4,4),i=0;i=0?x:-1,v-x,e),x=v,t.flush_pending()}function ce(){let e,n,i,r;do{if(r=l-k-v,0===r&&0===v&&0===k)r=a;else if(-1==r)r--;else if(v>=a+a-262){d.set(d.subarray(a,a+a),0),y-=a,v-=a,x-=a,e=p,i=e;do{n=65535&f[--i],f[i]=n>=a?n-a:0}while(0!=--e);e=a,i=e;do{n=65535&c[--i],c[i]=n>=a?n-a:0}while(0!=--e);r+=a}if(0===t.avail_in)return;e=t.read_buf(d,v+k,r),k+=e,k>=3&&(u=255&d[v],u=(u<a-262?v-(a-262):0;let f=S;const u=o,p=v+258;let h=d[r+s-1],_=d[r+s];z>=D&&(i>>=2),f>k&&(f=k);do{if(t=e,d[t+s]==_&&d[t+s-1]==h&&d[t]==d[r]&&d[++t]==d[r+1]){r+=2,t++;do{}while(d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&d[++r]==d[++t]&&rs){if(y=e,s=n,n>=f)break;h=d[r+s-1],_=d[r+s]}}}while((e=65535&c[e&u])>l&&0!=--i);return s<=k?s:k}function ue(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=113,r=0,C.dyn_tree=j,C.stat_desc=W.static_l_desc,B.dyn_tree=I,B.stat_desc=W.static_d_desc,O.dyn_tree=F,O.stat_desc=W.static_bl_desc,G=0,Y=0,K=8,X(),function(){l=2*a,f[p-1]=0;for(let e=0;e9||8!=l||r<9||r>15||n<0||n>9||x<0||x>2?-2:(t.dstate=e,s=r,a=1<9||n<0||n>2?-2:(H[U].func!=H[t].func&&0!==e.total_in&&(i=e.deflate(1)),U!=t&&(U=t,E=H[U].max_lazy,D=H[U].good_length,S=H[U].nice_length,A=H[U].max_chain),R=n,i)},e.deflateSetDictionary=function(e,t,i){let r,s=i,l=0;if(!t||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,l=i-s),d.set(t.subarray(l,l+s),0),v=s,x=s,u=255&d[0],u=(u<4||h<0)return-2;if(!l.next_out||!l.next_in&&0!==l.avail_in||666==n&&4!=h)return l.msg=P[4],-2;if(0===l.avail_out)return l.msg=P[7],-5;var F;if(t=l,j=r,r=h,42==n&&(D=8+(s-8<<4)<<8,S=(U-1&255)>>1,S>3&&(S=3),D|=S<<6,0!==v&&(D|=32),D+=31-D%31,n=113,Q((F=D)>>8&255),Q(255&F)),0!==e.pending){if(t.flush_pending(),0===t.avail_out)return r=-1,0}else if(0===t.avail_in&&h<=j&&4!=h)return t.msg=P[7],-5;if(666==n&&0!==t.avail_in)return l.msg=P[7],-5;if(0!==t.avail_in||0!==k||0!=h&&666!=n){switch(I=-1,H[U].func){case 0:I=function(e){let n,r=65535;for(r>i-5&&(r=i-5);;){if(k<=1){if(ce(),0===k&&0==e)return 0;if(0===k)break}if(v+=k,k=0,n=x+r,(0===v||v>=n)&&(k=v-n,v=n,le(!1),0===t.avail_out))return 0;if(v-x>=a-262&&(le(!1),0===t.avail_out))return 0}return le(4==e),0===t.avail_out?4==e?2:0:4==e?3:1}(h);break;case 1:I=function(e){let n,i=0;for(;;){if(k<262){if(ce(),k<262&&0==e)return 0;if(0===k)break}if(k>=3&&(u=(u<=3)if(n=re(v-y,w-3),k-=w,w<=E&&k>=3){w--;do{v++,u=(u<=3&&(u=(u<4096)&&(w=2)),z>=3&&w<=z){i=v+k-3,n=re(v-1-g,z-3),k-=z-1,z-=2;do{++v<=i&&(u=(u<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 s=new Uint8Array(l),c.forEach((function(e){s.set(e,d),d+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}}V.prototype={deflateInit:function(e,t){const n=this;return n.dstate=new N,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate:function(e){const t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd:function(){const e=this;if(!e.dstate)return-2;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):-2},deflateSetDictionary:function(e,t){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf:function(e,t,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 K=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],G=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function ee(){let e,t,n,i,r,a;function s(e,t,s,o,d,l,c,f,u,p,h){let _,m,x,w,g,b,v,y,k,z,A,E,U,R,D;z=0,g=s;do{n[e[t+z]]++,z++,g--}while(0!==g);if(n[0]==s)return c[0]=-1,f[0]=0,0;for(y=f[0],b=1;b<=15&&0===n[b];b++);for(v=b,yg&&(y=g),f[0]=y,R=1<E+y;){if(w++,E+=y,D=x-E,D=D>y?y:D,(m=1<<(b=v-E))>_+1&&(m-=_+1,U=v,b1440)return-3;r[w]=A=p[0],p[0]+=D,0!==w?(a[w]=g,i[0]=b,i[1]=y,b=g>>>E-y,i[2]=A-r[w-1]-b,u.set(i,3*(r[w-1]+b))):c[0]=A}for(i[1]=v-E,z>=s?i[0]=192:h[z]>>E;b>>=1)g^=b;for(g^=b,k=(1<257?(-3==p?u.msg="oversubscribed distance tree":-5==p?(u.msg="incomplete distance tree",p=-3):-4!=p&&(u.msg="empty distance tree with lengths",p=-3),p):0)}}function te(){const e=this;let t,n,i,r,a=0,s=0,o=0,d=0,l=0,c=0,f=0,u=0,p=0,h=0;function _(e,t,n,i,r,a,s,o){let d,l,c,f,u,p,h,_,m,x,w,g,b,v,y,k;h=o.next_in_index,_=o.avail_in,u=s.bitb,p=s.bitk,m=s.write,x=m>=l[k+1],p-=l[k+1],0!=(16&f)){for(f&=15,b=l[k+2]+(u&K[f]),u>>=f,p-=f;p<15;)_--,u|=(255&o.read_byte(h++))<>=l[k+1],p-=l[k+1],0!=(16&f)){for(f&=15;p>=f,p-=f,x-=b,m>=v)y=m-v,m-y>0&&2>m-y?(s.window[m++]=s.window[y++],s.window[m++]=s.window[y++],b-=2):(s.window.set(s.window.subarray(y,y+2),m),m+=2,y+=2,b-=2);else{y=m-v;do{y+=s.end}while(y<0);if(f=s.end-y,b>f){if(b-=f,m-y>0&&f>m-y)do{s.window[m++]=s.window[y++]}while(0!=--f);else s.window.set(s.window.subarray(y,y+f),m),m+=f,y+=f,f=0;y=0}}if(m-y>0&&b>m-y)do{s.window[m++]=s.window[y++]}while(0!=--b);else s.window.set(s.window.subarray(y,y+b),m),m+=b,y+=b,b=0;break}if(0!=(64&f))return o.msg="invalid distance code",b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,-3;d+=l[k+2],d+=u&K[f],k=3*(c+d),f=l[k]}break}if(0!=(64&f))return 0!=(32&f)?(b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,1):(o.msg="invalid literal/length code",b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,-3);if(d+=l[k+2],d+=u&K[f],k=3*(c+d),0===(f=l[k])){u>>=l[k+1],p-=l[k+1],s.window[m++]=l[k+2],x--;break}}else u>>=l[k+1],p-=l[k+1],s.window[m++]=l[k+2],x--}while(x>=258&&_>=10);return b=o.avail_in-_,b=p>>3>3:b,_+=b,h-=b,p-=b<<3,s.bitb=u,s.bitk=p,o.avail_in=_,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=m,0}e.init=function(e,a,s,o,d,l){t=0,f=e,u=a,i=s,p=o,r=d,h=l,n=null},e.proc=function(e,m,x){let w,g,b,v,y,k,z,A=0,E=0,U=0;for(U=m.next_in_index,v=m.avail_in,A=e.bitb,E=e.bitk,y=e.write,k=y=258&&v>=10&&(e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,x=_(f,u,i,p,r,h,e,m),U=m.next_in_index,v=m.avail_in,A=e.bitb,E=e.bitk,y=e.write,k=y>>=n[g+1],E-=n[g+1],b=n[g],0===b){d=n[g+2],t=6;break}if(0!=(16&b)){l=15&b,a=n[g+2],t=2;break}if(0==(64&b)){o=b,s=g/3+n[g+2];break}if(0!=(32&b)){t=7;break}return t=9,m.msg="invalid literal/length code",x=-3,e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,e.inflate_flush(m,x);case 2:for(w=l;E>=w,E-=w,o=u,n=r,s=h,t=3;case 3:for(w=o;E>=n[g+1],E-=n[g+1],b=n[g],0!=(16&b)){l=15&b,c=n[g+2],t=4;break}if(0==(64&b)){o=b,s=g/3+n[g+2];break}return t=9,m.msg="invalid distance code",x=-3,e.bitb=A,e.bitk=E,m.avail_in=v,m.total_in+=U-m.next_in_index,m.next_in_index=U,e.write=y,e.inflate_flush(m,x);case 4:for(w=l;E>=w,E-=w,t=5;case 5:for(z=y-c;z<0;)z+=e.end;for(;0!==a;){if(0===k&&(y==e.end&&0!==e.read&&(y=0,k=y7&&(E-=8,v++,U--),e.write=y,x=e.inflate_flush(m,x),y=e.write,k=ye.avail_out&&(i=e.avail_out),0!==i&&-5==t&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&-5==t&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,_,m,x,w,g,b,v;for(x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,g=n.write,b=g>>1){case 0:_>>>=3,m-=3,h=7&m,_>>>=h,m-=h,r=1;break;case 1:y=[],k=[],z=[[]],A=[[]],ee.inflate_trees_fixed(y,k,z,A),c.init(y[0],k[0],z[0],0,A[0],0),_>>>=3,m-=3,r=6;break;case 2:_>>>=3,m-=3,r=3;break;case 3:return _>>>=3,m-=3,r=9,e.msg="invalid block type",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t)}break;case 1:for(;m<32;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>16&65535)!=(65535&_))return r=9,e.msg="invalid stored block lengths",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);a=65535&_,_=m=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);if(0===b&&(g==n.end&&0!==n.read&&(g=0,b=gw&&(h=w),h>b&&(h=b),n.window.set(e.read_buf(x,h),g),x+=h,w-=h,g+=h,b-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;m<14;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,m-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;m<3;){if(0===w)return n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);t=0,w--,_|=(255&e.read_byte(x++))<>>=3,m-=3}for(;o<19;)i[ne[o++]]=0;if(d[0]=7,h=p.inflate_trees_bits(i,d,l,u,e),0!=h)return-3==(t=h)&&(i=null,r=9),n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,c;for(h=d[0];m>>=h,m-=h,i[o++]=c;else{for(v=18==c?7:c-14,a=18==c?11:3;m>>=h,m-=h,a+=_&K[v],_>>>=v,m-=v,v=o,h=s,v+a>258+(31&h)+(h>>5&31)||16==c&&v<1)return i=null,r=9,e.msg="invalid bit length repeat",t=-3,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);c=16==c?i[v-1]:0;do{i[v++]=c}while(0!=--a);o=v}}if(l[0]=-1,E=[],U=[],R=[],D=[],E[0]=9,U[0]=6,h=s,h=p.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,E,U,R,D,u,e),0!=h)return-3==h&&(i=null,r=9),t=h,n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,n.inflate_flush(e,t);c.init(E[0],U[0],u,R[0],u,D[0]),r=6;case 6:if(n.bitb=_,n.bitk=m,e.avail_in=w,e.total_in+=x-e.next_in_index,e.next_in_index=x,n.write=g,1!=(t=c.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,c.free(e),x=e.next_in_index,w=e.avail_in,_=n.bitb,m=n.bitk,g=n.write,b=g15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new ie(n,1<>4)>r.wbits){r.mode=13,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=13,e.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(e,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return-2;const a=e.istate;return r>=1<0&&e.next_in_index!=d&&(r(e.next_in_index),d=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(c),a.forEach((function(e){o.set(e,l),l+=e.length})),o}},this.flush=function(){e.inflateEnd()}}se.prototype={inflateInit:function(e){const t=this;return t.istate=new ae,e||(e=15),t.istate.inflateInit(t,e)},inflate:function(e){const t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd:function(){const e=this;if(!e.istate)return-2;const t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync:function(){const e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary:function(e,t){const n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte:function(e){return this.next_in.subarray(e,e+1)[0]},read_buf:function(e,t){return this.next_in.subarray(e,e+t)}},self.initCodec=()=>{self.Deflate=Z,self.Inflate=oe}}).toString(),t=URL.createObjectURL(new Blob(["("+e+")()"],{type:"text/javascript"}));H({workerScripts:{inflate:[t],deflate:[t]}})}})(),H({Deflate:function(e){const t=new w,n=512,i=new Uint8Array(n);let r=e?e.level:-1;void 0===r&&(r=-1),t.deflateInit(r),t.next_out=i,this.append=function(e,r){let a,s,o=0,d=0,l=0;const c=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?c.push(new Uint8Array(i)):c.push(new Uint8Array(i.subarray(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 s=new Uint8Array(l),c.forEach((function(e){s.set(e,d),d+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}},Inflate:function(){const e=new T,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(i,r){const a=[];let s,o,d=0,l=0,c=0;if(0!==i.length){e.next_in_index=0,e.next_in=i,e.avail_in=i.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),s=e.inflate(0),n&&s===v){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+e.msg);if((n||1===s)&&e.avail_in===i.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?a.push(new Uint8Array(t)):a.push(new Uint8Array(t.subarray(0,e.next_out_index)))),c+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=d&&(r(e.next_in_index),d=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(c),a.forEach((function(e){o.set(e,l),l+=e.length})),o}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=se,e.BlobWriter=oe,e.Data64URIReader=re,e.Data64URIWriter=ae,e.ERR_ABORT=jt,e.ERR_BAD_FORMAT=Tt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ht,e.ERR_DUPLICATED_NAME=cn,e.ERR_ENCRYPTED=Nt,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=qt,e.ERR_EOCDR_NOT_FOUND=Mt,e.ERR_EOCDR_ZIP64_NOT_FOUND=Wt,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Lt,e.ERR_HTTP_RANGE=Z,e.ERR_INVALID_COMMENT=fn,e.ERR_INVALID_DATE=_n,e.ERR_INVALID_ENCRYPTION_STRENGTH=mn,e.ERR_INVALID_ENTRY_COMMENT=un,e.ERR_INVALID_ENTRY_NAME=pn,e.ERR_INVALID_EXTRAFIELD_DATA=wn,e.ERR_INVALID_EXTRAFIELD_TYPE=xn,e.ERR_INVALID_PASSWORD=qe,e.ERR_INVALID_SIGNATURE=gt,e.ERR_INVALID_VERSION=hn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Pt,e.ERR_UNSUPPORTED_COMPRESSION=Zt,e.ERR_UNSUPPORTED_ENCRYPTION=Vt,e.HttpRangeReader=class extends he{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=he,e.Reader=ee,e.TextReader=ne,e.TextWriter=ie,e.Uint8ArrayReader=_e,e.Uint8ArrayWriter=me,e.Writer=te,e.ZipReader=Yt,e.ZipWriter=bn,e.configure=H,e.fs=In,e.getMimeType=function(e){return e&&L[e.split(".").pop().toLowerCase()]||"application/octet-stream"},e.initShimAsyncCodec=(e,t={},n)=>({Deflate:N(e.Deflate,t.deflate,n),Inflate:N(e.Inflate,t.inflate,n)}),Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/zip-fs.js b/dist/zip-fs.js index aabe4bff..131fc16d 100644 --- a/dist/zip-fs.js +++ b/dist/zip-fs.js @@ -2554,7 +2554,7 @@ await writer.init(); } const signal = getOptionValue$1(zipEntry, options, "signal"); - await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress, signal }); + await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress: options.onprogress, signal }); return writer.getData(); } } diff --git a/dist/zip-fs.min.js b/dist/zip-fs.min.js index 2fdf4989..789e672a 100644 --- a/dist/zip-fs.min.js +++ b/dist/zip-fs.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,useWebWorkers:!0,workerScripts:void 0},n=Object.assign({},e);function r(){return n}function i(t){if(void 0!==t.chunkSize&&(n.chunkSize=t.chunkSize),void 0!==t.maxWorkers&&(n.maxWorkers=t.maxWorkers),void 0!==t.useWebWorkers&&(n.useWebWorkers=t.useWebWorkers),void 0!==t.Deflate&&(n.Deflate=t.Deflate),void 0!==t.Inflate&&(n.Inflate=t.Inflate),void 0!==t.workerScripts){if(t.workerScripts.deflate){if(!Array.isArray(t.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.deflate=t.workerScripts.deflate}if(t.workerScripts.inflate){if(!Array.isArray(t.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.inflate=t.workerScripts.inflate}}}function a(t,e,n){return class{constructor(r){const i=this;i.codec=new t(Object.assign({},e,r)),n(i.codec,(t=>{if(i.pendingData){const e=i.pendingData;i.pendingData=new Uint8Array(e.length+t.length),i.pendingData.set(e,0),i.pendingData.set(t,e.length)}else i.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),r(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),r(this)}};function r(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const s="HTTP error ",o="HTTP Range not supported",c="text/plain",l="Content-Length",d="Accept-Ranges",u="HEAD",f="GET",h="bytes";class p{constructor(){this.size=0}init(){this.initialized=!0}}class _ extends p{}class w extends p{writeUint8Array(t){this.size+=t.length}}class g extends _{constructor(t){super(),this.blobReader=new x(new Blob([t],{type:c}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}}class y extends w{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:c})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:c})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}}class b extends _{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),r=4*Math.floor(t/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(r/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}}class x extends _{constructor(t){super(),this.blob=t,this.size=t.size}async readUint8Array(t,e){const n=new FileReader;return new Promise(((r,i)=>{n.onload=t=>r(new Uint8Array(t.target.result)),n.onerror=i,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class k extends w{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class v extends _{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),F(this.url)&&!this.preventHeadRequest){const t=await U(u,this.url,this.options);if(this.size=Number(t.headers.get(l)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(d)!=h)throw new Error(o);void 0===this.size&&await A(this,this.options)}else await A(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await U(f,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(o);return new Uint8Array(await n.arrayBuffer())}return this.data||await A(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function A(t,e){const n=await U(f,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function U(t,e,n,r){r=Object.assign({},n.headers,r);const i=await fetch(e,Object.assign({},n,{method:t,headers:r}));if(i.status<400)return i;throw new Error(s+(i.statusText||i.status))}class E extends _{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),F(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>D(u,this.url,(n=>{this.size=Number(n.getResponseHeader(l)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(d)==h?t():e(new Error(o)):void 0===this.size?R(this,this.url).then((()=>t())).catch(e):t()}),e)));await R(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await R(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,r)=>D(f,this.url,(t=>n(new Uint8Array(t.response))),r,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(o)}}function R(t,e){return new Promise(((n,r)=>D(f,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),r)))}function D(t,e,n,r,i=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):r(s+(a.statusText||a.status))}),!1),a.addEventListener("error",r,!1),a.open(t,e),i.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class z extends _{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new E(t,e):this.reader=new v(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class S extends _{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}}class I extends w{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}}function F(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const C=4294967295,B=65535,O=67324752,T=134695760,W=33639248,M=101010256,H=101075792,L=117853008,N=39169,P=2048,j="/",V=new Date(2107,11,31),Z=new Date(1980,0,1),q="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const K=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;K[t]=e}class G{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,r=0|t.length;n>>8^K[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const Y={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=Y.getPartial(n);return 32===r?t.concat(e):Y._shiftRight(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+Y.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=Y.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let i=0;i>>e),n=t[i]<<32-e;const i=t.length?t[t.length-1]:0,a=Y.getPartial(i);return r.push(Y.partial(e+a&31,e+a>32?n:r.pop(),1)),r}},X={bytes:{fromBits(t){const e=Y.bitLength(t)/8,n=new Uint8Array(e);let r;for(let i=0;i>>24,r<<=8;return n},toBits(t){const e=[];let n,r=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=i;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=Y.concat(e,[Y.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,r=Array(80);for(let e=0;e<16;e++)r[e]=t[e];let i=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let t=0;t<=79;t++){t>=16&&(r[t]=e._S(1,r[t-3]^r[t-8]^r[t-14]^r[t-16]));const n=e._S(5,i)+e._f(t,a,s,o)+c+r[t]+e._key[Math.floor(t/20)]|0;c=o,o=s,s=e._S(30,a),a=i,i=n}n[0]=n[0]+i|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 Q={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],r=e._tables[1],i=t.length;let a,s,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=i;a<4*i+28;a++){let t=s[a-1];(a%i==0||8===i&&a%i==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%i==0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-i]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],r=e[4],i=[],a=[];let s,o,c,l;for(let t=0;t<256;t++)a[(i[t]=t<<1^283*(t>>7))^t]=t;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,r[a]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*i[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],r=n.length/4-2,i=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,p=t[0]^n[0],_=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[_>>16&255]^c[w>>8&255]^l[255&g]^n[y],f=s[_>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&p]^n[y+1],h=s[w>>>24]^o[g>>16&255]^c[p>>8&255]^l[255&_]^n[y+2],g=s[g>>>24]^o[p>>16&255]^c[_>>8&255]^l[255&w]^n[y+3],y+=4,p=u,_=f,w=h;for(let t=0;t<4;t++)i[e?3&-t:t]=d[p>>>24]<<24^d[_>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=p,p=_,_=w,w=g,g=u;return i}}},$={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let r;if(!(r=e.length))return[];const i=Y.bitLength(e);for(let i=0;ii&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%nt)),o=0;o<=s-nt;o+=nt){const i=ft.toBits(xt(e,o,o+nt));a&&t.hmac.update(i);const s=t.aesCtrGladman.update(i);a||t.hmac.update(s),n.set(ft.fromBits(s),o+r)}return t.pendingInput=xt(e,o),n}async function bt(t,e,n){const r=(new TextEncoder).encode(e),i=await ut.importKey("raw",r,it,!1,st),a=await ut.deriveBits(Object.assign({salt:n},at),i,8*(2*ct[t.strength]+2)),s=new Uint8Array(a);t.keys={key:ft.toBits(xt(s,0,ct[t.strength])),authentication:ft.toBits(xt(s,ct[t.strength],2*ct[t.strength])),passwordVerification:xt(s,2*ct[t.strength])}}function mt(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function xt(t,e,n){return t.subarray(e,n)}const kt=12;class vt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Rt(this,t)}async append(t){const e=this;if(e.password){const n=Ut(e,t.subarray(0,kt));if(e.password=null,n[11]!=e.passwordVerification)throw new Error(et);t=t.subarray(kt)}return Ut(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class At{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Rt(this,t)}async append(t){const e=this;let n,r;if(e.password){e.password=null;const i=crypto.getRandomValues(new Uint8Array(kt));i[11]=e.passwordVerification,n=new Uint8Array(t.length+i.length),n.set(Et(e,i),0),r=kt}else n=new Uint8Array(t.length),r=0;return n.set(Et(e,t),r),n}async flush(){return{data:new Uint8Array(0)}}}function Ut(t,e){const n=new Uint8Array(e.length);for(let r=0;r>>24]),t.keys[2]=~t.crcKey2.get()}function zt(t){const e=2|t.keys[2];return St(Math.imul(e,1^e)>>>8)}function St(t){return 255&t}function It(t){return 4294967295&t}const Ft="deflate",Ct="inflate",Bt="Invalid signature";class Ot{constructor(t,{signature:e,password:n,signed:r,compressed:i,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const c=Boolean(n);Object.assign(this,{signature:e,encrypted:c,signed:r,compressed:i,inflate:i&&new t,crc32:r&&new G,zipCrypto:a,decrypt:c&&a?new vt(n,s):new wt(n,r,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(Bt);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(Bt)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class Tt{constructor(t,{encrypted:e,signed:n,compressed:r,level:i,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c}){Object.assign(this,{encrypted:e,signed:n,compressed:r,deflate:r&&new t({level:i||5}),crc32:n&&new G,zipCrypto:a,encrypt:e&&a?new At(s,o):new gt(s,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const r=await t.encrypt.flush();e=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const Wt="init",Mt="append",Ht="flush",Lt="message";var Nt=(t,e,n,r,i,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:i,onTaskFinished(){t.busy=!1;r(t)&&t.worker&&t.worker.terminate()}}),i?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-fs.min.js",document.baseURI).href)),t.worker.addEventListener(Lt,i,!1),t.interface={append:t=>n({type:Mt,data:t}),flush:()=>n({type:Ht})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await r({scripts:n,type:Wt,options:e})}return r(n)}function r(n){const r=t.worker,i=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,r.postMessage(n,[n.data])}catch(t){r.postMessage(n)}else r.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return i}function i(n){const r=n.data;if(e){const n=r.error,i=r.type;if(n){const r=new Error(n.message);r.stack=n.stack,e.reject(r),e=null,t.onTaskFinished()}else if(i==Wt||i==Ht||i==Mt){const n=r.data;i==Ht?(e.resolve({data:new Uint8Array(n),signature:r.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(Ft)?new Tt(t,e):e.codecType.startsWith(Ct)?new Ot(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let Pt=[],jt=[];function Vt(t,e,n){const r=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[e.codecType]:[];if(Pt.length!t.busy));return n?Nt(n,t,e,Zt,r,i):new Promise((n=>jt.push({resolve:n,codecConstructor:t,options:e,webWorker:r,scripts:i})))}}function Zt(t){const e=!jt.length;if(e)Pt=Pt.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:r,webWorker:i,scripts:a}]=jt.splice(0,1);e(Nt(t,n,r,Zt,i,a))}return e}const qt="Abort error";async function Kt(t,e,n,r,i,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(cthis[e]=t[e]))}}const Qt="File format is not recognized",$t="End of central directory not found",te="End of Zip64 central directory not found",ee="End of Zip64 central directory locator not found",ne="Central directory header not found",re="Local file header not found",ie="Zip64 extra field not found",ae="File contains encrypted entry",se="Encryption method not supported",oe="Compression method not supported",ce="utf-8",le=["uncompressedSize","compressedSize","offset"];class de{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:r()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Qt);const r=await async function(t,e,n,r,i){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(ke(a),0,e);const s=r+i;return await o(r)||await o(Math.min(s,n));async function o(e){const i=n-e,s=await ve(t,i,e);for(let t=s.length-r;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:i+t,buffer:s.slice(t,t+r).buffer}}}(n,M,n.size,22,1048560);if(!r)throw new Error($t);const i=ke(r);let a=me(i,12),s=me(i,16),o=be(i,8),c=0;if(s==C||o==B){const t=ke(await ve(n,r.offset-20,20));if(me(t,0)!=L)throw new Error(te);s=xe(t,8);let e=await ve(n,s,56),i=ke(e);const l=r.offset-20-56;if(me(i,0)!=H&&s!=l){const t=s;s=l,c=s-t,e=await ve(n,s,56),i=ke(e)}if(me(i,0)!=H)throw new Error(ee);o=xe(i,24),a=me(t,4),s-=xe(i,40)}if(s<0||s>=n.size)throw new Error(Qt);let l=0,d=await ve(n,s,n.size-s),u=ke(d);const f=r.offset-a;if(me(u,l)!=W&&s!=f){const t=s;s=f,c=s-t,d=await ve(n,s,n.size-s),u=ke(d)}if(s<0||s>=n.size)throw new Error(Qt);const h=[];for(let r=0;rr.getData(t,e),h.push(p),l=f}return h}async close(){}}class ue{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:r,offset:i,extraFieldAES:a,compressionMethod:s,config:o,bitFlag:c,signature:l,rawLastModDate:d,compressedSize:u,onprogress:f}=n,h=n.localDirectory={};r.initialized||await r.init();const p=await ve(r,i,30),_=ke(p);let w=_e(n,e,"password");if(w=w&&w.length&&w,a&&99!=a.originalCompressionMethod)throw new Error(oe);if(0!=s&&8!=s)throw new Error(oe);if(me(_,0)!=O)throw new Error(re);fe(h,_,4);const g=i+30+h.filenameLength,y=g+h.extraFieldLength;h.rawExtraField=p.subarray(g,y),he(n,h,_,4);const b=n.encrypted&&h.encrypted,m=b&&!a;if(b){if(!m&&void 0===a.strength)throw new Error(se);if(!w)throw new Error(ae)}const x=await Vt(o.Inflate,{codecType:Ct,password:w,zipCrypto:m,encryptionStrength:a&&a.strength,signed:_e(n,e,"checkSignature"),passwordVerification:m&&(c.dataDescriptor?d>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:b,useWebWorkers:_e(n,e,"useWebWorkers")},o);t.initialized||await t.init();const k=_e(n,e,"signal");return await Kt(x,r,t,y,u,o,{onprogress:f,signal:k}),t.getData()}}function fe(t,e,n){const r=t.rawBitFlag=be(e,n+2),i=1==(1&r);Object.assign(t,{encrypted:i,version:be(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:8==(8&r),languageEncodingFlag:(r&P)==P},rawLastModDate:me(e,n+6),lastModDate:ge(t.rawLastModDate),filenameLength:be(e,n+22),extraFieldLength:be(e,n+24)})}function he(t,e,n,r){const i=e.rawExtraField,a=e.extraField=new Map,s=ke(new Uint8Array(i));let o=0;try{for(;oe[t]==C));for(let e=0;e{if(e[n]==C){if(!t||void 0===t[n])throw new Error(ie);e[n]=t[n]}}))}(l,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&pe(d,"filename","rawFilename",e,t);const u=e.extraFieldUnicodeComment=a.get(25461);u&&pe(u,"comment","rawComment",e,t);const f=e.extraFieldAES=a.get(39169);f?function(t,e,n){if(t){const r=ke(t.data);t.vendorVersion=ye(r,0),t.vendorId=ye(r,2);const i=ye(r,4);t.strength=i,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=be(r,5)}else e.compressionMethod=n}(f,e,c):e.compressionMethod=c}function pe(t,e,n,r,i){const a=ke(t.data);t.version=ye(a,0),t.signature=me(a,1);const s=new G;s.append(i[n]);const o=ke(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!i.bitFlag.languageEncodingFlag&&t.signature==me(o,0),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function _e(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function we(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function ye(t,e){return t.getUint8(e)}function be(t,e){return t.getUint16(e,!0)}function me(t,e){return t.getUint32(e,!0)}function xe(t,e){return Number(t.getBigUint64(e,!0))}function ke(t){return new DataView(t.buffer)}function ve(t,e,n){return t.readUint8Array(e,n)}const Ae="File already exists",Ue="Zip file comment exceeds 64KB",Ee="File entry comment exceeds 64KB",Re="File entry name exceeds 64KB",De="Version exceeds 65535",ze="The modification date must be between 1/1/1980 and 12/31/2107",Se="The strength must equal 1, 2, or 3",Ie="Extra field type exceeds 65535",Fe="Extra field data exceeds 64KB",Ce=new Uint8Array([7,0,2,0,65,69,3,0,0]);class Be{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:r(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const r=this;if(t=t.trim(),n.directory&&!t.endsWith(j)?t+=j:n.directory=t.endsWith(j),r.files.has(t))throw new Error(Ae);const i=(new TextEncoder).encode(t);if(i.length>B)throw new Error(Re);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>B)throw new Error(Ee);const o=r.options.version||n.version||0;if(o>B)throw new Error(De);const c=n.lastModDate||new Date;if(cV)throw new Error(ze);const l=Oe(r,n,"password"),d=Oe(r,n,"encryptionStrength")||3,u=Oe(r,n,"zipCrypto");if(void 0!==l&&void 0!==d&&(d<1||d>3))throw new Error(Se);e&&!e.initialized&&await e.init();let f=new Uint8Array(0);const h=n.extraField;if(h){let t=0,e=0;h.forEach((e=>t+=4+e.length)),f=new Uint8Array(t),h.forEach(((t,n)=>{if(n>B)throw new Error(Ie);if(t.length>B)throw new Error(Fe);Le(f,new Uint16Array([n]),e),Le(f,new Uint16Array([t.length]),e+2),Le(f,t,e+4),e+=4+t.length}))}const p=e?Math.floor(1.05*e.size):0;r.pendingOutputSize+=p,await Promise.resolve();const _=n.zip64||r.options.zip64||r.offset>=C||p>=C||r.offset+r.pendingOutputSize>=C,w=Oe(r,n,"level"),g=Oe(r,n,"useWebWorkers"),y=Oe(r,n,"bufferedWrite");let b=Oe(r,n,"keepOrder"),m=Oe(r,n,"dataDescriptor");const x=Oe(r,n,"signal");void 0===m&&(m=!0),void 0===b&&(b=!0);const v=await async function(t,e,n,r){const i=t.files,a=t.writer;let s,o;i.set(e,null);try{let c,l,d;try{r.keepOrder&&(c=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>o=t))),r.bufferedWrite||t.lockWrite||!r.dataDescriptor?(l=new k,l.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),l=a),d=await async function(t,e,n,r){const{rawFilename:i,lastModDate:a,password:s,level:o,zip64:c,zipCrypto:l,dataDescriptor:d,directory:u,version:f,rawComment:h,rawExtraField:p,useWebWorkers:_,onprogress:w,signal:g,encryptionStrength:y}=r,b=Boolean(s&&s.length),m=0!==o&&!u;let x;if(b&&!l){x=new Uint8Array(Ce.length+2);const t=Ne(x);We(t,0,N),Le(x,Ce,2),Te(t,8,y)}else x=new Uint8Array(0);const k={version:f||20,zip64:c,directory:Boolean(u),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:h,rawExtraFieldZip64:c?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:x,rawExtraField:p};let v=P;d&&(v|=8);let A=0;m&&(A=8);c&&(k.version=k.version>45?k.version:45);b&&(v|=1,l||(k.version=k.version>51?k.version:51,A=99,m&&(k.rawExtraFieldAES[9]=8)));const U=k.headerArray=new Uint8Array(26),E=Ne(U);We(E,0,k.version),We(E,2,v),We(E,4,A);const R=new Uint32Array(1),D=Ne(R);We(D,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),We(D,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const z=R[0];Me(E,6,z),We(E,22,i.length),We(E,24,0),We(E,24,x.length+k.rawExtraField.length);const S=new Uint8Array(30+i.length+x.length+k.rawExtraField.length);let I;Me(Ne(S),0,O),Le(S,U,4),Le(S,i,30),Le(S,x,30+i.length),Le(S,k.rawExtraField,30+i.length+x.length);let F=0,B=0;if(t){F=t.size;const r=await Vt(n.Deflate,{codecType:Ft,level:o,password:s,encryptionStrength:y,zipCrypto:b&&l,passwordVerification:b&&l&&z>>8&255,signed:!0,compressed:m,encrypted:b,useWebWorkers:_},n);await e.writeUint8Array(S),I=await Kt(r,t,e,0,F,n,{onprogress:w,signal:g}),B=I.length}else await e.writeUint8Array(S);let W,M=new Uint8Array(0);d&&(M=new Uint8Array(c?24:16),W=Ne(M),Me(W,0,T));if(t){const t=I.signature;if(b&&!l||void 0===t||(Me(E,10,t),k.signature=t,d&&Me(W,4,t)),c){const t=Ne(k.rawExtraFieldZip64);We(t,0,1),We(t,2,24),Me(E,14,C),He(t,12,BigInt(B)),Me(E,18,C),He(t,4,BigInt(F)),d&&(He(W,8,BigInt(B)),He(W,16,BigInt(F)))}else Me(E,14,B),Me(E,18,F),d&&(Me(W,8,B),Me(W,12,F))}d&&await e.writeUint8Array(M);const H=S.length+B+M.length;return Object.assign(k,{compressedSize:B,uncompressedSize:F,lastModDate:a,rawLastModDate:z,encrypted:b,length:H}),k}(n,l,t.config,r)}catch(t){throw i.delete(e),t}if(i.set(e,d),l!=a){const e=l.getData(),n=new FileReader,i=new Promise(((t,r)=>{n.onload=e=>t(e.target.result),n.onerror=r,n.readAsArrayBuffer(e)})),[s]=await Promise.all([i,t.lockWrite,c]);if(!r.dataDescriptor){const t=new DataView(s);d.encrypted&&!r.zipCrypto||Me(t,14,d.signature),d.zip64?(Me(t,18,C),Me(t,22,C)):(Me(t,18,d.compressedSize),Me(t,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=t.offset,d.zip64){He(Ne(d.rawExtraFieldZip64),20,BigInt(d.offset))}return t.offset+=d.length,d}finally{o&&o(),s&&s()}}(r,t,e,Object.assign({},n,{rawFilename:i,rawComment:s,version:o,lastModDate:c,rawExtraField:f,zip64:_,password:l,level:w,useWebWorkers:g,encryptionStrength:d,zipCrypto:u,bufferedWrite:y,keepOrder:b,dataDescriptor:m,signal:x}));return r.pendingOutputSize-=p,Object.assign(v,{name:t,comment:a,extraField:h}),new Jt(v)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,r=e.files;let i=0,a=0,s=e.offset,o=r.size;for(const[,t]of r)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const c=e.options.zip64||s>=C||a>=C||o>=B,l=new Uint8Array(a+(c?98:22)),d=Ne(l);if(t.length){if(!(t.length<=B))throw new Error(Ue);We(d,i+20,t.length)}for(const[,t]of r){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawExtraField:a,rawComment:s,version:o,headerArray:c,directory:u,zip64:f}=t,h=n.length+r.length+a.length;Me(d,i,W),We(d,i+4,o),Le(l,c,i+6),We(d,i+30,h),We(d,i+32,s.length),u&&Te(d,i+38,16),Me(d,i+42,f?C:t.offset),Le(l,e,i+46),Le(l,n,i+46+e.length),Le(l,r,i+46+e.length+n.length),Le(l,a,46+e.length+n.length+r.length),Le(l,s,i+46+e.length+h),i+=46+e.length+h+s.length}return c&&(Me(d,i,H),He(d,i+4,BigInt(44)),We(d,i+12,45),We(d,i+14,45),He(d,i+24,BigInt(o)),He(d,i+32,BigInt(o)),He(d,i+40,BigInt(a)),He(d,i+48,BigInt(s)),Me(d,i+56,L),He(d,i+64,BigInt(s)+BigInt(a)),Me(d,i+72,1),o=B,s=C,a=C,i+=76),Me(d,i,M),We(d,i+8,o),We(d,i+10,o),Me(d,i+12,a),Me(d,i+16,s),await n.writeUint8Array(l),t.length&&await n.writeUint8Array(t),n.getData()}}function Oe(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function Te(t,e,n){t.setUint8(e,n)}function We(t,e,n){t.setUint16(e,n,!0)}function Me(t,e,n){t.setUint32(e,n,!0)}function He(t,e,n){t.setBigUint64(e,n,!0)}function Le(t,e,n){t.set(e,n)}function Ne(t){return new DataView(t.buffer)}const Pe=524288;class je{constructor(t,e,n,r){const i=this;if(t.root&&r&&r.getChildByName(e))throw new Error("Entry filename already exists");n||(n={}),Object.assign(i,{fs:t,name:e,data:n.data,id:t.entries.length,parent:r,children:[],uncompressedSize:0}),t.entries.push(i),r&&i.parent.children.push(i)}moveTo(t){this.fs.move(this,t)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}}class Ve extends je{constructor(t,e,n,r){super(t,e,n,r);const i=this;i.Reader=n.Reader,i.Writer=n.Writer,n.getData&&(i.getData=n.getData)}async getData(t,e={}){const n=this;return!t||t.constructor==n.Writer&&n.data?n.data:(n.reader=new n.Reader(n.data,e),await n.reader.init(),t.initialized||await t.init(),n.uncompressedSize=n.reader.size,async function(t,e){return n();async function n(r=0){const i=r*Pe;if(ie.file((r=>n(t.addBlob(e.name,r))),r)));async function n(t,e){const i=await r(e);for(const e of i)e.isDirectory?await n(t.addDirectory(e.name),e):await new Promise(((n,r)=>{e.file((r=>{const i=t.addBlob(e.name,r);i.uncompressedSize=r.size,n(i)}),r)}))}function r(t){return new Promise(((e,n)=>{let r=[];function i(t){t.readEntries((n=>{n.length?(r=r.concat(n),i(t)):e(r)}),n)}t.isDirectory&&i(t.createReader()),t.isFile&&e(r)}))}}(this,t)}async addData(t,e){return Je(this,t,e)}async importBlob(t,e={}){await this.importZip(new x(t),e)}async importData64URI(t,e={}){await this.importZip(new b(t),e)}async importUint8Array(t,e={}){await this.importZip(new S(t),e)}async importHttpContent(t,e={}){await this.importZip(new z(t,e),e)}async exportBlob(t={}){return this.exportZip(new k("application/zip"),t)}async exportData64URI(t={}){return this.exportZip(new m("application/zip"),t)}async exportUint8Array(t={}){return this.exportZip(new I,t)}async importZip(t,e){t.initialized||await t.init();const n=new de(t,e);(await n.getEntries()).forEach((t=>{let n=this;const r=t.filename.split("/"),i=r.pop();r.forEach((t=>n=n.getChildByName(t)||new Ze(this.fs,t,null,n))),t.directory||Je(n,i,{data:t,Reader:Ke(Object.assign({},e))})}))}async exportZip(t,e){const n=this;await Ge(n),await t.init();const r=new Be(t,e);return await async function(t,e,n,r){const i=e,a=new Map;async function s(t,e){async function o(){if(r.bufferedWrite)await Promise.all(e.children.map(c));else for(const t of e.children)await c(t)}async function c(e){const o=r.relativePath?e.getRelativeName(i):e.getFullname();await t.add(o,e.reader,Object.assign({directory:e.directory},Object.assign({},r,{onprogress:t=>{if(r.onprogress){a.set(o,t);try{r.onprogress(Array.from(a.values()).reduce(((t,e)=>t+e)),n)}catch(t){}}}}))),await s(t,e)}await o()}await s(t,e)}(r,n,function(t,e){let n=0;return t.forEach(r),n;function r(t){n+=t[e],t.children&&t.children.forEach(r)}}([n],"uncompressedSize"),e),await r.close(),t.getData()}getChildByName(t){const e=this.children;for(let n=0;n{n.id==t.id&&e.splice(r,1)}))}function Xe(t){t.entries=[],t.root=new Ze(t)}function Je(t,e,n,r){if(t.directory)return r?new Ze(t.fs,e,n,t):new Ve(t.fs,e,n,t);throw new Error("Parent entry is not a directory")}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let r=0,i=0|e.length;r>>8^t[255&(n^e[r])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],i=n.getPartial(r);return 32===i?t.concat(e):n._shiftRight(e,i,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+n.getPartial(r)},clamp(t,e){if(32*t.length0&&e&&(t[r-1]=n.partial(e,t[r-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,r,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(r),r=0;if(0===e)return i.concat(t);for(let n=0;n>>e),r=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return i.push(n.partial(e+s&31,e+s>32?r:i.pop(),1)),i}},r={bytes:{fromBits(t){const e=n.bitLength(t)/8,r=new Uint8Array(e);let i;for(let n=0;n>>24,i<<=8;return r},toBits(t){const e=[];let r,i=0;for(r=0;r9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(i);let c=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*c,16*(c+1))),c+=1;return i.splice(0,16*c),e},finalize:function(){const t=this;let e=t._buffer;const r=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),r},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,r=Array(80);for(let e=0;e<16;e++)r[e]=t[e];let i=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let t=0;t<=79;t++){t>=16&&(r[t]=e._S(1,r[t-3]^r[t-8]^r[t-14]^r[t-16]));const n=e._S(5,i)+e._f(t,a,s,o)+c+r[t]+e._key[Math.floor(t/20)]|0;c=o,o=s,s=e._S(30,a),a=i,i=n}n[0]=n[0]+i|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 a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),c=["deriveBits"],l=[8,12,16],d=[16,24,32],u=[0,0,0,0],f=crypto.subtle,h=r.bytes,p=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],r=e._tables[1],i=t.length;let a,s,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=i;a<4*i+28;a++){let t=s[a-1];(a%i==0||8===i&&a%i==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%i==0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-i]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],r=e[4],i=[],a=[];let s,o,c,l;for(let t=0;t<256;t++)a[(i[t]=t<<1^283*(t>>7))^t]=t;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,r[a]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*i[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],r=n.length/4-2,i=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,p=t[0]^n[0],_=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[_>>16&255]^c[w>>8&255]^l[255&g]^n[y],f=s[_>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&p]^n[y+1],h=s[w>>>24]^o[g>>16&255]^c[p>>8&255]^l[255&_]^n[y+2],g=s[g>>>24]^o[p>>16&255]^c[_>>8&255]^l[255&w]^n[y+3],y+=4,p=u,_=f,w=h;for(let t=0;t<4;t++)i[e?3&-t:t]=d[p>>>24]<<24^d[_>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=p,p=_,_=w,w=g,g=u;return i}},_=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,r){let i;if(!(i=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const i=h.toBits(k(e,o,o+16));a&&t.hmac.update(i);const s=t.aesCtrGladman.update(i);a||t.hmac.update(s),n.set(h.fromBits(s),o+r)}return t.pendingInput=k(e,o),n}async function m(t,e,n){const r=(new TextEncoder).encode(e),i=await f.importKey("raw",r,s,!1,c),a=await f.deriveBits(Object.assign({salt:n},o),i,8*(2*d[t.strength]+2)),l=new Uint8Array(a);t.keys={key:h.toBits(k(l,0,d[t.strength])),authentication:h.toBits(k(l,d[t.strength],2*d[t.strength])),passwordVerification:k(l,2*d[t.strength])}}function x(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function k(t,e,n){return t.subarray(e,n)}class v{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=U(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return U(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,r;if(e.password){e.password=null;const i=crypto.getRandomValues(new Uint8Array(12));i[11]=e.passwordVerification,n=new Uint8Array(t.length+i.length),n.set(E(e,i),0),r=12}else n=new Uint8Array(t.length),r=0;return n.set(E(e,t),r),n}async flush(){return{data:new Uint8Array(0)}}}function U(t,e){const n=new Uint8Array(e.length);for(let r=0;r>>24]),t.keys[2]=~t.crcKey2.get()}function z(t){const e=2|t.keys[2];return S(Math.imul(e,1^e)>>>8)}function S(t){return 255&t}function I(t){return 4294967295&t}class F{constructor(t,{signature:n,password:r,signed:i,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:c}){const l=Boolean(r);Object.assign(this,{signature:n,encrypted:l,signed:i,compressed:a,inflate:a&&new t,crc32:i&&new e,zipCrypto:s,decrypt:l&&s?new v(r,o):new g(r,i,c)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:r,compressed:i,level:a,zipCrypto:s,password:o,passwordVerification:c,encryptionStrength:l}){Object.assign(this,{encrypted:n,signed:r,compressed:i,deflate:i&&new t({level:a||5}),crc32:r&&new e,zipCrypto:s,encrypt:n&&s?new A(o,c):new y(o,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const r=await t.encrypt.flush();e=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const B={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),O=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await O.append(t.data)}),flush:()=>O.flush()};let O;function T(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,r=B[n];if(r)try{e.data&&(e.data=new Uint8Array(e.data));const t=await r(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const W=[0,1,2,3].concat(...T([[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 M(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const r=t.dyn_tree,i=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(r,s);c=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,r[2*c]=r[2*s]+r[2*o],n.depth[c]=Math.max(n.depth[s],n.depth[o])+1,r[2*s+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(e){const n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,c,l,d,u,f,h=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)c=e.heap[o],d=n[2*n[2*c+1]+1]+1,d>s&&(d=s,h++),n[2*c+1]=d,c>t.max_code||(e.bl_count[d]++,u=0,c>=a&&(u=i[c-a]),f=n[2*c],e.opt_len+=f*(d+u),r&&(e.static_len+=f*(r[2*c+1]+u)));if(0!==h){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,h-=2}while(h>0);for(d=s;0!==d;d--)for(c=e.bl_count[d];0!==c;)l=e.heap[--o],l>t.max_code||(n[2*l+1]!=d&&(e.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(t,n,r){const i=[];let a,s,o,c=0;for(a=1;a<=15;a++)i[a]=c=c+r[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(i[o]++,o))}(r,t.max_code,n.bl_count)}}function H(t,e,n,r,i){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=r,a.max_length=i}function L(t,e,n,r,i){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=r,a.func=i}M._length_code=[0,1,2,3,4,5,6,7].concat(...T([[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]])),M.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],M.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],M.d_code=function(t){return t<256?W[t]:W[256+(t>>>7)]},M.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],M.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],M.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,M.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,M.extra_dbits,0,30,15),H.static_bl_desc=new H(null,M.extra_blbits,0,19,7);const N=[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)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,r){const i=t[2*e],a=t[2*n];return i>>8&255)}function tt(t,e){let n;const r=e;Y>16-r?(n=t,G|=n<>>16-Y,Y+=r-16):(G|=t<=8&&(Q(255&G),G>>>=8,Y-=8)}function it(e,n){let r,i,a;if(t.pending_buf[Z+2*V]=e>>>8&255,t.pending_buf[Z+2*V+1]=255&e,t.pending_buf[W+V]=255&n,V++,0===e?I[2*n]++:(q++,e--,I[2*(M._length_code[n]+256+1)]++,F[2*M.d_code(e)]++),0==(8191&V)&&R>2){for(r=8*V,i=x-g,a=0;a<30;a++)r+=F[2*a]*(5+M.extra_dbits[a]);if(r>>>=3,q8?$(G):Y>0&&Q(255&G),G=0,Y=0}function ot(e,n,r){tt(0+(r?1:0),3),function(e,n,r){st(),K=8,$(n),$(~n),t.pending_buf.set(c.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function ct(e,n,r){let i,a,s=0;R>0?(B.build_tree(t),O.build_tree(t),s=function(){let e;for(J(I,B.max_code),J(F,O.max_code),T.build_tree(t),e=18;e>=3&&0===C[2*M.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&-1!=e?ot(e,n,r):a==i?(tt(2+(r?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(r?1:0),3),function(t,e,n){let r;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),r=0;r=0?g:-1,x-g,t),g=x,e.flush_pending()}function dt(){let t,n,r,i;do{if(i=l-v-x,0===i&&0===x&&0===v)i=a;else if(-1==i)i--;else if(x>=a+a-262){c.set(c.subarray(a,a+a),0),k-=a,x-=a,g-=a,t=h,r=t;do{n=65535&u[--r],u[r]=n>=a?n-a:0}while(0!=--t);t=a,r=t;do{n=65535&d[--r],d[r]=n>=a?n-a:0}while(0!=--t);i+=a}if(0===e.avail_in)return;t=e.read_buf(c,x+v,i),v+=t,v>=3&&(f=255&c[x],f=(f<a-262?x-(a-262):0;let u=S;const f=o,h=x+258;let p=c[i+s-1],_=c[i+s];A>=z&&(r>>=2),u>v&&(u=v);do{if(e=t,c[e+s]==_&&c[e+s-1]==p&&c[e]==c[i]&&c[++e]==c[i+1]){i+=2,e++;do{}while(c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&is){if(k=t,s=n,n>=u)break;p=c[i+s-1],_=c[i+s]}}}while((t=65535&d[t&f])>l&&0!=--r);return s<=v?s:v}function ft(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,i=0,B.dyn_tree=I,B.stat_desc=H.static_l_desc,O.dyn_tree=F,O.stat_desc=H.static_d_desc,T.dyn_tree=C,T.stat_desc=H.static_bl_desc,G=0,Y=0,K=8,X(),function(){l=2*a,u[h-1]=0;for(let t=0;t9||8!=l||i<9||i>15||n<0||n>9||g<0||g>2?-2:(e.dstate=t,s=i,a=1<9||n<0||n>2?-2:(N[R].func!=N[e].func&&0!==t.total_in&&(r=t.deflate(1)),R!=e&&(R=e,E=N[R].max_lazy,z=N[R].good_length,S=N[R].nice_length,U=N[R].max_chain),D=n,r)},t.deflateSetDictionary=function(t,e,r){let i,s=r,l=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,l=r-s),c.set(e.subarray(l,l+s),0),x=s,g=s,f=255&c[0],f=(f<4||p<0)return-2;if(!l.next_out||!l.next_in&&0!==l.avail_in||666==n&&4!=p)return l.msg=P[4],-2;if(0===l.avail_out)return l.msg=P[7],-5;var C;if(e=l,I=i,i=p,42==n&&(z=8+(s-8<<4)<<8,S=(R-1&255)>>1,S>3&&(S=3),z|=S<<6,0!==x&&(z|=32),z+=31-z%31,n=113,Q((C=z)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return i=-1,0}else if(0===e.avail_in&&p<=I&&4!=p)return e.msg=P[7],-5;if(666==n&&0!==e.avail_in)return l.msg=P[7],-5;if(0!==e.avail_in||0!==v||0!=p&&666!=n){switch(F=-1,N[R].func){case 0:F=function(t){let n,i=65535;for(i>r-5&&(i=r-5);;){if(v<=1){if(dt(),0===v&&0==t)return 0;if(0===v)break}if(x+=v,v=0,n=g+i,(0===x||x>=n)&&(v=x-n,x=n,lt(!1),0===e.avail_out))return 0;if(x-g>=a-262&&(lt(!1),0===e.avail_out))return 0}return lt(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(p);break;case 1:F=function(t){let n,r=0;for(;;){if(v<262){if(dt(),v<262&&0==t)return 0;if(0===v)break}if(v>=3&&(f=(f<=3)if(n=it(x-k,y-3),v-=y,y<=E&&v>=3){y--;do{x++,f=(f<=3&&(f=(f<4096)&&(y=2)),A>=3&&y<=A){r=x+v-3,n=it(x-1-b,A-3),v-=A-1,A-=2;do{++x<=r&&(f=(f<0&&e.next_in_index!=o&&(i(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(l),d.forEach((function(t){s.set(t,c),c+=t.length})),s}},this.flush=function(){let t,i,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(r.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),i=new Uint8Array(s),o.forEach((function(t){i.set(t,a),a+=t.length})),i}}Z.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,t.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),e),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const K=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],G=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,r,i,a;function s(t,e,s,o,c,l,d,u,f,h,p){let _,w,g,y,b,m,x,k,v,A,U,E,R,D,z;A=0,b=s;do{n[t[e+A]]++,A++,b--}while(0!==b);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(k=u[0],m=1;m<=15&&0===n[m];m++);for(x=m,kb&&(k=b),u[0]=k,D=1<E+k;){if(y++,E+=k,z=g-E,z=z>k?k:z,(w=1<<(m=x-E))>_+1&&(w-=_+1,R=x,m1440)return-3;i[y]=U=h[0],h[0]+=z,0!==y?(a[y]=b,r[0]=m,r[1]=k,m=b>>>E-k,r[2]=U-i[y-1]-m,f.set(r,3*(i[y-1]+m))):d[0]=U}for(r[1]=x-E,A>=s?r[0]=192:p[A]>>E;m>>=1)b^=m;for(b^=m,v=(1<257?(-3==h?f.msg="oversubscribed distance tree":-5==h?(f.msg="incomplete distance tree",h=-3):-4!=h&&(f.msg="empty distance tree with lengths",h=-3),h):0)}}function et(){const t=this;let e,n,r,i,a=0,s=0,o=0,c=0,l=0,d=0,u=0,f=0,h=0,p=0;function _(t,e,n,r,i,a,s,o){let c,l,d,u,f,h,p,_,w,g,y,b,m,x,k,v;p=o.next_in_index,_=o.avail_in,f=s.bitb,h=s.bitk,w=s.write,g=w>=l[v+1],h-=l[v+1],0!=(16&u)){for(u&=15,m=l[v+2]+(f&K[u]),f>>=u,h-=u;h<15;)_--,f|=(255&o.read_byte(p++))<>=l[v+1],h-=l[v+1],0!=(16&u)){for(u&=15;h>=u,h-=u,g-=m,w>=x)k=w-x,w-k>0&&2>w-k?(s.window[w++]=s.window[k++],s.window[w++]=s.window[k++],m-=2):(s.window.set(s.window.subarray(k,k+2),w),w+=2,k+=2,m-=2);else{k=w-x;do{k+=s.end}while(k<0);if(u=s.end-k,m>u){if(m-=u,w-k>0&&u>w-k)do{s.window[w++]=s.window[k++]}while(0!=--u);else s.window.set(s.window.subarray(k,k+u),w),w+=u,k+=u,u=0;k=0}}if(w-k>0&&m>w-k)do{s.window[w++]=s.window[k++]}while(0!=--m);else s.window.set(s.window.subarray(k,k+m),w),w+=m,k+=m,m=0;break}if(0!=(64&u))return o.msg="invalid distance code",m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,-3;c+=l[v+2],c+=f&K[u],v=3*(d+c),u=l[v]}break}if(0!=(64&u))return 0!=(32&u)?(m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,1):(o.msg="invalid literal/length code",m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,-3);if(c+=l[v+2],c+=f&K[u],v=3*(d+c),0===(u=l[v])){f>>=l[v+1],h-=l[v+1],s.window[w++]=l[v+2],g--;break}}else f>>=l[v+1],h-=l[v+1],s.window[w++]=l[v+2],g--}while(g>=258&&_>=10);return m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,0}t.init=function(t,a,s,o,c,l){e=0,u=t,f=a,r=s,h=o,i=c,p=l,n=null},t.proc=function(t,w,g){let y,b,m,x,k,v,A,U=0,E=0,R=0;for(R=w.next_in_index,x=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k=258&&x>=10&&(t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,g=_(u,f,r,h,i,p,t,w),R=w.next_in_index,x=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k>>=n[b+1],E-=n[b+1],m=n[b],0===m){c=n[b+2],e=6;break}if(0!=(16&m)){l=15&m,a=n[b+2],e=2;break}if(0==(64&m)){o=m,s=b/3+n[b+2];break}if(0!=(32&m)){e=7;break}return e=9,w.msg="invalid literal/length code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 2:for(y=l;E>=y,E-=y,o=f,n=i,s=p,e=3;case 3:for(y=o;E>=n[b+1],E-=n[b+1],m=n[b],0!=(16&m)){l=15&m,d=n[b+2],e=4;break}if(0==(64&m)){o=m,s=b/3+n[b+2];break}return e=9,w.msg="invalid distance code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 4:for(y=l;E>=y,E-=y,e=5;case 5:for(A=k-d;A<0;)A+=t.end;for(;0!==a;){if(0===v&&(k==t.end&&0!==t.read&&(k=0,v=k7&&(E-=8,x++,R--),t.write=k,g=t.inflate_flush(w,g),k=t.write,v=kt.avail_out&&(r=t.avail_out),0!==r&&-5==e&&(e=0),t.avail_out-=r,t.total_out+=r,t.next_out.set(n.window.subarray(a,a+r),i),i+=r,a+=r,a==n.end&&(a=0,n.write==n.end&&(n.write=0),r=n.write-a,r>t.avail_out&&(r=t.avail_out),0!==r&&-5==e&&(e=0),t.avail_out-=r,t.total_out+=r,t.next_out.set(n.window.subarray(a,a+r),i),i+=r,a+=r),t.next_out_index=i,n.read=a,e},n.proc=function(t,e){let p,_,w,g,y,b,m,x;for(g=t.next_in_index,y=t.avail_in,_=n.bitb,w=n.bitk,b=n.write,m=b>>1){case 0:_>>>=3,w-=3,p=7&w,_>>>=p,w-=p,i=1;break;case 1:k=[],v=[],A=[[]],U=[[]],tt.inflate_trees_fixed(k,v,A,U),d.init(k[0],v[0],A[0],0,U[0],0),_>>>=3,w-=3,i=6;break;case 2:_>>>=3,w-=3,i=3;break;case 3:return _>>>=3,w-=3,i=9,t.msg="invalid block type",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e)}break;case 1:for(;w<32;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<>>16&65535)!=(65535&_))return i=9,t.msg="invalid stored block lengths",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);a=65535&_,_=w=0,i=0!==a?2:0!==u?7:0;break;case 2:if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(0===m&&(b==n.end&&0!==n.read&&(b=0,m=by&&(p=y),p>m&&(p=m),n.window.set(t.read_buf(g,p),b),g+=p,y-=p,b+=p,m-=p,0!=(a-=p))break;i=0!==u?7:0;break;case 3:for(;w<14;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<29||(p>>5&31)>29)return i=9,t.msg="too many length or distance symbols",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(p=258+(31&p)+(p>>5&31),!r||r.length>>=14,w-=14,o=0,i=4;case 4:for(;o<4+(s>>>10);){for(;w<3;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<>>=3,w-=3}for(;o<19;)r[nt[o++]]=0;if(c[0]=7,p=h.inflate_trees_bits(r,c,l,f,t),0!=p)return-3==(e=p)&&(r=null,i=9),n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);o=0,i=5;case 5:for(;p=s,!(o>=258+(31&p)+(p>>5&31));){let a,d;for(p=c[0];w>>=p,w-=p,r[o++]=d;else{for(x=18==d?7:d-14,a=18==d?11:3;w>>=p,w-=p,a+=_&K[x],_>>>=x,w-=x,x=o,p=s,x+a>258+(31&p)+(p>>5&31)||16==d&&x<1)return r=null,i=9,t.msg="invalid bit length repeat",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d=16==d?r[x-1]:0;do{r[x++]=d}while(0!=--a);o=x}}if(l[0]=-1,E=[],R=[],D=[],z=[],E[0]=9,R[0]=6,p=s,p=h.inflate_trees_dynamic(257+(31&p),1+(p>>5&31),r,E,R,D,z,f,t),0!=p)return-3==p&&(r=null,i=9),e=p,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d.init(E[0],R[0],f,D[0],f,z[0]),i=6;case 6:if(n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),g=t.next_in_index,y=t.avail_in,_=n.bitb,w=n.bitk,b=n.write,m=b15?(t.inflateEnd(n),-2):(t.wbits=r,n.istate.blocks=new rt(n,1<>4)>i.wbits){i.mode=13,t.msg="invalid window size",i.marker=5;break}i.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,r=255&t.read_byte(t.next_in_index++),((i.method<<8)+r)%31!=0){i.mode=13,t.msg="incorrect header check",i.marker=5;break}if(0==(32&r)){i.mode=7;break}i.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,i.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,i.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,i.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,i.need+=255&t.read_byte(t.next_in_index++),i.mode=6,2);case 6:return i.mode=13,t.msg="need dictionary",i.marker=0,-2;case 7:if(n=i.blocks.proc(t,n),-3==n){i.mode=13,i.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,i.blocks.reset(t,i.was),i.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let r=0,i=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return i>=1<0&&t.next_in_index!=c&&(i(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,l),l+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=q,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));i({workerScripts:{inflate:[e],deflate:[e]}})}})(),t.BlobReader=x,t.BlobWriter=k,t.Data64URIReader=b,t.Data64URIWriter=m,t.ERR_ABORT=qt,t.ERR_BAD_FORMAT=Qt,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ne,t.ERR_DUPLICATED_NAME=Ae,t.ERR_ENCRYPTED=ae,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ee,t.ERR_EOCDR_NOT_FOUND=$t,t.ERR_EOCDR_ZIP64_NOT_FOUND=te,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ie,t.ERR_HTTP_RANGE=o,t.ERR_INVALID_COMMENT=Ue,t.ERR_INVALID_DATE=ze,t.ERR_INVALID_ENCRYPTION_STRENGTH=Se,t.ERR_INVALID_ENTRY_COMMENT=Ee,t.ERR_INVALID_ENTRY_NAME=Re,t.ERR_INVALID_EXTRAFIELD_DATA=Fe,t.ERR_INVALID_EXTRAFIELD_TYPE=Ie,t.ERR_INVALID_PASSWORD=et,t.ERR_INVALID_SIGNATURE=Bt,t.ERR_INVALID_VERSION=De,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=re,t.ERR_UNSUPPORTED_COMPRESSION=oe,t.ERR_UNSUPPORTED_ENCRYPTION=se,t.HttpRangeReader=class extends z{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=z,t.Reader=_,t.TextReader=g,t.TextWriter=y,t.Uint8ArrayReader=S,t.Uint8ArrayWriter=I,t.Writer=w,t.ZipReader=de,t.ZipWriter=Be,t.configure=i,t.fs=qe,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:a(t.Deflate,e.deflate,n),Inflate:a(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,useWebWorkers:!0,workerScripts:void 0},n=Object.assign({},e);function r(){return n}function i(t){if(void 0!==t.chunkSize&&(n.chunkSize=t.chunkSize),void 0!==t.maxWorkers&&(n.maxWorkers=t.maxWorkers),void 0!==t.useWebWorkers&&(n.useWebWorkers=t.useWebWorkers),void 0!==t.Deflate&&(n.Deflate=t.Deflate),void 0!==t.Inflate&&(n.Inflate=t.Inflate),void 0!==t.workerScripts){if(t.workerScripts.deflate){if(!Array.isArray(t.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.deflate=t.workerScripts.deflate}if(t.workerScripts.inflate){if(!Array.isArray(t.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.inflate=t.workerScripts.inflate}}}function a(t,e,n){return class{constructor(r){const i=this;i.codec=new t(Object.assign({},e,r)),n(i.codec,(t=>{if(i.pendingData){const e=i.pendingData;i.pendingData=new Uint8Array(e.length+t.length),i.pendingData.set(e,0),i.pendingData.set(t,e.length)}else i.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),r(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),r(this)}};function r(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const s="HTTP error ",o="HTTP Range not supported",c="text/plain",l="Content-Length",d="Accept-Ranges",u="HEAD",f="GET",h="bytes";class p{constructor(){this.size=0}init(){this.initialized=!0}}class _ extends p{}class w extends p{writeUint8Array(t){this.size+=t.length}}class g extends _{constructor(t){super(),this.blobReader=new x(new Blob([t],{type:c}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}}class y extends w{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:c})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:c})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}}class b extends _{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),r=4*Math.floor(t/3),i=atob(this.dataURI.substring(r+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(r/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}}class x extends _{constructor(t){super(),this.blob=t,this.size=t.size}async readUint8Array(t,e){const n=new FileReader;return new Promise(((r,i)=>{n.onload=t=>r(new Uint8Array(t.target.result)),n.onerror=i,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class k extends w{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class v extends _{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),F(this.url)&&!this.preventHeadRequest){const t=await U(u,this.url,this.options);if(this.size=Number(t.headers.get(l)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(d)!=h)throw new Error(o);void 0===this.size&&await A(this,this.options)}else await A(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await U(f,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(o);return new Uint8Array(await n.arrayBuffer())}return this.data||await A(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function A(t,e){const n=await U(f,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function U(t,e,n,r){r=Object.assign({},n.headers,r);const i=await fetch(e,Object.assign({},n,{method:t,headers:r}));if(i.status<400)return i;throw new Error(s+(i.statusText||i.status))}class E extends _{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),F(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>D(u,this.url,(n=>{this.size=Number(n.getResponseHeader(l)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(d)==h?t():e(new Error(o)):void 0===this.size?R(this,this.url).then((()=>t())).catch(e):t()}),e)));await R(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await R(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,r)=>D(f,this.url,(t=>n(new Uint8Array(t.response))),r,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(o)}}function R(t,e){return new Promise(((n,r)=>D(f,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),r)))}function D(t,e,n,r,i=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):r(s+(a.statusText||a.status))}),!1),a.addEventListener("error",r,!1),a.open(t,e),i.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class z extends _{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new E(t,e):this.reader=new v(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class S extends _{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}}class I extends w{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}}function F(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const C=4294967295,B=65535,O=67324752,T=134695760,W=33639248,M=101010256,H=101075792,L=117853008,N=39169,P=2048,j="/",V=new Date(2107,11,31),Z=new Date(1980,0,1),q="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const K=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;K[t]=e}class G{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,r=0|t.length;n>>8^K[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const Y={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],r=Y.getPartial(n);return 32===r?t.concat(e):Y._shiftRight(e,r,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+Y.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=Y.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(n),n=0;if(0===e)return r.concat(t);for(let i=0;i>>e),n=t[i]<<32-e;const i=t.length?t[t.length-1]:0,a=Y.getPartial(i);return r.push(Y.partial(e+a&31,e+a>32?n:r.pop(),1)),r}},X={bytes:{fromBits(t){const e=Y.bitLength(t)/8,n=new Uint8Array(e);let r;for(let i=0;i>>24,r<<=8;return n},toBits(t){const e=[];let n,r=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+r-(e.blockSize+r&e.blockSize-1);t<=i;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=Y.concat(e,[Y.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,r=Array(80);for(let e=0;e<16;e++)r[e]=t[e];let i=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let t=0;t<=79;t++){t>=16&&(r[t]=e._S(1,r[t-3]^r[t-8]^r[t-14]^r[t-16]));const n=e._S(5,i)+e._f(t,a,s,o)+c+r[t]+e._key[Math.floor(t/20)]|0;c=o,o=s,s=e._S(30,a),a=i,i=n}n[0]=n[0]+i|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 Q={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],r=e._tables[1],i=t.length;let a,s,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=i;a<4*i+28;a++){let t=s[a-1];(a%i==0||8===i&&a%i==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%i==0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-i]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],r=e[4],i=[],a=[];let s,o,c,l;for(let t=0;t<256;t++)a[(i[t]=t<<1^283*(t>>7))^t]=t;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,r[a]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*i[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],r=n.length/4-2,i=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,p=t[0]^n[0],_=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[_>>16&255]^c[w>>8&255]^l[255&g]^n[y],f=s[_>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&p]^n[y+1],h=s[w>>>24]^o[g>>16&255]^c[p>>8&255]^l[255&_]^n[y+2],g=s[g>>>24]^o[p>>16&255]^c[_>>8&255]^l[255&w]^n[y+3],y+=4,p=u,_=f,w=h;for(let t=0;t<4;t++)i[e?3&-t:t]=d[p>>>24]<<24^d[_>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=p,p=_,_=w,w=g,g=u;return i}}},$={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let r;if(!(r=e.length))return[];const i=Y.bitLength(e);for(let i=0;ii&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%nt)),o=0;o<=s-nt;o+=nt){const i=ft.toBits(xt(e,o,o+nt));a&&t.hmac.update(i);const s=t.aesCtrGladman.update(i);a||t.hmac.update(s),n.set(ft.fromBits(s),o+r)}return t.pendingInput=xt(e,o),n}async function bt(t,e,n){const r=(new TextEncoder).encode(e),i=await ut.importKey("raw",r,it,!1,st),a=await ut.deriveBits(Object.assign({salt:n},at),i,8*(2*ct[t.strength]+2)),s=new Uint8Array(a);t.keys={key:ft.toBits(xt(s,0,ct[t.strength])),authentication:ft.toBits(xt(s,ct[t.strength],2*ct[t.strength])),passwordVerification:xt(s,2*ct[t.strength])}}function mt(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function xt(t,e,n){return t.subarray(e,n)}const kt=12;class vt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Rt(this,t)}async append(t){const e=this;if(e.password){const n=Ut(e,t.subarray(0,kt));if(e.password=null,n[11]!=e.passwordVerification)throw new Error(et);t=t.subarray(kt)}return Ut(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class At{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Rt(this,t)}async append(t){const e=this;let n,r;if(e.password){e.password=null;const i=crypto.getRandomValues(new Uint8Array(kt));i[11]=e.passwordVerification,n=new Uint8Array(t.length+i.length),n.set(Et(e,i),0),r=kt}else n=new Uint8Array(t.length),r=0;return n.set(Et(e,t),r),n}async flush(){return{data:new Uint8Array(0)}}}function Ut(t,e){const n=new Uint8Array(e.length);for(let r=0;r>>24]),t.keys[2]=~t.crcKey2.get()}function zt(t){const e=2|t.keys[2];return St(Math.imul(e,1^e)>>>8)}function St(t){return 255&t}function It(t){return 4294967295&t}const Ft="deflate",Ct="inflate",Bt="Invalid signature";class Ot{constructor(t,{signature:e,password:n,signed:r,compressed:i,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const c=Boolean(n);Object.assign(this,{signature:e,encrypted:c,signed:r,compressed:i,inflate:i&&new t,crc32:r&&new G,zipCrypto:a,decrypt:c&&a?new vt(n,s):new wt(n,r,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(Bt);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(Bt)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class Tt{constructor(t,{encrypted:e,signed:n,compressed:r,level:i,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:c}){Object.assign(this,{encrypted:e,signed:n,compressed:r,deflate:r&&new t({level:i||5}),crc32:n&&new G,zipCrypto:a,encrypt:e&&a?new At(s,o):new gt(s,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const r=await t.encrypt.flush();e=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const Wt="init",Mt="append",Ht="flush",Lt="message";var Nt=(t,e,n,r,i,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:i,onTaskFinished(){t.busy=!1;r(t)&&t.worker&&t.worker.terminate()}}),i?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-fs.min.js",document.baseURI).href)),t.worker.addEventListener(Lt,i,!1),t.interface={append:t=>n({type:Mt,data:t}),flush:()=>n({type:Ht})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await r({scripts:n,type:Wt,options:e})}return r(n)}function r(n){const r=t.worker,i=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,r.postMessage(n,[n.data])}catch(t){r.postMessage(n)}else r.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return i}function i(n){const r=n.data;if(e){const n=r.error,i=r.type;if(n){const r=new Error(n.message);r.stack=n.stack,e.reject(r),e=null,t.onTaskFinished()}else if(i==Wt||i==Ht||i==Mt){const n=r.data;i==Ht?(e.resolve({data:new Uint8Array(n),signature:r.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(Ft)?new Tt(t,e):e.codecType.startsWith(Ct)?new Ot(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let Pt=[],jt=[];function Vt(t,e,n){const r=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),i=r&&n.workerScripts?n.workerScripts[e.codecType]:[];if(Pt.length!t.busy));return n?Nt(n,t,e,Zt,r,i):new Promise((n=>jt.push({resolve:n,codecConstructor:t,options:e,webWorker:r,scripts:i})))}}function Zt(t){const e=!jt.length;if(e)Pt=Pt.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:r,webWorker:i,scripts:a}]=jt.splice(0,1);e(Nt(t,n,r,Zt,i,a))}return e}const qt="Abort error";async function Kt(t,e,n,r,i,a,s){const o=Math.max(a.chunkSize,64);return async function a(c=0,l=0){const d=s.signal;if(cthis[e]=t[e]))}}const Qt="File format is not recognized",$t="End of central directory not found",te="End of Zip64 central directory not found",ee="End of Zip64 central directory locator not found",ne="Central directory header not found",re="Local file header not found",ie="Zip64 extra field not found",ae="File contains encrypted entry",se="Encryption method not supported",oe="Compression method not supported",ce="utf-8",le=["uncompressedSize","compressedSize","offset"];class de{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:r()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Qt);const r=await async function(t,e,n,r,i){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(ke(a),0,e);const s=r+i;return await o(r)||await o(Math.min(s,n));async function o(e){const i=n-e,s=await ve(t,i,e);for(let t=s.length-r;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:i+t,buffer:s.slice(t,t+r).buffer}}}(n,M,n.size,22,1048560);if(!r)throw new Error($t);const i=ke(r);let a=me(i,12),s=me(i,16),o=be(i,8),c=0;if(s==C||o==B){const t=ke(await ve(n,r.offset-20,20));if(me(t,0)!=L)throw new Error(te);s=xe(t,8);let e=await ve(n,s,56),i=ke(e);const l=r.offset-20-56;if(me(i,0)!=H&&s!=l){const t=s;s=l,c=s-t,e=await ve(n,s,56),i=ke(e)}if(me(i,0)!=H)throw new Error(ee);o=xe(i,24),a=me(t,4),s-=xe(i,40)}if(s<0||s>=n.size)throw new Error(Qt);let l=0,d=await ve(n,s,n.size-s),u=ke(d);const f=r.offset-a;if(me(u,l)!=W&&s!=f){const t=s;s=f,c=s-t,d=await ve(n,s,n.size-s),u=ke(d)}if(s<0||s>=n.size)throw new Error(Qt);const h=[];for(let r=0;rr.getData(t,e),h.push(p),l=f}return h}async close(){}}class ue{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:r,offset:i,extraFieldAES:a,compressionMethod:s,config:o,bitFlag:c,signature:l,rawLastModDate:d,compressedSize:u,onprogress:f}=n,h=n.localDirectory={};r.initialized||await r.init();const p=await ve(r,i,30),_=ke(p);let w=_e(n,e,"password");if(w=w&&w.length&&w,a&&99!=a.originalCompressionMethod)throw new Error(oe);if(0!=s&&8!=s)throw new Error(oe);if(me(_,0)!=O)throw new Error(re);fe(h,_,4);const g=i+30+h.filenameLength,y=g+h.extraFieldLength;h.rawExtraField=p.subarray(g,y),he(n,h,_,4);const b=n.encrypted&&h.encrypted,m=b&&!a;if(b){if(!m&&void 0===a.strength)throw new Error(se);if(!w)throw new Error(ae)}const x=await Vt(o.Inflate,{codecType:Ct,password:w,zipCrypto:m,encryptionStrength:a&&a.strength,signed:_e(n,e,"checkSignature"),passwordVerification:m&&(c.dataDescriptor?d>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:b,useWebWorkers:_e(n,e,"useWebWorkers")},o);t.initialized||await t.init();const k=_e(n,e,"signal");return await Kt(x,r,t,y,u,o,{onprogress:e.onprogress,signal:k}),t.getData()}}function fe(t,e,n){const r=t.rawBitFlag=be(e,n+2),i=1==(1&r);Object.assign(t,{encrypted:i,version:be(e,n),bitFlag:{level:(6&r)>>1,dataDescriptor:8==(8&r),languageEncodingFlag:(r&P)==P},rawLastModDate:me(e,n+6),lastModDate:ge(t.rawLastModDate),filenameLength:be(e,n+22),extraFieldLength:be(e,n+24)})}function he(t,e,n,r){const i=e.rawExtraField,a=e.extraField=new Map,s=ke(new Uint8Array(i));let o=0;try{for(;oe[t]==C));for(let e=0;e{if(e[n]==C){if(!t||void 0===t[n])throw new Error(ie);e[n]=t[n]}}))}(l,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&pe(d,"filename","rawFilename",e,t);const u=e.extraFieldUnicodeComment=a.get(25461);u&&pe(u,"comment","rawComment",e,t);const f=e.extraFieldAES=a.get(39169);f?function(t,e,n){if(t){const r=ke(t.data);t.vendorVersion=ye(r,0),t.vendorId=ye(r,2);const i=ye(r,4);t.strength=i,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=be(r,5)}else e.compressionMethod=n}(f,e,c):e.compressionMethod=c}function pe(t,e,n,r,i){const a=ke(t.data);t.version=ye(a,0),t.signature=me(a,1);const s=new G;s.append(i[n]);const o=ke(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!i.bitFlag.languageEncodingFlag&&t.signature==me(o,0),t.valid&&(r[e]=t[e],r[e+"UTF8"]=!0)}function _e(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function we(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function ye(t,e){return t.getUint8(e)}function be(t,e){return t.getUint16(e,!0)}function me(t,e){return t.getUint32(e,!0)}function xe(t,e){return Number(t.getBigUint64(e,!0))}function ke(t){return new DataView(t.buffer)}function ve(t,e,n){return t.readUint8Array(e,n)}const Ae="File already exists",Ue="Zip file comment exceeds 64KB",Ee="File entry comment exceeds 64KB",Re="File entry name exceeds 64KB",De="Version exceeds 65535",ze="The modification date must be between 1/1/1980 and 12/31/2107",Se="The strength must equal 1, 2, or 3",Ie="Extra field type exceeds 65535",Fe="Extra field data exceeds 64KB",Ce=new Uint8Array([7,0,2,0,65,69,3,0,0]);class Be{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:r(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const r=this;if(t=t.trim(),n.directory&&!t.endsWith(j)?t+=j:n.directory=t.endsWith(j),r.files.has(t))throw new Error(Ae);const i=(new TextEncoder).encode(t);if(i.length>B)throw new Error(Re);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>B)throw new Error(Ee);const o=r.options.version||n.version||0;if(o>B)throw new Error(De);const c=n.lastModDate||new Date;if(cV)throw new Error(ze);const l=Oe(r,n,"password"),d=Oe(r,n,"encryptionStrength")||3,u=Oe(r,n,"zipCrypto");if(void 0!==l&&void 0!==d&&(d<1||d>3))throw new Error(Se);e&&!e.initialized&&await e.init();let f=new Uint8Array(0);const h=n.extraField;if(h){let t=0,e=0;h.forEach((e=>t+=4+e.length)),f=new Uint8Array(t),h.forEach(((t,n)=>{if(n>B)throw new Error(Ie);if(t.length>B)throw new Error(Fe);Le(f,new Uint16Array([n]),e),Le(f,new Uint16Array([t.length]),e+2),Le(f,t,e+4),e+=4+t.length}))}const p=e?Math.floor(1.05*e.size):0;r.pendingOutputSize+=p,await Promise.resolve();const _=n.zip64||r.options.zip64||r.offset>=C||p>=C||r.offset+r.pendingOutputSize>=C,w=Oe(r,n,"level"),g=Oe(r,n,"useWebWorkers"),y=Oe(r,n,"bufferedWrite");let b=Oe(r,n,"keepOrder"),m=Oe(r,n,"dataDescriptor");const x=Oe(r,n,"signal");void 0===m&&(m=!0),void 0===b&&(b=!0);const v=await async function(t,e,n,r){const i=t.files,a=t.writer;let s,o;i.set(e,null);try{let c,l,d;try{r.keepOrder&&(c=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>o=t))),r.bufferedWrite||t.lockWrite||!r.dataDescriptor?(l=new k,l.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),l=a),d=await async function(t,e,n,r){const{rawFilename:i,lastModDate:a,password:s,level:o,zip64:c,zipCrypto:l,dataDescriptor:d,directory:u,version:f,rawComment:h,rawExtraField:p,useWebWorkers:_,onprogress:w,signal:g,encryptionStrength:y}=r,b=Boolean(s&&s.length),m=0!==o&&!u;let x;if(b&&!l){x=new Uint8Array(Ce.length+2);const t=Ne(x);We(t,0,N),Le(x,Ce,2),Te(t,8,y)}else x=new Uint8Array(0);const k={version:f||20,zip64:c,directory:Boolean(u),filenameUTF8:!0,rawFilename:i,commentUTF8:!0,rawComment:h,rawExtraFieldZip64:c?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:x,rawExtraField:p};let v=P;d&&(v|=8);let A=0;m&&(A=8);c&&(k.version=k.version>45?k.version:45);b&&(v|=1,l||(k.version=k.version>51?k.version:51,A=99,m&&(k.rawExtraFieldAES[9]=8)));const U=k.headerArray=new Uint8Array(26),E=Ne(U);We(E,0,k.version),We(E,2,v),We(E,4,A);const R=new Uint32Array(1),D=Ne(R);We(D,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),We(D,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const z=R[0];Me(E,6,z),We(E,22,i.length),We(E,24,0),We(E,24,x.length+k.rawExtraField.length);const S=new Uint8Array(30+i.length+x.length+k.rawExtraField.length);let I;Me(Ne(S),0,O),Le(S,U,4),Le(S,i,30),Le(S,x,30+i.length),Le(S,k.rawExtraField,30+i.length+x.length);let F=0,B=0;if(t){F=t.size;const r=await Vt(n.Deflate,{codecType:Ft,level:o,password:s,encryptionStrength:y,zipCrypto:b&&l,passwordVerification:b&&l&&z>>8&255,signed:!0,compressed:m,encrypted:b,useWebWorkers:_},n);await e.writeUint8Array(S),I=await Kt(r,t,e,0,F,n,{onprogress:w,signal:g}),B=I.length}else await e.writeUint8Array(S);let W,M=new Uint8Array(0);d&&(M=new Uint8Array(c?24:16),W=Ne(M),Me(W,0,T));if(t){const t=I.signature;if(b&&!l||void 0===t||(Me(E,10,t),k.signature=t,d&&Me(W,4,t)),c){const t=Ne(k.rawExtraFieldZip64);We(t,0,1),We(t,2,24),Me(E,14,C),He(t,12,BigInt(B)),Me(E,18,C),He(t,4,BigInt(F)),d&&(He(W,8,BigInt(B)),He(W,16,BigInt(F)))}else Me(E,14,B),Me(E,18,F),d&&(Me(W,8,B),Me(W,12,F))}d&&await e.writeUint8Array(M);const H=S.length+B+M.length;return Object.assign(k,{compressedSize:B,uncompressedSize:F,lastModDate:a,rawLastModDate:z,encrypted:b,length:H}),k}(n,l,t.config,r)}catch(t){throw i.delete(e),t}if(i.set(e,d),l!=a){const e=l.getData(),n=new FileReader,i=new Promise(((t,r)=>{n.onload=e=>t(e.target.result),n.onerror=r,n.readAsArrayBuffer(e)})),[s]=await Promise.all([i,t.lockWrite,c]);if(!r.dataDescriptor){const t=new DataView(s);d.encrypted&&!r.zipCrypto||Me(t,14,d.signature),d.zip64?(Me(t,18,C),Me(t,22,C)):(Me(t,18,d.compressedSize),Me(t,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=t.offset,d.zip64){He(Ne(d.rawExtraFieldZip64),20,BigInt(d.offset))}return t.offset+=d.length,d}finally{o&&o(),s&&s()}}(r,t,e,Object.assign({},n,{rawFilename:i,rawComment:s,version:o,lastModDate:c,rawExtraField:f,zip64:_,password:l,level:w,useWebWorkers:g,encryptionStrength:d,zipCrypto:u,bufferedWrite:y,keepOrder:b,dataDescriptor:m,signal:x}));return r.pendingOutputSize-=p,Object.assign(v,{name:t,comment:a,extraField:h}),new Jt(v)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,r=e.files;let i=0,a=0,s=e.offset,o=r.size;for(const[,t]of r)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const c=e.options.zip64||s>=C||a>=C||o>=B,l=new Uint8Array(a+(c?98:22)),d=Ne(l);if(t.length){if(!(t.length<=B))throw new Error(Ue);We(d,i+20,t.length)}for(const[,t]of r){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:r,rawExtraField:a,rawComment:s,version:o,headerArray:c,directory:u,zip64:f}=t,h=n.length+r.length+a.length;Me(d,i,W),We(d,i+4,o),Le(l,c,i+6),We(d,i+30,h),We(d,i+32,s.length),u&&Te(d,i+38,16),Me(d,i+42,f?C:t.offset),Le(l,e,i+46),Le(l,n,i+46+e.length),Le(l,r,i+46+e.length+n.length),Le(l,a,46+e.length+n.length+r.length),Le(l,s,i+46+e.length+h),i+=46+e.length+h+s.length}return c&&(Me(d,i,H),He(d,i+4,BigInt(44)),We(d,i+12,45),We(d,i+14,45),He(d,i+24,BigInt(o)),He(d,i+32,BigInt(o)),He(d,i+40,BigInt(a)),He(d,i+48,BigInt(s)),Me(d,i+56,L),He(d,i+64,BigInt(s)+BigInt(a)),Me(d,i+72,1),o=B,s=C,a=C,i+=76),Me(d,i,M),We(d,i+8,o),We(d,i+10,o),Me(d,i+12,a),Me(d,i+16,s),await n.writeUint8Array(l),t.length&&await n.writeUint8Array(t),n.getData()}}function Oe(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function Te(t,e,n){t.setUint8(e,n)}function We(t,e,n){t.setUint16(e,n,!0)}function Me(t,e,n){t.setUint32(e,n,!0)}function He(t,e,n){t.setBigUint64(e,n,!0)}function Le(t,e,n){t.set(e,n)}function Ne(t){return new DataView(t.buffer)}const Pe=524288;class je{constructor(t,e,n,r){const i=this;if(t.root&&r&&r.getChildByName(e))throw new Error("Entry filename already exists");n||(n={}),Object.assign(i,{fs:t,name:e,data:n.data,id:t.entries.length,parent:r,children:[],uncompressedSize:0}),t.entries.push(i),r&&i.parent.children.push(i)}moveTo(t){this.fs.move(this,t)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,n=this.parent;for(;n&&n!=t;)e=(n.name?n.name+"/":"")+e,n=n.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return Boolean(e)}}class Ve extends je{constructor(t,e,n,r){super(t,e,n,r);const i=this;i.Reader=n.Reader,i.Writer=n.Writer,n.getData&&(i.getData=n.getData)}async getData(t,e={}){const n=this;return!t||t.constructor==n.Writer&&n.data?n.data:(n.reader=new n.Reader(n.data,e),await n.reader.init(),t.initialized||await t.init(),n.uncompressedSize=n.reader.size,async function(t,e){return n();async function n(r=0){const i=r*Pe;if(ie.file((r=>n(t.addBlob(e.name,r))),r)));async function n(t,e){const i=await r(e);for(const e of i)e.isDirectory?await n(t.addDirectory(e.name),e):await new Promise(((n,r)=>{e.file((r=>{const i=t.addBlob(e.name,r);i.uncompressedSize=r.size,n(i)}),r)}))}function r(t){return new Promise(((e,n)=>{let r=[];function i(t){t.readEntries((n=>{n.length?(r=r.concat(n),i(t)):e(r)}),n)}t.isDirectory&&i(t.createReader()),t.isFile&&e(r)}))}}(this,t)}async addData(t,e){return Je(this,t,e)}async importBlob(t,e={}){await this.importZip(new x(t),e)}async importData64URI(t,e={}){await this.importZip(new b(t),e)}async importUint8Array(t,e={}){await this.importZip(new S(t),e)}async importHttpContent(t,e={}){await this.importZip(new z(t,e),e)}async exportBlob(t={}){return this.exportZip(new k("application/zip"),t)}async exportData64URI(t={}){return this.exportZip(new m("application/zip"),t)}async exportUint8Array(t={}){return this.exportZip(new I,t)}async importZip(t,e){t.initialized||await t.init();const n=new de(t,e);(await n.getEntries()).forEach((t=>{let n=this;const r=t.filename.split("/"),i=r.pop();r.forEach((t=>n=n.getChildByName(t)||new Ze(this.fs,t,null,n))),t.directory||Je(n,i,{data:t,Reader:Ke(Object.assign({},e))})}))}async exportZip(t,e){const n=this;await Ge(n),await t.init();const r=new Be(t,e);return await async function(t,e,n,r){const i=e,a=new Map;async function s(t,e){async function o(){if(r.bufferedWrite)await Promise.all(e.children.map(c));else for(const t of e.children)await c(t)}async function c(e){const o=r.relativePath?e.getRelativeName(i):e.getFullname();await t.add(o,e.reader,Object.assign({directory:e.directory},Object.assign({},r,{onprogress:t=>{if(r.onprogress){a.set(o,t);try{r.onprogress(Array.from(a.values()).reduce(((t,e)=>t+e)),n)}catch(t){}}}}))),await s(t,e)}await o()}await s(t,e)}(r,n,function(t,e){let n=0;return t.forEach(r),n;function r(t){n+=t[e],t.children&&t.children.forEach(r)}}([n],"uncompressedSize"),e),await r.close(),t.getData()}getChildByName(t){const e=this.children;for(let n=0;n{n.id==t.id&&e.splice(r,1)}))}function Xe(t){t.entries=[],t.root=new Ze(t)}function Je(t,e,n,r){if(t.directory)return r?new Ze(t.fs,e,n,t):new Ve(t.fs,e,n,t);throw new Error("Parent entry is not a directory")}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let r=0,i=0|e.length;r>>8^t[255&(n^e[r])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],i=n.getPartial(r);return 32===i?t.concat(e):n._shiftRight(e,i,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+n.getPartial(r)},clamp(t,e){if(32*t.length0&&e&&(t[r-1]=n.partial(e,t[r-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,r,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(r),r=0;if(0===e)return i.concat(t);for(let n=0;n>>e),r=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return i.push(n.partial(e+s&31,e+s>32?r:i.pop(),1)),i}},r={bytes:{fromBits(t){const e=n.bitLength(t)/8,r=new Uint8Array(e);let i;for(let n=0;n>>24,i<<=8;return r},toBits(t){const e=[];let r,i=0;for(r=0;r9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(i);let c=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*c,16*(c+1))),c+=1;return i.splice(0,16*c),e},finalize:function(){const t=this;let e=t._buffer;const r=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),r},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,r){return t<=19?e&n|~e&r:t<=39?e^n^r:t<=59?e&n|e&r|n&r:t<=79?e^n^r:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,r=Array(80);for(let e=0;e<16;e++)r[e]=t[e];let i=n[0],a=n[1],s=n[2],o=n[3],c=n[4];for(let t=0;t<=79;t++){t>=16&&(r[t]=e._S(1,r[t-3]^r[t-8]^r[t-14]^r[t-16]));const n=e._S(5,i)+e._f(t,a,s,o)+c+r[t]+e._key[Math.floor(t/20)]|0;c=o,o=s,s=e._S(30,a),a=i,i=n}n[0]=n[0]+i|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 a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),c=["deriveBits"],l=[8,12,16],d=[16,24,32],u=[0,0,0,0],f=crypto.subtle,h=r.bytes,p=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],r=e._tables[1],i=t.length;let a,s,o,c=1;if(4!==i&&6!==i&&8!==i)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=i;a<4*i+28;a++){let t=s[a-1];(a%i==0||8===i&&a%i==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%i==0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),s[a]=s[a-i]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:r[0][n[e>>>24]]^r[1][n[e>>16&255]]^r[2][n[e>>8&255]]^r[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],r=e[4],i=[],a=[];let s,o,c,l;for(let t=0;t<256;t++)a[(i[t]=t<<1^283*(t>>7))^t]=t;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,r[a]=d,l=i[c=i[o=i[d]]];let u=16843009*l^65537*c^257*o^16843008*d,f=257*i[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],r=n.length/4-2,i=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],c=a[2],l=a[3],d=a[4];let u,f,h,p=t[0]^n[0],_=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[_>>16&255]^c[w>>8&255]^l[255&g]^n[y],f=s[_>>>24]^o[w>>16&255]^c[g>>8&255]^l[255&p]^n[y+1],h=s[w>>>24]^o[g>>16&255]^c[p>>8&255]^l[255&_]^n[y+2],g=s[g>>>24]^o[p>>16&255]^c[_>>8&255]^l[255&w]^n[y+3],y+=4,p=u,_=f,w=h;for(let t=0;t<4;t++)i[e?3&-t:t]=d[p>>>24]<<24^d[_>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=p,p=_,_=w,w=g,g=u;return i}},_=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,r=255&t;255===e?(e=0,255===n?(n=0,255===r?r=0:++r):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=r}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,r){let i;if(!(i=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const i=h.toBits(k(e,o,o+16));a&&t.hmac.update(i);const s=t.aesCtrGladman.update(i);a||t.hmac.update(s),n.set(h.fromBits(s),o+r)}return t.pendingInput=k(e,o),n}async function m(t,e,n){const r=(new TextEncoder).encode(e),i=await f.importKey("raw",r,s,!1,c),a=await f.deriveBits(Object.assign({salt:n},o),i,8*(2*d[t.strength]+2)),l=new Uint8Array(a);t.keys={key:h.toBits(k(l,0,d[t.strength])),authentication:h.toBits(k(l,d[t.strength],2*d[t.strength])),passwordVerification:k(l,2*d[t.strength])}}function x(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function k(t,e,n){return t.subarray(e,n)}class v{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=U(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return U(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,r;if(e.password){e.password=null;const i=crypto.getRandomValues(new Uint8Array(12));i[11]=e.passwordVerification,n=new Uint8Array(t.length+i.length),n.set(E(e,i),0),r=12}else n=new Uint8Array(t.length),r=0;return n.set(E(e,t),r),n}async flush(){return{data:new Uint8Array(0)}}}function U(t,e){const n=new Uint8Array(e.length);for(let r=0;r>>24]),t.keys[2]=~t.crcKey2.get()}function z(t){const e=2|t.keys[2];return S(Math.imul(e,1^e)>>>8)}function S(t){return 255&t}function I(t){return 4294967295&t}class F{constructor(t,{signature:n,password:r,signed:i,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:c}){const l=Boolean(r);Object.assign(this,{signature:n,encrypted:l,signed:i,compressed:a,inflate:a&&new t,crc32:i&&new e,zipCrypto:s,decrypt:l&&s?new v(r,o):new g(r,i,c)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:r,compressed:i,level:a,zipCrypto:s,password:o,passwordVerification:c,encryptionStrength:l}){Object.assign(this,{encrypted:n,signed:r,compressed:i,deflate:i&&new t({level:a||5}),crc32:r&&new e,zipCrypto:s,encrypt:n&&s?new A(o,c):new y(o,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const r=await t.encrypt.flush();e=r.signature;const i=new Uint8Array(n.length+r.data.length);i.set(n,0),i.set(r.data,n.length),n=i}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const B={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),O=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await O.append(t.data)}),flush:()=>O.flush()};let O;function T(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,r=B[n];if(r)try{e.data&&(e.data=new Uint8Array(e.data));const t=await r(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const W=[0,1,2,3].concat(...T([[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 M(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const r=t.dyn_tree,i=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,c,l=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(r,s);c=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(r,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,r[2*c]=r[2*s]+r[2*o],n.depth[c]=Math.max(n.depth[s],n.depth[o])+1,r[2*s+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(e){const n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,c,l,d,u,f,h=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)c=e.heap[o],d=n[2*n[2*c+1]+1]+1,d>s&&(d=s,h++),n[2*c+1]=d,c>t.max_code||(e.bl_count[d]++,u=0,c>=a&&(u=i[c-a]),f=n[2*c],e.opt_len+=f*(d+u),r&&(e.static_len+=f*(r[2*c+1]+u)));if(0!==h){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,h-=2}while(h>0);for(d=s;0!==d;d--)for(c=e.bl_count[d];0!==c;)l=e.heap[--o],l>t.max_code||(n[2*l+1]!=d&&(e.opt_len+=(d-n[2*l+1])*n[2*l],n[2*l+1]=d),c--)}}(n),function(t,n,r){const i=[];let a,s,o,c=0;for(a=1;a<=15;a++)i[a]=c=c+r[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(i[o]++,o))}(r,t.max_code,n.bl_count)}}function H(t,e,n,r,i){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=r,a.max_length=i}function L(t,e,n,r,i){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=r,a.func=i}M._length_code=[0,1,2,3,4,5,6,7].concat(...T([[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]])),M.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],M.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],M.d_code=function(t){return t<256?W[t]:W[256+(t>>>7)]},M.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],M.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],M.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],M.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,M.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,M.extra_dbits,0,30,15),H.static_bl_desc=new H(null,M.extra_blbits,0,19,7);const N=[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)],P=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,r){const i=t[2*e],a=t[2*n];return i>>8&255)}function tt(t,e){let n;const r=e;Y>16-r?(n=t,G|=n<>>16-Y,Y+=r-16):(G|=t<=8&&(Q(255&G),G>>>=8,Y-=8)}function it(e,n){let r,i,a;if(t.pending_buf[Z+2*V]=e>>>8&255,t.pending_buf[Z+2*V+1]=255&e,t.pending_buf[W+V]=255&n,V++,0===e?I[2*n]++:(q++,e--,I[2*(M._length_code[n]+256+1)]++,F[2*M.d_code(e)]++),0==(8191&V)&&R>2){for(r=8*V,i=x-g,a=0;a<30;a++)r+=F[2*a]*(5+M.extra_dbits[a]);if(r>>>=3,q8?$(G):Y>0&&Q(255&G),G=0,Y=0}function ot(e,n,r){tt(0+(r?1:0),3),function(e,n,r){st(),K=8,$(n),$(~n),t.pending_buf.set(c.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function ct(e,n,r){let i,a,s=0;R>0?(B.build_tree(t),O.build_tree(t),s=function(){let e;for(J(I,B.max_code),J(F,O.max_code),T.build_tree(t),e=18;e>=3&&0===C[2*M.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&-1!=e?ot(e,n,r):a==i?(tt(2+(r?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(r?1:0),3),function(t,e,n){let r;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),r=0;r=0?g:-1,x-g,t),g=x,e.flush_pending()}function dt(){let t,n,r,i;do{if(i=l-v-x,0===i&&0===x&&0===v)i=a;else if(-1==i)i--;else if(x>=a+a-262){c.set(c.subarray(a,a+a),0),k-=a,x-=a,g-=a,t=h,r=t;do{n=65535&u[--r],u[r]=n>=a?n-a:0}while(0!=--t);t=a,r=t;do{n=65535&d[--r],d[r]=n>=a?n-a:0}while(0!=--t);i+=a}if(0===e.avail_in)return;t=e.read_buf(c,x+v,i),v+=t,v>=3&&(f=255&c[x],f=(f<a-262?x-(a-262):0;let u=S;const f=o,h=x+258;let p=c[i+s-1],_=c[i+s];A>=z&&(r>>=2),u>v&&(u=v);do{if(e=t,c[e+s]==_&&c[e+s-1]==p&&c[e]==c[i]&&c[++e]==c[i+1]){i+=2,e++;do{}while(c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&c[++i]==c[++e]&&is){if(k=t,s=n,n>=u)break;p=c[i+s-1],_=c[i+s]}}}while((t=65535&d[t&f])>l&&0!=--r);return s<=v?s:v}function ft(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,i=0,B.dyn_tree=I,B.stat_desc=H.static_l_desc,O.dyn_tree=F,O.stat_desc=H.static_d_desc,T.dyn_tree=C,T.stat_desc=H.static_bl_desc,G=0,Y=0,K=8,X(),function(){l=2*a,u[h-1]=0;for(let t=0;t9||8!=l||i<9||i>15||n<0||n>9||g<0||g>2?-2:(e.dstate=t,s=i,a=1<9||n<0||n>2?-2:(N[R].func!=N[e].func&&0!==t.total_in&&(r=t.deflate(1)),R!=e&&(R=e,E=N[R].max_lazy,z=N[R].good_length,S=N[R].nice_length,U=N[R].max_chain),D=n,r)},t.deflateSetDictionary=function(t,e,r){let i,s=r,l=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,l=r-s),c.set(e.subarray(l,l+s),0),x=s,g=s,f=255&c[0],f=(f<4||p<0)return-2;if(!l.next_out||!l.next_in&&0!==l.avail_in||666==n&&4!=p)return l.msg=P[4],-2;if(0===l.avail_out)return l.msg=P[7],-5;var C;if(e=l,I=i,i=p,42==n&&(z=8+(s-8<<4)<<8,S=(R-1&255)>>1,S>3&&(S=3),z|=S<<6,0!==x&&(z|=32),z+=31-z%31,n=113,Q((C=z)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return i=-1,0}else if(0===e.avail_in&&p<=I&&4!=p)return e.msg=P[7],-5;if(666==n&&0!==e.avail_in)return l.msg=P[7],-5;if(0!==e.avail_in||0!==v||0!=p&&666!=n){switch(F=-1,N[R].func){case 0:F=function(t){let n,i=65535;for(i>r-5&&(i=r-5);;){if(v<=1){if(dt(),0===v&&0==t)return 0;if(0===v)break}if(x+=v,v=0,n=g+i,(0===x||x>=n)&&(v=x-n,x=n,lt(!1),0===e.avail_out))return 0;if(x-g>=a-262&&(lt(!1),0===e.avail_out))return 0}return lt(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(p);break;case 1:F=function(t){let n,r=0;for(;;){if(v<262){if(dt(),v<262&&0==t)return 0;if(0===v)break}if(v>=3&&(f=(f<=3)if(n=it(x-k,y-3),v-=y,y<=E&&v>=3){y--;do{x++,f=(f<=3&&(f=(f<4096)&&(y=2)),A>=3&&y<=A){r=x+v-3,n=it(x-1-b,A-3),v-=A-1,A-=2;do{++x<=r&&(f=(f<0&&e.next_in_index!=o&&(i(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(l),d.forEach((function(t){s.set(t,c),c+=t.length})),s}},this.flush=function(){let t,i,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(r.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),i=new Uint8Array(s),o.forEach((function(t){i.set(t,a),a+=t.length})),i}}Z.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const r=this;let i=r.avail_in;return i>n&&(i=n),0===i?0:(r.avail_in-=i,t.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),e),r.next_in_index+=i,r.total_in+=i,i)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const K=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],G=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,r,i,a;function s(t,e,s,o,c,l,d,u,f,h,p){let _,w,g,y,b,m,x,k,v,A,U,E,R,D,z;A=0,b=s;do{n[t[e+A]]++,A++,b--}while(0!==b);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(k=u[0],m=1;m<=15&&0===n[m];m++);for(x=m,kb&&(k=b),u[0]=k,D=1<E+k;){if(y++,E+=k,z=g-E,z=z>k?k:z,(w=1<<(m=x-E))>_+1&&(w-=_+1,R=x,m1440)return-3;i[y]=U=h[0],h[0]+=z,0!==y?(a[y]=b,r[0]=m,r[1]=k,m=b>>>E-k,r[2]=U-i[y-1]-m,f.set(r,3*(i[y-1]+m))):d[0]=U}for(r[1]=x-E,A>=s?r[0]=192:p[A]>>E;m>>=1)b^=m;for(b^=m,v=(1<257?(-3==h?f.msg="oversubscribed distance tree":-5==h?(f.msg="incomplete distance tree",h=-3):-4!=h&&(f.msg="empty distance tree with lengths",h=-3),h):0)}}function et(){const t=this;let e,n,r,i,a=0,s=0,o=0,c=0,l=0,d=0,u=0,f=0,h=0,p=0;function _(t,e,n,r,i,a,s,o){let c,l,d,u,f,h,p,_,w,g,y,b,m,x,k,v;p=o.next_in_index,_=o.avail_in,f=s.bitb,h=s.bitk,w=s.write,g=w>=l[v+1],h-=l[v+1],0!=(16&u)){for(u&=15,m=l[v+2]+(f&K[u]),f>>=u,h-=u;h<15;)_--,f|=(255&o.read_byte(p++))<>=l[v+1],h-=l[v+1],0!=(16&u)){for(u&=15;h>=u,h-=u,g-=m,w>=x)k=w-x,w-k>0&&2>w-k?(s.window[w++]=s.window[k++],s.window[w++]=s.window[k++],m-=2):(s.window.set(s.window.subarray(k,k+2),w),w+=2,k+=2,m-=2);else{k=w-x;do{k+=s.end}while(k<0);if(u=s.end-k,m>u){if(m-=u,w-k>0&&u>w-k)do{s.window[w++]=s.window[k++]}while(0!=--u);else s.window.set(s.window.subarray(k,k+u),w),w+=u,k+=u,u=0;k=0}}if(w-k>0&&m>w-k)do{s.window[w++]=s.window[k++]}while(0!=--m);else s.window.set(s.window.subarray(k,k+m),w),w+=m,k+=m,m=0;break}if(0!=(64&u))return o.msg="invalid distance code",m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,-3;c+=l[v+2],c+=f&K[u],v=3*(d+c),u=l[v]}break}if(0!=(64&u))return 0!=(32&u)?(m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,1):(o.msg="invalid literal/length code",m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,-3);if(c+=l[v+2],c+=f&K[u],v=3*(d+c),0===(u=l[v])){f>>=l[v+1],h-=l[v+1],s.window[w++]=l[v+2],g--;break}}else f>>=l[v+1],h-=l[v+1],s.window[w++]=l[v+2],g--}while(g>=258&&_>=10);return m=o.avail_in-_,m=h>>3>3:m,_+=m,p-=m,h-=m<<3,s.bitb=f,s.bitk=h,o.avail_in=_,o.total_in+=p-o.next_in_index,o.next_in_index=p,s.write=w,0}t.init=function(t,a,s,o,c,l){e=0,u=t,f=a,r=s,h=o,i=c,p=l,n=null},t.proc=function(t,w,g){let y,b,m,x,k,v,A,U=0,E=0,R=0;for(R=w.next_in_index,x=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k=258&&x>=10&&(t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,g=_(u,f,r,h,i,p,t,w),R=w.next_in_index,x=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k>>=n[b+1],E-=n[b+1],m=n[b],0===m){c=n[b+2],e=6;break}if(0!=(16&m)){l=15&m,a=n[b+2],e=2;break}if(0==(64&m)){o=m,s=b/3+n[b+2];break}if(0!=(32&m)){e=7;break}return e=9,w.msg="invalid literal/length code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 2:for(y=l;E>=y,E-=y,o=f,n=i,s=p,e=3;case 3:for(y=o;E>=n[b+1],E-=n[b+1],m=n[b],0!=(16&m)){l=15&m,d=n[b+2],e=4;break}if(0==(64&m)){o=m,s=b/3+n[b+2];break}return e=9,w.msg="invalid distance code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=x,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 4:for(y=l;E>=y,E-=y,e=5;case 5:for(A=k-d;A<0;)A+=t.end;for(;0!==a;){if(0===v&&(k==t.end&&0!==t.read&&(k=0,v=k7&&(E-=8,x++,R--),t.write=k,g=t.inflate_flush(w,g),k=t.write,v=kt.avail_out&&(r=t.avail_out),0!==r&&-5==e&&(e=0),t.avail_out-=r,t.total_out+=r,t.next_out.set(n.window.subarray(a,a+r),i),i+=r,a+=r,a==n.end&&(a=0,n.write==n.end&&(n.write=0),r=n.write-a,r>t.avail_out&&(r=t.avail_out),0!==r&&-5==e&&(e=0),t.avail_out-=r,t.total_out+=r,t.next_out.set(n.window.subarray(a,a+r),i),i+=r,a+=r),t.next_out_index=i,n.read=a,e},n.proc=function(t,e){let p,_,w,g,y,b,m,x;for(g=t.next_in_index,y=t.avail_in,_=n.bitb,w=n.bitk,b=n.write,m=b>>1){case 0:_>>>=3,w-=3,p=7&w,_>>>=p,w-=p,i=1;break;case 1:k=[],v=[],A=[[]],U=[[]],tt.inflate_trees_fixed(k,v,A,U),d.init(k[0],v[0],A[0],0,U[0],0),_>>>=3,w-=3,i=6;break;case 2:_>>>=3,w-=3,i=3;break;case 3:return _>>>=3,w-=3,i=9,t.msg="invalid block type",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e)}break;case 1:for(;w<32;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<>>16&65535)!=(65535&_))return i=9,t.msg="invalid stored block lengths",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);a=65535&_,_=w=0,i=0!==a?2:0!==u?7:0;break;case 2:if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(0===m&&(b==n.end&&0!==n.read&&(b=0,m=by&&(p=y),p>m&&(p=m),n.window.set(t.read_buf(g,p),b),g+=p,y-=p,b+=p,m-=p,0!=(a-=p))break;i=0!==u?7:0;break;case 3:for(;w<14;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<29||(p>>5&31)>29)return i=9,t.msg="too many length or distance symbols",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(p=258+(31&p)+(p>>5&31),!r||r.length>>=14,w-=14,o=0,i=4;case 4:for(;o<4+(s>>>10);){for(;w<3;){if(0===y)return n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,_|=(255&t.read_byte(g++))<>>=3,w-=3}for(;o<19;)r[nt[o++]]=0;if(c[0]=7,p=h.inflate_trees_bits(r,c,l,f,t),0!=p)return-3==(e=p)&&(r=null,i=9),n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);o=0,i=5;case 5:for(;p=s,!(o>=258+(31&p)+(p>>5&31));){let a,d;for(p=c[0];w>>=p,w-=p,r[o++]=d;else{for(x=18==d?7:d-14,a=18==d?11:3;w>>=p,w-=p,a+=_&K[x],_>>>=x,w-=x,x=o,p=s,x+a>258+(31&p)+(p>>5&31)||16==d&&x<1)return r=null,i=9,t.msg="invalid bit length repeat",e=-3,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d=16==d?r[x-1]:0;do{r[x++]=d}while(0!=--a);o=x}}if(l[0]=-1,E=[],R=[],D=[],z=[],E[0]=9,R[0]=6,p=s,p=h.inflate_trees_dynamic(257+(31&p),1+(p>>5&31),r,E,R,D,z,f,t),0!=p)return-3==p&&(r=null,i=9),e=p,n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d.init(E[0],R[0],f,D[0],f,z[0]),i=6;case 6:if(n.bitb=_,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),g=t.next_in_index,y=t.avail_in,_=n.bitb,w=n.bitk,b=n.write,m=b15?(t.inflateEnd(n),-2):(t.wbits=r,n.istate.blocks=new rt(n,1<>4)>i.wbits){i.mode=13,t.msg="invalid window size",i.marker=5;break}i.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,r=255&t.read_byte(t.next_in_index++),((i.method<<8)+r)%31!=0){i.mode=13,t.msg="incorrect header check",i.marker=5;break}if(0==(32&r)){i.mode=7;break}i.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,i.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,i.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,i.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,i.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,i.need+=255&t.read_byte(t.next_in_index++),i.mode=6,2);case 6:return i.mode=13,t.msg="need dictionary",i.marker=0,-2;case 7:if(n=i.blocks.proc(t,n),-3==n){i.mode=13,i.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,i.blocks.reset(t,i.was),i.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let r=0,i=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return i>=1<0&&t.next_in_index!=c&&(i(t.next_in_index),c=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,l),l+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=q,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));i({workerScripts:{inflate:[e],deflate:[e]}})}})(),t.BlobReader=x,t.BlobWriter=k,t.Data64URIReader=b,t.Data64URIWriter=m,t.ERR_ABORT=qt,t.ERR_BAD_FORMAT=Qt,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ne,t.ERR_DUPLICATED_NAME=Ae,t.ERR_ENCRYPTED=ae,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ee,t.ERR_EOCDR_NOT_FOUND=$t,t.ERR_EOCDR_ZIP64_NOT_FOUND=te,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ie,t.ERR_HTTP_RANGE=o,t.ERR_INVALID_COMMENT=Ue,t.ERR_INVALID_DATE=ze,t.ERR_INVALID_ENCRYPTION_STRENGTH=Se,t.ERR_INVALID_ENTRY_COMMENT=Ee,t.ERR_INVALID_ENTRY_NAME=Re,t.ERR_INVALID_EXTRAFIELD_DATA=Fe,t.ERR_INVALID_EXTRAFIELD_TYPE=Ie,t.ERR_INVALID_PASSWORD=et,t.ERR_INVALID_SIGNATURE=Bt,t.ERR_INVALID_VERSION=De,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=re,t.ERR_UNSUPPORTED_COMPRESSION=oe,t.ERR_UNSUPPORTED_ENCRYPTION=se,t.HttpRangeReader=class extends z{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=z,t.Reader=_,t.TextReader=g,t.TextWriter=y,t.Uint8ArrayReader=S,t.Uint8ArrayWriter=I,t.Writer=w,t.ZipReader=de,t.ZipWriter=Be,t.configure=i,t.fs=qe,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:a(t.Deflate,e.deflate,n),Inflate:a(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/dist/zip-full.js b/dist/zip-full.js index 90249a4f..7866f237 100644 --- a/dist/zip-full.js +++ b/dist/zip-full.js @@ -6750,7 +6750,7 @@ await writer.init(); } const signal = getOptionValue$1(zipEntry, options, "signal"); - await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress, signal }); + await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress: options.onprogress, signal }); return writer.getData(); } } diff --git a/dist/zip-full.min.js b/dist/zip-full.min.js index 753315d4..5efd2523 100644 --- a/dist/zip-full.min.js +++ b/dist/zip-full.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e=256,n=256,i=-2,r=-5;function a(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}const s=[0,1,2,3].concat(...a([[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 t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,f,u,_=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,f=0,l>=a&&(f=r[l-a]),u=n[2*l],e.opt_len+=u*(d+f),i&&(e.static_len+=u*(i[2*l+1]+f)));if(0!==_){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function l(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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(t){return t<256?s[t]:s[256+(t>>>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],l.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],l.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],l.static_l_desc=new l(l.static_ltree,o.extra_lbits,257,286,15),l.static_d_desc=new l(l.static_dtree,o.extra_dbits,0,30,15),l.static_bl_desc=new l(null,o.extra_blbits,0,19,7);function c(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}const d=[new c(0,0,0,0,0),new c(4,4,8,4,1),new c(4,5,16,8,1),new c(4,6,32,32,1),new c(4,4,16,16,2),new c(8,16,32,32,2),new c(8,16,128,128,2),new c(8,32,128,256,2),new c(32,128,258,1024,2),new c(32,258,258,4096,2)],f=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],u=113,_=666,h=258,w=262;function p(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function lt(t,e){let n;const i=e;it>16-i?(n=t,nt|=n<>>16-it,it+=i-16):(nt|=t<=8&&(st(255&nt),nt>>>=8,it-=8)}function ut(n,i){let r,a,s;if(t.pending_buf[$+2*Q]=n>>>8&255,t.pending_buf[$+2*Q+1]=255&n,t.pending_buf[X+Q]=255&i,Q++,0===n?V[2*i]++:(tt++,n--,V[2*(o._length_code[i]+e+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&L>2){for(r=8*Q,a=T-I,s=0;s<30;s++)r+=q[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,tt8?ot(nt):it>0&&st(255&nt),nt=0,it=0}function wt(e,n,i){lt(0+(i?1:0),3),function(e,n,i){ht(),et=8,i&&(ot(n),ot(~n)),t.pending_buf.set(m.subarray(e,e+n),t.pending),t.pending+=n}(e,n,!0)}function pt(e,n,i){let r,a,s=0;L>0?(G.build_tree(t),Z.build_tree(t),s=function(){let e;for(at(V,G.max_code),at(q,Z.max_code),Y.build_tree(t),e=18;e>=3&&0===K[2*o.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?wt(e,n,i):a==r?(lt(2+(i?1:0),3),_t(l.static_ltree,l.static_dtree)):(lt(4+(i?1:0),3),function(t,e,n){let i;for(lt(t-257,5),lt(e-1,5),lt(n-4,4),i=0;i=0?I:-1,T-I,t),I=T,a.flush_pending()}function gt(){let t,e,n,i;do{if(i=v-O-T,0===i&&0===T&&0===O)i=g;else if(-1==i)i--;else if(T>=g+g-w){m.set(m.subarray(g,g+g),0),M-=g,T-=g,I-=g,t=U,n=t;do{e=65535&A[--n],A[n]=e>=g?e-g:0}while(0!=--t);t=g,n=t;do{e=65535&k[--n],k[n]=e>=g?e-g:0}while(0!=--t);i+=g}if(0===a.avail_in)return;t=a.read_buf(m,T+O,i),O+=t,O>=3&&(E=255&m[T],E=(E<g-w?T-(g-w):0;let o=j;const l=y,c=T+h;let d=m[r+a-1],f=m[r+a];B>=N&&(i>>=2),o>O&&(o=O);do{if(e=t,m[e+a]==f&&m[e+a-1]==d&&m[e]==m[r]&&m[++e]==m[r+1]){r+=2,e++;do{}while(m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&ra){if(M=t,a=n,n>=o)break;d=m[r+a-1],f=m[r+a]}}}while((t=65535&k[t&l])>s&&0!=--i);return a<=O?a:O}function yt(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,s=u,b=0,G.dyn_tree=V,G.stat_desc=l.static_l_desc,Z.dyn_tree=q,Z.stat_desc=l.static_d_desc,Y.dyn_tree=K,Y.stat_desc=l.static_bl_desc,nt=0,it=0,et=8,rt(),function(){v=2*g,A[U-1]=0;for(let t=0;t9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(e.dstate=t,x=r,g=1<9||n<0||n>2?i:(d[L].func!=d[e].func&&0!==t.total_in&&(r=t.deflate(1)),L!=e&&(L=e,H=d[L].max_lazy,N=d[L].good_length,j=d[L].nice_length,W=d[L].max_chain),P=n,r)},t.deflateSetDictionary=function(t,e,n){let r,a=n,o=0;if(!e||42!=s)return i;if(a<3)return 0;for(a>g-w&&(a=g-w,o=n-a),m.set(e.subarray(o,o+a),0),T=a,I=a,E=255&m[0],E=(E<4||o<0)return i;if(!e.next_out||!e.next_in&&0!==e.avail_in||s==_&&4!=o)return e.msg=f[4],i;if(0===e.avail_out)return e.msg=f[7],r;var N;if(a=e,R=b,b=o,42==s&&(p=8+(x-8<<4)<<8,v=(L-1&255)>>1,v>3&&(v=3),p|=v<<6,0!==T&&(p|=32),p+=31-p%31,s=u,st((N=p)>>8&255),st(255&N)),0!==t.pending){if(a.flush_pending(),0===a.avail_out)return b=-1,0}else if(0===a.avail_in&&o<=R&&4!=o)return a.msg=f[7],r;if(s==_&&0!==a.avail_in)return e.msg=f[7],r;if(0!==a.avail_in||0!==O||0!=o&&s!=_){switch(W=-1,d[L].func){case 0:W=function(t){let e,n=65535;for(n>c-5&&(n=c-5);;){if(O<=1){if(gt(),0===O&&0==t)return 0;if(0===O)break}if(T+=O,O=0,e=I+n,(0===T||T>=e)&&(O=T-e,T=e,bt(!1),0===a.avail_out))return 0;if(T-I>=g-w&&(bt(!1),0===a.avail_out))return 0}return bt(4==t),0===a.avail_out?4==t?2:0:4==t?3:1}(o);break;case 1:W=function(t){let e,n=0;for(;;){if(O=3&&(E=(E<=3)if(e=ut(T-M,D-3),O-=D,D<=H&&O>=3){D--;do{T++,E=(E<=3&&(E=(E<4096)&&(D=2)),B>=3&&D<=B){n=T+O-3,e=ut(T-1-F,B-3),O-=B-1,B-=2;do{++T<=n&&(E=(E<n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const x=-2,y=-3,m=-5,v=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],A=[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],E=[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],U=[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],R=[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],S=[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],z=15;function I(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,f,u,_,h){let w,p,b,g,x,v,k,A,E,U,R,S,I,D,F;U=0,x=s;do{n[t[e+U]]++,U++,x--}while(0!==x);if(n[0]==s)return d[0]=-1,f[0]=0,0;for(A=f[0],v=1;v<=z&&0===n[v];v++);for(k=v,Ax&&(A=x),f[0]=A,D=1<S+A;){if(g++,S+=A,F=b-S,F=F>A?A:F,(p=1<<(v=k-S))>w+1&&(p-=w+1,I=k,v1440)return y;r[g]=R=_[0],_[0]+=F,0!==g?(a[g]=x,i[0]=v,i[1]=A,v=x>>>S-A,i[2]=R-r[g-1]-v,u.set(i,3*(r[g-1]+v))):d[0]=R}for(i[1]=k-S,U>=s?i[0]=192:h[U]>>S;v>>=1)x^=v;for(x^=v,E=(1<257?(_==y?u.msg="oversubscribed distance tree":_==m?(u.msg="incomplete distance tree",_=y):-4!=_&&(u.msg="empty distance tree with lengths",_=y),_):0)}}I.inflate_trees_fixed=function(t,e,n,i){return t[0]=9,e[0]=5,n[0]=k,i[0]=A,0};function D(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,f=0,u=0,_=0,h=0;function w(t,e,n,i,r,a,s,o){let l,c,d,f,u,_,h,w,p,b,g,x,m,k,A,E;h=o.next_in_index,w=o.avail_in,u=s.bitb,_=s.bitk,p=s.write,b=p>=c[E+1],_-=c[E+1],0!=(16&f)){for(f&=15,m=c[E+2]+(u&v[f]),u>>=f,_-=f;_<15;)w--,u|=(255&o.read_byte(h++))<<_,_+=8;for(l=u&x,c=r,d=a,E=3*(d+l),f=c[E];;){if(u>>=c[E+1],_-=c[E+1],0!=(16&f)){for(f&=15;_>=f,_-=f,b-=m,p>=k)A=p-k,p-A>0&&2>p-A?(s.window[p++]=s.window[A++],s.window[p++]=s.window[A++],m-=2):(s.window.set(s.window.subarray(A,A+2),p),p+=2,A+=2,m-=2);else{A=p-k;do{A+=s.end}while(A<0);if(f=s.end-A,m>f){if(m-=f,p-A>0&&f>p-A)do{s.window[p++]=s.window[A++]}while(0!=--f);else s.window.set(s.window.subarray(A,A+f),p),p+=f,A+=f,f=0;A=0}}if(p-A>0&&m>p-A)do{s.window[p++]=s.window[A++]}while(0!=--m);else s.window.set(s.window.subarray(A,A+m),p),p+=m,A+=m,m=0;break}if(0!=(64&f))return o.msg="invalid distance code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,y;l+=c[E+2],l+=u&v[f],E=3*(d+l),f=c[E]}break}if(0!=(64&f))return 0!=(32&f)?(m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,y);if(l+=c[E+2],l+=u&v[f],E=3*(d+l),0===(f=c[E])){u>>=c[E+1],_-=c[E+1],s.window[p++]=c[E+2],b--;break}}else u>>=c[E+1],_-=c[E+1],s.window[p++]=c[E+2],b--}while(b>=258&&w>=10);return m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}t.init=function(t,a,s,o,l,c){e=0,f=t,u=a,i=s,_=o,r=l,h=c,n=null},t.proc=function(t,p,b){let g,m,k,A,E,U,R,S=0,z=0,I=0;for(I=p.next_in_index,A=p.avail_in,S=t.bitb,z=t.bitk,E=t.write,U=E=258&&A>=10&&(t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,b=w(f,u,i,_,r,h,t,p),I=p.next_in_index,A=p.avail_in,S=t.bitb,z=t.bitk,E=t.write,U=E>>=n[m+1],z-=n[m+1],k=n[m],0===k){l=n[m+2],e=6;break}if(0!=(16&k)){c=15&k,a=n[m+2],e=2;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}if(0!=(32&k)){e=7;break}return e=9,p.msg="invalid literal/length code",b=y,t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,t.inflate_flush(p,b);case 2:for(g=c;z>=g,z-=g,o=u,n=r,s=h,e=3;case 3:for(g=o;z>=n[m+1],z-=n[m+1],k=n[m],0!=(16&k)){c=15&k,d=n[m+2],e=4;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}return e=9,p.msg="invalid distance code",b=y,t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,t.inflate_flush(p,b);case 4:for(g=c;z>=g,z-=g,e=5;case 5:for(R=E-d;R<0;)R+=t.end;for(;0!==a;){if(0===U&&(E==t.end&&0!==t.read&&(E=0,U=E7&&(z-=8,A++,I--),t.write=E,b=t.inflate_flush(p,b),E=t.write,U=Et.avail_out&&(i=t.avail_out),0!==i&&e==m&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&e==m&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let h,w,p,b,g,m,k,A;for(b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:E=[],U=[],R=[[]],S=[[]],I.inflate_trees_fixed(E,U,R,S),d.init(E[0],U[0],R[0],0,S[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,t.msg="invalid block type",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e)}break;case 1:for(;p<32;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>16&65535)!=(65535&w))return r=9,t.msg="invalid stored block lengths",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);a=65535&w,w=p=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);if(0===k&&(m==n.end&&0!==n.read&&(m=0,k=mg&&(h=g),h>k&&(h=k),n.window.set(t.read_buf(b,h),m),b+=h,g-=h,m+=h,k-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;p<14;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<29||(h>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>=3,p-=3}for(;o<19;)i[F[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,u,t),0!=h)return(e=h)==y&&(i=null,r=9),n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(A=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&v[A],w>>>=A,p-=A,A=o,h=s,A+a>258+(31&h)+(h>>5&31)||16==d&&A<1)return i=null,r=9,t.msg="invalid bit length repeat",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);d=16==d?i[A-1]:0;do{i[A++]=d}while(0!=--a);o=A}}if(c[0]=-1,z=[],D=[],C=[],T=[],z[0]=9,D[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,z,D,C,T,u,t),0!=h)return h==y&&(i=null,r=9),e=h,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);d.init(z[0],D[0],u,C[0],u,T[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m15?(t.inflateEnd(n),x):(t.wbits=i,n.istate.blocks=new C(n,1<>4)>r.wbits){r.mode=T,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=T,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=T,t.msg="need dictionary",r.marker=0,x;case 7:if(n=r.blocks.proc(t,n),n==y){r.mode=T,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case T:return y;default:return x}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return x;const a=t.istate;return r>=1<{if(r.pendingData){const e=r.pendingData;r.pendingData=new Uint8Array(e.length+t.length),r.pendingData.set(e,0),r.pendingData.set(t,e.length)}else r.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const j="Abort error";async function V(t,e,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(l=0,c=0){const d=s.signal;if(l{n.onload=t=>i(new Uint8Array(t.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class at extends it{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class st extends nt{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),_t(this.url)&&!this.preventHeadRequest){const t=await lt(Q,this.url,this.options);if(this.size=Number(t.headers.get(X)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(J)!=tt)throw new Error(Z);void 0===this.size&&await ot(this,this.options)}else await ot(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await lt($,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(Z);return new Uint8Array(await n.arrayBuffer())}return this.data||await ot(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function ot(t,e){const n=await lt($,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function lt(t,e,n,i){i=Object.assign({},n.headers,i);const r=await fetch(e,Object.assign({},n,{method:t,headers:i}));if(r.status<400)return r;throw new Error(G+(r.statusText||r.status))}class ct extends nt{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),_t(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>ft(Q,this.url,(n=>{this.size=Number(n.getResponseHeader(X)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(J)==tt?t():e(new Error(Z)):void 0===this.size?dt(this,this.url).then((()=>t())).catch(e):t()}),e)));await dt(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await dt(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,i)=>ft($,this.url,(t=>n(new Uint8Array(t.response))),i,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(Z)}}function dt(t,e){return new Promise(((n,i)=>ft($,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),i)))}function ft(t,e,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(G+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(t,e),r.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class ut extends nt{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new ct(t,e):this.reader=new st(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}function _t(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const ht=4294967295,wt=65535,pt=67324752,bt=134695760,gt=33639248,xt=101010256,yt=101075792,mt=117853008,vt=39169,kt=2048,At="/",Et=new Date(2107,11,31),Ut=new Date(1980,0,1),Rt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const St=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;St[t]=e}class zt{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,i=0|t.length;n>>8^St[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const It={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],i=It.getPartial(n);return 32===i?t.concat(e):It._shiftRight(e,i,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+It.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=It.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(n),n=0;if(0===e)return i.concat(t);for(let r=0;r>>e),n=t[r]<<32-e;const r=t.length?t[t.length-1]:0,a=It.getPartial(r);return i.push(It.partial(e+a&31,e+a>32?n:i.pop(),1)),i}},Dt={bytes:{fromBits(t){const e=It.bitLength(t)/8,n=new Uint8Array(e);let i;for(let r=0;r>>24,i<<=8;return n},toBits(t){const e=[];let n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+i-(e.blockSize+i&e.blockSize-1);t<=r;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=It.concat(e,[It.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const Ct={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=u=u<<24^u>>>8,e[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let f,u,_,h=t[0]^n[0],w=t[e?3:1]^n[1],p=t[2]^n[2],b=t[e?1:3]^n[3],g=4;for(let t=0;t>>24]^o[w>>16&255]^l[p>>8&255]^c[255&b]^n[g],u=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&h]^n[g+1],_=s[p>>>24]^o[b>>16&255]^l[h>>8&255]^c[255&w]^n[g+2],b=s[b>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[g+3],g+=4,h=f,w=u,p=_;for(let t=0;t<4;t++)r[e?3&-t:t]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],f=h,h=w,w=p,p=b,b=f;return r}}},Tt={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let i;if(!(i=e.length))return[];const r=It.bitLength(e);for(let r=0;rr&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%Bt)),o=0;o<=s-Bt;o+=Bt){const r=Gt.toBits(ne(e,o,o+Bt));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(Gt.fromBits(s),o+i)}return t.pendingInput=ne(e,o),n}async function te(t,e,n){const i=(new TextEncoder).encode(e),r=await Kt.importKey("raw",i,Ht,!1,Pt),a=await Kt.deriveBits(Object.assign({salt:n},Lt),r,8*(2*jt[t.strength]+2)),s=new Uint8Array(a);t.keys={key:Gt.toBits(ne(s,0,jt[t.strength])),authentication:Gt.toBits(ne(s,jt[t.strength],2*jt[t.strength])),passwordVerification:ne(s,2*jt[t.strength])}}function ee(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function ne(t,e,n){return t.subarray(e,n)}const ie=12;class re{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),le(this,t)}async append(t){const e=this;if(e.password){const n=se(e,t.subarray(0,ie));if(e.password=null,n[11]!=e.passwordVerification)throw new Error(Ot);t=t.subarray(ie)}return se(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class ae{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),le(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(ie));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(oe(e,r),0),i=ie}else n=new Uint8Array(t.length),i=0;return n.set(oe(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function se(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function de(t){const e=2|t.keys[2];return fe(Math.imul(e,1^e)>>>8)}function fe(t){return 255&t}function ue(t){return 4294967295&t}const _e="deflate",he="inflate",we="Invalid signature";class pe{constructor(t,{signature:e,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:e,encrypted:l,signed:i,compressed:r,inflate:r&&new t,crc32:i&&new zt,zipCrypto:a,decrypt:l&&a?new re(n,s):new Jt(n,i,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(we);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(we)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class be{constructor(t,{encrypted:e,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:e,signed:n,compressed:i,deflate:i&&new t({level:r||5}),crc32:n&&new zt,zipCrypto:a,encrypt:e&&a?new ae(s,o):new Qt(s,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const ge="init",xe="append",ye="flush",me="message";var ve=(t,e,n,i,r,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){t.busy=!1;i(t)&&t.worker&&t.worker.terminate()}}),r?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-full.min.js",document.baseURI).href)),t.worker.addEventListener(me,r,!1),t.interface={append:t=>n({type:xe,data:t}),flush:()=>n({type:ye})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await i({scripts:n,type:ge,options:e})}return i(n)}function i(n){const i=t.worker,r=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(t){i.postMessage(n)}else i.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return r}function r(n){const i=n.data;if(e){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,e.reject(i),e=null,t.onTaskFinished()}else if(r==ge||r==ye||r==xe){const n=i.data;r==ye?(e.resolve({data:new Uint8Array(n),signature:i.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(_e)?new be(t,e):e.codecType.startsWith(he)?new pe(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let ke=[],Ae=[];function Ee(t,e,n){const i=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[e.codecType]:[];if(ke.length!t.busy));return n?ve(n,t,e,Ue,i,r):new Promise((n=>Ae.push({resolve:n,codecConstructor:t,options:e,webWorker:i,scripts:r})))}}function Ue(t){const e=!Ae.length;if(e)ke=ke.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Ae.splice(0,1);e(ve(t,n,i,Ue,r,a))}return e}const Re=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class Se{constructor(t){Re.forEach((e=>this[e]=t[e]))}}const ze="File format is not recognized",Ie="End of central directory not found",De="End of Zip64 central directory not found",Fe="End of Zip64 central directory locator not found",Ce="Central directory header not found",Te="Local file header not found",Me="Zip64 extra field not found",Oe="File contains encrypted entry",Be="Encryption method not supported",We="Compression method not supported",He="utf-8",Le=["uncompressedSize","compressedSize","offset"];class Pe{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:i,offset:r,extraFieldAES:a,compressionMethod:s,config:o,bitFlag:l,signature:c,rawLastModDate:d,compressedSize:f,onprogress:u}=n,_=n.localDirectory={};i.initialized||await i.init();const h=await $e(i,r,30),w=Qe(h);let p=qe(n,e,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(We);if(0!=s&&8!=s)throw new Error(We);if(Xe(w,0)!=pt)throw new Error(Te);Ne(_,w,4);const b=r+30+_.filenameLength,g=b+_.extraFieldLength;_.rawExtraField=h.subarray(b,g),je(n,_,w,4);const x=n.encrypted&&_.encrypted,y=x&&!a;if(x){if(!y&&void 0===a.strength)throw new Error(Be);if(!p)throw new Error(Oe)}const m=await Ee(o.Inflate,{codecType:he,password:p,zipCrypto:y,encryptionStrength:a&&a.strength,signed:qe(n,e,"checkSignature"),passwordVerification:y&&(l.dataDescriptor?d>>>8&255:c>>>24&255),signature:c,compressed:0!=s,encrypted:x,useWebWorkers:qe(n,e,"useWebWorkers")},o);t.initialized||await t.init();const v=qe(n,e,"signal");return await V(m,i,t,g,f,o,{onprogress:u,signal:v}),t.getData()}}function Ne(t,e,n){const i=t.rawBitFlag=Ye(e,n+2),r=1==(1&i);Object.assign(t,{encrypted:r,version:Ye(e,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&kt)==kt},rawLastModDate:Xe(e,n+6),lastModDate:Ge(t.rawLastModDate),filenameLength:Ye(e,n+22),extraFieldLength:Ye(e,n+24)})}function je(t,e,n,i){const r=e.rawExtraField,a=e.extraField=new Map,s=Qe(new Uint8Array(r));let o=0;try{for(;oe[t]==ht));for(let e=0;e{if(e[n]==ht){if(!t||void 0===t[n])throw new Error(Me);e[n]=t[n]}}))}(c,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&Ve(d,"filename","rawFilename",e,t);const f=e.extraFieldUnicodeComment=a.get(25461);f&&Ve(f,"comment","rawComment",e,t);const u=e.extraFieldAES=a.get(39169);u?function(t,e,n){if(t){const i=Qe(t.data);t.vendorVersion=Ze(i,0),t.vendorId=Ze(i,2);const r=Ze(i,4);t.strength=r,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=Ye(i,5)}else e.compressionMethod=n}(u,e,l):e.compressionMethod=l}function Ve(t,e,n,i,r){const a=Qe(t.data);t.version=Ze(a,0),t.signature=Xe(a,1);const s=new zt;s.append(r[n]);const o=Qe(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!r.bitFlag.languageEncodingFlag&&t.signature==Xe(o,0),t.valid&&(i[e]=t[e],i[e+"UTF8"]=!0)}function qe(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function Ke(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function Ze(t,e){return t.getUint8(e)}function Ye(t,e){return t.getUint16(e,!0)}function Xe(t,e){return t.getUint32(e,!0)}function Je(t,e){return Number(t.getBigUint64(e,!0))}function Qe(t){return new DataView(t.buffer)}function $e(t,e,n){return t.readUint8Array(e,n)}const tn="File already exists",en="Zip file comment exceeds 64KB",nn="File entry comment exceeds 64KB",rn="File entry name exceeds 64KB",an="Version exceeds 65535",sn="The modification date must be between 1/1/1980 and 12/31/2107",on="The strength must equal 1, 2, or 3",ln="Extra field type exceeds 65535",cn="Extra field data exceeds 64KB",dn=new Uint8Array([7,0,2,0,65,69,3,0,0]);function fn(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function un(t,e,n){t.setUint8(e,n)}function _n(t,e,n){t.setUint16(e,n,!0)}function hn(t,e,n){t.setUint32(e,n,!0)}function wn(t,e,n){t.setBigUint64(e,n,!0)}function pn(t,e,n){t.set(e,n)}function bn(t){return new DataView(t.buffer)}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let i=0,r=0|e.length;i>>8^t[255&(n^e[i])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const i=t[t.length-1],r=n.getPartial(i);return 32===r?t.concat(e):n._shiftRight(e,r,0|i,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const i=t[e-1];return 32*(e-1)+n.getPartial(i)},clamp(t,e){if(32*t.length0&&e&&(t[i-1]=n.partial(e,t[i-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,i,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(i),i=0;if(0===e)return r.concat(t);for(let n=0;n>>e),i=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return r.push(n.partial(e+s&31,e+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(t){const e=n.bitLength(t)/8,i=new Uint8Array(e);let r;for(let n=0;n>>24,r<<=8;return i},toBits(t){const e=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let l=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*l,16*(l+1))),l+=1;return r.splice(0,16*l),e},finalize:function(){const t=this;let e=t._buffer;const i=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),i},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),l=["deriveBits"],c=[8,12,16],d=[16,24,32],f=[0,0,0,0],u=crypto.subtle,_=i.bytes,h=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=u=u<<24^u>>>8,e[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let f,u,_,h=t[0]^n[0],w=t[e?3:1]^n[1],p=t[2]^n[2],b=t[e?1:3]^n[3],g=4;for(let t=0;t>>24]^o[w>>16&255]^l[p>>8&255]^c[255&b]^n[g],u=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&h]^n[g+1],_=s[p>>>24]^o[b>>16&255]^l[h>>8&255]^c[255&w]^n[g+2],b=s[b>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[g+3],g+=4,h=f,w=u,p=_;for(let t=0;t<4;t++)r[e?3&-t:t]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],f=h,h=w,w=p,p=b,b=f;return r}},w=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,i){let r;if(!(r=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=_.toBits(v(e,o,o+16));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(_.fromBits(s),o+i)}return t.pendingInput=v(e,o),n}async function y(t,e,n){const i=(new TextEncoder).encode(e),r=await u.importKey("raw",i,s,!1,l),a=await u.deriveBits(Object.assign({salt:n},o),r,8*(2*d[t.strength]+2)),c=new Uint8Array(a);t.keys={key:_.toBits(v(c,0,d[t.strength])),authentication:_.toBits(v(c,d[t.strength],2*d[t.strength])),passwordVerification:v(c,2*d[t.strength])}}function m(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function v(t,e,n){return t.subarray(e,n)}class k{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=E(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return E(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(U(e,r),0),i=12}else n=new Uint8Array(t.length),i=0;return n.set(U(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function E(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function z(t){const e=2|t.keys[2];return I(Math.imul(e,1^e)>>>8)}function I(t){return 255&t}function D(t){return 4294967295&t}class F{constructor(t,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l}){const c=Boolean(i);Object.assign(this,{signature:n,encrypted:c,signed:r,compressed:a,inflate:a&&new t,crc32:r&&new e,zipCrypto:s,decrypt:c&&s?new k(i,o):new b(i,r,l)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new t({level:a||5}),crc32:i&&new e,zipCrypto:s,encrypt:n&&s?new A(o,l):new g(o,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const T={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),M=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await M.append(t.data)}),flush:()=>M.flush()};let M;function O(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,i=T[n];if(i)try{e.data&&(e.data=new Uint8Array(e.data));const t=await i(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const B=[0,1,2,3].concat(...O([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,f,u,_=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,f=0,l>=a&&(f=r[l-a]),u=n[2*l],e.opt_len+=u*(d+f),i&&(e.static_len+=u*(i[2*l+1]+f)));if(0!==_){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function H(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}function L(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...O([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=function(t){return t<256?B[t]:B[256+(t>>>7)]},W.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],W.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,W.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,W.extra_dbits,0,30,15),H.static_bl_desc=new H(null,W.extra_blbits,0,19,7);const P=[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)],N=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function tt(t,e){let n;const i=e;Y>16-i?(n=t,Z|=n<>>16-Y,Y+=i-16):(Z|=t<=8&&(Q(255&Z),Z>>>=8,Y-=8)}function rt(e,n){let i,r,a;if(t.pending_buf[q+2*V]=e>>>8&255,t.pending_buf[q+2*V+1]=255&e,t.pending_buf[B+V]=255&n,V++,0===e?D[2*n]++:(K++,e--,D[2*(W._length_code[n]+256+1)]++,F[2*W.d_code(e)]++),0==(8191&V)&&R>2){for(i=8*V,r=m-b,a=0;a<30;a++)i+=F[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,K8?$(Z):Y>0&&Q(255&Z),Z=0,Y=0}function ot(e,n,i){tt(0+(i?1:0),3),function(e,n,i){st(),G=8,$(n),$(~n),t.pending_buf.set(l.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function lt(e,n,i){let r,a,s=0;R>0?(T.build_tree(t),M.build_tree(t),s=function(){let e;for(J(D,T.max_code),J(F,M.max_code),O.build_tree(t),e=18;e>=3&&0===C[2*W.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?ot(e,n,i):a==r?(tt(2+(i?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(i?1:0),3),function(t,e,n){let i;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),i=0;i=0?b:-1,m-b,t),b=m,e.flush_pending()}function dt(){let t,n,i,r;do{if(r=c-k-m,0===r&&0===m&&0===k)r=a;else if(-1==r)r--;else if(m>=a+a-262){l.set(l.subarray(a,a+a),0),v-=a,m-=a,b-=a,t=_,i=t;do{n=65535&f[--i],f[i]=n>=a?n-a:0}while(0!=--t);t=a,i=t;do{n=65535&d[--i],d[i]=n>=a?n-a:0}while(0!=--t);r+=a}if(0===e.avail_in)return;t=e.read_buf(l,m+k,r),k+=t,k>=3&&(u=255&l[m],u=(u<a-262?m-(a-262):0;let f=I;const u=o,_=m+258;let h=l[r+s-1],w=l[r+s];A>=z&&(i>>=2),f>k&&(f=k);do{if(e=t,l[e+s]==w&&l[e+s-1]==h&&l[e]==l[r]&&l[++e]==l[r+1]){r+=2,e++;do{}while(l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&r<_);if(n=258-(_-r),r=_-258,n>s){if(v=t,s=n,n>=f)break;h=l[r+s-1],w=l[r+s]}}}while((t=65535&d[t&u])>c&&0!=--i);return s<=k?s:k}function ut(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,r=0,T.dyn_tree=D,T.stat_desc=H.static_l_desc,M.dyn_tree=F,M.stat_desc=H.static_d_desc,O.dyn_tree=C,O.stat_desc=H.static_bl_desc,Z=0,Y=0,G=8,X(),function(){c=2*a,f[_-1]=0;for(let t=0;t<_-1;t++)f[t]=0;U=P[R].max_lazy,z=P[R].good_length,I=P[R].nice_length,E=P[R].max_chain,m=0,b=0,k=0,g=A=2,y=0,u=0}(),0}t.depth=[],t.bl_count=[],t.heap=[],D=[],F=[],C=[],t.pqdownheap=function(e,n){const i=t.heap,r=i[n];let a=n<<1;for(;a<=t.heap_len&&(a9||8!=c||r<9||r>15||n<0||n>9||b<0||b>2?-2:(e.dstate=t,s=r,a=1<9||n<0||n>2?-2:(P[R].func!=P[e].func&&0!==t.total_in&&(i=t.deflate(1)),R!=e&&(R=e,U=P[R].max_lazy,z=P[R].good_length,I=P[R].nice_length,E=P[R].max_chain),S=n,i)},t.deflateSetDictionary=function(t,e,i){let r,s=i,c=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,c=i-s),l.set(e.subarray(c,c+s),0),m=s,b=s,u=255&l[0],u=(u<4||h<0)return-2;if(!c.next_out||!c.next_in&&0!==c.avail_in||666==n&&4!=h)return c.msg=N[4],-2;if(0===c.avail_out)return c.msg=N[7],-5;var C;if(e=c,D=r,r=h,42==n&&(z=8+(s-8<<4)<<8,I=(R-1&255)>>1,I>3&&(I=3),z|=I<<6,0!==m&&(z|=32),z+=31-z%31,n=113,Q((C=z)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return r=-1,0}else if(0===e.avail_in&&h<=D&&4!=h)return e.msg=N[7],-5;if(666==n&&0!==e.avail_in)return c.msg=N[7],-5;if(0!==e.avail_in||0!==k||0!=h&&666!=n){switch(F=-1,P[R].func){case 0:F=function(t){let n,r=65535;for(r>i-5&&(r=i-5);;){if(k<=1){if(dt(),0===k&&0==t)return 0;if(0===k)break}if(m+=k,k=0,n=b+r,(0===m||m>=n)&&(k=m-n,m=n,ct(!1),0===e.avail_out))return 0;if(m-b>=a-262&&(ct(!1),0===e.avail_out))return 0}return ct(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(h);break;case 1:F=function(t){let n,i=0;for(;;){if(k<262){if(dt(),k<262&&0==t)return 0;if(0===k)break}if(k>=3&&(u=(u<=3)if(n=rt(m-v,g-3),k-=g,g<=U&&k>=3){g--;do{m++,u=(u<=3&&(u=(u<4096)&&(g=2)),A>=3&&g<=A){i=m+k-3,n=rt(m-1-x,A-3),k-=A-1,A-=2;do{++m<=i&&(u=(u<0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}}q.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const G=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Z=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,f,u,_,h){let w,p,b,g,x,y,m,v,k,A,E,U,R,S,z;A=0,x=s;do{n[t[e+A]]++,A++,x--}while(0!==x);if(n[0]==s)return d[0]=-1,f[0]=0,0;for(v=f[0],y=1;y<=15&&0===n[y];y++);for(m=y,vx&&(v=x),f[0]=v,S=1<U+v;){if(g++,U+=v,z=b-U,z=z>v?v:z,(p=1<<(y=m-U))>w+1&&(p-=w+1,R=m,y1440)return-3;r[g]=E=_[0],_[0]+=z,0!==g?(a[g]=x,i[0]=y,i[1]=v,y=x>>>U-v,i[2]=E-r[g-1]-y,u.set(i,3*(r[g-1]+y))):d[0]=E}for(i[1]=m-U,A>=s?i[0]=192:h[A]>>U;y>>=1)x^=y;for(x^=y,k=(1<257?(-3==_?u.msg="oversubscribed distance tree":-5==_?(u.msg="incomplete distance tree",_=-3):-4!=_&&(u.msg="empty distance tree with lengths",_=-3),_):0)}}function et(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,f=0,u=0,_=0,h=0;function w(t,e,n,i,r,a,s,o){let l,c,d,f,u,_,h,w,p,b,g,x,y,m,v,k;h=o.next_in_index,w=o.avail_in,u=s.bitb,_=s.bitk,p=s.write,b=p>=c[k+1],_-=c[k+1],0!=(16&f)){for(f&=15,y=c[k+2]+(u&G[f]),u>>=f,_-=f;_<15;)w--,u|=(255&o.read_byte(h++))<<_,_+=8;for(l=u&x,c=r,d=a,k=3*(d+l),f=c[k];;){if(u>>=c[k+1],_-=c[k+1],0!=(16&f)){for(f&=15;_>=f,_-=f,b-=y,p>=m)v=p-m,p-v>0&&2>p-v?(s.window[p++]=s.window[v++],s.window[p++]=s.window[v++],y-=2):(s.window.set(s.window.subarray(v,v+2),p),p+=2,v+=2,y-=2);else{v=p-m;do{v+=s.end}while(v<0);if(f=s.end-v,y>f){if(y-=f,p-v>0&&f>p-v)do{s.window[p++]=s.window[v++]}while(0!=--f);else s.window.set(s.window.subarray(v,v+f),p),p+=f,v+=f,f=0;v=0}}if(p-v>0&&y>p-v)do{s.window[p++]=s.window[v++]}while(0!=--y);else s.window.set(s.window.subarray(v,v+y),p),p+=y,v+=y,y=0;break}if(0!=(64&f))return o.msg="invalid distance code",y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,-3;l+=c[k+2],l+=u&G[f],k=3*(d+l),f=c[k]}break}if(0!=(64&f))return 0!=(32&f)?(y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,-3);if(l+=c[k+2],l+=u&G[f],k=3*(d+l),0===(f=c[k])){u>>=c[k+1],_-=c[k+1],s.window[p++]=c[k+2],b--;break}}else u>>=c[k+1],_-=c[k+1],s.window[p++]=c[k+2],b--}while(b>=258&&w>=10);return y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}t.init=function(t,a,s,o,l,c){e=0,f=t,u=a,i=s,_=o,r=l,h=c,n=null},t.proc=function(t,p,b){let g,x,y,m,v,k,A,E=0,U=0,R=0;for(R=p.next_in_index,m=p.avail_in,E=t.bitb,U=t.bitk,v=t.write,k=v=258&&m>=10&&(t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,b=w(f,u,i,_,r,h,t,p),R=p.next_in_index,m=p.avail_in,E=t.bitb,U=t.bitk,v=t.write,k=v>>=n[x+1],U-=n[x+1],y=n[x],0===y){l=n[x+2],e=6;break}if(0!=(16&y)){c=15&y,a=n[x+2],e=2;break}if(0==(64&y)){o=y,s=x/3+n[x+2];break}if(0!=(32&y)){e=7;break}return e=9,p.msg="invalid literal/length code",b=-3,t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,t.inflate_flush(p,b);case 2:for(g=c;U>=g,U-=g,o=u,n=r,s=h,e=3;case 3:for(g=o;U>=n[x+1],U-=n[x+1],y=n[x],0!=(16&y)){c=15&y,d=n[x+2],e=4;break}if(0==(64&y)){o=y,s=x/3+n[x+2];break}return e=9,p.msg="invalid distance code",b=-3,t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,t.inflate_flush(p,b);case 4:for(g=c;U>=g,U-=g,e=5;case 5:for(A=v-d;A<0;)A+=t.end;for(;0!==a;){if(0===k&&(v==t.end&&0!==t.read&&(v=0,k=v7&&(U-=8,m++,R--),t.write=v,b=t.inflate_flush(p,b),v=t.write,k=vt.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let h,w,p,b,g,x,y,m;for(b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,x=n.write,y=x>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:v=[],k=[],A=[[]],E=[[]],tt.inflate_trees_fixed(v,k,A,E),d.init(v[0],k[0],A[0],0,E[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,t.msg="invalid block type",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e)}break;case 1:for(;p<32;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>16&65535)!=(65535&w))return r=9,t.msg="invalid stored block lengths",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);a=65535&w,w=p=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);if(0===y&&(x==n.end&&0!==n.read&&(x=0,y=xg&&(h=g),h>y&&(h=y),n.window.set(t.read_buf(b,h),x),b+=h,g-=h,x+=h,y-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;p<14;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<29||(h>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>=3,p-=3}for(;o<19;)i[nt[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,u,t),0!=h)return-3==(e=h)&&(i=null,r=9),n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(m=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&G[m],w>>>=m,p-=m,m=o,h=s,m+a>258+(31&h)+(h>>5&31)||16==d&&m<1)return i=null,r=9,t.msg="invalid bit length repeat",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);d=16==d?i[m-1]:0;do{i[m++]=d}while(0!=--a);o=m}}if(c[0]=-1,U=[],R=[],S=[],z=[],U[0]=9,R[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,U,R,S,z,u,t),0!=h)return-3==h&&(i=null,r=9),e=h,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);d.init(U[0],R[0],u,S[0],u,z[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,x=n.write,y=x15?(t.inflateEnd(n),-2):(t.wbits=i,n.istate.blocks=new it(n,1<>4)>r.wbits){r.mode=13,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=13,t.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(t,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return r>=1<0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=K,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));P({workerScripts:{inflate:[e],deflate:[e]}})}})(),P({Deflate:function(t){const e=new g,n=512,i=new Uint8Array(n);let r=t?t.level:-1;void 0===r&&(r=-1),e.deflateInit(r),e.next_out=i,this.append=function(t,r){let a,s,o=0,l=0,c=0;const d=[];if(t.length){e.next_in_index=0,e.next_in=t,e.avail_in=t.length;do{if(e.next_out_index=0,e.avail_out=n,a=e.deflate(0),0!=a)throw new Error("deflating: "+e.msg);e.next_out_index&&(e.next_out_index==n?d.push(new Uint8Array(i)):d.push(new Uint8Array(i.subarray(0,e.next_out_index)))),c+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}},Inflate:function(){const t=new B,e=new Uint8Array(512);let n=!1;t.inflateInit(),t.next_out=e,this.append=function(i,r){const a=[];let s,o,l=0,c=0,d=0;if(0!==i.length){t.next_in_index=0,t.next_in=i,t.avail_in=i.length;do{if(t.next_out_index=0,t.avail_out=512,0!==t.avail_in||n||(t.next_in_index=0,n=!0),s=t.inflate(0),n&&s===m){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+t.msg);if((n||1===s)&&t.avail_in===i.length)throw new Error("inflating: bad input");t.next_out_index&&(512===t.next_out_index?a.push(new Uint8Array(e)):a.push(new Uint8Array(e.subarray(0,t.next_out_index)))),d+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}}),t.BlobReader=rt,t.BlobWriter=at,t.Data64URIReader=class extends nt{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),i=4*Math.floor(t/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(i/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},t.ERR_ABORT=j,t.ERR_BAD_FORMAT=ze,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ce,t.ERR_DUPLICATED_NAME=tn,t.ERR_ENCRYPTED=Oe,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Fe,t.ERR_EOCDR_NOT_FOUND=Ie,t.ERR_EOCDR_ZIP64_NOT_FOUND=De,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Me,t.ERR_HTTP_RANGE=Z,t.ERR_INVALID_COMMENT=en,t.ERR_INVALID_DATE=sn,t.ERR_INVALID_ENCRYPTION_STRENGTH=on,t.ERR_INVALID_ENTRY_COMMENT=nn,t.ERR_INVALID_ENTRY_NAME=rn,t.ERR_INVALID_EXTRAFIELD_DATA=cn,t.ERR_INVALID_EXTRAFIELD_TYPE=ln,t.ERR_INVALID_PASSWORD=Ot,t.ERR_INVALID_SIGNATURE=we,t.ERR_INVALID_VERSION=an,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Te,t.ERR_UNSUPPORTED_COMPRESSION=We,t.ERR_UNSUPPORTED_ENCRYPTION=Be,t.HttpRangeReader=class extends ut{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=ut,t.Reader=nt,t.TextReader=class extends nt{constructor(t){super(),this.blobReader=new rt(new Blob([t],{type:Y}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}},t.TextWriter=class extends it{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:Y})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:Y})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}},t.Uint8ArrayReader=class extends nt{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}},t.Uint8ArrayWriter=class extends it{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}},t.Writer=it,t.ZipReader=class{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:L()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(ze);const i=await async function(t,e,n,i,r){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(Qe(a),0,e);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(e){const r=n-e,s=await $e(t,r,e);for(let t=s.length-i;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:r+t,buffer:s.slice(t,t+i).buffer}}}(n,xt,n.size,22,1048560);if(!i)throw new Error(Ie);const r=Qe(i);let a=Xe(r,12),s=Xe(r,16),o=Ye(r,8),l=0;if(s==ht||o==wt){const t=Qe(await $e(n,i.offset-20,20));if(Xe(t,0)!=mt)throw new Error(De);s=Je(t,8);let e=await $e(n,s,56),r=Qe(e);const c=i.offset-20-56;if(Xe(r,0)!=yt&&s!=c){const t=s;s=c,l=s-t,e=await $e(n,s,56),r=Qe(e)}if(Xe(r,0)!=yt)throw new Error(Fe);o=Je(r,24),a=Xe(t,4),s-=Je(r,40)}if(s<0||s>=n.size)throw new Error(ze);let c=0,d=await $e(n,s,n.size-s),f=Qe(d);const u=i.offset-a;if(Xe(f,c)!=gt&&s!=u){const t=s;s=u,l=s-t,d=await $e(n,s,n.size-s),f=Qe(d)}if(s<0||s>=n.size)throw new Error(ze);const _=[];for(let i=0;ii.getData(t,e),_.push(h),c=u}return _}async close(){}},t.ZipWriter=class{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:L(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const i=this;if(t=t.trim(),n.directory&&!t.endsWith(At)?t+=At:n.directory=t.endsWith(At),i.files.has(t))throw new Error(tn);const r=(new TextEncoder).encode(t);if(r.length>wt)throw new Error(rn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>wt)throw new Error(nn);const o=i.options.version||n.version||0;if(o>wt)throw new Error(an);const l=n.lastModDate||new Date;if(lEt)throw new Error(sn);const c=fn(i,n,"password"),d=fn(i,n,"encryptionStrength")||3,f=fn(i,n,"zipCrypto");if(void 0!==c&&void 0!==d&&(d<1||d>3))throw new Error(on);e&&!e.initialized&&await e.init();let u=new Uint8Array(0);const _=n.extraField;if(_){let t=0,e=0;_.forEach((e=>t+=4+e.length)),u=new Uint8Array(t),_.forEach(((t,n)=>{if(n>wt)throw new Error(ln);if(t.length>wt)throw new Error(cn);pn(u,new Uint16Array([n]),e),pn(u,new Uint16Array([t.length]),e+2),pn(u,t,e+4),e+=4+t.length}))}const h=e?Math.floor(1.05*e.size):0;i.pendingOutputSize+=h,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=ht||h>=ht||i.offset+i.pendingOutputSize>=ht,p=fn(i,n,"level"),b=fn(i,n,"useWebWorkers"),g=fn(i,n,"bufferedWrite");let x=fn(i,n,"keepOrder"),y=fn(i,n,"dataDescriptor");const m=fn(i,n,"signal");void 0===y&&(y=!0),void 0===x&&(x=!0);const v=await async function(t,e,n,i){const r=t.files,a=t.writer;let s,o;r.set(e,null);try{let l,c,d;try{i.keepOrder&&(l=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>o=t))),i.bufferedWrite||t.lockWrite||!i.dataDescriptor?(c=new at,c.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),c=a),d=await async function(t,e,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:l,zipCrypto:c,dataDescriptor:d,directory:f,version:u,rawComment:_,rawExtraField:h,useWebWorkers:w,onprogress:p,signal:b,encryptionStrength:g}=i,x=Boolean(s&&s.length),y=0!==o&&!f;let m;if(x&&!c){m=new Uint8Array(dn.length+2);const t=bn(m);_n(t,0,vt),pn(m,dn,2),un(t,8,g)}else m=new Uint8Array(0);const v={version:u||20,zip64:l,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:m,rawExtraField:h};let k=kt;d&&(k|=8);let A=0;y&&(A=8);l&&(v.version=v.version>45?v.version:45);x&&(k|=1,c||(v.version=v.version>51?v.version:51,A=99,y&&(v.rawExtraFieldAES[9]=8)));const E=v.headerArray=new Uint8Array(26),U=bn(E);_n(U,0,v.version),_n(U,2,k),_n(U,4,A);const R=new Uint32Array(1),S=bn(R);_n(S,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),_n(S,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const z=R[0];hn(U,6,z),_n(U,22,r.length),_n(U,24,0),_n(U,24,m.length+v.rawExtraField.length);const I=new Uint8Array(30+r.length+m.length+v.rawExtraField.length);let D;hn(bn(I),0,pt),pn(I,E,4),pn(I,r,30),pn(I,m,30+r.length),pn(I,v.rawExtraField,30+r.length+m.length);let F=0,C=0;if(t){F=t.size;const i=await Ee(n.Deflate,{codecType:_e,level:o,password:s,encryptionStrength:g,zipCrypto:x&&c,passwordVerification:x&&c&&z>>8&255,signed:!0,compressed:y,encrypted:x,useWebWorkers:w},n);await e.writeUint8Array(I),D=await V(i,t,e,0,F,n,{onprogress:p,signal:b}),C=D.length}else await e.writeUint8Array(I);let T,M=new Uint8Array(0);d&&(M=new Uint8Array(l?24:16),T=bn(M),hn(T,0,bt));if(t){const t=D.signature;if(x&&!c||void 0===t||(hn(U,10,t),v.signature=t,d&&hn(T,4,t)),l){const t=bn(v.rawExtraFieldZip64);_n(t,0,1),_n(t,2,24),hn(U,14,ht),wn(t,12,BigInt(C)),hn(U,18,ht),wn(t,4,BigInt(F)),d&&(wn(T,8,BigInt(C)),wn(T,16,BigInt(F)))}else hn(U,14,C),hn(U,18,F),d&&(hn(T,8,C),hn(T,12,F))}d&&await e.writeUint8Array(M);const O=I.length+C+M.length;return Object.assign(v,{compressedSize:C,uncompressedSize:F,lastModDate:a,rawLastModDate:z,encrypted:x,length:O}),v}(n,c,t.config,i)}catch(t){throw r.delete(e),t}if(r.set(e,d),c!=a){const e=c.getData(),n=new FileReader,r=new Promise(((t,i)=>{n.onload=e=>t(e.target.result),n.onerror=i,n.readAsArrayBuffer(e)})),[s]=await Promise.all([r,t.lockWrite,l]);if(!i.dataDescriptor){const t=new DataView(s);d.encrypted&&!i.zipCrypto||hn(t,14,d.signature),d.zip64?(hn(t,18,ht),hn(t,22,ht)):(hn(t,18,d.compressedSize),hn(t,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=t.offset,d.zip64){wn(bn(d.rawExtraFieldZip64),20,BigInt(d.offset))}return t.offset+=d.length,d}finally{o&&o(),s&&s()}}(i,t,e,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:l,rawExtraField:u,zip64:w,password:c,level:p,useWebWorkers:b,encryptionStrength:d,zipCrypto:f,bufferedWrite:g,keepOrder:x,dataDescriptor:y,signal:m}));return i.pendingOutputSize-=h,Object.assign(v,{name:t,comment:a,extraField:_}),new Se(v)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,i=e.files;let r=0,a=0,s=e.offset,o=i.size;for(const[,t]of i)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const l=e.options.zip64||s>=ht||a>=ht||o>=wt,c=new Uint8Array(a+(l?98:22)),d=bn(c);if(t.length){if(!(t.length<=wt))throw new Error(en);_n(d,r+20,t.length)}for(const[,t]of i){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:f,zip64:u}=t,_=n.length+i.length+a.length;hn(d,r,gt),_n(d,r+4,o),pn(c,l,r+6),_n(d,r+30,_),_n(d,r+32,s.length),f&&un(d,r+38,16),hn(d,r+42,u?ht:t.offset),pn(c,e,r+46),pn(c,n,r+46+e.length),pn(c,i,r+46+e.length+n.length),pn(c,a,46+e.length+n.length+i.length),pn(c,s,r+46+e.length+_),r+=46+e.length+_+s.length}return l&&(hn(d,r,yt),wn(d,r+4,BigInt(44)),_n(d,r+12,45),_n(d,r+14,45),wn(d,r+24,BigInt(o)),wn(d,r+32,BigInt(o)),wn(d,r+40,BigInt(a)),wn(d,r+48,BigInt(s)),hn(d,r+56,mt),wn(d,r+64,BigInt(s)+BigInt(a)),hn(d,r+72,1),o=wt,s=ht,a=ht,r+=76),hn(d,r,xt),_n(d,r+8,o),_n(d,r+10,o),hn(d,r+12,a),hn(d,r+16,s),await n.writeUint8Array(c),t.length&&await n.writeUint8Array(t),n.getData()}},t.configure=P,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:N(t.Deflate,e.deflate,n),Inflate:N(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e=256,n=256,i=-2,r=-5;function a(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}const s=[0,1,2,3].concat(...a([[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 t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,f,u,_=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,f=0,l>=a&&(f=r[l-a]),u=n[2*l],e.opt_len+=u*(d+f),i&&(e.static_len+=u*(i[2*l+1]+f)));if(0!==_){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function l(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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(t){return t<256?s[t]:s[256+(t>>>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],l.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],l.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],l.static_l_desc=new l(l.static_ltree,o.extra_lbits,257,286,15),l.static_d_desc=new l(l.static_dtree,o.extra_dbits,0,30,15),l.static_bl_desc=new l(null,o.extra_blbits,0,19,7);function c(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}const d=[new c(0,0,0,0,0),new c(4,4,8,4,1),new c(4,5,16,8,1),new c(4,6,32,32,1),new c(4,4,16,16,2),new c(8,16,32,32,2),new c(8,16,128,128,2),new c(8,32,128,256,2),new c(32,128,258,1024,2),new c(32,258,258,4096,2)],f=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],u=113,_=666,h=258,w=262;function p(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function lt(t,e){let n;const i=e;it>16-i?(n=t,nt|=n<>>16-it,it+=i-16):(nt|=t<=8&&(st(255&nt),nt>>>=8,it-=8)}function ut(n,i){let r,a,s;if(t.pending_buf[$+2*Q]=n>>>8&255,t.pending_buf[$+2*Q+1]=255&n,t.pending_buf[X+Q]=255&i,Q++,0===n?V[2*i]++:(tt++,n--,V[2*(o._length_code[i]+e+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&L>2){for(r=8*Q,a=T-I,s=0;s<30;s++)r+=q[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,tt8?ot(nt):it>0&&st(255&nt),nt=0,it=0}function wt(e,n,i){lt(0+(i?1:0),3),function(e,n,i){ht(),et=8,i&&(ot(n),ot(~n)),t.pending_buf.set(m.subarray(e,e+n),t.pending),t.pending+=n}(e,n,!0)}function pt(e,n,i){let r,a,s=0;L>0?(G.build_tree(t),Z.build_tree(t),s=function(){let e;for(at(V,G.max_code),at(q,Z.max_code),Y.build_tree(t),e=18;e>=3&&0===K[2*o.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?wt(e,n,i):a==r?(lt(2+(i?1:0),3),_t(l.static_ltree,l.static_dtree)):(lt(4+(i?1:0),3),function(t,e,n){let i;for(lt(t-257,5),lt(e-1,5),lt(n-4,4),i=0;i=0?I:-1,T-I,t),I=T,a.flush_pending()}function gt(){let t,e,n,i;do{if(i=v-O-T,0===i&&0===T&&0===O)i=g;else if(-1==i)i--;else if(T>=g+g-w){m.set(m.subarray(g,g+g),0),M-=g,T-=g,I-=g,t=U,n=t;do{e=65535&A[--n],A[n]=e>=g?e-g:0}while(0!=--t);t=g,n=t;do{e=65535&k[--n],k[n]=e>=g?e-g:0}while(0!=--t);i+=g}if(0===a.avail_in)return;t=a.read_buf(m,T+O,i),O+=t,O>=3&&(E=255&m[T],E=(E<g-w?T-(g-w):0;let o=j;const l=y,c=T+h;let d=m[r+a-1],f=m[r+a];B>=N&&(i>>=2),o>O&&(o=O);do{if(e=t,m[e+a]==f&&m[e+a-1]==d&&m[e]==m[r]&&m[++e]==m[r+1]){r+=2,e++;do{}while(m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&m[++r]==m[++e]&&ra){if(M=t,a=n,n>=o)break;d=m[r+a-1],f=m[r+a]}}}while((t=65535&k[t&l])>s&&0!=--i);return a<=O?a:O}function yt(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,s=u,b=0,G.dyn_tree=V,G.stat_desc=l.static_l_desc,Z.dyn_tree=q,Z.stat_desc=l.static_d_desc,Y.dyn_tree=K,Y.stat_desc=l.static_bl_desc,nt=0,it=0,et=8,rt(),function(){v=2*g,A[U-1]=0;for(let t=0;t9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(e.dstate=t,x=r,g=1<9||n<0||n>2?i:(d[L].func!=d[e].func&&0!==t.total_in&&(r=t.deflate(1)),L!=e&&(L=e,H=d[L].max_lazy,N=d[L].good_length,j=d[L].nice_length,W=d[L].max_chain),P=n,r)},t.deflateSetDictionary=function(t,e,n){let r,a=n,o=0;if(!e||42!=s)return i;if(a<3)return 0;for(a>g-w&&(a=g-w,o=n-a),m.set(e.subarray(o,o+a),0),T=a,I=a,E=255&m[0],E=(E<4||o<0)return i;if(!e.next_out||!e.next_in&&0!==e.avail_in||s==_&&4!=o)return e.msg=f[4],i;if(0===e.avail_out)return e.msg=f[7],r;var N;if(a=e,R=b,b=o,42==s&&(p=8+(x-8<<4)<<8,v=(L-1&255)>>1,v>3&&(v=3),p|=v<<6,0!==T&&(p|=32),p+=31-p%31,s=u,st((N=p)>>8&255),st(255&N)),0!==t.pending){if(a.flush_pending(),0===a.avail_out)return b=-1,0}else if(0===a.avail_in&&o<=R&&4!=o)return a.msg=f[7],r;if(s==_&&0!==a.avail_in)return e.msg=f[7],r;if(0!==a.avail_in||0!==O||0!=o&&s!=_){switch(W=-1,d[L].func){case 0:W=function(t){let e,n=65535;for(n>c-5&&(n=c-5);;){if(O<=1){if(gt(),0===O&&0==t)return 0;if(0===O)break}if(T+=O,O=0,e=I+n,(0===T||T>=e)&&(O=T-e,T=e,bt(!1),0===a.avail_out))return 0;if(T-I>=g-w&&(bt(!1),0===a.avail_out))return 0}return bt(4==t),0===a.avail_out?4==t?2:0:4==t?3:1}(o);break;case 1:W=function(t){let e,n=0;for(;;){if(O=3&&(E=(E<=3)if(e=ut(T-M,D-3),O-=D,D<=H&&O>=3){D--;do{T++,E=(E<=3&&(E=(E<4096)&&(D=2)),B>=3&&D<=B){n=T+O-3,e=ut(T-1-F,B-3),O-=B-1,B-=2;do{++T<=n&&(E=(E<n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const x=-2,y=-3,m=-5,v=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],A=[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],E=[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],U=[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],R=[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],S=[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],z=15;function I(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,f,u,_,h){let w,p,b,g,x,v,k,A,E,U,R,S,I,D,F;U=0,x=s;do{n[t[e+U]]++,U++,x--}while(0!==x);if(n[0]==s)return d[0]=-1,f[0]=0,0;for(A=f[0],v=1;v<=z&&0===n[v];v++);for(k=v,Ax&&(A=x),f[0]=A,D=1<S+A;){if(g++,S+=A,F=b-S,F=F>A?A:F,(p=1<<(v=k-S))>w+1&&(p-=w+1,I=k,v1440)return y;r[g]=R=_[0],_[0]+=F,0!==g?(a[g]=x,i[0]=v,i[1]=A,v=x>>>S-A,i[2]=R-r[g-1]-v,u.set(i,3*(r[g-1]+v))):d[0]=R}for(i[1]=k-S,U>=s?i[0]=192:h[U]>>S;v>>=1)x^=v;for(x^=v,E=(1<257?(_==y?u.msg="oversubscribed distance tree":_==m?(u.msg="incomplete distance tree",_=y):-4!=_&&(u.msg="empty distance tree with lengths",_=y),_):0)}}I.inflate_trees_fixed=function(t,e,n,i){return t[0]=9,e[0]=5,n[0]=k,i[0]=A,0};function D(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,f=0,u=0,_=0,h=0;function w(t,e,n,i,r,a,s,o){let l,c,d,f,u,_,h,w,p,b,g,x,m,k,A,E;h=o.next_in_index,w=o.avail_in,u=s.bitb,_=s.bitk,p=s.write,b=p>=c[E+1],_-=c[E+1],0!=(16&f)){for(f&=15,m=c[E+2]+(u&v[f]),u>>=f,_-=f;_<15;)w--,u|=(255&o.read_byte(h++))<<_,_+=8;for(l=u&x,c=r,d=a,E=3*(d+l),f=c[E];;){if(u>>=c[E+1],_-=c[E+1],0!=(16&f)){for(f&=15;_>=f,_-=f,b-=m,p>=k)A=p-k,p-A>0&&2>p-A?(s.window[p++]=s.window[A++],s.window[p++]=s.window[A++],m-=2):(s.window.set(s.window.subarray(A,A+2),p),p+=2,A+=2,m-=2);else{A=p-k;do{A+=s.end}while(A<0);if(f=s.end-A,m>f){if(m-=f,p-A>0&&f>p-A)do{s.window[p++]=s.window[A++]}while(0!=--f);else s.window.set(s.window.subarray(A,A+f),p),p+=f,A+=f,f=0;A=0}}if(p-A>0&&m>p-A)do{s.window[p++]=s.window[A++]}while(0!=--m);else s.window.set(s.window.subarray(A,A+m),p),p+=m,A+=m,m=0;break}if(0!=(64&f))return o.msg="invalid distance code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,y;l+=c[E+2],l+=u&v[f],E=3*(d+l),f=c[E]}break}if(0!=(64&f))return 0!=(32&f)?(m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,y);if(l+=c[E+2],l+=u&v[f],E=3*(d+l),0===(f=c[E])){u>>=c[E+1],_-=c[E+1],s.window[p++]=c[E+2],b--;break}}else u>>=c[E+1],_-=c[E+1],s.window[p++]=c[E+2],b--}while(b>=258&&w>=10);return m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}t.init=function(t,a,s,o,l,c){e=0,f=t,u=a,i=s,_=o,r=l,h=c,n=null},t.proc=function(t,p,b){let g,m,k,A,E,U,R,S=0,z=0,I=0;for(I=p.next_in_index,A=p.avail_in,S=t.bitb,z=t.bitk,E=t.write,U=E=258&&A>=10&&(t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,b=w(f,u,i,_,r,h,t,p),I=p.next_in_index,A=p.avail_in,S=t.bitb,z=t.bitk,E=t.write,U=E>>=n[m+1],z-=n[m+1],k=n[m],0===k){l=n[m+2],e=6;break}if(0!=(16&k)){c=15&k,a=n[m+2],e=2;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}if(0!=(32&k)){e=7;break}return e=9,p.msg="invalid literal/length code",b=y,t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,t.inflate_flush(p,b);case 2:for(g=c;z>=g,z-=g,o=u,n=r,s=h,e=3;case 3:for(g=o;z>=n[m+1],z-=n[m+1],k=n[m],0!=(16&k)){c=15&k,d=n[m+2],e=4;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}return e=9,p.msg="invalid distance code",b=y,t.bitb=S,t.bitk=z,p.avail_in=A,p.total_in+=I-p.next_in_index,p.next_in_index=I,t.write=E,t.inflate_flush(p,b);case 4:for(g=c;z>=g,z-=g,e=5;case 5:for(R=E-d;R<0;)R+=t.end;for(;0!==a;){if(0===U&&(E==t.end&&0!==t.read&&(E=0,U=E7&&(z-=8,A++,I--),t.write=E,b=t.inflate_flush(p,b),E=t.write,U=Et.avail_out&&(i=t.avail_out),0!==i&&e==m&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&e==m&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let h,w,p,b,g,m,k,A;for(b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:E=[],U=[],R=[[]],S=[[]],I.inflate_trees_fixed(E,U,R,S),d.init(E[0],U[0],R[0],0,S[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,t.msg="invalid block type",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e)}break;case 1:for(;p<32;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>16&65535)!=(65535&w))return r=9,t.msg="invalid stored block lengths",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);a=65535&w,w=p=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);if(0===k&&(m==n.end&&0!==n.read&&(m=0,k=mg&&(h=g),h>k&&(h=k),n.window.set(t.read_buf(b,h),m),b+=h,g-=h,m+=h,k-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;p<14;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<29||(h>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>=3,p-=3}for(;o<19;)i[F[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,u,t),0!=h)return(e=h)==y&&(i=null,r=9),n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(A=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&v[A],w>>>=A,p-=A,A=o,h=s,A+a>258+(31&h)+(h>>5&31)||16==d&&A<1)return i=null,r=9,t.msg="invalid bit length repeat",e=y,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);d=16==d?i[A-1]:0;do{i[A++]=d}while(0!=--a);o=A}}if(c[0]=-1,z=[],D=[],C=[],T=[],z[0]=9,D[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,z,D,C,T,u,t),0!=h)return h==y&&(i=null,r=9),e=h,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,n.inflate_flush(t,e);d.init(z[0],D[0],u,C[0],u,T[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=m,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m15?(t.inflateEnd(n),x):(t.wbits=i,n.istate.blocks=new C(n,1<>4)>r.wbits){r.mode=T,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=T,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=T,t.msg="need dictionary",r.marker=0,x;case 7:if(n=r.blocks.proc(t,n),n==y){r.mode=T,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case T:return y;default:return x}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return x;const a=t.istate;return r>=1<{if(r.pendingData){const e=r.pendingData;r.pendingData=new Uint8Array(e.length+t.length),r.pendingData.set(e,0),r.pendingData.set(t,e.length)}else r.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const j="Abort error";async function V(t,e,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(l=0,c=0){const d=s.signal;if(l{n.onload=t=>i(new Uint8Array(t.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class at extends it{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class st extends nt{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),_t(this.url)&&!this.preventHeadRequest){const t=await lt(Q,this.url,this.options);if(this.size=Number(t.headers.get(X)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(J)!=tt)throw new Error(Z);void 0===this.size&&await ot(this,this.options)}else await ot(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await lt($,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(Z);return new Uint8Array(await n.arrayBuffer())}return this.data||await ot(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function ot(t,e){const n=await lt($,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function lt(t,e,n,i){i=Object.assign({},n.headers,i);const r=await fetch(e,Object.assign({},n,{method:t,headers:i}));if(r.status<400)return r;throw new Error(G+(r.statusText||r.status))}class ct extends nt{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),_t(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>ft(Q,this.url,(n=>{this.size=Number(n.getResponseHeader(X)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(J)==tt?t():e(new Error(Z)):void 0===this.size?dt(this,this.url).then((()=>t())).catch(e):t()}),e)));await dt(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await dt(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,i)=>ft($,this.url,(t=>n(new Uint8Array(t.response))),i,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(Z)}}function dt(t,e){return new Promise(((n,i)=>ft($,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),i)))}function ft(t,e,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(G+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(t,e),r.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class ut extends nt{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new ct(t,e):this.reader=new st(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}function _t(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const ht=4294967295,wt=65535,pt=67324752,bt=134695760,gt=33639248,xt=101010256,yt=101075792,mt=117853008,vt=39169,kt=2048,At="/",Et=new Date(2107,11,31),Ut=new Date(1980,0,1),Rt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const St=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;St[t]=e}class zt{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,i=0|t.length;n>>8^St[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const It={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],i=It.getPartial(n);return 32===i?t.concat(e):It._shiftRight(e,i,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+It.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=It.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(n),n=0;if(0===e)return i.concat(t);for(let r=0;r>>e),n=t[r]<<32-e;const r=t.length?t[t.length-1]:0,a=It.getPartial(r);return i.push(It.partial(e+a&31,e+a>32?n:i.pop(),1)),i}},Dt={bytes:{fromBits(t){const e=It.bitLength(t)/8,n=new Uint8Array(e);let i;for(let r=0;r>>24,i<<=8;return n},toBits(t){const e=[];let n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+i-(e.blockSize+i&e.blockSize-1);t<=r;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=It.concat(e,[It.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const Ct={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=u=u<<24^u>>>8,e[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let f,u,_,h=t[0]^n[0],w=t[e?3:1]^n[1],p=t[2]^n[2],b=t[e?1:3]^n[3],g=4;for(let t=0;t>>24]^o[w>>16&255]^l[p>>8&255]^c[255&b]^n[g],u=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&h]^n[g+1],_=s[p>>>24]^o[b>>16&255]^l[h>>8&255]^c[255&w]^n[g+2],b=s[b>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[g+3],g+=4,h=f,w=u,p=_;for(let t=0;t<4;t++)r[e?3&-t:t]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],f=h,h=w,w=p,p=b,b=f;return r}}},Tt={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let i;if(!(i=e.length))return[];const r=It.bitLength(e);for(let r=0;rr&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%Bt)),o=0;o<=s-Bt;o+=Bt){const r=Gt.toBits(ne(e,o,o+Bt));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(Gt.fromBits(s),o+i)}return t.pendingInput=ne(e,o),n}async function te(t,e,n){const i=(new TextEncoder).encode(e),r=await Kt.importKey("raw",i,Ht,!1,Pt),a=await Kt.deriveBits(Object.assign({salt:n},Lt),r,8*(2*jt[t.strength]+2)),s=new Uint8Array(a);t.keys={key:Gt.toBits(ne(s,0,jt[t.strength])),authentication:Gt.toBits(ne(s,jt[t.strength],2*jt[t.strength])),passwordVerification:ne(s,2*jt[t.strength])}}function ee(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function ne(t,e,n){return t.subarray(e,n)}const ie=12;class re{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),le(this,t)}async append(t){const e=this;if(e.password){const n=se(e,t.subarray(0,ie));if(e.password=null,n[11]!=e.passwordVerification)throw new Error(Ot);t=t.subarray(ie)}return se(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class ae{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),le(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(ie));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(oe(e,r),0),i=ie}else n=new Uint8Array(t.length),i=0;return n.set(oe(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function se(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function de(t){const e=2|t.keys[2];return fe(Math.imul(e,1^e)>>>8)}function fe(t){return 255&t}function ue(t){return 4294967295&t}const _e="deflate",he="inflate",we="Invalid signature";class pe{constructor(t,{signature:e,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:e,encrypted:l,signed:i,compressed:r,inflate:r&&new t,crc32:i&&new zt,zipCrypto:a,decrypt:l&&a?new re(n,s):new Jt(n,i,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(we);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(we)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class be{constructor(t,{encrypted:e,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:e,signed:n,compressed:i,deflate:i&&new t({level:r||5}),crc32:n&&new zt,zipCrypto:a,encrypt:e&&a?new ae(s,o):new Qt(s,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const ge="init",xe="append",ye="flush",me="message";var ve=(t,e,n,i,r,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){t.busy=!1;i(t)&&t.worker&&t.worker.terminate()}}),r?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip-full.min.js",document.baseURI).href)),t.worker.addEventListener(me,r,!1),t.interface={append:t=>n({type:xe,data:t}),flush:()=>n({type:ye})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await i({scripts:n,type:ge,options:e})}return i(n)}function i(n){const i=t.worker,r=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(t){i.postMessage(n)}else i.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return r}function r(n){const i=n.data;if(e){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,e.reject(i),e=null,t.onTaskFinished()}else if(r==ge||r==ye||r==xe){const n=i.data;r==ye?(e.resolve({data:new Uint8Array(n),signature:i.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(_e)?new be(t,e):e.codecType.startsWith(he)?new pe(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let ke=[],Ae=[];function Ee(t,e,n){const i=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[e.codecType]:[];if(ke.length!t.busy));return n?ve(n,t,e,Ue,i,r):new Promise((n=>Ae.push({resolve:n,codecConstructor:t,options:e,webWorker:i,scripts:r})))}}function Ue(t){const e=!Ae.length;if(e)ke=ke.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Ae.splice(0,1);e(ve(t,n,i,Ue,r,a))}return e}const Re=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class Se{constructor(t){Re.forEach((e=>this[e]=t[e]))}}const ze="File format is not recognized",Ie="End of central directory not found",De="End of Zip64 central directory not found",Fe="End of Zip64 central directory locator not found",Ce="Central directory header not found",Te="Local file header not found",Me="Zip64 extra field not found",Oe="File contains encrypted entry",Be="Encryption method not supported",We="Compression method not supported",He="utf-8",Le=["uncompressedSize","compressedSize","offset"];class Pe{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:i,offset:r,extraFieldAES:a,compressionMethod:s,config:o,bitFlag:l,signature:c,rawLastModDate:d,compressedSize:f,onprogress:u}=n,_=n.localDirectory={};i.initialized||await i.init();const h=await $e(i,r,30),w=Qe(h);let p=qe(n,e,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(We);if(0!=s&&8!=s)throw new Error(We);if(Xe(w,0)!=pt)throw new Error(Te);Ne(_,w,4);const b=r+30+_.filenameLength,g=b+_.extraFieldLength;_.rawExtraField=h.subarray(b,g),je(n,_,w,4);const x=n.encrypted&&_.encrypted,y=x&&!a;if(x){if(!y&&void 0===a.strength)throw new Error(Be);if(!p)throw new Error(Oe)}const m=await Ee(o.Inflate,{codecType:he,password:p,zipCrypto:y,encryptionStrength:a&&a.strength,signed:qe(n,e,"checkSignature"),passwordVerification:y&&(l.dataDescriptor?d>>>8&255:c>>>24&255),signature:c,compressed:0!=s,encrypted:x,useWebWorkers:qe(n,e,"useWebWorkers")},o);t.initialized||await t.init();const v=qe(n,e,"signal");return await V(m,i,t,g,f,o,{onprogress:e.onprogress,signal:v}),t.getData()}}function Ne(t,e,n){const i=t.rawBitFlag=Ye(e,n+2),r=1==(1&i);Object.assign(t,{encrypted:r,version:Ye(e,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&kt)==kt},rawLastModDate:Xe(e,n+6),lastModDate:Ge(t.rawLastModDate),filenameLength:Ye(e,n+22),extraFieldLength:Ye(e,n+24)})}function je(t,e,n,i){const r=e.rawExtraField,a=e.extraField=new Map,s=Qe(new Uint8Array(r));let o=0;try{for(;oe[t]==ht));for(let e=0;e{if(e[n]==ht){if(!t||void 0===t[n])throw new Error(Me);e[n]=t[n]}}))}(c,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&Ve(d,"filename","rawFilename",e,t);const f=e.extraFieldUnicodeComment=a.get(25461);f&&Ve(f,"comment","rawComment",e,t);const u=e.extraFieldAES=a.get(39169);u?function(t,e,n){if(t){const i=Qe(t.data);t.vendorVersion=Ze(i,0),t.vendorId=Ze(i,2);const r=Ze(i,4);t.strength=r,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=Ye(i,5)}else e.compressionMethod=n}(u,e,l):e.compressionMethod=l}function Ve(t,e,n,i,r){const a=Qe(t.data);t.version=Ze(a,0),t.signature=Xe(a,1);const s=new zt;s.append(r[n]);const o=Qe(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!r.bitFlag.languageEncodingFlag&&t.signature==Xe(o,0),t.valid&&(i[e]=t[e],i[e+"UTF8"]=!0)}function qe(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function Ke(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function Ze(t,e){return t.getUint8(e)}function Ye(t,e){return t.getUint16(e,!0)}function Xe(t,e){return t.getUint32(e,!0)}function Je(t,e){return Number(t.getBigUint64(e,!0))}function Qe(t){return new DataView(t.buffer)}function $e(t,e,n){return t.readUint8Array(e,n)}const tn="File already exists",en="Zip file comment exceeds 64KB",nn="File entry comment exceeds 64KB",rn="File entry name exceeds 64KB",an="Version exceeds 65535",sn="The modification date must be between 1/1/1980 and 12/31/2107",on="The strength must equal 1, 2, or 3",ln="Extra field type exceeds 65535",cn="Extra field data exceeds 64KB",dn=new Uint8Array([7,0,2,0,65,69,3,0,0]);function fn(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function un(t,e,n){t.setUint8(e,n)}function _n(t,e,n){t.setUint16(e,n,!0)}function hn(t,e,n){t.setUint32(e,n,!0)}function wn(t,e,n){t.setBigUint64(e,n,!0)}function pn(t,e,n){t.set(e,n)}function bn(t){return new DataView(t.buffer)}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let i=0,r=0|e.length;i>>8^t[255&(n^e[i])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const i=t[t.length-1],r=n.getPartial(i);return 32===r?t.concat(e):n._shiftRight(e,r,0|i,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const i=t[e-1];return 32*(e-1)+n.getPartial(i)},clamp(t,e){if(32*t.length0&&e&&(t[i-1]=n.partial(e,t[i-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,i,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(i),i=0;if(0===e)return r.concat(t);for(let n=0;n>>e),i=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return r.push(n.partial(e+s&31,e+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(t){const e=n.bitLength(t)/8,i=new Uint8Array(e);let r;for(let n=0;n>>24,r<<=8;return i},toBits(t){const e=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let l=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*l,16*(l+1))),l+=1;return r.splice(0,16*l),e},finalize:function(){const t=this;let e=t._buffer;const i=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),i},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),l=["deriveBits"],c=[8,12,16],d=[16,24,32],f=[0,0,0,0],u=crypto.subtle,_=i.bytes,h=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let f=16843009*c^65537*l^257*o^16843008*d,u=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=u=u<<24^u>>>8,e[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let f,u,_,h=t[0]^n[0],w=t[e?3:1]^n[1],p=t[2]^n[2],b=t[e?1:3]^n[3],g=4;for(let t=0;t>>24]^o[w>>16&255]^l[p>>8&255]^c[255&b]^n[g],u=s[w>>>24]^o[p>>16&255]^l[b>>8&255]^c[255&h]^n[g+1],_=s[p>>>24]^o[b>>16&255]^l[h>>8&255]^c[255&w]^n[g+2],b=s[b>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[g+3],g+=4,h=f,w=u,p=_;for(let t=0;t<4;t++)r[e?3&-t:t]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&b]^n[g++],f=h,h=w,w=p,p=b,b=f;return r}},w=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,i){let r;if(!(r=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=_.toBits(v(e,o,o+16));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(_.fromBits(s),o+i)}return t.pendingInput=v(e,o),n}async function y(t,e,n){const i=(new TextEncoder).encode(e),r=await u.importKey("raw",i,s,!1,l),a=await u.deriveBits(Object.assign({salt:n},o),r,8*(2*d[t.strength]+2)),c=new Uint8Array(a);t.keys={key:_.toBits(v(c,0,d[t.strength])),authentication:_.toBits(v(c,d[t.strength],2*d[t.strength])),passwordVerification:v(c,2*d[t.strength])}}function m(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function v(t,e,n){return t.subarray(e,n)}class k{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=E(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return E(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(U(e,r),0),i=12}else n=new Uint8Array(t.length),i=0;return n.set(U(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function E(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function z(t){const e=2|t.keys[2];return I(Math.imul(e,1^e)>>>8)}function I(t){return 255&t}function D(t){return 4294967295&t}class F{constructor(t,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l}){const c=Boolean(i);Object.assign(this,{signature:n,encrypted:c,signed:r,compressed:a,inflate:a&&new t,crc32:r&&new e,zipCrypto:s,decrypt:c&&s?new k(i,o):new b(i,r,l)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new t({level:a||5}),crc32:i&&new e,zipCrypto:s,encrypt:n&&s?new A(o,l):new g(o,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const T={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),M=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await M.append(t.data)}),flush:()=>M.flush()};let M;function O(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,i=T[n];if(i)try{e.data&&(e.data=new Uint8Array(e.data));const t=await i(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const B=[0,1,2,3].concat(...O([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,f,u,_=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,f=0,l>=a&&(f=r[l-a]),u=n[2*l],e.opt_len+=u*(d+f),i&&(e.static_len+=u*(i[2*l+1]+f)));if(0!==_){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function H(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}function L(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...O([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=function(t){return t<256?B[t]:B[256+(t>>>7)]},W.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],W.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,W.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,W.extra_dbits,0,30,15),H.static_bl_desc=new H(null,W.extra_blbits,0,19,7);const P=[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)],N=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function tt(t,e){let n;const i=e;Y>16-i?(n=t,Z|=n<>>16-Y,Y+=i-16):(Z|=t<=8&&(Q(255&Z),Z>>>=8,Y-=8)}function rt(e,n){let i,r,a;if(t.pending_buf[q+2*V]=e>>>8&255,t.pending_buf[q+2*V+1]=255&e,t.pending_buf[B+V]=255&n,V++,0===e?D[2*n]++:(K++,e--,D[2*(W._length_code[n]+256+1)]++,F[2*W.d_code(e)]++),0==(8191&V)&&R>2){for(i=8*V,r=m-b,a=0;a<30;a++)i+=F[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,K8?$(Z):Y>0&&Q(255&Z),Z=0,Y=0}function ot(e,n,i){tt(0+(i?1:0),3),function(e,n,i){st(),G=8,$(n),$(~n),t.pending_buf.set(l.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function lt(e,n,i){let r,a,s=0;R>0?(T.build_tree(t),M.build_tree(t),s=function(){let e;for(J(D,T.max_code),J(F,M.max_code),O.build_tree(t),e=18;e>=3&&0===C[2*W.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?ot(e,n,i):a==r?(tt(2+(i?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(i?1:0),3),function(t,e,n){let i;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),i=0;i=0?b:-1,m-b,t),b=m,e.flush_pending()}function dt(){let t,n,i,r;do{if(r=c-k-m,0===r&&0===m&&0===k)r=a;else if(-1==r)r--;else if(m>=a+a-262){l.set(l.subarray(a,a+a),0),v-=a,m-=a,b-=a,t=_,i=t;do{n=65535&f[--i],f[i]=n>=a?n-a:0}while(0!=--t);t=a,i=t;do{n=65535&d[--i],d[i]=n>=a?n-a:0}while(0!=--t);r+=a}if(0===e.avail_in)return;t=e.read_buf(l,m+k,r),k+=t,k>=3&&(u=255&l[m],u=(u<a-262?m-(a-262):0;let f=I;const u=o,_=m+258;let h=l[r+s-1],w=l[r+s];A>=z&&(i>>=2),f>k&&(f=k);do{if(e=t,l[e+s]==w&&l[e+s-1]==h&&l[e]==l[r]&&l[++e]==l[r+1]){r+=2,e++;do{}while(l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&r<_);if(n=258-(_-r),r=_-258,n>s){if(v=t,s=n,n>=f)break;h=l[r+s-1],w=l[r+s]}}}while((t=65535&d[t&u])>c&&0!=--i);return s<=k?s:k}function ut(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,r=0,T.dyn_tree=D,T.stat_desc=H.static_l_desc,M.dyn_tree=F,M.stat_desc=H.static_d_desc,O.dyn_tree=C,O.stat_desc=H.static_bl_desc,Z=0,Y=0,G=8,X(),function(){c=2*a,f[_-1]=0;for(let t=0;t<_-1;t++)f[t]=0;U=P[R].max_lazy,z=P[R].good_length,I=P[R].nice_length,E=P[R].max_chain,m=0,b=0,k=0,g=A=2,y=0,u=0}(),0}t.depth=[],t.bl_count=[],t.heap=[],D=[],F=[],C=[],t.pqdownheap=function(e,n){const i=t.heap,r=i[n];let a=n<<1;for(;a<=t.heap_len&&(a9||8!=c||r<9||r>15||n<0||n>9||b<0||b>2?-2:(e.dstate=t,s=r,a=1<9||n<0||n>2?-2:(P[R].func!=P[e].func&&0!==t.total_in&&(i=t.deflate(1)),R!=e&&(R=e,U=P[R].max_lazy,z=P[R].good_length,I=P[R].nice_length,E=P[R].max_chain),S=n,i)},t.deflateSetDictionary=function(t,e,i){let r,s=i,c=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,c=i-s),l.set(e.subarray(c,c+s),0),m=s,b=s,u=255&l[0],u=(u<4||h<0)return-2;if(!c.next_out||!c.next_in&&0!==c.avail_in||666==n&&4!=h)return c.msg=N[4],-2;if(0===c.avail_out)return c.msg=N[7],-5;var C;if(e=c,D=r,r=h,42==n&&(z=8+(s-8<<4)<<8,I=(R-1&255)>>1,I>3&&(I=3),z|=I<<6,0!==m&&(z|=32),z+=31-z%31,n=113,Q((C=z)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return r=-1,0}else if(0===e.avail_in&&h<=D&&4!=h)return e.msg=N[7],-5;if(666==n&&0!==e.avail_in)return c.msg=N[7],-5;if(0!==e.avail_in||0!==k||0!=h&&666!=n){switch(F=-1,P[R].func){case 0:F=function(t){let n,r=65535;for(r>i-5&&(r=i-5);;){if(k<=1){if(dt(),0===k&&0==t)return 0;if(0===k)break}if(m+=k,k=0,n=b+r,(0===m||m>=n)&&(k=m-n,m=n,ct(!1),0===e.avail_out))return 0;if(m-b>=a-262&&(ct(!1),0===e.avail_out))return 0}return ct(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(h);break;case 1:F=function(t){let n,i=0;for(;;){if(k<262){if(dt(),k<262&&0==t)return 0;if(0===k)break}if(k>=3&&(u=(u<=3)if(n=rt(m-v,g-3),k-=g,g<=U&&k>=3){g--;do{m++,u=(u<=3&&(u=(u<4096)&&(g=2)),A>=3&&g<=A){i=m+k-3,n=rt(m-1-x,A-3),k-=A-1,A-=2;do{++m<=i&&(u=(u<0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}}q.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const G=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Z=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,f,u,_,h){let w,p,b,g,x,y,m,v,k,A,E,U,R,S,z;A=0,x=s;do{n[t[e+A]]++,A++,x--}while(0!==x);if(n[0]==s)return d[0]=-1,f[0]=0,0;for(v=f[0],y=1;y<=15&&0===n[y];y++);for(m=y,vx&&(v=x),f[0]=v,S=1<U+v;){if(g++,U+=v,z=b-U,z=z>v?v:z,(p=1<<(y=m-U))>w+1&&(p-=w+1,R=m,y1440)return-3;r[g]=E=_[0],_[0]+=z,0!==g?(a[g]=x,i[0]=y,i[1]=v,y=x>>>U-v,i[2]=E-r[g-1]-y,u.set(i,3*(r[g-1]+y))):d[0]=E}for(i[1]=m-U,A>=s?i[0]=192:h[A]>>U;y>>=1)x^=y;for(x^=y,k=(1<257?(-3==_?u.msg="oversubscribed distance tree":-5==_?(u.msg="incomplete distance tree",_=-3):-4!=_&&(u.msg="empty distance tree with lengths",_=-3),_):0)}}function et(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,f=0,u=0,_=0,h=0;function w(t,e,n,i,r,a,s,o){let l,c,d,f,u,_,h,w,p,b,g,x,y,m,v,k;h=o.next_in_index,w=o.avail_in,u=s.bitb,_=s.bitk,p=s.write,b=p>=c[k+1],_-=c[k+1],0!=(16&f)){for(f&=15,y=c[k+2]+(u&G[f]),u>>=f,_-=f;_<15;)w--,u|=(255&o.read_byte(h++))<<_,_+=8;for(l=u&x,c=r,d=a,k=3*(d+l),f=c[k];;){if(u>>=c[k+1],_-=c[k+1],0!=(16&f)){for(f&=15;_>=f,_-=f,b-=y,p>=m)v=p-m,p-v>0&&2>p-v?(s.window[p++]=s.window[v++],s.window[p++]=s.window[v++],y-=2):(s.window.set(s.window.subarray(v,v+2),p),p+=2,v+=2,y-=2);else{v=p-m;do{v+=s.end}while(v<0);if(f=s.end-v,y>f){if(y-=f,p-v>0&&f>p-v)do{s.window[p++]=s.window[v++]}while(0!=--f);else s.window.set(s.window.subarray(v,v+f),p),p+=f,v+=f,f=0;v=0}}if(p-v>0&&y>p-v)do{s.window[p++]=s.window[v++]}while(0!=--y);else s.window.set(s.window.subarray(v,v+y),p),p+=y,v+=y,y=0;break}if(0!=(64&f))return o.msg="invalid distance code",y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,-3;l+=c[k+2],l+=u&G[f],k=3*(d+l),f=c[k]}break}if(0!=(64&f))return 0!=(32&f)?(y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,-3);if(l+=c[k+2],l+=u&G[f],k=3*(d+l),0===(f=c[k])){u>>=c[k+1],_-=c[k+1],s.window[p++]=c[k+2],b--;break}}else u>>=c[k+1],_-=c[k+1],s.window[p++]=c[k+2],b--}while(b>=258&&w>=10);return y=o.avail_in-w,y=_>>3>3:y,w+=y,h-=y,_-=y<<3,s.bitb=u,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}t.init=function(t,a,s,o,l,c){e=0,f=t,u=a,i=s,_=o,r=l,h=c,n=null},t.proc=function(t,p,b){let g,x,y,m,v,k,A,E=0,U=0,R=0;for(R=p.next_in_index,m=p.avail_in,E=t.bitb,U=t.bitk,v=t.write,k=v=258&&m>=10&&(t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,b=w(f,u,i,_,r,h,t,p),R=p.next_in_index,m=p.avail_in,E=t.bitb,U=t.bitk,v=t.write,k=v>>=n[x+1],U-=n[x+1],y=n[x],0===y){l=n[x+2],e=6;break}if(0!=(16&y)){c=15&y,a=n[x+2],e=2;break}if(0==(64&y)){o=y,s=x/3+n[x+2];break}if(0!=(32&y)){e=7;break}return e=9,p.msg="invalid literal/length code",b=-3,t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,t.inflate_flush(p,b);case 2:for(g=c;U>=g,U-=g,o=u,n=r,s=h,e=3;case 3:for(g=o;U>=n[x+1],U-=n[x+1],y=n[x],0!=(16&y)){c=15&y,d=n[x+2],e=4;break}if(0==(64&y)){o=y,s=x/3+n[x+2];break}return e=9,p.msg="invalid distance code",b=-3,t.bitb=E,t.bitk=U,p.avail_in=m,p.total_in+=R-p.next_in_index,p.next_in_index=R,t.write=v,t.inflate_flush(p,b);case 4:for(g=c;U>=g,U-=g,e=5;case 5:for(A=v-d;A<0;)A+=t.end;for(;0!==a;){if(0===k&&(v==t.end&&0!==t.read&&(v=0,k=v7&&(U-=8,m++,R--),t.write=v,b=t.inflate_flush(p,b),v=t.write,k=vt.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let h,w,p,b,g,x,y,m;for(b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,x=n.write,y=x>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:v=[],k=[],A=[[]],E=[[]],tt.inflate_trees_fixed(v,k,A,E),d.init(v[0],k[0],A[0],0,E[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,t.msg="invalid block type",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e)}break;case 1:for(;p<32;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>16&65535)!=(65535&w))return r=9,t.msg="invalid stored block lengths",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);a=65535&w,w=p=0,r=0!==a?2:0!==f?7:0;break;case 2:if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);if(0===y&&(x==n.end&&0!==n.read&&(x=0,y=xg&&(h=g),h>y&&(h=y),n.window.set(t.read_buf(b,h),x),b+=h,g-=h,x+=h,y-=h,0!=(a-=h))break;r=0!==f?7:0;break;case 3:for(;p<14;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<29||(h>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===g)return n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);e=0,g--,w|=(255&t.read_byte(b++))<>>=3,p-=3}for(;o<19;)i[nt[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,u,t),0!=h)return-3==(e=h)&&(i=null,r=9),n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(m=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&G[m],w>>>=m,p-=m,m=o,h=s,m+a>258+(31&h)+(h>>5&31)||16==d&&m<1)return i=null,r=9,t.msg="invalid bit length repeat",e=-3,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);d=16==d?i[m-1]:0;do{i[m++]=d}while(0!=--a);o=m}}if(c[0]=-1,U=[],R=[],S=[],z=[],U[0]=9,R[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,U,R,S,z,u,t),0!=h)return-3==h&&(i=null,r=9),e=h,n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,n.inflate_flush(t,e);d.init(U[0],R[0],u,S[0],u,z[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,t.avail_in=g,t.total_in+=b-t.next_in_index,t.next_in_index=b,n.write=x,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),b=t.next_in_index,g=t.avail_in,w=n.bitb,p=n.bitk,x=n.write,y=x15?(t.inflateEnd(n),-2):(t.wbits=i,n.istate.blocks=new it(n,1<>4)>r.wbits){r.mode=13,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=13,t.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(t,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return r>=1<0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=K,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));P({workerScripts:{inflate:[e],deflate:[e]}})}})(),P({Deflate:function(t){const e=new g,n=512,i=new Uint8Array(n);let r=t?t.level:-1;void 0===r&&(r=-1),e.deflateInit(r),e.next_out=i,this.append=function(t,r){let a,s,o=0,l=0,c=0;const d=[];if(t.length){e.next_in_index=0,e.next_in=t,e.avail_in=t.length;do{if(e.next_out_index=0,e.avail_out=n,a=e.deflate(0),0!=a)throw new Error("deflating: "+e.msg);e.next_out_index&&(e.next_out_index==n?d.push(new Uint8Array(i)):d.push(new Uint8Array(i.subarray(0,e.next_out_index)))),c+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}},Inflate:function(){const t=new B,e=new Uint8Array(512);let n=!1;t.inflateInit(),t.next_out=e,this.append=function(i,r){const a=[];let s,o,l=0,c=0,d=0;if(0!==i.length){t.next_in_index=0,t.next_in=i,t.avail_in=i.length;do{if(t.next_out_index=0,t.avail_out=512,0!==t.avail_in||n||(t.next_in_index=0,n=!0),s=t.inflate(0),n&&s===m){if(0!==t.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+t.msg);if((n||1===s)&&t.avail_in===i.length)throw new Error("inflating: bad input");t.next_out_index&&(512===t.next_out_index?a.push(new Uint8Array(e)):a.push(new Uint8Array(e.subarray(0,t.next_out_index)))),d+=t.next_out_index,r&&t.next_in_index>0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}}),t.BlobReader=rt,t.BlobWriter=at,t.Data64URIReader=class extends nt{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),i=4*Math.floor(t/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(i/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},t.ERR_ABORT=j,t.ERR_BAD_FORMAT=ze,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ce,t.ERR_DUPLICATED_NAME=tn,t.ERR_ENCRYPTED=Oe,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Fe,t.ERR_EOCDR_NOT_FOUND=Ie,t.ERR_EOCDR_ZIP64_NOT_FOUND=De,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Me,t.ERR_HTTP_RANGE=Z,t.ERR_INVALID_COMMENT=en,t.ERR_INVALID_DATE=sn,t.ERR_INVALID_ENCRYPTION_STRENGTH=on,t.ERR_INVALID_ENTRY_COMMENT=nn,t.ERR_INVALID_ENTRY_NAME=rn,t.ERR_INVALID_EXTRAFIELD_DATA=cn,t.ERR_INVALID_EXTRAFIELD_TYPE=ln,t.ERR_INVALID_PASSWORD=Ot,t.ERR_INVALID_SIGNATURE=we,t.ERR_INVALID_VERSION=an,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Te,t.ERR_UNSUPPORTED_COMPRESSION=We,t.ERR_UNSUPPORTED_ENCRYPTION=Be,t.HttpRangeReader=class extends ut{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=ut,t.Reader=nt,t.TextReader=class extends nt{constructor(t){super(),this.blobReader=new rt(new Blob([t],{type:Y}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}},t.TextWriter=class extends it{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:Y})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:Y})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}},t.Uint8ArrayReader=class extends nt{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}},t.Uint8ArrayWriter=class extends it{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}},t.Writer=it,t.ZipReader=class{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:L()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(ze);const i=await async function(t,e,n,i,r){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(Qe(a),0,e);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(e){const r=n-e,s=await $e(t,r,e);for(let t=s.length-i;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:r+t,buffer:s.slice(t,t+i).buffer}}}(n,xt,n.size,22,1048560);if(!i)throw new Error(Ie);const r=Qe(i);let a=Xe(r,12),s=Xe(r,16),o=Ye(r,8),l=0;if(s==ht||o==wt){const t=Qe(await $e(n,i.offset-20,20));if(Xe(t,0)!=mt)throw new Error(De);s=Je(t,8);let e=await $e(n,s,56),r=Qe(e);const c=i.offset-20-56;if(Xe(r,0)!=yt&&s!=c){const t=s;s=c,l=s-t,e=await $e(n,s,56),r=Qe(e)}if(Xe(r,0)!=yt)throw new Error(Fe);o=Je(r,24),a=Xe(t,4),s-=Je(r,40)}if(s<0||s>=n.size)throw new Error(ze);let c=0,d=await $e(n,s,n.size-s),f=Qe(d);const u=i.offset-a;if(Xe(f,c)!=gt&&s!=u){const t=s;s=u,l=s-t,d=await $e(n,s,n.size-s),f=Qe(d)}if(s<0||s>=n.size)throw new Error(ze);const _=[];for(let i=0;ii.getData(t,e),_.push(h),c=u}return _}async close(){}},t.ZipWriter=class{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:L(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const i=this;if(t=t.trim(),n.directory&&!t.endsWith(At)?t+=At:n.directory=t.endsWith(At),i.files.has(t))throw new Error(tn);const r=(new TextEncoder).encode(t);if(r.length>wt)throw new Error(rn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>wt)throw new Error(nn);const o=i.options.version||n.version||0;if(o>wt)throw new Error(an);const l=n.lastModDate||new Date;if(lEt)throw new Error(sn);const c=fn(i,n,"password"),d=fn(i,n,"encryptionStrength")||3,f=fn(i,n,"zipCrypto");if(void 0!==c&&void 0!==d&&(d<1||d>3))throw new Error(on);e&&!e.initialized&&await e.init();let u=new Uint8Array(0);const _=n.extraField;if(_){let t=0,e=0;_.forEach((e=>t+=4+e.length)),u=new Uint8Array(t),_.forEach(((t,n)=>{if(n>wt)throw new Error(ln);if(t.length>wt)throw new Error(cn);pn(u,new Uint16Array([n]),e),pn(u,new Uint16Array([t.length]),e+2),pn(u,t,e+4),e+=4+t.length}))}const h=e?Math.floor(1.05*e.size):0;i.pendingOutputSize+=h,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=ht||h>=ht||i.offset+i.pendingOutputSize>=ht,p=fn(i,n,"level"),b=fn(i,n,"useWebWorkers"),g=fn(i,n,"bufferedWrite");let x=fn(i,n,"keepOrder"),y=fn(i,n,"dataDescriptor");const m=fn(i,n,"signal");void 0===y&&(y=!0),void 0===x&&(x=!0);const v=await async function(t,e,n,i){const r=t.files,a=t.writer;let s,o;r.set(e,null);try{let l,c,d;try{i.keepOrder&&(l=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>o=t))),i.bufferedWrite||t.lockWrite||!i.dataDescriptor?(c=new at,c.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),c=a),d=await async function(t,e,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:l,zipCrypto:c,dataDescriptor:d,directory:f,version:u,rawComment:_,rawExtraField:h,useWebWorkers:w,onprogress:p,signal:b,encryptionStrength:g}=i,x=Boolean(s&&s.length),y=0!==o&&!f;let m;if(x&&!c){m=new Uint8Array(dn.length+2);const t=bn(m);_n(t,0,vt),pn(m,dn,2),un(t,8,g)}else m=new Uint8Array(0);const v={version:u||20,zip64:l,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:m,rawExtraField:h};let k=kt;d&&(k|=8);let A=0;y&&(A=8);l&&(v.version=v.version>45?v.version:45);x&&(k|=1,c||(v.version=v.version>51?v.version:51,A=99,y&&(v.rawExtraFieldAES[9]=8)));const E=v.headerArray=new Uint8Array(26),U=bn(E);_n(U,0,v.version),_n(U,2,k),_n(U,4,A);const R=new Uint32Array(1),S=bn(R);_n(S,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),_n(S,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const z=R[0];hn(U,6,z),_n(U,22,r.length),_n(U,24,0),_n(U,24,m.length+v.rawExtraField.length);const I=new Uint8Array(30+r.length+m.length+v.rawExtraField.length);let D;hn(bn(I),0,pt),pn(I,E,4),pn(I,r,30),pn(I,m,30+r.length),pn(I,v.rawExtraField,30+r.length+m.length);let F=0,C=0;if(t){F=t.size;const i=await Ee(n.Deflate,{codecType:_e,level:o,password:s,encryptionStrength:g,zipCrypto:x&&c,passwordVerification:x&&c&&z>>8&255,signed:!0,compressed:y,encrypted:x,useWebWorkers:w},n);await e.writeUint8Array(I),D=await V(i,t,e,0,F,n,{onprogress:p,signal:b}),C=D.length}else await e.writeUint8Array(I);let T,M=new Uint8Array(0);d&&(M=new Uint8Array(l?24:16),T=bn(M),hn(T,0,bt));if(t){const t=D.signature;if(x&&!c||void 0===t||(hn(U,10,t),v.signature=t,d&&hn(T,4,t)),l){const t=bn(v.rawExtraFieldZip64);_n(t,0,1),_n(t,2,24),hn(U,14,ht),wn(t,12,BigInt(C)),hn(U,18,ht),wn(t,4,BigInt(F)),d&&(wn(T,8,BigInt(C)),wn(T,16,BigInt(F)))}else hn(U,14,C),hn(U,18,F),d&&(hn(T,8,C),hn(T,12,F))}d&&await e.writeUint8Array(M);const O=I.length+C+M.length;return Object.assign(v,{compressedSize:C,uncompressedSize:F,lastModDate:a,rawLastModDate:z,encrypted:x,length:O}),v}(n,c,t.config,i)}catch(t){throw r.delete(e),t}if(r.set(e,d),c!=a){const e=c.getData(),n=new FileReader,r=new Promise(((t,i)=>{n.onload=e=>t(e.target.result),n.onerror=i,n.readAsArrayBuffer(e)})),[s]=await Promise.all([r,t.lockWrite,l]);if(!i.dataDescriptor){const t=new DataView(s);d.encrypted&&!i.zipCrypto||hn(t,14,d.signature),d.zip64?(hn(t,18,ht),hn(t,22,ht)):(hn(t,18,d.compressedSize),hn(t,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=t.offset,d.zip64){wn(bn(d.rawExtraFieldZip64),20,BigInt(d.offset))}return t.offset+=d.length,d}finally{o&&o(),s&&s()}}(i,t,e,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:l,rawExtraField:u,zip64:w,password:c,level:p,useWebWorkers:b,encryptionStrength:d,zipCrypto:f,bufferedWrite:g,keepOrder:x,dataDescriptor:y,signal:m}));return i.pendingOutputSize-=h,Object.assign(v,{name:t,comment:a,extraField:_}),new Se(v)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,i=e.files;let r=0,a=0,s=e.offset,o=i.size;for(const[,t]of i)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const l=e.options.zip64||s>=ht||a>=ht||o>=wt,c=new Uint8Array(a+(l?98:22)),d=bn(c);if(t.length){if(!(t.length<=wt))throw new Error(en);_n(d,r+20,t.length)}for(const[,t]of i){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:f,zip64:u}=t,_=n.length+i.length+a.length;hn(d,r,gt),_n(d,r+4,o),pn(c,l,r+6),_n(d,r+30,_),_n(d,r+32,s.length),f&&un(d,r+38,16),hn(d,r+42,u?ht:t.offset),pn(c,e,r+46),pn(c,n,r+46+e.length),pn(c,i,r+46+e.length+n.length),pn(c,a,46+e.length+n.length+i.length),pn(c,s,r+46+e.length+_),r+=46+e.length+_+s.length}return l&&(hn(d,r,yt),wn(d,r+4,BigInt(44)),_n(d,r+12,45),_n(d,r+14,45),wn(d,r+24,BigInt(o)),wn(d,r+32,BigInt(o)),wn(d,r+40,BigInt(a)),wn(d,r+48,BigInt(s)),hn(d,r+56,mt),wn(d,r+64,BigInt(s)+BigInt(a)),hn(d,r+72,1),o=wt,s=ht,a=ht,r+=76),hn(d,r,xt),_n(d,r+8,o),_n(d,r+10,o),hn(d,r+12,a),hn(d,r+16,s),await n.writeUint8Array(c),t.length&&await n.writeUint8Array(t),n.getData()}},t.configure=P,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:N(t.Deflate,e.deflate,n),Inflate:N(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/dist/zip-no-worker-inflate.min.js b/dist/zip-no-worker-inflate.min.js index 78c065b7..edf8b28b 100644 --- a/dist/zip-no-worker-inflate.min.js +++ b/dist/zip-no-worker-inflate.min.js @@ -1 +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 y,g,x,m,k,v,R,A,U,E,S,z,F,T,D;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,Ak&&(A=k),_[0]=A,T=1<z+A;){if(m++,z+=A,D=x-z,D=D>A?A:D,(g=1<<(v=R-z))>y+1&&(g-=y+1,F=R,v1440)return n;s[m]=S=p[0],p[0]+=D,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]>>z;v>>=1)k^=v;for(k^=v,U=(1<257?(g==n?y.msg="oversubscribed distance tree":g==i?(y.msg="incomplete distance tree",g=n):-4!=g&&(y.msg="empty distance tree with lengths",g=n),g):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 y(e,t,i,a,s,o,c,l){let d,u,f,h,_,w,p,b,y,g,x,m,k,v,R,A;p=l.next_in_index,b=l.avail_in,_=c.bitb,w=c.bitk,y=c.write,g=y>=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++))<>=u[A+1],w-=u[A+1],0!=(16&h)){for(h&=15;w>=h,w-=h,g-=k,y>=v)R=y-v,y-R>0&&2>y-R?(c.window[y++]=c.window[R++],c.window[y++]=c.window[R++],k-=2):(c.window.set(c.window.subarray(R,R+2),y),y+=2,R+=2,k-=2);else{R=y-v;do{R+=c.end}while(R<0);if(h=c.end-R,k>h){if(k-=h,y-R>0&&h>y-R)do{c.window[y++]=c.window[R++]}while(0!=--h);else c.window.set(c.window.subarray(R,R+h),y),y+=h,R+=h,h=0;R=0}}if(y-R>0&&k>y-R)do{c.window[y++]=c.window[R++]}while(0!=--k);else c.window.set(c.window.subarray(R,R+k),y),y+=k,R+=k,k=0;break}if(0!=(64&h))return l.msg="invalid distance code",k=l.avail_in-b,k=w>>3>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=y,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>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=y,1):(l.msg="invalid literal/length code",k=l.avail_in-b,k=w>>3>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=y,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[y++]=u[A+2],g--;break}}else _>>=u[A+1],w-=u[A+1],c.window[y++]=u[A+2],g--}while(g>=258&&b>=10);return k=l.avail_in-b,k=w>>3>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=y,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,g,x){let m,k,v,R,A,U,E,S=0,z=0,F=0;for(F=g.next_in_index,R=g.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A=258&&R>=10&&(e.bitb=S,e.bitk=z,g.avail_in=R,g.total_in+=F-g.next_in_index,g.next_in_index=F,e.write=A,x=y(_,w,s,p,o,b,e,g),F=g.next_in_index,R=g.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A>>=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,g.msg="invalid literal/length code",x=n,e.bitb=S,e.bitk=z,g.avail_in=R,g.total_in+=F-g.next_in_index,g.next_in_index=F,e.write=A,e.inflate_flush(g,x);case 2:for(m=f;z>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z>=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,g.msg="invalid distance code",x=n,e.bitb=S,e.bitk=z,g.avail_in=R,g.total_in+=F-g.next_in_index,g.next_in_index=F,e.write=A,e.inflate_flush(g,x);case 4:for(m=f;z>=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=A7&&(z-=8,R++,F--),e.write=A,x=e.inflate_flush(g,x),A=e.write,U=Ae.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>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],F=[[]],f.inflate_trees_fixed(E,S,z,F),b.init(E[0],S[0],z[0],0,F[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++))<>>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!==y?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=Rv&&(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!==y?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++))<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>>=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++))<>>=3,m-=3}for(;u<19;)o[_[u++]]=0;if(w[0]=7,a=x.inflate_trees_bits(o,w,p,g,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,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m>>=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,T=[],D=[],C=[],O=[],T[0]=9,D[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,T,D,C,O,g,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(T[0],D[0],g,C[0],g,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=R15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<>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<{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(T,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(F)!=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(D,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(D,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 P extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(T,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(F)==C?e():t(new Error(E)):void 0===this.size?N(this,this.url).then((()=>e())).catch(t):e()}),t)));await N(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await N(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(D,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function N(e,t){return new Promise(((n,i)=>j(D,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 I{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new P(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>>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.length0&&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>>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>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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<>>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],y=4;for(let e=0;e>>24]^o[w>>16&255]^c[p>>8&255]^l[255&b]^n[y],f=s[w>>>24]^o[p>>16&255]^c[b>>8&255]^l[255&_]^n[y+1],h=s[p>>>24]^o[b>>16&255]^c[_>>8&255]^l[255&w]^n[y+2],b=s[b>>>24]^o[_>>16&255]^c[w>>8&255]^l[255&p]^n[y+3],y+=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[y++],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;rr&&(e=n.hash(e));for(let t=0;te.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}),Fe(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}),Fe(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>>24]),e.keys[2]=~e.crcKey2.get()}function De(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 Ie="inflate",He="Invalid signature";class We{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const c=Boolean(n);Object.assign(this,{signature:t,encrypted:c,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new J,zipCrypto:a,decrypt:c&&a?new Ue(n,s):new ge(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(He);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.cipher!=n.getUint32(0,!1))throw new Error(He)}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}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),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",Pe="flush",Ne="message";var je=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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(Ne,r,!1),e.interface={append:e=>n({type:Be,data:e}),flush:()=>n({type:Pe})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:Le,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==Le||r==Pe||r==Be){const n=i.data;r==Pe?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith("deflate")?new Me(e,t):t.codecType.startsWith(Ie)?new We(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let qe=[],Ve=[];function Ge(e){const t=!Ve.length;if(t)qe=qe.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Ve.splice(0,1);t(je(e,n,i,Ge,r,a))}return t}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];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,onprogress:f}=n,h=n.localDirectory={};i.initialized||await i.init();const _=await gt(i,r,30),w=yt(_);let p=ut(n,t,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(rt);if(0!=s&&8!=s)throw new Error(rt);if(67324752!=pt(w,0))throw new Error(et);ct(h,w,4);const b=r+30+h.filenameLength,y=b+h.extraFieldLength;h.rawExtraField=_.subarray(b,y),lt(n,h,w,4);const g=n.encrypted&&h.encrypted,x=g&&!a;if(g){if(!x&&void 0===a.strength)throw new Error(it);if(!p)throw new Error(nt)}const m=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!e.busy));return n?je(n,e,t,Ge,i,r):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}(o.Inflate,{codecType:Ie,password:p,zipCrypto:x,encryptionStrength:a&&a.strength,signed:ut(n,t,"checkSignature"),passwordVerification:x&&(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 k=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>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:pt(t,n+6),lastModDate:ht(e.rawLastModDate),filenameLength:wt(t,n+22),extraFieldLength:wt(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(;ot[e]==G));for(let t=0;t{if(t[n]==G){if(!e||void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t);const d=t.extraFieldUnicodePath=a.get(28789);d&&dt(d,"filename","rawFilename",t,e);const u=t.extraFieldUnicodeComment=a.get(25461);u&&dt(u,"comment","rawComment",t,e);const f=t.extraFieldAES=a.get(39169);f?function(e,t,n){if(e){const i=yt(e.data);e.vendorVersion=_t(i,0),e.vendorId=_t(i,2);const r=_t(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=wt(i,5)}else t.compressionMethod=n}(f,t,c):t.compressionMethod=c}function dt(e,t,n,i,r){const a=yt(e.data);e.version=_t(a,0),e.signature=pt(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==pt(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>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,t){return e.getUint8(t)}function wt(e,t){return e.getUint16(t,!0)}function pt(e,t){return e.getUint32(t,!0)}function bt(e,t){return Number(e.getBigUint64(t,!0))}function yt(e){return new DataView(e.buffer)}function gt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(){const e=new g,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(r,a){const s=[];let o,c,l=0,d=0,u=0;if(0!==r.length){e.next_in_index=0,e.next_in=r,e.avail_in=r.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),o=e.inflate(0),n&&o===i){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==o&&1!==o)throw new Error("inflating: "+e.msg);if((n||1===o)&&e.avail_in===r.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?s.push(new Uint8Array(t)):s.push(new Uint8Array(t.subarray(0,e.next_out_index)))),u+=e.next_out_index,a&&e.next_in_index>0&&e.next_in_index!=l&&(a(e.next_in_index),l=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return c=new Uint8Array(u),s.forEach((function(e){c.set(e,d),d+=e.length})),c}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=W,e.BlobWriter=class extends H{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 I{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;e2?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=He,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=I,e.TextReader=class extends I{constructor(e){super(),this.blobReader=new W(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 H{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.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends I{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 H{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=H,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 gt(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=pt(r,12),s=pt(r,16),o=wt(r,8),c=0;if(s==G||65535==o){const e=yt(await gt(n,i.offset-20,20));if(117853008!=pt(e,0))throw new Error(Je);s=bt(e,8);let t=await gt(n,s,56),r=yt(t);const l=i.offset-20-56;if(pt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await gt(n,s,56),r=yt(t)}if(pt(r,0)!=K)throw new Error(Qe);o=bt(r,24),a=pt(e,4),s-=bt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await gt(n,s,n.size-s),u=yt(d);const f=i.offset-a;if(pt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await gt(n,s,n.size-s),u=yt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;ii.getData(e,t),h.push(_),l=f}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,R,A,U,E,S,z,F,T,D;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,Ak&&(A=k),_[0]=A,T=1<z+A;){if(m++,z+=A,D=x-z,D=D>A?A:D,(y=1<<(v=R-z))>g+1&&(y-=g+1,F=R,v1440)return n;s[m]=S=p[0],p[0]+=D,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]>>z;v>>=1)k^=v;for(k^=v,U=(1<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>=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++))<>=u[A+1],w-=u[A+1],0!=(16&h)){for(h&=15;w>=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>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>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>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>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,F=0;for(F=y.next_in_index,R=y.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A=258&&R>=10&&(e.bitb=S,e.bitk=z,y.avail_in=R,y.total_in+=F-y.next_in_index,y.next_in_index=F,e.write=A,x=g(_,w,s,p,o,b,e,y),F=y.next_in_index,R=y.avail_in,S=e.bitb,z=e.bitk,A=e.write,U=A>>=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+=F-y.next_in_index,y.next_in_index=F,e.write=A,e.inflate_flush(y,x);case 2:for(m=f;z>=m,z-=m,d=w,a=o,l=b,i=3;case 3:for(m=d;z>=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+=F-y.next_in_index,y.next_in_index=F,e.write=A,e.inflate_flush(y,x);case 4:for(m=f;z>=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=A7&&(z-=8,R++,F--),e.write=A,x=e.inflate_flush(y,x),A=e.write,U=Ae.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>>1){case 0:h>>>=3,m-=3,a=7&m,h>>>=a,m-=a,c=1;break;case 1:E=[],S=[],z=[[]],F=[[]],f.inflate_trees_fixed(E,S,z,F),b.init(E[0],S[0],z[0],0,F[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++))<>>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=Rv&&(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++))<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>>=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++))<>>=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,m-=a,o[u++]=l;else{for(U=18==l?7:l-14,t=18==l?11:3;m>>=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,T=[],D=[],C=[],O=[],T[0]=9,D[0]=6,a=d,a=x.inflate_trees_dynamic(257+(31&a),1+(a>>5&31),o,T,D,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(T[0],D[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=R15?(e.inflateEnd(n),t):(e.wbits=i,n.istate.blocks=new w(n,1<>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<{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class M extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests,this.options=Object.assign({},t),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest){const e=await B(T,this.url,this.options);if(this.size=Number(e.headers.get(z)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(F)!=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(D,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(D,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 P extends I{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),V(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>j(T,this.url,(n=>{this.size=Number(n.getResponseHeader(z)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(F)==C?e():t(new Error(E)):void 0===this.size?N(this,this.url).then((()=>e())).catch(t):e()}),t)));await N(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await N(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>j(D,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(E)}}function N(e,t){return new Promise(((n,i)=>j(D,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 I{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new P(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>>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.length0&&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>>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>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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<>>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>>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;rr&&(e=n.hash(e));for(let t=0;te.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}),Fe(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}),Fe(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>>24]),e.keys[2]=~e.crcKey2.get()}function De(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 Ie="inflate",He="Invalid signature";class We{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const c=Boolean(n);Object.assign(this,{signature:t,encrypted:c,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new J,zipCrypto:a,decrypt:c&&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(He);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.cipher!=n.getUint32(0,!1))throw new Error(He)}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}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),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",Pe="flush",Ne="message";var je=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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(Ne,r,!1),e.interface={append:e=>n({type:Be,data:e}),flush:()=>n({type:Pe})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:Le,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==Le||r==Pe||r==Be){const n=i.data;r==Pe?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith("deflate")?new Me(e,t):t.codecType.startsWith(Ie)?new We(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let qe=[],Ve=[];function Ge(e){const t=!Ve.length;if(t)qe=qe.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Ve.splice(0,1);t(je(e,n,i,Ge,r,a))}return t}const Ze=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];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,onprogress:f}=n,h=n.localDirectory={};i.initialized||await i.init();const _=await yt(i,r,30),w=gt(_);let p=ut(n,t,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(rt);if(0!=s&&8!=s)throw new Error(rt);if(67324752!=pt(w,0))throw new Error(et);ct(h,w,4);const b=r+30+h.filenameLength,g=b+h.extraFieldLength;h.rawExtraField=_.subarray(b,g),lt(n,h,w,4);const y=n.encrypted&&h.encrypted,x=y&&!a;if(y){if(!x&&void 0===a.strength)throw new Error(it);if(!p)throw new Error(nt)}const m=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!e.busy));return n?je(n,e,t,Ge,i,r):new Promise((n=>Ve.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}(o.Inflate,{codecType:Ie,password:p,zipCrypto:x,encryptionStrength:a&&a.strength,signed:ut(n,t,"checkSignature"),passwordVerification:x&&(c.dataDescriptor?d>>>8&255:l>>>24&255),signature:l,compressed:0!=s,encrypted:y,useWebWorkers:ut(n,t,"useWebWorkers")},o);e.initialized||await e.init();const k=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>1,dataDescriptor:8==(8&i),languageEncodingFlag:2048==(2048&i)},rawLastModDate:pt(t,n+6),lastModDate:ht(e.rawLastModDate),filenameLength:wt(t,n+22),extraFieldLength:wt(t,n+24)})}function lt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=gt(new Uint8Array(r));let o=0;try{for(;ot[e]==G));for(let t=0;t{if(t[n]==G){if(!e||void 0===e[n])throw new Error(tt);t[n]=e[n]}}))}(l,t);const d=t.extraFieldUnicodePath=a.get(28789);d&&dt(d,"filename","rawFilename",t,e);const u=t.extraFieldUnicodeComment=a.get(25461);u&&dt(u,"comment","rawComment",t,e);const f=t.extraFieldAES=a.get(39169);f?function(e,t,n){if(e){const i=gt(e.data);e.vendorVersion=_t(i,0),e.vendorId=_t(i,2);const r=_t(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=wt(i,5)}else t.compressionMethod=n}(f,t,c):t.compressionMethod=c}function dt(e,t,n,i,r){const a=gt(e.data);e.version=_t(a,0),e.signature=pt(a,1);const s=new J;s.append(r[n]);const o=gt(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==pt(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>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,t){return e.getUint8(t)}function wt(e,t){return e.getUint16(t,!0)}function pt(e,t){return e.getUint32(t,!0)}function bt(e,t){return Number(e.getBigUint64(t,!0))}function gt(e){return new DataView(e.buffer)}function yt(e,t,n){return e.readUint8Array(t,n)}k({Inflate:function(){const e=new y,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(r,a){const s=[];let o,c,l=0,d=0,u=0;if(0!==r.length){e.next_in_index=0,e.next_in=r,e.avail_in=r.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),o=e.inflate(0),n&&o===i){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==o&&1!==o)throw new Error("inflating: "+e.msg);if((n||1===o)&&e.avail_in===r.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?s.push(new Uint8Array(t)):s.push(new Uint8Array(t.subarray(0,e.next_out_index)))),u+=e.next_out_index,a&&e.next_in_index>0&&e.next_in_index!=l&&(a(e.next_in_index),l=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return c=new Uint8Array(u),s.forEach((function(e){c.set(e,d),d+=e.length})),c}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=W,e.BlobWriter=class extends H{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 I{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;e2?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=He,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=I,e.TextReader=class extends I{constructor(e){super(),this.blobReader=new W(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 H{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.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends I{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 H{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=H,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)}(gt(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 yt(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=gt(i);let a=pt(r,12),s=pt(r,16),o=wt(r,8),c=0;if(s==G||65535==o){const e=gt(await yt(n,i.offset-20,20));if(117853008!=pt(e,0))throw new Error(Je);s=bt(e,8);let t=await yt(n,s,56),r=gt(t);const l=i.offset-20-56;if(pt(r,0)!=K&&s!=l){const e=s;s=l,c=s-e,t=await yt(n,s,56),r=gt(t)}if(pt(r,0)!=K)throw new Error(Qe);o=bt(r,24),a=pt(e,4),s-=bt(r,40)}if(s<0||s>=n.size)throw new Error(Xe);let l=0,d=await yt(n,s,n.size-s),u=gt(d);const f=i.offset-a;if(pt(u,l)!=Z&&s!=f){const e=s;s=f,c=s-e,d=await yt(n,s,n.size-s),u=gt(d)}if(s<0||s>=n.size)throw new Error(Xe);const h=[];for(let i=0;ii.getData(e,t),h.push(_),l=f}return h}async close(){}},e.configure=k,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/zip-no-worker.min.js b/dist/zip-no-worker.min.js index 642989cf..125d377e 100644 --- a/dist/zip-no-worker.min.js +++ b/dist/zip-no-worker.min.js @@ -1 +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,i=-2,r=-5;function a(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const s=[0,1,2,3].concat(...a([[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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,l,c,d,u,f,_=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++)l=t.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,l>=a&&(u=r[l-a]),f=n[2*l],t.opt_len+=f*(d+u),i&&(t.static_len+=f*(i[2*l+1]+u)));if(0!==_){do{for(d=s-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(n[2*c+1]!=d&&(t.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(e,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function l(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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?s[e]:s[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],l.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],l.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],l.static_l_desc=new l(l.static_ltree,o.extra_lbits,257,286,15),l.static_d_desc=new l(l.static_dtree,o.extra_dbits,0,30,15),l.static_bl_desc=new l(null,o.extra_blbits,0,19,7);function c(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}const d=[new c(0,0,0,0,0),new c(4,4,8,4,1),new c(4,5,16,8,1),new c(4,6,32,32,1),new c(4,4,16,16,2),new c(8,16,32,32,2),new c(8,16,128,128,2),new c(8,32,128,256,2),new c(32,128,258,1024,2),new c(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],f=113,_=666,h=258,w=262;function p(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function le(e,t){let n;const i=t;ie>16-i?(n=e,ne|=n<>>16-ie,ie+=i-16):(ne|=e<=8&&(se(255&ne),ne>>>=8,ie-=8)}function fe(n,i){let r,a,s;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[X+Q]=255&i,Q++,0===n?V[2*i]++:(ee++,n--,V[2*(o._length_code[i]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&H>2){for(r=8*Q,a=C-F,s=0;s<30;s++)r+=q[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,ee8?oe(ne):ie>0&&se(255&ne),ne=0,ie=0}function we(t,n,i){le(0+(i?1:0),3),function(t,n,i){he(),te=8,i&&(oe(n),oe(~n)),e.pending_buf.set(m.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function pe(t,n,i){let r,a,s=0;H>0?(G.build_tree(e),K.build_tree(e),s=function(){let t;for(ae(V,G.max_code),ae(q,K.max_code),Y.build_tree(e),t=18;t>=3&&0===Z[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?we(t,n,i):a==r?(le(2+(i?1:0),3),_e(l.static_ltree,l.static_dtree)):(le(4+(i?1:0),3),function(e,t,n){let i;for(le(e-257,5),le(t-1,5),le(n-4,4),i=0;i=0?F:-1,C-F,e),F=C,a.flush_pending()}function be(){let e,t,n,i;do{if(i=v-M-C,0===i&&0===C&&0===M)i=b;else if(-1==i)i--;else if(C>=b+b-w){m.set(m.subarray(b,b+b),0),O-=b,C-=b,F-=b,e=U,n=e;do{t=65535&E[--n],E[n]=t>=b?t-b:0}while(0!=--e);e=b,n=e;do{t=65535&k[--n],k[n]=t>=b?t-b:0}while(0!=--e);i+=b}if(0===a.avail_in)return;e=a.read_buf(m,C+M,i),M+=e,M>=3&&(A=255&m[C],A=(A<b-w?C-(b-w):0;let o=j;const l=x,c=C+h;let d=m[r+a-1],u=m[r+a];W>=P&&(i>>=2),o>M&&(o=M);do{if(t=e,m[t+a]==u&&m[t+a-1]==d&&m[t]==m[r]&&m[++t]==m[r+1]){r+=2,t++;do{}while(m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&ra){if(O=e,a=n,n>=o)break;d=m[r+a-1],u=m[r+a]}}}while((e=65535&k[e&l])>s&&0!=--i);return a<=M?a:M}function xe(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,s=f,g=0,G.dyn_tree=V,G.stat_desc=l.static_l_desc,K.dyn_tree=q,K.stat_desc=l.static_d_desc,Y.dyn_tree=Z,Y.stat_desc=l.static_bl_desc,ne=0,ie=0,te=8,re(),function(){v=2*b,E[U-1]=0;for(let e=0;e9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(t.dstate=e,y=r,b=1<9||n<0||n>2?i:(d[H].func!=d[t].func&&0!==e.total_in&&(r=e.deflate(1)),H!=t&&(H=t,L=d[H].max_lazy,P=d[H].good_length,j=d[H].nice_length,B=d[H].max_chain),N=n,r)},e.deflateSetDictionary=function(e,t,n){let r,a=n,o=0;if(!t||42!=s)return i;if(a<3)return 0;for(a>b-w&&(a=b-w,o=n-a),m.set(t.subarray(o,o+a),0),C=a,F=a,A=255&m[0],A=(A<4||o<0)return i;if(!t.next_out||!t.next_in&&0!==t.avail_in||s==_&&4!=o)return t.msg=u[4],i;if(0===t.avail_out)return t.msg=u[7],r;var P;if(a=t,R=g,g=o,42==s&&(p=8+(y-8<<4)<<8,v=(H-1&255)>>1,v>3&&(v=3),p|=v<<6,0!==C&&(p|=32),p+=31-p%31,s=f,se((P=p)>>8&255),se(255&P)),0!==e.pending){if(a.flush_pending(),0===a.avail_out)return g=-1,0}else if(0===a.avail_in&&o<=R&&4!=o)return a.msg=u[7],r;if(s==_&&0!==a.avail_in)return t.msg=u[7],r;if(0!==a.avail_in||0!==M||0!=o&&s!=_){switch(B=-1,d[H].func){case 0:B=function(e){let t,n=65535;for(n>c-5&&(n=c-5);;){if(M<=1){if(be(),0===M&&0==e)return 0;if(0===M)break}if(C+=M,M=0,t=F+n,(0===C||C>=t)&&(M=C-t,C=t,ge(!1),0===a.avail_out))return 0;if(C-F>=b-w&&(ge(!1),0===a.avail_out))return 0}return ge(4==e),0===a.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:B=function(e){let t,n=0;for(;;){if(M=3&&(A=(A<=3)if(t=fe(C-O,D-3),M-=D,D<=L&&M>=3){D--;do{C++,A=(A<=3&&(A=(A<4096)&&(D=2)),W>=3&&D<=W){n=C+M-3,t=fe(C-1-I,W-3),M-=W-1,W-=2;do{++C<=n&&(A=(A<n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 y=-2,x=-3,m=-5,v=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],E=[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],A=[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],U=[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],R=[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],z=[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],S=15;function F(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,_,h){let w,p,g,b,y,v,k,E,A,U,R,z,F,D,I;U=0,y=s;do{n[e[t+U]]++,U++,y--}while(0!==y);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(E=u[0],v=1;v<=S&&0===n[v];v++);for(k=v,Ey&&(E=y),u[0]=E,D=1<z+E;){if(b++,z+=E,I=g-z,I=I>E?E:I,(p=1<<(v=k-z))>w+1&&(p-=w+1,F=k,v1440)return x;r[b]=R=_[0],_[0]+=I,0!==b?(a[b]=y,i[0]=v,i[1]=E,v=y>>>z-E,i[2]=R-r[b-1]-v,f.set(i,3*(r[b-1]+v))):d[0]=R}for(i[1]=k-z,U>=s?i[0]=192:h[U]>>z;v>>=1)y^=v;for(y^=v,A=(1<257?(_==x?f.msg="oversubscribed distance tree":_==m?(f.msg="incomplete distance tree",_=x):-4!=_&&(f.msg="empty distance tree with lengths",_=x),_):0)}}F.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=k,i[0]=E,0};function D(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,_=0,h=0;function w(e,t,n,i,r,a,s,o){let l,c,d,u,f,_,h,w,p,g,b,y,m,k,E,A;h=o.next_in_index,w=o.avail_in,f=s.bitb,_=s.bitk,p=s.write,g=p>=c[A+1],_-=c[A+1],0!=(16&u)){for(u&=15,m=c[A+2]+(f&v[u]),f>>=u,_-=u;_<15;)w--,f|=(255&o.read_byte(h++))<<_,_+=8;for(l=f&y,c=r,d=a,A=3*(d+l),u=c[A];;){if(f>>=c[A+1],_-=c[A+1],0!=(16&u)){for(u&=15;_>=u,_-=u,g-=m,p>=k)E=p-k,p-E>0&&2>p-E?(s.window[p++]=s.window[E++],s.window[p++]=s.window[E++],m-=2):(s.window.set(s.window.subarray(E,E+2),p),p+=2,E+=2,m-=2);else{E=p-k;do{E+=s.end}while(E<0);if(u=s.end-E,m>u){if(m-=u,p-E>0&&u>p-E)do{s.window[p++]=s.window[E++]}while(0!=--u);else s.window.set(s.window.subarray(E,E+u),p),p+=u,E+=u,u=0;E=0}}if(p-E>0&&m>p-E)do{s.window[p++]=s.window[E++]}while(0!=--m);else s.window.set(s.window.subarray(E,E+m),p),p+=m,E+=m,m=0;break}if(0!=(64&u))return o.msg="invalid distance code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,x;l+=c[A+2],l+=f&v[u],A=3*(d+l),u=c[A]}break}if(0!=(64&u))return 0!=(32&u)?(m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,x);if(l+=c[A+2],l+=f&v[u],A=3*(d+l),0===(u=c[A])){f>>=c[A+1],_-=c[A+1],s.window[p++]=c[A+2],g--;break}}else f>>=c[A+1],_-=c[A+1],s.window[p++]=c[A+2],g--}while(g>=258&&w>=10);return m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}e.init=function(e,a,s,o,l,c){t=0,u=e,f=a,i=s,_=o,r=l,h=c,n=null},e.proc=function(e,p,g){let b,m,k,E,A,U,R,z=0,S=0,F=0;for(F=p.next_in_index,E=p.avail_in,z=e.bitb,S=e.bitk,A=e.write,U=A=258&&E>=10&&(e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,g=w(u,f,i,_,r,h,e,p),F=p.next_in_index,E=p.avail_in,z=e.bitb,S=e.bitk,A=e.write,U=A>>=n[m+1],S-=n[m+1],k=n[m],0===k){l=n[m+2],t=6;break}if(0!=(16&k)){c=15&k,a=n[m+2],t=2;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}if(0!=(32&k)){t=7;break}return t=9,p.msg="invalid literal/length code",g=x,e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,e.inflate_flush(p,g);case 2:for(b=c;S>=b,S-=b,o=f,n=r,s=h,t=3;case 3:for(b=o;S>=n[m+1],S-=n[m+1],k=n[m],0!=(16&k)){c=15&k,d=n[m+2],t=4;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}return t=9,p.msg="invalid distance code",g=x,e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,e.inflate_flush(p,g);case 4:for(b=c;S>=b,S-=b,t=5;case 5:for(R=A-d;R<0;)R+=e.end;for(;0!==a;){if(0===U&&(A==e.end&&0!==e.read&&(A=0,U=A7&&(S-=8,E++,F--),e.write=A,g=e.inflate_flush(p,g),A=e.write,U=Ae.avail_out&&(i=e.avail_out),0!==i&&t==m&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==m&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,w,p,g,b,m,k,E;for(g=e.next_in_index,b=e.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:A=[],U=[],R=[[]],z=[[]],F.inflate_trees_fixed(A,U,R,z),d.init(A[0],U[0],R[0],0,z[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,e.msg="invalid block type",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t)}break;case 1:for(;p<32;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>16&65535)!=(65535&w))return r=9,e.msg="invalid stored block lengths",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);a=65535&w,w=p=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);if(0===k&&(m==n.end&&0!==n.read&&(m=0,k=mb&&(h=b),h>k&&(h=k),n.window.set(e.read_buf(g,h),m),g+=h,b-=h,m+=h,k-=h,0!=(a-=h))break;r=0!==u?7:0;break;case 3:for(;p<14;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>=3,p-=3}for(;o<19;)i[I[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,f,e),0!=h)return(t=h)==x&&(i=null,r=9),n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(E=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&v[E],w>>>=E,p-=E,E=o,h=s,E+a>258+(31&h)+(h>>5&31)||16==d&&E<1)return i=null,r=9,e.msg="invalid bit length repeat",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);d=16==d?i[E-1]:0;do{i[E++]=d}while(0!=--a);o=E}}if(c[0]=-1,S=[],D=[],T=[],C=[],S[0]=9,D[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,S,D,T,C,f,e),0!=h)return h==x&&(i=null,r=9),t=h,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);d.init(S[0],D[0],f,T[0],f,C[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,1!=(t=d.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,d.free(e),g=e.next_in_index,b=e.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m15?(e.inflateEnd(n),y):(e.wbits=i,n.istate.blocks=new T(n,1<>4)>r.wbits){r.mode=C,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=C,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=C,e.msg="need dictionary",r.marker=0,y;case 7:if(n=r.blocks.proc(e,n),n==x){r.mode=C,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case C:return x;default:return y}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return y;const a=e.istate;return r>=1<{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class re extends ne{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 ae extends te{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(),fe(this.url)&&!this.preventHeadRequest){const e=await oe(J,this.url,this.options);if(this.size=Number(e.headers.get(Y)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(X)!=$)throw new Error(G);void 0===this.size&&await se(this,this.options)}else await se(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await oe(Q,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(G);return new Uint8Array(await n.arrayBuffer())}return this.data||await se(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function se(e,t){const n=await oe(Q,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function oe(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(Z+(r.statusText||r.status))}class le extends te{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),fe(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>de(J,this.url,(n=>{this.size=Number(n.getResponseHeader(Y)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(X)==$?e():t(new Error(G)):void 0===this.size?ce(this,this.url).then((()=>e())).catch(t):e()}),t)));await ce(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await ce(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>de(Q,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(G)}}function ce(e,t){return new Promise(((n,i)=>de(Q,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function de(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(Z+(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 ue extends te{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new le(e,t):this.reader=new ae(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 fe(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 _e=4294967295,he=65535,we=67324752,pe=134695760,ge=33639248,be=101010256,ye=101075792,xe=117853008,me=39169,ve=2048,ke="/",Ee=new Date(2107,11,31),Ae=new Date(1980,0,1),Ue="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Re=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;Re[e]=t}class ze{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n>>8^Re[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Se={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Se.getPartial(n);return 32===i?e.concat(t):Se._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)+Se.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=Se.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>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Se.getPartial(r);return i.push(Se.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Fe={bytes:{fromBits(e){const t=Se.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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=Se.concat(t,[Se.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<>>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],l=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+l+i[e]+t._key[Math.floor(e/20)]|0;l=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const Ie={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;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],l=a[2],c=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],g=e[t?1:3]^n[3],b=4;for(let e=0;e>>24]^o[w>>16&255]^l[p>>8&255]^c[255&g]^n[b],f=s[w>>>24]^o[p>>16&255]^l[g>>8&255]^c[255&h]^n[b+1],_=s[p>>>24]^o[g>>16&255]^l[h>>8&255]^c[255&w]^n[b+2],g=s[g>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[b+3],b+=4,h=u,w=f,p=_;for(let e=0;e<4;e++)r[t?3&-e:e]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&g]^n[b++],u=h,h=w,w=p,p=g,g=u;return r}}},Te={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=Se.bitLength(t);for(let r=0;rr&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%Me)),o=0;o<=s-Me;o+=Me){const r=Ze.toBits(tt(t,o,o+Me));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(Ze.fromBits(s),o+i)}return e.pendingInput=tt(t,o),n}async function $e(e,t,n){const i=(new TextEncoder).encode(t),r=await qe.importKey("raw",i,Be,!1,He),a=await qe.deriveBits(Object.assign({salt:n},Le),r,8*(2*Pe[e.strength]+2)),s=new Uint8Array(a);e.keys={key:Ze.toBits(tt(s,0,Pe[e.strength])),authentication:Ze.toBits(tt(s,Pe[e.strength],2*Pe[e.strength])),passwordVerification:tt(s,2*Pe[e.strength])}}function et(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 tt(e,t,n){return e.subarray(t,n)}const nt=12;class it{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ot(this,e)}async append(e){const t=this;if(t.password){const n=at(t,e.subarray(0,nt));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(Oe);e=e.subarray(nt)}return at(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class rt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ot(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(nt));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(st(t,r),0),i=nt}else n=new Uint8Array(e.length),i=0;return n.set(st(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function at(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function ct(e){const t=2|e.keys[2];return dt(Math.imul(t,1^t)>>>8)}function dt(e){return 255&e}function ut(e){return 4294967295&e}const ft="deflate",_t="inflate",ht="Invalid signature";class wt{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new ze,zipCrypto:a,decrypt:l&&a?new it(n,s):new Xe(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(ht);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.cipher!=n.getUint32(0,!1))throw new Error(ht)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class pt{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),crc32:n&&new ze,zipCrypto:a,encrypt:t&&a?new rt(s,o):new Je(s,l)})}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 gt="init",bt="append",yt="flush",xt="message";var mt=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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.min.js",document.baseURI).href)),e.worker.addEventListener(xt,r,!1),e.interface={append:e=>n({type:bt,data:e}),flush:()=>n({type:yt})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:gt,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==gt||r==yt||r==bt){const n=i.data;r==yt?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith(ft)?new pt(e,t):t.codecType.startsWith(_t)?new wt(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let vt=[],kt=[];function Et(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(vt.length!e.busy));return n?mt(n,e,t,At,i,r):new Promise((n=>kt.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}function At(e){const t=!kt.length;if(t)vt=vt.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=kt.splice(0,1);t(mt(e,n,i,At,r,a))}return t}const Ut=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class Rt{constructor(e){Ut.forEach((t=>this[t]=e[t]))}}const zt="File format is not recognized",St="End of central directory not found",Ft="End of Zip64 central directory not found",Dt="End of Zip64 central directory locator not found",It="Central directory header not found",Tt="Local file header not found",Ct="Zip64 extra field not found",Ot="File contains encrypted entry",Mt="Encryption method not supported",Wt="Compression method not supported",Bt="utf-8",Lt=["uncompressedSize","compressedSize","offset"];class Ht{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:l,signature:c,rawLastModDate:d,compressedSize:u,onprogress:f}=n,_=n.localDirectory={};i.initialized||await i.init();const h=await Qt(i,r,30),w=Jt(h);let p=Vt(n,t,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(Wt);if(0!=s&&8!=s)throw new Error(Wt);if(Yt(w,0)!=we)throw new Error(Tt);Nt(_,w,4);const g=r+30+_.filenameLength,b=g+_.extraFieldLength;_.rawExtraField=h.subarray(g,b),Pt(n,_,w,4);const y=n.encrypted&&_.encrypted,x=y&&!a;if(y){if(!x&&void 0===a.strength)throw new Error(Mt);if(!p)throw new Error(Ot)}const m=await Et(o.Inflate,{codecType:_t,password:p,zipCrypto:x,encryptionStrength:a&&a.strength,signed:Vt(n,t,"checkSignature"),passwordVerification:x&&(l.dataDescriptor?d>>>8&255:c>>>24&255),signature:c,compressed:0!=s,encrypted:y,useWebWorkers:Vt(n,t,"useWebWorkers")},o);e.initialized||await e.init();const v=Vt(n,t,"signal");return await j(m,i,e,b,u,o,{onprogress:f,signal:v}),e.getData()}}function Nt(e,t,n){const i=e.rawBitFlag=Kt(t,n+2),r=1==(1&i);Object.assign(e,{encrypted:r,version:Kt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&ve)==ve},rawLastModDate:Yt(t,n+6),lastModDate:Zt(e.rawLastModDate),filenameLength:Kt(t,n+22),extraFieldLength:Kt(t,n+24)})}function Pt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=Jt(new Uint8Array(r));let o=0;try{for(;ot[e]==_e));for(let t=0;t{if(t[n]==_e){if(!e||void 0===e[n])throw new Error(Ct);t[n]=e[n]}}))}(c,t);const d=t.extraFieldUnicodePath=a.get(28789);d&&jt(d,"filename","rawFilename",t,e);const u=t.extraFieldUnicodeComment=a.get(25461);u&&jt(u,"comment","rawComment",t,e);const f=t.extraFieldAES=a.get(39169);f?function(e,t,n){if(e){const i=Jt(e.data);e.vendorVersion=Gt(i,0),e.vendorId=Gt(i,2);const r=Gt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Kt(i,5)}else t.compressionMethod=n}(f,t,l):t.compressionMethod=l}function jt(e,t,n,i,r){const a=Jt(e.data);e.version=Gt(a,0),e.signature=Yt(a,1);const s=new ze;s.append(r[n]);const o=Jt(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==Yt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Vt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function qt(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n>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 Gt(e,t){return e.getUint8(t)}function Kt(e,t){return e.getUint16(t,!0)}function Yt(e,t){return e.getUint32(t,!0)}function Xt(e,t){return Number(e.getBigUint64(t,!0))}function Jt(e){return new DataView(e.buffer)}function Qt(e,t,n){return e.readUint8Array(t,n)}const $t="File already exists",en="Zip file comment exceeds 64KB",tn="File entry comment exceeds 64KB",nn="File entry name exceeds 64KB",rn="Version exceeds 65535",an="The modification date must be between 1/1/1980 and 12/31/2107",sn="The strength must equal 1, 2, or 3",on="Extra field type exceeds 65535",ln="Extra field data exceeds 64KB",cn=new Uint8Array([7,0,2,0,65,69,3,0,0]);function dn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function un(e,t,n){e.setUint8(t,n)}function fn(e,t,n){e.setUint16(t,n,!0)}function _n(e,t,n){e.setUint32(t,n,!0)}function hn(e,t,n){e.setBigUint64(t,n,!0)}function wn(e,t,n){e.set(t,n)}function pn(e){return new DataView(e.buffer)}N({Deflate:function(e){const t=new b,n=512,i=new Uint8Array(n);let r=e?e.level:-1;void 0===r&&(r=-1),t.deflateInit(r),t.next_out=i,this.append=function(e,r){let a,s,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(new Uint8Array(i.subarray(0,t.next_out_index)))),c+=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 s=new Uint8Array(c),d.forEach((function(e){s.set(e,l),l+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}},Inflate:function(){const e=new W,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(i,r){const a=[];let s,o,l=0,c=0,d=0;if(0!==i.length){e.next_in_index=0,e.next_in=i,e.avail_in=i.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),s=e.inflate(0),n&&s===m){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+e.msg);if((n||1===s)&&e.avail_in===i.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?a.push(new Uint8Array(t)):a.push(new Uint8Array(t.subarray(0,e.next_out_index)))),d+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=l&&(r(e.next_in_index),l=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(d),a.forEach((function(e){o.set(e,c),c+=e.length})),o}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=ie,e.BlobWriter=re,e.Data64URIReader=class extends te{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;e2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=P,e.ERR_BAD_FORMAT=zt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=It,e.ERR_DUPLICATED_NAME=$t,e.ERR_ENCRYPTED=Ot,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Dt,e.ERR_EOCDR_NOT_FOUND=St,e.ERR_EOCDR_ZIP64_NOT_FOUND=Ft,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ct,e.ERR_HTTP_RANGE=G,e.ERR_INVALID_COMMENT=en,e.ERR_INVALID_DATE=an,e.ERR_INVALID_ENCRYPTION_STRENGTH=sn,e.ERR_INVALID_ENTRY_COMMENT=tn,e.ERR_INVALID_ENTRY_NAME=nn,e.ERR_INVALID_EXTRAFIELD_DATA=ln,e.ERR_INVALID_EXTRAFIELD_TYPE=on,e.ERR_INVALID_PASSWORD=Oe,e.ERR_INVALID_SIGNATURE=ht,e.ERR_INVALID_VERSION=rn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Tt,e.ERR_UNSUPPORTED_COMPRESSION=Wt,e.ERR_UNSUPPORTED_ENCRYPTION=Mt,e.HttpRangeReader=class extends ue{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=ue,e.Reader=te,e.TextReader=class extends te{constructor(e){super(),this.blobReader=new ie(new Blob([e],{type:K}))}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 ne{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:K})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:K})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=n,e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends te{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 ne{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=ne,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:H()})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(zt);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(Jt(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await Qt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,be,n.size,22,1048560);if(!i)throw new Error(St);const r=Jt(i);let a=Yt(r,12),s=Yt(r,16),o=Kt(r,8),l=0;if(s==_e||o==he){const e=Jt(await Qt(n,i.offset-20,20));if(Yt(e,0)!=xe)throw new Error(Ft);s=Xt(e,8);let t=await Qt(n,s,56),r=Jt(t);const c=i.offset-20-56;if(Yt(r,0)!=ye&&s!=c){const e=s;s=c,l=s-e,t=await Qt(n,s,56),r=Jt(t)}if(Yt(r,0)!=ye)throw new Error(Dt);o=Xt(r,24),a=Yt(e,4),s-=Xt(r,40)}if(s<0||s>=n.size)throw new Error(zt);let c=0,d=await Qt(n,s,n.size-s),u=Jt(d);const f=i.offset-a;if(Yt(u,c)!=ge&&s!=f){const e=s;s=f,l=s-e,d=await Qt(n,s,n.size-s),u=Jt(d)}if(s<0||s>=n.size)throw new Error(zt);const _=[];for(let i=0;ii.getData(e,t),_.push(h),c=f}return _}async close(){}},e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:H(),files:new Map,offset:e.size,pendingOutputSize:0})}async add(e="",t,n={}){const i=this;if(e=e.trim(),n.directory&&!e.endsWith(ke)?e+=ke:n.directory=e.endsWith(ke),i.files.has(e))throw new Error($t);const r=(new TextEncoder).encode(e);if(r.length>he)throw new Error(nn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>he)throw new Error(tn);const o=i.options.version||n.version||0;if(o>he)throw new Error(rn);const l=n.lastModDate||new Date;if(lEe)throw new Error(an);const c=dn(i,n,"password"),d=dn(i,n,"encryptionStrength")||3,u=dn(i,n,"zipCrypto");if(void 0!==c&&void 0!==d&&(d<1||d>3))throw new Error(sn);t&&!t.initialized&&await t.init();let f=new Uint8Array(0);const _=n.extraField;if(_){let e=0,t=0;_.forEach((t=>e+=4+t.length)),f=new Uint8Array(e),_.forEach(((e,n)=>{if(n>he)throw new Error(on);if(e.length>he)throw new Error(ln);wn(f,new Uint16Array([n]),t),wn(f,new Uint16Array([e.length]),t+2),wn(f,e,t+4),t+=4+e.length}))}const h=t?Math.floor(1.05*t.size):0;i.pendingOutputSize+=h,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=_e||h>=_e||i.offset+i.pendingOutputSize>=_e,p=dn(i,n,"level"),g=dn(i,n,"useWebWorkers"),b=dn(i,n,"bufferedWrite");let y=dn(i,n,"keepOrder"),x=dn(i,n,"dataDescriptor");const m=dn(i,n,"signal");void 0===x&&(x=!0),void 0===y&&(y=!0);const v=await async function(e,t,n,i){const r=e.files,a=e.writer;let s,o;r.set(t,null);try{let l,c,d;try{i.keepOrder&&(l=e.lockPreviousFile,e.lockPreviousFile=new Promise((e=>o=e))),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(c=new re,c.init()):(e.lockWrite=new Promise((e=>s=e)),a.initialized||await a.init(),c=a),d=await async function(e,t,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:l,zipCrypto:c,dataDescriptor:d,directory:u,version:f,rawComment:_,rawExtraField:h,useWebWorkers:w,onprogress:p,signal:g,encryptionStrength:b}=i,y=Boolean(s&&s.length),x=0!==o&&!u;let m;if(y&&!c){m=new Uint8Array(cn.length+2);const e=pn(m);fn(e,0,me),wn(m,cn,2),un(e,8,b)}else m=new Uint8Array(0);const v={version:f||20,zip64:l,directory:Boolean(u),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:m,rawExtraField:h};let k=ve;d&&(k|=8);let E=0;x&&(E=8);l&&(v.version=v.version>45?v.version:45);y&&(k|=1,c||(v.version=v.version>51?v.version:51,E=99,x&&(v.rawExtraFieldAES[9]=8)));const A=v.headerArray=new Uint8Array(26),U=pn(A);fn(U,0,v.version),fn(U,2,k),fn(U,4,E);const R=new Uint32Array(1),z=pn(R);fn(z,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),fn(z,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const S=R[0];_n(U,6,S),fn(U,22,r.length),fn(U,24,0),fn(U,24,m.length+v.rawExtraField.length);const F=new Uint8Array(30+r.length+m.length+v.rawExtraField.length);let D;_n(pn(F),0,we),wn(F,A,4),wn(F,r,30),wn(F,m,30+r.length),wn(F,v.rawExtraField,30+r.length+m.length);let I=0,T=0;if(e){I=e.size;const i=await Et(n.Deflate,{codecType:ft,level:o,password:s,encryptionStrength:b,zipCrypto:y&&c,passwordVerification:y&&c&&S>>8&255,signed:!0,compressed:x,encrypted:y,useWebWorkers:w},n);await t.writeUint8Array(F),D=await j(i,e,t,0,I,n,{onprogress:p,signal:g}),T=D.length}else await t.writeUint8Array(F);let C,O=new Uint8Array(0);d&&(O=new Uint8Array(l?24:16),C=pn(O),_n(C,0,pe));if(e){const e=D.signature;if(y&&!c||void 0===e||(_n(U,10,e),v.signature=e,d&&_n(C,4,e)),l){const e=pn(v.rawExtraFieldZip64);fn(e,0,1),fn(e,2,24),_n(U,14,_e),hn(e,12,BigInt(T)),_n(U,18,_e),hn(e,4,BigInt(I)),d&&(hn(C,8,BigInt(T)),hn(C,16,BigInt(I)))}else _n(U,14,T),_n(U,18,I),d&&(_n(C,8,T),_n(C,12,I))}d&&await t.writeUint8Array(O);const M=F.length+T+O.length;return Object.assign(v,{compressedSize:T,uncompressedSize:I,lastModDate:a,rawLastModDate:S,encrypted:y,length:M}),v}(n,c,e.config,i)}catch(e){throw r.delete(t),e}if(r.set(t,d),c!=a){const t=c.getData(),n=new FileReader,r=new Promise(((e,i)=>{n.onload=t=>e(t.target.result),n.onerror=i,n.readAsArrayBuffer(t)})),[s]=await Promise.all([r,e.lockWrite,l]);if(!i.dataDescriptor){const e=new DataView(s);d.encrypted&&!i.zipCrypto||_n(e,14,d.signature),d.zip64?(_n(e,18,_e),_n(e,22,_e)):(_n(e,18,d.compressedSize),_n(e,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=e.offset,d.zip64){hn(pn(d.rawExtraFieldZip64),20,BigInt(d.offset))}return e.offset+=d.length,d}finally{o&&o(),s&&s()}}(i,e,t,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:l,rawExtraField:f,zip64:w,password:c,level:p,useWebWorkers:g,encryptionStrength:d,zipCrypto:u,bufferedWrite:b,keepOrder:y,dataDescriptor:x,signal:m}));return i.pendingOutputSize-=h,Object.assign(v,{name:e,comment:a,extraField:_}),new Rt(v)}async close(e=new Uint8Array(0)){const t=this,n=t.writer,i=t.files;let r=0,a=0,s=t.offset,o=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraField.length;const l=t.options.zip64||s>=_e||a>=_e||o>=he,c=new Uint8Array(a+(l?98:22)),d=pn(c);if(e.length){if(!(e.length<=he))throw new Error(en);fn(d,r+20,e.length)}for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:u,zip64:f}=e,_=n.length+i.length+a.length;_n(d,r,ge),fn(d,r+4,o),wn(c,l,r+6),fn(d,r+30,_),fn(d,r+32,s.length),u&&un(d,r+38,16),_n(d,r+42,f?_e:e.offset),wn(c,t,r+46),wn(c,n,r+46+t.length),wn(c,i,r+46+t.length+n.length),wn(c,a,46+t.length+n.length+i.length),wn(c,s,r+46+t.length+_),r+=46+t.length+_+s.length}return l&&(_n(d,r,ye),hn(d,r+4,BigInt(44)),fn(d,r+12,45),fn(d,r+14,45),hn(d,r+24,BigInt(o)),hn(d,r+32,BigInt(o)),hn(d,r+40,BigInt(a)),hn(d,r+48,BigInt(s)),_n(d,r+56,xe),hn(d,r+64,BigInt(s)+BigInt(a)),_n(d,r+72,1),o=he,s=_e,a=_e,r+=76),_n(d,r,be),fn(d,r+8,o),fn(d,r+10,o),_n(d,r+12,a),_n(d,r+16,s),await n.writeUint8Array(c),e.length&&await n.writeUint8Array(e),n.getData()}},e.configure=N,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,i=-2,r=-5;function a(e){return e.map((([e,t])=>new Array(e).fill(t,0,e))).flat()}const s=[0,1,2,3].concat(...a([[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 i=e.dyn_tree,r=e.stat_desc.static_tree,a=e.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(t){const n=e.dyn_tree,i=e.stat_desc.static_tree,r=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,s=e.stat_desc.max_length;let o,l,c,d,u,f,_=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++)l=t.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,_++),n[2*l+1]=d,l>e.max_code||(t.bl_count[d]++,u=0,l>=a&&(u=r[l-a]),f=n[2*l],t.opt_len+=f*(d+u),i&&(t.static_len+=f*(i[2*l+1]+u)));if(0!==_){do{for(d=s-1;0===t.bl_count[d];)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[s]--,_-=2}while(_>0);for(d=s;0!==d;d--)for(l=t.bl_count[d];0!==l;)c=t.heap[--o],c>e.max_code||(n[2*c+1]!=d&&(t.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(e,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=e[2*s+1],0!==o&&(e[2*s]=t(r[o]++,o))}(i,e.max_code,n.bl_count)}}function l(e,t,n,i,r){const a=this;a.static_tree=e,a.extra_bits=t,a.extra_base=n,a.elems=i,a.max_length=r}o._length_code=[0,1,2,3,4,5,6,7].concat(...a([[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?s[e]:s[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],l.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],l.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],l.static_l_desc=new l(l.static_ltree,o.extra_lbits,257,286,15),l.static_d_desc=new l(l.static_dtree,o.extra_dbits,0,30,15),l.static_bl_desc=new l(null,o.extra_blbits,0,19,7);function c(e,t,n,i,r){const a=this;a.good_length=e,a.max_lazy=t,a.nice_length=n,a.max_chain=i,a.func=r}const d=[new c(0,0,0,0,0),new c(4,4,8,4,1),new c(4,5,16,8,1),new c(4,6,32,32,1),new c(4,4,16,16,2),new c(8,16,32,32,2),new c(8,16,128,128,2),new c(8,32,128,256,2),new c(32,128,258,1024,2),new c(32,258,258,4096,2)],u=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],f=113,_=666,h=258,w=262;function p(e,t,n,i){const r=e[2*t],a=e[2*n];return r>>8&255)}function le(e,t){let n;const i=t;ie>16-i?(n=e,ne|=n<>>16-ie,ie+=i-16):(ne|=e<=8&&(se(255&ne),ne>>>=8,ie-=8)}function fe(n,i){let r,a,s;if(e.pending_buf[$+2*Q]=n>>>8&255,e.pending_buf[$+2*Q+1]=255&n,e.pending_buf[X+Q]=255&i,Q++,0===n?V[2*i]++:(ee++,n--,V[2*(o._length_code[i]+t+1)]++,q[2*o.d_code(n)]++),0==(8191&Q)&&H>2){for(r=8*Q,a=C-F,s=0;s<30;s++)r+=q[2*s]*(5+o.extra_dbits[s]);if(r>>>=3,ee8?oe(ne):ie>0&&se(255&ne),ne=0,ie=0}function we(t,n,i){le(0+(i?1:0),3),function(t,n,i){he(),te=8,i&&(oe(n),oe(~n)),e.pending_buf.set(m.subarray(t,t+n),e.pending),e.pending+=n}(t,n,!0)}function pe(t,n,i){let r,a,s=0;H>0?(G.build_tree(e),K.build_tree(e),s=function(){let t;for(ae(V,G.max_code),ae(q,K.max_code),Y.build_tree(e),t=18;t>=3&&0===Z[2*o.bl_order[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=t?we(t,n,i):a==r?(le(2+(i?1:0),3),_e(l.static_ltree,l.static_dtree)):(le(4+(i?1:0),3),function(e,t,n){let i;for(le(e-257,5),le(t-1,5),le(n-4,4),i=0;i=0?F:-1,C-F,e),F=C,a.flush_pending()}function be(){let e,t,n,i;do{if(i=v-M-C,0===i&&0===C&&0===M)i=b;else if(-1==i)i--;else if(C>=b+b-w){m.set(m.subarray(b,b+b),0),O-=b,C-=b,F-=b,e=U,n=e;do{t=65535&E[--n],E[n]=t>=b?t-b:0}while(0!=--e);e=b,n=e;do{t=65535&k[--n],k[n]=t>=b?t-b:0}while(0!=--e);i+=b}if(0===a.avail_in)return;e=a.read_buf(m,C+M,i),M+=e,M>=3&&(A=255&m[C],A=(A<b-w?C-(b-w):0;let o=j;const l=x,c=C+h;let d=m[r+a-1],u=m[r+a];W>=P&&(i>>=2),o>M&&(o=M);do{if(t=e,m[t+a]==u&&m[t+a-1]==d&&m[t]==m[r]&&m[++t]==m[r+1]){r+=2,t++;do{}while(m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&m[++r]==m[++t]&&ra){if(O=e,a=n,n>=o)break;d=m[r+a-1],u=m[r+a]}}}while((e=65535&k[e&l])>s&&0!=--i);return a<=M?a:M}function xe(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,s=f,g=0,G.dyn_tree=V,G.stat_desc=l.static_l_desc,K.dyn_tree=q,K.stat_desc=l.static_d_desc,Y.dyn_tree=Z,Y.stat_desc=l.static_bl_desc,ne=0,ie=0,te=8,re(),function(){v=2*b,E[U-1]=0;for(let e=0;e9||8!=a||r<9||r>15||n<0||n>9||o<0||o>2?i:(t.dstate=e,y=r,b=1<9||n<0||n>2?i:(d[H].func!=d[t].func&&0!==e.total_in&&(r=e.deflate(1)),H!=t&&(H=t,L=d[H].max_lazy,P=d[H].good_length,j=d[H].nice_length,B=d[H].max_chain),N=n,r)},e.deflateSetDictionary=function(e,t,n){let r,a=n,o=0;if(!t||42!=s)return i;if(a<3)return 0;for(a>b-w&&(a=b-w,o=n-a),m.set(t.subarray(o,o+a),0),C=a,F=a,A=255&m[0],A=(A<4||o<0)return i;if(!t.next_out||!t.next_in&&0!==t.avail_in||s==_&&4!=o)return t.msg=u[4],i;if(0===t.avail_out)return t.msg=u[7],r;var P;if(a=t,R=g,g=o,42==s&&(p=8+(y-8<<4)<<8,v=(H-1&255)>>1,v>3&&(v=3),p|=v<<6,0!==C&&(p|=32),p+=31-p%31,s=f,se((P=p)>>8&255),se(255&P)),0!==e.pending){if(a.flush_pending(),0===a.avail_out)return g=-1,0}else if(0===a.avail_in&&o<=R&&4!=o)return a.msg=u[7],r;if(s==_&&0!==a.avail_in)return t.msg=u[7],r;if(0!==a.avail_in||0!==M||0!=o&&s!=_){switch(B=-1,d[H].func){case 0:B=function(e){let t,n=65535;for(n>c-5&&(n=c-5);;){if(M<=1){if(be(),0===M&&0==e)return 0;if(0===M)break}if(C+=M,M=0,t=F+n,(0===C||C>=t)&&(M=C-t,C=t,ge(!1),0===a.avail_out))return 0;if(C-F>=b-w&&(ge(!1),0===a.avail_out))return 0}return ge(4==e),0===a.avail_out?4==e?2:0:4==e?3:1}(o);break;case 1:B=function(e){let t,n=0;for(;;){if(M=3&&(A=(A<=3)if(t=fe(C-O,D-3),M-=D,D<=L&&M>=3){D--;do{C++,A=(A<=3&&(A=(A<4096)&&(D=2)),W>=3&&D<=W){n=C+M-3,t=fe(C-1-I,W-3),M-=W-1,W-=2;do{++C<=n&&(A=(A<n&&(r=n),0===r?0:(i.avail_in-=r,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),t),i.next_in_index+=r,i.total_in+=r,r)},flush_pending: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 y=-2,x=-3,m=-5,v=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],k=[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],E=[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],A=[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],U=[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],R=[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],z=[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],S=15;function F(){let e,t,n,i,r,a;function s(e,t,s,o,l,c,d,u,f,_,h){let w,p,g,b,y,v,k,E,A,U,R,z,F,D,I;U=0,y=s;do{n[e[t+U]]++,U++,y--}while(0!==y);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(E=u[0],v=1;v<=S&&0===n[v];v++);for(k=v,Ey&&(E=y),u[0]=E,D=1<z+E;){if(b++,z+=E,I=g-z,I=I>E?E:I,(p=1<<(v=k-z))>w+1&&(p-=w+1,F=k,v1440)return x;r[b]=R=_[0],_[0]+=I,0!==b?(a[b]=y,i[0]=v,i[1]=E,v=y>>>z-E,i[2]=R-r[b-1]-v,f.set(i,3*(r[b-1]+v))):d[0]=R}for(i[1]=k-z,U>=s?i[0]=192:h[U]>>z;v>>=1)y^=v;for(y^=v,A=(1<257?(_==x?f.msg="oversubscribed distance tree":_==m?(f.msg="incomplete distance tree",_=x):-4!=_&&(f.msg="empty distance tree with lengths",_=x),_):0)}}F.inflate_trees_fixed=function(e,t,n,i){return e[0]=9,t[0]=5,n[0]=k,i[0]=E,0};function D(){const e=this;let t,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,_=0,h=0;function w(e,t,n,i,r,a,s,o){let l,c,d,u,f,_,h,w,p,g,b,y,m,k,E,A;h=o.next_in_index,w=o.avail_in,f=s.bitb,_=s.bitk,p=s.write,g=p>=c[A+1],_-=c[A+1],0!=(16&u)){for(u&=15,m=c[A+2]+(f&v[u]),f>>=u,_-=u;_<15;)w--,f|=(255&o.read_byte(h++))<<_,_+=8;for(l=f&y,c=r,d=a,A=3*(d+l),u=c[A];;){if(f>>=c[A+1],_-=c[A+1],0!=(16&u)){for(u&=15;_>=u,_-=u,g-=m,p>=k)E=p-k,p-E>0&&2>p-E?(s.window[p++]=s.window[E++],s.window[p++]=s.window[E++],m-=2):(s.window.set(s.window.subarray(E,E+2),p),p+=2,E+=2,m-=2);else{E=p-k;do{E+=s.end}while(E<0);if(u=s.end-E,m>u){if(m-=u,p-E>0&&u>p-E)do{s.window[p++]=s.window[E++]}while(0!=--u);else s.window.set(s.window.subarray(E,E+u),p),p+=u,E+=u,u=0;E=0}}if(p-E>0&&m>p-E)do{s.window[p++]=s.window[E++]}while(0!=--m);else s.window.set(s.window.subarray(E,E+m),p),p+=m,E+=m,m=0;break}if(0!=(64&u))return o.msg="invalid distance code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,x;l+=c[A+2],l+=f&v[u],A=3*(d+l),u=c[A]}break}if(0!=(64&u))return 0!=(32&u)?(m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,1):(o.msg="invalid literal/length code",m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,x);if(l+=c[A+2],l+=f&v[u],A=3*(d+l),0===(u=c[A])){f>>=c[A+1],_-=c[A+1],s.window[p++]=c[A+2],g--;break}}else f>>=c[A+1],_-=c[A+1],s.window[p++]=c[A+2],g--}while(g>=258&&w>=10);return m=o.avail_in-w,m=_>>3>3:m,w+=m,h-=m,_-=m<<3,s.bitb=f,s.bitk=_,o.avail_in=w,o.total_in+=h-o.next_in_index,o.next_in_index=h,s.write=p,0}e.init=function(e,a,s,o,l,c){t=0,u=e,f=a,i=s,_=o,r=l,h=c,n=null},e.proc=function(e,p,g){let b,m,k,E,A,U,R,z=0,S=0,F=0;for(F=p.next_in_index,E=p.avail_in,z=e.bitb,S=e.bitk,A=e.write,U=A=258&&E>=10&&(e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,g=w(u,f,i,_,r,h,e,p),F=p.next_in_index,E=p.avail_in,z=e.bitb,S=e.bitk,A=e.write,U=A>>=n[m+1],S-=n[m+1],k=n[m],0===k){l=n[m+2],t=6;break}if(0!=(16&k)){c=15&k,a=n[m+2],t=2;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}if(0!=(32&k)){t=7;break}return t=9,p.msg="invalid literal/length code",g=x,e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,e.inflate_flush(p,g);case 2:for(b=c;S>=b,S-=b,o=f,n=r,s=h,t=3;case 3:for(b=o;S>=n[m+1],S-=n[m+1],k=n[m],0!=(16&k)){c=15&k,d=n[m+2],t=4;break}if(0==(64&k)){o=k,s=m/3+n[m+2];break}return t=9,p.msg="invalid distance code",g=x,e.bitb=z,e.bitk=S,p.avail_in=E,p.total_in+=F-p.next_in_index,p.next_in_index=F,e.write=A,e.inflate_flush(p,g);case 4:for(b=c;S>=b,S-=b,t=5;case 5:for(R=A-d;R<0;)R+=e.end;for(;0!==a;){if(0===U&&(A==e.end&&0!==e.read&&(A=0,U=A7&&(S-=8,E++,F--),e.write=A,g=e.inflate_flush(p,g),A=e.write,U=Ae.avail_out&&(i=e.avail_out),0!==i&&t==m&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>e.avail_out&&(i=e.avail_out),0!==i&&t==m&&(t=0),e.avail_out-=i,e.total_out+=i,e.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),e.next_out_index=r,n.read=a,t},n.proc=function(e,t){let h,w,p,g,b,m,k,E;for(g=e.next_in_index,b=e.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m>>1){case 0:w>>>=3,p-=3,h=7&p,w>>>=h,p-=h,r=1;break;case 1:A=[],U=[],R=[[]],z=[[]],F.inflate_trees_fixed(A,U,R,z),d.init(A[0],U[0],R[0],0,z[0],0),w>>>=3,p-=3,r=6;break;case 2:w>>>=3,p-=3,r=3;break;case 3:return w>>>=3,p-=3,r=9,e.msg="invalid block type",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t)}break;case 1:for(;p<32;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>16&65535)!=(65535&w))return r=9,e.msg="invalid stored block lengths",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);a=65535&w,w=p=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);if(0===k&&(m==n.end&&0!==n.read&&(m=0,k=mb&&(h=b),h>k&&(h=k),n.window.set(e.read_buf(g,h),m),g+=h,b-=h,m+=h,k-=h,0!=(a-=h))break;r=0!==u?7:0;break;case 3:for(;p<14;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<29||(h>>5&31)>29)return r=9,e.msg="too many length or distance symbols",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);if(h=258+(31&h)+(h>>5&31),!i||i.length>>=14,p-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;p<3;){if(0===b)return n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);t=0,b--,w|=(255&e.read_byte(g++))<>>=3,p-=3}for(;o<19;)i[I[o++]]=0;if(l[0]=7,h=_.inflate_trees_bits(i,l,c,f,e),0!=h)return(t=h)==x&&(i=null,r=9),n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);o=0,r=5;case 5:for(;h=s,!(o>=258+(31&h)+(h>>5&31));){let a,d;for(h=l[0];p>>=h,p-=h,i[o++]=d;else{for(E=18==d?7:d-14,a=18==d?11:3;p>>=h,p-=h,a+=w&v[E],w>>>=E,p-=E,E=o,h=s,E+a>258+(31&h)+(h>>5&31)||16==d&&E<1)return i=null,r=9,e.msg="invalid bit length repeat",t=x,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);d=16==d?i[E-1]:0;do{i[E++]=d}while(0!=--a);o=E}}if(c[0]=-1,S=[],D=[],T=[],C=[],S[0]=9,D[0]=6,h=s,h=_.inflate_trees_dynamic(257+(31&h),1+(h>>5&31),i,S,D,T,C,f,e),0!=h)return h==x&&(i=null,r=9),t=h,n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,n.inflate_flush(e,t);d.init(S[0],D[0],f,T[0],f,C[0]),r=6;case 6:if(n.bitb=w,n.bitk=p,e.avail_in=b,e.total_in+=g-e.next_in_index,e.next_in_index=g,n.write=m,1!=(t=d.proc(n,e,t)))return n.inflate_flush(e,t);if(t=0,d.free(e),g=e.next_in_index,b=e.avail_in,w=n.bitb,p=n.bitk,m=n.write,k=m15?(e.inflateEnd(n),y):(e.wbits=i,n.istate.blocks=new T(n,1<>4)>r.wbits){r.mode=C,e.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===e.avail_in)return n;if(n=t,e.avail_in--,e.total_in++,i=255&e.read_byte(e.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=C,e.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need=(255&e.read_byte(e.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===e.avail_in)return n;n=t,e.avail_in--,e.total_in++,r.need+=(255&e.read_byte(e.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===e.avail_in?n:(n=t,e.avail_in--,e.total_in++,r.need+=255&e.read_byte(e.next_in_index++),r.mode=6,2);case 6:return r.mode=C,e.msg="need dictionary",r.marker=0,y;case 7:if(n=r.blocks.proc(e,n),n==x){r.mode=C,r.marker=0;break}if(0==n&&(n=t),1!=n)return n;n=t,r.blocks.reset(e,r.was),r.mode=12;case 12:return 1;case C:return x;default:return y}},e.inflateSetDictionary=function(e,t,n){let i=0,r=n;if(!e||!e.istate||6!=e.istate.mode)return y;const a=e.istate;return r>=1<{n.onload=e=>i(new Uint8Array(e.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(e,e+t))}))}}class re extends ne{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 ae extends te{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(),fe(this.url)&&!this.preventHeadRequest){const e=await oe(J,this.url,this.options);if(this.size=Number(e.headers.get(Y)),!this.forceRangeRequests&&this.useRangeHeader&&e.headers.get(X)!=$)throw new Error(G);void 0===this.size&&await se(this,this.options)}else await se(this,this.options)}async readUint8Array(e,t){if(this.useRangeHeader){const n=await oe(Q,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+e+"-"+(e+t-1)}));if(206!=n.status)throw new Error(G);return new Uint8Array(await n.arrayBuffer())}return this.data||await se(this,this.options),new Uint8Array(this.data.subarray(e,e+t))}}async function se(e,t){const n=await oe(Q,e.url,t);e.data=new Uint8Array(await n.arrayBuffer()),e.size||(e.size=e.data.length)}async function oe(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(Z+(r.statusText||r.status))}class le extends te{constructor(e,t){super(),this.url=e,this.preventHeadRequest=t.preventHeadRequest,this.useRangeHeader=t.useRangeHeader,this.forceRangeRequests=t.forceRangeRequests}async init(){if(super.init(),fe(this.url)&&!this.preventHeadRequest)return new Promise(((e,t)=>de(J,this.url,(n=>{this.size=Number(n.getResponseHeader(Y)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(X)==$?e():t(new Error(G)):void 0===this.size?ce(this,this.url).then((()=>e())).catch(t):e()}),t)));await ce(this,this.url)}async readUint8Array(e,t){if(!this.useRangeHeader)return this.data||await ce(this,this.url),new Uint8Array(this.data.subarray(e,e+t));if(206!=(await new Promise(((n,i)=>de(Q,this.url,(e=>n(new Uint8Array(e.response))),i,[["Range","bytes="+e+"-"+(e+t-1)]])))).status)throw new Error(G)}}function ce(e,t){return new Promise(((n,i)=>de(Q,t,(t=>{e.data=new Uint8Array(t.response),e.size||(e.size=e.data.length),n()}),i)))}function de(e,t,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(Z+(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 ue extends te{constructor(e,t={}){super(),this.url=e,t.useXHR?this.reader=new le(e,t):this.reader=new ae(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 fe(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 _e=4294967295,he=65535,we=67324752,pe=134695760,ge=33639248,be=101010256,ye=101075792,xe=117853008,me=39169,ve=2048,ke="/",Ee=new Date(2107,11,31),Ae=new Date(1980,0,1),Ue="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const Re=[];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;Re[e]=t}class ze{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,i=0|e.length;n>>8^Re[255&(t^e[n])];this.crc=t}get(){return~this.crc}}const Se={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],i=Se.getPartial(n);return 32===i?e.concat(t):Se._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)+Se.getPartial(n)},clamp(e,t){if(32*e.length0&&t&&(e[n-1]=Se.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>>t),n=e[r]<<32-t;const r=e.length?e[e.length-1]:0,a=Se.getPartial(r);return i.push(Se.partial(t+a&31,t+a>32?n:i.pop(),1)),i}},Fe={bytes:{fromBits(e){const t=Se.bitLength(e)/8,n=new Uint8Array(t);let i;for(let r=0;r>>24,i<<=8;return n},toBits(e){const t=[];let n,i=0;for(n=0;n9007199254740991)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=Se.concat(t,[Se.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<>>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],l=n[4];for(let e=0;e<=79;e++){e>=16&&(i[e]=t._S(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const n=t._S(5,r)+t._f(e,a,s,o)+l+i[e]+t._key[Math.floor(e/20)]|0;l=o,o=s,s=t._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const Ie={aes:class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],i=t._tables[1],r=e.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),o=[]],a=r;a<4*r+28;a++){let e=s[a-1];(a%r==0||8===r&&a%r==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%r==0&&(e=e<<8^e>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^e}for(let e=0;a;e++,a--){const t=s[3&e?a:a-4];o[e]=a<=4||e<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],r=[],a=[];let s,o,l,c;for(let e=0;e<256;e++)a[(r[e]=e<<1^283*(e>>7))^e]=e;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;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],l=a[2],c=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],g=e[t?1:3]^n[3],b=4;for(let e=0;e>>24]^o[w>>16&255]^l[p>>8&255]^c[255&g]^n[b],f=s[w>>>24]^o[p>>16&255]^l[g>>8&255]^c[255&h]^n[b+1],_=s[p>>>24]^o[g>>16&255]^l[h>>8&255]^c[255&w]^n[b+2],g=s[g>>>24]^o[h>>16&255]^l[w>>8&255]^c[255&p]^n[b+3],b+=4,h=u,w=f,p=_;for(let e=0;e<4;e++)r[t?3&-e:e]=d[h>>>24]<<24^d[w>>16&255]<<16^d[p>>8&255]<<8^d[255&g]^n[b++],u=h,h=w,w=p,p=g,g=u;return r}}},Te={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=Se.bitLength(t);for(let r=0;rr&&(e=n.hash(e));for(let t=0;te.length){const n=e;(e=new Uint8Array(t)).set(n,0)}return e}(n,s-s%Me)),o=0;o<=s-Me;o+=Me){const r=Ze.toBits(tt(t,o,o+Me));a&&e.hmac.update(r);const s=e.aesCtrGladman.update(r);a||e.hmac.update(s),n.set(Ze.fromBits(s),o+i)}return e.pendingInput=tt(t,o),n}async function $e(e,t,n){const i=(new TextEncoder).encode(t),r=await qe.importKey("raw",i,Be,!1,He),a=await qe.deriveBits(Object.assign({salt:n},Le),r,8*(2*Pe[e.strength]+2)),s=new Uint8Array(a);e.keys={key:Ze.toBits(tt(s,0,Pe[e.strength])),authentication:Ze.toBits(tt(s,Pe[e.strength],2*Pe[e.strength])),passwordVerification:tt(s,2*Pe[e.strength])}}function et(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 tt(e,t,n){return e.subarray(t,n)}const nt=12;class it{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ot(this,e)}async append(e){const t=this;if(t.password){const n=at(t,e.subarray(0,nt));if(t.password=null,n[11]!=t.passwordVerification)throw new Error(Oe);e=e.subarray(nt)}return at(t,e)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class rt{constructor(e,t){Object.assign(this,{password:e,passwordVerification:t}),ot(this,e)}async append(e){const t=this;let n,i;if(t.password){t.password=null;const r=crypto.getRandomValues(new Uint8Array(nt));r[11]=t.passwordVerification,n=new Uint8Array(e.length+r.length),n.set(st(t,r),0),i=nt}else n=new Uint8Array(e.length),i=0;return n.set(st(t,e),i),n}async flush(){return{data:new Uint8Array(0)}}}function at(e,t){const n=new Uint8Array(t.length);for(let i=0;i>>24]),e.keys[2]=~e.crcKey2.get()}function ct(e){const t=2|e.keys[2];return dt(Math.imul(t,1^t)>>>8)}function dt(e){return 255&e}function ut(e){return 4294967295&e}const ft="deflate",_t="inflate",ht="Invalid signature";class wt{constructor(e,{signature:t,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:t,encrypted:l,signed:i,compressed:r,inflate:r&&new e,crc32:i&&new ze,zipCrypto:a,decrypt:l&&a?new it(n,s):new Xe(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(ht);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.cipher!=n.getUint32(0,!1))throw new Error(ht)}return e.compressed&&(n=await e.inflate.append(n)||new Uint8Array(0),await e.inflate.flush()),{data:n,signature:t}}}class pt{constructor(e,{encrypted:t,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:t,signed:n,compressed:i,deflate:i&&new e({level:r||5}),crc32:n&&new ze,zipCrypto:a,encrypt:t&&a?new rt(s,o):new Je(s,l)})}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 gt="init",bt="append",yt="flush",xt="message";var mt=(e,t,n,i,r,a)=>(Object.assign(e,{busy:!0,codecConstructor:t,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){e.busy=!1;i(e)&&e.worker&&e.worker.terminate()}}),r?function(e){let t;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.min.js",document.baseURI).href)),e.worker.addEventListener(xt,r,!1),e.interface={append:e=>n({type:bt,data:e}),flush:()=>n({type:yt})});return e.interface;async function n(n){if(!t){const t=e.options,n=e.scripts.slice(1);await i({scripts:n,type:gt,options:t})}return i(n)}function i(n){const i=e.worker,r=new Promise(((e,n)=>t={resolve:e,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(e){i.postMessage(n)}else i.postMessage(n)}catch(n){t.reject(n),t=null,e.onTaskFinished()}return r}function r(n){const i=n.data;if(t){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,t.reject(i),t=null,e.onTaskFinished()}else if(r==gt||r==yt||r==bt){const n=i.data;r==yt?(t.resolve({data:new Uint8Array(n),signature:i.signature}),t=null,e.onTaskFinished()):t.resolve(n&&new Uint8Array(n))}}}}(e):function(e){const t=function(e,t){return t.codecType.startsWith(ft)?new pt(e,t):t.codecType.startsWith(_t)?new wt(e,t):void 0}(e.codecConstructor,e.options);return{async append(n){try{return await t.append(n)}catch(t){throw e.onTaskFinished(),t}},async flush(){try{return await t.flush()}finally{e.onTaskFinished()}}}}(e));let vt=[],kt=[];function Et(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(vt.length!e.busy));return n?mt(n,e,t,At,i,r):new Promise((n=>kt.push({resolve:n,codecConstructor:e,options:t,webWorker:i,scripts:r})))}}function At(e){const t=!kt.length;if(t)vt=vt.filter((t=>t!=e));else{const[{resolve:t,codecConstructor:n,options:i,webWorker:r,scripts:a}]=kt.splice(0,1);t(mt(e,n,i,At,r,a))}return t}const Ut=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class Rt{constructor(e){Ut.forEach((t=>this[t]=e[t]))}}const zt="File format is not recognized",St="End of central directory not found",Ft="End of Zip64 central directory not found",Dt="End of Zip64 central directory locator not found",It="Central directory header not found",Tt="Local file header not found",Ct="Zip64 extra field not found",Ot="File contains encrypted entry",Mt="Encryption method not supported",Wt="Compression method not supported",Bt="utf-8",Lt=["uncompressedSize","compressedSize","offset"];class Ht{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:l,signature:c,rawLastModDate:d,compressedSize:u,onprogress:f}=n,_=n.localDirectory={};i.initialized||await i.init();const h=await Qt(i,r,30),w=Jt(h);let p=Vt(n,t,"password");if(p=p&&p.length&&p,a&&99!=a.originalCompressionMethod)throw new Error(Wt);if(0!=s&&8!=s)throw new Error(Wt);if(Yt(w,0)!=we)throw new Error(Tt);Nt(_,w,4);const g=r+30+_.filenameLength,b=g+_.extraFieldLength;_.rawExtraField=h.subarray(g,b),Pt(n,_,w,4);const y=n.encrypted&&_.encrypted,x=y&&!a;if(y){if(!x&&void 0===a.strength)throw new Error(Mt);if(!p)throw new Error(Ot)}const m=await Et(o.Inflate,{codecType:_t,password:p,zipCrypto:x,encryptionStrength:a&&a.strength,signed:Vt(n,t,"checkSignature"),passwordVerification:x&&(l.dataDescriptor?d>>>8&255:c>>>24&255),signature:c,compressed:0!=s,encrypted:y,useWebWorkers:Vt(n,t,"useWebWorkers")},o);e.initialized||await e.init();const v=Vt(n,t,"signal");return await j(m,i,e,b,u,o,{onprogress:t.onprogress,signal:v}),e.getData()}}function Nt(e,t,n){const i=e.rawBitFlag=Kt(t,n+2),r=1==(1&i);Object.assign(e,{encrypted:r,version:Kt(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&ve)==ve},rawLastModDate:Yt(t,n+6),lastModDate:Zt(e.rawLastModDate),filenameLength:Kt(t,n+22),extraFieldLength:Kt(t,n+24)})}function Pt(e,t,n,i){const r=t.rawExtraField,a=t.extraField=new Map,s=Jt(new Uint8Array(r));let o=0;try{for(;ot[e]==_e));for(let t=0;t{if(t[n]==_e){if(!e||void 0===e[n])throw new Error(Ct);t[n]=e[n]}}))}(c,t);const d=t.extraFieldUnicodePath=a.get(28789);d&&jt(d,"filename","rawFilename",t,e);const u=t.extraFieldUnicodeComment=a.get(25461);u&&jt(u,"comment","rawComment",t,e);const f=t.extraFieldAES=a.get(39169);f?function(e,t,n){if(e){const i=Jt(e.data);e.vendorVersion=Gt(i,0),e.vendorId=Gt(i,2);const r=Gt(i,4);e.strength=r,e.originalCompressionMethod=n,t.compressionMethod=e.compressionMethod=Kt(i,5)}else t.compressionMethod=n}(f,t,l):t.compressionMethod=l}function jt(e,t,n,i,r){const a=Jt(e.data);e.version=Gt(a,0),e.signature=Yt(a,1);const s=new ze;s.append(r[n]);const o=Jt(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==Yt(o,0),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Vt(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function qt(e,t){return t&&"cp437"!=t.trim().toLowerCase()?new TextDecoder(t).decode(e):(e=>{let t="";for(let n=0;n>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 Gt(e,t){return e.getUint8(t)}function Kt(e,t){return e.getUint16(t,!0)}function Yt(e,t){return e.getUint32(t,!0)}function Xt(e,t){return Number(e.getBigUint64(t,!0))}function Jt(e){return new DataView(e.buffer)}function Qt(e,t,n){return e.readUint8Array(t,n)}const $t="File already exists",en="Zip file comment exceeds 64KB",tn="File entry comment exceeds 64KB",nn="File entry name exceeds 64KB",rn="Version exceeds 65535",an="The modification date must be between 1/1/1980 and 12/31/2107",sn="The strength must equal 1, 2, or 3",on="Extra field type exceeds 65535",ln="Extra field data exceeds 64KB",cn=new Uint8Array([7,0,2,0,65,69,3,0,0]);function dn(e,t,n){return void 0===t[n]?e.options[n]:t[n]}function un(e,t,n){e.setUint8(t,n)}function fn(e,t,n){e.setUint16(t,n,!0)}function _n(e,t,n){e.setUint32(t,n,!0)}function hn(e,t,n){e.setBigUint64(t,n,!0)}function wn(e,t,n){e.set(t,n)}function pn(e){return new DataView(e.buffer)}N({Deflate:function(e){const t=new b,n=512,i=new Uint8Array(n);let r=e?e.level:-1;void 0===r&&(r=-1),t.deflateInit(r),t.next_out=i,this.append=function(e,r){let a,s,o=0,l=0,c=0;const d=[];if(e.length){t.next_in_index=0,t.next_in=e,t.avail_in=e.length;do{if(t.next_out_index=0,t.avail_out=n,a=t.deflate(0),0!=a)throw new Error("deflating: "+t.msg);t.next_out_index&&(t.next_out_index==n?d.push(new Uint8Array(i)):d.push(new Uint8Array(i.subarray(0,t.next_out_index)))),c+=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 s=new Uint8Array(c),d.forEach((function(e){s.set(e,l),l+=e.length})),s}},this.flush=function(){let e,r,a=0,s=0;const o=[];do{if(t.next_out_index=0,t.avail_out=n,e=t.deflate(4),1!=e&&0!=e)throw new Error("deflating: "+t.msg);n-t.avail_out>0&&o.push(new Uint8Array(i.subarray(0,t.next_out_index))),s+=t.next_out_index}while(t.avail_in>0||0===t.avail_out);return t.deflateEnd(),r=new Uint8Array(s),o.forEach((function(e){r.set(e,a),a+=e.length})),r}},Inflate:function(){const e=new W,t=new Uint8Array(512);let n=!1;e.inflateInit(),e.next_out=t,this.append=function(i,r){const a=[];let s,o,l=0,c=0,d=0;if(0!==i.length){e.next_in_index=0,e.next_in=i,e.avail_in=i.length;do{if(e.next_out_index=0,e.avail_out=512,0!==e.avail_in||n||(e.next_in_index=0,n=!0),s=e.inflate(0),n&&s===m){if(0!==e.avail_in)throw new Error("inflating: bad input")}else if(0!==s&&1!==s)throw new Error("inflating: "+e.msg);if((n||1===s)&&e.avail_in===i.length)throw new Error("inflating: bad input");e.next_out_index&&(512===e.next_out_index?a.push(new Uint8Array(t)):a.push(new Uint8Array(t.subarray(0,e.next_out_index)))),d+=e.next_out_index,r&&e.next_in_index>0&&e.next_in_index!=l&&(r(e.next_in_index),l=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return o=new Uint8Array(d),a.forEach((function(e){o.set(e,c),c+=e.length})),o}},this.flush=function(){e.inflateEnd()}}}),e.BlobReader=ie,e.BlobWriter=re,e.Data64URIReader=class extends te{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;e2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},e.ERR_ABORT=P,e.ERR_BAD_FORMAT=zt,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=It,e.ERR_DUPLICATED_NAME=$t,e.ERR_ENCRYPTED=Ot,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Dt,e.ERR_EOCDR_NOT_FOUND=St,e.ERR_EOCDR_ZIP64_NOT_FOUND=Ft,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ct,e.ERR_HTTP_RANGE=G,e.ERR_INVALID_COMMENT=en,e.ERR_INVALID_DATE=an,e.ERR_INVALID_ENCRYPTION_STRENGTH=sn,e.ERR_INVALID_ENTRY_COMMENT=tn,e.ERR_INVALID_ENTRY_NAME=nn,e.ERR_INVALID_EXTRAFIELD_DATA=ln,e.ERR_INVALID_EXTRAFIELD_TYPE=on,e.ERR_INVALID_PASSWORD=Oe,e.ERR_INVALID_SIGNATURE=ht,e.ERR_INVALID_VERSION=rn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Tt,e.ERR_UNSUPPORTED_COMPRESSION=Wt,e.ERR_UNSUPPORTED_ENCRYPTION=Mt,e.HttpRangeReader=class extends ue{constructor(e,t={}){t.useRangeHeader=!0,super(e,t)}},e.HttpReader=ue,e.Reader=te,e.TextReader=class extends te{constructor(e){super(),this.blobReader=new ie(new Blob([e],{type:K}))}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 ne{constructor(e){super(),this.encoding=e,this.blob=new Blob([],{type:K})}async writeUint8Array(e){super.writeUint8Array(e),this.blob=new Blob([this.blob,e.buffer],{type:K})}getData(){const e=new FileReader;return new Promise(((t,n)=>{e.onload=e=>t(e.target.result),e.onerror=n,e.readAsText(this.blob,this.encoding)}))}},e.Uint8ArrayReader=class extends te{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 ne{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=ne,e.ZipReader=class{constructor(e,t={}){Object.assign(this,{reader:e,options:t,config:H()})}async getEntries(e={}){const t=this,n=t.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(zt);const i=await async function(e,t,n,i,r){const a=new Uint8Array(4);!function(e,t,n){e.setUint32(t,n,!0)}(Jt(a),0,t);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(t){const r=n-t,s=await Qt(e,r,t);for(let e=s.length-i;e>=0;e--)if(s[e]==a[0]&&s[e+1]==a[1]&&s[e+2]==a[2]&&s[e+3]==a[3])return{offset:r+e,buffer:s.slice(e,e+i).buffer}}}(n,be,n.size,22,1048560);if(!i)throw new Error(St);const r=Jt(i);let a=Yt(r,12),s=Yt(r,16),o=Kt(r,8),l=0;if(s==_e||o==he){const e=Jt(await Qt(n,i.offset-20,20));if(Yt(e,0)!=xe)throw new Error(Ft);s=Xt(e,8);let t=await Qt(n,s,56),r=Jt(t);const c=i.offset-20-56;if(Yt(r,0)!=ye&&s!=c){const e=s;s=c,l=s-e,t=await Qt(n,s,56),r=Jt(t)}if(Yt(r,0)!=ye)throw new Error(Dt);o=Xt(r,24),a=Yt(e,4),s-=Xt(r,40)}if(s<0||s>=n.size)throw new Error(zt);let c=0,d=await Qt(n,s,n.size-s),u=Jt(d);const f=i.offset-a;if(Yt(u,c)!=ge&&s!=f){const e=s;s=f,l=s-e,d=await Qt(n,s,n.size-s),u=Jt(d)}if(s<0||s>=n.size)throw new Error(zt);const _=[];for(let i=0;ii.getData(e,t),_.push(h),c=f}return _}async close(){}},e.ZipWriter=class{constructor(e,t={}){Object.assign(this,{writer:e,options:t,config:H(),files:new Map,offset:e.size,pendingOutputSize:0})}async add(e="",t,n={}){const i=this;if(e=e.trim(),n.directory&&!e.endsWith(ke)?e+=ke:n.directory=e.endsWith(ke),i.files.has(e))throw new Error($t);const r=(new TextEncoder).encode(e);if(r.length>he)throw new Error(nn);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>he)throw new Error(tn);const o=i.options.version||n.version||0;if(o>he)throw new Error(rn);const l=n.lastModDate||new Date;if(lEe)throw new Error(an);const c=dn(i,n,"password"),d=dn(i,n,"encryptionStrength")||3,u=dn(i,n,"zipCrypto");if(void 0!==c&&void 0!==d&&(d<1||d>3))throw new Error(sn);t&&!t.initialized&&await t.init();let f=new Uint8Array(0);const _=n.extraField;if(_){let e=0,t=0;_.forEach((t=>e+=4+t.length)),f=new Uint8Array(e),_.forEach(((e,n)=>{if(n>he)throw new Error(on);if(e.length>he)throw new Error(ln);wn(f,new Uint16Array([n]),t),wn(f,new Uint16Array([e.length]),t+2),wn(f,e,t+4),t+=4+e.length}))}const h=t?Math.floor(1.05*t.size):0;i.pendingOutputSize+=h,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=_e||h>=_e||i.offset+i.pendingOutputSize>=_e,p=dn(i,n,"level"),g=dn(i,n,"useWebWorkers"),b=dn(i,n,"bufferedWrite");let y=dn(i,n,"keepOrder"),x=dn(i,n,"dataDescriptor");const m=dn(i,n,"signal");void 0===x&&(x=!0),void 0===y&&(y=!0);const v=await async function(e,t,n,i){const r=e.files,a=e.writer;let s,o;r.set(t,null);try{let l,c,d;try{i.keepOrder&&(l=e.lockPreviousFile,e.lockPreviousFile=new Promise((e=>o=e))),i.bufferedWrite||e.lockWrite||!i.dataDescriptor?(c=new re,c.init()):(e.lockWrite=new Promise((e=>s=e)),a.initialized||await a.init(),c=a),d=await async function(e,t,n,i){const{rawFilename:r,lastModDate:a,password:s,level:o,zip64:l,zipCrypto:c,dataDescriptor:d,directory:u,version:f,rawComment:_,rawExtraField:h,useWebWorkers:w,onprogress:p,signal:g,encryptionStrength:b}=i,y=Boolean(s&&s.length),x=0!==o&&!u;let m;if(y&&!c){m=new Uint8Array(cn.length+2);const e=pn(m);fn(e,0,me),wn(m,cn,2),un(e,8,b)}else m=new Uint8Array(0);const v={version:f||20,zip64:l,directory:Boolean(u),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:l?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:m,rawExtraField:h};let k=ve;d&&(k|=8);let E=0;x&&(E=8);l&&(v.version=v.version>45?v.version:45);y&&(k|=1,c||(v.version=v.version>51?v.version:51,E=99,x&&(v.rawExtraFieldAES[9]=8)));const A=v.headerArray=new Uint8Array(26),U=pn(A);fn(U,0,v.version),fn(U,2,k),fn(U,4,E);const R=new Uint32Array(1),z=pn(R);fn(z,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),fn(z,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const S=R[0];_n(U,6,S),fn(U,22,r.length),fn(U,24,0),fn(U,24,m.length+v.rawExtraField.length);const F=new Uint8Array(30+r.length+m.length+v.rawExtraField.length);let D;_n(pn(F),0,we),wn(F,A,4),wn(F,r,30),wn(F,m,30+r.length),wn(F,v.rawExtraField,30+r.length+m.length);let I=0,T=0;if(e){I=e.size;const i=await Et(n.Deflate,{codecType:ft,level:o,password:s,encryptionStrength:b,zipCrypto:y&&c,passwordVerification:y&&c&&S>>8&255,signed:!0,compressed:x,encrypted:y,useWebWorkers:w},n);await t.writeUint8Array(F),D=await j(i,e,t,0,I,n,{onprogress:p,signal:g}),T=D.length}else await t.writeUint8Array(F);let C,O=new Uint8Array(0);d&&(O=new Uint8Array(l?24:16),C=pn(O),_n(C,0,pe));if(e){const e=D.signature;if(y&&!c||void 0===e||(_n(U,10,e),v.signature=e,d&&_n(C,4,e)),l){const e=pn(v.rawExtraFieldZip64);fn(e,0,1),fn(e,2,24),_n(U,14,_e),hn(e,12,BigInt(T)),_n(U,18,_e),hn(e,4,BigInt(I)),d&&(hn(C,8,BigInt(T)),hn(C,16,BigInt(I)))}else _n(U,14,T),_n(U,18,I),d&&(_n(C,8,T),_n(C,12,I))}d&&await t.writeUint8Array(O);const M=F.length+T+O.length;return Object.assign(v,{compressedSize:T,uncompressedSize:I,lastModDate:a,rawLastModDate:S,encrypted:y,length:M}),v}(n,c,e.config,i)}catch(e){throw r.delete(t),e}if(r.set(t,d),c!=a){const t=c.getData(),n=new FileReader,r=new Promise(((e,i)=>{n.onload=t=>e(t.target.result),n.onerror=i,n.readAsArrayBuffer(t)})),[s]=await Promise.all([r,e.lockWrite,l]);if(!i.dataDescriptor){const e=new DataView(s);d.encrypted&&!i.zipCrypto||_n(e,14,d.signature),d.zip64?(_n(e,18,_e),_n(e,22,_e)):(_n(e,18,d.compressedSize),_n(e,22,d.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(d.offset=e.offset,d.zip64){hn(pn(d.rawExtraFieldZip64),20,BigInt(d.offset))}return e.offset+=d.length,d}finally{o&&o(),s&&s()}}(i,e,t,Object.assign({},n,{rawFilename:r,rawComment:s,version:o,lastModDate:l,rawExtraField:f,zip64:w,password:c,level:p,useWebWorkers:g,encryptionStrength:d,zipCrypto:u,bufferedWrite:b,keepOrder:y,dataDescriptor:x,signal:m}));return i.pendingOutputSize-=h,Object.assign(v,{name:e,comment:a,extraField:_}),new Rt(v)}async close(e=new Uint8Array(0)){const t=this,n=t.writer,i=t.files;let r=0,a=0,s=t.offset,o=i.size;for(const[,e]of i)a+=46+e.rawFilename.length+e.rawComment.length+e.rawExtraFieldZip64.length+e.rawExtraFieldAES.length+e.rawExtraField.length;const l=t.options.zip64||s>=_e||a>=_e||o>=he,c=new Uint8Array(a+(l?98:22)),d=pn(c);if(e.length){if(!(e.length<=he))throw new Error(en);fn(d,r+20,e.length)}for(const[,e]of i){const{rawFilename:t,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:u,zip64:f}=e,_=n.length+i.length+a.length;_n(d,r,ge),fn(d,r+4,o),wn(c,l,r+6),fn(d,r+30,_),fn(d,r+32,s.length),u&&un(d,r+38,16),_n(d,r+42,f?_e:e.offset),wn(c,t,r+46),wn(c,n,r+46+t.length),wn(c,i,r+46+t.length+n.length),wn(c,a,46+t.length+n.length+i.length),wn(c,s,r+46+t.length+_),r+=46+t.length+_+s.length}return l&&(_n(d,r,ye),hn(d,r+4,BigInt(44)),fn(d,r+12,45),fn(d,r+14,45),hn(d,r+24,BigInt(o)),hn(d,r+32,BigInt(o)),hn(d,r+40,BigInt(a)),hn(d,r+48,BigInt(s)),_n(d,r+56,xe),hn(d,r+64,BigInt(s)+BigInt(a)),_n(d,r+72,1),o=he,s=_e,a=_e,r+=76),_n(d,r,be),fn(d,r+8,o),fn(d,r+10,o),_n(d,r+12,a),_n(d,r+16,s),await n.writeUint8Array(c),e.length&&await n.writeUint8Array(e),n.getData()}},e.configure=N,e.getMimeType=function(){return"application/octet-stream"},Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/dist/zip.js b/dist/zip.js index bf3b7cff..c8788eb8 100644 --- a/dist/zip.js +++ b/dist/zip.js @@ -2554,7 +2554,7 @@ await writer.init(); } const signal = getOptionValue$1(zipEntry, options, "signal"); - await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress, signal }); + await processData(codec, reader, writer, dataOffset, compressedSize, config, { onprogress: options.onprogress, signal }); return writer.getData(); } } diff --git a/dist/zip.min.js b/dist/zip.min.js index aaa1ed08..d673079c 100644 --- a/dist/zip.min.js +++ b/dist/zip.min.js @@ -1 +1 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,useWebWorkers:!0,workerScripts:void 0},n=Object.assign({},e);function i(){return n}function r(t){if(void 0!==t.chunkSize&&(n.chunkSize=t.chunkSize),void 0!==t.maxWorkers&&(n.maxWorkers=t.maxWorkers),void 0!==t.useWebWorkers&&(n.useWebWorkers=t.useWebWorkers),void 0!==t.Deflate&&(n.Deflate=t.Deflate),void 0!==t.Inflate&&(n.Inflate=t.Inflate),void 0!==t.workerScripts){if(t.workerScripts.deflate){if(!Array.isArray(t.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.deflate=t.workerScripts.deflate}if(t.workerScripts.inflate){if(!Array.isArray(t.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.inflate=t.workerScripts.inflate}}}function a(t,e,n){return class{constructor(i){const r=this;r.codec=new t(Object.assign({},e,i)),n(r.codec,(t=>{if(r.pendingData){const e=r.pendingData;r.pendingData=new Uint8Array(e.length+t.length),r.pendingData.set(e,0),r.pendingData.set(t,e.length)}else r.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const s="Abort error";async function o(t,e,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(d=0,u=0){const f=s.signal;if(d{n.onload=t=>i(new Uint8Array(t.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class k extends x{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class v extends b{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),D(this.url)&&!this.preventHeadRequest){const t=await U(p,this.url,this.options);if(this.size=Number(t.headers.get(h)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(_)!=g)throw new Error(u);void 0===this.size&&await A(this,this.options)}else await A(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await U(w,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(u);return new Uint8Array(await n.arrayBuffer())}return this.data||await A(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function A(t,e){const n=await U(w,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function U(t,e,n,i){i=Object.assign({},n.headers,i);const r=await fetch(e,Object.assign({},n,{method:t,headers:i}));if(r.status<400)return r;throw new Error(d+(r.statusText||r.status))}class E extends b{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),D(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>z(p,this.url,(n=>{this.size=Number(n.getResponseHeader(h)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(_)==g?t():e(new Error(u)):void 0===this.size?R(this,this.url).then((()=>t())).catch(e):t()}),e)));await R(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await R(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,i)=>z(w,this.url,(t=>n(new Uint8Array(t.response))),i,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(u)}}function R(t,e){return new Promise(((n,i)=>z(w,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),i)))}function z(t,e,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(d+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(t,e),r.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class S extends b{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new E(t,e):this.reader=new v(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}function D(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const I=4294967295,F=65535,C=67324752,T=134695760,O=33639248,B=101010256,M=101075792,W=117853008,H=39169,L=2048,P="/",N=new Date(2107,11,31),j=new Date(1980,0,1),V="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const q=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;q[t]=e}class K{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,i=0|t.length;n>>8^q[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const G={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],i=G.getPartial(n);return 32===i?t.concat(e):G._shiftRight(e,i,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+G.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=G.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(n),n=0;if(0===e)return i.concat(t);for(let r=0;r>>e),n=t[r]<<32-e;const r=t.length?t[t.length-1]:0,a=G.getPartial(r);return i.push(G.partial(e+a&31,e+a>32?n:i.pop(),1)),i}},Z={bytes:{fromBits(t){const e=G.bitLength(t)/8,n=new Uint8Array(e);let i;for(let r=0;r>>24,i<<=8;return n},toBits(t){const e=[];let n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+i-(e.blockSize+i&e.blockSize-1);t<=r;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=G.concat(e,[G.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const X={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,f,h,_=t[0]^n[0],p=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[p>>16&255]^l[w>>8&255]^c[255&g]^n[y],f=s[p>>>24]^o[w>>16&255]^l[g>>8&255]^c[255&_]^n[y+1],h=s[w>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[y+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&w]^n[y+3],y+=4,_=u,p=f,w=h;for(let t=0;t<4;t++)r[e?3&-t:t]=d[_>>>24]<<24^d[p>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=_,_=p,p=w,w=g,g=u;return r}}},J={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let i;if(!(i=e.length))return[];const r=G.bitLength(e);for(let r=0;rr&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%tt)),o=0;o<=s-tt;o+=tt){const r=dt.toBits(bt(e,o,o+tt));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(dt.fromBits(s),o+i)}return t.pendingInput=bt(e,o),n}async function gt(t,e,n){const i=(new TextEncoder).encode(e),r=await ct.importKey("raw",i,nt,!1,rt),a=await ct.deriveBits(Object.assign({salt:n},it),r,8*(2*st[t.strength]+2)),s=new Uint8Array(a);t.keys={key:dt.toBits(bt(s,0,st[t.strength])),authentication:dt.toBits(bt(s,st[t.strength],2*st[t.strength])),passwordVerification:bt(s,2*st[t.strength])}}function yt(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function bt(t,e,n){return t.subarray(e,n)}const xt=12;class mt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Ut(this,t)}async append(t){const e=this;if(e.password){const n=vt(e,t.subarray(0,xt));if(e.password=null,n[11]!=e.passwordVerification)throw new Error($);t=t.subarray(xt)}return vt(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class kt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Ut(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(xt));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(At(e,r),0),i=xt}else n=new Uint8Array(t.length),i=0;return n.set(At(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function vt(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function Rt(t){const e=2|t.keys[2];return zt(Math.imul(e,1^e)>>>8)}function zt(t){return 255&t}function St(t){return 4294967295&t}const Dt="deflate",It="inflate",Ft="Invalid signature";class Ct{constructor(t,{signature:e,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:e,encrypted:l,signed:i,compressed:r,inflate:r&&new t,crc32:i&&new K,zipCrypto:a,decrypt:l&&a?new mt(n,s):new _t(n,i,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(Ft);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(Ft)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class Tt{constructor(t,{encrypted:e,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:e,signed:n,compressed:i,deflate:i&&new t({level:r||5}),crc32:n&&new K,zipCrypto:a,encrypt:e&&a?new kt(s,o):new pt(s,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const Ot="init",Bt="append",Mt="flush",Wt="message";var Ht=(t,e,n,i,r,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){t.busy=!1;i(t)&&t.worker&&t.worker.terminate()}}),r?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip.min.js",document.baseURI).href)),t.worker.addEventListener(Wt,r,!1),t.interface={append:t=>n({type:Bt,data:t}),flush:()=>n({type:Mt})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await i({scripts:n,type:Ot,options:e})}return i(n)}function i(n){const i=t.worker,r=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(t){i.postMessage(n)}else i.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return r}function r(n){const i=n.data;if(e){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,e.reject(i),e=null,t.onTaskFinished()}else if(r==Ot||r==Mt||r==Bt){const n=i.data;r==Mt?(e.resolve({data:new Uint8Array(n),signature:i.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(Dt)?new Tt(t,e):e.codecType.startsWith(It)?new Ct(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let Lt=[],Pt=[];function Nt(t,e,n){const i=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[e.codecType]:[];if(Lt.length!t.busy));return n?Ht(n,t,e,jt,i,r):new Promise((n=>Pt.push({resolve:n,codecConstructor:t,options:e,webWorker:i,scripts:r})))}}function jt(t){const e=!Pt.length;if(e)Lt=Lt.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Pt.splice(0,1);e(Ht(t,n,i,jt,r,a))}return e}const Vt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class qt{constructor(t){Vt.forEach((e=>this[e]=t[e]))}}const Kt="File format is not recognized",Gt="End of central directory not found",Zt="End of Zip64 central directory not found",Yt="End of Zip64 central directory locator not found",Xt="Central directory header not found",Jt="Local file header not found",Qt="Zip64 extra field not found",$t="File contains encrypted entry",te="Encryption method not supported",ee="Compression method not supported",ne="utf-8",ie=["uncompressedSize","compressedSize","offset"];class re{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:i,offset:r,extraFieldAES:a,compressionMethod:s,config:l,bitFlag:c,signature:d,rawLastModDate:u,compressedSize:f,onprogress:h}=n,_=n.localDirectory={};i.initialized||await i.init();const p=await we(i,r,30),w=pe(p);let g=le(n,e,"password");if(g=g&&g.length&&g,a&&99!=a.originalCompressionMethod)throw new Error(ee);if(0!=s&&8!=s)throw new Error(ee);if(he(w,0)!=C)throw new Error(Jt);ae(_,w,4);const y=r+30+_.filenameLength,b=y+_.extraFieldLength;_.rawExtraField=p.subarray(y,b),se(n,_,w,4);const x=n.encrypted&&_.encrypted,m=x&&!a;if(x){if(!m&&void 0===a.strength)throw new Error(te);if(!g)throw new Error($t)}const k=await Nt(l.Inflate,{codecType:It,password:g,zipCrypto:m,encryptionStrength:a&&a.strength,signed:le(n,e,"checkSignature"),passwordVerification:m&&(c.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=s,encrypted:x,useWebWorkers:le(n,e,"useWebWorkers")},l);t.initialized||await t.init();const v=le(n,e,"signal");return await o(k,i,t,b,f,l,{onprogress:h,signal:v}),t.getData()}}function ae(t,e,n){const i=t.rawBitFlag=fe(e,n+2),r=1==(1&i);Object.assign(t,{encrypted:r,version:fe(e,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&L)==L},rawLastModDate:he(e,n+6),lastModDate:de(t.rawLastModDate),filenameLength:fe(e,n+22),extraFieldLength:fe(e,n+24)})}function se(t,e,n,i){const r=e.rawExtraField,a=e.extraField=new Map,s=pe(new Uint8Array(r));let o=0;try{for(;oe[t]==I));for(let e=0;e{if(e[n]==I){if(!t||void 0===t[n])throw new Error(Qt);e[n]=t[n]}}))}(c,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&oe(d,"filename","rawFilename",e,t);const u=e.extraFieldUnicodeComment=a.get(25461);u&&oe(u,"comment","rawComment",e,t);const f=e.extraFieldAES=a.get(39169);f?function(t,e,n){if(t){const i=pe(t.data);t.vendorVersion=ue(i,0),t.vendorId=ue(i,2);const r=ue(i,4);t.strength=r,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=fe(i,5)}else e.compressionMethod=n}(f,e,l):e.compressionMethod=l}function oe(t,e,n,i,r){const a=pe(t.data);t.version=ue(a,0),t.signature=he(a,1);const s=new K;s.append(r[n]);const o=pe(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!r.bitFlag.languageEncodingFlag&&t.signature==he(o,0),t.valid&&(i[e]=t[e],i[e+"UTF8"]=!0)}function le(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function ce(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function ue(t,e){return t.getUint8(e)}function fe(t,e){return t.getUint16(e,!0)}function he(t,e){return t.getUint32(e,!0)}function _e(t,e){return Number(t.getBigUint64(e,!0))}function pe(t){return new DataView(t.buffer)}function we(t,e,n){return t.readUint8Array(e,n)}const ge="File already exists",ye="Zip file comment exceeds 64KB",be="File entry comment exceeds 64KB",xe="File entry name exceeds 64KB",me="Version exceeds 65535",ke="The modification date must be between 1/1/1980 and 12/31/2107",ve="The strength must equal 1, 2, or 3",Ae="Extra field type exceeds 65535",Ue="Extra field data exceeds 64KB",Ee=new Uint8Array([7,0,2,0,65,69,3,0,0]);function Re(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function ze(t,e,n){t.setUint8(e,n)}function Se(t,e,n){t.setUint16(e,n,!0)}function De(t,e,n){t.setUint32(e,n,!0)}function Ie(t,e,n){t.setBigUint64(e,n,!0)}function Fe(t,e,n){t.set(e,n)}function Ce(t){return new DataView(t.buffer)}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let i=0,r=0|e.length;i>>8^t[255&(n^e[i])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const i=t[t.length-1],r=n.getPartial(i);return 32===r?t.concat(e):n._shiftRight(e,r,0|i,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const i=t[e-1];return 32*(e-1)+n.getPartial(i)},clamp(t,e){if(32*t.length0&&e&&(t[i-1]=n.partial(e,t[i-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,i,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(i),i=0;if(0===e)return r.concat(t);for(let n=0;n>>e),i=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return r.push(n.partial(e+s&31,e+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(t){const e=n.bitLength(t)/8,i=new Uint8Array(e);let r;for(let n=0;n>>24,r<<=8;return i},toBits(t){const e=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let l=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*l,16*(l+1))),l+=1;return r.splice(0,16*l),e},finalize:function(){const t=this;let e=t._buffer;const i=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),i},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),l=["deriveBits"],c=[8,12,16],d=[16,24,32],u=[0,0,0,0],f=crypto.subtle,h=i.bytes,_=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,f,h,_=t[0]^n[0],p=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[p>>16&255]^l[w>>8&255]^c[255&g]^n[y],f=s[p>>>24]^o[w>>16&255]^l[g>>8&255]^c[255&_]^n[y+1],h=s[w>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[y+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&w]^n[y+3],y+=4,_=u,p=f,w=h;for(let t=0;t<4;t++)r[e?3&-t:t]=d[_>>>24]<<24^d[p>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=_,_=p,p=w,w=g,g=u;return r}},p=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,i){let r;if(!(r=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=h.toBits(k(e,o,o+16));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(h.fromBits(s),o+i)}return t.pendingInput=k(e,o),n}async function x(t,e,n){const i=(new TextEncoder).encode(e),r=await f.importKey("raw",i,s,!1,l),a=await f.deriveBits(Object.assign({salt:n},o),r,8*(2*d[t.strength]+2)),c=new Uint8Array(a);t.keys={key:h.toBits(k(c,0,d[t.strength])),authentication:h.toBits(k(c,d[t.strength],2*d[t.strength])),passwordVerification:k(c,2*d[t.strength])}}function m(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function k(t,e,n){return t.subarray(e,n)}class v{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=U(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return U(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(E(e,r),0),i=12}else n=new Uint8Array(t.length),i=0;return n.set(E(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function U(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function S(t){const e=2|t.keys[2];return D(Math.imul(e,1^e)>>>8)}function D(t){return 255&t}function I(t){return 4294967295&t}class F{constructor(t,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l}){const c=Boolean(i);Object.assign(this,{signature:n,encrypted:c,signed:r,compressed:a,inflate:a&&new t,crc32:r&&new e,zipCrypto:s,decrypt:c&&s?new v(i,o):new g(i,r,l)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new t({level:a||5}),crc32:i&&new e,zipCrypto:s,encrypt:n&&s?new A(o,l):new y(o,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const T={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),O=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await O.append(t.data)}),flush:()=>O.flush()};let O;function B(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,i=T[n];if(i)try{e.data&&(e.data=new Uint8Array(e.data));const t=await i(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const M=[0,1,2,3].concat(...B([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,u,f,h=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,h++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,u=0,l>=a&&(u=r[l-a]),f=n[2*l],e.opt_len+=f*(d+u),i&&(e.static_len+=f*(i[2*l+1]+u)));if(0!==h){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,h-=2}while(h>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function H(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}function L(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...B([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=function(t){return t<256?M[t]:M[256+(t>>>7)]},W.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],W.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,W.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,W.extra_dbits,0,30,15),H.static_bl_desc=new H(null,W.extra_blbits,0,19,7);const P=[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)],N=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function tt(t,e){let n;const i=e;Y>16-i?(n=t,Z|=n<>>16-Y,Y+=i-16):(Z|=t<=8&&(Q(255&Z),Z>>>=8,Y-=8)}function rt(e,n){let i,r,a;if(t.pending_buf[q+2*V]=e>>>8&255,t.pending_buf[q+2*V+1]=255&e,t.pending_buf[M+V]=255&n,V++,0===e?I[2*n]++:(K++,e--,I[2*(W._length_code[n]+256+1)]++,F[2*W.d_code(e)]++),0==(8191&V)&&R>2){for(i=8*V,r=m-g,a=0;a<30;a++)i+=F[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,K8?$(Z):Y>0&&Q(255&Z),Z=0,Y=0}function ot(e,n,i){tt(0+(i?1:0),3),function(e,n,i){st(),G=8,$(n),$(~n),t.pending_buf.set(l.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function lt(e,n,i){let r,a,s=0;R>0?(T.build_tree(t),O.build_tree(t),s=function(){let e;for(J(I,T.max_code),J(F,O.max_code),B.build_tree(t),e=18;e>=3&&0===C[2*W.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?ot(e,n,i):a==r?(tt(2+(i?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(i?1:0),3),function(t,e,n){let i;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),i=0;i=0?g:-1,m-g,t),g=m,e.flush_pending()}function dt(){let t,n,i,r;do{if(r=c-v-m,0===r&&0===m&&0===v)r=a;else if(-1==r)r--;else if(m>=a+a-262){l.set(l.subarray(a,a+a),0),k-=a,m-=a,g-=a,t=h,i=t;do{n=65535&u[--i],u[i]=n>=a?n-a:0}while(0!=--t);t=a,i=t;do{n=65535&d[--i],d[i]=n>=a?n-a:0}while(0!=--t);r+=a}if(0===e.avail_in)return;t=e.read_buf(l,m+v,r),v+=t,v>=3&&(f=255&l[m],f=(f<a-262?m-(a-262):0;let u=D;const f=o,h=m+258;let _=l[r+s-1],p=l[r+s];A>=S&&(i>>=2),u>v&&(u=v);do{if(e=t,l[e+s]==p&&l[e+s-1]==_&&l[e]==l[r]&&l[++e]==l[r+1]){r+=2,e++;do{}while(l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&rs){if(k=t,s=n,n>=u)break;_=l[r+s-1],p=l[r+s]}}}while((t=65535&d[t&f])>c&&0!=--i);return s<=v?s:v}function ft(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,r=0,T.dyn_tree=I,T.stat_desc=H.static_l_desc,O.dyn_tree=F,O.stat_desc=H.static_d_desc,B.dyn_tree=C,B.stat_desc=H.static_bl_desc,Z=0,Y=0,G=8,X(),function(){c=2*a,u[h-1]=0;for(let t=0;t9||8!=c||r<9||r>15||n<0||n>9||g<0||g>2?-2:(e.dstate=t,s=r,a=1<9||n<0||n>2?-2:(P[R].func!=P[e].func&&0!==t.total_in&&(i=t.deflate(1)),R!=e&&(R=e,E=P[R].max_lazy,S=P[R].good_length,D=P[R].nice_length,U=P[R].max_chain),z=n,i)},t.deflateSetDictionary=function(t,e,i){let r,s=i,c=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,c=i-s),l.set(e.subarray(c,c+s),0),m=s,g=s,f=255&l[0],f=(f<4||_<0)return-2;if(!c.next_out||!c.next_in&&0!==c.avail_in||666==n&&4!=_)return c.msg=N[4],-2;if(0===c.avail_out)return c.msg=N[7],-5;var C;if(e=c,I=r,r=_,42==n&&(S=8+(s-8<<4)<<8,D=(R-1&255)>>1,D>3&&(D=3),S|=D<<6,0!==m&&(S|=32),S+=31-S%31,n=113,Q((C=S)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return r=-1,0}else if(0===e.avail_in&&_<=I&&4!=_)return e.msg=N[7],-5;if(666==n&&0!==e.avail_in)return c.msg=N[7],-5;if(0!==e.avail_in||0!==v||0!=_&&666!=n){switch(F=-1,P[R].func){case 0:F=function(t){let n,r=65535;for(r>i-5&&(r=i-5);;){if(v<=1){if(dt(),0===v&&0==t)return 0;if(0===v)break}if(m+=v,v=0,n=g+r,(0===m||m>=n)&&(v=m-n,m=n,ct(!1),0===e.avail_out))return 0;if(m-g>=a-262&&(ct(!1),0===e.avail_out))return 0}return ct(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(_);break;case 1:F=function(t){let n,i=0;for(;;){if(v<262){if(dt(),v<262&&0==t)return 0;if(0===v)break}if(v>=3&&(f=(f<=3)if(n=rt(m-k,y-3),v-=y,y<=E&&v>=3){y--;do{m++,f=(f<=3&&(f=(f<4096)&&(y=2)),A>=3&&y<=A){i=m+v-3,n=rt(m-1-b,A-3),v-=A-1,A-=2;do{++m<=i&&(f=(f<0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}}q.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const G=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Z=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,u,f,h,_){let p,w,g,y,b,x,m,k,v,A,U,E,R,z,S;A=0,b=s;do{n[t[e+A]]++,A++,b--}while(0!==b);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(k=u[0],x=1;x<=15&&0===n[x];x++);for(m=x,kb&&(k=b),u[0]=k,z=1<E+k;){if(y++,E+=k,S=g-E,S=S>k?k:S,(w=1<<(x=m-E))>p+1&&(w-=p+1,R=m,x1440)return-3;r[y]=U=h[0],h[0]+=S,0!==y?(a[y]=b,i[0]=x,i[1]=k,x=b>>>E-k,i[2]=U-r[y-1]-x,f.set(i,3*(r[y-1]+x))):d[0]=U}for(i[1]=m-E,A>=s?i[0]=192:_[A]>>E;x>>=1)b^=x;for(b^=x,v=(1<257?(-3==h?f.msg="oversubscribed distance tree":-5==h?(f.msg="incomplete distance tree",h=-3):-4!=h&&(f.msg="empty distance tree with lengths",h=-3),h):0)}}function et(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,h=0,_=0;function p(t,e,n,i,r,a,s,o){let l,c,d,u,f,h,_,p,w,g,y,b,x,m,k,v;_=o.next_in_index,p=o.avail_in,f=s.bitb,h=s.bitk,w=s.write,g=w>=c[v+1],h-=c[v+1],0!=(16&u)){for(u&=15,x=c[v+2]+(f&G[u]),f>>=u,h-=u;h<15;)p--,f|=(255&o.read_byte(_++))<>=c[v+1],h-=c[v+1],0!=(16&u)){for(u&=15;h>=u,h-=u,g-=x,w>=m)k=w-m,w-k>0&&2>w-k?(s.window[w++]=s.window[k++],s.window[w++]=s.window[k++],x-=2):(s.window.set(s.window.subarray(k,k+2),w),w+=2,k+=2,x-=2);else{k=w-m;do{k+=s.end}while(k<0);if(u=s.end-k,x>u){if(x-=u,w-k>0&&u>w-k)do{s.window[w++]=s.window[k++]}while(0!=--u);else s.window.set(s.window.subarray(k,k+u),w),w+=u,k+=u,u=0;k=0}}if(w-k>0&&x>w-k)do{s.window[w++]=s.window[k++]}while(0!=--x);else s.window.set(s.window.subarray(k,k+x),w),w+=x,k+=x,x=0;break}if(0!=(64&u))return o.msg="invalid distance code",x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,-3;l+=c[v+2],l+=f&G[u],v=3*(d+l),u=c[v]}break}if(0!=(64&u))return 0!=(32&u)?(x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,1):(o.msg="invalid literal/length code",x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,-3);if(l+=c[v+2],l+=f&G[u],v=3*(d+l),0===(u=c[v])){f>>=c[v+1],h-=c[v+1],s.window[w++]=c[v+2],g--;break}}else f>>=c[v+1],h-=c[v+1],s.window[w++]=c[v+2],g--}while(g>=258&&p>=10);return x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,0}t.init=function(t,a,s,o,l,c){e=0,u=t,f=a,i=s,h=o,r=l,_=c,n=null},t.proc=function(t,w,g){let y,b,x,m,k,v,A,U=0,E=0,R=0;for(R=w.next_in_index,m=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k=258&&m>=10&&(t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,g=p(u,f,i,h,r,_,t,w),R=w.next_in_index,m=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k>>=n[b+1],E-=n[b+1],x=n[b],0===x){l=n[b+2],e=6;break}if(0!=(16&x)){c=15&x,a=n[b+2],e=2;break}if(0==(64&x)){o=x,s=b/3+n[b+2];break}if(0!=(32&x)){e=7;break}return e=9,w.msg="invalid literal/length code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 2:for(y=c;E>=y,E-=y,o=f,n=r,s=_,e=3;case 3:for(y=o;E>=n[b+1],E-=n[b+1],x=n[b],0!=(16&x)){c=15&x,d=n[b+2],e=4;break}if(0==(64&x)){o=x,s=b/3+n[b+2];break}return e=9,w.msg="invalid distance code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 4:for(y=c;E>=y,E-=y,e=5;case 5:for(A=k-d;A<0;)A+=t.end;for(;0!==a;){if(0===v&&(k==t.end&&0!==t.read&&(k=0,v=k7&&(E-=8,m++,R--),t.write=k,g=t.inflate_flush(w,g),k=t.write,v=kt.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let _,p,w,g,y,b,x,m;for(g=t.next_in_index,y=t.avail_in,p=n.bitb,w=n.bitk,b=n.write,x=b>>1){case 0:p>>>=3,w-=3,_=7&w,p>>>=_,w-=_,r=1;break;case 1:k=[],v=[],A=[[]],U=[[]],tt.inflate_trees_fixed(k,v,A,U),d.init(k[0],v[0],A[0],0,U[0],0),p>>>=3,w-=3,r=6;break;case 2:p>>>=3,w-=3,r=3;break;case 3:return p>>>=3,w-=3,r=9,t.msg="invalid block type",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e)}break;case 1:for(;w<32;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>16&65535)!=(65535&p))return r=9,t.msg="invalid stored block lengths",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);a=65535&p,p=w=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(0===x&&(b==n.end&&0!==n.read&&(b=0,x=by&&(_=y),_>x&&(_=x),n.window.set(t.read_buf(g,_),b),g+=_,y-=_,b+=_,x-=_,0!=(a-=_))break;r=0!==u?7:0;break;case 3:for(;w<14;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<29||(_>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(_=258+(31&_)+(_>>5&31),!i||i.length<_)i=[];else for(m=0;m<_;m++)i[m]=0;p>>>=14,w-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;w<3;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=3,w-=3}for(;o<19;)i[nt[o++]]=0;if(l[0]=7,_=h.inflate_trees_bits(i,l,c,f,t),0!=_)return-3==(e=_)&&(i=null,r=9),n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);o=0,r=5;case 5:for(;_=s,!(o>=258+(31&_)+(_>>5&31));){let a,d;for(_=l[0];w<_;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=_,w-=_,i[o++]=d;else{for(m=18==d?7:d-14,a=18==d?11:3;w<_+m;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=_,w-=_,a+=p&G[m],p>>>=m,w-=m,m=o,_=s,m+a>258+(31&_)+(_>>5&31)||16==d&&m<1)return i=null,r=9,t.msg="invalid bit length repeat",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d=16==d?i[m-1]:0;do{i[m++]=d}while(0!=--a);o=m}}if(c[0]=-1,E=[],R=[],z=[],S=[],E[0]=9,R[0]=6,_=s,_=h.inflate_trees_dynamic(257+(31&_),1+(_>>5&31),i,E,R,z,S,f,t),0!=_)return-3==_&&(i=null,r=9),e=_,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d.init(E[0],R[0],f,z[0],f,S[0]),r=6;case 6:if(n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),g=t.next_in_index,y=t.avail_in,p=n.bitb,w=n.bitk,b=n.write,x=b15?(t.inflateEnd(n),-2):(t.wbits=i,n.istate.blocks=new it(n,1<>4)>r.wbits){r.mode=13,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=13,t.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(t,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return r>=1<0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=K,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));r({workerScripts:{inflate:[e],deflate:[e]}})}})(),t.BlobReader=m,t.BlobWriter=k,t.Data64URIReader=class extends b{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),i=4*Math.floor(t/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(i/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},t.ERR_ABORT=s,t.ERR_BAD_FORMAT=Kt,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Xt,t.ERR_DUPLICATED_NAME=ge,t.ERR_ENCRYPTED=$t,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Yt,t.ERR_EOCDR_NOT_FOUND=Gt,t.ERR_EOCDR_ZIP64_NOT_FOUND=Zt,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Qt,t.ERR_HTTP_RANGE=u,t.ERR_INVALID_COMMENT=ye,t.ERR_INVALID_DATE=ke,t.ERR_INVALID_ENCRYPTION_STRENGTH=ve,t.ERR_INVALID_ENTRY_COMMENT=be,t.ERR_INVALID_ENTRY_NAME=xe,t.ERR_INVALID_EXTRAFIELD_DATA=Ue,t.ERR_INVALID_EXTRAFIELD_TYPE=Ae,t.ERR_INVALID_PASSWORD=$,t.ERR_INVALID_SIGNATURE=Ft,t.ERR_INVALID_VERSION=me,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Jt,t.ERR_UNSUPPORTED_COMPRESSION=ee,t.ERR_UNSUPPORTED_ENCRYPTION=te,t.HttpRangeReader=class extends S{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=S,t.Reader=b,t.TextReader=class extends b{constructor(t){super(),this.blobReader=new m(new Blob([t],{type:f}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}},t.TextWriter=class extends x{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:f})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:f})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}},t.Uint8ArrayReader=class extends b{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}},t.Uint8ArrayWriter=class extends x{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}},t.Writer=x,t.ZipReader=class{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:i()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Kt);const i=await async function(t,e,n,i,r){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(pe(a),0,e);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(e){const r=n-e,s=await we(t,r,e);for(let t=s.length-i;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:r+t,buffer:s.slice(t,t+i).buffer}}}(n,B,n.size,22,1048560);if(!i)throw new Error(Gt);const r=pe(i);let a=he(r,12),s=he(r,16),o=fe(r,8),l=0;if(s==I||o==F){const t=pe(await we(n,i.offset-20,20));if(he(t,0)!=W)throw new Error(Zt);s=_e(t,8);let e=await we(n,s,56),r=pe(e);const c=i.offset-20-56;if(he(r,0)!=M&&s!=c){const t=s;s=c,l=s-t,e=await we(n,s,56),r=pe(e)}if(he(r,0)!=M)throw new Error(Yt);o=_e(r,24),a=he(t,4),s-=_e(r,40)}if(s<0||s>=n.size)throw new Error(Kt);let c=0,d=await we(n,s,n.size-s),u=pe(d);const f=i.offset-a;if(he(u,c)!=O&&s!=f){const t=s;s=f,l=s-t,d=await we(n,s,n.size-s),u=pe(d)}if(s<0||s>=n.size)throw new Error(Kt);const h=[];for(let i=0;ii.getData(t,e),h.push(_),c=f}return h}async close(){}},t.ZipWriter=class{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:i(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const i=this;if(t=t.trim(),n.directory&&!t.endsWith(P)?t+=P:n.directory=t.endsWith(P),i.files.has(t))throw new Error(ge);const r=(new TextEncoder).encode(t);if(r.length>F)throw new Error(xe);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>F)throw new Error(be);const l=i.options.version||n.version||0;if(l>F)throw new Error(me);const c=n.lastModDate||new Date;if(cN)throw new Error(ke);const d=Re(i,n,"password"),u=Re(i,n,"encryptionStrength")||3,f=Re(i,n,"zipCrypto");if(void 0!==d&&void 0!==u&&(u<1||u>3))throw new Error(ve);e&&!e.initialized&&await e.init();let h=new Uint8Array(0);const _=n.extraField;if(_){let t=0,e=0;_.forEach((e=>t+=4+e.length)),h=new Uint8Array(t),_.forEach(((t,n)=>{if(n>F)throw new Error(Ae);if(t.length>F)throw new Error(Ue);Fe(h,new Uint16Array([n]),e),Fe(h,new Uint16Array([t.length]),e+2),Fe(h,t,e+4),e+=4+t.length}))}const p=e?Math.floor(1.05*e.size):0;i.pendingOutputSize+=p,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=I||p>=I||i.offset+i.pendingOutputSize>=I,g=Re(i,n,"level"),y=Re(i,n,"useWebWorkers"),b=Re(i,n,"bufferedWrite");let x=Re(i,n,"keepOrder"),m=Re(i,n,"dataDescriptor");const v=Re(i,n,"signal");void 0===m&&(m=!0),void 0===x&&(x=!0);const A=await async function(t,e,n,i){const r=t.files,a=t.writer;let s,l;r.set(e,null);try{let c,d,u;try{i.keepOrder&&(c=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>l=t))),i.bufferedWrite||t.lockWrite||!i.dataDescriptor?(d=new k,d.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),d=a),u=await async function(t,e,n,i){const{rawFilename:r,lastModDate:a,password:s,level:l,zip64:c,zipCrypto:d,dataDescriptor:u,directory:f,version:h,rawComment:_,rawExtraField:p,useWebWorkers:w,onprogress:g,signal:y,encryptionStrength:b}=i,x=Boolean(s&&s.length),m=0!==l&&!f;let k;if(x&&!d){k=new Uint8Array(Ee.length+2);const t=Ce(k);Se(t,0,H),Fe(k,Ee,2),ze(t,8,b)}else k=new Uint8Array(0);const v={version:h||20,zip64:c,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:c?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:k,rawExtraField:p};let A=L;u&&(A|=8);let U=0;m&&(U=8);c&&(v.version=v.version>45?v.version:45);x&&(A|=1,d||(v.version=v.version>51?v.version:51,U=99,m&&(v.rawExtraFieldAES[9]=8)));const E=v.headerArray=new Uint8Array(26),R=Ce(E);Se(R,0,v.version),Se(R,2,A),Se(R,4,U);const z=new Uint32Array(1),S=Ce(z);Se(S,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Se(S,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const D=z[0];De(R,6,D),Se(R,22,r.length),Se(R,24,0),Se(R,24,k.length+v.rawExtraField.length);const F=new Uint8Array(30+r.length+k.length+v.rawExtraField.length);let O;De(Ce(F),0,C),Fe(F,E,4),Fe(F,r,30),Fe(F,k,30+r.length),Fe(F,v.rawExtraField,30+r.length+k.length);let B=0,M=0;if(t){B=t.size;const i=await Nt(n.Deflate,{codecType:Dt,level:l,password:s,encryptionStrength:b,zipCrypto:x&&d,passwordVerification:x&&d&&D>>8&255,signed:!0,compressed:m,encrypted:x,useWebWorkers:w},n);await e.writeUint8Array(F),O=await o(i,t,e,0,B,n,{onprogress:g,signal:y}),M=O.length}else await e.writeUint8Array(F);let W,P=new Uint8Array(0);u&&(P=new Uint8Array(c?24:16),W=Ce(P),De(W,0,T));if(t){const t=O.signature;if(x&&!d||void 0===t||(De(R,10,t),v.signature=t,u&&De(W,4,t)),c){const t=Ce(v.rawExtraFieldZip64);Se(t,0,1),Se(t,2,24),De(R,14,I),Ie(t,12,BigInt(M)),De(R,18,I),Ie(t,4,BigInt(B)),u&&(Ie(W,8,BigInt(M)),Ie(W,16,BigInt(B)))}else De(R,14,M),De(R,18,B),u&&(De(W,8,M),De(W,12,B))}u&&await e.writeUint8Array(P);const N=F.length+M+P.length;return Object.assign(v,{compressedSize:M,uncompressedSize:B,lastModDate:a,rawLastModDate:D,encrypted:x,length:N}),v}(n,d,t.config,i)}catch(t){throw r.delete(e),t}if(r.set(e,u),d!=a){const e=d.getData(),n=new FileReader,r=new Promise(((t,i)=>{n.onload=e=>t(e.target.result),n.onerror=i,n.readAsArrayBuffer(e)})),[s]=await Promise.all([r,t.lockWrite,c]);if(!i.dataDescriptor){const t=new DataView(s);u.encrypted&&!i.zipCrypto||De(t,14,u.signature),u.zip64?(De(t,18,I),De(t,22,I)):(De(t,18,u.compressedSize),De(t,22,u.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(u.offset=t.offset,u.zip64){Ie(Ce(u.rawExtraFieldZip64),20,BigInt(u.offset))}return t.offset+=u.length,u}finally{l&&l(),s&&s()}}(i,t,e,Object.assign({},n,{rawFilename:r,rawComment:s,version:l,lastModDate:c,rawExtraField:h,zip64:w,password:d,level:g,useWebWorkers:y,encryptionStrength:u,zipCrypto:f,bufferedWrite:b,keepOrder:x,dataDescriptor:m,signal:v}));return i.pendingOutputSize-=p,Object.assign(A,{name:t,comment:a,extraField:_}),new qt(A)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,i=e.files;let r=0,a=0,s=e.offset,o=i.size;for(const[,t]of i)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const l=e.options.zip64||s>=I||a>=I||o>=F,c=new Uint8Array(a+(l?98:22)),d=Ce(c);if(t.length){if(!(t.length<=F))throw new Error(ye);Se(d,r+20,t.length)}for(const[,t]of i){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:u,zip64:f}=t,h=n.length+i.length+a.length;De(d,r,O),Se(d,r+4,o),Fe(c,l,r+6),Se(d,r+30,h),Se(d,r+32,s.length),u&&ze(d,r+38,16),De(d,r+42,f?I:t.offset),Fe(c,e,r+46),Fe(c,n,r+46+e.length),Fe(c,i,r+46+e.length+n.length),Fe(c,a,46+e.length+n.length+i.length),Fe(c,s,r+46+e.length+h),r+=46+e.length+h+s.length}return l&&(De(d,r,M),Ie(d,r+4,BigInt(44)),Se(d,r+12,45),Se(d,r+14,45),Ie(d,r+24,BigInt(o)),Ie(d,r+32,BigInt(o)),Ie(d,r+40,BigInt(a)),Ie(d,r+48,BigInt(s)),De(d,r+56,W),Ie(d,r+64,BigInt(s)+BigInt(a)),De(d,r+72,1),o=F,s=I,a=I,r+=76),De(d,r,B),Se(d,r+8,o),Se(d,r+10,o),De(d,r+12,a),De(d,r+16,s),await n.writeUint8Array(c),t.length&&await n.writeUint8Array(t),n.getData()}},t.configure=r,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:a(t.Deflate,e.deflate,n),Inflate:a(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).zip={})}(this,(function(t){"use strict";const e={chunkSize:524288,maxWorkers:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||2,useWebWorkers:!0,workerScripts:void 0},n=Object.assign({},e);function i(){return n}function r(t){if(void 0!==t.chunkSize&&(n.chunkSize=t.chunkSize),void 0!==t.maxWorkers&&(n.maxWorkers=t.maxWorkers),void 0!==t.useWebWorkers&&(n.useWebWorkers=t.useWebWorkers),void 0!==t.Deflate&&(n.Deflate=t.Deflate),void 0!==t.Inflate&&(n.Inflate=t.Inflate),void 0!==t.workerScripts){if(t.workerScripts.deflate){if(!Array.isArray(t.workerScripts.deflate))throw new Error("workerScripts.deflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.deflate=t.workerScripts.deflate}if(t.workerScripts.inflate){if(!Array.isArray(t.workerScripts.inflate))throw new Error("workerScripts.inflate must be an array");n.workerScripts||(n.workerScripts={}),n.workerScripts.inflate=t.workerScripts.inflate}}}function a(t,e,n){return class{constructor(i){const r=this;r.codec=new t(Object.assign({},e,i)),n(r.codec,(t=>{if(r.pendingData){const e=r.pendingData;r.pendingData=new Uint8Array(e.length+t.length),r.pendingData.set(e,0),r.pendingData.set(t,e.length)}else r.pendingData=new Uint8Array(t)}))}async append(t){return this.codec.push(t),i(this)}async flush(){return this.codec.push(new Uint8Array(0),!0),i(this)}};function i(t){if(t.pendingData){const e=t.pendingData;return t.pendingData=null,e}return new Uint8Array(0)}}const s="Abort error";async function o(t,e,n,i,r,a,s){const o=Math.max(a.chunkSize,64);return async function a(d=0,u=0){const f=s.signal;if(d{n.onload=t=>i(new Uint8Array(t.target.result)),n.onerror=r,n.readAsArrayBuffer(this.blob.slice(t,t+e))}))}}class k extends x{constructor(t){super(),this.offset=0,this.contentType=t,this.blob=new Blob([],{type:t})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:this.contentType}),this.offset=this.blob.size}getData(){return this.blob}}class v extends b{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests,this.options=Object.assign({},e),delete this.options.preventHeadRequest,delete this.options.useRangeHeader,delete this.options.forceRangeRequests,delete this.options.useXHR}async init(){if(super.init(),D(this.url)&&!this.preventHeadRequest){const t=await U(p,this.url,this.options);if(this.size=Number(t.headers.get(h)),!this.forceRangeRequests&&this.useRangeHeader&&t.headers.get(_)!=g)throw new Error(u);void 0===this.size&&await A(this,this.options)}else await A(this,this.options)}async readUint8Array(t,e){if(this.useRangeHeader){const n=await U(w,this.url,this.options,Object.assign({},this.options.headers,{HEADER_RANGE:"bytes="+t+"-"+(t+e-1)}));if(206!=n.status)throw new Error(u);return new Uint8Array(await n.arrayBuffer())}return this.data||await A(this,this.options),new Uint8Array(this.data.subarray(t,t+e))}}async function A(t,e){const n=await U(w,t.url,e);t.data=new Uint8Array(await n.arrayBuffer()),t.size||(t.size=t.data.length)}async function U(t,e,n,i){i=Object.assign({},n.headers,i);const r=await fetch(e,Object.assign({},n,{method:t,headers:i}));if(r.status<400)return r;throw new Error(d+(r.statusText||r.status))}class E extends b{constructor(t,e){super(),this.url=t,this.preventHeadRequest=e.preventHeadRequest,this.useRangeHeader=e.useRangeHeader,this.forceRangeRequests=e.forceRangeRequests}async init(){if(super.init(),D(this.url)&&!this.preventHeadRequest)return new Promise(((t,e)=>z(p,this.url,(n=>{this.size=Number(n.getResponseHeader(h)),this.useRangeHeader?this.forceRangeRequests||n.getResponseHeader(_)==g?t():e(new Error(u)):void 0===this.size?R(this,this.url).then((()=>t())).catch(e):t()}),e)));await R(this,this.url)}async readUint8Array(t,e){if(!this.useRangeHeader)return this.data||await R(this,this.url),new Uint8Array(this.data.subarray(t,t+e));if(206!=(await new Promise(((n,i)=>z(w,this.url,(t=>n(new Uint8Array(t.response))),i,[["Range","bytes="+t+"-"+(t+e-1)]])))).status)throw new Error(u)}}function R(t,e){return new Promise(((n,i)=>z(w,e,(e=>{t.data=new Uint8Array(e.response),t.size||(t.size=t.data.length),n()}),i)))}function z(t,e,n,i,r=[]){const a=new XMLHttpRequest;return a.addEventListener("load",(()=>{a.status<400?n(a):i(d+(a.statusText||a.status))}),!1),a.addEventListener("error",i,!1),a.open(t,e),r.forEach((t=>a.setRequestHeader(t[0],t[1]))),a.responseType="arraybuffer",a.send(),a}class S extends b{constructor(t,e={}){super(),this.url=t,e.useXHR?this.reader=new E(t,e):this.reader=new v(t,e)}set size(t){}get size(){return this.reader.size}async init(){super.init(),await this.reader.init()}async readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}function D(t){if("undefined"!=typeof document){const e=document.createElement("a");return e.href=t,"http:"==e.protocol||"https:"==e.protocol}return/^https?:\/\//i.test(t)}const I=4294967295,F=65535,C=67324752,T=134695760,O=33639248,B=101010256,M=101075792,W=117853008,H=39169,L=2048,P="/",N=new Date(2107,11,31),j=new Date(1980,0,1),V="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");const q=[];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=e>>>1^3988292384:e>>>=1;q[t]=e}class K{constructor(t){this.crc=t||-1}append(t){let e=0|this.crc;for(let n=0,i=0|t.length;n>>8^q[255&(e^t[n])];this.crc=e}get(){return~this.crc}}const G={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const n=t[t.length-1],i=G.getPartial(n);return 32===i?t.concat(e):G._shiftRight(e,i,0|n,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const n=t[e-1];return 32*(e-1)+G.getPartial(n)},clamp(t,e){if(32*t.length0&&e&&(t[n-1]=G.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,n,i){for(void 0===i&&(i=[]);e>=32;e-=32)i.push(n),n=0;if(0===e)return i.concat(t);for(let r=0;r>>e),n=t[r]<<32-e;const r=t.length?t[t.length-1]:0,a=G.getPartial(r);return i.push(G.partial(e+a&31,e+a>32?n:i.pop(),1)),i}},Z={bytes:{fromBits(t){const e=G.bitLength(t)/8,n=new Uint8Array(e);let i;for(let r=0;r>>24,i<<=8;return n},toBits(t){const e=[];let n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(n);let s=0;for(let t=e.blockSize+i-(e.blockSize+i&e.blockSize-1);t<=r;t+=e.blockSize)e._block(a.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),e},finalize:function(){const t=this;let e=t._buffer;const n=t._h;e=G.concat(e,[G.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const X={aes:class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,f,h,_=t[0]^n[0],p=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[p>>16&255]^l[w>>8&255]^c[255&g]^n[y],f=s[p>>>24]^o[w>>16&255]^l[g>>8&255]^c[255&_]^n[y+1],h=s[w>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[y+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&w]^n[y+3],y+=4,_=u,p=f,w=h;for(let t=0;t<4;t++)r[e?3&-t:t]=d[_>>>24]<<24^d[p>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=_,_=p,p=w,w=g,g=u;return r}}},J={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let i;if(!(i=e.length))return[];const r=G.bitLength(e);for(let r=0;rr&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%tt)),o=0;o<=s-tt;o+=tt){const r=dt.toBits(bt(e,o,o+tt));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(dt.fromBits(s),o+i)}return t.pendingInput=bt(e,o),n}async function gt(t,e,n){const i=(new TextEncoder).encode(e),r=await ct.importKey("raw",i,nt,!1,rt),a=await ct.deriveBits(Object.assign({salt:n},it),r,8*(2*st[t.strength]+2)),s=new Uint8Array(a);t.keys={key:dt.toBits(bt(s,0,st[t.strength])),authentication:dt.toBits(bt(s,st[t.strength],2*st[t.strength])),passwordVerification:bt(s,2*st[t.strength])}}function yt(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function bt(t,e,n){return t.subarray(e,n)}const xt=12;class mt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Ut(this,t)}async append(t){const e=this;if(e.password){const n=vt(e,t.subarray(0,xt));if(e.password=null,n[11]!=e.passwordVerification)throw new Error($);t=t.subarray(xt)}return vt(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class kt{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),Ut(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(xt));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(At(e,r),0),i=xt}else n=new Uint8Array(t.length),i=0;return n.set(At(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function vt(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function Rt(t){const e=2|t.keys[2];return zt(Math.imul(e,1^e)>>>8)}function zt(t){return 255&t}function St(t){return 4294967295&t}const Dt="deflate",It="inflate",Ft="Invalid signature";class Ct{constructor(t,{signature:e,password:n,signed:i,compressed:r,zipCrypto:a,passwordVerification:s,encryptionStrength:o}){const l=Boolean(n);Object.assign(this,{signature:e,encrypted:l,signed:i,compressed:r,inflate:r&&new t,crc32:i&&new K,zipCrypto:a,decrypt:l&&a?new mt(n,s):new _t(n,i,o)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error(Ft);n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error(Ft)}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class Tt{constructor(t,{encrypted:e,signed:n,compressed:i,level:r,zipCrypto:a,password:s,passwordVerification:o,encryptionStrength:l}){Object.assign(this,{encrypted:e,signed:n,compressed:i,deflate:i&&new t({level:r||5}),crc32:n&&new K,zipCrypto:a,encrypt:e&&a?new kt(s,o):new pt(s,l)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const Ot="init",Bt="append",Mt="flush",Wt="message";var Ht=(t,e,n,i,r,a)=>(Object.assign(t,{busy:!0,codecConstructor:e,options:Object.assign({},n),scripts:a,webWorker:r,onTaskFinished(){t.busy=!1;i(t)&&t.worker&&t.worker.terminate()}}),r?function(t){let e;t.interface||(t.worker=new Worker(new URL(t.scripts[0],"undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("zip.min.js",document.baseURI).href)),t.worker.addEventListener(Wt,r,!1),t.interface={append:t=>n({type:Bt,data:t}),flush:()=>n({type:Mt})});return t.interface;async function n(n){if(!e){const e=t.options,n=t.scripts.slice(1);await i({scripts:n,type:Ot,options:e})}return i(n)}function i(n){const i=t.worker,r=new Promise(((t,n)=>e={resolve:t,reject:n}));try{if(n.data)try{n.data=n.data.buffer,i.postMessage(n,[n.data])}catch(t){i.postMessage(n)}else i.postMessage(n)}catch(n){e.reject(n),e=null,t.onTaskFinished()}return r}function r(n){const i=n.data;if(e){const n=i.error,r=i.type;if(n){const i=new Error(n.message);i.stack=n.stack,e.reject(i),e=null,t.onTaskFinished()}else if(r==Ot||r==Mt||r==Bt){const n=i.data;r==Mt?(e.resolve({data:new Uint8Array(n),signature:i.signature}),e=null,t.onTaskFinished()):e.resolve(n&&new Uint8Array(n))}}}}(t):function(t){const e=function(t,e){return e.codecType.startsWith(Dt)?new Tt(t,e):e.codecType.startsWith(It)?new Ct(t,e):void 0}(t.codecConstructor,t.options);return{async append(n){try{return await e.append(n)}catch(e){throw t.onTaskFinished(),e}},async flush(){try{return await e.flush()}finally{t.onTaskFinished()}}}}(t));let Lt=[],Pt=[];function Nt(t,e,n){const i=!(!e.compressed&&!e.signed&&!e.encrypted)&&(e.useWebWorkers||void 0===e.useWebWorkers&&n.useWebWorkers),r=i&&n.workerScripts?n.workerScripts[e.codecType]:[];if(Lt.length!t.busy));return n?Ht(n,t,e,jt,i,r):new Promise((n=>Pt.push({resolve:n,codecConstructor:t,options:e,webWorker:i,scripts:r})))}}function jt(t){const e=!Pt.length;if(e)Lt=Lt.filter((e=>e!=t));else{const[{resolve:e,codecConstructor:n,options:i,webWorker:r,scripts:a}]=Pt.splice(0,1);e(Ht(t,n,i,jt,r,a))}return e}const Vt=["filename","rawFilename","directory","encrypted","compressedSize","uncompressedSize","lastModDate","rawLastModDate","comment","rawComment","signature","extraField","rawExtraField","bitFlag","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","filenameUTF8","commentUTF8","offset","zip64"];class qt{constructor(t){Vt.forEach((e=>this[e]=t[e]))}}const Kt="File format is not recognized",Gt="End of central directory not found",Zt="End of Zip64 central directory not found",Yt="End of Zip64 central directory locator not found",Xt="Central directory header not found",Jt="Local file header not found",Qt="Zip64 extra field not found",$t="File contains encrypted entry",te="Encryption method not supported",ee="Compression method not supported",ne="utf-8",ie=["uncompressedSize","compressedSize","offset"];class re{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e={}){const n=this,{reader:i,offset:r,extraFieldAES:a,compressionMethod:s,config:l,bitFlag:c,signature:d,rawLastModDate:u,compressedSize:f,onprogress:h}=n,_=n.localDirectory={};i.initialized||await i.init();const p=await we(i,r,30),w=pe(p);let g=le(n,e,"password");if(g=g&&g.length&&g,a&&99!=a.originalCompressionMethod)throw new Error(ee);if(0!=s&&8!=s)throw new Error(ee);if(he(w,0)!=C)throw new Error(Jt);ae(_,w,4);const y=r+30+_.filenameLength,b=y+_.extraFieldLength;_.rawExtraField=p.subarray(y,b),se(n,_,w,4);const x=n.encrypted&&_.encrypted,m=x&&!a;if(x){if(!m&&void 0===a.strength)throw new Error(te);if(!g)throw new Error($t)}const k=await Nt(l.Inflate,{codecType:It,password:g,zipCrypto:m,encryptionStrength:a&&a.strength,signed:le(n,e,"checkSignature"),passwordVerification:m&&(c.dataDescriptor?u>>>8&255:d>>>24&255),signature:d,compressed:0!=s,encrypted:x,useWebWorkers:le(n,e,"useWebWorkers")},l);t.initialized||await t.init();const v=le(n,e,"signal");return await o(k,i,t,b,f,l,{onprogress:e.onprogress,signal:v}),t.getData()}}function ae(t,e,n){const i=t.rawBitFlag=fe(e,n+2),r=1==(1&i);Object.assign(t,{encrypted:r,version:fe(e,n),bitFlag:{level:(6&i)>>1,dataDescriptor:8==(8&i),languageEncodingFlag:(i&L)==L},rawLastModDate:he(e,n+6),lastModDate:de(t.rawLastModDate),filenameLength:fe(e,n+22),extraFieldLength:fe(e,n+24)})}function se(t,e,n,i){const r=e.rawExtraField,a=e.extraField=new Map,s=pe(new Uint8Array(r));let o=0;try{for(;oe[t]==I));for(let e=0;e{if(e[n]==I){if(!t||void 0===t[n])throw new Error(Qt);e[n]=t[n]}}))}(c,e);const d=e.extraFieldUnicodePath=a.get(28789);d&&oe(d,"filename","rawFilename",e,t);const u=e.extraFieldUnicodeComment=a.get(25461);u&&oe(u,"comment","rawComment",e,t);const f=e.extraFieldAES=a.get(39169);f?function(t,e,n){if(t){const i=pe(t.data);t.vendorVersion=ue(i,0),t.vendorId=ue(i,2);const r=ue(i,4);t.strength=r,t.originalCompressionMethod=n,e.compressionMethod=t.compressionMethod=fe(i,5)}else e.compressionMethod=n}(f,e,l):e.compressionMethod=l}function oe(t,e,n,i,r){const a=pe(t.data);t.version=ue(a,0),t.signature=he(a,1);const s=new K;s.append(r[n]);const o=pe(new Uint8Array(4));o.setUint32(0,s.get(),!0),t[e]=(new TextDecoder).decode(t.data.subarray(5)),t.valid=!r.bitFlag.languageEncodingFlag&&t.signature==he(o,0),t.valid&&(i[e]=t[e],i[e+"UTF8"]=!0)}function le(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function ce(t,e){return e&&"cp437"!=e.trim().toLowerCase()?new TextDecoder(e).decode(t):(t=>{let e="";for(let n=0;n>16,n=65535&t;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(t){}}function ue(t,e){return t.getUint8(e)}function fe(t,e){return t.getUint16(e,!0)}function he(t,e){return t.getUint32(e,!0)}function _e(t,e){return Number(t.getBigUint64(e,!0))}function pe(t){return new DataView(t.buffer)}function we(t,e,n){return t.readUint8Array(e,n)}const ge="File already exists",ye="Zip file comment exceeds 64KB",be="File entry comment exceeds 64KB",xe="File entry name exceeds 64KB",me="Version exceeds 65535",ke="The modification date must be between 1/1/1980 and 12/31/2107",ve="The strength must equal 1, 2, or 3",Ae="Extra field type exceeds 65535",Ue="Extra field data exceeds 64KB",Ee=new Uint8Array([7,0,2,0,65,69,3,0,0]);function Re(t,e,n){return void 0===e[n]?t.options[n]:e[n]}function ze(t,e,n){t.setUint8(e,n)}function Se(t,e,n){t.setUint16(e,n,!0)}function De(t,e,n){t.setUint32(e,n,!0)}function Ie(t,e,n){t.setBigUint64(e,n,!0)}function Fe(t,e,n){t.set(e,n)}function Ce(t){return new DataView(t.buffer)}(()=>{if("function"==typeof URL.createObjectURL){const t=(()=>{const t=[];for(let e=0;e<256;e++){let n=e;for(let t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;t[e]=n}class e{constructor(t){this.crc=t||-1}append(e){let n=0|this.crc;for(let i=0,r=0|e.length;i>>8^t[255&(n^e[i])];this.crc=n}get(){return~this.crc}}const n={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const i=t[t.length-1],r=n.getPartial(i);return 32===r?t.concat(e):n._shiftRight(e,r,0|i,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const i=t[e-1];return 32*(e-1)+n.getPartial(i)},clamp(t,e){if(32*t.length0&&e&&(t[i-1]=n.partial(e,t[i-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>32===t?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>Math.round(t/1099511627776)||32,_shiftRight(t,e,i,r){for(void 0===r&&(r=[]);e>=32;e-=32)r.push(i),i=0;if(0===e)return r.concat(t);for(let n=0;n>>e),i=t[n]<<32-e;const a=t.length?t[t.length-1]:0,s=n.getPartial(a);return r.push(n.partial(e+s&31,e+s>32?i:r.pop(),1)),r}},i={bytes:{fromBits(t){const e=n.bitLength(t)/8,i=new Uint8Array(e);let r;for(let n=0;n>>24,r<<=8;return i},toBits(t){const e=[];let i,r=0;for(i=0;i9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const o=new Uint32Array(r);let l=0;for(let t=e.blockSize+a-(e.blockSize+a&e.blockSize-1);t<=s;t+=e.blockSize)e._block(o.subarray(16*l,16*(l+1))),l+=1;return r.splice(0,16*l),e},finalize:function(){const t=this;let e=t._buffer;const i=t._h;e=n.concat(e,[n.partial(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),i},_init:[1732584193,4023233417,2562383102,271733878,3285377520],_key:[1518500249,1859775393,2400959708,3395469782],_f:function(t,e,n,i){return t<=19?e&n|~e&i:t<=39?e^n^i:t<=59?e&n|e&i|n&i:t<=79?e^n^i:void 0},_S:function(t,e){return e<>>32-t},_block:function(t){const e=this,n=e._h,i=Array(80);for(let e=0;e<16;e++)i[e]=t[e];let r=n[0],a=n[1],s=n[2],o=n[3],l=n[4];for(let t=0;t<=79;t++){t>=16&&(i[t]=e._S(1,i[t-3]^i[t-8]^i[t-14]^i[t-16]));const n=e._S(5,r)+e._f(t,a,s,o)+l+i[t]+e._key[Math.floor(t/20)]|0;l=o,o=s,s=e._S(30,a),a=r,r=n}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}};const a={name:"PBKDF2"},s=Object.assign({hash:{name:"HMAC"}},a),o=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},a),l=["deriveBits"],c=[8,12,16],d=[16,24,32],u=[0,0,0,0],f=crypto.subtle,h=i.bytes,_=class{constructor(t){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const n=e._tables[0][4],i=e._tables[1],r=t.length;let a,s,o,l=1;if(4!==r&&6!==r&&8!==r)throw new Error("invalid aes key size");for(e._key=[s=t.slice(0),o=[]],a=r;a<4*r+28;a++){let t=s[a-1];(a%r==0||8===r&&a%r==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%r==0&&(t=t<<8^t>>>24^l<<24,l=l<<1^283*(l>>7))),s[a]=s[a-r]^t}for(let t=0;a;t++,a--){const e=s[3&t?a:a-4];o[t]=a<=4||t<4?e:i[0][n[e>>>24]]^i[1][n[e>>16&255]]^i[2][n[e>>8&255]]^i[3][n[255&e]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){const t=this._tables[0],e=this._tables[1],n=t[4],i=e[4],r=[],a=[];let s,o,l,c;for(let t=0;t<256;t++)a[(r[t]=t<<1^283*(t>>7))^t]=t;for(let d=s=0;!n[d];d^=o||1,s=a[s]||1){let a=s^s<<1^s<<2^s<<3^s<<4;a=a>>8^255&a^99,n[d]=a,i[a]=d,c=r[l=r[o=r[d]]];let u=16843009*c^65537*l^257*o^16843008*d,f=257*r[a]^16843008*a;for(let n=0;n<4;n++)t[n][d]=f=f<<24^f>>>8,e[n][a]=u=u<<24^u>>>8}for(let n=0;n<5;n++)t[n]=t[n].slice(0),e[n]=e[n].slice(0)}_crypt(t,e){if(4!==t.length)throw new Error("invalid aes block size");const n=this._key[e],i=n.length/4-2,r=[0,0,0,0],a=this._tables[e],s=a[0],o=a[1],l=a[2],c=a[3],d=a[4];let u,f,h,_=t[0]^n[0],p=t[e?3:1]^n[1],w=t[2]^n[2],g=t[e?1:3]^n[3],y=4;for(let t=0;t>>24]^o[p>>16&255]^l[w>>8&255]^c[255&g]^n[y],f=s[p>>>24]^o[w>>16&255]^l[g>>8&255]^c[255&_]^n[y+1],h=s[w>>>24]^o[g>>16&255]^l[_>>8&255]^c[255&p]^n[y+2],g=s[g>>>24]^o[_>>16&255]^l[p>>8&255]^c[255&w]^n[y+3],y+=4,_=u,p=f,w=h;for(let t=0;t<4;t++)r[e?3&-t:t]=d[_>>>24]<<24^d[p>>16&255]<<16^d[w>>8&255]<<8^d[255&g]^n[y++],u=_,_=p,p=w,w=g,g=u;return r}},p=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,i=255&t;255===e?(e=0,255===n?(n=0,255===i?i=0:++i):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=i}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,i){let r;if(!(r=e.length))return[];const a=n.bitLength(e);for(let n=0;na&&(t=n.hash(t));for(let e=0;et.length){const n=t;(t=new Uint8Array(e)).set(n,0)}return t}(n,s-s%16)),o=0;o<=s-16;o+=16){const r=h.toBits(k(e,o,o+16));a&&t.hmac.update(r);const s=t.aesCtrGladman.update(r);a||t.hmac.update(s),n.set(h.fromBits(s),o+i)}return t.pendingInput=k(e,o),n}async function x(t,e,n){const i=(new TextEncoder).encode(e),r=await f.importKey("raw",i,s,!1,l),a=await f.deriveBits(Object.assign({salt:n},o),r,8*(2*d[t.strength]+2)),c=new Uint8Array(a);t.keys={key:h.toBits(k(c,0,d[t.strength])),authentication:h.toBits(k(c,d[t.strength],2*d[t.strength])),passwordVerification:k(c,2*d[t.strength])}}function m(t,e){let n=t;return t.length+e.length&&(n=new Uint8Array(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function k(t,e,n){return t.subarray(e,n)}class v{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;if(e.password){const n=U(e,t.subarray(0,12));if(e.password=null,n[11]!=e.passwordVerification)throw new Error("Invalid pasword");t=t.subarray(12)}return U(e,t)}async flush(){return{valid:!0,data:new Uint8Array(0)}}}class A{constructor(t,e){Object.assign(this,{password:t,passwordVerification:e}),R(this,t)}async append(t){const e=this;let n,i;if(e.password){e.password=null;const r=crypto.getRandomValues(new Uint8Array(12));r[11]=e.passwordVerification,n=new Uint8Array(t.length+r.length),n.set(E(e,r),0),i=12}else n=new Uint8Array(t.length),i=0;return n.set(E(e,t),i),n}async flush(){return{data:new Uint8Array(0)}}}function U(t,e){const n=new Uint8Array(e.length);for(let i=0;i>>24]),t.keys[2]=~t.crcKey2.get()}function S(t){const e=2|t.keys[2];return D(Math.imul(e,1^e)>>>8)}function D(t){return 255&t}function I(t){return 4294967295&t}class F{constructor(t,{signature:n,password:i,signed:r,compressed:a,zipCrypto:s,passwordVerification:o,encryptionStrength:l}){const c=Boolean(i);Object.assign(this,{signature:n,encrypted:c,signed:r,compressed:a,inflate:a&&new t,crc32:r&&new e,zipCrypto:s,decrypt:c&&s?new v(i,o):new g(i,r,l)})}async append(t){const e=this;return e.encrypted&&t.length&&(t=await e.decrypt.append(t)),e.compressed&&t.length&&(t=await e.inflate.append(t)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),t}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.encrypted){const e=await t.decrypt.flush();if(!e.valid)throw new Error("Invalid signature");n=e.data}if((!t.encrypted||t.zipCrypto)&&t.signed){const n=new DataView(new Uint8Array(4).buffer);if(e=t.crc32.get(),n.setUint32(0,e),t.cipher!=n.getUint32(0,!1))throw new Error("Invalid signature")}return t.compressed&&(n=await t.inflate.append(n)||new Uint8Array(0),await t.inflate.flush()),{data:n,signature:e}}}class C{constructor(t,{encrypted:n,signed:i,compressed:r,level:a,zipCrypto:s,password:o,passwordVerification:l,encryptionStrength:c}){Object.assign(this,{encrypted:n,signed:i,compressed:r,deflate:r&&new t({level:a||5}),crc32:i&&new e,zipCrypto:s,encrypt:n&&s?new A(o,l):new y(o,c)})}async append(t){const e=this;let n=t;return e.compressed&&t.length&&(n=await e.deflate.append(t)),e.encrypted&&n.length&&(n=await e.encrypt.append(n)),(!e.encrypted||e.zipCrypto)&&e.signed&&t.length&&e.crc32.append(t),n}async flush(){const t=this;let e,n=new Uint8Array(0);if(t.compressed&&(n=await t.deflate.flush()||new Uint8Array(0)),t.encrypted){n=await t.encrypt.append(n);const i=await t.encrypt.flush();e=i.signature;const r=new Uint8Array(n.length+i.data.length);r.set(n,0),r.set(i.data,n.length),n=r}return t.encrypted&&!t.zipCrypto||!t.signed||(e=t.crc32.get()),{data:n,signature:e}}}const T={init(t){t.scripts&&t.scripts.length&&importScripts.apply(void 0,t.scripts);const e=t.options;let n;self.initCodec&&self.initCodec(),e.codecType.startsWith("deflate")?n=self.Deflate:e.codecType.startsWith("inflate")&&(n=self.Inflate),O=function(t,e){return e.codecType.startsWith("deflate")?new C(t,e):e.codecType.startsWith("inflate")?new F(t,e):void 0}(n,e)},append:async t=>({data:await O.append(t.data)}),flush:()=>O.flush()};let O;function B(t){return t.map((([t,e])=>new Array(t).fill(e,0,t))).flat()}addEventListener("message",(async t=>{const e=t.data,n=e.type,i=T[n];if(i)try{e.data&&(e.data=new Uint8Array(e.data));const t=await i(e)||{};if(t.type=n,t.data)try{t.data=t.data.buffer,postMessage(t,[t.data])}catch(e){postMessage(t)}else postMessage(t)}catch(t){postMessage({type:n,error:{message:t.message,stack:t.stack}})}}));const M=[0,1,2,3].concat(...B([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function W(){const t=this;function e(t,e){let n=0;do{n|=1&t,t>>>=1,n<<=1}while(--e>0);return n>>>1}t.build_tree=function(n){const i=t.dyn_tree,r=t.stat_desc.static_tree,a=t.stat_desc.elems;let s,o,l,c=-1;for(n.heap_len=0,n.heap_max=573,s=0;s=1;s--)n.pqdownheap(i,s);l=a;do{s=n.heap[1],n.heap[1]=n.heap[n.heap_len--],n.pqdownheap(i,1),o=n.heap[1],n.heap[--n.heap_max]=s,n.heap[--n.heap_max]=o,i[2*l]=i[2*s]+i[2*o],n.depth[l]=Math.max(n.depth[s],n.depth[o])+1,i[2*s+1]=i[2*o+1]=l,n.heap[1]=l++,n.pqdownheap(i,1)}while(n.heap_len>=2);n.heap[--n.heap_max]=n.heap[1],function(e){const n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.extra_bits,a=t.stat_desc.extra_base,s=t.stat_desc.max_length;let o,l,c,d,u,f,h=0;for(d=0;d<=15;d++)e.bl_count[d]=0;for(n[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<573;o++)l=e.heap[o],d=n[2*n[2*l+1]+1]+1,d>s&&(d=s,h++),n[2*l+1]=d,l>t.max_code||(e.bl_count[d]++,u=0,l>=a&&(u=r[l-a]),f=n[2*l],e.opt_len+=f*(d+u),i&&(e.static_len+=f*(i[2*l+1]+u)));if(0!==h){do{for(d=s-1;0===e.bl_count[d];)d--;e.bl_count[d]--,e.bl_count[d+1]+=2,e.bl_count[s]--,h-=2}while(h>0);for(d=s;0!==d;d--)for(l=e.bl_count[d];0!==l;)c=e.heap[--o],c>t.max_code||(n[2*c+1]!=d&&(e.opt_len+=(d-n[2*c+1])*n[2*c],n[2*c+1]=d),l--)}}(n),function(t,n,i){const r=[];let a,s,o,l=0;for(a=1;a<=15;a++)r[a]=l=l+i[a-1]<<1;for(s=0;s<=n;s++)o=t[2*s+1],0!==o&&(t[2*s]=e(r[o]++,o))}(i,t.max_code,n.bl_count)}}function H(t,e,n,i,r){const a=this;a.static_tree=t,a.extra_bits=e,a.extra_base=n,a.elems=i,a.max_length=r}function L(t,e,n,i,r){const a=this;a.good_length=t,a.max_lazy=e,a.nice_length=n,a.max_chain=i,a.func=r}W._length_code=[0,1,2,3,4,5,6,7].concat(...B([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]])),W.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0],W.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576],W.d_code=function(t){return t<256?M[t]:M[256+(t>>>7)]},W.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],W.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],W.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],W.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],H.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],H.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],H.static_l_desc=new H(H.static_ltree,W.extra_lbits,257,286,15),H.static_d_desc=new H(H.static_dtree,W.extra_dbits,0,30,15),H.static_bl_desc=new H(null,W.extra_blbits,0,19,7);const P=[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)],N=["need dictionary","stream end","","","stream error","data error","","buffer error","",""];function j(t,e,n,i){const r=t[2*e],a=t[2*n];return r>>8&255)}function tt(t,e){let n;const i=e;Y>16-i?(n=t,Z|=n<>>16-Y,Y+=i-16):(Z|=t<=8&&(Q(255&Z),Z>>>=8,Y-=8)}function rt(e,n){let i,r,a;if(t.pending_buf[q+2*V]=e>>>8&255,t.pending_buf[q+2*V+1]=255&e,t.pending_buf[M+V]=255&n,V++,0===e?I[2*n]++:(K++,e--,I[2*(W._length_code[n]+256+1)]++,F[2*W.d_code(e)]++),0==(8191&V)&&R>2){for(i=8*V,r=m-g,a=0;a<30;a++)i+=F[2*a]*(5+W.extra_dbits[a]);if(i>>>=3,K8?$(Z):Y>0&&Q(255&Z),Z=0,Y=0}function ot(e,n,i){tt(0+(i?1:0),3),function(e,n,i){st(),G=8,$(n),$(~n),t.pending_buf.set(l.subarray(e,e+n),t.pending),t.pending+=n}(e,n)}function lt(e,n,i){let r,a,s=0;R>0?(T.build_tree(t),O.build_tree(t),s=function(){let e;for(J(I,T.max_code),J(F,O.max_code),B.build_tree(t),e=18;e>=3&&0===C[2*W.bl_order[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(),r=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&-1!=e?ot(e,n,i):a==r?(tt(2+(i?1:0),3),at(H.static_ltree,H.static_dtree)):(tt(4+(i?1:0),3),function(t,e,n){let i;for(tt(t-257,5),tt(e-1,5),tt(n-4,4),i=0;i=0?g:-1,m-g,t),g=m,e.flush_pending()}function dt(){let t,n,i,r;do{if(r=c-v-m,0===r&&0===m&&0===v)r=a;else if(-1==r)r--;else if(m>=a+a-262){l.set(l.subarray(a,a+a),0),k-=a,m-=a,g-=a,t=h,i=t;do{n=65535&u[--i],u[i]=n>=a?n-a:0}while(0!=--t);t=a,i=t;do{n=65535&d[--i],d[i]=n>=a?n-a:0}while(0!=--t);r+=a}if(0===e.avail_in)return;t=e.read_buf(l,m+v,r),v+=t,v>=3&&(f=255&l[m],f=(f<a-262?m-(a-262):0;let u=D;const f=o,h=m+258;let _=l[r+s-1],p=l[r+s];A>=S&&(i>>=2),u>v&&(u=v);do{if(e=t,l[e+s]==p&&l[e+s-1]==_&&l[e]==l[r]&&l[++e]==l[r+1]){r+=2,e++;do{}while(l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&l[++r]==l[++e]&&rs){if(k=t,s=n,n>=u)break;_=l[r+s-1],p=l[r+s]}}}while((t=65535&d[t&f])>c&&0!=--i);return s<=v?s:v}function ft(e){return e.total_in=e.total_out=0,e.msg=null,t.pending=0,t.pending_out=0,n=113,r=0,T.dyn_tree=I,T.stat_desc=H.static_l_desc,O.dyn_tree=F,O.stat_desc=H.static_d_desc,B.dyn_tree=C,B.stat_desc=H.static_bl_desc,Z=0,Y=0,G=8,X(),function(){c=2*a,u[h-1]=0;for(let t=0;t9||8!=c||r<9||r>15||n<0||n>9||g<0||g>2?-2:(e.dstate=t,s=r,a=1<9||n<0||n>2?-2:(P[R].func!=P[e].func&&0!==t.total_in&&(i=t.deflate(1)),R!=e&&(R=e,E=P[R].max_lazy,S=P[R].good_length,D=P[R].nice_length,U=P[R].max_chain),z=n,i)},t.deflateSetDictionary=function(t,e,i){let r,s=i,c=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>a-262&&(s=a-262,c=i-s),l.set(e.subarray(c,c+s),0),m=s,g=s,f=255&l[0],f=(f<4||_<0)return-2;if(!c.next_out||!c.next_in&&0!==c.avail_in||666==n&&4!=_)return c.msg=N[4],-2;if(0===c.avail_out)return c.msg=N[7],-5;var C;if(e=c,I=r,r=_,42==n&&(S=8+(s-8<<4)<<8,D=(R-1&255)>>1,D>3&&(D=3),S|=D<<6,0!==m&&(S|=32),S+=31-S%31,n=113,Q((C=S)>>8&255),Q(255&C)),0!==t.pending){if(e.flush_pending(),0===e.avail_out)return r=-1,0}else if(0===e.avail_in&&_<=I&&4!=_)return e.msg=N[7],-5;if(666==n&&0!==e.avail_in)return c.msg=N[7],-5;if(0!==e.avail_in||0!==v||0!=_&&666!=n){switch(F=-1,P[R].func){case 0:F=function(t){let n,r=65535;for(r>i-5&&(r=i-5);;){if(v<=1){if(dt(),0===v&&0==t)return 0;if(0===v)break}if(m+=v,v=0,n=g+r,(0===m||m>=n)&&(v=m-n,m=n,ct(!1),0===e.avail_out))return 0;if(m-g>=a-262&&(ct(!1),0===e.avail_out))return 0}return ct(4==t),0===e.avail_out?4==t?2:0:4==t?3:1}(_);break;case 1:F=function(t){let n,i=0;for(;;){if(v<262){if(dt(),v<262&&0==t)return 0;if(0===v)break}if(v>=3&&(f=(f<=3)if(n=rt(m-k,y-3),v-=y,y<=E&&v>=3){y--;do{m++,f=(f<=3&&(f=(f<4096)&&(y=2)),A>=3&&y<=A){i=m+v-3,n=rt(m-1-b,A-3),v-=A-1,A-=2;do{++m<=i&&(f=(f<0&&e.next_in_index!=o&&(r(e.next_in_index),o=e.next_in_index)}while(e.avail_in>0||0===e.avail_out);return s=new Uint8Array(c),d.forEach((function(t){s.set(t,l),l+=t.length})),s}},this.flush=function(){let t,r,a=0,s=0;const o=[];do{if(e.next_out_index=0,e.avail_out=n,t=e.deflate(4),1!=t&&0!=t)throw new Error("deflating: "+e.msg);n-e.avail_out>0&&o.push(new Uint8Array(i.subarray(0,e.next_out_index))),s+=e.next_out_index}while(e.avail_in>0||0===e.avail_out);return e.deflateEnd(),r=new Uint8Array(s),o.forEach((function(t){r.set(t,a),a+=t.length})),r}}q.prototype={deflateInit:function(t,e){const n=this;return n.dstate=new V,e||(e=15),n.dstate.deflateInit(n,t,e)},deflate:function(t){const e=this;return e.dstate?e.dstate.deflate(e,t):-2},deflateEnd:function(){const t=this;if(!t.dstate)return-2;const e=t.dstate.deflateEnd();return t.dstate=null,e},deflateParams:function(t,e){const n=this;return n.dstate?n.dstate.deflateParams(n,t,e):-2},deflateSetDictionary:function(t,e){const n=this;return n.dstate?n.dstate.deflateSetDictionary(n,t,e):-2},read_buf:function(t,e,n){const i=this;let r=i.avail_in;return r>n&&(r=n),0===r?0:(i.avail_in-=r,t.set(i.next_in.subarray(i.next_in_index,i.next_in_index+r),e),i.next_in_index+=r,i.total_in+=r,r)},flush_pending:function(){const t=this;let e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out),0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index),t.next_out_index+=e,t.dstate.pending_out+=e,t.total_out+=e,t.avail_out-=e,t.dstate.pending-=e,0===t.dstate.pending&&(t.dstate.pending_out=0))}};const G=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Z=[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],Y=[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],X=[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],J=[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],Q=[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],$=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];function tt(){let t,e,n,i,r,a;function s(t,e,s,o,l,c,d,u,f,h,_){let p,w,g,y,b,x,m,k,v,A,U,E,R,z,S;A=0,b=s;do{n[t[e+A]]++,A++,b--}while(0!==b);if(n[0]==s)return d[0]=-1,u[0]=0,0;for(k=u[0],x=1;x<=15&&0===n[x];x++);for(m=x,kb&&(k=b),u[0]=k,z=1<E+k;){if(y++,E+=k,S=g-E,S=S>k?k:S,(w=1<<(x=m-E))>p+1&&(w-=p+1,R=m,x1440)return-3;r[y]=U=h[0],h[0]+=S,0!==y?(a[y]=b,i[0]=x,i[1]=k,x=b>>>E-k,i[2]=U-r[y-1]-x,f.set(i,3*(r[y-1]+x))):d[0]=U}for(i[1]=m-E,A>=s?i[0]=192:_[A]>>E;x>>=1)b^=x;for(b^=x,v=(1<257?(-3==h?f.msg="oversubscribed distance tree":-5==h?(f.msg="incomplete distance tree",h=-3):-4!=h&&(f.msg="empty distance tree with lengths",h=-3),h):0)}}function et(){const t=this;let e,n,i,r,a=0,s=0,o=0,l=0,c=0,d=0,u=0,f=0,h=0,_=0;function p(t,e,n,i,r,a,s,o){let l,c,d,u,f,h,_,p,w,g,y,b,x,m,k,v;_=o.next_in_index,p=o.avail_in,f=s.bitb,h=s.bitk,w=s.write,g=w>=c[v+1],h-=c[v+1],0!=(16&u)){for(u&=15,x=c[v+2]+(f&G[u]),f>>=u,h-=u;h<15;)p--,f|=(255&o.read_byte(_++))<>=c[v+1],h-=c[v+1],0!=(16&u)){for(u&=15;h>=u,h-=u,g-=x,w>=m)k=w-m,w-k>0&&2>w-k?(s.window[w++]=s.window[k++],s.window[w++]=s.window[k++],x-=2):(s.window.set(s.window.subarray(k,k+2),w),w+=2,k+=2,x-=2);else{k=w-m;do{k+=s.end}while(k<0);if(u=s.end-k,x>u){if(x-=u,w-k>0&&u>w-k)do{s.window[w++]=s.window[k++]}while(0!=--u);else s.window.set(s.window.subarray(k,k+u),w),w+=u,k+=u,u=0;k=0}}if(w-k>0&&x>w-k)do{s.window[w++]=s.window[k++]}while(0!=--x);else s.window.set(s.window.subarray(k,k+x),w),w+=x,k+=x,x=0;break}if(0!=(64&u))return o.msg="invalid distance code",x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,-3;l+=c[v+2],l+=f&G[u],v=3*(d+l),u=c[v]}break}if(0!=(64&u))return 0!=(32&u)?(x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,1):(o.msg="invalid literal/length code",x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,-3);if(l+=c[v+2],l+=f&G[u],v=3*(d+l),0===(u=c[v])){f>>=c[v+1],h-=c[v+1],s.window[w++]=c[v+2],g--;break}}else f>>=c[v+1],h-=c[v+1],s.window[w++]=c[v+2],g--}while(g>=258&&p>=10);return x=o.avail_in-p,x=h>>3>3:x,p+=x,_-=x,h-=x<<3,s.bitb=f,s.bitk=h,o.avail_in=p,o.total_in+=_-o.next_in_index,o.next_in_index=_,s.write=w,0}t.init=function(t,a,s,o,l,c){e=0,u=t,f=a,i=s,h=o,r=l,_=c,n=null},t.proc=function(t,w,g){let y,b,x,m,k,v,A,U=0,E=0,R=0;for(R=w.next_in_index,m=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k=258&&m>=10&&(t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,g=p(u,f,i,h,r,_,t,w),R=w.next_in_index,m=w.avail_in,U=t.bitb,E=t.bitk,k=t.write,v=k>>=n[b+1],E-=n[b+1],x=n[b],0===x){l=n[b+2],e=6;break}if(0!=(16&x)){c=15&x,a=n[b+2],e=2;break}if(0==(64&x)){o=x,s=b/3+n[b+2];break}if(0!=(32&x)){e=7;break}return e=9,w.msg="invalid literal/length code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 2:for(y=c;E>=y,E-=y,o=f,n=r,s=_,e=3;case 3:for(y=o;E>=n[b+1],E-=n[b+1],x=n[b],0!=(16&x)){c=15&x,d=n[b+2],e=4;break}if(0==(64&x)){o=x,s=b/3+n[b+2];break}return e=9,w.msg="invalid distance code",g=-3,t.bitb=U,t.bitk=E,w.avail_in=m,w.total_in+=R-w.next_in_index,w.next_in_index=R,t.write=k,t.inflate_flush(w,g);case 4:for(y=c;E>=y,E-=y,e=5;case 5:for(A=k-d;A<0;)A+=t.end;for(;0!==a;){if(0===v&&(k==t.end&&0!==t.read&&(k=0,v=k7&&(E-=8,m++,R--),t.write=k,g=t.inflate_flush(w,g),k=t.write,v=kt.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i,a==n.end&&(a=0,n.write==n.end&&(n.write=0),i=n.write-a,i>t.avail_out&&(i=t.avail_out),0!==i&&-5==e&&(e=0),t.avail_out-=i,t.total_out+=i,t.next_out.set(n.window.subarray(a,a+i),r),r+=i,a+=i),t.next_out_index=r,n.read=a,e},n.proc=function(t,e){let _,p,w,g,y,b,x,m;for(g=t.next_in_index,y=t.avail_in,p=n.bitb,w=n.bitk,b=n.write,x=b>>1){case 0:p>>>=3,w-=3,_=7&w,p>>>=_,w-=_,r=1;break;case 1:k=[],v=[],A=[[]],U=[[]],tt.inflate_trees_fixed(k,v,A,U),d.init(k[0],v[0],A[0],0,U[0],0),p>>>=3,w-=3,r=6;break;case 2:p>>>=3,w-=3,r=3;break;case 3:return p>>>=3,w-=3,r=9,t.msg="invalid block type",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e)}break;case 1:for(;w<32;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>16&65535)!=(65535&p))return r=9,t.msg="invalid stored block lengths",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);a=65535&p,p=w=0,r=0!==a?2:0!==u?7:0;break;case 2:if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(0===x&&(b==n.end&&0!==n.read&&(b=0,x=by&&(_=y),_>x&&(_=x),n.window.set(t.read_buf(g,_),b),g+=_,y-=_,b+=_,x-=_,0!=(a-=_))break;r=0!==u?7:0;break;case 3:for(;w<14;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<29||(_>>5&31)>29)return r=9,t.msg="too many length or distance symbols",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);if(_=258+(31&_)+(_>>5&31),!i||i.length<_)i=[];else for(m=0;m<_;m++)i[m]=0;p>>>=14,w-=14,o=0,r=4;case 4:for(;o<4+(s>>>10);){for(;w<3;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=3,w-=3}for(;o<19;)i[nt[o++]]=0;if(l[0]=7,_=h.inflate_trees_bits(i,l,c,f,t),0!=_)return-3==(e=_)&&(i=null,r=9),n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);o=0,r=5;case 5:for(;_=s,!(o>=258+(31&_)+(_>>5&31));){let a,d;for(_=l[0];w<_;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=_,w-=_,i[o++]=d;else{for(m=18==d?7:d-14,a=18==d?11:3;w<_+m;){if(0===y)return n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);e=0,y--,p|=(255&t.read_byte(g++))<>>=_,w-=_,a+=p&G[m],p>>>=m,w-=m,m=o,_=s,m+a>258+(31&_)+(_>>5&31)||16==d&&m<1)return i=null,r=9,t.msg="invalid bit length repeat",e=-3,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d=16==d?i[m-1]:0;do{i[m++]=d}while(0!=--a);o=m}}if(c[0]=-1,E=[],R=[],z=[],S=[],E[0]=9,R[0]=6,_=s,_=h.inflate_trees_dynamic(257+(31&_),1+(_>>5&31),i,E,R,z,S,f,t),0!=_)return-3==_&&(i=null,r=9),e=_,n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,n.inflate_flush(t,e);d.init(E[0],R[0],f,z[0],f,S[0]),r=6;case 6:if(n.bitb=p,n.bitk=w,t.avail_in=y,t.total_in+=g-t.next_in_index,t.next_in_index=g,n.write=b,1!=(e=d.proc(n,t,e)))return n.inflate_flush(t,e);if(e=0,d.free(t),g=t.next_in_index,y=t.avail_in,p=n.bitb,w=n.bitk,b=n.write,x=b15?(t.inflateEnd(n),-2):(t.wbits=i,n.istate.blocks=new it(n,1<>4)>r.wbits){r.mode=13,t.msg="invalid window size",r.marker=5;break}r.mode=1;case 1:if(0===t.avail_in)return n;if(n=e,t.avail_in--,t.total_in++,i=255&t.read_byte(t.next_in_index++),((r.method<<8)+i)%31!=0){r.mode=13,t.msg="incorrect header check",r.marker=5;break}if(0==(32&i)){r.mode=7;break}r.mode=2;case 2:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need=(255&t.read_byte(t.next_in_index++))<<24&4278190080,r.mode=3;case 3:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<16&16711680,r.mode=4;case 4:if(0===t.avail_in)return n;n=e,t.avail_in--,t.total_in++,r.need+=(255&t.read_byte(t.next_in_index++))<<8&65280,r.mode=5;case 5:return 0===t.avail_in?n:(n=e,t.avail_in--,t.total_in++,r.need+=255&t.read_byte(t.next_in_index++),r.mode=6,2);case 6:return r.mode=13,t.msg="need dictionary",r.marker=0,-2;case 7:if(n=r.blocks.proc(t,n),-3==n){r.mode=13,r.marker=0;break}if(0==n&&(n=e),1!=n)return n;n=e,r.blocks.reset(t,r.was),r.mode=12;case 12:return 1;case 13:return-3;default:return-2}},t.inflateSetDictionary=function(t,e,n){let i=0,r=n;if(!t||!t.istate||6!=t.istate.mode)return-2;const a=t.istate;return r>=1<0&&t.next_in_index!=l&&(r(t.next_in_index),l=t.next_in_index)}while(t.avail_in>0||0===t.avail_out);return o=new Uint8Array(d),a.forEach((function(t){o.set(t,c),c+=t.length})),o}},this.flush=function(){t.inflateEnd()}}st.prototype={inflateInit:function(t){const e=this;return e.istate=new at,t||(t=15),e.istate.inflateInit(e,t)},inflate:function(t){const e=this;return e.istate?e.istate.inflate(e,t):-2},inflateEnd:function(){const t=this;if(!t.istate)return-2;const e=t.istate.inflateEnd(t);return t.istate=null,e},inflateSync:function(){const t=this;return t.istate?t.istate.inflateSync(t):-2},inflateSetDictionary:function(t,e){const n=this;return n.istate?n.istate.inflateSetDictionary(n,t,e):-2},read_byte:function(t){return this.next_in.subarray(t,t+1)[0]},read_buf:function(t,e){return this.next_in.subarray(t,t+e)}},self.initCodec=()=>{self.Deflate=K,self.Inflate=ot}}).toString(),e=URL.createObjectURL(new Blob(["("+t+")()"],{type:"text/javascript"}));r({workerScripts:{inflate:[e],deflate:[e]}})}})(),t.BlobReader=m,t.BlobWriter=k,t.Data64URIReader=class extends b{constructor(t){super(),this.dataURI=t;let e=t.length;for(;"="==t.charAt(e-1);)e--;this.dataStart=t.indexOf(",")+1,this.size=Math.floor(.75*(e-this.dataStart))}async readUint8Array(t,e){const n=new Uint8Array(e),i=4*Math.floor(t/3),r=atob(this.dataURI.substring(i+this.dataStart,4*Math.ceil((t+e)/3)+this.dataStart)),a=t-3*Math.floor(i/4);for(let t=a;t2?this.data+=btoa(n):this.pending=n}getData(){return this.data+btoa(this.pending)}},t.ERR_ABORT=s,t.ERR_BAD_FORMAT=Kt,t.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Xt,t.ERR_DUPLICATED_NAME=ge,t.ERR_ENCRYPTED=$t,t.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Yt,t.ERR_EOCDR_NOT_FOUND=Gt,t.ERR_EOCDR_ZIP64_NOT_FOUND=Zt,t.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Qt,t.ERR_HTTP_RANGE=u,t.ERR_INVALID_COMMENT=ye,t.ERR_INVALID_DATE=ke,t.ERR_INVALID_ENCRYPTION_STRENGTH=ve,t.ERR_INVALID_ENTRY_COMMENT=be,t.ERR_INVALID_ENTRY_NAME=xe,t.ERR_INVALID_EXTRAFIELD_DATA=Ue,t.ERR_INVALID_EXTRAFIELD_TYPE=Ae,t.ERR_INVALID_PASSWORD=$,t.ERR_INVALID_SIGNATURE=Ft,t.ERR_INVALID_VERSION=me,t.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Jt,t.ERR_UNSUPPORTED_COMPRESSION=ee,t.ERR_UNSUPPORTED_ENCRYPTION=te,t.HttpRangeReader=class extends S{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}},t.HttpReader=S,t.Reader=b,t.TextReader=class extends b{constructor(t){super(),this.blobReader=new m(new Blob([t],{type:f}))}async init(){super.init(),this.blobReader.init(),this.size=this.blobReader.size}async readUint8Array(t,e){return this.blobReader.readUint8Array(t,e)}},t.TextWriter=class extends x{constructor(t){super(),this.encoding=t,this.blob=new Blob([],{type:f})}async writeUint8Array(t){super.writeUint8Array(t),this.blob=new Blob([this.blob,t.buffer],{type:f})}getData(){const t=new FileReader;return new Promise(((e,n)=>{t.onload=t=>e(t.target.result),t.onerror=n,t.readAsText(this.blob,this.encoding)}))}},t.Uint8ArrayReader=class extends b{constructor(t){super(),this.array=t,this.size=t.length}async readUint8Array(t,e){return this.array.slice(t,t+e)}},t.Uint8ArrayWriter=class extends x{constructor(){super(),this.array=new Uint8Array(0)}async writeUint8Array(t){super.writeUint8Array(t);const e=this.array;this.array=new Uint8Array(e.length+t.length),this.array.set(e),this.array.set(t,e.length)}getData(){return this.array}},t.Writer=x,t.ZipReader=class{constructor(t,e={}){Object.assign(this,{reader:t,options:e,config:i()})}async getEntries(t={}){const e=this,n=e.reader;if(n.initialized||await n.init(),n.size<22)throw new Error(Kt);const i=await async function(t,e,n,i,r){const a=new Uint8Array(4);!function(t,e,n){t.setUint32(e,n,!0)}(pe(a),0,e);const s=i+r;return await o(i)||await o(Math.min(s,n));async function o(e){const r=n-e,s=await we(t,r,e);for(let t=s.length-i;t>=0;t--)if(s[t]==a[0]&&s[t+1]==a[1]&&s[t+2]==a[2]&&s[t+3]==a[3])return{offset:r+t,buffer:s.slice(t,t+i).buffer}}}(n,B,n.size,22,1048560);if(!i)throw new Error(Gt);const r=pe(i);let a=he(r,12),s=he(r,16),o=fe(r,8),l=0;if(s==I||o==F){const t=pe(await we(n,i.offset-20,20));if(he(t,0)!=W)throw new Error(Zt);s=_e(t,8);let e=await we(n,s,56),r=pe(e);const c=i.offset-20-56;if(he(r,0)!=M&&s!=c){const t=s;s=c,l=s-t,e=await we(n,s,56),r=pe(e)}if(he(r,0)!=M)throw new Error(Yt);o=_e(r,24),a=he(t,4),s-=_e(r,40)}if(s<0||s>=n.size)throw new Error(Kt);let c=0,d=await we(n,s,n.size-s),u=pe(d);const f=i.offset-a;if(he(u,c)!=O&&s!=f){const t=s;s=f,l=s-t,d=await we(n,s,n.size-s),u=pe(d)}if(s<0||s>=n.size)throw new Error(Kt);const h=[];for(let i=0;ii.getData(t,e),h.push(_),c=f}return h}async close(){}},t.ZipWriter=class{constructor(t,e={}){Object.assign(this,{writer:t,options:e,config:i(),files:new Map,offset:t.size,pendingOutputSize:0})}async add(t="",e,n={}){const i=this;if(t=t.trim(),n.directory&&!t.endsWith(P)?t+=P:n.directory=t.endsWith(P),i.files.has(t))throw new Error(ge);const r=(new TextEncoder).encode(t);if(r.length>F)throw new Error(xe);const a=n.comment||"",s=(new TextEncoder).encode(a);if(s.length>F)throw new Error(be);const l=i.options.version||n.version||0;if(l>F)throw new Error(me);const c=n.lastModDate||new Date;if(cN)throw new Error(ke);const d=Re(i,n,"password"),u=Re(i,n,"encryptionStrength")||3,f=Re(i,n,"zipCrypto");if(void 0!==d&&void 0!==u&&(u<1||u>3))throw new Error(ve);e&&!e.initialized&&await e.init();let h=new Uint8Array(0);const _=n.extraField;if(_){let t=0,e=0;_.forEach((e=>t+=4+e.length)),h=new Uint8Array(t),_.forEach(((t,n)=>{if(n>F)throw new Error(Ae);if(t.length>F)throw new Error(Ue);Fe(h,new Uint16Array([n]),e),Fe(h,new Uint16Array([t.length]),e+2),Fe(h,t,e+4),e+=4+t.length}))}const p=e?Math.floor(1.05*e.size):0;i.pendingOutputSize+=p,await Promise.resolve();const w=n.zip64||i.options.zip64||i.offset>=I||p>=I||i.offset+i.pendingOutputSize>=I,g=Re(i,n,"level"),y=Re(i,n,"useWebWorkers"),b=Re(i,n,"bufferedWrite");let x=Re(i,n,"keepOrder"),m=Re(i,n,"dataDescriptor");const v=Re(i,n,"signal");void 0===m&&(m=!0),void 0===x&&(x=!0);const A=await async function(t,e,n,i){const r=t.files,a=t.writer;let s,l;r.set(e,null);try{let c,d,u;try{i.keepOrder&&(c=t.lockPreviousFile,t.lockPreviousFile=new Promise((t=>l=t))),i.bufferedWrite||t.lockWrite||!i.dataDescriptor?(d=new k,d.init()):(t.lockWrite=new Promise((t=>s=t)),a.initialized||await a.init(),d=a),u=await async function(t,e,n,i){const{rawFilename:r,lastModDate:a,password:s,level:l,zip64:c,zipCrypto:d,dataDescriptor:u,directory:f,version:h,rawComment:_,rawExtraField:p,useWebWorkers:w,onprogress:g,signal:y,encryptionStrength:b}=i,x=Boolean(s&&s.length),m=0!==l&&!f;let k;if(x&&!d){k=new Uint8Array(Ee.length+2);const t=Ce(k);Se(t,0,H),Fe(k,Ee,2),ze(t,8,b)}else k=new Uint8Array(0);const v={version:h||20,zip64:c,directory:Boolean(f),filenameUTF8:!0,rawFilename:r,commentUTF8:!0,rawComment:_,rawExtraFieldZip64:c?new Uint8Array(28):new Uint8Array(0),rawExtraFieldAES:k,rawExtraField:p};let A=L;u&&(A|=8);let U=0;m&&(U=8);c&&(v.version=v.version>45?v.version:45);x&&(A|=1,d||(v.version=v.version>51?v.version:51,U=99,m&&(v.rawExtraFieldAES[9]=8)));const E=v.headerArray=new Uint8Array(26),R=Ce(E);Se(R,0,v.version),Se(R,2,A),Se(R,4,U);const z=new Uint32Array(1),S=Ce(z);Se(S,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Se(S,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate());const D=z[0];De(R,6,D),Se(R,22,r.length),Se(R,24,0),Se(R,24,k.length+v.rawExtraField.length);const F=new Uint8Array(30+r.length+k.length+v.rawExtraField.length);let O;De(Ce(F),0,C),Fe(F,E,4),Fe(F,r,30),Fe(F,k,30+r.length),Fe(F,v.rawExtraField,30+r.length+k.length);let B=0,M=0;if(t){B=t.size;const i=await Nt(n.Deflate,{codecType:Dt,level:l,password:s,encryptionStrength:b,zipCrypto:x&&d,passwordVerification:x&&d&&D>>8&255,signed:!0,compressed:m,encrypted:x,useWebWorkers:w},n);await e.writeUint8Array(F),O=await o(i,t,e,0,B,n,{onprogress:g,signal:y}),M=O.length}else await e.writeUint8Array(F);let W,P=new Uint8Array(0);u&&(P=new Uint8Array(c?24:16),W=Ce(P),De(W,0,T));if(t){const t=O.signature;if(x&&!d||void 0===t||(De(R,10,t),v.signature=t,u&&De(W,4,t)),c){const t=Ce(v.rawExtraFieldZip64);Se(t,0,1),Se(t,2,24),De(R,14,I),Ie(t,12,BigInt(M)),De(R,18,I),Ie(t,4,BigInt(B)),u&&(Ie(W,8,BigInt(M)),Ie(W,16,BigInt(B)))}else De(R,14,M),De(R,18,B),u&&(De(W,8,M),De(W,12,B))}u&&await e.writeUint8Array(P);const N=F.length+M+P.length;return Object.assign(v,{compressedSize:M,uncompressedSize:B,lastModDate:a,rawLastModDate:D,encrypted:x,length:N}),v}(n,d,t.config,i)}catch(t){throw r.delete(e),t}if(r.set(e,u),d!=a){const e=d.getData(),n=new FileReader,r=new Promise(((t,i)=>{n.onload=e=>t(e.target.result),n.onerror=i,n.readAsArrayBuffer(e)})),[s]=await Promise.all([r,t.lockWrite,c]);if(!i.dataDescriptor){const t=new DataView(s);u.encrypted&&!i.zipCrypto||De(t,14,u.signature),u.zip64?(De(t,18,I),De(t,22,I)):(De(t,18,u.compressedSize),De(t,22,u.uncompressedSize))}await a.writeUint8Array(new Uint8Array(s))}if(u.offset=t.offset,u.zip64){Ie(Ce(u.rawExtraFieldZip64),20,BigInt(u.offset))}return t.offset+=u.length,u}finally{l&&l(),s&&s()}}(i,t,e,Object.assign({},n,{rawFilename:r,rawComment:s,version:l,lastModDate:c,rawExtraField:h,zip64:w,password:d,level:g,useWebWorkers:y,encryptionStrength:u,zipCrypto:f,bufferedWrite:b,keepOrder:x,dataDescriptor:m,signal:v}));return i.pendingOutputSize-=p,Object.assign(A,{name:t,comment:a,extraField:_}),new qt(A)}async close(t=new Uint8Array(0)){const e=this,n=e.writer,i=e.files;let r=0,a=0,s=e.offset,o=i.size;for(const[,t]of i)a+=46+t.rawFilename.length+t.rawComment.length+t.rawExtraFieldZip64.length+t.rawExtraFieldAES.length+t.rawExtraField.length;const l=e.options.zip64||s>=I||a>=I||o>=F,c=new Uint8Array(a+(l?98:22)),d=Ce(c);if(t.length){if(!(t.length<=F))throw new Error(ye);Se(d,r+20,t.length)}for(const[,t]of i){const{rawFilename:e,rawExtraFieldZip64:n,rawExtraFieldAES:i,rawExtraField:a,rawComment:s,version:o,headerArray:l,directory:u,zip64:f}=t,h=n.length+i.length+a.length;De(d,r,O),Se(d,r+4,o),Fe(c,l,r+6),Se(d,r+30,h),Se(d,r+32,s.length),u&&ze(d,r+38,16),De(d,r+42,f?I:t.offset),Fe(c,e,r+46),Fe(c,n,r+46+e.length),Fe(c,i,r+46+e.length+n.length),Fe(c,a,46+e.length+n.length+i.length),Fe(c,s,r+46+e.length+h),r+=46+e.length+h+s.length}return l&&(De(d,r,M),Ie(d,r+4,BigInt(44)),Se(d,r+12,45),Se(d,r+14,45),Ie(d,r+24,BigInt(o)),Ie(d,r+32,BigInt(o)),Ie(d,r+40,BigInt(a)),Ie(d,r+48,BigInt(s)),De(d,r+56,W),Ie(d,r+64,BigInt(s)+BigInt(a)),De(d,r+72,1),o=F,s=I,a=I,r+=76),De(d,r,B),Se(d,r+8,o),Se(d,r+10,o),De(d,r+12,a),De(d,r+16,s),await n.writeUint8Array(c),t.length&&await n.writeUint8Array(t),n.getData()}},t.configure=r,t.getMimeType=function(){return"application/octet-stream"},t.initShimAsyncCodec=(t,e={},n)=>({Deflate:a(t.Deflate,e.deflate,n),Inflate:a(t.Inflate,e.inflate,n)}),Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/package.json b/package.json index c0f9ef5e..ae6668d9 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "A JavaScript library to zip and unzip files in the browser", "author": "Gildas Lormeau", "license": "BSD-3-Clause", - "version": "2.2.23", + "version": "2.2.24", "type": "module", "keywords": [ "zip",