@zip.js/zip.js 2.8.56 → 2.8.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:u,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:b,TextEncoder:S,TextDecoder:x,document:z,crypto:E,btoa:g,TransformStream:D,ReadableStream:F,WritableStream:v,CompressionStream:C,DecompressionStream:R,navigator:k,Worker:U,Symbol:T,setTimeout:O,clearTimeout:I,structuredClone:A}="undefined"!=typeof globalThis?globalThis:this||self;var N=void 0!==z?z.currentScript:null;const V=4294967295,L=65535,M=255,P=67324752,K=134695760,W=K,Z=84233040,j=33639248,q=101010256,Y=101075792,X=117853008,B=22,H=20,Q=56,G=21589,J=2048,_=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",ue="string",fe=new d,we="password",de="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",be="transferStreams",Se="preventClose",xe="offset",ze="usdz",Ee="filename",ge="comment",De="strict",Fe="balanced",ve="tolerant",Ce="Invalid option (must be a function)",Re="Invalid signal (must be an AbortSignal instance)",ke="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Ue(e){if(e&&typeof e!=le)throw new w(Ce);return e}function Te(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Re);return e||ie}function Oe(e,t){if(e&&typeof e!=ue||t&&!(t instanceof d))throw new w(ke)}function Ie(e,t,n){if(!s.isInteger(e)||e<0||e>t)throw new w(n)}function Ae(e,t,n){e!==ie&&Ie(e,t,n)}function Ne(e){return typeof e==ue&&e.trim()?s(e):e}const Ve="Invalid maxWorkers (must be an integer greater than 0)";let Le=2;try{typeof k!=ce&&k.hardwareConcurrency&&(Le=k.hardwareConcurrency)}catch{}const Me={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Le,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=ce&&C,DecompressionStream:typeof R!=ce&&R},Pe="maxWorkers",Ke=["chunkSize",Pe,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],We=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ze=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ke,...We],je={...Me};function qe(){return je}function Ye(e){return Xe(e.chunkSize)}function Xe(e){return e=Ne(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function Be(e){const t={};for(const n of Ze){const r=e[n];r!==ie&&(t[n]=He(n,r))}return t}function He(e,t){if(Ke.includes(e)){if(t=Ne(t),e==Pe&&(!s.isInteger(t)||t<1))throw new w(Ve)}else We.includes(e)&&Ue(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Ge(e){const t=Be(Qe(e));n.assign(Me,t),n.assign(je,t)}const Je=[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],_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],$e=[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],et=[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],tt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],nt=new d(288);nt.fill(8,0,144),nt.fill(9,144,256),nt.fill(7,256,280),nt.fill(8,280,288);const rt=new d(30).fill(5);function st(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const at="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",it=(ot=()=>(e=>{let t=0,n=0,r=0,s=new d(1024),a=0,i=0;for(;!i;){i=c(1);const e=c(2);if(0==e)l();else if(1==e)u(st(nt),st(rt));else{if(2!=e)throw w("invalid deflate block type");u(...f())}}return s.subarray(0,a);function o(){if(t>=e.length)throw w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=o()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function l(){n=0,r=0;const e=o()|o()<<8;t+=2,h(a+e);for(let t=0;t<e;t++)s[a++]=o()}function u(e,t){let n=p(e);for(;256!=n;){if(n<256)h(a+1),s[a++]=n;else{const e=n-257,r=Je[e]+c(_e[e]),i=p(t),o=$e[i]+c(et[i]);h(a+r);const l=a-o;for(let e=0;e<r;e++)s[a++]=s[l+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[tt[e]]=c(3);const s=st(r),a=new d(e+t);let i=0;for(;i<a.length;){const e=p(s);if(e<16)a[i++]=e;else if(16==e){const e=a[i-1];let t=c(2)+3;for(;t--;)a[i++]=e}else i+=17==e?c(3)+3:c(7)+11}return[st(a.subarray(0,e)),st(a.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,s=0,a=0;for(let e=1;e<=15;e++){r|=c(1);const i=t[e];if(r-s<i)return n[a+(r-s)];a+=i,s=s+i<<1,r<<=1}throw w("invalid huffman code")}function h(e){if(s.length<e){let t=2*s.length;for(;t<e;)t*=2;const n=new d(t);n.set(s.subarray(0,a)),s=n}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=at.indexOf(e[r])<<18|at.indexOf(e[r+1])<<12|(63&at.indexOf(e[r+2]))<<6|63&at.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)})("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=ot();if("string"==typeof n&&(n=(new S).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=at[n>>18&63]+at[n>>12&63]+at[n>>6&63]+at[63&n]}const s=n-r;if(1===s){const n=e[r]<<16;t+=at[n>>18&63]+at[n>>12&63]+"=="}else if(2===s){const n=e[r]<<16|e[r+1]<<8;t+=at[n>>18&63]+at[n>>12&63]+at[n>>6&63]+"="}return t})(n)}}));var ot;function ct(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function lt(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function ut(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const ft=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;ft[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=ft[t-1][e];ft[t][e]=n>>>8^ft[0][255&n]}const[wt,dt,pt,ht,mt,yt,bt,St]=ft;class xt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=St[255&e]^bt[e>>>8&255]^yt[e>>>16&255]^mt[e>>>24&255]^ht[255&n]^pt[n>>>8&255]^dt[n>>>16&255]^wt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^wt[255&(t^e[r])];this.l=t}get(){return~this.l}}class zt extends D{constructor(){let e;const t=new xt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Et(e){if(typeof S==ce){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}const gt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=gt.h(n);return 32===r?e.concat(t):gt.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+gt.h(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=gt.D(t,e[n-1]&2147483648>>t-1,1)),e},D:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,h:e=>i.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=gt.h(s);return r.push(gt.D(t+a&31,t+a>32?n:r.pop(),1)),r}},Dt={bytes:{F(e){const t=gt.bitLength(e)/8,n=new d(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},v(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(gt.D(8*(3&n),r)),t}}},Ft=class{constructor(e){const t=this;t.blockSize=512,t.C=[1732584193,4023233417,2562383102,271733878,3285377520],t.R=[1518500249,1859775393,2400959708,3395469782],e?(t.U=e.U.slice(0),t.T=e.T.slice(0),t.O=e.O):t.reset()}reset(){const e=this;return e.U=e.C.slice(0),e.T=[],e.O=0,e}update(e){const t=this;"string"==typeof e&&(e=Dt.I.v(e));const n=t.T=gt.concat(t.T,e),r=t.O,s=t.O=r+gt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.A(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}N(){const e=this;let t=e.T;const n=e.U;t=gt.concat(t,[gt.D(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.O/4294967296)),t.push(0|e.O);t.length;)e.A(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}L(e,t){return t<<e|t>>>32-e}A(e){const n=this,r=n.U,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.L(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.L(5,a)+n.V(e,o,c,l)+u+s[e]+n.R[i.floor(e/20)]|0;u=l,l=c,c=n.L(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},vt={importKey:e=>new vt.M(Dt.bytes.v(e)),P(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const u=new ArrayBuffer(s),f=new m(u);let d=0;const p=gt;for(t=Dt.bytes.v(t),l=1;d<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;d<(s||1)&&o<a.length;o++)f.setInt32(d,a[o]),d+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.K=Ft,r=[[],[]];t.W=[new n,new n];const s=t.W[0].blockSize/32;e.length>s&&(e=(new n).update(e).N());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.Z=new n(t.W[0])}reset(){const e=this;e.Z=new e.K(e.W[0]),e.j=!1}update(e){this.j=!0,this.Z.update(e)}digest(){const e=this,t=e.Z.N(),n=new e.K(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.j)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ct=typeof E!=ce&&typeof E.getRandomValues==le,Rt="Invalid password",kt="Invalid signature",Ut=kt,Tt="zipjs-abort-check-password",Ot="Crypto API not supported";function It(e){if(Ct)return E.getRandomValues(e);throw new w(Ot)}const At=16,Nt={name:"PBKDF2"},Vt=n.assign({hash:{name:"HMAC"}},Nt),Lt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Nt),Mt=["deriveBits"],Pt=[8,12,16],Kt=[16,24,32],Wt=10,Zt=[0,0,0,0],jt=typeof E!=ce,qt=jt&&E.subtle,Yt=jt&&typeof qt!=ce,Xt=Dt.bytes,Bt=class{constructor(e){const t=this;t.Y=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Y[0][0][0]||t.X();const n=t.Y[0][4],r=t.Y[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.R=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.B(e,0)}decrypt(e){return this.B(e,1)}X(){const e=this.Y[0],t=this.Y[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=i=0;!n[u];u^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[u]=a,r[a]=u,l=s[c=s[o=s[u]]];let f=16843009*l^65537*c^257*o^16843008*u,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][u]=w=w<<24^w>>>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)}B(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.R[t],r=n.length/4-2,s=[0,0,0,0],a=this.Y[t],i=a[0],o=a[1],c=a[2],l=a[3],u=a[4];let f,d,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],b=e[t?1:3]^n[3],S=4;for(let e=0;e<r;e++)f=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&b]^n[S],d=i[m>>>24]^o[y>>16&255]^c[b>>8&255]^l[255&h]^n[S+1],p=i[y>>>24]^o[b>>16&255]^c[h>>8&255]^l[255&m]^n[S+2],b=i[b>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[S+3],S+=4,h=f,m=d,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&b]^n[S++],f=h,h=m,m=y,y=b,b=f;return s}},Ht=class{constructor(e,t){this.H=e,this.G=t,this.J=t}reset(){this.J=this.G}update(e){return this._(this.H,e,this.J)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const s=gt.bitLength(t);for(let s=0;s<r;s+=4){this.ee(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return gt.S(t,s)}},Qt=vt.M;let Gt=jt&&Yt&&typeof qt.importKey==le,Jt=jt&&Yt&&typeof qt.deriveBits==le;class _t extends D{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){en(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,te:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await nn(e,t,n,sn(r,0,Pt[t])),a=sn(r,Pt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(Rt)})(n,a,s,sn(e,0,Pt[a]+2)),e=sn(e,Pt[a]+2),r?t.error(new w(Tt)):i()):await o;const c=new d(e.length-Wt-(e.length-Wt)%At);t.enqueue(tn(n,e,c,0,Wt,!0))},async flush(e){const{ne:t,re:n,se:r,ready:a}=this;if(n&&t){await a;const i=sn(r,0,r.length-Wt),o=sn(r,r.length-Wt);let c=fe;if(i.length){const e=on(Xt,i);n.update(e);const r=t.update(e);c=an(Xt,r)}const l=sn(an(Xt,n.digest()),0,Wt);let u=r.length<Wt?1:0;for(let e=0;e<Wt;e++)u|=l[e]^o[e];if(u&&s)throw new w(Ut);e.enqueue(c)}}})}}class $t extends D{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){en(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,te:a,ready:i}=n;let o=fe;r?(o=await(async(e,t,n)=>{const r=It(new d(Pt[t]));return ct(r,await nn(e,t,n,r))})(n,s,r),a()):await i;const c=new d(o.length+e.length-e.length%At);c.set(o,0),t.enqueue(tn(n,e,c,o.length,0))},async flush(e){const{ne:t,re:n,se:r,ready:s}=this;if(n&&t){await s;let a=fe;if(r.length){const e=t.update(on(Xt,r));n.update(e),a=an(Xt,e)}const i=an(Xt,n.digest()).slice(0,Wt);e.enqueue(ct(a,i))}}})}}function en(e,t,r,s){n.assign(e,{ready:new b(t=>e.te=t),password:rn(t,r),strength:s-1,se:fe})}function tn(e,t,n,r,s,a){const{ne:i,re:o,se:c}=e;c.length&&(t=ct(c,t));const l=t.length-s;let u;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+(l-l%At)),u=0;u<=l-At;u+=At){const e=on(Xt,sn(t,u,u+At));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(an(Xt,s),u+r)}return e.se=sn(t,u),n}async function nn(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Gt)return vt.importKey(t);try{return await qt.importKey("raw",t,n,!1,s)}catch{return Gt=!1,vt.importKey(t)}})(0,s,Vt,0,Mt),o=await(async(e,t,n)=>{if(!Jt)return vt.P(t,e.salt,Lt.iterations,n);try{return await qt.deriveBits(e,t,n)}catch{return Jt=!1,vt.P(t,e.salt,Lt.iterations,n)}})(n.assign({salt:a},Lt),i,8*(2*Kt[r]+2)),c=new d(o),l=on(Xt,sn(c,0,Kt[r])),u=on(Xt,sn(c,Kt[r],2*Kt[r])),f=sn(c,2*Kt[r]);return n.assign(e,{keys:{key:l,ae:u,passwordVerification:f},ne:new Ht(new Bt(l),t.from(Zt)),re:new Qt(u)}),f}function rn(e,t){return t===ie?Et(e):t}function sn(e,t,n){return e.subarray(t,n)}function an(e,t){return e.F(t)}function on(e,t){return e.v(t)}class cn extends D{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){un(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=fn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(Rt);e=e.subarray(12)}r?t.error(new w(Tt)):t.enqueue(fn(n,e))}})}}class ln extends D{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){un(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=It(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(wn(n,t),0),s=12}else r=new d(e.length),s=0;r.set(wn(n,e),s),t.enqueue(r)}})}}function un(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ie:new xt(s[0]),oe:new xt(s[2])}),r)for(let t=0;t<r.length;t++)dn(e,r[t]);else for(let n=0;n<t.length;n++)dn(e,t.charCodeAt(n))})(e,t,r)}function fn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=pn(e)^t[r],dn(e,n[r]);return n}function wn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=pn(e)^t[r],dn(e,t[r]);return n}function dn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=mn(i.imul(mn(n+hn(r)),134775813)+1),e.oe.append([n>>>24]);const s=~e.oe.get();e.keys=[r,n,s]}function pn(e){const t=2|e.keys[2];return hn(i.imul(t,1^t)>>>8)}function hn(e){return 255&e}function mn(e){return 4294967295&e}function yn(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function bn(e,t){e=yn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new v({write(e){r.push(e)}})).then(()=>new y(r,n))}function Sn(e){if(e instanceof v)return e;const t=e.getWriter();return new v({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const xn="Invalid codec definition",zn="Reserved compression method",En="Invalid codec module",gn=[0,8,9,99],Dn=new c,Fn=new c;function vn(e){return Dn.get(e)}function Cn(e){return Fn.get(e)}function Rn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(En);Fn.set(e,{CompressionStream:n,DecompressionStream:r})}const kn="Invalid uncompressed size",Un="Invalid compressed data",Tn=kt,On="deflate-raw",In="gzip",An=[31,139,8];class Nn extends D{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:w}=e,d=this;let p,h,y,b=super.readable;const S=f&&Cn(f),x=c&&s&&!u&&!S&&(!a||o)&&!(!i||!r);if(a&&!o||!c||x||(p=new zt,b=qn(b,p)),s)if(S)b=Yn(b,Zn(S.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:w}));else if(x)y=new Vn,b=Yn(b,new r(In)),b=qn(b,y);else try{b=jn(b,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(In)}catch{throw e}b=Yn(b,t),b=qn(b,new Vn)}a&&(o?b=qn(b,new ln(e)):(h=new $t(e),b=qn(b,h))),Wn(d,b,()=>{a&&!o||!c||(d.crc32=x?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Vn extends D{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=ct(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(ct(n.subarray(0,o),e.subarray(0,a-o))),n=ct(n.subarray(o),e.subarray(a-o))},flush(){const t=ut(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Ln extends D{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,x,z=super.readable;if(a&&(s?z=qn(z,new cn(e)):(x=new _t(e),z=qn(z,x))),c){const e=f&&Cn(f);if(e)z=Yn(z,Zn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{z=jn(z,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ie)throw e;let t;try{t=new r(In)}catch{throw e}z=((e,t,n)=>{const r=new xt;let s,a,i,o=0,c=!1;const l=new b((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const u=new D({start(e){const t=new d(10);t.set(An),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new d(8),s=ut(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),f=new D({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=qn(e,u),qn(e=Yn(e,t),f);function p(){h(),s=O(()=>i(new w(kn)),5e3)}function h(){I(s)}})(z,t,y)}z=(e=>{const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Un);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(z)}i&&(S=new zt,z=qn(z,S)),Wn(this,z,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new w(Tn)}})}}const Mn=new c;function Pn(e,t){if(!e)return!1;let n=Mn.get(e);n||(n=new c,Mn.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Kn(e){return Pn(e,On)}function Wn(e,t,r){t=qn(t,new D({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Zn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function jn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":On;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Yn(e,o)}function qn(e,t){return yn(e).pipeThrough(t)}function Yn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const Xn="data",Bn="deflate",Hn="inflate";class Qn extends D{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Bn)?a=Nn:s.startsWith(Hn)&&(a=Ln),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new D({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),u=new D({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(kn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(u)})}}class Gn extends D{constructor(e){const t=[];let n=0;function r(){const r=new d(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Jn="Worker startup timeout";let _n,$n,er;function tr(e){e.createWorker?$n=!0:_n=!1}class nr{constructor(e,{readable:t,writable:r},{options:s,config:a,ce:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:w}=i;return $n&&(u=ie),n.assign(e,{le:!0,ue:(e.ue||0)+1,readable:t.pipeThrough(new Gn(Ye(a))).pipeThrough(new rr(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new b(t=>{const{fe:n,le:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.de=null):t()}),pe(){if(e.le){const{we:t}=e;t&&(e.we=null,e.he=!0,e.fe.terminate(),t()),e.le=!1,f(e)}}}),_n===ie&&(_n=typeof U!=ce),(o&&er&&(_n&&l||u)?er:ar)(e,a)}}class rr extends D{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await sr(e,n)},async transform(e,r){s+=e.length,t&&await sr(t,s,n),r.enqueue(e)},async flush(){r&&await sr(r,s)}})}}async function sr(e,...t){try{await e(...t)}catch{}}function ar(e,t){return{run:()=>ir(e,t)}}async function ir({options:e,readable:t,writable:n,pe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Bn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!Kn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}a=new Qn(e,s),await t.pipeThrough(a).pipeThrough(new Gn(Ye(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const or={type:"module"},cr="error";let lr,ur,fr,wr=!0;try{wr=typeof A==le&&A(new DOMException("","AbortError")).code!==ie}catch{}var dr;function pr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function hr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function mr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(ur===ie||lr!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),u=c.startsWith("blob:");if(i||u){s===ie&&(s=!1),s&&(l=or);try{o=new U(c,l)}catch(a){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return mr(e,t,r,s,!1);if(s)throw a;return mr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=or);try{c=new f(c,t)}catch{}try{o=new U(c,l)}catch(n){if(s)return mr(e,t,r,!1,a);throw n}}lr=e,ur=c,fr=l}else o=new U(ur,fr);return o.addEventListener("message",e=>{r.ye=!0,yr(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,be:u,Se:f,pe:p,ue:h}=t,m=()=>t.ue!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||Sr({type:Xn,value:e,done:n,messageId:a},t)}r==Xn&&(await l.ready,await l.write(new d(s)),m()||Sr({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(hr(t),y(o))}function y(e,t){m()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(cr,e=>br(e,r)),o.addEventListener("messageerror",e=>br(e,r)),o}function yr(e){const{xe:t}=e;t&&(I(t),e.xe=null)}function br(e,t){e.preventDefault&&e.preventDefault(),yr(t);const{ye:r,Se:s,writer:a,pe:i}=t;hr(t),r||(t.fe=null);let o=e.error||new w(e.message||cr);r||(o=n.assign(new w(o.message||cr),{ze:!0}),t.Ee=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function Sr(e,{fe:t,writer:n,transferStreams:r,ye:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=lt(n),o.push(e.value.buffer)),r&&wr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{wr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}dr=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.de){let c;typeof o==le&&(o=o());try{c=mr(e.workerURI,r,e)}catch{return tr(e),ar(e,t)}n.assign(e,{fe:c,ye:!1,he:!1,Ee:null,de:{run:async()=>{try{return await(async(e,t)=>{if(!e.fe){const{Ee:t}=e;e.Ee=null;const n=t||new w(Jn);throw n.ze=!0,n}let r,a;const i=new b((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,be:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:u,ge:f}=(e=>{const t=new AbortController,{writable:n,readable:r}=new D,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ge:()=>t.abort()}})(e.writable);let d;try{d=Sr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){f();try{await u}catch{}throw e.pe(),t}d||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&s.isFinite(p)&&p>=0&&(e.xe=O(()=>(e=>{if(e.xe=null,e.ye)return;const{Se:t,writer:n}=e;if(hr(e),e.fe=null,t){const e=new w(Jn);e.ze=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await u,e}catch(e){await h(),f();try{await u}catch{}throw e}async function h(){if(!d&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.ze)return tr(e),pr(e),ir(e,t);if(n&&n.codecImportFailed){if(e.reader)return pr(e),ir(e,t);e.pe()}throw n}}}})}return e.de},er=dr;let xr=[];const zr=[];let Er,gr,Dr=0;async function Fr(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((e,t)=>{try{return new f(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!Fn.has(e)&&t&&Rn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(d,n.codecURI)),t.transferStreams=!d&&(a||a===ie&&r.transferStreams);const S=!(c||l||u||w),x=d===ie||!!n.codecURI;return t.useWebWorkers=!S&&x&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=xr.find(e=>!e.le);if(n)return Ur(n),new nr(n,e,t,z);if(xr.length<y){const n={De:Dr};return Dr++,xr.push(n),new nr(n,e,t,z)}return new b(n=>{zr.push({resolve:n,stream:e,Fe:t}),gr=r.workerStarvationTimeout,vr()})})()).run();function z(e){if(Cr(),zr.length){const[{resolve:t,stream:n,Fe:r}]=zr.splice(0,1);t(new nr(e,n,r,z)),vr()}else e.fe?(Ur(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.he?e.he=!1:e.ve=O(async()=>{xr=xr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):xr=xr.filter(t=>t!=e)}}function vr(){!Er&&zr.length&&s.isFinite(gr)&&gr>=0&&(Er=O(Rr,gr))}function Cr(){Er&&(I(Er),Er=null)}function Rr(){if(Er=null,zr.length){const[{resolve:e,stream:t,Fe:r}]=zr.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new nr({},t,s,kr)),vr()}}function kr(){Cr(),vr()}function Ur(e){const{ve:t}=e;t&&(I(t),e.ve=null)}const Tr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Or(e,t){return Ir(e,t,!0)}function Ir(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Tr[e[n]];return t}})(e):new x(t,{ignoreBOM:n}).decode(e)}const Ar="HTTP error ",Nr="HTTP Range not supported",Vr="HTTP resource changed",Lr="Writer iterator completed too soon",Mr="Writer not initialized",Pr="Content-Range",Kr="Range",Wr="GET",Zr="bytes",jr=16777216,qr="writable",Yr=T();class Xr{constructor(){this.size=0}init(){this.initialized=!0}}class Br extends Xr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Ye(qe())}={}){const r=this;let s=0;return n=Xe(n),new F({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await Ds(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class Hr extends Xr{constructor(){super();const e=this,t=new v({write(t){if(!e.initialized)throw new w(Mr);return e.writeUint8Array(lt(t))}});n.defineProperty(e,qr,{get:()=>t})}writeUint8Array(){}}let Qr,Gr;class Jr extends Br{constructor(e){super(),n.assign(this,{Ce:e,size:e.size}),Gr||(Gr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Qr=1==t}catch{Qr=!1}})())}createReadable(e){const{Ce:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?yn(t.stream()):Qr?yn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.Ce:n.Ce.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new d(a)}}class _r extends Xr{constructor(e){super();const t=this,r=new D;n.defineProperty(t,qr,{get:()=>r.writable}),t.contentType=e,t.Re=bn(r.readable,e),t.Re.catch(()=>{})}getData(){return this.Re}}class $r extends Br{constructor(e,t){super(),ts(this,e,t)}async init(){await ns(this,ps,us),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new F({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(Nr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await ps(Wr,e,cs(e,a,t));if(206!=n.status)throw new w(Nr);const l=n.headers.get(Pr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(Nr)}os(e,n),is(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return rs(this,e,t,ps,us)}}class es extends Br{constructor(e,t){super(),ts(this,e,t)}async init(){await ns(this,hs,fs),super.init()}readUint8Array(e,t){return rs(this,e,t,hs,fs)}}function ts(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=jr,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function ns(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=qe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(Wr,e,cs(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Zr))throw new w(Nr);{if(o){const t=new d(await r.arrayBuffer());206==r.status&&t.length==B&&(e.ke=t)}is(e,r);const s=ss(r);s===ie?await ds(e,t,n):e.size=s}}else await ds(e,t,n)}async function rs(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,ke:c,size:l,options:u}=e;if(i||o){if(c&&t==l-B&&n==B)return c;if(t>=l||0===n)return fe;{t+n>l&&(n=l-t);const a=await r(Wr,e,cs(e,t,n));if(206!=a.status)throw new w(Nr);const i=a.headers.get(Pr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Nr)}os(e,a),is(e,a);const o=new d(await a.arrayBuffer());if(o.length!=n)throw new w(Nr);return o}}{const{data:r}=e;return r||await a(e,u),e.data.subarray(t,t+n)}}function ss(e){const t=e.headers.get(Pr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function as({headers:e}){return{Ue:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function is(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=as(t))}function os(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=ss(t);if(e!==ie&&a!==ie&&e!=a)throw new w(Vr);if(s){const e=as(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(Vr)}}}function cs(e,t=0,r=1){return n.assign({},ls(e),{[Kr]:Zr+"="+(t<0?t:t+"-"+(t+r-1))})}function ls({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function us(e){await ws(e,ps)}async function fs(e){await ws(e,hs)}async function ws(e,t){const n=await t(Wr,e,ls(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function ds(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ls(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function ps(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(Nr):new w(Ar+(i.statusText||i.status))}function hs(e,{url:t},r){return new b((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(Nr):new w(Ar+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ms extends Br{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new es(e,t):new $r(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class ys extends Br{constructor(e){super(),this.Oe=e}async init(){const e=this;e.Ie=0;const t=e.Oe=await b.all(e.Oe.map(gs));e.Ae=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{Ae:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Oe:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await Ds(c,o,t);else{const a=r-o;s=ct(await Ds(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=fe;return n.Ie=i.max(a,n.Ie),s}}class bs extends Xr{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new v({async write(t){if(t===Yr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Lr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await Es(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await u())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function u(){await i.close()}n.defineProperty(r,qr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Yr)}finally{e.releaseLock()}}}class Ss{constructor(e){return t.isArray(e)&&(e=new ys(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:yn(e)}),e}}class xs{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new bs(e)),(e instanceof v||typeof e.getWriter==le)&&(e={writable:Sn(e)}),e.size===ie&&(e.size=0),e}}function zs(e){return!(!e||!e.getData)}async function Es(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}async function gs(e){return e=new Ss(e),await Es(e),e.size!==ie&&e.readUint8Array||(e=new Jr(await bn(e.readable)),await Es(e)),e}function Ds(e,t,n){return e.readUint8Array(t,n)}function Fs(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Br.prototype.createReadable.call(e,t):e.readable}const vs="filename",Cs="rawFilename",Rs="comment",ks="rawComment",Us="uncompressedSize",Ts="compressedSize",Os="offset",Is="diskNumberStart",As="lastModDate",Ns="rawLastModDate",Vs="lastAccessDate",Ls="rawLastAccessDate",Ms="creationDate",Ps="rawCreationDate",Ks="internalFileAttributes",Ws="externalFileAttributes",Zs="internalFileAttribute",js="externalFileAttribute",qs="msdosAttributesRaw",Ys="msdosAttributes",Xs="msDosCompatible",Bs="zip64",Hs="encrypted",Qs="version",Gs="versionMadeBy",Js="zipCrypto",_s="directory",$s="executable",ea="compressionMethod",ta="signature",na="extraField",ra="unixMode",sa="setuid",aa="setgid",ia="sticky",oa=[vs,Cs,Us,Ts,As,Ns,Rs,ks,Vs,Ls,Ms,Ps,Os,Is,Ks,Ws,Zs,js,qs,Ys,Xs,Bs,Hs,Qs,Gs,Js,_s,$s,"symlink",ea,ta,"crc32",na,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ra,"unixExternalUpper",sa,aa,ia,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ca{constructor(e){oa.forEach(t=>this[t]=e[t])}}const la="File format is not recognized",ua="End of central directory not found",fa="End of Zip64 central directory locator not found",wa="Central directory header not found",da="Local file header not found",pa="Zip64 extra field not found",ha="File contains encrypted entry",ma="Encryption method not supported",ya="Compression method not supported",ba="Split zip file",Sa="Overlapping entry found",xa="Entry data out of bounds",za="Ambiguous archive",Ea="Encrypted central directory is not supported",ga="Unsafe filename",Da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Fa="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",va="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ca=/^[a-zA-Z]:/,Ra="utf-8",ka="cp437",Ua=[[Us,V],[Ts,V],[Os,V],[Is,L]],Ta={[L]:{Ve:oi,bytes:4},[V]:{Ve:ci,bytes:8}};class Oa{constructor(e,t={}){n.assign(this,{reader:new Ss(e),options:t,Le:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Es(r),r.size!==ie&&r.readUint8Array||(r=new Jr(await bn(r.readable)),await Es(r)),r.size<B)throw new w(la);const a=Ba(e,t.options),o=a==De,c=a!=ve,u=((e,t)=>{if(e!==ie){const t=Ne(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(va);return t}return t==De?0:t==ve?1/0:L})(ti(t,e,"maxAppendedDataSize"),a),f=((e,t)=>{if(e===ie)return t;if(!Xa(e))throw new w(Fa);return e})(ti(t,e,"filenameValidation"),a),d=ti(t,e,"normalizeFilename"),{Me:p,Pe:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,u,f,w]of Ga(e,s)){const s=ii(n,f+20);if(w+B+s==r){const s=await _a(e,n,i,f,w,r,a);if(2==s){if(o||(o=Ja(u,f,w)),l++,!t||l>1)break}else 1!=s||c||(c=Ja(u,f,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,u]of Ga(e,s)){const s=Ja(c,l,u);a||(a=s);const f=await _a(e,t,i,l,u,r,n);if(2==f)return s;1!=f||o||(o=s)}return o||a})(e,n,a)),{Me:o,Pe:l}})(r,c,u);if(!p)throw await(async e=>await Ya(e)==K)(r)?new w(ba):new w(ua);c&&h>1&&ei("multiple end of central directory records");const m=ut(p);let y=oi(m,12),b=oi(m,16);const S=p.offset,x=ii(m,20),z=S+B+x;r.size-z>u&&ei("appended data");let E=ii(m,4);const g=r.Ie||0;let F,v,C,R,k=ii(m,6),U=ii(m,10),T=0,O=Q;const I=b==V||y==V||U==L||k==L;if(b!=V&&k!=L&&(b+=qa(r,k)),I){const e=p.offset>=H?await Ds(r,p.offset-H,H):fe,t=ut(e);if(e.length==H&&oi(t,0)==X){b=qa(r,oi(t,4))+ci(t,8);let e=await Ds(r,b,Q),a=ut(e);const c=p.offset-H-Q;if((e.length<Q||oi(a,0)!=Y)&&b!=c&&c>=0){const t=b;b=c,b>t&&(T=b-t),e=await Ds(r,b,Q),a=ut(e)}if(e.length<Q||oi(a,0)!=Y)throw new w(fa);if(v=!0,C=ci(a,4)>44,C){const e=i.min(s(ci(a,4))-44,r.size-b-Q);e>0&&(O+=e,R=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=ut(e),a=ii(r,26);n.assign(t,{compressionMethod:ii(r,0),compressedSize:s(ci(r,2)),uncompressedSize:s(ci(r,10)),encryptionAlgorithm:ii(r,18),bitLength:ii(r,20),flags:ii(r,22),hashAlgorithm:ii(r,24),hashData:e.subarray(28,28+a)})}return t})(await Ds(r,b+Q,e)))}E==L?E=oi(a,16):o&&E!=oi(a,16)&&ei("mismatched zip64 end of central directory record"),k==L?k=oi(a,20):o&&k!=oi(a,20)&&ei("mismatched zip64 end of central directory record"),U==L?U=ci(a,32):o&&U!=ci(a,32)&&ei("mismatched zip64 end of central directory record"),y==V?y=ci(a,40):o&&y!=ci(a,40)&&ei("mismatched zip64 end of central directory record"),b=qa(r,k)+ci(a,48)+T}}let A=y;const N=p.offset-(v?O+H:0);if(b>=r.size&&(T=r.size-b-y-B,b=r.size-y-B),g!=E)throw new w(ba);if(b<0)throw new w(la);let P=0,W=await Ds(r,b,y),Z=ut(W);if(y){if(W.length<4)throw new w(la);const e=N-y;if(b!=e&&k==E){let t=!(oi(Z,P)==j||R&&R.compressedSize||Na(Z));if(!t&&e>=0&&e+4<=r.size&&(t=oi(ut(await Ds(r,e,4)),0)==j),t){const t=b;b=e,b>t&&(T+=b-t),W=await Ds(r,b,y),Z=ut(W)}}}const q=N-b;if(y!=q&&q>=0&&k==E&&(y=q,W=await Ds(r,b,y),Z=ut(W)),b<0||b>=r.size)throw new w(la);t.directoryOffset=b,t.directoryLength=A;const G=ni(t,e,"decryptCentralDirectory");let J,re;if(G&&U&&W.length>=4&&oi(Z,0)!=j&&(C||Na(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(R,A,W.length);re=W.subarray(e),W=await G(W.subarray(0,e),R),Z=ut(W),A=W.length,J=!0}F=b;const se=ti(t,e,"filenameEncoding"),ae=ti(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<U;s++){const a=new Aa(r,t.options);if(P+46>W.length||oi(Z,P)!=j){if(0==s&&!J&&(C||Na(Z)))throw new w(Ea);throw new w(wa)}La(a,Z,P+6);const c=!!a.bitFlag.languageEncodingFlag,l=P+46,u=l+a.filenameLength,p=u+a.extraFieldLength,h=ii(Z,P+4),m=!(h>>8),y=h>>8==3,b=W.subarray(l,u),S=ii(Z,P+32),x=p+S,z=W.subarray(p,x),E=c,g=c,v=oi(Z,P+38),R=v&M,k={readOnly:!!(1&R),hidden:!!(2&R),system:!!(4&R),directory:!!(16&R),archive:!!(32&R)},O=oi(Z,P+42),I=ni(t,e,"decodeText")||Or,A=E?Ra:se||ka,N=g?Ra:ae||ka;let V=I(b,A,Ee);if(V===ie&&(V=Or(b,A)),d){const e=d(V);e!==ie&&(V=e)}if(Qa(V,f)){const e=new w(ga);throw e.filename=V,e}let K=I(z,N,ge);K===ie&&(K=Or(z,N)),n.assign(a,{index:s,Ke:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,We:S,offset:O,diskNumberStart:ii(Z,P+34),internalFileAttributes:ii(Z,P+36),externalFileAttributes:v,msdosAttributesRaw:R,msdosAttributes:k,rawFilename:b,filenameUTF8:E,commentUTF8:g,rawExtraField:W.subarray(u,p),rawComment:z,filename:V,comment:K}),Ma(a,a,Z,P+6),a.offset+=T,F=i.min(qa(r,a.diskNumberStart)+a.offset,F),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const q=a.externalFileAttributes>>16&L;a.unixMode===ie&&16877&q&&(a.unixMode=q);const Y=!!(a.unixMode&ee),X=!!(a.unixMode&te),B=!!(512&a.unixMode),H=40960==((a.unixMode===ie?q:a.unixMode)&_),Q=!H&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&q)),G=a.unixMode!==ie&&(a.unixMode&_)==$,re=(q&_)==$;n.assign(a,{setuid:Y,setgid:X,sticky:B,symlink:H,unixExternalUpper:q,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:G||re||m&&k.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new ca(a);le.getData=(e,n)=>a.getData(e,le,t.Le,n),le.arrayBuffer=async e=>{const n=new D,r=bn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Le,e),r},P=x;const{onprogress:ue}=e;if(ue)try{await ue(s+1,U,new ca(a))}catch{}yield le}let le=P,ue=Va(W.subarray(P))||(J?Va(re):ie);if(!ue&&!J){const e=b+P,t=i.min(N-e,65541);t>=6&&(ue=Va(await Ds(r,e,t)))}ue&&(t.digitalSignature=ue,le=P+6+ue.length),o&&P!=A&&le!=A&&ei("trailing central directory data"),ce&&ei("duplicate filename");const we=ti(t,e,"extractPrependedData"),de=ti(t,e,"extractAppendedData"),pe=(o||we)&&U&&4==F&&await(async e=>{const t=await Ya(e);return t==K||808471376==t})(r)?4:0;return o&&(T||U&&F>pe)&&ei("prepended data"),we&&(t.prependedData=F>pe?await Ds(r,pe,F-pe):fe),t.comment=x?await Ds(r,S+B,x):fe,de&&(t.appendedData=z<r.size?await Ds(r,z,r.size-z):fe),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class Ia{constructor(e={}){const{readable:t,writable:n}=new D,r=new Oa(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new D;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class Aa{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=qe(),{reader:o,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:d,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:b,uncompressedSize:S,compressedSize:x}=s,{dataDescriptor:z}=h,E=t.localDirectory={},g=qa(o,u)+l,D=await Ds(o,g,re),F=ut(D);let C=ti(s,r,we),R=ti(s,r,de);const k=ti(s,r,pe);if(Oe(C,R),C=C&&C.length&&C,R=R&&R.length&&R,f&&99!=f.originalCompressionMethod)throw new w(ya);if(D.length<re||oi(F,0)!=P)throw new w(da);La(E,F,4);const{extraFieldLength:U,filenameLength:T}=E,O=ti(s,r,"checkLocalDirectory"),I=Ba(r,s.options),A=((e,t)=>e===ie?t!=ve:!!e)(O,I),N=((e,t)=>e===ie?t==De:!!e)(O,I);let V=fe;if(N&&(T||U)){const e=await Ds(o,g+re,T+U);V=e.subarray(0,T),E.rawExtraField=e.subarray(T)}else E.rawExtraField=U?await Ds(o,g+re+T,U):fe;N&&(E.rawFilename=V),Ma(s,E,F,4,!0),A&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.Ke&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||ei("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ei("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&ei("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ei("mismatched local file header (crc32 or sizes)")})(s,E,V,N);const{lastAccessDate:L,creationDate:K,uid:Z,gid:j}=E;L&&(t.lastAccessDate=L),K&&(t.creationDate=K),Z!==ie&&t.uid===ie&&(t.uid=Z),j!==ie&&t.gid===ie&&(t.gid=j);const q=s.encrypted&&E.encrypted&&!k,Y=q&&!f;if(k||(t.zipCrypto=Y),q&&!(64&~E.rawBitFlag))throw new w(ma);const X=k?ie:vn(p);if(0!=p&&8!=p&&9!=p&&!X&&!k)throw new w(ya);if(q){if(!Y&&(f.strength<1||f.strength>3))throw new w(ma);if(!C&&!R)throw new w(ha)}const B=g+re+T+U;if(B+x>o.size)throw new w(xa);const H=x,Q=yn(o.createReadable({offset:B,size:H})),G=Te(ti(s,r,he)),J=ti(s,r,"checkPasswordOnly");let _=ti(s,r,"checkOverlappingEntry");const $=ti(s,r,"checkOverlappingEntryOnly");$&&(_=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!k,ae=k?x:S,oe=9==p;let ce=ti(s,r,ye);oe&&(ce=!1);const le=ti(s,r,"checkCrc32"),ue=(le===ie?ti(s,r,"checkSignature"):le)&&!k&&(!q||Y||f&&1==f.vendorVersion),xe={options:{codecType:Hn,password:C,rawPassword:R,zipCrypto:Y,encryptionStrength:f&&f.strength,checkCrc32:ue,checkAuthenticationCode:ti(s,r,"checkAuthenticationCode"),passwordVerification:Y&&(z?b>>>8&M:y>>>24&M),outputSize:ae,crc32:y,compressed:se,encrypted:q,useWebWorkers:ti(s,r,me),useCompressionStream:ce,transferStreams:ti(s,r,be),deflate64:oe,format:X?X.format:ie,codecURI:X?X.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,ce:{signal:G,size:H,onstart:ee,onprogress:te,onend:ne}};let ze,Ee;_&&await(async({reader:e,Ze:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,je:o,dataDescriptor:c,extraFieldZip64:l,Le:u})=>{let f=0;if(c&&(f=l?20:12),f){const n=await Ds(e,o+a,f+4),r=ut(n);let c=n.length==f+4&&oi(r,0)==W;if(c){const e=ja(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?f+=4:c=!1}if(n.length>=f){const e=ja(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:o+a+f,Ze:t};for(const[e,t]of u)if(e!=n&&d.start<t.end&&t.start<d.end){const e=new w(Sa);throw e.overlappingEntry=t.Ze,e}u.set(n,d)})({reader:o,Ze:t,index:c,offset:g,crc32:y,compressedSize:x,uncompressedSize:S,je:B,dataDescriptor:z||E.bitFlag.dataDescriptor,extraFieldZip64:d||E.extraFieldZip64,Le:n});try{if(!$){J&&(e=new v),e=new xs(e),await Es(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,x,se)),({writable:ze}=e);const{outputSize:t}=await Fr({readable:Q,writable:ze},xe);if(e.size+=t,t!=ae)throw new w(kn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=Tt)throw Ee=t,t}finally{if((zs(e)||!ti(s,r,Se))&&ze&&!ze.locked){const e=ze.getWriter();if(Ee)try{await e.abort(Ee)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():ze}}function Na(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==oi(e,n))return!0;return!1}function Va(e){if(e.length>=6){const t=ut(e);if(oi(t,0)==Z){const n=ii(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function La(e,t,r){const s=e.rawBitFlag=ii(t,r+2),a=!(1&~s),i=oi(t,r+6);n.assign(e,{encrypted:a,version:ii(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:ri(i),filenameLength:ii(t,r+22),extraFieldLength:ii(t,r+24)})}function Ma(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,u=ut(i);let f=0;try{for(;f<i.length;){const e=ii(u,f),t=ii(u,f+2);l.set(e,{type:e,data:i.slice(f+4,f+4+t)}),f+=4+t}}catch{}const d=ii(r,s+4);n.assign(t,{signature:oi(r,s+10),crc32:oi(r,s+10),compressedSize:oi(r,s+14),uncompressedSize:oi(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=ut(e.data),r=Ua.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+Ta[t].bytes,0);if(e.data.length<s)throw new w(pa);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=Ta[o];t[i]=e[i]=c.Ve(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Pa(h,vs,Cs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Pa(m,Rs,ks,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=ut(e.data),a=ai(s,4);n.assign(e,{vendorVersion:ai(s,0),vendorId:ai(s,2),strength:a,originalCompressionMethod:r,compressionMethod:ii(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,d),t.extraFieldAES=y):t.compressionMethod=d;const b=l.get(13);b&&(Ka(b,t),t.extraFieldPkwareUnix=b);const S=l.get(22613);S&&(Ka(S,t),t.extraFieldUnixType1=S);const x=l.get(10);x&&(((e,t)=>{const r=ut(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=ii(r,a),n=ii(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=ut(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:si(a),lastAccessDate:si(i),creationDate:si(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(x,t),t.extraFieldNTFS=x);const z=l.get(30805);let E;if(z&&(E=Wa(z,t,!1),t.extraFieldUnix=z),!E){const e=l.get(30837);e&&(Wa(e,t,!0),t.extraFieldInfoZip=e)}const g=l.get(G);g&&(((e,t,n)=>{if(!e.data.length)return;const r=ut(e.data),s=ai(r,0),a=[],i=[];n?(1&~s||(a.push(As),i.push(Ns)),2&~s||(a.push(Vs),i.push(Ls)),4&~s||(a.push(Ms),i.push(Ps))):e.data.length>=5&&(a.push(As),i.push(Ns));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=oi(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(g,t,a),t.extraFieldExtendedTimestamp=g);const D=l.get(6534);D&&(t.extraFieldUSDZ=D)}function Pa(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=ut(e.data),o=new xt;o.append(a[r]);const c=ut(new d(4));c.setUint32(0,o.get(),!0);const l=oi(i,1);n.assign(e,{version:ai(i,0),[t]:Or(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==oi(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ka(e,t){if(e.data.length<8)return;const r=ut(e.data),s={lastAccessDate:new o(1e3*(0|oi(r,0))),lastModDate:new o(1e3*(0|oi(r,4)))};e.data.length>=12&&(s.uid=ii(r,8),s.gid=ii(r,10)),n.assign(e,s),n.assign(t,s)}function Wa(e,t,r){try{const s=ut(e.data);let a,i;if(r){let t=0;const r=ai(s,t++),o=ai(s,t++);a=Za(e.data.subarray(t,t+o)),t+=o;const c=ai(s,t++);i=Za(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=ii(s,0),i=ii(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Za(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ja(e,t,n){const r=oi(e,t);let s,a;return n?(s=ci(e,t+4),a=ci(e,t+12)):(s=oi(e,t+4),a=oi(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function qa(e,t){return e.Ne?e.Ne(t):0}async function Ya(e){return oi(ut(await Ds(e,0,4)))}function Xa(e){return e===De||e===Fe||e===ve}function Ba(e,t){return Ha(e,Ha(t,Fe))}function Ha(e,t){const n=e.strictness;if(n!==ie){if(!Xa(n))throw new w(Da);return n}const r=e.checkAmbiguity;return r===ie?t:r?De:t==ve?ve:Fe}function Qa(e,t){if(t==ve)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Ca.test(e))||t==De&&(n.includes(".")||n.includes(""))}async function*Ga(e,t){const n=e.size-t,r=await Ds(e,n,t),s=ut(r);for(let e=r.length-B;e>=0;e--)oi(s,e)==q&&(yield[s,n,r,e,n+e])}function Ja(e,t,n){return{offset:n,buffer:e.slice(t,t+B).buffer}}async function _a(e,t,n,r,s,a,i){const o=ii(t,r+10),c=oi(t,r+12),l=oi(t,r+16);if(o==L||c==V||l==V)return await $a(e,t,n,s-H,a,i)==X?2:0;if(!o&&!c)return 1;const u=ii(t,r+6);for(const r of[s-c,qa(e,u)+l])if(await $a(e,t,n,r,a,i)==j)return 2;return 0}async function $a(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?oi(t,r-n):a.count>0?(a.count--,oi(ut(await Ds(e,r,4)),0)):ie}function ei(e){const t=new w(za);throw t.reason=e,t}function ti(e,t,n){return t[n]===ie?e.options[n]:t[n]}function ni(e,t,n){return Ue(ti(e,t,n))}function ri(e){const t=(4294901760&e)>>16,n=e&L;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function si(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ai(e,t){return e.getUint8(t)}function ii(e,t){return e.getUint16(t,!0)}function oi(e,t){return e.getUint32(t,!0)}function ci(e,t){return s(e.getBigUint64(t,!0))}var li=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:za,ERR_BAD_FORMAT:la,ERR_CENTRAL_DIRECTORY_NOT_FOUND:wa,ERR_ENCRYPTED:ha,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ea,ERR_ENTRY_DATA_OUT_OF_BOUNDS:xa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:fa,ERR_EOCDR_NOT_FOUND:ua,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:pa,ERR_INVALID_AUTHENTICATION_CODE:Ut,ERR_INVALID_COMPRESSED_DATA:Un,ERR_INVALID_CRC32:Tn,ERR_INVALID_FILENAME_VALIDATION:Fa,ERR_INVALID_MAX_APPENDED_DATA_SIZE:va,ERR_INVALID_PASSWORD:Rt,ERR_INVALID_SIGNATURE:kt,ERR_INVALID_STRICTNESS:Da,ERR_INVALID_UNCOMPRESSED_SIZE:kn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:da,ERR_OVERLAPPING_ENTRY:Sa,ERR_SPLIT_ZIP_FILE:ba,ERR_UNSAFE_FILENAME:ga,ERR_UNSUPPORTED_COMPRESSION:ya,ERR_UNSUPPORTED_ENCRYPTION:ma,ERR_WORKER_STARTUP_TIMEOUT:Jn,ZipReader:Oa,ZipReaderStream:Ia});const ui="File already exists",fi="Zip file comment exceeds 64KB",wi="Invalid zip file comment (must be a Uint8Array)",di="File entry comment exceeds 64KB",pi="Invalid file entry comment (must be a string)",hi="Invalid date (must be a valid Date instance)",mi="File entry name exceeds 64KB",yi="Version exceeds 65535",bi="The strength must equal 1, 2, or 3",Si="Encryption is not supported in USDZ files",xi="Encryption is not supported when the 'passThrough' option is set",zi="Invalid extra field (must be a Map)",Ei="Invalid extra field type (must be integer 0..65535)",gi="Invalid extra field data (must be a Uint8Array)",Di="Extra field data exceeds 64KB",Fi=-2147483648,vi=2147483647,Ci=a(0),Ri=a("0x7fffffffffffffff"),ki="Zip64 is not supported (set the 'zip64' option to 'true')",Ui="Undefined uncompressed size",Ti="Undefined compression method",Oi="Undefined reader",Ii="Zip file not empty",Ai="Invalid uid (must be integer 0..2^32-1)",Ni="Invalid gid (must be integer 0..2^32-1)",Vi="Invalid UNIX mode (must be integer 0..65535)",Li="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Mi="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Pi="Invalid msdosAttributesRaw (must be integer 0..255)",Ki="Invalid msdosAttributes (must be an object with boolean flags)",Wi="Invalid level (must be integer 0..9)",Zi="Signature data exceeds 64KB",ji=new d([7,0,2,0,65,69,3,0,0]),qi="infozip",Yi="unix";let Xi=0;const Bi=[];class Hi{constructor(e,t={}){e=new xs(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,qe:a,options:t,Ye:new c,Xe:new l,offset:t[xe]===ie?e.size||e.writable.size||0:t[xe],Be:t[xe]===ie?0:t[xe]-(e.size||e.writable.size||0),He:new l,Qe:0,Ge:ie})}async prependZip(e){if(this.Xe.size)throw new w(Ii);e=new Ss(e),await Es(e),e.size!==ie&&e.readUint8Array||(e=new Jr(await bn(e.readable)),await Es(e));const{ZipReader:r}=await b.resolve().then(()=>li),s=new r(e),a=await s.getEntries();await s.close(),await Es(this.writer);const{directoryOffset:i}=s;this.qe&&(delete this.qe,await(async e=>ut(await Ds(e,0,4)).getUint32(0,!0)==K)(e)||(await co(this.writer,oo()),this.offset+=4));const o=await(async(e,n,r,s)=>{const{writer:a}=e,i=new c;if(a.closeDisk){const o=t.from(r).sort((e,t)=>io(n,e)-io(n,t));let c=0;for(const t of o){const r=io(n,t);await so(e,n,c,r-c),no(a,await ao(n,r))&&await a.closeDisk(),i.set(t,{offset:ro(e,a),diskNumberStart:eo(a)}),c=r}await so(e,n,c,s-c)}else{const t=e.offset;await so(e,n,0,s),r.forEach(e=>i.set(e,{offset:t+io(n,e),diskNumberStart:0}))}return i})(this,e,a,i);this.Xe=new l(a.map(e=>e.filename)),this.Ye=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:c,encrypted:l,uncompressedSize:u,compressedSize:f,zip64:w}=e;let{compressionMethod:d,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S}=e;const{level:x,languageEncodingFlag:z,dataDescriptor:E}=c;p=p||fe,h=h||fe,m=m||fe,y=y||fe,b=b||fe,S=S||fe,e.extraFieldAES&&(d=99);const g=Co(p,h,m,y,b,S),D=w&&u>=V,F=w&&f>=V,v=-7&ko(x,z,E,l,d)|x<<1,{st:C,it:R}=Ro({version:t,bitFlag:v,compressionMethod:d,uncompressedSize:u,compressedSize:f,rawLastModDate:r,rawFilename:i,ot:F,ct:D,extraFieldLength:g}),{crc32:k}=e;k!==ie&&Do(R,10,k);const{offset:U,diskNumberStart:T}=o.get(e);return n.assign(e,{ct:D,ot:F,offset:U,diskNumberStart:T,lt:!1,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S,extendedTimestamp:m.length>0||y.length>0,ut:1+(s?2:0)+(a?4:0),st:C,it:R}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{He:u}=l;let f,p;Xi<qe().maxWorkers?Xi++:await new b(e=>Bi.push(e));try{if(e=e.trim(),po(l,c,_s)&&!e.endsWith(ne)&&(e+=ne),l.Xe.has(e))throw new w(ui);return l.Xe.add(e),p=!0,f=(async(e,r,c,l)=>{const u=((e,n,r)=>{n=n.trim();let s=po(e,r,Xs),a=po(e,r,Gs,s?20:768);const i=po(e,r,$s),o=So(e,r,"uid"),c=So(e,r,"gid");let l=So(e,r,ra),u=po(e,r,"unixExtraFieldType"),f=po(e,r,sa),d=po(e,r,aa),p=po(e,r,ia);if(Ae(o,V,Ai),Ae(c,V,Ni),Ae(l,L,Vi),u!==ie&&u!==qi&&u!==Yi)throw new w(Li);if(u===Yi&&(o!==ie&&o>L||c!==ie&&c>L))throw new w(Mi);u!==ie||o===ie&&c===ie||(u=qi);let h=So(e,r,qs),m=po(e,r,Ys);const y=h!==ie||m!==ie;if(o!==ie||c!==ie||l!==ie||u||i?(s=!1,a=a&M|768):y&&(s=!0,a&=M),Ae(h,M,Pi),m&&("object"!=typeof m||t.isArray(m)))throw new w(Ki);if(a>L)throw new w(yi);let b=yo(e,r,Ws,js);const S=b!==ie;S||(b=0),!r[_s]&&n.endsWith(ne)&&(r[_s]=!0);const x=po(e,r,_s);if(x?(n.endsWith(ne)||(n+=ne),S||(b=16,s||(b|=16877<<16))):s||S||(b=i?493<<16:27525120),!s){const e=l!==ie||!!(f||d||p);l=l===ie?b>>16&L:l&L,f?l|=ee:f=!!(l&ee),d?l|=te:d=!!(l&te),p?l|=512:p=!!(512&l),S&&!e||(x?l=-61441&l|$:l&_||(l|=32768),b=(l&L)<<16|b&L)}return({msdosAttributesRaw:h,msdosAttributes:m}=((e,t)=>{if(e!==ie)e&=M;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&M}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(h,m)),y&&(b=b&V|h&M),{name:n,ft:{versionMadeBy:a,msDosCompatible:!!s,externalFileAttributes:b,unixExternalUpper:b>>16&L,uid:o,gid:c,unixMode:l,unixExtraFieldType:u,symlink:l!==ie&&40960==(l&_),setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}})(e,r,l);({name:r}=u);const f=((e,t,n)=>{const r=mo(e,n,"encodeText")||Et;let a=r(t,Ee);if(a===ie&&(a=Et(t)),Co(a)>L)throw new w(mi);const i=n[Rs]||"";if(typeof i!=ue)throw new w(pi);let c=r(i,ge);if(c===ie&&(c=Et(i)),Co(c)>L)throw new w(di);const l=po(e,n,Qs,20);if(l>L)throw new w(yi);const u=ho(e,n,As,new o),f=ho(e,n,Vs),d=ho(e,n,Ms),p=yo(e,n,Ks,Zs,0),h=po(e,n,pe),m=po(e,n,we),y=po(e,n,de);Oe(m,y);const b=So(e,n,"encryptionStrength",3),S=po(e,n,Js),x=po(e,n,"extendedTimestamp",!0),z=po(e,n,"ntfsTimestamp"),E=po(e,n,"keepOrder",!0),g=po(e,n,me),D=po(e,n,be),F=po(e,n,"bufferedWrite"),v=mo(e,n,"createTempStream"),C=po(e,n,"dataDescriptorSignature",!0),R=Te(po(e,n,he)),k=po(e,n,"useUnicodeFileNames",!0),U=po(e,n,ea),T=h||U===ie?ie:vn(U);if(!h&&U!==ie&&0!==U&&8!==U&&!T)throw new w("Compression method not supported");let O=So(e,n,"level");if(Ae(O,9,Wi),e.options[ze]){if(m!==ie||y!==ie)throw new w(Si);O===ie&&U===ie&&(O=0)}h&&(O=ie);let I=po(e,n,ye),A=po(e,n,"dataDescriptor");F&&A===ie&&(A=!1),(A===ie||S)&&(A=!0),O!==ie&&6!=O&&(I=!1);const N=po(e,n,Bs);if(!(S||m===ie&&y===ie||s.isInteger(b)&&b>=1&&b<=3))throw new w(bi);const V=Gi(n[na]),M=Gi(n.localExtraField);return{comment:i,ft:{rawFilename:a,rawComment:c,version:l,lastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:b,zipCrypto:S,extendedTimestamp:x,ntfsTimestamp:z,keepOrder:E,useWebWorkers:g,transferStreams:D,bufferedWrite:F,createTempStream:v,dataDescriptorSignature:C,signal:R,useUnicodeFileNames:k,compressionMethod:U,format:T?T.format:ie,codecURI:T?T.codecURI:ie,wt:T?T.versionNeeded:ie,level:O,useCompressionStream:I,dataDescriptor:A,zip64:N,rawExtraField:V,ht:M}}})(e,r,l),{comment:p}=f,h=l[na];let m;e.Ye.set(r,ie);try{const{ft:t}=f;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(Kn(t)||Pn(t,In))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(qe())||(t.level=0);const s=await(async(e,t,{ft:r},s)=>{if(r.passThrough&&!t&&!po(e,s,_s))throw new w(Oi);let a;return t&&(t=new Ss(t),await Es(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:d,compressionMethod:p}=r,h=0,m=0;if(a&&t){if(m=s[Us],m===ie)throw new w(Ui);if(p===ie)throw new w(Ti)}const y=!0===f,b=po(e,s,Hs);if(t&&a&&!b&&Co(o,c))throw new w(xi);const S=t&&(!!(o&&Co(o)||c&&Co(c))||a&&b);t||(d=0,p=0);const x=S?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?xo(m)+x:n):n===ie?(u=!0,(f||f===ie)&&(f=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(zo(p,d)?xo(m):m)+x));const z=y||m>=V,E=y||h>=V;if(z||E){if(!1===f)throw new w(ki);f=!0}return f=f||!1,{yt:h,ft:{dataDescriptor:u,zip64:f,ct:z,ot:E,uncompressedSize:m,level:d,compressionMethod:p,encrypted:S}}})(e,!!t,a,r,s))})(e,c,f,l);({reader:c}=s);const p=to(e.writer),h=eo(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:f,directory:d,rawExtraField:p,ht:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:x,ct:z,ot:E,uncompressedSize:g,crc32:D}=e;let{version:F,compressionMethod:v}=e;const C=!d&&zo(v,a);let R;const k=S||!C,U=c&&(e.bufferedWrite||!f||!z&&!E||k),T=U||c&&f&&(z||E);if(c&&(z||E)){const e=20,t=$i(e);if(t.bt(1),t.bt(e-4),R=t.St,U&&(t.xt(g),k)){const e=x?l?12:16+4*m:0;t.xt(S?0:g+e)}}else R=fe;let O,I,A,N,V;if(x&&!l){const e=$i(Co(ji)+2);e.bt(39169),e.zt(ji),O=e.St,O[8]=m}else O=fe;if(y){const e=uo(n),t=fo(e);if(t){const t=9+(r?4:0)+(s?4:0),n=$i(t);N=1+(r?2:0)+(s?4:0),n.bt(G),n.bt(t-4),n.Et(N),n.gt(e),r&&n.gt(wo(uo(r))),s&&n.gt(wo(uo(s))),A=n.St}else A=fe;if(b===ie?!t||r||s:b)try{const e=lo(n),t=$i(36);t.bt(10),t.bt(32),t.Dt(4),t.bt(1),t.bt(24),t.xt(e),t.xt(r?lo(r):e),t.xt(s?lo(s):e),I=t.St}catch{I=fe}else I=fe}else I=A=fe;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=qi||t===ie&&n===ie)if(r!=Yi||t===ie&&n===ie)V=fe;else{const e=$i(8);e.bt(30805),e.bt(4),e.bt((t===ie?0:t)&L),e.bt((n===ie?0:n)&L),V=e.St}else{const e=_i(t),r=_i(n),s=3+e.length+r.length,a=$i(4+s);a.bt(30837),a.bt(s),a.Et(1),a.Et(e.length),a.zt(e),a.Et(r.length),a.zt(r),V=a.St}}catch{V=fe}v===ie&&(v=C?8:0);const{wt:M}=e;C&&M!==ie&&(F=F>M?F:M),c&&(F=F>45?F:45),x&&!l&&(F=F>51?F:51,S&&D!==ie&&(O[4]=1),go(ut(O),9,v),v=99);const K=T?Co(R):0,W=K+Co(O,A,I,V,p,h);if(W+(e[ze]?67:0)>L)throw new w(Di);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{st:j,it:q,rawLastModDate:Y}=Ro({version:F,bitFlag:ko(a,u,f,x,v),compressionMethod:v,uncompressedSize:g,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,ot:E,ct:z,extraFieldLength:W}),X=$i(re+Co(t)+W),B=X.St,H=ut(B);return X.gt(P),X.zt(j),X.zt(t),T&&X.zt(R),X.zt(O),X.zt(A),X.zt(I),X.zt(V),X.zt(p),X.zt(h),f&&(E||Do(H,18,0),z||Do(H,22,0)),{Ft:B,vt:H,st:j,it:q,lastModDate:n,rawLastModDate:Y,encrypted:x,compressed:C,version:F,compressionMethod:v,ut:N,Je:fe,Ct:K,$e:A,et:I,nt:V,_e:O,extraFieldLength:W}})(l=n.assign({},l,u.ft,f.ft,s.ft,{signature:l[ta],crc32:l.crc32===ie?l[ta]:l.crc32,offset:e.offset-p,diskNumberStart:h,[ze]:e.options[ze]})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=fe,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new d(i),r=ut(s),n&&(a=4,Do(r,0,W))),{Rt:s,kt:r,Ut:a}})(l),x=Co(y.Ft,S.Rt);m=await(async(e,t,r,s,i)=>{const{Ye:o,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:f}=i,{Tt:d}=s,p=e.options[ze],h=e.Ge;let m,y,S,x,z,E,g,F={},C=0;o.set(t,F),e.Ge=F;try{let y;l&&(y=h&&h.Ot,F.Ot=new b(e=>S=e)),i.bufferedWrite||!l||e.It||e.Qe||!u?(m=!0,e.Qe++,g=i.createTempStream?await i.createTempStream():new D(ie,ie,{highWaterMark:oe}),g.size=0,await Es(c)):(g=c,await R()),await Es(g);const U=to(c);e.qe&&(delete e.qe,await co(c,oo()),e.offset+=4),p&&!m&&Ji(s,e.offset-U);const{Ft:T}=d;m||(await y,await k());const O=eo(c),I=ro(e,c);if(F.diskNumberStart=O,m||(z=!0,E=c.size,await co(g,T)),F=await(async(e,t,{diskNumberStart:r,Ot:s},i,o,c)=>{const{Tt:l,At:u,Nt:f}=i,{st:d,it:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:b,version:S,compressionMethod:x,Je:z,Ct:E,$e:g,ut:D,et:F,nt:v,_e:C}=l,{Rt:R}=u,{rawFilename:k,lastAccessDate:U,creationDate:T,password:O,rawPassword:I,level:A,zip64:N,ct:L,ot:P,zipCrypto:K,dataDescriptor:W,directory:Z,executable:j,versionMadeBy:q,rawComment:Y,rawExtraField:X,useWebWorkers:B,transferStreams:H,onstart:Q,onprogress:G,onend:J,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:be}=c,Se={Ot:s,versionMadeBy:q,zip64:N,directory:!!Z,executable:!!j,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:Y,Je:z,Ct:E,$e:g,et:F,nt:v,_e:C,rawExtraField:X,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe};let{crc32:xe,uncompressedSize:ze}=c,Ee=0;me||(ze=0);const{writable:ge}=t;if(e){const n=yn(Fs(e)),r=e.size,s={options:{codecType:Bn,level:A,rawPassword:I,password:O,encryptionStrength:$,zipCrypto:y&&K,passwordVerification:y&&K&&m>>8&M,computeCrc32:!me,compressed:b&&!me,encrypted:y&&!me,useWebWorkers:B,useCompressionStream:he,transferStreams:H,format:ye,codecURI:be,compressionMethod:x},config:o,ce:{signal:_,size:r,onstart:Q,onprogress:G,onend:J}};try{const e=await Fr({readable:n,writable:ge},s);if(Ee=e.outputSize,t.size+=Ee,me||(ze=e.inputSize,y&&!K||(xe=e.crc32)),!P&&Ee>=V||!L&&ze>=V)throw new w(ki)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Tt:r,At:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{it:u,encrypted:f}=r,{kt:w,Ut:d}=s;f&&!o&&!c||e===ie||(Do(u,10,e),l&&Do(w,d,e)),i?l&&(Fo(w,d+4,a(t)),Fo(w,d+12,a(n))):(Do(u,14,t),Do(u,18,n),l&&(Do(w,d+4,t),Do(w,d+8,n)))})({crc32:xe,compressedSize:Ee,uncompressedSize:ze,Tt:l,At:u},c),W&&await co(t,R),n.assign(Se,{uncompressedSize:ze,compressedSize:Ee,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:U,encrypted:!!y,zipCrypto:!!K,size:f+Ee,compressionMethod:x,version:S,st:d,it:p,signature:xe,crc32:!y||K||me?xe:ie,ut:D,ct:L,ot:P}),Se})(r,g,F,s,qe(),i),m||(z=!1),o.set(t,F),F.filename=t,m){if(await b.all([g.writable.getWriter().close(),y]),await R(),x=!0,E=c.size,await k(),F.diskNumberStart=eo(c),F.offset=ro(e,c),p){const t=s.Nt;Ji(s,e.offset-to(c)),F.size+=s.Nt-t}(({rawFilename:e,encrypted:t,zip64:n,Ct:r,crc32:s,compressedSize:i,uncompressedSize:o,ct:c,ot:l},u,{dataDescriptor:f,passThrough:w})=>{if(f||((!t||w&&s!==ie)&&Do(u,14,s),l||Do(u,18,i),c||Do(u,22,o)),n&&r){const t=re+Co(e)+4;Fo(u,t,a(o)),Fo(u,t+8,a(i))}})(F,d.vt,i),await co(c,d.Ft),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new v({async write(e){var t;await r.ready,await r.write(e),t=Co(e),C+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(g.readable,c,f),c.size+=g.size,x=!1}else F.diskNumberStart=O,F.offset=I;return e.offset+=F.size,F}catch(n){if(x||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-E,m&&(e.offset+=C)}throw o.delete(t),n}finally{if(m&&e.Qe--,S&&S(),y&&y(),m&&g&&g.dispose)try{await g.dispose()}catch{}}async function R(){e.It=!0;const{Vt:t}=e;e.Vt=new b(t=>y=()=>{e.It=!1,t()}),await t}async function k(){no(c,Co(d.Ft))&&await c.closeDisk()}})(e,r,c,{Tt:y,At:S,Nt:x},l)}catch(t){throw e.Ye.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[Zs]:m.internalFileAttributes,[js]:m.externalFileAttributes}),new ca(m)})(l,e,r,c),u.add(f),await f}catch(t){throw p&&l.Xe.delete(e),t}finally{u.delete(f);const e=Bi.shift();e?e():Xi--}}remove(e){const{Xe:t,Ye:n}=this;if(typeof e==ue&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=fe,n={}){const{He:r,writer:s}=this,{writable:i}=s;if(!(e instanceof d))throw new w(wi);if(Co(e)>L)throw new w(fi);for(;r.size;)await b.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,_e:r,rawComment:s,et:a,nt:i,rawExtraField:o,extendedTimestamp:c,ut:l,lastModDate:u,ct:f,ot:d,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=V,y=n.diskNumberStart>=L;let b,S;if(m||y||f||d){const e=4+(f?8:0)+(d?8:0)+(m?8:0)+(y?4:0),t=$i(e);t.bt(1),t.bt(e-4),f&&t.xt(p),d&&t.xt(h),m&&t.xt(n.offset),y&&t.gt(n.diskNumberStart),b=t.St}else b=fe;n.Je=b,n.Lt=m,n.lt=y;const x=uo(u);if(c&&fo(x)){const e=$i(9);e.bt(G),e.bt(5),e.Et(l),e.gt(x),S=e.St}else S=fe;n.$e=S;const z=Co(b,r,a,i,S,o);if(z>L)throw new w(Di);t+=46+Co(e,s)+z}return t})(e.Ye),{Mt:i,Pt:o}=await(async(e,n,r)=>{const{Ye:s,writer:a}=e,i=new d(n);await Es(a);let o=0,c=0,l=eo(a),u=to(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:f,Je:w,_e:d,$e:p,et:h,nt:m,rawExtraField:y,rawComment:b,versionMadeBy:S,st:x,it:z,ct:E,ot:g,lt:D,Lt:F,internalFileAttributes:v,externalFileAttributes:C,diskNumberStart:R,uncompressedSize:k,compressedSize:U}=n,T=Co(w,d,p,h,m,y),O=46+Co(f,b)+T;no(a,o+O-c)&&(await co(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=eo(a),u=to(a)),E||Do(z,18,k),g||Do(z,14,U),(F||D)&&n.version<45&&go(z,0,45);const I=$i(O);if(I.gt(j),I.bt(S),I.zt(x.subarray(0,24)),I.bt(T),I.bt(Co(b)),I.bt(D?L:R),I.bt(v),I.gt(C),I.gt(F?V:t),I.zt(f),I.zt(w),I.zt(d),I.zt(p),I.zt(h),I.zt(m),I.zt(y),I.zt(b),vo(i,I.St,o),o+=O,r.onprogress)try{await r.onprogress(e+1,s.size,new ca(n))}catch{}}return await co(a,c?i.slice(c):i),{Mt:{diskNumber:l,diskOffset:u},Pt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=mo(e,n,"signCentralDirectory");if(r){const n=await r(t),s=Co(n);if(s>L)throw new w(Zi);const a=$i(6+s);a.gt(Z),a.bt(s),a.zt(n);const{writer:i}=e;return no(i,Co(a.St))&&await i.closeDisk(),await co(i,a.St),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Mt:i,Kt:o}=r;let{Wt:c}=r,l=e.Ye.size,u=i.diskNumber,f=ro(e,i),d=eo(s);no(s,B)&&d++;let p=po(e,n,Bs);if(f>=V||c>=V||l>=L||d>=L){if(!1===p)throw new w(ki);p=!0}const h=Co(t);if(h>L)throw new w(fi);const m=$i(p?98:B);no(s,Co(m.St)+h)&&await s.closeDisk(),d=eo(s),p&&(m.gt(Y),m.xt(44),m.bt(45),m.bt(45),m.gt(d),m.gt(u),m.xt(l),m.xt(l),m.xt(c),m.xt(f),m.gt(X),m.gt(d),m.xt(a(ro(e,s))+a(c)+a(o)),m.gt(d+1),po(e,n,"supportZip64SplitFile",!0)&&(d=L,u=L),l=L,f=V,c=V),m.gt(q),m.bt(d),m.bt(u),m.bt(l),m.bt(l),m.gt(c),m.gt(f),m.bt(h),await co(s,m.St),h&&await co(s,t)})(e,n,r,{Mt:i,Wt:s,Kt:c})})(this,e,n),!zs(s)&&po(this,n,Se)||await i.getWriter().close(),s.getData?s.getData():i}}function Qi(e,t,n){e.He.add(t),t.catch(e=>{try{n(e)}catch{}})}function Gi(e){if(!e)return fe;if(!(e instanceof c))throw new w(zi);let t=0,n=0;e.forEach((e,n)=>{if(Ie(n,L,Ei),!(e instanceof d))throw new w(gi);if(Co(e)>L)throw new w(Di);t+=4+Co(e)});const r=new d(t),s=ut(r);return e.forEach((e,t)=>{go(s,n,t),go(s,n+2,Co(e)),vo(r,e,n+4),n+=4+Co(e)}),r}function Ji(e,t){const{Tt:n}=e;let{Ft:r,extraFieldLength:s}=n,a=64-(t+Co(r))%64;a<4&&(a+=64);const i=new d(a),o=ut(i);go(o,0,6534),go(o,2,a-4);const c=r;n.Ft=r=new d(Co(c)+a),vo(r,c),vo(r,i,Co(c));const l=ut(r);go(l,28,s+a),n.vt=l,e.Nt+=a}function _i(e){if(e===ie)return fe;{const t=new d(4);ut(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function $i(e){const t=new d(e),n=ut(t);let r=0;return{St:t,Et:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},bt:e=>{go(n,r,e),r+=2},gt:e=>{Do(n,r,e),r+=4},xt:e=>{Fo(n,r,a(e)),r+=8},zt:e=>{vo(t,e,r),r+=Co(e)},Dt:e=>r+=e}}function eo(e){const{diskNumber:t=0}=e;return t}function to(e){const{diskOffset:t=0}=e;return t}function no(e,t){const{availableSize:n=oe}=e;return t>n}function ro(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Be:0)}async function so(e,t,n,r){if(r>0){const{writer:s}=e;await Fs(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function ao(e,t){const n=await Ds(e,t,re);if(Co(n)<re)return re;const r=ut(n);return re+Eo(r,26)+Eo(r,28)}function io(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function oo(){const e=new d(4);return Do(ut(e),0,K),e}async function co(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Co(t),await r.write(t)}finally{r.releaseLock()}}function lo(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<Ci?Ci:t>Ri?Ri:t}}function uo(e){return i.floor(e.getTime()/1e3)}function fo(e){return e>=Fi&&e<=vi}function wo(e){return i.min(vi,i.max(Fi,e))}function po(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function ho(e,t,n,r){const a=po(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(hi);return a}function mo(e,t,n){return Ue(po(e,t,n))}function yo(e,t,n,r,s){const a=bo(t,n,r),i=a===ie?bo(e.options,n,r):a;return i===ie?s:i}function bo(e,t,n){return e[t]===ie?e[n]:e[t]}function So(e,t,n,r){return Ne(po(e,t,n,r))}function xo(e){return e+5*(i.floor(e/16383)+1)}function zo(e,t){return e===ie?t===ie||t>0:0!==e}function Eo(e,t){return e.getUint16(t,!0)}function go(e,t,n){e.setUint16(t,n,!0)}function Do(e,t,n){e.setUint32(t,n,!0)}function Fo(e,t,n){e.setBigUint64(t,n,!0)}function vo(e,t,n){e.set(t,n)}function Co(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Ro({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,ot:c,ct:l,extraFieldLength:u}){const f=$i(26),w=f.St,d=ut(w);if(f.bt(e),f.bt(t),f.bt(n),i===ie){const e=new h(1),t=ut(e);go(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),go(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return f.gt(i),f.Dt(4),c||s!==ie?f.gt(c?V:s):f.Dt(4),l||r!==ie?f.gt(l?V:r):f.Dt(4),f.bt(Co(o)),f.bt(u),{st:w,it:d,rawLastModDate:i}}function ko(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const Uo=1048576,To=".zip.js-temp",Oo=1048576,Io=1048576,Ao=".zip.js-temp",No="createSyncAccessHandle is only available in dedicated workers";try{Ge({baseURI:void 0===z&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===z?location.href:N&&"SCRIPT"===N.tagName.toUpperCase()&&N.src||new f("zip-legacy.min.js",z.baseURI).href})}catch{}it(Ge),e.BlobReader=Jr,e.BlobWriter=_r,e.Data64URIReader=class extends Br{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Zt:e,jt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{jt:n,Zt:r}=this,s=new d(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Hr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",qt:""})}writeUint8Array(e){const t=this;let n,s=t.qt;const a=t.qt.length;for(t.qt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.qt+=r.fromCharCode(e[n]);s.length>2?t.data+=g(s):t.qt=s+t.qt}getData(){return this.data+g(this.qt)}},e.ERR_AMBIGUOUS_ARCHIVE=za,e.ERR_BAD_FORMAT=la,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=wa,e.ERR_DUPLICATED_NAME=ui,e.ERR_ENCRYPTED=ha,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Ea,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=xa,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=fa,e.ERR_EOCDR_NOT_FOUND=ua,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=pa,e.ERR_HTTP_RANGE=Nr,e.ERR_HTTP_RESOURCE_CHANGED=Vr,e.ERR_INVALID_AUTHENTICATION_CODE=Ut,e.ERR_INVALID_CODEC_DEFINITION=xn,e.ERR_INVALID_CODEC_MODULE=En,e.ERR_INVALID_COMMENT=fi,e.ERR_INVALID_COMMENT_TYPE=wi,e.ERR_INVALID_COMPRESSED_DATA=Un,e.ERR_INVALID_CRC32=Tn,e.ERR_INVALID_DATE=hi,e.ERR_INVALID_ENCRYPTION_STRENGTH=bi,e.ERR_INVALID_ENTRY_COMMENT=di,e.ERR_INVALID_ENTRY_COMMENT_TYPE=pi,e.ERR_INVALID_ENTRY_NAME=mi,e.ERR_INVALID_EXTRAFIELD=zi,e.ERR_INVALID_EXTRAFIELD_DATA=Di,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=gi,e.ERR_INVALID_EXTRAFIELD_TYPE=Ei,e.ERR_INVALID_FILENAME_VALIDATION=Fa,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Ni,e.ERR_INVALID_LEVEL=Wi,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=va,e.ERR_INVALID_MAX_WORKERS=Ve,e.ERR_INVALID_MSDOS_ATTRIBUTES=Pi,e.ERR_INVALID_MSDOS_DATA=Ki,e.ERR_INVALID_PASSWORD=Rt,e.ERR_INVALID_PASSWORD_TYPE=ke,e.ERR_INVALID_SIGNAL=Re,e.ERR_INVALID_SIGNATURE=kt,e.ERR_INVALID_SIGNATURE_DATA=Zi,e.ERR_INVALID_STRICTNESS=Da,e.ERR_INVALID_UID=Ai,e.ERR_INVALID_UNCOMPRESSED_SIZE=kn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Li,e.ERR_INVALID_UNIX_ID_SIZE=Mi,e.ERR_INVALID_UNIX_MODE=Vi,e.ERR_INVALID_VERSION=yi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Lr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=da,e.ERR_OVERLAPPING_ENTRY=Sa,e.ERR_RESERVED_COMPRESSION_METHOD=zn,e.ERR_SPLIT_ZIP_FILE=ba,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ti,e.ERR_UNDEFINED_READER=Oi,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ui,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=ga,e.ERR_UNSUPPORTED_COMPRESSION=ya,e.ERR_UNSUPPORTED_CONTEXT=No,e.ERR_UNSUPPORTED_CRYPTO_API=Ot,e.ERR_UNSUPPORTED_ENCRYPTION=ma,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=xi,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Si,e.ERR_UNSUPPORTED_FORMAT=ki,e.ERR_WORKER_STARTUP_TIMEOUT=Jn,e.ERR_WRITER_NOT_INITIALIZED=Mr,e.ERR_ZIP_NOT_EMPTY=Ii,e.HttpRangeReader=class extends ms{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ms,e.Reader=Br,e.SplitDataReader=ys,e.SplitDataWriter=bs,e.TextReader=class extends Jr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends _r{constructor(e){super(),n.assign(this,{encoding:e,Yt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Yt:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>Ir(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Br{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Hr{constructor(e){super(),this.Xt=e||262144}init(e=0){n.assign(this,{offset:0,St:new d(e>0?e:this.Xt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.Xt;for(;e<n;)e*=2;const r=t.St;t.St=new d(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.Writer=Hr,e.ZipReader=Oa,e.ZipReaderStream=Ia,e.ZipWriter=Hi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new D;this.readable=t,this.zipWriter=new Hi(n,e),this.He=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new D({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Qi(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new D({start(e){t=e}});return Qi(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await b.all(t.from(this.He)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(je,Be(Qe(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Oo}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new v({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new D;r=bn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new F({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=Uo,directoryName:r=To,getDirectory:s=()=>k.storage.getDirectory()}=e;let a;function i(){return a||(a=b.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const u=new v({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let f=0;return{writable:u,readable:new F({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=Io,directoryName:r=Ao,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(No);const a=s||(()=>k.storage.getDirectory());let o;function c(){return o||(o=b.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,u=0;const f=new v({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:f,readable:new F({pull(t){if(o){const e=l-u;if(e<=0)return void t.close();const n=new d(i.min(524288,e)),r=s.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>L||typeof n!=ue||!n.length)throw new w(xn);if(gn.includes(t))throw new w(zn);const c=typeof a==le||typeof i==le;if(!(c||typeof r==ue&&r.length))throw new w(xn);Dn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&Rn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Ze)delete je[e];n.assign(je,Me)},e.terminateWorkers=async()=>{await b.allSettled(xr.map(e=>(Ur(e),e.terminate()))),_n=ie,$n=!1},e.unregisterCodec=e=>{const t=Dn.get(e);if(t){let n;Dn.delete(e),Dn.forEach(e=>n=n||e.format==t.format),n||Fn.delete(t.format)}}});
1
+ ((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:u,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:b,TextEncoder:S,TextDecoder:x,document:z,crypto:E,btoa:g,TransformStream:F,ReadableStream:D,WritableStream:v,CompressionStream:R,DecompressionStream:C,navigator:k,Worker:U,Symbol:T,setTimeout:O,clearTimeout:I,structuredClone:A}="undefined"!=typeof globalThis?globalThis:this||self;var N=void 0!==z?z.currentScript:null;const V=4294967295,L=65535,M=255,P=67324752,K=134695760,W=K,Z=84233040,j=33639248,q=101010256,Y=101075792,X=117853008,B=22,H=20,G=56,Q=21589,J=2048,_=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",ue="string",fe=new d,we="password",de="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",be="transferStreams",Se="preventClose",xe="dataDescriptor",ze="offset",Ee="usdz",ge="filename",Fe="comment",De="strict",ve="balanced",Re="tolerant",Ce="Invalid option (must be a function)",ke="Invalid signal (must be an AbortSignal instance)",Ue="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Te(e){if(e&&typeof e!=le)throw new w(Ce);return e}function Oe(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(ke);return e||ie}function Ie(e,t){if(e&&typeof e!=ue||t&&!(t instanceof d))throw new w(Ue)}function Ae(e,t,n){if(!s.isInteger(e)||e<0||e>t)throw new w(n)}function Ne(e,t,n){e!==ie&&Ae(e,t,n)}function Ve(e){return typeof e==ue&&e.trim()?s(e):e}const Le="Invalid maxWorkers (must be an integer greater than 0)";let Me=2;try{typeof k!=ce&&k.hardwareConcurrency&&(Me=k.hardwareConcurrency)}catch{}const Pe={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Me,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof R!=ce&&R,DecompressionStream:typeof C!=ce&&C},Ke="maxWorkers",We=["chunkSize",Ke,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ze=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],je=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...We,...Ze],qe={...Pe};function Ye(){return qe}function Xe(e){return Be(e.chunkSize)}function Be(e){return e=Ve(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function He(e){const t={};for(const n of je){const r=e[n];r!==ie&&(t[n]=Ge(n,r))}return t}function Ge(e,t){if(We.includes(e)){if(t=Ve(t),e==Ke&&(!s.isInteger(t)||t<1))throw new w(Le)}else Ze.includes(e)&&Te(t);return t}function Qe(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function Je(e){const t=He(Qe(e));n.assign(Pe,t),n.assign(qe,t)}const _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],$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],et=[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],tt=[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],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=new d(288);rt.fill(8,0,144),rt.fill(9,144,256),rt.fill(7,256,280),rt.fill(8,280,288);const st=new d(30).fill(5);function at(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const it="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ot=(ct=()=>(e=>{let t=0,n=0,r=0,s=new d(1024),a=0,i=0;for(;!i;){i=c(1);const e=c(2);if(0==e)l();else if(1==e)u(at(rt),at(st));else{if(2!=e)throw w("invalid deflate block type");u(...f())}}return s.subarray(0,a);function o(){if(t>=e.length)throw w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=o()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function l(){n=0,r=0;const e=o()|o()<<8;t+=2,h(a+e);for(let t=0;t<e;t++)s[a++]=o()}function u(e,t){let n=p(e);for(;256!=n;){if(n<256)h(a+1),s[a++]=n;else{const e=n-257,r=_e[e]+c($e[e]),i=p(t),o=et[i]+c(tt[i]);h(a+r);const l=a-o;for(let e=0;e<r;e++)s[a++]=s[l+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[nt[e]]=c(3);const s=at(r),a=new d(e+t);let i=0;for(;i<a.length;){const e=p(s);if(e<16)a[i++]=e;else if(16==e){const e=a[i-1];let t=c(2)+3;for(;t--;)a[i++]=e}else i+=17==e?c(3)+3:c(7)+11}return[at(a.subarray(0,e)),at(a.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,s=0,a=0;for(let e=1;e<=15;e++){r|=c(1);const i=t[e];if(r-s<i)return n[a+(r-s)];a+=i,s=s+i<<1,r<<=1}throw w("invalid huffman code")}function h(e){if(s.length<e){let t=2*s.length;for(;t<e;)t*=2;const n=new d(t);n.set(s.subarray(0,a)),s=n}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=it.indexOf(e[r])<<18|it.indexOf(e[r+1])<<12|(63&it.indexOf(e[r+2]))<<6|63&it.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)})("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=ct();if("string"==typeof n&&(n=(new S).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=it[n>>18&63]+it[n>>12&63]+it[n>>6&63]+it[63&n]}const s=n-r;if(1===s){const n=e[r]<<16;t+=it[n>>18&63]+it[n>>12&63]+"=="}else if(2===s){const n=e[r]<<16|e[r+1]<<8;t+=it[n>>18&63]+it[n>>12&63]+it[n>>6&63]+"="}return t})(n)}}));var ct;function lt(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function ut(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function ft(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const wt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;wt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=wt[t-1][e];wt[t][e]=n>>>8^wt[0][255&n]}const[dt,pt,ht,mt,yt,bt,St,xt]=wt;class zt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=xt[255&e]^St[e>>>8&255]^bt[e>>>16&255]^yt[e>>>24&255]^mt[255&n]^ht[n>>>8&255]^pt[n>>>16&255]^dt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^dt[255&(t^e[r])];this.l=t}get(){return~this.l}}class Et extends F{constructor(){let e;const t=new zt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function gt(e){if(typeof S==ce){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}const Ft={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Ft.h(n);return 32===r?e.concat(t):Ft.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+Ft.h(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Ft.F(t,e[n-1]&2147483648>>t-1,1)),e},F:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,h:e=>i.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=Ft.h(s);return r.push(Ft.F(t+a&31,t+a>32?n:r.pop(),1)),r}},Dt={bytes:{D(e){const t=Ft.bitLength(e)/8,n=new d(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},v(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(Ft.F(8*(3&n),r)),t}}},vt=class{constructor(e){const t=this;t.blockSize=512,t.R=[1732584193,4023233417,2562383102,271733878,3285377520],t.C=[1518500249,1859775393,2400959708,3395469782],e?(t.U=e.U.slice(0),t.T=e.T.slice(0),t.O=e.O):t.reset()}reset(){const e=this;return e.U=e.R.slice(0),e.T=[],e.O=0,e}update(e){const t=this;"string"==typeof e&&(e=Dt.I.v(e));const n=t.T=Ft.concat(t.T,e),r=t.O,s=t.O=r+Ft.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.A(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}N(){const e=this;let t=e.T;const n=e.U;t=Ft.concat(t,[Ft.F(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.O/4294967296)),t.push(0|e.O);t.length;)e.A(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}L(e,t){return t<<e|t>>>32-e}A(e){const n=this,r=n.U,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.L(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.L(5,a)+n.V(e,o,c,l)+u+s[e]+n.C[i.floor(e/20)]|0;u=l,l=c,c=n.L(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},Rt={importKey:e=>new Rt.M(Dt.bytes.v(e)),P(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const u=new ArrayBuffer(s),f=new m(u);let d=0;const p=Ft;for(t=Dt.bytes.v(t),l=1;d<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;d<(s||1)&&o<a.length;o++)f.setInt32(d,a[o]),d+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.K=vt,r=[[],[]];t.W=[new n,new n];const s=t.W[0].blockSize/32;e.length>s&&(e=(new n).update(e).N());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.Z=new n(t.W[0])}reset(){const e=this;e.Z=new e.K(e.W[0]),e.j=!1}update(e){this.j=!0,this.Z.update(e)}digest(){const e=this,t=e.Z.N(),n=new e.K(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.j)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ct=typeof E!=ce&&typeof E.getRandomValues==le,kt="Invalid password",Ut="Invalid signature",Tt=Ut,Ot="zipjs-abort-check-password",It="Crypto API not supported";function At(e){if(Ct)return E.getRandomValues(e);throw new w(It)}const Nt=16,Vt={name:"PBKDF2"},Lt=n.assign({hash:{name:"HMAC"}},Vt),Mt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Vt),Pt=["deriveBits"],Kt=[8,12,16],Wt=[16,24,32],Zt=10,jt=[0,0,0,0],qt=typeof E!=ce,Yt=qt&&E.subtle,Xt=qt&&typeof Yt!=ce,Bt=Dt.bytes,Ht=class{constructor(e){const t=this;t.Y=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Y[0][0][0]||t.X();const n=t.Y[0][4],r=t.Y[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.C=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.B(e,0)}decrypt(e){return this.B(e,1)}X(){const e=this.Y[0],t=this.Y[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=i=0;!n[u];u^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[u]=a,r[a]=u,l=s[c=s[o=s[u]]];let f=16843009*l^65537*c^257*o^16843008*u,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][u]=w=w<<24^w>>>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)}B(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.C[t],r=n.length/4-2,s=[0,0,0,0],a=this.Y[t],i=a[0],o=a[1],c=a[2],l=a[3],u=a[4];let f,d,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],b=e[t?1:3]^n[3],S=4;for(let e=0;e<r;e++)f=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&b]^n[S],d=i[m>>>24]^o[y>>16&255]^c[b>>8&255]^l[255&h]^n[S+1],p=i[y>>>24]^o[b>>16&255]^c[h>>8&255]^l[255&m]^n[S+2],b=i[b>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[S+3],S+=4,h=f,m=d,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&b]^n[S++],f=h,h=m,m=y,y=b,b=f;return s}},Gt=class{constructor(e,t){this.H=e,this.G=t,this.J=t}reset(){this.J=this.G}update(e){return this._(this.H,e,this.J)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const s=Ft.bitLength(t);for(let s=0;s<r;s+=4){this.ee(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return Ft.S(t,s)}},Qt=Rt.M;let Jt=qt&&Xt&&typeof Yt.importKey==le,_t=qt&&Xt&&typeof Yt.deriveBits==le;class $t extends F{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){tn(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,te:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await rn(e,t,n,an(r,0,Kt[t])),a=an(r,Kt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(kt)})(n,a,s,an(e,0,Kt[a]+2)),e=an(e,Kt[a]+2),r?t.error(new w(Ot)):i()):await o;const c=new d(e.length-Zt-(e.length-Zt)%Nt);t.enqueue(nn(n,e,c,0,Zt,!0))},async flush(e){const{ne:t,re:n,se:r,ready:a}=this;if(n&&t){await a;const i=an(r,0,r.length-Zt),o=an(r,r.length-Zt);let c=fe;if(i.length){const e=cn(Bt,i);n.update(e);const r=t.update(e);c=on(Bt,r)}const l=an(on(Bt,n.digest()),0,Zt);let u=r.length<Zt?1:0;for(let e=0;e<Zt;e++)u|=l[e]^o[e];if(u&&s)throw new w(Tt);e.enqueue(c)}}})}}class en extends F{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){tn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,te:a,ready:i}=n;let o=fe;r?(o=await(async(e,t,n)=>{const r=At(new d(Kt[t]));return lt(r,await rn(e,t,n,r))})(n,s,r),a()):await i;const c=new d(o.length+e.length-e.length%Nt);c.set(o,0),t.enqueue(nn(n,e,c,o.length,0))},async flush(e){const{ne:t,re:n,se:r,ready:s}=this;if(n&&t){await s;let a=fe;if(r.length){const e=t.update(cn(Bt,r));n.update(e),a=on(Bt,e)}const i=on(Bt,n.digest()).slice(0,Zt);e.enqueue(lt(a,i))}}})}}function tn(e,t,r,s){n.assign(e,{ready:new b(t=>e.te=t),password:sn(t,r),strength:s-1,se:fe})}function nn(e,t,n,r,s,a){const{ne:i,re:o,se:c}=e;c.length&&(t=lt(c,t));const l=t.length-s;let u;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+(l-l%Nt)),u=0;u<=l-Nt;u+=Nt){const e=cn(Bt,an(t,u,u+Nt));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(on(Bt,s),u+r)}return e.se=an(t,u),n}async function rn(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Jt)return Rt.importKey(t);try{return await Yt.importKey("raw",t,n,!1,s)}catch{return Jt=!1,Rt.importKey(t)}})(0,s,Lt,0,Pt),o=await(async(e,t,n)=>{if(!_t)return Rt.P(t,e.salt,Mt.iterations,n);try{return await Yt.deriveBits(e,t,n)}catch{return _t=!1,Rt.P(t,e.salt,Mt.iterations,n)}})(n.assign({salt:a},Mt),i,8*(2*Wt[r]+2)),c=new d(o),l=cn(Bt,an(c,0,Wt[r])),u=cn(Bt,an(c,Wt[r],2*Wt[r])),f=an(c,2*Wt[r]);return n.assign(e,{keys:{key:l,ae:u,passwordVerification:f},ne:new Gt(new Ht(l),t.from(jt)),re:new Qt(u)}),f}function sn(e,t){return t===ie?gt(e):t}function an(e,t,n){return e.subarray(t,n)}function on(e,t){return e.D(t)}function cn(e,t){return e.v(t)}class ln extends F{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){fn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=wn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(kt);e=e.subarray(12)}r?t.error(new w(Ot)):t.enqueue(wn(n,e))}})}}class un extends F{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){fn(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=At(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(dn(n,t),0),s=12}else r=new d(e.length),s=0;r.set(dn(n,e),s),t.enqueue(r)}})}}function fn(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ie:new zt(s[0]),oe:new zt(s[2])}),r)for(let t=0;t<r.length;t++)pn(e,r[t]);else for(let n=0;n<t.length;n++)pn(e,t.charCodeAt(n))})(e,t,r)}function wn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=hn(e)^t[r],pn(e,n[r]);return n}function dn(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=hn(e)^t[r],pn(e,t[r]);return n}function pn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=yn(i.imul(yn(n+mn(r)),134775813)+1),e.oe.append([n>>>24]);const s=~e.oe.get();e.keys=[r,n,s]}function hn(e){const t=2|e.keys[2];return mn(i.imul(t,1^t)>>>8)}function mn(e){return 255&e}function yn(e){return 4294967295&e}function bn(e){if(e instanceof D)return e;const t=e.getReader();return new D({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Sn(e,t){e=bn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof D)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new v({write(e){r.push(e)}})).then(()=>new y(r,n))}function xn(e){if(e instanceof v)return e;const t=e.getWriter();return new v({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const zn="Invalid codec definition",En="Reserved compression method",gn="Invalid codec module",Fn=[0,8,9,99],Dn=new c,vn=new c;function Rn(e){return Dn.get(e)}function Cn(e){return vn.get(e)}function kn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(gn);vn.set(e,{CompressionStream:n,DecompressionStream:r})}const Un="Invalid uncompressed size",Tn="Invalid compressed data",On=Ut,In="deflate-raw",An="gzip",Nn=[31,139,8];class Vn extends F{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:w}=e,d=this;let p,h,y,b=super.readable;const S=f&&Cn(f),x=c&&s&&!u&&!S&&(!a||o)&&!(!i||!r);if(a&&!o||!c||x||(p=new Et,b=Yn(b,p)),s)if(S)b=Xn(b,jn(S.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:w}));else if(x)y=new Ln,b=Xn(b,new r(An)),b=Yn(b,y);else try{b=qn(b,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(An)}catch{throw e}b=Xn(b,t),b=Yn(b,new Ln)}a&&(o?b=Yn(b,new un(e)):(h=new en(e),b=Yn(b,h))),Zn(d,b,()=>{a&&!o||!c||(d.crc32=x?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Ln extends F{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=lt(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(lt(n.subarray(0,o),e.subarray(0,a-o))),n=lt(n.subarray(o),e.subarray(a-o))},flush(){const t=ft(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Mn extends F{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,x,z=super.readable;if(a&&(s?z=Yn(z,new ln(e)):(x=new $t(e),z=Yn(z,x))),c){const e=f&&Cn(f);if(e)z=Xn(z,jn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{z=qn(z,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ie)throw e;let t;try{t=new r(An)}catch{throw e}z=((e,t,n)=>{const r=new zt;let s,a,i,o=0,c=!1;const l=new b((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const u=new F({start(e){const t=new d(10);t.set(Nn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new d(8),s=ft(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),f=new F({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=Yn(e,u),Yn(e=Xn(e,t),f);function p(){h(),s=O(()=>i(new w(Un)),5e3)}function h(){I(s)}})(z,t,y)}z=(e=>{const t=e.getReader();return new D({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Tn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(z)}i&&(S=new Et,z=Yn(z,S)),Zn(this,z,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new w(On)}})}}const Pn=new c;function Kn(e,t){if(!e)return!1;let n=Pn.get(e);n||(n=new c,Pn.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Wn(e){return Kn(e,In)}function Zn(e,t,r){t=Yn(t,new F({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function jn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function qn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":In;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return Xn(e,o)}function Yn(e,t){return bn(e).pipeThrough(t)}function Xn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const Bn="data",Hn="deflate",Gn="inflate";class Qn extends F{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Hn)?a=Vn:s.startsWith(Gn)&&(a=Mn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new F({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),u=new F({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(Un)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(u)})}}class Jn extends F{constructor(e){const t=[];let n=0;function r(){const r=new d(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const _n="Worker startup timeout";let $n,er,tr;function nr(e){e.createWorker?er=!0:$n=!1}class rr{constructor(e,{readable:t,writable:r},{options:s,config:a,ce:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:w}=i;return er&&(u=ie),n.assign(e,{le:!0,ue:(e.ue||0)+1,readable:t.pipeThrough(new Jn(Xe(a))).pipeThrough(new sr(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new b(t=>{const{fe:n,le:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.de=null):t()}),pe(){if(e.le){const{we:t}=e;t&&(e.we=null,e.he=!0,e.fe.terminate(),t()),e.le=!1,f(e)}}}),$n===ie&&($n=typeof U!=ce),(o&&tr&&($n&&l||u)?tr:ir)(e,a)}}class sr extends F{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await ar(e,n)},async transform(e,r){s+=e.length,t&&await ar(t,s,n),r.enqueue(e)},async flush(){r&&await ar(r,s)}})}}async function ar(e,...t){try{await e(...t)}catch{}}function ir(e,t){return{run:()=>or(e,t)}}async function or({options:e,readable:t,writable:n,pe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Hn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!Wn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}a=new Qn(e,s),await t.pipeThrough(a).pipeThrough(new Jn(Xe(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const cr={type:"module"},lr="error";let ur,fr,wr,dr=!0;try{dr=typeof A==le&&A(new DOMException("","AbortError")).code!==ie}catch{}var pr;function hr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function mr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function yr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(fr===ie||ur!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),u=c.startsWith("blob:");if(i||u){s===ie&&(s=!1),s&&(l=cr);try{o=new U(c,l)}catch(a){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return yr(e,t,r,s,!1);if(s)throw a;return yr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=cr);try{c=new f(c,t)}catch{}try{o=new U(c,l)}catch(n){if(s)return yr(e,t,r,!1,a);throw n}}ur=e,fr=c,wr=l}else o=new U(fr,wr);return o.addEventListener("message",e=>{r.ye=!0,br(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,be:u,Se:f,pe:p,ue:h}=t,m=()=>t.ue!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||xr({type:Bn,value:e,done:n,messageId:a},t)}r==Bn&&(await l.ready,await l.write(new d(s)),m()||xr({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(mr(t),y(o))}function y(e,t){m()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(lr,e=>Sr(e,r)),o.addEventListener("messageerror",e=>Sr(e,r)),o}function br(e){const{xe:t}=e;t&&(I(t),e.xe=null)}function Sr(e,t){e.preventDefault&&e.preventDefault(),br(t);const{ye:r,Se:s,writer:a,pe:i}=t;mr(t),r||(t.fe=null);let o=e.error||new w(e.message||lr);r||(o=n.assign(new w(o.message||lr),{ze:!0}),t.Ee=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function xr(e,{fe:t,writer:n,transferStreams:r,ye:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=ut(n),o.push(e.value.buffer)),r&&dr&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{dr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}pr=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.de){let c;typeof o==le&&(o=o());try{c=yr(e.workerURI,r,e)}catch{return nr(e),ir(e,t)}n.assign(e,{fe:c,ye:!1,he:!1,Ee:null,de:{run:async()=>{try{return await(async(e,t)=>{if(!e.fe){const{Ee:t}=e;e.Ee=null;const n=t||new w(_n);throw n.ze=!0,n}let r,a;const i=new b((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,be:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:u,ge:f}=(e=>{const t=new AbortController,{writable:n,readable:r}=new F,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ge:()=>t.abort()}})(e.writable);let d;try{d=xr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){f();try{await u}catch{}throw e.pe(),t}d||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&s.isFinite(p)&&p>=0&&(e.xe=O(()=>(e=>{if(e.xe=null,e.ye)return;const{Se:t,writer:n}=e;if(mr(e),e.fe=null,t){const e=new w(_n);e.ze=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await u,e}catch(e){await h(),f();try{await u}catch{}throw e}async function h(){if(!d&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.ze)return nr(e),hr(e),or(e,t);if(n&&n.codecImportFailed){if(e.reader)return hr(e),or(e,t);e.pe()}throw n}}}})}return e.de},tr=pr;let zr=[];const Er=[];let gr,Fr,Dr=0;async function vr(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((e,t)=>{try{return new f(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!vn.has(e)&&t&&kn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(d,n.codecURI)),t.transferStreams=!d&&(a||a===ie&&r.transferStreams);const S=!(c||l||u||w),x=d===ie||!!n.codecURI;return t.useWebWorkers=!S&&x&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=zr.find(e=>!e.le);if(n)return Tr(n),new rr(n,e,t,z);if(zr.length<y){const n={Fe:Dr};return Dr++,zr.push(n),new rr(n,e,t,z)}return new b(n=>{Er.push({resolve:n,stream:e,De:t}),Fr=r.workerStarvationTimeout,Rr()})})()).run();function z(e){if(Cr(),Er.length){const[{resolve:t,stream:n,De:r}]=Er.splice(0,1);t(new rr(e,n,r,z)),Rr()}else e.fe?(Tr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.he?e.he=!1:e.ve=O(async()=>{zr=zr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):zr=zr.filter(t=>t!=e)}}function Rr(){!gr&&Er.length&&s.isFinite(Fr)&&Fr>=0&&(gr=O(kr,Fr))}function Cr(){gr&&(I(gr),gr=null)}function kr(){if(gr=null,Er.length){const[{resolve:e,stream:t,De:r}]=Er.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new rr({},t,s,Ur)),Rr()}}function Ur(){Cr(),Rr()}function Tr(e){const{ve:t}=e;t&&(I(t),e.ve=null)}const Or="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Ir(e,t){return Ar(e,t,!0)}function Ar(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=Or[e[n]];return t}})(e):new x(t,{ignoreBOM:n}).decode(e)}const Nr="HTTP error ",Vr="HTTP Range not supported",Lr="HTTP resource changed",Mr="Writer iterator completed too soon",Pr="Writer not initialized",Kr="Content-Range",Wr="Range",Zr="GET",jr="bytes",qr=16777216,Yr="writable",Xr=T();class Br{constructor(){this.size=0}init(){this.initialized=!0}}class Hr extends Br{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Xe(Ye())}={}){const r=this;let s=0;return n=Be(n),new D({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await Ds(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class Gr extends Br{constructor(){super();const e=this,t=new v({write(t){if(!e.initialized)throw new w(Pr);return e.writeUint8Array(ut(t))}});n.defineProperty(e,Yr,{get:()=>t})}writeUint8Array(){}}let Qr,Jr;class _r extends Hr{constructor(e){super(),n.assign(this,{Re:e,size:e.size}),Jr||(Jr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Qr=1==t}catch{Qr=!1}})())}createReadable(e){const{Re:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?bn(t.stream()):Qr?bn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.Re:n.Re.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new d(a)}}class $r extends Br{constructor(e){super();const t=this,r=new F;n.defineProperty(t,Yr,{get:()=>r.writable}),t.contentType=e,t.Ce=Sn(r.readable,e),t.Ce.catch(()=>{})}getData(){return this.Ce}}class es extends Hr{constructor(e,t){super(),ns(this,e,t)}async init(){await rs(this,hs,fs),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new D({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(Vr);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await hs(Zr,e,ls(e,a,t));if(206!=n.status)throw new w(Vr);const l=n.headers.get(Kr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(Vr)}cs(e,n),os(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return ss(this,e,t,hs,fs)}}class ts extends Hr{constructor(e,t){super(),ns(this,e,t)}async init(){await rs(this,ms,ws),super.init()}readUint8Array(e,t){return ss(this,e,t,ms,ws)}}function ns(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=qr,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function rs(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=Ye(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(Zr,e,ls(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==jr))throw new w(Vr);{if(o){const t=new d(await r.arrayBuffer());206==r.status&&t.length==B&&(e.ke=t)}os(e,r);const s=as(r);s===ie?await ps(e,t,n):e.size=s}}else await ps(e,t,n)}async function ss(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,ke:c,size:l,options:u}=e;if(i||o){if(c&&t==l-B&&n==B)return c;if(t>=l||0===n)return fe;{t+n>l&&(n=l-t);const a=await r(Zr,e,ls(e,t,n));if(206!=a.status)throw new w(Vr);const i=a.headers.get(Kr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Vr)}cs(e,a),os(e,a);const o=new d(await a.arrayBuffer());if(o.length!=n)throw new w(Vr);return o}}{const{data:r}=e;return r||await a(e,u),e.data.subarray(t,t+n)}}function as(e){const t=e.headers.get(Kr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function is({headers:e}){return{Ue:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function os(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=is(t))}function cs(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=as(t);if(e!==ie&&a!==ie&&e!=a)throw new w(Lr);if(s){const e=is(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(Lr)}}}function ls(e,t=0,r=1){return n.assign({},us(e),{[Wr]:jr+"="+(t<0?t:t+"-"+(t+r-1))})}function us({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function fs(e){await ds(e,hs)}async function ws(e){await ds(e,ms)}async function ds(e,t){const n=await t(Zr,e,us(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function ps(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,us(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function hs(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(Vr):new w(Nr+(i.statusText||i.status))}function ms(e,{url:t},r){return new b((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(Vr):new w(Nr+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ys extends Hr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new ts(e,t):new es(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class bs extends Hr{constructor(e){super(),this.Oe=e}async init(){const e=this;e.Ie=0;const t=e.Oe=await b.all(e.Oe.map(Fs));e.Ae=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{Ae:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Oe:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await Ds(c,o,t);else{const a=r-o;s=lt(await Ds(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=fe;return n.Ie=i.max(a,n.Ie),s}}class Ss extends Br{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new v({async write(t){if(t===Xr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Mr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await gs(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await u())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function u(){await i.close()}n.defineProperty(r,Yr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Xr)}finally{e.releaseLock()}}}class xs{constructor(e){return t.isArray(e)&&(e=new bs(e)),(e instanceof D||typeof e.getReader==le)&&(e={readable:bn(e)}),e}}class zs{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new Ss(e)),(e instanceof v||typeof e.getWriter==le)&&(e={writable:xn(e)}),e.size===ie&&(e.size=0),e}}function Es(e){return!(!e||!e.getData)}async function gs(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}async function Fs(e){return e=new xs(e),await gs(e),e.size!==ie&&e.readUint8Array||(e=new _r(await Sn(e.readable)),await gs(e)),e}function Ds(e,t,n){return e.readUint8Array(t,n)}function vs(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Hr.prototype.createReadable.call(e,t):e.readable}const Rs="filename",Cs="rawFilename",ks="comment",Us="rawComment",Ts="uncompressedSize",Os="compressedSize",Is="offset",As="diskNumberStart",Ns="lastModDate",Vs="rawLastModDate",Ls="lastAccessDate",Ms="rawLastAccessDate",Ps="creationDate",Ks="rawCreationDate",Ws="internalFileAttributes",Zs="externalFileAttributes",js="internalFileAttribute",qs="externalFileAttribute",Ys="msdosAttributesRaw",Xs="msdosAttributes",Bs="msDosCompatible",Hs="zip64",Gs="encrypted",Qs="version",Js="versionMadeBy",_s="zipCrypto",$s="directory",ea="executable",ta="compressionMethod",na="signature",ra="extraField",sa="unixMode",aa="setuid",ia="setgid",oa="sticky",ca=[Rs,Cs,Ts,Os,Ns,Vs,ks,Us,Ls,Ms,Ps,Ks,Is,As,Ws,Zs,js,qs,Ys,Xs,Bs,Hs,Gs,Qs,Js,_s,$s,ea,"symlink",ta,na,"crc32",ra,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",sa,"unixExternalUpper",aa,ia,oa,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class la{constructor(e){ca.forEach(t=>this[t]=e[t])}}const ua="File format is not recognized",fa="End of central directory not found",wa="End of Zip64 central directory locator not found",da="Central directory header not found",pa="Local file header not found",ha="Zip64 extra field not found",ma="File contains encrypted entry",ya="Encryption method not supported",ba="Compression method not supported",Sa="Split zip file",xa="Overlapping entry found",za="Entry data out of bounds",Ea="Ambiguous archive",ga="Encrypted central directory is not supported",Fa="Unsafe filename",Da="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",va="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ra="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ca="64-bit value exceeds Number.MAX_SAFE_INTEGER",ka=/^[a-zA-Z]:/,Ua="utf-8",Ta="cp437",Oa=[[Ts,V],[Os,V],[Is,V],[As,L]],Ia={[L]:{Ve:ui,bytes:4},[V]:{Ve:fi,bytes:8}},Aa=a(s.MAX_SAFE_INTEGER);class Na{constructor(e,t={}){n.assign(this,{reader:new xs(e),options:t,Le:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await gs(r),r.size!==ie&&r.readUint8Array||(r=new _r(await Sn(r.readable)),await gs(r)),r.size<B)throw new w(ua);const a=Qa(e,t.options),o=a==De,c=a!=Re,u=((e,t)=>{if(e!==ie){const t=Ve(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(Ra);return t}return t==De?0:t==Re?1/0:L})(si(t,e,"maxAppendedDataSize"),a),f=((e,t)=>{if(e===ie)return t;if(!Ga(e))throw new w(va);return e})(si(t,e,"filenameValidation"),a),d=si(t,e,"normalizeFilename"),{Me:p,Pe:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,u,f,w]of $a(e,s)){const s=li(n,f+20);if(w+B+s==r){const s=await ti(e,n,i,f,w,r,a);if(2==s){if(o||(o=ei(u,f,w)),l++,!t||l>1)break}else 1!=s||c||(c=ei(u,f,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,u]of $a(e,s)){const s=ei(c,l,u);a||(a=s);const f=await ti(e,t,i,l,u,r,n);if(2==f)return s;1!=f||o||(o=s)}return o||a})(e,n,a)),{Me:o,Pe:l}})(r,c,u);if(!p)throw await(async e=>await Ha(e)==K)(r)?new w(Sa):new w(fa);c&&h>1&&ri("multiple end of central directory records");const m=ft(p);let y=ui(m,12),b=ui(m,16);const S=p.offset,x=li(m,20),z=S+B+x;r.size-z>u&&ri("appended data");let E=li(m,4);const g=r.Ie||0;let D,v,R,C,k=li(m,6),U=li(m,10),T=0,O=G;const I=b==V||y==V||U==L||k==L;if(b!=V&&k!=L&&(b+=Ba(r,k)),I){const e=p.offset>=H?await Ds(r,p.offset-H,H):fe,t=ft(e);if(e.length==H&&ui(t,0)==X){b=Ba(r,ui(t,4))+fi(t,8);let e=await Ds(r,b,G),s=ft(e);const a=p.offset-H-G;if((e.length<G||ui(s,0)!=Y)&&b!=a&&a>=0){const t=b;b=a,b>t&&(T=b-t),e=await Ds(r,b,G),s=ft(e)}if(e.length<G||ui(s,0)!=Y)throw new w(wa);if(v=!0,R=fi(s,4)>44,R){const e=i.min(fi(s,4)-44,r.size-b-G);e>0&&(O+=e,C=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=ft(e),s=li(r,26);n.assign(t,{compressionMethod:li(r,0),compressedSize:fi(r,2),uncompressedSize:fi(r,10),encryptionAlgorithm:li(r,18),bitLength:li(r,20),flags:li(r,22),hashAlgorithm:li(r,24),hashData:e.subarray(28,28+s)})}return t})(await Ds(r,b+G,e)))}E==L?E=ui(s,16):o&&E!=ui(s,16)&&ri("mismatched zip64 end of central directory record"),k==L?k=ui(s,20):o&&k!=ui(s,20)&&ri("mismatched zip64 end of central directory record"),U==L?U=fi(s,32):o&&U!=fi(s,32)&&ri("mismatched zip64 end of central directory record"),y==V?y=fi(s,40):o&&y!=fi(s,40)&&ri("mismatched zip64 end of central directory record"),b=Ba(r,k)+fi(s,48)+T}}let A=y;const N=p.offset-(v?O+H:0);if(b>=r.size&&(T=r.size-b-y-B,b=r.size-y-B),g!=E)throw new w(Sa);if(b<0)throw new w(ua);let P=0,W=await Ds(r,b,y),Z=ft(W);if(y){if(W.length<4)throw new w(ua);const e=N-y;if(b!=e&&k==E){let t=!(ui(Z,P)==j||C&&C.compressedSize||Ma(Z));if(!t&&e>=0&&e+4<=r.size&&(t=ui(ft(await Ds(r,e,4)),0)==j),t){const t=b;b=e,b>t&&(T+=b-t),W=await Ds(r,b,y),Z=ft(W)}}}const q=N-b;if(y!=q&&q>=0&&k==E&&(y=q,W=await Ds(r,b,y),Z=ft(W)),b<0||b>=r.size)throw new w(ua);t.directoryOffset=b,t.directoryLength=A;const Q=ai(t,e,"decryptCentralDirectory");let J,re;if(Q&&U&&W.length>=4&&ui(Z,0)!=j&&(R||Ma(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(C,A,W.length);re=W.subarray(e),W=await Q(W.subarray(0,e),C),Z=ft(W),A=W.length,J=!0}D=b;const se=si(t,e,"filenameEncoding"),ae=si(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<U;s++){const a=new La(r,t.options);if(P+46>W.length||ui(Z,P)!=j){if(0==s&&!J&&(R||Ma(Z)))throw new w(ga);throw new w(da)}Ka(a,Z,P+6);const c=!!a.bitFlag.languageEncodingFlag,l=P+46,u=l+a.filenameLength,p=u+a.extraFieldLength,h=li(Z,P+4),m=!(h>>8),y=h>>8==3,b=W.subarray(l,u),S=li(Z,P+32),x=p+S,z=W.subarray(p,x),E=c,g=c,v=ui(Z,P+38),C=v&M,k={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=ui(Z,P+42),I=ai(t,e,"decodeText")||Ir,A=E?Ua:se||Ta,N=g?Ua:ae||Ta;let V=I(b,A,ge);if(V===ie&&(V=Ir(b,A)),d){const e=d(V);e!==ie&&(V=e)}if(_a(V,f)){const e=new w(Fa);throw e.filename=V,e}let K=I(z,N,Fe);K===ie&&(K=Ir(z,N)),n.assign(a,{index:s,Ke:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,We:S,offset:O,diskNumberStart:li(Z,P+34),internalFileAttributes:li(Z,P+36),externalFileAttributes:v,msdosAttributesRaw:C,msdosAttributes:k,rawFilename:b,filenameUTF8:E,commentUTF8:g,rawExtraField:W.subarray(u,p),rawComment:z,filename:V,comment:K}),Wa(a,a,Z,P+6),a.offset+=T,D=i.min(Ba(r,a.diskNumberStart)+a.offset,D),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const q=a.externalFileAttributes>>16&L;a.unixMode===ie&&16877&q&&(a.unixMode=q);const Y=!!(a.unixMode&ee),X=!!(a.unixMode&te),B=!!(512&a.unixMode),H=40960==((a.unixMode===ie?q:a.unixMode)&_),G=!H&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&q)),Q=a.unixMode!==ie&&(a.unixMode&_)==$,re=(q&_)==$;n.assign(a,{setuid:Y,setgid:X,sticky:B,symlink:H,unixExternalUpper:q,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:Q||re||m&&k.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new la(a);le.getData=(e,n)=>a.getData(e,le,t.Le,n),le.arrayBuffer=async e=>{const n=new F,r=Sn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Le,e),r},P=x;const{onprogress:ue}=e;if(ue)try{await ue(s+1,U,new la(a))}catch{}yield le}let le=P,ue=Pa(W.subarray(P))||(J?Pa(re):ie);if(!ue&&!J){const e=b+P,t=i.min(N-e,65541);t>=6&&(ue=Pa(await Ds(r,e,t)))}ue&&(t.digitalSignature=ue,le=P+6+ue.length),o&&P!=A&&le!=A&&ri("trailing central directory data"),ce&&ri("duplicate filename");const we=si(t,e,"extractPrependedData"),de=si(t,e,"extractAppendedData"),pe=(o||we)&&U&&4==D&&await(async e=>{const t=await Ha(e);return t==K||808471376==t})(r)?4:0;return o&&(T||U&&D>pe)&&ri("prepended data"),we&&(t.prependedData=D>pe?await Ds(r,pe,D-pe):fe),t.comment=x?await Ds(r,S+B,x):fe,de&&(t.appendedData=z<r.size?await Ds(r,z,r.size-z):fe),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class Va{constructor(e={}){const{readable:t,writable:n}=new F,r=new Na(t,e).getEntriesGenerator();this.readable=new D({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new F;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class La{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=Ye(),{reader:o,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:d,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:b,uncompressedSize:S,compressedSize:x}=s,{dataDescriptor:z}=h,E=t.localDirectory={},g=Ba(o,u)+l,F=await Ds(o,g,re),D=ft(F);let R=si(s,r,we),C=si(s,r,de);const k=si(s,r,pe);if(Ie(R,C),R=R&&R.length&&R,C=C&&C.length&&C,f&&99!=f.originalCompressionMethod)throw new w(ba);if(F.length<re||ui(D,0)!=P)throw new w(pa);Ka(E,D,4);const{extraFieldLength:U,filenameLength:T}=E,O=si(s,r,"checkLocalDirectory"),I=Qa(r,s.options),A=((e,t)=>e===ie?t!=Re:!!e)(O,I),N=((e,t)=>e===ie?t==De:!!e)(O,I);let V=fe;if(N&&(T||U)){const e=await Ds(o,g+re,T+U);V=e.subarray(0,T),E.rawExtraField=e.subarray(T)}else E.rawExtraField=U?await Ds(o,g+re+T,U):fe;N&&(E.rawFilename=V),Wa(s,E,D,4,!0),A&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.Ke&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||ri("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ri("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&ri("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||ri("mismatched local file header (crc32 or sizes)")})(s,E,V,N);const{lastAccessDate:L,creationDate:K,uid:Z,gid:j}=E;L&&(t.lastAccessDate=L),K&&(t.creationDate=K),Z!==ie&&t.uid===ie&&(t.uid=Z),j!==ie&&t.gid===ie&&(t.gid=j);const q=s.encrypted&&E.encrypted&&!k,Y=q&&!f;if(k||(t.zipCrypto=Y),q&&!(64&~E.rawBitFlag))throw new w(ya);const X=k?ie:Rn(p);if(0!=p&&8!=p&&9!=p&&!X&&!k)throw new w(ba);if(q){if(!Y&&(f.strength<1||f.strength>3))throw new w(ya);if(!R&&!C)throw new w(ma)}const B=g+re+T+U;if(B+x>o.size)throw new w(za);const H=x,G=bn(o.createReadable({offset:B,size:H})),Q=Oe(si(s,r,he)),J=si(s,r,"checkPasswordOnly");let _=si(s,r,"checkOverlappingEntry");const $=si(s,r,"checkOverlappingEntryOnly");$&&(_=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!k,ae=k?x:S,oe=9==p;let ce=si(s,r,ye);oe&&(ce=!1);const le=si(s,r,"checkCrc32"),ue=(le===ie?si(s,r,"checkSignature"):le)&&!k&&(!q||Y||f&&1==f.vendorVersion),xe={options:{codecType:Gn,password:R,rawPassword:C,zipCrypto:Y,encryptionStrength:f&&f.strength,checkCrc32:ue,checkAuthenticationCode:si(s,r,"checkAuthenticationCode"),passwordVerification:Y&&(z?b>>>8&M:y>>>24&M),outputSize:ae,crc32:y,compressed:se,encrypted:q,useWebWorkers:si(s,r,me),useCompressionStream:ce,transferStreams:si(s,r,be),deflate64:oe,format:X?X.format:ie,codecURI:X?X.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,ce:{signal:Q,size:H,onstart:ee,onprogress:te,onend:ne}};let ze,Ee;_&&await(async({reader:e,Ze:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,je:o,dataDescriptor:c,extraFieldZip64:l,Le:u})=>{let f=0;if(c&&(f=l?20:12),f){const n=await Ds(e,o+a,f+4),r=ft(n);let c=n.length==f+4&&ui(r,0)==W;if(c){const e=Xa(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?f+=4:c=!1}if(n.length>=f){const e=Xa(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:o+a+f,Ze:t};for(const[e,t]of u)if(e!=n&&d.start<t.end&&t.start<d.end){const e=new w(xa);throw e.overlappingEntry=t.Ze,e}u.set(n,d)})({reader:o,Ze:t,index:c,offset:g,crc32:y,compressedSize:x,uncompressedSize:S,je:B,dataDescriptor:z||E.bitFlag.dataDescriptor,extraFieldZip64:d||E.extraFieldZip64,Le:n});try{if(!$){J&&(e=new v),e=new zs(e),await gs(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,x,se)),({writable:ze}=e);const{outputSize:t}=await vr({readable:G,writable:ze},xe);if(e.size+=t,t!=ae)throw new w(Un)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=Ot)throw Ee=t,t}finally{if((Es(e)||!si(s,r,Se))&&ze&&!ze.locked){const e=ze.getWriter();if(Ee)try{await e.abort(Ee)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():ze}}function Ma(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==ui(e,n))return!0;return!1}function Pa(e){if(e.length>=6){const t=ft(e);if(ui(t,0)==Z){const n=li(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Ka(e,t,r){const s=e.rawBitFlag=li(t,r+2),a=!(1&~s),i=ui(t,r+6);n.assign(e,{encrypted:a,version:li(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:ii(i),filenameLength:li(t,r+22),extraFieldLength:li(t,r+24)})}function Wa(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,u=ft(i);let f=0;try{for(;f<i.length;){const e=li(u,f),t=li(u,f+2);l.set(e,{type:e,data:i.slice(f+4,f+4+t)}),f+=4+t}}catch{}const d=li(r,s+4);n.assign(t,{signature:ui(r,s+10),crc32:ui(r,s+10),compressedSize:ui(r,s+14),uncompressedSize:ui(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=ft(e.data),r=Oa.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+Ia[t].bytes,0);if(e.data.length<s)throw new w(ha);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=Ia[o];t[i]=e[i]=c.Ve(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(Za(h,Rs,Cs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(Za(m,ks,Us,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=ft(e.data),a=ci(s,4);n.assign(e,{vendorVersion:ci(s,0),vendorId:ci(s,2),strength:a,originalCompressionMethod:r,compressionMethod:li(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,d),t.extraFieldAES=y):t.compressionMethod=d;const b=l.get(13);b&&(ja(b,t),t.extraFieldPkwareUnix=b);const S=l.get(22613);S&&(ja(S,t),t.extraFieldUnixType1=S);const x=l.get(10);x&&(((e,t)=>{const r=ft(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=li(r,a),n=li(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=ft(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:oi(a),lastAccessDate:oi(i),creationDate:oi(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(x,t),t.extraFieldNTFS=x);const z=l.get(30805);let E;if(z&&(E=qa(z,t,!1),t.extraFieldUnix=z),!E){const e=l.get(30837);e&&(qa(e,t,!0),t.extraFieldInfoZip=e)}const g=l.get(Q);g&&(((e,t,n)=>{if(!e.data.length)return;const r=ft(e.data),s=ci(r,0),a=[],i=[];n?(1&~s||(a.push(Ns),i.push(Vs)),2&~s||(a.push(Ls),i.push(Ms)),4&~s||(a.push(Ps),i.push(Ks))):e.data.length>=5&&(a.push(Ns),i.push(Vs));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=ui(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(g,t,a),t.extraFieldExtendedTimestamp=g);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function Za(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=ft(e.data),o=new zt;o.append(a[r]);const c=ft(new d(4));c.setUint32(0,o.get(),!0);const l=ui(i,1);n.assign(e,{version:ci(i,0),[t]:Ir(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==ui(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function ja(e,t){if(e.data.length<8)return;const r=ft(e.data),s={lastAccessDate:new o(1e3*(0|ui(r,0))),lastModDate:new o(1e3*(0|ui(r,4)))};e.data.length>=12&&(s.uid=li(r,8),s.gid=li(r,10)),n.assign(e,s),n.assign(t,s)}function qa(e,t,r){try{const s=ft(e.data);let a,i;if(r){let t=0;const r=ci(s,t++),o=ci(s,t++);a=Ya(e.data.subarray(t,t+o)),t+=o;const c=ci(s,t++);i=Ya(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=li(s,0),i=li(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Ya(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Xa(e,t,n){const r=ui(e,t);let s,a;return n?(s=fi(e,t+4),a=fi(e,t+12)):(s=ui(e,t+4),a=ui(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Ba(e,t){return e.Ne?e.Ne(t):0}async function Ha(e){return ui(ft(await Ds(e,0,4)))}function Ga(e){return e===De||e===ve||e===Re}function Qa(e,t){return Ja(e,Ja(t,ve))}function Ja(e,t){const n=e.strictness;if(n!==ie){if(!Ga(n))throw new w(Da);return n}const r=e.checkAmbiguity;return r===ie?t:r?De:t==Re?Re:ve}function _a(e,t){if(t==Re)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||ka.test(e))||t==De&&(n.includes(".")||n.includes(""))}async function*$a(e,t){const n=e.size-t,r=await Ds(e,n,t),s=ft(r);for(let e=r.length-B;e>=0;e--)ui(s,e)==q&&(yield[s,n,r,e,n+e])}function ei(e,t,n){return{offset:n,buffer:e.slice(t,t+B).buffer}}async function ti(e,t,n,r,s,a,i){const o=li(t,r+10),c=ui(t,r+12),l=ui(t,r+16);if(o==L||c==V||l==V)return await ni(e,t,n,s-H,a,i)==X?2:0;if(!o&&!c)return 1;const u=li(t,r+6);for(const r of[s-c,Ba(e,u)+l])if(await ni(e,t,n,r,a,i)==j)return 2;return 0}async function ni(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?ui(t,r-n):a.count>0?(a.count--,ui(ft(await Ds(e,r,4)),0)):ie}function ri(e){const t=new w(Ea);throw t.reason=e,t}function si(e,t,n){return t[n]===ie?e.options[n]:t[n]}function ai(e,t,n){return Te(si(e,t,n))}function ii(e){const t=(4294901760&e)>>16,n=e&L;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function oi(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ci(e,t){return e.getUint8(t)}function li(e,t){return e.getUint16(t,!0)}function ui(e,t){return e.getUint32(t,!0)}function fi(e,t){const n=e.getBigUint64(t,!0);if(n>Aa)throw new w(Ca);return s(n)}var wi=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ea,ERR_BAD_FORMAT:ua,ERR_CENTRAL_DIRECTORY_NOT_FOUND:da,ERR_ENCRYPTED:ma,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ga,ERR_ENTRY_DATA_OUT_OF_BOUNDS:za,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:wa,ERR_EOCDR_NOT_FOUND:fa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ha,ERR_INVALID_AUTHENTICATION_CODE:Tt,ERR_INVALID_COMPRESSED_DATA:Tn,ERR_INVALID_CRC32:On,ERR_INVALID_FILENAME_VALIDATION:va,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ra,ERR_INVALID_PASSWORD:kt,ERR_INVALID_SIGNATURE:Ut,ERR_INVALID_STRICTNESS:Da,ERR_INVALID_UNCOMPRESSED_SIZE:Un,ERR_LOCAL_FILE_HEADER_NOT_FOUND:pa,ERR_OVERLAPPING_ENTRY:xa,ERR_SPLIT_ZIP_FILE:Sa,ERR_UNSAFE_FILENAME:Fa,ERR_UNSUPPORTED_COMPRESSION:ba,ERR_UNSUPPORTED_ENCRYPTION:ya,ERR_UNSUPPORTED_UINT64:Ca,ERR_WORKER_STARTUP_TIMEOUT:_n,ZipReader:Na,ZipReaderStream:Va});const di="File already exists",pi="Zip file comment exceeds 64KB",hi="Invalid zip file comment (must be a Uint8Array)",mi="File entry comment exceeds 64KB",yi="Invalid file entry comment (must be a string)",bi="Invalid date (must be a valid Date instance)",Si="File entry name exceeds 64KB",xi="Version exceeds 65535",zi="The strength must equal 1, 2, or 3",Ei="Encryption is not supported in USDZ files",gi="Encryption is not supported when the 'passThrough' option is set",Fi="Invalid extra field (must be a Map)",Di="Invalid extra field type (must be integer 0..65535)",vi="Invalid extra field data (must be a Uint8Array)",Ri="Extra field data exceeds 64KB",Ci=-2147483648,ki=2147483647,Ui=a(0),Ti=a("0x7fffffffffffffff"),Oi="Zip64 is not supported (set the 'zip64' option to 'true')",Ii="Undefined uncompressed size",Ai="Undefined compression method",Ni="Undefined reader",Vi="Zip file not empty",Li="Invalid uid (must be integer 0..2^32-1)",Mi="Invalid gid (must be integer 0..2^32-1)",Pi="Invalid UNIX mode (must be integer 0..65535)",Ki="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Wi="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Zi="Invalid msdosAttributesRaw (must be integer 0..255)",ji="Invalid msdosAttributes (must be an object with boolean flags)",qi="Invalid level (must be integer 0..9)",Yi="Signature data exceeds 64KB",Xi=new d([7,0,2,0,65,69,3,0,0]),Bi="infozip",Hi="unix";let Gi=0;const Qi=[];class Ji{constructor(e,t={}){e=new zs(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,qe:a,options:t,Ye:new c,Xe:new l,offset:t[ze]===ie?e.size||e.writable.size||0:t[ze],Be:t[ze]===ie?0:t[ze]-(e.size||e.writable.size||0),He:new l,Ge:0,Qe:ie})}async prependZip(e){if(this.Xe.size)throw new w(Vi);e=new xs(e),await gs(e),e.size!==ie&&e.readUint8Array||(e=new _r(await Sn(e.readable)),await gs(e));const{ZipReader:r}=await b.resolve().then(()=>wi),s=new r(e),a=await s.getEntries();await s.close(),await gs(this.writer);const{directoryOffset:i}=s;this.qe&&(delete this.qe,await(async e=>ft(await Ds(e,0,4)).getUint32(0,!0)==K)(e)||(await wo(this.writer,fo()),this.offset+=4));const o=await(async(e,n,r,s)=>{const{writer:a}=e,i=new c;if(a.closeDisk){const o=t.from(r).sort((e,t)=>uo(n,e)-uo(n,t));let c=0;for(const t of o){const r=uo(n,t);await co(e,n,c,r-c),ao(a,await lo(n,r))&&await a.closeDisk(),i.set(t,{offset:io(e,a),diskNumberStart:ro(a)}),c=r}await co(e,n,c,s-c)}else{const t=e.offset;await co(e,n,0,s),r.forEach(e=>i.set(e,{offset:t+uo(n,e),diskNumberStart:0}))}return i})(this,e,a,i);this.Xe=new l(a.map(e=>e.filename)),this.Ye=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:c,encrypted:l,uncompressedSize:u,compressedSize:f,extraFieldZip64:w}=e;let{compressionMethod:d,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S}=e;const{level:x,languageEncodingFlag:z,dataDescriptor:E}=c;p=p||fe,h=h||fe,m=m||fe,y=y||fe,b=b||fe,S=oo(S||fe),e.extraFieldAES&&(d=99);const g=To(p,h,m,y,b,S),F=!!w&&w.uncompressedSize!==ie,D=!!w&&w.compressedSize!==ie,v=-7&Io(x,z,E,l,d)|x<<1,{st:R,it:C}=Oo({version:t,bitFlag:v,compressionMethod:d,uncompressedSize:u,compressedSize:f,rawLastModDate:r,rawFilename:i,ot:D,ct:F,extraFieldLength:g}),{crc32:k}=e;k!==ie&&Co(C,10,k);const{offset:U,diskNumberStart:T}=o.get(e);return n.assign(e,{ct:F,ot:D,offset:U,diskNumberStart:T,lt:!1,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S,extendedTimestamp:m.length>0||y.length>0,ut:1+(s?2:0)+(a?4:0),st:R,it:C}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{He:u}=l;let f,p;Gi<Ye().maxWorkers?Gi++:await new b(e=>Qi.push(e));try{if(e=e.trim(),bo(l,c,$s)&&!e.endsWith(ne)&&(e+=ne),l.Xe.has(e))throw new w(di);return l.Xe.add(e),p=!0,f=(async(e,r,c,l)=>{const u=((e,n,r)=>{n=n.trim();let s=bo(e,r,Bs),a=bo(e,r,Js,s?20:768);const i=bo(e,r,ea),o=go(e,r,"uid"),c=go(e,r,"gid");let l=go(e,r,sa),u=bo(e,r,"unixExtraFieldType"),f=bo(e,r,aa),d=bo(e,r,ia),p=bo(e,r,oa);if(Ne(o,V,Li),Ne(c,V,Mi),Ne(l,L,Pi),u!==ie&&u!==Bi&&u!==Hi)throw new w(Ki);if(u===Hi&&(o!==ie&&o>L||c!==ie&&c>L))throw new w(Wi);u!==ie||o===ie&&c===ie||(u=Bi);let h=go(e,r,Ys),m=bo(e,r,Xs);const y=h!==ie||m!==ie;if(o!==ie||c!==ie||l!==ie||u||i?(s=!1,a=a&M|768):y&&(s=!0,a&=M),Ne(h,M,Zi),m&&("object"!=typeof m||t.isArray(m)))throw new w(ji);if(a>L)throw new w(xi);let b=zo(e,r,Zs,qs);const S=b!==ie;S||(b=0),!r[$s]&&n.endsWith(ne)&&(r[$s]=!0);const x=bo(e,r,$s);if(x?(n.endsWith(ne)||(n+=ne),S||(b=16,s||(b|=16877<<16))):s||S||(b=i?493<<16:27525120),!s){const e=l!==ie||!!(f||d||p);l=l===ie?b>>16&L:l&L,f?l|=ee:f=!!(l&ee),d?l|=te:d=!!(l&te),p?l|=512:p=!!(512&l),S&&!e||(x?l=-61441&l|$:l&_||(l|=32768),b=(l&L)<<16|b&L)}return({msdosAttributesRaw:h,msdosAttributes:m}=((e,t)=>{if(e!==ie)e&=M;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&M}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(h,m)),y&&(b=b&V|h&M),{name:n,ft:{versionMadeBy:a,msDosCompatible:!!s,externalFileAttributes:b,unixExternalUpper:b>>16&L,uid:o,gid:c,unixMode:l,unixExtraFieldType:u,symlink:l!==ie&&40960==(l&_),setuid:f,setgid:d,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}})(e,r,l);({name:r}=u);const f=((e,t,n)=>{const r=xo(e,n,"encodeText")||gt;let a=r(t,ge);if(a===ie&&(a=gt(t)),To(a)>L)throw new w(Si);const i=n[ks]||"";if(typeof i!=ue)throw new w(yi);let c=r(i,Fe);if(c===ie&&(c=gt(i)),To(c)>L)throw new w(mi);const l=bo(e,n,Qs,20);if(l>L)throw new w(xi);const u=So(e,n,Ns,new o),f=So(e,n,Ls),d=So(e,n,Ps),p=zo(e,n,Ws,js,0),h=bo(e,n,pe),m=bo(e,n,we),y=bo(e,n,de);Ie(m,y);const b=go(e,n,"encryptionStrength",3),S=bo(e,n,_s),x=bo(e,n,"extendedTimestamp",!0),z=bo(e,n,"ntfsTimestamp"),E=bo(e,n,"keepOrder",!0),g=bo(e,n,me),F=bo(e,n,be),D=bo(e,n,"bufferedWrite"),v=xo(e,n,"createTempStream"),R=bo(e,n,"dataDescriptorSignature",!0),C=Oe(bo(e,n,he)),k=bo(e,n,"useUnicodeFileNames",!0),U=bo(e,n,ta),T=h||U===ie?ie:Rn(U);if(!h&&U!==ie&&0!==U&&8!==U&&!T)throw new w("Compression method not supported");let O=go(e,n,"level");if(Ne(O,9,qi),e.options[Ee]){if(m!==ie||y!==ie)throw new w(Ei);O===ie&&U===ie&&(O=0)}h&&(O=ie);let I=bo(e,n,ye),A=bo(e,n,xe);D&&A===ie&&(A=!1),(A===ie||S)&&(A=!0),O!==ie&&6!=O&&(I=!1);const N=bo(e,n,Hs);if(!(S||m===ie&&y===ie||s.isInteger(b)&&b>=1&&b<=3))throw new w(zi);const V=$i(n[ra]),M=$i(n.localExtraField);return{comment:i,ft:{rawFilename:a,rawComment:c,version:l,lastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:b,zipCrypto:S,extendedTimestamp:x,ntfsTimestamp:z,keepOrder:E,useWebWorkers:g,transferStreams:F,bufferedWrite:D,createTempStream:v,dataDescriptorSignature:R,signal:C,useUnicodeFileNames:k,compressionMethod:U,format:T?T.format:ie,codecURI:T?T.codecURI:ie,wt:T?T.versionNeeded:ie,level:O,useCompressionStream:I,dataDescriptor:A,zip64:N,rawExtraField:V,ht:M}}})(e,r,l),{comment:p}=f,h=l[ra];let m;e.Ye.set(r,ie);try{const{ft:t}=f;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(Wn(t)||Kn(t,An))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(Ye())||(t.level=0);const s=await(async(e,t,{ft:r},s)=>{if(r.passThrough&&!t&&!bo(e,s,$s))throw new w(Ni);let a;return t&&(t=new xs(t),await gs(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:d,compressionMethod:p}=r,h=0,m=0;if(a&&t){if(m=s[Ts],m===ie)throw new w(Ii);if(p===ie)throw new w(Ai)}const y=!0===f,b=bo(e,s,Gs);if(t&&a&&!b&&To(o,c))throw new w(gi);const S=t&&(!!(o&&To(o)||c&&To(c))||a&&b);t||(d=0,p=0);const x=S?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?Fo(m)+x:n):n===ie?(u=!0,(f||f===ie)&&(f=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(Do(p,d)?Fo(m):m)+x));const z=!(S||t&&(0!==n||a)||Do(p,d));z&&!i&&bo(e,s,xe)===ie&&(u=!1);const E=y||m>=V,g=y||h>=V;if(E||g){if(!1===f)throw new w(Oi);f=!0}return f=f||!1,{yt:h,ft:{dataDescriptor:u,bt:z,zip64:f,ct:E,ot:g,uncompressedSize:m,level:d,compressionMethod:p,encrypted:S}}})(e,!!t,a,r,s))})(e,c,f,l);({reader:c}=s);const p=so(e.writer),h=ro(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:f,directory:d,rawExtraField:p,ht:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:x,ct:z,ot:E,uncompressedSize:g,crc32:F}=e;let{version:D,compressionMethod:v}=e;const R=!d&&Do(v,a);let C;const k=S||!R,U=c&&(e.bufferedWrite||!f||!z&&!E||k),T=U||c&&f&&(z||E);if(c&&(z||E)){const e=20,t=no(e);if(t.St(1),t.St(e-4),C=t.xt,U&&(t.zt(g),k)){const e=x?l?12:16+4*m:0;t.zt(S?0:g+e)}}else C=fe;let O,I,A,N,V;if(x&&!l){const e=no(To(Xi)+2);e.St(39169),e.Et(Xi),O=e.xt,O[8]=m}else O=fe;if(y){const e=ho(n),t=mo(e);if(t){const t=9+(r?4:0)+(s?4:0),n=no(t);N=1+(r?2:0)+(s?4:0),n.St(Q),n.St(t-4),n.gt(N),n.Ft(e),r&&n.Ft(yo(ho(r))),s&&n.Ft(yo(ho(s))),A=n.xt}else A=fe;if(b===ie?!t||r||s:b)try{const e=po(n),t=no(36);t.St(10),t.St(32),t.Dt(4),t.St(1),t.St(24),t.zt(e),t.zt(r?po(r):e),t.zt(s?po(s):e),I=t.xt}catch{I=fe}else I=fe}else I=A=fe;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Bi||t===ie&&n===ie)if(r!=Hi||t===ie&&n===ie)V=fe;else{const e=no(8);e.St(30805),e.St(4),e.St((t===ie?0:t)&L),e.St((n===ie?0:n)&L),V=e.xt}else{const e=to(t===ie?0:t),r=to(n===ie?0:n),s=3+e.length+r.length,a=no(4+s);a.St(30837),a.St(s),a.gt(1),a.gt(e.length),a.Et(e),a.gt(r.length),a.Et(r),V=a.xt}}catch{V=fe}v===ie&&(v=R?8:0);const{wt:M}=e;R&&M!==ie&&(D=D>M?D:M),c&&(D=D>45?D:45),x&&!l&&(D=D>51?D:51,S&&F!==ie&&(O[4]=1),Ro(ft(O),9,v),v=99);const K=T?To(C):0,W=K+To(O,A,I,V,p,h);if(W+(e[Ee]?67:0)>L)throw new w(Ri);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{st:j,it:q,rawLastModDate:Y}=Oo({version:D,bitFlag:Io(a,u,f,x,v),compressionMethod:v,uncompressedSize:g,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,ot:E,ct:z,extraFieldLength:W}),X=no(re+To(t)+W),B=X.xt,H=ft(B);return X.Ft(P),X.Et(j),X.Et(t),T&&X.Et(C),X.Et(O),X.Et(A),X.Et(I),X.Et(V),X.Et(p),X.Et(h),f&&(E||Co(H,18,0),z||Co(H,22,0)),{vt:B,Rt:H,st:j,it:q,lastModDate:n,rawLastModDate:Y,encrypted:x,compressed:R,version:D,compressionMethod:v,ut:N,Je:fe,Ct:K,$e:A,et:I,nt:V,_e:O,extraFieldLength:W}})(l=n.assign({},l,u.ft,f.ft,s.ft,{signature:l[na],crc32:l.crc32===ie?l[na]:l.crc32,offset:e.offset-p,diskNumberStart:h,[Ee]:e.options[Ee]})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=fe,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new d(i),r=ft(s),n&&(a=4,Co(r,0,W))),{kt:s,Ut:r,Tt:a}})(l),x=To(y.vt,S.kt);m=await(async(e,t,r,s,i)=>{const{Ye:o,writer:c}=e,{keepOrder:l,dataDescriptor:u,bt:f,signal:d}=i,{Ot:p}=s,h=e.options[Ee],m=e.Qe;let y,S,x,z,E,g,D,R={},C=0;o.set(t,R),e.Qe=R;try{let S;l&&(S=m&&m.It,R.It=new b(e=>x=e)),i.bufferedWrite||!l||e.At||e.Ge||!u&&!f?(y=!0,e.Ge++,D=i.createTempStream?await i.createTempStream():new F(ie,ie,{highWaterMark:oe}),D.size=0,await gs(c)):(D=c,await k()),await gs(D);const T=so(c);e.qe&&(delete e.qe,await wo(c,fo()),e.offset+=4),h&&!y&&eo(s,e.offset-T);const{vt:O}=p;y||(await S,await U());const I=ro(c),A=io(e,c);if(R.diskNumberStart=I,y||(E=!0,g=c.size,await wo(D,O)),R=await(async(e,t,{diskNumberStart:r,It:s},i,o,c)=>{const{Ot:l,Nt:u,Vt:f}=i,{st:d,it:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:b,version:S,compressionMethod:x,Je:z,Ct:E,$e:g,ut:F,et:D,nt:v,_e:R}=l,{kt:C}=u,{rawFilename:k,lastAccessDate:U,creationDate:T,password:O,rawPassword:I,level:A,zip64:N,ct:L,ot:P,zipCrypto:K,dataDescriptor:W,directory:Z,executable:j,versionMadeBy:q,rawComment:Y,rawExtraField:X,useWebWorkers:B,transferStreams:H,onstart:G,onprogress:Q,onend:J,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:be}=c,Se={It:s,versionMadeBy:q,zip64:N,directory:!!Z,executable:!!j,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:Y,Je:z,Ct:E,$e:g,et:D,nt:v,_e:R,rawExtraField:X,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe};let{crc32:xe,uncompressedSize:ze}=c,Ee=0;me||(ze=0);const{writable:ge}=t;if(e){const n=bn(vs(e)),r=e.size,s={options:{codecType:Hn,level:A,rawPassword:I,password:O,encryptionStrength:$,zipCrypto:y&&K,passwordVerification:y&&K&&m>>8&M,computeCrc32:!me,compressed:b&&!me,encrypted:y&&!me,useWebWorkers:B,useCompressionStream:he,transferStreams:H,format:ye,codecURI:be,compressionMethod:x},config:o,ce:{signal:_,size:r,onstart:G,onprogress:Q,onend:J}};try{const e=await vr({readable:n,writable:ge},s);if(Ee=e.outputSize,t.size+=Ee,me||(ze=e.inputSize,y&&!K||(xe=e.crc32)),!P&&Ee>=V||!L&&ze>=V)throw new w(Oi)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Ot:r,Nt:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{it:u,encrypted:f}=r,{Ut:w,Tt:d}=s;f&&!o&&!c||e===ie||(Co(u,10,e),l&&Co(w,d,e)),i?l&&(ko(w,d+4,a(t)),ko(w,d+12,a(n))):(Co(u,14,t),Co(u,18,n),l&&(Co(w,d+4,t),Co(w,d+8,n)))})({crc32:xe,compressedSize:Ee,uncompressedSize:ze,Ot:l,Nt:u},c),W&&await wo(t,C),n.assign(Se,{uncompressedSize:ze,compressedSize:Ee,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:U,encrypted:!!y,zipCrypto:!!K,size:f+Ee,compressionMethod:x,version:S,st:d,it:p,signature:xe,crc32:!y||K||me?xe:ie,ut:F,ct:L,ot:P}),Se})(r,D,R,s,Ye(),i),y||(E=!1),o.set(t,R),R.filename=t,y){if(await b.all([D.writable.getWriter().close(),S]),await k(),z=!0,g=c.size,await U(),R.diskNumberStart=ro(c),R.offset=io(e,c),h){const t=s.Vt;eo(s,e.offset-so(c)),R.size+=s.Vt-t}(({rawFilename:e,encrypted:t,zip64:n,Ct:r,crc32:s,compressedSize:i,uncompressedSize:o,ct:c,ot:l},u,{dataDescriptor:f,passThrough:w})=>{if(f||((!t||w&&s!==ie)&&Co(u,14,s),l||Co(u,18,i),c||Co(u,22,o)),n&&r){const t=re+To(e)+4;ko(u,t,a(o)),ko(u,t+8,a(i))}})(R,p.Rt,i),await wo(c,p.vt),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new v({async write(e){var t;await r.ready,await r.write(e),t=To(e),C+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(D.readable,c,d),c.size+=D.size,z=!1}else R.diskNumberStart=I,R.offset=A;return e.offset+=R.size,R}catch(n){if(z||E){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-g,y&&(e.offset+=C)}throw o.delete(t),n}finally{if(y&&e.Ge--,x&&x(),S&&S(),y&&D&&D.dispose)try{await D.dispose()}catch{}}async function k(){e.At=!0;const{Lt:t}=e;e.Lt=new b(t=>S=()=>{e.At=!1,t()}),await t}async function U(){ao(c,To(p.vt))&&await c.closeDisk()}})(e,r,c,{Ot:y,Nt:S,Vt:x},l)}catch(t){throw e.Ye.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[js]:m.internalFileAttributes,[qs]:m.externalFileAttributes}),new la(m)})(l,e,r,c),u.add(f),await f}catch(t){throw p&&l.Xe.delete(e),t}finally{u.delete(f);const e=Qi.shift();e?e():Gi--}}remove(e){const{Xe:t,Ye:n}=this;if(typeof e==ue&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=fe,n={}){const{He:r,writer:s}=this,{writable:i}=s;if(!(e instanceof d))throw new w(hi);if(To(e)>L)throw new w(pi);for(;r.size;)await b.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,_e:r,rawComment:s,et:a,nt:i,rawExtraField:o,extendedTimestamp:c,ut:l,lastModDate:u,ct:f,ot:d,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=V,y=n.diskNumberStart>=L;let b,S;if(m||y||f||d){const e=4+(f?8:0)+(d?8:0)+(m?8:0)+(y?4:0),t=no(e);t.St(1),t.St(e-4),f&&t.zt(p),d&&t.zt(h),m&&t.zt(n.offset),y&&t.Ft(n.diskNumberStart),b=t.xt}else b=fe;n.Je=b,n.Mt=m,n.lt=y;const x=ho(u);if(c&&mo(x)){const e=no(9);e.St(Q),e.St(5),e.gt(l),e.Ft(x),S=e.xt}else S=fe;n.$e=S;const z=To(b,r,a,i,S,o);if(z>L)throw new w(Ri);t+=46+To(e,s)+z}return t})(e.Ye),{Pt:i,Kt:o}=await(async(e,n,r)=>{const{Ye:s,writer:a}=e,i=new d(n);await gs(a);let o=0,c=0,l=ro(a),u=so(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:f,Je:w,_e:d,$e:p,et:h,nt:m,rawExtraField:y,rawComment:b,versionMadeBy:S,st:x,it:z,ct:E,ot:g,lt:F,Mt:D,internalFileAttributes:v,externalFileAttributes:R,diskNumberStart:C,uncompressedSize:k,compressedSize:U}=n,T=To(w,d,p,h,m,y),O=46+To(f,b)+T;ao(a,o+O-c)&&(await wo(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=ro(a),u=so(a)),E||Co(z,18,k),g||Co(z,14,U),(D||F)&&n.version<45&&Ro(z,0,45);const I=no(O);if(I.Ft(j),I.St(S),I.Et(x.subarray(0,24)),I.St(T),I.St(To(b)),I.St(F?L:C),I.St(v),I.Ft(R),I.Ft(D?V:t),I.Et(f),I.Et(w),I.Et(d),I.Et(p),I.Et(h),I.Et(m),I.Et(y),I.Et(b),Uo(i,I.xt,o),o+=O,r.onprogress)try{await r.onprogress(e+1,s.size,new la(n))}catch{}}return await wo(a,c?i.slice(c):i),{Pt:{diskNumber:l,diskOffset:u},Kt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=xo(e,n,"signCentralDirectory");if(r){const n=await r(t),s=To(n);if(s>L)throw new w(Yi);const a=no(6+s);a.Ft(Z),a.St(s),a.Et(n);const{writer:i}=e;return ao(i,To(a.xt))&&await i.closeDisk(),await wo(i,a.xt),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Pt:i,Wt:o}=r;let{Zt:c}=r,l=e.Ye.size,u=i.diskNumber,f=io(e,i),d=ro(s);ao(s,B)&&d++;let p=bo(e,n,Hs);if(f>=V||c>=V||l>=L||d>=L){if(!1===p)throw new w(Oi);p=!0}const h=To(t);if(h>L)throw new w(pi);const m=no(p?98:B);ao(s,To(m.xt)+h)&&await s.closeDisk(),d=ro(s),p&&(m.Ft(Y),m.zt(44),m.St(45),m.St(45),m.Ft(d),m.Ft(u),m.zt(l),m.zt(l),m.zt(c),m.zt(f),m.Ft(X),m.Ft(d),m.zt(a(io(e,s))+a(c)+a(o)),m.Ft(d+1),bo(e,n,"supportZip64SplitFile",!0)&&(d=L,u=L),l=L,f=V,c=V),m.Ft(q),m.St(d),m.St(u),m.St(l),m.St(l),m.Ft(c),m.Ft(f),m.St(h),await wo(s,m.xt),h&&await wo(s,t)})(e,n,r,{Pt:i,Zt:s,Wt:c})})(this,e,n),!Es(s)&&bo(this,n,Se)||await i.getWriter().close(),s.getData?s.getData():i}}function _i(e,t,n){e.He.add(t),t.catch(e=>{try{n(e)}catch{}})}function $i(e){if(!e)return fe;if(!(e instanceof c))throw new w(Fi);let t=0,n=0;e.forEach((e,n)=>{if(Ae(n,L,Di),!(e instanceof d))throw new w(vi);if(To(e)>L)throw new w(Ri);t+=4+To(e)});const r=new d(t),s=ft(r);return e.forEach((e,t)=>{Ro(s,n,t),Ro(s,n+2,To(e)),Uo(r,e,n+4),n+=4+To(e)}),r}function eo(e,t){const{Ot:n}=e;let{vt:r,extraFieldLength:s}=n,a=64-(t+To(r))%64;a<4&&(a+=64);const i=new d(a),o=ft(i);Ro(o,0,6534),Ro(o,2,a-4);const c=r;n.vt=r=new d(To(c)+a),Uo(r,c),Uo(r,i,To(c));const l=ft(r);Ro(l,28,s+a),n.Rt=l,e.Vt+=a}function to(e){const t=new d(4);ft(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function no(e){const t=new d(e),n=ft(t);let r=0;return{xt:t,gt:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},St:e=>{Ro(n,r,e),r+=2},Ft:e=>{Co(n,r,e),r+=4},zt:e=>{ko(n,r,a(e)),r+=8},Et:e=>{Uo(t,e,r),r+=To(e)},Dt:e=>r+=e}}function ro(e){const{diskNumber:t=0}=e;return t}function so(e){const{diskOffset:t=0}=e;return t}function ao(e,t){const{availableSize:n=oe}=e;return t>n}function io(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Be:0)}function oo(e){const t=ft(e);let n=0;for(;n+4<=To(e);){const r=4+vo(t,n+2);if(1==vo(t,n))return oo(lt(e.subarray(0,n),e.subarray(i.min(n+r,To(e)))));n+=r}return e}async function co(e,t,n,r){if(r>0){const{writer:s}=e;await vs(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function lo(e,t){const n=await Ds(e,t,re);if(To(n)<re)return re;const r=ft(n);return re+vo(r,26)+vo(r,28)}function uo(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function fo(){const e=new d(4);return Co(ft(e),0,K),e}async function wo(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=To(t),await r.write(t)}finally{r.releaseLock()}}function po(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<Ui?Ui:t>Ti?Ti:t}}function ho(e){return i.floor(e.getTime()/1e3)}function mo(e){return e>=Ci&&e<=ki}function yo(e){return i.min(ki,i.max(Ci,e))}function bo(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function So(e,t,n,r){const a=bo(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(bi);return a}function xo(e,t,n){return Te(bo(e,t,n))}function zo(e,t,n,r,s){const a=Eo(t,n,r),i=a===ie?Eo(e.options,n,r):a;return i===ie?s:i}function Eo(e,t,n){return e[t]===ie?e[n]:e[t]}function go(e,t,n,r){return Ve(bo(e,t,n,r))}function Fo(e){return e+5*(i.floor(e/16383)+1)}function Do(e,t){return e===ie?t===ie||t>0:0!==e}function vo(e,t){return e.getUint16(t,!0)}function Ro(e,t,n){e.setUint16(t,n,!0)}function Co(e,t,n){e.setUint32(t,n,!0)}function ko(e,t,n){e.setBigUint64(t,n,!0)}function Uo(e,t,n){e.set(t,n)}function To(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Oo({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,ot:c,ct:l,extraFieldLength:u}){const f=no(26),w=f.xt,d=ft(w);if(f.St(e),f.St(t),f.St(n),i===ie){const e=new h(1),t=ft(e);Ro(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Ro(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return f.Ft(i),f.Dt(4),c||s!==ie?f.Ft(c?V:s):f.Dt(4),l||r!==ie?f.Ft(l?V:r):f.Dt(4),f.St(To(o)),f.St(u),{st:w,it:d,rawLastModDate:i}}function Io(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const Ao=1048576,No=".zip.js-temp",Vo=1048576,Lo=1048576,Mo=".zip.js-temp",Po="createSyncAccessHandle is only available in dedicated workers";try{Je({baseURI:void 0===z&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===z?location.href:N&&"SCRIPT"===N.tagName.toUpperCase()&&N.src||new f("zip-legacy.min.js",z.baseURI).href})}catch{}ot(Je),e.BlobReader=_r,e.BlobWriter=$r,e.Data64URIReader=class extends Hr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{jt:e,qt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{qt:n,jt:r}=this,s=new d(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Gr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",Yt:""})}writeUint8Array(e){const t=this;let n,s=t.Yt;const a=t.Yt.length;for(t.Yt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.Yt+=r.fromCharCode(e[n]);s.length>2?t.data+=g(s):t.Yt=s+t.Yt}getData(){return this.data+g(this.Yt)}},e.ERR_AMBIGUOUS_ARCHIVE=Ea,e.ERR_BAD_FORMAT=ua,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=da,e.ERR_DUPLICATED_NAME=di,e.ERR_ENCRYPTED=ma,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=ga,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=za,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=wa,e.ERR_EOCDR_NOT_FOUND=fa,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=ha,e.ERR_HTTP_RANGE=Vr,e.ERR_HTTP_RESOURCE_CHANGED=Lr,e.ERR_INVALID_AUTHENTICATION_CODE=Tt,e.ERR_INVALID_CODEC_DEFINITION=zn,e.ERR_INVALID_CODEC_MODULE=gn,e.ERR_INVALID_COMMENT=pi,e.ERR_INVALID_COMMENT_TYPE=hi,e.ERR_INVALID_COMPRESSED_DATA=Tn,e.ERR_INVALID_CRC32=On,e.ERR_INVALID_DATE=bi,e.ERR_INVALID_ENCRYPTION_STRENGTH=zi,e.ERR_INVALID_ENTRY_COMMENT=mi,e.ERR_INVALID_ENTRY_COMMENT_TYPE=yi,e.ERR_INVALID_ENTRY_NAME=Si,e.ERR_INVALID_EXTRAFIELD=Fi,e.ERR_INVALID_EXTRAFIELD_DATA=Ri,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=vi,e.ERR_INVALID_EXTRAFIELD_TYPE=Di,e.ERR_INVALID_FILENAME_VALIDATION=va,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Mi,e.ERR_INVALID_LEVEL=qi,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Ra,e.ERR_INVALID_MAX_WORKERS=Le,e.ERR_INVALID_MSDOS_ATTRIBUTES=Zi,e.ERR_INVALID_MSDOS_DATA=ji,e.ERR_INVALID_PASSWORD=kt,e.ERR_INVALID_PASSWORD_TYPE=Ue,e.ERR_INVALID_SIGNAL=ke,e.ERR_INVALID_SIGNATURE=Ut,e.ERR_INVALID_SIGNATURE_DATA=Yi,e.ERR_INVALID_STRICTNESS=Da,e.ERR_INVALID_UID=Li,e.ERR_INVALID_UNCOMPRESSED_SIZE=Un,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ki,e.ERR_INVALID_UNIX_ID_SIZE=Wi,e.ERR_INVALID_UNIX_MODE=Pi,e.ERR_INVALID_VERSION=xi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Mr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=pa,e.ERR_OVERLAPPING_ENTRY=xa,e.ERR_RESERVED_COMPRESSION_METHOD=En,e.ERR_SPLIT_ZIP_FILE=Sa,e.ERR_UNDEFINED_COMPRESSION_METHOD=Ai,e.ERR_UNDEFINED_READER=Ni,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ii,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Fa,e.ERR_UNSUPPORTED_COMPRESSION=ba,e.ERR_UNSUPPORTED_CONTEXT=Po,e.ERR_UNSUPPORTED_CRYPTO_API=It,e.ERR_UNSUPPORTED_ENCRYPTION=ya,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=gi,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ei,e.ERR_UNSUPPORTED_FORMAT=Oi,e.ERR_UNSUPPORTED_UINT64=Ca,e.ERR_WORKER_STARTUP_TIMEOUT=_n,e.ERR_WRITER_NOT_INITIALIZED=Pr,e.ERR_ZIP_NOT_EMPTY=Vi,e.HttpRangeReader=class extends ys{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ys,e.Reader=Hr,e.SplitDataReader=bs,e.SplitDataWriter=Ss,e.TextReader=class extends _r{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends $r{constructor(e){super(),n.assign(this,{encoding:e,Xt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Xt:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>Ar(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Hr{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{xt:e,size:e.length})}readUint8Array(e,t){return this.xt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Gr{constructor(e){super(),this.Bt=e||262144}init(e=0){n.assign(this,{offset:0,xt:new d(e>0?e:this.Bt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.xt.length){let e=t.xt.length?2*t.xt.length:t.Bt;for(;e<n;)e*=2;const r=t.xt;t.xt=new d(e),t.xt.set(r)}t.xt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.xt.length?this.xt:this.xt.slice(0,this.offset)}},e.Writer=Gr,e.ZipReader=Na,e.ZipReaderStream=Va,e.ZipWriter=Ji,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new F;this.readable=t,this.zipWriter=new Ji(n,e),this.He=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new F({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return _i(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new F({start(e){t=e}});return _i(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await b.all(t.from(this.He)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(qe,He(Qe(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Vo}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new v({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new F;r=Sn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new D({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=Ao,directoryName:r=No,getDirectory:s=()=>k.storage.getDirectory()}=e;let a;function i(){return a||(a=b.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const u=new v({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let f=0;return{writable:u,readable:new D({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=Lo,directoryName:r=Mo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(Po);const a=s||(()=>k.storage.getDirectory());let o;function c(){return o||(o=b.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,u=0;const f=new v({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:f,readable:new D({pull(t){if(o){const e=l-u;if(e<=0)return void t.close();const n=new d(i.min(524288,e)),r=s.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>L||typeof n!=ue||!n.length)throw new w(zn);if(Fn.includes(t))throw new w(En);const c=typeof a==le||typeof i==le;if(!(c||typeof r==ue&&r.length))throw new w(zn);Dn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&kn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of je)delete qe[e];n.assign(qe,Pe)},e.terminateWorkers=async()=>{await b.allSettled(zr.map(e=>(Tr(e),e.terminate()))),$n=ie,er=!1},e.unregisterCodec=e=>{const t=Dn.get(e);if(t){let n;Dn.delete(e),Dn.forEach(e=>n=n||e.format==t.format),n||vn.delete(t.format)}}});