@zip.js/zip.js 2.8.52 → 2.8.54
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.
- package/README.md +1 -1
- package/deno.json +2 -1
- package/dist/zip-core-external.js +839 -528
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +847 -527
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +880 -557
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +829 -538
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +880 -557
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +895 -558
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +894 -557
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +849 -529
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +849 -529
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +848 -528
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +2 -1
- package/index-native.cjs +895 -558
- package/index-native.min.js +1 -1
- package/index.cjs +894 -557
- package/index.d.cts +672 -78
- package/index.d.ts +672 -78
- package/index.min.js +1 -1
- package/lib/core/codec-worker-web.js +13 -4
- package/lib/core/configuration.js +62 -21
- package/lib/core/constants.js +16 -1
- package/lib/core/io.js +44 -29
- package/lib/core/options.js +46 -2
- package/lib/core/streams/aes-crypto-stream.js +12 -12
- package/lib/core/util/decode-text.js +11 -2
- package/lib/core/web-worker-base.js +3 -2
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-entry.js +8 -0
- package/lib/core/zip-fs.js +38 -27
- package/lib/core/zip-reader.js +149 -60
- package/lib/core/zip-writer.js +329 -189
- package/lib/zip-core-base.js +6 -1
- package/lib/zip-core-reader.js +1 -0
- package/lib/zip-core-writer.js +5 -0
- package/package.json +11 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,S=2048,E=61440,g=16384,x=2048,A=1024,z="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,T="undefined",k="function",v="string",C=new Uint8Array;let I=2;try{typeof navigator!=T&&navigator.hardwareConcurrency&&(I=navigator.hardwareConcurrency)}catch{}const M={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:I,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=T&&CompressionStream,DecompressionStream:typeof DecompressionStream!=T&&DecompressionStream},N=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],j={...M};function P(){return j}function W(t){return Math.max(t.chunkSize,64)}function _(t){t=L(t);for(const e of N){const r=t[e];r!==O&&(j[e]=r)}}function L(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function B(t){t=L(t);for(const e of N){const r=t[e];r!==O&&(M[e]=r)}_(t)}function V(){for(const t of N)delete j[t];Object.assign(j,M)}function Z(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function H(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function q(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const K=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;K[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=K[e-1][t];K[e][t]=r>>>8^K[0][255&r]}const[Y,G,X,J,Q,$,tt,et]=K;class rt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=et[255&t]^tt[t>>>8&255]^$[t>>>16&255]^Q[t>>>24&255]^J[255&r]^X[r>>>8&255]^G[r>>>16&255]^Y[r>>>24&255]}}for(;r>n;n++)e=e>>>8^Y[255&(e^t[n])];this.o=e}get(){return~this.o}}class nt extends TransformStream{constructor(){let t;const e=new rt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function at(t){if(typeof TextEncoder==T){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const st={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=st.l(r);return 32===n?t.concat(e):st.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+st.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=st.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=st.l(a);return n.push(st.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ot={bytes:{A(t){const e=st.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(st.S(8*(3&r),n)),e}}},it=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=ot.v.R(t));const r=e.U=st.concat(e.U,t),n=e.T,a=e.T=n+st.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.C(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}I(){const t=this;let e=t.U;const r=t.O;e=st.concat(e,[st.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.C(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.O,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},ct={importKey:t=>new ct.j(ot.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=st;for(e=ot.bytes.R(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.W=it,n=[[],[]];e._=[new r,new r];const a=e._[0].blockSize/32;t.length>a&&(t=(new r).update(t).I());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e._[0].update(n[0]),e._[1].update(n[1]),e.L=new r(e._[0])}reset(){const t=this;t.L=new t.W(t._[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.I(),r=new t.W(t._[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},lt=typeof crypto!=T&&typeof crypto.getRandomValues==k,ut="Invalid password",dt="Invalid signature",ft=dt,wt="zipjs-abort-check-password",ht="Crypto API not supported";function pt(t){if(lt)return crypto.getRandomValues(t);throw Error(ht)}const mt=16,yt={name:"PBKDF2"},bt=Object.assign({hash:{name:"HMAC"}},yt),St=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},yt),Et=["deriveBits"],gt=[8,12,16],xt=[16,24,32],At=10,zt=[0,0,0,0],Rt=typeof crypto!=T,Ft=Rt&&crypto.subtle,Dt=Rt&&typeof Ft!=T,Ot=ot.bytes,Ut=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)d=o[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=o[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;4>t;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},Tt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=st.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return st.m(e,a)}},kt=ct.j;let vt=Rt&&Dt&&typeof Ft.importKey==k,Ct=Rt&&Dt&&typeof Ft.deriveBits==k;class It extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Nt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Pt(t,e,r,_t(n,0,gt[e])),s=_t(n,gt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ut)})(r,s,a,_t(t,0,gt[s]+2)),t=_t(t,gt[s]+2),n?e.error(Error(wt)):o()):await i;const c=new Uint8Array(t.length-At-(t.length-At)%mt);e.enqueue(jt(r,t,c,0,At,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=_t(n,0,n.length-At),i=_t(n,n.length-At);let c=C;if(o.length){const t=Bt(Ot,o);r.update(t);const n=e.update(t);c=Lt(Ot,n)}const l=_t(Lt(Ot,r.digest()),0,At);let u=n.length<At?1:0;for(let t=0;At>t;t++)u|=l[t]^i[t];if(u&&a)throw Error(ft);t.enqueue(c)}}})}}class Mt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Nt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=pt(new Uint8Array(gt[e]));return Z(n,await Pt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%mt);c.set(i,0),e.enqueue(jt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=C;if(n.length){const t=e.update(Bt(Ot,n));r.update(t),s=Lt(Ot,t)}const o=Lt(Ot,r.digest()).slice(0,At);t.enqueue(Z(s,o))}}})}}function Nt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Wt(e,r),strength:n-1,pending:C})}function jt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=Z(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%mt)),u=0;l-mt>=u;u+=mt){const t=Bt(Ot,_t(e,u,u+mt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Lt(Ot,a),u+n)}return t.pending=_t(e,u),r}async function Pt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!vt)return ct.importKey(e);try{return await Ft.importKey("raw",e,r,!1,a)}catch{return vt=!1,ct.importKey(e)}})(0,r,bt,0,Et),s=await(async(t,e,r)=>{if(!Ct)return ct.P(e,t.salt,St.iterations,r);try{return await Ft.deriveBits(t,e,r)}catch{return Ct=!1,ct.P(e,t.salt,St.iterations,r)}})(Object.assign({salt:n},St),a,8*(2*xt[e]+2)),o=new Uint8Array(s),i=Bt(Ot,_t(o,0,xt[e])),c=Bt(Ot,_t(o,xt[e],2*xt[e])),l=_t(o,2*xt[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Tt(new Ut(i),Array.from(zt)),st:new kt(c)}),l}function Wt(t,e){return e===O?at(t):e}function _t(t,e,r){return t.subarray(e,r)}function Lt(t,e){return t.A(e)}function Bt(t,e){return t.R(e)}class Vt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Ht(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ut);t=t.subarray(12)}n?e.error(Error(wt)):e.enqueue(qt(r,t))}})}}class Zt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Ht(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=pt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Kt(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Kt(r,t),a),e.enqueue(n)}})}}function Ht(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new rt(n[0]),ct:new rt(n[2])}),r)for(let e=0;e<r.length;e++)Yt(t,r[e]);else for(let r=0;r<e.length;r++)Yt(t,e.charCodeAt(r))})(t,e,r)}function qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Gt(t)^e[n],Yt(t,r[n]);return r}function Kt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Gt(t)^e[n],Yt(t,e[n]);return r}function Yt(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=Jt(Math.imul(Jt(r+Xt(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function Gt(t){const e=2|t.keys[2];return Xt(Math.imul(e,1^e)>>>8)}function Xt(t){return 255&t}function Jt(t){return 4294967295&t}function Qt(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function $t(t,e){t=Qt(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=k||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function te(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ee="Invalid codec definition",re="Reserved compression method",ne="Invalid codec module",ae=[0,8,9,99],se=new Map,oe=new Map;function ie(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=v||!n.length)throw Error(ee);if(ae.includes(r))throw Error(re);const c=typeof s==k||typeof o==k;if(!(c||typeof a==v&&a.length))throw Error(ee);se.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&de(n,{CompressionStream:s,DecompressionStream:o})}function ce(t){const e=se.get(t);if(e){let r;se.delete(t),se.forEach(t=>r=r||t.format==e.format),r||oe.delete(e.format)}}function le(t){return se.get(t)}function ue(t){return oe.get(t)}function de(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=k&&typeof n!=k)throw Error(ne);oe.set(t,{CompressionStream:r,DecompressionStream:n})}const fe="Invalid uncompressed size",we="Invalid compressed data",he=dt,pe="deflate-raw",me="gzip",ye=[31,139,8];class be extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&ue(d),S=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(h=new nt,y=De(y,h)),a)if(b)y=Oe(y,Re(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(S)m=new Se,y=Oe(y,new n(me)),y=De(y,m);else try{y=Fe(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(me)}catch{throw t}y=Oe(y,e),y=De(y,new Se)}s&&(i?y=De(y,new Zt(t)):(p=new Mt(t),y=De(y,p))),ze(w,y,()=>{s&&!i||!c||(w.crc32=S?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Se extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(8>=a)return void(r=Z(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(Z(r.subarray(0,o),t.subarray(0,s-o))),r=Z(r.subarray(o),t.subarray(s-o))},flush(){const e=q(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ee extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=De(y,new Vt(t)):(m=new It(t),y=De(y,m))),c){const t=d&&ue(d);if(t)y=Oe(y,Re(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=Fe(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(me)}catch{throw t}y=((t,e,r)=>{const n=new rt;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=q(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=De(t,u),De(t=Oe(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(fe)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(we);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new nt,y=De(y,p)),ze(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(he)}})}}const ge=new Map;function xe(t,e){if(!t)return!1;let r=ge.get(t);r||(r=new Map,ge.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function Ae(t){return xe(t,pe)}function ze(t,e,r){e=De(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Re(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function Fe(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":pe;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return Oe(t,i)}function De(t,e){return Qt(t).pipeThrough(e)}function Oe(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const Ue="data",Te="deflate",ke="inflate";class ve extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Te)?a=be:n.startsWith(ke)&&(a=Ee),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(fe)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class Ce extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const Ie="Worker startup timeout";let Me,Ne,je,Pe=()=>{};async function We(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.lt)return!0;if(Ae(e)||xe(e,me))return!0;if(r)try{return await Pe(t),!0}catch{return!1}return!1}function _e(t){t.createWorker?Ne=!0:Me=!1}class Le{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return Ne&&(l=O),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Ce(W(a))).pipeThrough(new Be(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{ht:r,ft:n}=t;r?(n?t.yt=e:(r.terminate(),e()),t.bt=null):e()}),St(){if(t.ft){const{yt:e}=t;e&&(t.yt=null,t.Et=!0,t.ht.terminate(),e()),t.ft=!1,u(t)}}}),Me===O&&(Me=typeof Worker!=T),(o&&je&&(Me&&c||l)?je:Ze)(t,a)}}class Be extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Ve(t,r)},async transform(t,n){a+=t.length,e&&await Ve(e,a,r),n.enqueue(t)},async flush(){n&&await Ve(n,a)}})}}async function Ve(t,...e){try{await t(...e)}catch{}}function Ze(t,e){return{run:()=>He(t,e)}}async function He({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Te),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.lt&&!Ae(n))try{await Pe(a)}catch{}}else try{await Pe(a)}catch{r&&!r.lt||(t.useCompressionStream=!0)}}s=new ve(t,a),await e.pipeThrough(s).pipeThrough(new Ce(W(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const qe={type:"module"},Ke="error";let Ye,Ge,Xe,Je=!0;try{Je=typeof structuredClone==k&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var Qe;function $e(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function tr(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function er(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Ge===O||Ye!==t){const s=typeof t==k;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=qe);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return er(t,e,r,n,!1);if(n)throw a;return er(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=qe);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return er(t,e,r,!1,a);throw s}}Ye=t,Ge=i,Xe=c}else o=new Worker(Ge,Xe);return o.addEventListener("message",t=>{r.gt=!0,rr(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,At:u,St:d,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||ar({type:Ue,value:t,done:r,messageId:a},e)}r==Ue&&(await c.ready,await c.write(new Uint8Array(n)),w()||ar({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(o){w()||(tr(e),h(o))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(Ke,t=>nr(t,r)),o.addEventListener("messageerror",t=>nr(t,r)),o}function rr(t){const{zt:e}=t;e&&(clearTimeout(e),t.zt=null)}function nr(t,e){t.preventDefault&&t.preventDefault(),rr(e);const{gt:r,At:n,writer:a,St:s}=e;if(tr(e),r||(e.ht=null),n){let e=t.error||Error(t.message||Ke);r||(e=Object.assign(Error(e.message||Ke),{Rt:!0})),n(e),a&&a.releaseLock(),r&&s()}}function ar(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=H(r),i.push(t.value.buffer)),n&&Je&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Qe=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==k&&(s=s());try{o=er(t.workerURI,r,t)}catch{return _e(t),Ze(t,e)}Object.assign(t,{ht:o,gt:!1,Et:!1,bt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,At:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ft:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ft:()=>e.abort()}})(t.writable);let u;try{u=ar({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;t.gt||!Number.isFinite(d)||0>d||(t.zt=setTimeout(()=>(t=>{if(t.zt=null,t.gt)return;const{At:e,writer:r}=t;if(tr(t),t.ht=null,e){const t=Error(Ie);t.Rt=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Rt)return _e(t),$e(t),He(t,e);if(r&&r.codecImportFailed){if(t.reader)return $e(t),He(t,e);t.St()}throw r}}}})}return t.bt},je=Qe;let sr=[];const or=[];let ir,cr,lr=0;async function ur(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!oe.has(t)&&e&&de(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=o||o===O&&n.useCompressionStream,(await(async()=>{const r=sr.find(t=>!t.ft);if(r)return pr(r),new Le(r,t,e,b);if(sr.length<p){const r={Dt:lr};return lr++,sr.push(r),new Le(r,t,e,b)}return new Promise(r=>{or.push({resolve:r,stream:t,Ot:e}),cr=n.workerStarvationTimeout,dr()})})()).run();function b(t){if(fr(),or.length){const[{resolve:e,stream:r,Ot:n}]=or.splice(0,1);e(new Le(t,r,n,b)),dr()}else t.ht?(pr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.Ut=setTimeout(async()=>{sr=sr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):sr=sr.filter(e=>e!=t)}}function dr(){!ir&&or.length&&Number.isFinite(cr)&&cr>=0&&(ir=setTimeout(wr,cr))}function fr(){ir&&(clearTimeout(ir),ir=null)}function wr(){if(ir=null,or.length){const[{resolve:t,stream:e,Ot:r}]=or.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new Le({},e,n,hr)),dr()}}function hr(){fr(),dr()}function pr(t){const{Ut:e}=t;e&&(clearTimeout(e),t.Ut=null)}const mr="HTTP error ",yr="HTTP Range not supported",br="HTTP resource changed",Sr="Writer iterator completed too soon",Er="Writer not initialized",gr="Content-Range",xr="Range",Ar="GET",zr="bytes",Rr=16777216,Fr="writable",Dr=Symbol();class Or{constructor(){this.size=0}init(){this.initialized=!0}}class Ur extends Or{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=W(P())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===O?r:Math.min(r,e-a),i=await hn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||e===O&&!i.length&&o?s.close():a+=r}})}}class Tr extends Or{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(Er);return t.writeUint8Array(H(e))}});Object.defineProperty(t,Fr,{get:()=>e})}writeUint8Array(){}}class kr extends Ur{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class vr extends Tr{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let Cr,Ir;class Mr extends Ur{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Ir||(Ir=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Cr=1==e}catch{Cr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?Cr?Qt(e.slice(n,n+a).stream()):super.createReadable(t):Qt(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Nr extends Or{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,Fr,{get:()=>r.writable}),e.contentType=t,e.blob=$t(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class jr extends Mr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function Pr(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);128>n?e+=1:2048>n?e+=2:55296>n||n>=57344?e+=3:56320>n&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class Wr extends Nr{constructor(t){super(t),Object.assign(this,{encoding:t,kt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,kt:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class _r extends Ur{constructor(t,e){super(),Br(this,t,e)}async init(){await Vr(this,en,Jr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(yr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=O,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await en(Ar,t,Gr(t,a,e));if(206!=r.status)throw Error(yr);const i=r.headers.get(gr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(yr)}Yr(t,r),Kr(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Zr(this,t,e,en,Jr)}}class Lr extends Ur{constructor(t,e){super(),Br(this,t,e)}async init(){await Vr(this,rn,Qr),super.init()}readUint8Array(t,e){return Zr(this,t,e,rn,Qr)}}function Br(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=Rr,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Vr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=P(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==T||a)){const n=await e(Ar,t,Gr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==zr))throw Error(yr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.vt=e)}Kr(t,n);const a=Hr(n);a===O?await tn(t,e,r):t.size=a}}else await tn(t,e,r)}async function Zr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,vt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(Ar,t,Gr(t,e,r));if(206!=a.status)throw Error(yr);const s=a.headers.get(gr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(yr)}Yr(t,a),Kr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(yr);return o}return C}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Hr(t){const e=t.headers.get(gr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function qr({headers:t}){return{Ct:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function Kr(t,e){const{checkResourceChanges:r,It:n}=t;r&&!n&&206==e.status&&(t.It=qr(e))}function Yr(t,e){const{checkResourceChanges:r,It:n,size:a}=t;if(r){const t=Hr(e);if(t!==O&&a!==O&&t!=a)throw Error(br);if(n){const t=qr(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(br)}}}function Gr(t,e=0,r=1){return Object.assign({},Xr(t),{[xr]:zr+"="+(0>e?e:e+"-"+(e+r-1))})}function Xr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Jr(t){await $r(t,en)}async function Qr(t){await $r(t,rn)}async function $r(t,e){const r=await e(Ar,t,Xr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function tn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Xr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function en(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(yr):Error(mr+(s.statusText||s.status))}function rn(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(yr):Error(mr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class nn extends Ur{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Lr(t,e):new _r(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class an extends nn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class sn extends Ur{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class on extends Tr{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class cn extends Ur{constructor(t){super(),this.Mt=t}async init(){const t=this,{Mt:e}=t;t.Nt=0,await Promise.all(e.map(t=>wn(t))),t.jt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Pt(t){const{jt:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Mt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=Z(await hn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await hn(i,o,e)}else a=C;return r.Nt=Math.max(s,r.Nt),a}}class ln extends Or{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===Dr)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(Sr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await wn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,Fr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Dr)}finally{t.releaseLock()}}}class un{constructor(t){return Array.isArray(t)&&(t=new cn(t)),(t instanceof ReadableStream||typeof t.getReader==k)&&(t={readable:Qt(t)}),t}}class dn{constructor(t){return t.writable===O&&typeof t.next==k&&(t=new ln(t)),(t instanceof WritableStream||typeof t.getWriter==k)&&(t={writable:te(t)}),t.size===O&&(t.size=0),t}}function fn(t){return!(!t||!t.getData)}async function wn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function hn(t,e,r){return t.readUint8Array(e,r)}const pn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function mn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=pn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const yn="filename",bn="rawFilename",Sn="comment",En="rawComment",gn="uncompressedSize",xn="compressedSize",An="offset",zn="diskNumberStart",Rn="lastModDate",Fn="rawLastModDate",Dn="lastAccessDate",On="rawLastAccessDate",Un="creationDate",Tn="rawCreationDate",kn="internalFileAttributes",vn="externalFileAttributes",Cn="internalFileAttribute",In="externalFileAttribute",Mn="msdosAttributesRaw",Nn="msdosAttributes",jn="msDosCompatible",Pn="zip64",Wn="encrypted",_n="version",Ln="versionMadeBy",Bn="zipCrypto",Vn="directory",Zn="executable",Hn="compressionMethod",qn="signature",Kn="extraField",Yn="unixMode",Gn="setuid",Xn="setgid",Jn="sticky",Qn=[yn,bn,gn,xn,Rn,Fn,Sn,En,Dn,On,Un,Tn,An,zn,kn,vn,Cn,In,Mn,Nn,jn,Pn,Wn,_n,Ln,Bn,Vn,Zn,"symlink",Hn,qn,"crc32",Kn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yn,Gn,Xn,Jn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $n{constructor(t){Qn.forEach(e=>this[e]=t[e])}}const ta="password",ea="rawPassword",ra="passThrough",na="signal",aa="checkAmbiguity",sa="useWebWorkers",oa="useCompressionStream",ia="transferStreams",ca="preventClose",la="offset",ua="usdz",da="strictness",fa="signCentralDirectory",wa="filename",ha="comment",pa="strict",ma="balanced",ya="tolerant",ba="File format is not recognized",Sa="End of central directory not found",Ea="End of Zip64 central directory locator not found",ga="Central directory header not found",xa="Local file header not found",Aa="Zip64 extra field not found",za="File contains encrypted entry",Ra="Encryption method not supported",Fa="Compression method not supported",Da="Split zip file",Oa="Overlapping entry found",Ua="Ambiguous archive",Ta="Encrypted central directory is not supported",ka="Unsafe filename",va="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ca="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ia="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ma=/^[a-zA-Z]:/,Na="utf-8",ja="cp437",Pa=[[gn,t],[xn,t],[An,t],[zn,e]],Wa={[e]:{Wt:us,bytes:4},[t]:{Wt:ds,bytes:8}};class _a{constructor(t,e={}){Object.assign(this,{reader:new un(t),options:e,config:P(),_t:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:h}=s;if(await wn(c),c.size!==O&&c.readUint8Array||(c=new Mr(await $t(c.readable)),await wn(c)),c.size<d)throw Error(ba);const p=Qa(ss(s,n,da),ss(s,n,aa)),m=p==pa,y=p!=ya,b=((t,r)=>{if(t!==O){const e=typeof(n=t)==v&&n.trim()?Number(n):n;if("number"!=typeof e||Number.isNaN(e)||0>e)throw Error(Ia);return e}var n;return r==pa?0:r==ya?1/0:e})(ss(s,n,"maxAppendedDataSize"),p),S=((t,e)=>{if(t===O)return e;if(!Ja(t))throw Error(Ca);return t})(ss(s,n,"filenameValidation"),p),R=ss(s,n,"normalizeFilename"),{Lt:F,Bt:D}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of ts(t,a)){const a=ls(r,f+20);if(w+d+a==n){const a=await rs(t,r,l,f,w,n,s);if(2==a){if(o||(o=es(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=es(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of ts(t,a)){const a=es(c,l,u);s||(s=a);const d=await rs(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Lt:o,Bt:c}})(c,y,b);if(!F)throw us(q(await hn(c,0,4)))==a?Error(Da):Error(Sa);y&&D>1&&as("multiple end of central directory records");const U=q(F);let T=us(U,12),k=us(U,16);const I=F.offset,M=ls(U,20),N=I+d+M;c.size-N>b&&as("appended data");let j=ls(U,4);const P=c.Nt||0;let W,_,L,B,V=ls(U,6),Z=ls(U,10),H=0;const K=k==t||T==t||Z==e||V==e;if(k!=t&&V!=e&&(k+=Xa(c,V)),K){const r=F.offset<f?C:await hn(c,F.offset-f,f),n=q(r);if(r.length==f&&us(n,0)==u){k=Xa(c,us(n,4))+ds(n,8);let r=await hn(c,k,w),a=q(r);const s=F.offset-f-w;if((r.length<w||us(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(H=k-t),r=await hn(c,k,w),a=q(r)}if(r.length<w||us(a,0)!=l)throw Error(Ea);if(_=!0,L=ds(a,4)>44,L){const t=Math.min(Number(ds(a,4))-44,c.size-k-w);t>0&&(B=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=q(t),n=ls(r,26);Object.assign(e,{compressionMethod:ls(r,0),compressedSize:Number(ds(r,2)),uncompressedSize:Number(ds(r,10)),encryptionAlgorithm:ls(r,18),bitLength:ls(r,20),flags:ls(r,22),hashAlgorithm:ls(r,24),hashData:t.subarray(28,28+n)})}return e})(await hn(c,k+w,t)))}j==e?j=us(a,16):m&&j!=us(a,16)&&as("mismatched zip64 end of central directory record"),V==e?V=us(a,20):m&&V!=us(a,20)&&as("mismatched zip64 end of central directory record"),Z==e?Z=ds(a,32):m&&Z!=ds(a,32)&&as("mismatched zip64 end of central directory record"),T==t?T=ds(a,40):m&&T!=ds(a,40)&&as("mismatched zip64 end of central directory record"),k=Xa(c,V)+ds(a,48)+H}}let Y=T;const G=F.offset-(_?76:0);if(k<c.size||(H=c.size-k-T-d,k=c.size-T-d),P!=j)throw Error(Da);if(0>k)throw Error(ba);let X=0,J=await hn(c,k,T),Q=q(J);if(T){if(4>J.length)throw Error(ba);const t=G-T;if(k!=t&&V==j){let e=!(us(Q,X)==i);if(e||0>t||t+4>c.size||(e=us(q(await hn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(H+=k-e),J=await hn(c,k,T),Q=q(J)}}}const $=G-k;if(T==$||0>$||V!=j||(T=$,J=await hn(c,k,T),Q=q(J)),0>k||k>=c.size)throw Error(ba);s.directoryOffset=k,s.directoryLength=Y;const tt=ss(s,n,"decryptCentralDirectory");let et;tt&&Z&&J.length>=4&&us(Q,0)!=i&&(L||Va(Q))&&(J=await tt(J,B),Q=q(J),Y=J.length,et=!0),W=k;const rt=ss(s,n,"filenameEncoding"),nt=ss(s,n,"commentEncoding"),at=m?new Set:O;let st;for(let t=0;Z>t;t++){const a=new Ba(c,h,s.options);if(X+46>J.length||us(Q,X)!=i){if(0==t&&!et&&(L||Va(Q)))throw Error(Ta);throw Error(ga)}Za(a,Q,X+6);const o=!!a.bitFlag.languageEncodingFlag,l=X+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=ls(Q,X+4),w=!(f>>8),p=f>>8==3,y=J.subarray(l,u),b=ls(Q,X+32),F=d+b,D=J.subarray(d,F),U=o,T=o,k=us(Q,X+38),v=k&r,C={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},I=us(Q,X+42),M=ss(s,n,"decodeText")||mn,N=U?Na:rt||ja,j=T?Na:nt||ja;let P=M(y,N,wa);if(P===O&&(P=mn(y,N)),R){const t=R(P);t!==O&&(P=t)}if($a(P,S)){const t=Error(ka);throw t.filename=P,t}let _=M(D,j,ha);_===O&&(_=mn(D,j)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,compressedSize:0,uncompressedSize:0,Vt:b,offset:I,diskNumberStart:ls(Q,X+34),internalFileAttributes:ls(Q,X+36),externalFileAttributes:k,msdosAttributesRaw:v,msdosAttributes:C,rawFilename:y,filenameUTF8:U,commentUTF8:T,rawExtraField:J.subarray(u,d),rawComment:D,filename:P,comment:_}),Ha(a,a,Q,X+6),a.offset+=H,W=Math.min(Xa(c,a.diskNumberStart)+a.offset,W),m&&(at.has(a.filename)&&(st=!0),at.add(a.filename));const B=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&B&&(a.unixMode=B);const V=!!(a.unixMode&x),q=!!(a.unixMode&A),K=!!(512&a.unixMode),Y=40960==((a.unixMode===O?B:a.unixMode)&E),G=!Y&&(a.unixMode!==O?!!(73&a.unixMode):p&&!!(73&B)),$=a.unixMode!==O&&(a.unixMode&E)==g,tt=(B&E)==g;Object.assign(a,{setuid:V,setgid:q,sticky:K,symlink:Y,unixExternalUpper:B,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:G,directory:$||tt||w&&C.directory||a.filename.endsWith(z)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const ot=new $n(a);ot.getData=(t,e)=>a.getData(t,ot,s._t,e),ot.arrayBuffer=async t=>{const e=new TransformStream,r=$t(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,ot,s._t,t),r},X=F;const{onprogress:it}=n;if(it)try{await it(t+1,Z,new $n(a))}catch{}yield ot}let ot=X;if(X+6<=J.length&&us(Q,X)==o){const t=ls(Q,X+4);X+6+t>J.length||(s.digitalSignature=J.subarray(X+6,X+6+t),ot=X+6+t)}m&&X!=Y&&ot!=Y&&as("trailing central directory data"),st&&as("duplicate filename"),m&&(H||Z&&W>0)&&as("prepended data");const it=ss(s,n,"extractPrependedData"),ct=ss(s,n,"extractAppendedData");return it&&(s.prependedData=W>0?await hn(c,0,W):C),s.comment=M?await hn(c,I+d,M):C,ct&&(s.appendedData=N<c.size?await hn(c,N,c.size-N):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class La{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new _a(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let Ba=class{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:u,diskNumberStart:d,extraFieldAES:f,extraFieldZip64:w,compressionMethod:h,config:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:E,compressedSize:g}=i,{dataDescriptor:x}=m,A=e.localDirectory={},z=Xa(c,d)+u,F=await hn(c,z,R),D=q(F);let U=ss(i,o,ta),T=ss(i,o,ea);const k=ss(i,o,ra);if(U=U&&U.length&&U,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw Error(Fa);if(F.length<R||us(D,0)!=n)throw Error(xa);Za(A,D,4);const{extraFieldLength:v,filenameLength:I}=A,M=Qa(ss(i,o,da),ss(i,o,aa))==pa;let N=C;if(M&&(I||v)){const t=await hn(c,z+R,I+v);N=t.subarray(0,I),A.rawExtraField=t.subarray(I)}else A.rawExtraField=v?await hn(c,z+R+I,v):C;Ha(i,A,D,4,!0),M&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&as("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&as("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&as("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||as("mismatched local file header (crc32 or sizes)")})(i,A,N);const{lastAccessDate:j,creationDate:P}=A;j&&(e.lastAccessDate=j),P&&(e.creationDate=P);const W=i.encrypted&&A.encrypted&&!k,_=W&&!f;if(k||(e.zipCrypto=_),W&&!(64&~A.rawBitFlag))throw Error(Ra);const L=k?O:le(h);if(0!=h&&8!=h&&9!=h&&!L&&!k)throw Error(Fa);if(W){if(!_&&(1>f.strength||f.strength>3))throw Error(Ra);if(!U&&!T)throw Error(za)}const B=z+R+I+v,V=g,Z=Qt(c.createReadable({offset:B,size:V})),H=ss(i,o,na),K=ss(i,o,"checkPasswordOnly");let Y=ss(i,o,"checkOverlappingEntry");const G=ss(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==h;let tt=ss(i,o,oa);$&&(tt=!1);const et=ss(i,o,"checkCrc32"),rt=(et===O?ss(i,o,"checkSignature"):et)&&!k&&(!W||_||f&&1==f.vendorVersion),nt={options:{codecType:ke,password:U,rawPassword:T,zipCrypto:_,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:ss(i,o,"checkAuthenticationCode"),passwordVerification:_&&(x?S>>>8&r:b>>>24&r),outputSize:k?g:E,crc32:b,compressed:0!=h&&!k,encrypted:W,useWebWorkers:ss(i,o,sa),useCompressionStream:tt,transferStreams:ss(i,o,ia),deflate64:$,format:L?L.format:O,codecURI:L?L.codecURI:O,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:K},config:p,ut:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at,st;Y&&await(async({reader:t,Zt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,Ht:c,dataDescriptor:l,extraFieldZip64:u,_t:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await hn(t,c+o,f+4);if(r.length==f+4&&us(q(r),0)==s){const t=us(q(r),4);let n,s;u?(n=ds(q(r),8),s=ds(q(r),16)):(n=us(q(r),8),s=us(q(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Zt:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Oa);throw t.qt=e.Zt,t}d.set(r,w)})({reader:c,Zt:e,index:l,offset:z,crc32:b,compressedSize:g,uncompressedSize:E,Ht:B,dataDescriptor:x||A.bitFlag.dataDescriptor,extraFieldZip64:w||A.extraFieldZip64,_t:a});try{if(!G){K&&(t=new WritableStream),t=new dn(t),await wn(t,k?g:E),({writable:at}=t);const{outputSize:e}=await ur({readable:Z,writable:at},nt);if(t.size+=e,e!=(k?g:E))throw Error(fe)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!K||e.message!=wt)throw st=e,e}finally{if((fn(t)||!ss(i,o,ca))&&at&&!at.locked){const t=at.getWriter();if(st)try{await t.abort(st)}catch{}else await t.close()}}return K||G?O:t.getData?t.getData():at}};function Va(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==us(t,r))return!0;return!1}function Za(t,e,r){const n=t.rawBitFlag=ls(e,r+2),a=!(1&~n),s=us(e,r+6);Object.assign(t,{encrypted:a,version:ls(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:s,lastModDate:os(s),filenameLength:ls(e,r+22),extraFieldLength:ls(e,r+24)})}function Ha(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=q(s);let c=0;try{for(;c<s.length;){const t=ls(i,c),e=ls(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=ls(r,n+4);Object.assign(e,{signature:us(r,n+10),crc32:us(r,n+10),compressedSize:us(r,n+14),uncompressedSize:us(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=q(t.data),n=Pa.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+Wa[e].bytes,0);if(t.data.length<a)throw Error(Aa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=Wa[i];e[o]=t[o]=c.Wt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(qa(d,yn,bn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(qa(f,Sn,En,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=q(t.data),a=cs(n,4);Object.assign(t,{vendorVersion:cs(n,0),vendorId:cs(n,2),strength:a,originalCompressionMethod:r,compressionMethod:ls(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const S=o.get(13);S&&(Ka(S,e),e.extraFieldPkwareUnix=S);const E=o.get(22613);E&&(Ka(E,e),e.extraFieldUnixType1=E);const g=o.get(10);g&&(((t,e)=>{const r=q(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=ls(r,a),s=ls(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=q(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:is(a),lastAccessDate:is(s),creationDate:is(o)};Object.assign(t,i),Object.assign(e,i)}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);if(x)Ya(x,e,!1),e.extraFieldUnix=x;else{const t=o.get(y);t&&(Ya(t,e,!0),e.extraFieldInfoZip=t)}const A=o.get(p);A&&(((t,e,r)=>{if(!t.data.length)return;const n=q(t.data),a=cs(n,0),s=[],o=[];r?(1&~a||(s.push(Rn),o.push(Fn)),2&~a||(s.push(Dn),o.push(On)),4&~a||(s.push(Un),o.push(Tn))):5>t.data.length||(s.push(Rn),o.push(Fn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=us(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(A,e,a),e.extraFieldExtendedTimestamp=A);const z=o.get(m);z&&(e.extraFieldUSDZ=z)}function qa(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=q(t.data),o=new rt;o.append(a[r]);const i=q(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=us(s,1);Object.assign(t,{version:cs(s,0),[e]:mn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==us(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Ka(t,e){if(8>t.data.length)return;const r=q(t.data),n={lastAccessDate:new Date(1e3*(0|us(r,0))),lastModDate:new Date(1e3*(0|us(r,4)))};12>t.data.length||(n.uid=ls(r,8),n.gid=ls(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ya(t,e,r){try{const n=q(t.data);let a,s;if(r){let e=0;const r=cs(n,e++),o=cs(n,e++);a=Ga(t.data.subarray(e,e+o)),e+=o;const i=cs(n,e++);s=Ga(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=ls(n,0),s=ls(n,2),Object.assign(t,{uid:a,gid:s}));a!==O&&(e.uid=a),s!==O&&(e.gid=s)}catch{}}function Ga(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Xa(t,e){return t.Pt?t.Pt(e):0}function Ja(t){return t===pa||t===ma||t===ya}function Qa(t,e){if(t===O)return e?pa:ma;if(!Ja(t))throw Error(va);return t}function $a(t,e){if(e==ya)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ma.test(t))||e==pa&&(r.includes(".")||r.includes(""))}async function*ts(t,e){const r=t.size-e,n=await hn(t,r,e),a=q(n);for(let t=n.length-d;t>=0;t--)us(a,t)==c&&(yield[a,r,n,t,r+t])}function es(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function rs(r,n,a,s,o,c,l){const d=ls(n,s+10),w=us(n,s+12),h=us(n,s+16);if(d==e||w==t||h==t)return await ns(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=ls(n,s+6);for(const t of[o-w,Xa(r,p)+h])if(await ns(r,n,a,t,c,l)==i)return 2;return 0}async function ns(t,e,r,n,a,s){return 0>n||n+4>a?O:r>n?s.count>0?(s.count--,us(q(await hn(t,n,4)),0)):O:us(e,n-r)}function as(t){const e=Error(Ua);throw e.reason=t,e}function ss(t,e,r){return e[r]===O?t.options[r]:e[r]}function os(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function is(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function cs(t,e){return t.getUint8(e)}function ls(t,e){return t.getUint16(e,!0)}function us(t,e){return t.getUint32(e,!0)}function ds(t,e){return Number(t.getBigUint64(e,!0))}var fs=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ua,ERR_BAD_FORMAT:ba,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ga,ERR_ENCRYPTED:za,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ta,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ea,ERR_EOCDR_NOT_FOUND:Sa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Aa,ERR_INVALID_AUTHENTICATION_CODE:ft,ERR_INVALID_COMPRESSED_DATA:we,ERR_INVALID_CRC32:he,ERR_INVALID_FILENAME_VALIDATION:Ca,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ia,ERR_INVALID_PASSWORD:ut,ERR_INVALID_SIGNATURE:dt,ERR_INVALID_STRICTNESS:va,ERR_INVALID_UNCOMPRESSED_SIZE:fe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:xa,ERR_OVERLAPPING_ENTRY:Oa,ERR_SPLIT_ZIP_FILE:Da,ERR_UNSAFE_FILENAME:ka,ERR_UNSUPPORTED_COMPRESSION:Fa,ERR_UNSUPPORTED_ENCRYPTION:Ra,ERR_WORKER_STARTUP_TIMEOUT:Ie,ZipReader:_a,ZipReaderStream:La});const ws="File already exists",hs="Zip file comment exceeds 64KB",ps="File entry comment exceeds 64KB",ms="File entry name exceeds 64KB",ys="Version exceeds 65535",bs="The strength must equal 1, 2, or 3",Ss="Encryption is not supported in USDZ files",Es="Encryption is not supported when the 'passThrough' option is set",gs="Extra field type exceeds 65535",xs="Extra field data exceeds 64KB",As=-2147483648,zs=2147483647,Rs=BigInt(0),Fs=BigInt("0x7fffffffffffffff"),Ds="Zip64 is not supported (set the 'zip64' option to 'true')",Os="Undefined uncompressed size",Us="Undetermined size",Ts="Undefined reader",ks="Zip file not empty",vs="Invalid uid (must be integer 0..2^32-1)",Cs="Invalid gid (must be integer 0..2^32-1)",Is="Invalid UNIX mode (must be integer 0..65535)",Ms="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ns="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",js="Invalid msdosAttributesRaw (must be integer 0..255)",Ps="Invalid msdosAttributes (must be an object with boolean flags)",Ws="Invalid level (must be integer 0..9)",_s="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Ls="Signature data exceeds 64KB",Bs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Vs="infozip",Zs="unix";let Hs=0;const qs=[];class Ks{constructor(t,e={}){t=new dn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,Kt:r>0&&r!==U&&n>0&&n!==U,options:e,config:P(),files:new Map,Yt:new Set,offset:e[la]===O?t.size||t.writable.size||0:e[la],Gt:e[la]===O?0:e[la]-(t.size||t.writable.size||0),Xt:new Set,Jt:0,Qt:O})}async prependZip(e){if(this.Yt.size)throw Error(ks);e=new un(e),await wn(e);const{ZipReader:r}=await Promise.resolve().then(()=>fs),n=new r(e.readable),a=await n.getEntries();await n.close(),await wn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Yt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:u,zip64:d}=e;let{compressionMethod:f,$t:w,te:h,ee:p,re:m,ne:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||C,h=h||C,p=p||C,m=m||C,y=y||C,b=b||C,e.extraFieldAES&&(f=99);const x=Fo(w,h,p,m,y,b),A=d&&l>=t,z=d&&u>=t,R=-7&Oo(S,E,g,c,f)|S<<1,{ae:F,se:D}=Do({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:n,rawFilename:o,oe:z,ie:A,extraFieldLength:x}),{crc32:U}=e;return U!==O&&Ao(D,10,U),Object.assign(e,{ie:A,oe:z,ce:d&&e.offset>=t,diskNumberStart:0,le:!1,$t:w,te:h,ee:p,re:m,ne:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,ue:1+(a?2:0)+(s?4:0),ae:F,se:D}),[e.filename,e]}))}async add(e="",n,s={}){const o=this;s=Object.assign({},s);const{Xt:i,config:c}=o;let l,u;Hs<c.maxWorkers?Hs++:await new Promise(t=>qs.push(t));try{if(e=e.trim(),mo(o,s,Vn)&&!e.endsWith(z)&&(e+=z),o.Yt.has(e))throw Error(ws);return o.Yt.add(e),u=!0,l=(async(e,n,s,o)=>{const i=Xs(e,n,o);({name:n}=i);const c=Js(e,n,o),{comment:l}=c,u=o[Kn];let d;e.files.set(n,O);try{const{de:l}=c;0==l.level||l.compressionMethod!==O||l.passThrough||await We(e.config)||(l.level=0);const u=await(async(t,e,{de:r},n)=>{if(r.passThrough&&!e&&!mo(t,n,Vn))throw Error(Ts);let a;return e&&(e=new un(e),await wn(e),({size:a}=e)),Object.assign({reader:e},$s(t,!!e,a,r,n))})(e,s,c,o);({reader:s}=u);const f=io(e.writer),w=oo(e.writer),h=to(o=Object.assign({},o,i.de,c.de,u.de,{internalFileAttribute:c.de.internalFileAttributes,externalFileAttribute:i.de.externalFileAttributes,signature:o[qn],crc32:o.crc32===O?o[qn]:o.crc32,offset:e.offset-f,diskNumberStart:w})),p=no(o),m=Fo(h.fe,p.we);d=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:d,signal:f}=i,{he:w}=o,h=e.options[ua],p=e.Qt;let m,y,b,S,E,g,x,A={},z=0;c.set(n,A),e.Qt=A;try{let y;u&&(y=p&&p.lock,A.lock=new Promise(t=>b=t)),i.bufferedWrite||!u||e.pe||e.Jt||!d?(m=!0,e.Jt++,x=i.createTempStream?await i.createTempStream():new TransformStream(O,O,{highWaterMark:U}),x.size=0,await wn(l)):(x=l,await F()),await wn(x);const T=io(l);if(e.Kt){delete e.Kt;const t=new Uint8Array(4);Ao(q(t),0,a),await uo(l,t),e.offset+=4}h&&!m&&eo(o,e.offset-T);const{fe:k}=w;m||(await y,await D());const v=oo(l),C=lo(e,l);if(A.diskNumberStart=v,m||(E=!0,g=l.size,await uo(x,k)),A=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{he:l,me:u,ye:d}=o,{ae:f,se:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:S,$t:E,be:g,ee:x,ue:A,re:z,ne:R,te:F}=l,{we:D}=u,{rawFilename:U,lastAccessDate:T,creationDate:k,password:v,rawPassword:C,level:I,zip64:M,ie:N,oe:j,zipCrypto:P,dataDescriptor:W,directory:_,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:ut,useCompressionStream:dt,passThrough:ft,format:wt,codecURI:ht}=c,pt={lock:s,versionMadeBy:B,zip64:M,directory:!!_,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,$t:E,be:g,ee:x,re:z,ne:R,te:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:ut};let{crc32:mt,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=Qt(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Te,level:I,rawPassword:C,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:m&&!ft,useWebWorkers:H,useCompressionStream:dt,transferStreams:q,format:wt,codecURI:ht,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await ur({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,m&&!P||(mt=e.crc32)),!j&&bt>=t||!N&&yt>=t)throw Error(Ds)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,he:n,me:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{se:l,encrypted:u}=n,{Se:d,Ee:f}=a;u&&!o&&!i||t===O||(Ao(l,10,t),c&&Ao(d,f,t)),s?c&&(zo(d,f+4,BigInt(e)),zo(d,f+12,BigInt(r))):(Ao(l,14,e),Ao(l,18,r),c&&(Ao(d,f+4,e),Ao(d,f+8,r)))})({crc32:mt,compressedSize:bt,uncompressedSize:yt,he:l,me:u},c),W&&await uo(n,D),Object.assign(pt,{uncompressedSize:yt,compressedSize:bt,lastModDate:h,rawLastModDate:p,creationDate:k,lastAccessDate:T,encrypted:m,zipCrypto:P,size:d+bt,compressionMethod:S,version:b,ae:f,se:w,signature:mt,crc32:!m||P||ft?mt:O,ue:A,ie:N,oe:j}),pt})(s,x,A,o,e.config,i),m||(E=!1),c.set(n,A),A.filename=n,m){if(await Promise.all([x.writable.getWriter().close(),y]),await F(),S=!0,g=l.size,await D(),A.diskNumberStart=oo(l),A.offset=lo(e,l),h){const t=o.ye;eo(o,e.offset-io(l)),A.size+=o.ye-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:a,compressedSize:s,uncompressedSize:o,ie:i,oe:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&Ao(l,14,a),c||Ao(l,18,s),i||Ao(l,22,o)),r&&n){const e=R+Fo(t)+4;zo(l,e,BigInt(o)),zo(l,e+8,BigInt(s))}})(A,w.ge,i),await uo(l,w.fe),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Fo(t),z+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(x.readable,l,f),l.size+=x.size,S=!1}else A.diskNumberStart=v,A.offset=C;return e.offset+=A.size,A}catch(t){if(S||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-g,m&&(e.offset+=z)}throw c.delete(n),t}finally{if(m&&e.Jt--,b&&b(),y&&y(),m&&x&&x.dispose)try{await x.dispose()}catch{}}async function F(){e.pe=!0;const{xe:t}=e;e.xe=new Promise(t=>y=()=>{e.pe=!1,t()}),await t}async function D(){co(l,Fo(w.fe))&&await l.closeDisk()}})(e,n,s,{he:h,me:p,ye:m},o)}catch(t){throw e.files.delete(n),t}return Object.assign(d,{name:n,comment:l,extraField:u}),new $n(d)})(o,e,n,s),i.add(l),await l}catch(t){throw u&&o.Yt.delete(e),t}finally{i.delete(l);const t=qs.shift();t?t():Hs--}}remove(t){const{Yt:e,files:r}=this;if(typeof t==v&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{Xt:a,writer:s}=this,{writable:f}=s;if(Fo(r)>e)throw Error(hs);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=ao(r.files),{Ae:f,ze:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await wn(o);let l=0,u=0,d=oo(o),f=io(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,$t:p,te:m,ee:y,re:b,ne:S,rawExtraField:E,rawComment:g,versionMadeBy:x,ae:A,se:z,ie:R,oe:F,le:D,ce:O,internalFileAttributes:U,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:C}=n,I=Fo(p,m,y,b,S,E),M=46+Fo(h,g)+I;co(o,l+M-u)&&(await uo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=oo(o),f=io(o)),R||Ao(z,18,v),F||Ao(z,14,C),(O||D)&&45>n.version&&xo(z,0,45);const N=so(M);if(N.uint32(i),N.uint16(x),N.bytes(A.subarray(0,24)),N.uint16(I),N.uint16(Fo(g)),N.uint16(D?e:k),N.uint16(U),N.uint32(T),N.uint32(O?t:w),N.bytes(h),N.bytes(p),N.bytes(m),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Ro(c,N.array,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new $n(n))}catch{}}return await uo(o,u?c.slice(u):c),{Ae:{diskNumber:d,diskOffset:f},ze:c}})(r,s,a),h=await(async(t,r,n)=>{const a=mo(t,n,fa);if(a){const n=await a(r),s=Fo(n);if(s>e)throw Error(Ls);const i=so(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await uo(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ae:i,Re:f}=s;let{Fe:w}=s,h=r.files.size,p=i.diskNumber,m=lo(r,i),y=oo(o);co(o,d)&&y++;let b=mo(r,a,Pn);if(!(t>m&&t>w&&e>h&&e>y)){if(!1===b)throw Error(Ds);b=!0}const S=Fo(n);if(S>e)throw Error(hs);const E=so(b?98:d);co(o,Fo(E.array)+S)&&await o.closeDisk(),y=oo(o),b&&(E.uint32(l),E.De(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(p),E.De(h),E.De(h),E.De(w),E.De(m),E.uint32(u),E.uint32(y),E.De(BigInt(lo(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),mo(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),E.uint32(c),E.uint16(y),E.uint16(p),E.uint16(h),E.uint16(h),E.uint32(w),E.uint32(m),E.uint16(S),await uo(o,E.array),S&&await uo(o,n)})(r,n,a,{Ae:f,Fe:s,Re:h})})(this,r,n),!fn(s)&&mo(this,n,ca)||await f.getWriter().close(),s.getData?s.getData():f}}class Ys{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Ks(r,t),this.Xt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Gs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Gs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Xt)),this.zipWriter.close(t,e)}}function Gs(t,e,r){t.Xt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Xs(n,a,s){a=a.trim();let o=mo(n,s,jn),i=mo(n,s,Ln,o?20:768);const c=mo(n,s,Zn),l=So(n,s,"uid"),u=So(n,s,"gid");let d=So(n,s,Yn),f=mo(n,s,"unixExtraFieldType"),w=mo(n,s,Gn),h=mo(n,s,Xn),p=mo(n,s,Jn);if(l!==O&&(!Number.isInteger(l)||0>l||l>t))throw Error(vs);if(u!==O&&(!Number.isInteger(u)||0>u||u>t))throw Error(Cs);if(d!==O&&(!Number.isInteger(d)||0>d||d>e))throw Error(Is);if(f!==O&&f!==Vs&&f!==Zs)throw Error(Ms);if(f===Zs&&(l!==O&&l>e||u!==O&&u>e))throw Error(Ns);f!==O||l===O&&u===O||(f=Vs);let m=mo(n,s,Mn),y=mo(n,s,Nn);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f?(o=!1,i=i&e|768):b&&(o=!0,i&=r),m!==O&&(0>m||m>r))throw Error(js);if(y&&"object"!=typeof y)throw Error(Ps);if(i>e)throw Error(ys);let S=yo(n,s,vn,In);const R=S!==O;R||(S=0),!s[Vn]&&a.endsWith(z)&&(s[Vn]=!0);const F=mo(n,s,Vn);let D;if(F?(a.endsWith(z)||(a+=z),R||(S=16,o||(S|=16877<<16))):o||R||(S=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);D=S>>16&e,d=d===O?D:d&e,w?d|=x:w=!!(d&x),h?d|=A:h=!!(d&A),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&E||(d|=32768),S=(d&e)<<16|S&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(S=S&t|m&r),{name:a,de:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:S,unixExternalUpper:D,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function Js(t,r,n){const a=mo(t,n,"encodeText",at);let s=a(r,wa);if(s===O&&(s=at(r)),Fo(s)>e)throw Error(ms);const o=n[Sn]||"";let i=a(o,ha);if(i===O&&(i=at(o)),Fo(i)>e)throw Error(ps);const c=mo(t,n,_n,20);if(c>e)throw Error(ys);const l=mo(t,n,Rn,new Date),u=mo(t,n,Dn),d=mo(t,n,Un),f=yo(t,n,kn,Cn,0),w=mo(t,n,ra),h=mo(t,n,ta),p=mo(t,n,ea);if(h&&typeof h!=v||p&&!(p instanceof Uint8Array))throw Error(_s);const m=So(t,n,"encryptionStrength",3),y=mo(t,n,Bn),b=mo(t,n,"extendedTimestamp",!0),S=mo(t,n,"ntfsTimestamp"),E=mo(t,n,"keepOrder",!0),g=mo(t,n,sa),x=mo(t,n,ia),A=mo(t,n,"bufferedWrite"),z=mo(t,n,"createTempStream"),R=mo(t,n,"dataDescriptorSignature",!0),F=mo(t,n,na),D=mo(t,n,"useUnicodeFileNames",!0),U=mo(t,n,Hn),T=w||U===O?O:le(U);if(!w&&U!==O&&0!==U&&8!==U&&!T)throw Error("Compression method not supported");let k=So(t,n,"level");if(k!==O&&(!Number.isInteger(k)||0>k||k>9))throw Error(Ws);if(t.options[ua]){if(h!==O||p!==O)throw Error(Ss);k===O&&U===O&&(k=0)}let C=mo(t,n,oa),I=mo(t,n,"dataDescriptor");A&&I===O&&(I=!1),(I===O||y)&&(I=!0),k!==O&&6!=k&&(C=!1);const M=mo(t,n,Pn);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&3>=m))throw Error(bs);const N=Qs(n[Kn]),j=Qs(n.localExtraField);return{comment:o,de:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:z,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:T?T.format:O,codecURI:T?T.codecURI:O,Oe:T?T.versionNeeded:O,level:k,useCompressionStream:C,dataDescriptor:I,zip64:M,rawExtraField:N,Ue:j}}}function Qs(t){if(!t)return C;let r=0,n=0;t.forEach(t=>r+=4+Fo(t));const a=new Uint8Array(r),s=q(a);return t.forEach((t,r)=>{if(r>e)throw Error(gs);if(Fo(t)>e)throw Error(xs);xo(s,n,r),xo(s,n+2,Fo(t)),Ro(a,t,n+4),n+=4+Fo(t)}),a}function $s(e,r,n,a,s){const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(o&&r&&(m=s[gn],m===O))throw Error(Os);const y=!0===f,b=mo(e,s,Wn);if(r&&o&&!b&&Fo(c,l))throw Error(Es);const S=r&&(!!(c&&Fo(c)||l&&Fo(l))||o&&b);r||(w=0,h=0);const E=S?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=m,p=n===O?Eo(m)+E:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(go(h,w)?Eo(m):m)+E));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error(Ds);f=!0}return f=f||!1,{Te:p,de:{dataDescriptor:d,zip64:f,ie:g,oe:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:S}}}function to(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Ue:m,encryptionStrength:S,extendedTimestamp:E,ntfsTimestamp:g,passThrough:x,encrypted:A,ie:z,oe:U,uncompressedSize:T,crc32:k}=t;let{version:v,compressionMethod:I}=t;const M=!f&&go(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!z&&!U||j),W=P||c&&d&&(z||U);if(c&&(z||U)){const t=20,e=so(t);if(e.uint16(1),e.uint16(t-4),N=e.array,P&&(e.De(T),j)){const t=A?l?12:16+4*S:0;e.De(x?0:T+t)}}else N=C;let _,L,B,V,Z;if(A&&!l){const t=so(Fo(Bs)+2);t.uint16(h),t.bytes(Bs),_=t.array,_[8]=S}else _=C;if(E){const t=wo(a),e=ho(t);if(e){const e=9+(s?4:0)+(o?4:0),r=so(e);V=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(V),r.uint32(t),s&&r.uint32(po(wo(s))),o&&r.uint32(po(wo(o))),B=r.array}else B=C;if(g===O?!e||s||o:g)try{const t=fo(a),e=so(36);e.uint16(10),e.uint16(32),e.ke(4),e.uint16(1),e.uint16(24),e.De(t),e.De(s?fo(s):t),e.De(o?fo(o):t),L=e.array}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Vs||r===O&&n===O)if(a!=Zs||r===O&&n===O)Z=C;else{const t=so(8);t.uint16(b),t.uint16(4),t.uint16((r===O?0:r)&e),t.uint16((n===O?0:n)&e),Z=t.array}else{const t=ro(r),e=ro(n),a=3+t.length+e.length,s=so(4+a);s.uint16(y),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),Z=s.array}}catch{Z=C}I===O&&(I=M?8:0);const{Oe:H}=t;M&&H!==O&&(v=v>H?v:H),c&&(v=v>45?v:45),A&&!l&&(v=v>51?v:51,x&&k!==O&&(_[4]=1),_[9]=I,I=99);const K=W?Fo(N):0,Y=K+Fo(_,B,L,Z,w,m);if(Y>e)throw Error(xs);const G=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{ae:X,se:J,rawLastModDate:Q}=Do({version:v,bitFlag:Oo(i,u,d,A,I),compressionMethod:I,uncompressedSize:T,lastModDate:D>G?D:G>F?F:G,rawFilename:r,oe:U,ie:z,extraFieldLength:Y}),$=so(R+Fo(r)+Y),tt=$.array,et=q(tt);return $.uint32(n),$.bytes(X),$.bytes(r),W&&$.bytes(N),$.bytes(_),$.bytes(B),$.bytes(L),$.bytes(Z),$.bytes(w),$.bytes(m),d&&(U||Ao(et,18,0),z||Ao(et,22,0)),{fe:tt,ge:et,ae:X,se:J,lastModDate:a,rawLastModDate:Q,encrypted:A,compressed:M,version:v,compressionMethod:I,ue:V,$t:C,be:K,ee:B,re:L,ne:Z,te:_,extraFieldLength:Y}}function eo(t,e){const{he:r}=t;let{fe:n,extraFieldLength:a}=r,s=64-(e+Fo(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=q(o);xo(i,0,m),xo(i,2,s-4);const c=n;r.fe=n=new Uint8Array(Fo(c)+s),Ro(n,c),Ro(n,o,Fo(c));const l=q(n);xo(l,28,a+s),r.ge=l,t.ye+=s}function ro(t){if(t===O)return C;{const e=new Uint8Array(4);q(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function no({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=q(a),r&&(o=4,Ao(n,0,s))),{we:a,Se:n,Ee:o}}function ao(r){let n=0;for(const[,a]of r){const{rawFilename:r,te:s,rawComment:o,re:i,ne:c,rawExtraField:l,extendedTimestamp:u,ue:d,lastModDate:f,ie:w,oe:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(S?4:0),e=so(t);e.uint16(1),e.uint16(t-4),w&&e.De(m),h&&e.De(y),b&&e.De(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=C;a.$t=E,a.ce=b,a.le=S;const x=wo(f);if(u&&ho(x)){const t=so(9);t.uint16(p),t.uint16(5),t.uint8(d),t.uint32(x),g=t.array}else g=C;a.ee=g;const A=Fo(E,s,i,c,g,l);if(A>e)throw Error(xs);n+=46+Fo(r,o)+A}return n}function so(t){const e=new Uint8Array(t),r=q(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{xo(r,n,t),n+=2},uint32:t=>{Ao(r,n,t),n+=4},De:t=>{zo(r,n,BigInt(t)),n+=8},bytes:t=>{Ro(e,t,n),n+=Fo(t)},ke:t=>n+=t}}function oo(t){const{diskNumber:e=0}=t;return e}function io(t){const{diskOffset:e=0}=t;return e}function co(t,e){const{availableSize:r=U}=t;return e>r}function lo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Gt:0)}async function uo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Fo(e),await n.write(e)}finally{n.releaseLock()}}function fo(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return Rs>e?Rs:e>Fs?Fs:e}}function wo(t){return Math.floor(t.getTime()/1e3)}function ho(t){return t>=As&&zs>=t}function po(t){return Math.min(zs,Math.max(As,t))}function mo(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function yo(t,e,r,n,a){const s=bo(e,r,n),o=s===O?bo(t.options,r,n):s;return o===O?a:o}function bo(t,e,r){return t[e]===O?t[r]:t[e]}function So(t,e,r,n){return typeof(a=mo(t,e,r,n))==v&&a.trim()?Number(a):a;var a}function Eo(t){return t+5*(Math.floor(t/16383)+1)}function go(t,e){return t===O?e===O||e>0:0!==t}function xo(t,e,r){t.setUint16(e,r,!0)}function Ao(t,e,r){t.setUint32(e,r,!0)}function zo(t,e,r){t.setBigUint64(e,r,!0)}function Ro(t,e,r){t.set(e,r)}function Fo(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Do({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,oe:l,ie:u,extraFieldLength:d}){const f=so(26),w=f.array,h=q(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===O){const t=new Uint32Array(1),e=q(t);xo(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),xo(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.ke(4),l||s!==O?f.uint32(l?t:s):f.ke(4),u||a!==O?f.uint32(u?t:a):f.ke(4),f.uint16(Fo(c)),f.uint16(d),{ae:w,se:h,rawLastModDate:i}}function Oo(t,e,r,n,a){let s=0;return e&&(s|=S),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Uo(){return"application/octet-stream"}const To=1048576,ko=".zip.js-temp";function vo(t={}){const{thresholdBytes:e=To,directoryName:r=ko,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Co=1048576;function Io(t={}){const{thresholdBytes:e=Co}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=$t(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const Mo=1048576,No=".zip.js-temp",jo="createSyncAccessHandle is only available in dedicated workers";function Po(t={}){const{thresholdBytes:e=Mo,directoryName:r=No,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(jo);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{B({baseURI:import.meta.url})}catch{}let Wo,_o,Lo,Bo,Vo;function Zo(t,e,r={}){if(!Wo){const t=Error("WASM module not loaded");throw t.cause=Vo,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.ve=_o(a),this.in=_o(s),this.inBufferSize=s,!this.ve||!this.in)throw Error("allocation failed");if(this.Ce=new Uint8Array(a),t?(this.Ie=Wo.deflate_process,this.Me=Wo.deflate_last_consumed,this.Ne=Wo.deflate_end,this.je=Wo.deflate_new(),r="gzip"===e?Wo.deflate_init_gzip(this.je,n):"deflate-raw"===e?Wo.deflate_init_raw(this.je,n):Wo.deflate_init(this.je,n)):"deflate64-raw"===e?(this.Ie=Wo.inflate9_process,this.Me=Wo.inflate9_last_consumed,this.Ne=Wo.inflate9_end,this.je=Wo.inflate9_new(),r=Wo.inflate9_init_raw(this.je)):(this.Ie=Wo.inflate_process,this.Me=Wo.inflate_last_consumed,this.Ne=Wo.inflate_end,this.je=Wo.inflate_new(),r="deflate-raw"===e?Wo.inflate_init_raw(this.je):"gzip"===e?Wo.inflate_init_gzip(this.je):Wo.inflate_init(this.je)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Bo.buffer),o=this.Ie,i=this.Me,c=this.ve,l=this.Ce;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Lo&&(Lo(this.in),this.in=0),this.in=_o(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.je,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.je);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Bo.buffer),n=this.Ie,s=this.ve,o=this.Ce;for(;;){const i=n(this.je,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.je&&t.Ne&&(e=t.Ne(t.je)),t.je=0,t.in&&Lo&&Lo(t.in),t.in=0,t.ve&&Lo&&Lo(t.ve),t.ve=0,e}}class Ho{constructor(t="deflate",e){return Zo(!0,t,e)}}class qo{constructor(t="deflate",e){return Zo(!1,t,e)}}Ho.lt=!0,qo.lt=!0;let Ko,Yo=!1;function Go(){Ko=null,(async()=>{await Promise.allSettled(sr.map(t=>(pr(t),t.terminate()))),Me=O,Ne=!1})(),Yo=!1,Wo=_o=Lo=Bo=Vo=null}(({Pe:t})=>{Pe=t})({Pe:t=>{if(!Ko){let{wasmURI:e}=t;typeof e==k&&(e=e()),Ko=(async(t,{baseURI:e})=>{if(!Yo)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(Wo=t,({malloc:_o,free:Lo,memory:Bo}=Wo),"function"!=typeof _o||"function"!=typeof Lo||!Bo)throw Wo=_o=Lo=Bo=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Yo=!0}catch(t){throw(t=>{Vo=t})(t),t}})(e,t).catch(t=>{throw Ko=null,t})}return Ko}}),B({CompressionStreamFallback:Ho,DecompressionStreamFallback:qo}),B({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Xo="Entry filename already exists",Jo="Readable stream already consumed",Qo="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",$o="zipjs-abort-export",ti="The operation was aborted",ei=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class ri{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(Xo);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options,id:t.We++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,_e:r._e||r.uncompressedSize===O,passThrough:r.passThrough}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}moveTo(t){this.fs.move(this,t)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(Xo);this.name=t}}class ni extends ri{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new ni(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==Nr?e.type==r:t.constructor!=vr||e.startsWith(t.data))})(t,r.data))return r.data;{const n=r.reader=di(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([wn(n),wn(t,a)]);const{signal:s}=e,o=((t,e,r,n)=>{const{onstart:a,onprogress:s,onend:o}=r,{readable:i}=e;return t.data instanceof $n||!a&&!s&&!o?i:Qt(i).pipeThrough(new Be({onstart:a,onprogress:s,onend:o,size:e.size}),{signal:n})})(r,n,e,s),i=!fn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await Qt(o).pipeTo(te(t.writable),{signal:s,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==ut)return!1;throw t}}getText(t,e){return this.getData(new Wr(t),e)}getBlob(t,e){return this.getData(new Nr(t),e)}getData64URI(t,e){return this.getData(new vr(t),e)}getUint8Array(t){return this.getData(new on,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return H(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:Mr,Writer:Nr,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:jr,Writer:Wr,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:kr,Writer:vr,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:sn,Writer:on,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:li(t),Writer:null,reader:null})}}class ai extends ri{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new ai(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return gi(this,t,{options:e},!0)}addText(t,e,r={}){return gi(this,t,{data:e,Reader:jr,Writer:Wr,options:r,uncompressedSize:Pr(e)})}addBlob(t,e,r={}){return gi(this,t,{data:e,Reader:Mr,Writer:Nr,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return gi(this,t,{data:e,Reader:kr,Writer:vr,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return gi(this,t,{data:e,Reader:sn,Writer:on,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return gi(this,t,{data:e,Reader:class extends nn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return gi(this,t,{Reader:li(e),options:r})}addFileSystemEntry(t,e={}){return bi(this,t,e)}addFileSystemHandle(t,e={}){return bi(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),gi(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}Le(t,e){return gi(this,t,e)}importBlob(t,e){return this.importZip(new Mr(t),e)}importData64URI(t,e){return this.importZip(new kr(t),e)}importUint8Array(t,e){return this.importZip(new sn(t),e)}importHttpContent(t,e){return this.importZip(new nn(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new Nr(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new vr(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new on,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:s}=r,o=new AbortController,{signal:i}=o,c=((t,e)=>{if(!t)return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,o),l=Object.assign({},r,r.readerOptions,{signal:i,onstart:O,onprogress:O,onend:O,preventClose:!1}),u=oi([t],t=>ci(t,l.passThrough)),d=[];let f=!1,w=0;try{n&&await Ve(n,u),await p(t,e),s&&await Ve(s,w)}catch(t){try{t.exportedEntryNames=d}catch{}throw t}finally{c()}return e;function h(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),w+=t.length,a&&await Ve(a,w,u)},close:()=>e.close(),abort:t=>e.abort(t)})}async function p(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>m(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!hi(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await m(r,e)}async function m(e,r){if(i.aborted){if(f||hi(i.reason))return;throw i.reason===O?new DOMException(ti,"AbortError"):i.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await p(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:h(a)},l)}catch(t){throw f?Error($o):t}d.push(e.getRelativeName(t))}}catch(r){f=!0,o.abort(Error($o));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==k?(r=t,e=Object.assign({},r.options,e)):(await wn(t),r=new _a(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(Xo)}else r=new ai(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(s)if(e=r.getChildByName(s),e){if(!e.directory)throw Error(Xo)}else e=new ai(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(gi(r,s,{data:t,Reader:ui(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([fi(r,e.readerOptions),wn(t)]),a=new Ks(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=oi(e.children,()=>1);let d=0,f=0;if(s&&await Ve(s,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){const{name:s,Be:i}=pi(e,l,n);let w=0;const h=await t.add(s,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,o&&await Ve(o,d,r)}}));f++,c&&await Ve(c,f,u,h)}i&&await Ve(i,d)})(a,r,oi([r],ii),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;(r=Object.assign({},r)).bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,s)=>{const o={options:r,config:P()};if(r[fa])throw Error(Us);const i=Fo(s);if(i>e)throw Error(hs);const c=r[ua],l=new Map;let u=!!c,f=0;for(const e of n){let{name:r}=e;const{size:n}=e,a=Object.assign({},e.options);r=r.trim(),mo(o,a,Vn)&&!r.endsWith(z)&&(r+=z);const s=Xs(o,r,a);({name:r}=s);const{de:i}=Js(o,r,a);0==i.level||i.compressionMethod!==O||i.passThrough||await We(o.config)||(i.level=0);const d=!mo(o,a,Vn);if(d&&n===O)throw Error(Us);const{Te:w,de:h}=$s(o,d,n,i,a);if(d&&!i.passThrough&&go(h.compressionMethod,h.level))throw Error(Us);const p=Object.assign({},a,s.de,i,h),m=to(p),y=no(p),b={he:m,ye:Fo(m.fe,y.we)};c&&eo(b,f);const S=d?w:0;t>f||(u=!0),l.set(r,Object.assign({},p,m,{offset:f,diskNumberStart:0,compressedSize:S})),f+=b.ye+S}if(u&&!a)throw Error(Us);const w=ao(l);let h=mo(o,r,Pn);if(f>=t||w>=t||l.size>=e){if(!1===h)throw Error(Ds);h=!0}return f+w+i+(h?98:d)})(r,Array.from(n.getChildren({recursive:!0}),t=>{const{name:e,Be:a}=pi(t,n,r);return{name:e,size:t.directory?0:mi(t,yi(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}const si={FS:class{constructor(){Ei(this)}get children(){return this.root.children}remove(t){wi(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(Xo)}else wi(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}Le(t,e){return this.root.Le(t,e)}importBlob(t,e){return Ei(this),this.root.importBlob(t,e)}importData64URI(t,e){return Ei(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return Ei(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return Ei(this),this.root.importHttpContent(t,e)}importReadable(t,e){return Ei(this),this.root.importReadable(t,e)}importZip(t,e){return Ei(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}},ZipDirectoryEntry:ai,ZipFileEntry:ni};function oi(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function ii(t){return t.uncompressedSize}function ci(t,e){const{data:r}=t;return e&&r instanceof $n?r.compressedSize:t.uncompressedSize}function li(t){let e;return()=>{if(e)throw Error(Jo);return e=!0,{readable:t}}}function ui(t){return class extends Ur{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,s=await e.entry.getData(new Nr,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.Ve=new Mr(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.Ve.readUint8Array(t,e)}}}function di(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function fi(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=di(t.Reader,t.data,e);a.set(t,r);try{await wn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t._e=!1)})),a}function wi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function hi(t){return!!t&&t.message==$o}function pi(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof $n){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:S}=t.data;s={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const E=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{ei.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(E&&(s.extraField=E),b===O&&S===O||Object.assign(s,{uid:b,gid:S,unixExtraFieldType:"infozip"}),yi(t,r)){let t,e;0===h&&(t=0),p&&(e=p.strength),o={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,level:t,encryptionStrength:e,compressionMethod:h}}}const i=Object.assign({},s,r,o,a,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(Qo);return{name:n,Be:i}}function mi(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t._e?O:ci(t,e)}function yi(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function bi(t,e,r){return async function t(e,n,a,s=""){if(n){const o=s?s+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await Si(n)),"file"==n.kind){const t=await n.getFile();a.push(e.Le(t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const s=e.addDirectory(n.name,r);a.push(s);for await(const e of n.values())await t(s,e,a,o)}}catch(t){try{t.entryName===O&&(t.entryName=o)}catch{}throw t}}return a}(t,e,[])}async function Si(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async s=>{if(s.length){for(const t of s)e.push(await Si(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function Ei(t){t.entries=[],t.We=0,t.root=new ai(t)}function gi(t,e,r,n){if(t.directory)return n?new ai(t.fs,e,r,t):new ni(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{Mr as BlobReader,Nr as BlobWriter,kr as Data64URIReader,vr as Data64URIWriter,ti as ERR_ABORTED,Ua as ERR_AMBIGUOUS_ARCHIVE,ba as ERR_BAD_FORMAT,ga as ERR_CENTRAL_DIRECTORY_NOT_FOUND,ws as ERR_DUPLICATED_NAME,za as ERR_ENCRYPTED,Ta as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Xo as ERR_ENTRY_EXISTS,Ea as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Sa as ERR_EOCDR_NOT_FOUND,Aa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,yr as ERR_HTTP_RANGE,br as ERR_HTTP_RESOURCE_CHANGED,ft as ERR_INVALID_AUTHENTICATION_CODE,ee as ERR_INVALID_CODEC_DEFINITION,ne as ERR_INVALID_CODEC_MODULE,hs as ERR_INVALID_COMMENT,we as ERR_INVALID_COMPRESSED_DATA,he as ERR_INVALID_CRC32,bs as ERR_INVALID_ENCRYPTION_STRENGTH,ps as ERR_INVALID_ENTRY_COMMENT,ms as ERR_INVALID_ENTRY_NAME,xs as ERR_INVALID_EXTRAFIELD_DATA,gs as ERR_INVALID_EXTRAFIELD_TYPE,Ca as ERR_INVALID_FILENAME_VALIDATION,Cs as ERR_INVALID_GID,Ws as ERR_INVALID_LEVEL,Ia as ERR_INVALID_MAX_APPENDED_DATA_SIZE,js as ERR_INVALID_MSDOS_ATTRIBUTES,Ps as ERR_INVALID_MSDOS_DATA,ut as ERR_INVALID_PASSWORD,_s as ERR_INVALID_PASSWORD_TYPE,Qo as ERR_INVALID_PASS_THROUGH,dt as ERR_INVALID_SIGNATURE,Ls as ERR_INVALID_SIGNATURE_DATA,va as ERR_INVALID_STRICTNESS,vs as ERR_INVALID_UID,fe as ERR_INVALID_UNCOMPRESSED_SIZE,Ms as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Ns as ERR_INVALID_UNIX_ID_SIZE,Is as ERR_INVALID_UNIX_MODE,ys as ERR_INVALID_VERSION,Sr as ERR_ITERATOR_COMPLETED_TOO_SOON,xa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Oa as ERR_OVERLAPPING_ENTRY,Jo as ERR_READABLE_CONSUMED,re as ERR_RESERVED_COMPRESSION_METHOD,Da as ERR_SPLIT_ZIP_FILE,Ts as ERR_UNDEFINED_READER,Os as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Us as ERR_UNDETERMINED_SIZE,ka as ERR_UNSAFE_FILENAME,Fa as ERR_UNSUPPORTED_COMPRESSION,jo as ERR_UNSUPPORTED_CONTEXT,ht as ERR_UNSUPPORTED_CRYPTO_API,Ra as ERR_UNSUPPORTED_ENCRYPTION,Es as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ss as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Ds as ERR_UNSUPPORTED_FORMAT,Ie as ERR_WORKER_STARTUP_TIMEOUT,Er as ERR_WRITER_NOT_INITIALIZED,ks as ERR_ZIP_NOT_EMPTY,an as HttpRangeReader,nn as HttpReader,Ur as Reader,cn as SplitDataReader,ln as SplitDataWriter,jr as TextReader,Wr as TextWriter,sn as Uint8ArrayReader,on as Uint8ArrayWriter,Tr as Writer,_a as ZipReader,La as ZipReaderStream,Ks as ZipWriter,Ys as ZipWriterStream,_ as configure,Io as createBlobTempStream,vo as createOPFSTempStream,Po as createSyncAccessHandleTempStream,si as fs,Uo as getMimeType,ie as registerCodec,V as resetConfiguration,Go as terminateWorkers,ce as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,u=117853008,d=22,f=20,w=56,h=39169,p=21589,m=6534,y=30837,b=30805,E=2048,S=61440,g=16384,x=2048,A=1024,z="/",R=30,F=new Date(2107,11,31,23,59,58),D=new Date(1980,0,1),O=void 0,U=1/0,k="undefined",T="function",v="object",I="string",C=new Uint8Array,M="password",N="rawPassword",j="passThrough",P="signal",_="useWebWorkers",W="useCompressionStream",L="transferStreams",B="preventClose",V="offset",Z="usdz",H="signCentralDirectory",q="filename",K="comment",Y="strict",G="balanced",X="tolerant",J="Invalid option (must be a function)",Q="Invalid signal (must be an AbortSignal instance)",$="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function tt(t){if(t&&typeof t!=T)throw Error(J);return t}function et(t){if(t&&(typeof t.addEventListener!=T||"boolean"!=typeof t.aborted))throw Error(Q);return t||O}function rt(t,e){if(t&&typeof t!=I||e&&!(e instanceof Uint8Array))throw Error($)}function nt(t){return typeof t==I&&t.trim()?Number(t):t}const at="Invalid maxWorkers (must be an integer greater than 0)";let st=2;try{typeof navigator!=k&&navigator.hardwareConcurrency&&(st=navigator.hardwareConcurrency)}catch{}const ot={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:st,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=k&&CompressionStream,DecompressionStream:typeof DecompressionStream!=k&&DecompressionStream},it="maxWorkers",ct=["chunkSize",it,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],lt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],ut=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...ct,...lt],dt={...ot};function ft(){return dt}function wt(t){return ht(t.chunkSize)}function ht(t){return t=nt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function pt(t){Object.assign(dt,mt(bt(t)))}function mt(t){const e={};for(const r of ut){const n=t[r];n!==O&&(e[r]=yt(r,n))}return e}function yt(t,e){if(ct.includes(t)){if(e=nt(e),t==it&&(!Number.isInteger(e)||1>e))throw Error(at)}else lt.includes(t)&&tt(e);return e}function bt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===O&&r===O)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===O&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===O&&(n.DecompressionStreamFallback=r),n}function Et(t){const e=mt(bt(t));Object.assign(ot,e),Object.assign(dt,e)}function St(){for(const t of ut)delete dt[t];Object.assign(dt,ot)}function gt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function xt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function At(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const zt=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;zt[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=zt[e-1][t];zt[e][t]=r>>>8^zt[0][255&r]}const[Rt,Ft,Dt,Ot,Ut,kt,Tt,vt]=zt;class It{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=vt[255&t]^Tt[t>>>8&255]^kt[t>>>16&255]^Ut[t>>>24&255]^Ot[255&r]^Dt[r>>>8&255]^Ft[r>>>16&255]^Rt[r>>>24&255]}}for(;r>n;n++)e=e>>>8^Rt[255&(e^t[n])];this.o=e}get(){return~this.o}}class Ct extends TransformStream{constructor(){let t;const e=new It;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function Mt(t){if(typeof TextEncoder==k){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const Nt={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=Nt.l(r);return 32===n?t.concat(e):Nt.h(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+Nt.l(r)},m(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=Nt.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,h(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=Nt.l(a);return n.push(Nt.S(e+s&31,e+s>32?r:n.pop(),1)),n}},jt={bytes:{A(t){const e=Nt.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(Nt.S(8*(3&r),n)),e}}},Pt=class{constructor(t){const e=this;e.blockSize=512,e.F=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.O=t.O.slice(0),e.U=t.U.slice(0),e.T=t.T):e.reset()}reset(){const t=this;return t.O=t.F.slice(0),t.U=[],t.T=0,t}update(t){const e=this;"string"==typeof t&&(t=jt.v.R(t));const r=e.U=Nt.concat(e.U,t),n=e.T,a=e.T=n+Nt.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.I(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}C(){const t=this;let e=t.U;const r=t.O;e=Nt.concat(e,[Nt.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.T/4294967296)),e.push(0|t.T);e.length;)t.I(e.splice(0,16));return t.reset(),r}M(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}I(t){const e=this,r=e.O,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.M(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},_t={importKey:t=>new _t.j(jt.bytes.R(t)),P(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const u=new ArrayBuffer(a),d=new DataView(u);let f=0;const w=Nt;for(e=jt.bytes.R(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)d.setInt32(f,s[i]),f+=4}return u.slice(0,n/8)},j:class{constructor(t){const e=this,r=e._=Pt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).C());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t._(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.C(),r=new t._(t.W[1]).update(e).C();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},Wt=typeof crypto!=k&&typeof crypto.getRandomValues==T,Lt="Invalid password",Bt="Invalid signature",Vt=Bt,Zt="zipjs-abort-check-password",Ht="Crypto API not supported";function qt(t){if(Wt)return crypto.getRandomValues(t);throw Error(Ht)}const Kt=16,Yt={name:"PBKDF2"},Gt=Object.assign({hash:{name:"HMAC"}},Yt),Xt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Yt),Jt=["deriveBits"],Qt=[8,12,16],$t=[16,24,32],te=10,ee=[0,0,0,0],re=typeof crypto!=k,ne=re&&crypto.subtle,ae=re&&typeof ne!=k,se=jt.bytes,oe=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let u=o=0;!r[u];u^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[u]=s,n[s]=u,l=a[c=a[i=a[u]]];let d=16843009*l^65537*c^257*i^16843008*u,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][u]=f=f<<24^f>>>8,e[r][s]=d=d<<24^d>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],u=s[4];let d,f,w,h=t[0]^r[0],p=t[e?3:1]^r[1],m=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)d=o[h>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&y]^r[b],f=o[p>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&h]^r[b+1],w=o[m>>>24]^i[y>>16&255]^c[h>>8&255]^l[255&p]^r[b+2],y=o[y>>>24]^i[h>>16&255]^c[p>>8&255]^l[255&m]^r[b+3],b+=4,h=d,p=f,m=w;for(let t=0;4>t;t++)a[e?3&-t:t]=u[h>>>24]<<24^u[p>>16&255]<<16^u[m>>8&255]<<8^u[255&y]^r[b++],d=h,h=p,p=m,m=y,y=d;return a}},ie=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const a=Nt.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return Nt.m(e,a)}},ce=_t.j;let le=re&&ae&&typeof ne.importKey==T,ue=re&&ae&&typeof ne.deriveBits==T;class de extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){we(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await pe(t,e,r,ye(n,0,Qt[e])),s=ye(n,Qt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(Lt)})(r,s,a,ye(t,0,Qt[s]+2)),t=ye(t,Qt[s]+2),n?e.error(Error(Zt)):o()):await i;const c=new Uint8Array(t.length-te-(t.length-te)%Kt);e.enqueue(he(r,t,c,0,te,!0))},async flush(t){const{nt:e,st:r,ot:n,ready:s}=this;if(r&&e){await s;const o=ye(n,0,n.length-te),i=ye(n,n.length-te);let c=C;if(o.length){const t=Ee(se,o);r.update(t);const n=e.update(t);c=be(se,n)}const l=ye(be(se,r.digest()),0,te);let u=n.length<te?1:0;for(let t=0;te>t;t++)u|=l[t]^i[t];if(u&&a)throw Error(Vt);t.enqueue(c)}}})}}class fe extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){we(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=C;n?(i=await(async(t,e,r)=>{const n=qt(new Uint8Array(Qt[e]));return gt(n,await pe(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%Kt);c.set(i,0),e.enqueue(he(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,ot:n,ready:a}=this;if(r&&e){await a;let s=C;if(n.length){const t=e.update(Ee(se,n));r.update(t),s=be(se,t)}const o=be(se,r.digest()).slice(0,te);t.enqueue(gt(s,o))}}})}}function we(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:me(e,r),strength:n-1,ot:C})}function he(t,e,r,n,a,s){const{nt:o,st:i,ot:c}=t;c.length&&(e=gt(c,e));const l=e.length-a;let u;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%Kt)),u=0;l-Kt>=u;u+=Kt){const t=Ee(se,ye(e,u,u+Kt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(be(se,a),u+n)}return t.ot=ye(e,u),r}async function pe(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!le)return _t.importKey(e);try{return await ne.importKey("raw",e,r,!1,a)}catch{return le=!1,_t.importKey(e)}})(0,r,Gt,0,Jt),s=await(async(t,e,r)=>{if(!ue)return _t.P(e,t.salt,Xt.iterations,r);try{return await ne.deriveBits(t,e,r)}catch{return ue=!1,_t.P(e,t.salt,Xt.iterations,r)}})(Object.assign({salt:n},Xt),a,8*(2*$t[e]+2)),o=new Uint8Array(s),i=Ee(se,ye(o,0,$t[e])),c=Ee(se,ye(o,$t[e],2*$t[e])),l=ye(o,2*$t[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},nt:new ie(new oe(i),Array.from(ee)),st:new ce(c)}),l}function me(t,e){return e===O?Mt(t):e}function ye(t,e,r){return t.subarray(e,r)}function be(t,e){return t.A(e)}function Ee(t,e){return t.R(e)}class Se extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){xe(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Ae(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(Lt);t=t.subarray(12)}n?e.error(Error(Zt)):e.enqueue(Ae(r,t))}})}}class ge extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){xe(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=qt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(ze(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(ze(r,t),a),e.enqueue(n)}})}}function xe(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new It(n[0]),lt:new It(n[2])}),r)for(let e=0;e<r.length;e++)Re(t,r[e]);else for(let r=0;r<e.length;r++)Re(t,e.charCodeAt(r))})(t,e,r)}function Ae(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Fe(t)^e[n],Re(t,r[n]);return r}function ze(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Fe(t)^e[n],Re(t,e[n]);return r}function Re(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Oe(Math.imul(Oe(r+De(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Fe(t){const e=2|t.keys[2];return De(Math.imul(e,1^e)>>>8)}function De(t){return 255&t}function Oe(t){return 4294967295&t}function Ue(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function ke(t,e){t=Ue(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=T||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function Te(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const ve="Invalid codec definition",Ie="Reserved compression method",Ce="Invalid codec module",Me=[0,8,9,99],Ne=new Map,je=new Map;function Pe(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=I||!n.length)throw Error(ve);if(Me.includes(r))throw Error(Ie);const c=typeof s==T||typeof o==T;if(!(c||typeof a==I&&a.length))throw Error(ve);Ne.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&Be(n,{CompressionStream:s,DecompressionStream:o})}function _e(t){const e=Ne.get(t);if(e){let r;Ne.delete(t),Ne.forEach(t=>r=r||t.format==e.format),r||je.delete(e.format)}}function We(t){return Ne.get(t)}function Le(t){return je.get(t)}function Be(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=T&&typeof n!=T)throw Error(Ce);je.set(t,{CompressionStream:r,DecompressionStream:n})}const Ve="Invalid uncompressed size",Ze="Invalid compressed data",He=Bt,qe="deflate-raw",Ke="gzip",Ye=[31,139,8];class Ge extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:u,format:d,compressionMethod:f}=t,w=this;let h,p,m,y=super.readable;const b=d&&Le(d),E=c&&a&&!u&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||E||(h=new Ct,y=ar(y,h)),a)if(b)y=sr(y,rr(b.CompressionStream,d,{level:l,chunkSize:e,compressionMethod:f}));else if(E)m=new Xe,y=sr(y,new n(Ke)),y=ar(y,m);else try{y=nr(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Ke)}catch{throw t}y=sr(y,e),y=ar(y,new Xe)}s&&(i?y=ar(y,new ge(t)):(p=new fe(t),y=ar(y,p))),er(w,y,()=>{s&&!i||!c||(w.crc32=E?m.crc32:new DataView(h.value.buffer).getUint32(0))})}}class Xe extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const a=r.length+t.length;if(8>=a)return void(r=gt(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(gt(r.subarray(0,o),t.subarray(0,s-o))),r=gt(r.subarray(o),t.subarray(s-o))},flush(){const e=At(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Je extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:u,format:d,compressionMethod:f,rawBitFlag:w,outputSize:h}=t;let p,m,y=super.readable;if(s&&(a?y=ar(y,new Se(t)):(m=new de(t),y=ar(y,m))),c){const t=d&&Le(d);if(t)y=sr(y,rr(t.DecompressionStream,d,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:h}));else try{y=nr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||h===O)throw t;let e;try{e=new n(Ke)}catch{throw t}y=((t,e,r)=>{const n=new It;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(Ye),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=At(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),d=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=ar(t,u),ar(t=sr(t,e),d);function f(){w(),a=setTimeout(()=>o(Error(Ve)),5e3)}function w(){clearTimeout(a)}})(y,e,h)}y=(t=>{const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=Error(Ze);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(p=new Ct,y=ar(y,p)),er(this,y,()=>{if(o){const t=new DataView(p.value.buffer);if(i!=t.getUint32(0,!1))throw Error(He)}})}}const Qe=new Map;function $e(t,e){if(!t)return!1;let r=Qe.get(t);r||(r=new Map,Qe.set(t,r));let n=r.get(e);if(n===O){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function tr(t){return $e(t,qe)}function er(t,e,r){e=ar(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function rr(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function nr(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":qe;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return sr(t,i)}function ar(t,e){return Ue(t).pipeThrough(e)}function sr(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await(async(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const or="data",ir="deflate",cr="inflate";class lr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(ir)?a=Ge:n.startsWith(cr)&&(a=Je),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==O&&r.outputSize>t.outputSize))throw Error(Ve)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class ur extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((t,e)=>{const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r})(e,r))}})}}const dr="Worker startup timeout";let fr,wr,hr,pr=()=>{};async function mr(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.ut)return!0;if(tr(e)||$e(e,Ke))return!0;if(r)try{return await pr(t),!0}catch{return!1}return!1}function yr(t){t.createWorker?wr=!0:fr=!1}class br{constructor(t,{readable:e,writable:r},{options:n,config:a,ft:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},u){const{signal:d}=s;return wr&&(l=O),Object.assign(t,{wt:!0,ht:(t.ht||0)+1,readable:e.pipeThrough(new ur(wt(a))).pipeThrough(new Er(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{yt:r,wt:n}=t;r?(n?t.bt=e:(r.terminate(),e()),t.Et=null):e()}),St(){if(t.wt){const{bt:e}=t;e&&(t.bt=null,t.gt=!0,t.yt.terminate(),e()),t.wt=!1,u(t)}}}),fr===O&&(fr=typeof Worker!=k),(o&&hr&&(fr&&c||l)?hr:gr)(t,a)}}class Er extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Sr(t,r)},async transform(t,n){a+=t.length,e&&await Sr(e,a,r),n.enqueue(t)},async flush(){n&&await Sr(n,a)}})}}async function Sr(t,...e){try{await t(...e)}catch{}}function gr(t,e){return{run:()=>xr(t,e)}}async function xr({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(ir),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.ut&&!tr(n))try{await pr(a)}catch{}}else try{await pr(a)}catch{r&&!r.ut||(t.useCompressionStream=!0)}}s=new lr(t,a),await e.pipeThrough(s).pipeThrough(new ur(wt(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}const Ar={type:"module"},zr="error";let Rr,Fr,Dr,Or=!0;try{Or=typeof structuredClone==T&&structuredClone(new DOMException("","AbortError")).code!==O}catch{}var Ur;function kr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Tr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.Et=null}function vr(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Fr===O||Rr!==t){const s=typeof t==T;i=s?t(a):t;const l=i.startsWith("data:"),u=i.startsWith("blob:");if(l||u){n===O&&(n=!1),n&&(c=Ar);try{o=new Worker(i,c)}catch(a){if(u)try{URL.revokeObjectURL(i)}catch{}if(s&&u)return vr(t,e,r,n,!1);if(n)throw a;return vr(t,e,r,!0,!1)}}else{n===O&&(n=!0),n&&(c=Ar);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return vr(t,e,r,!1,a);throw s}}Rr=t,Fr=i,Dr=c}else o=new Worker(Fr,Dr);return o.addEventListener("message",t=>{r.xt=!0,Ir(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,At:l,zt:u,St:d,ht:f}=e,w=()=>e.ht!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),h(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Mr({type:or,value:t,done:r,messageId:a},e)}r==or&&(await c.ready,await c.write(new Uint8Array(n)),w()||Mr({type:"ack",messageId:a},e)),"close"==r&&h(null,s)}}catch(o){w()||(Tr(e),h(o))}function h(t,e){w()||(t?u(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||d())}})(t,r)}),o.addEventListener(zr,t=>Cr(t,r)),o.addEventListener("messageerror",t=>Cr(t,r)),o}function Ir(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function Cr(t,e){t.preventDefault&&t.preventDefault(),Ir(e);const{xt:r,zt:n,writer:a,St:s}=e;Tr(e),r||(e.yt=null);let o=t.error||Error(t.message||zr);r||(o=Object.assign(Error(o.message||zr),{Ft:!0}),e.Dt=o),n&&(n(o),a&&a.releaseLock(),r&&s())}function Mr(t,{yt:e,writer:r,transferStreams:n,xt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=xt(r),i.push(t.value.buffer)),n&&Or&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Or=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}Ur=(t,e)=>{const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.Et){let o;typeof s==T&&(s=s());try{o=vr(t.workerURI,r,t)}catch{return yr(t),gr(t,e)}Object.assign(t,{yt:o,xt:!1,gt:!1,Dt:null,Et:{run:async()=>{try{return await(async(t,e)=>{if(!t.yt){const{Dt:e}=t;t.Dt=null;const r=e||Error(dr);throw r.Ft=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,At:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ot:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ot:()=>e.abort()}})(t.writable);let u;try{u=Mr({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:d}=e;t.xt||!Number.isFinite(d)||0>d||(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.xt)return;const{zt:e,writer:r}=t;if(Tr(t),t.yt=null,e){const t=Error(dr);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),d));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!u&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft)return yr(t),kr(t),xr(t,e);if(r&&r.codecImportFailed){if(t.reader)return kr(t),xr(t,e);t.St()}throw r}}}})}return t.Et},hr=Ur;let Nr=[];const jr=[];let Pr,_r,Wr=0;async function Lr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:u,format:d,codecURI:f}=r,{workerURI:w,createWorker:h,maxWorkers:p}=n;d&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!je.has(t)&&e&&Be(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=!d&&(a||a===O&&n.transferStreams);const m=!(i||c||l||u),y=d===O||!!r.codecURI;return e.useWebWorkers=!m&&y&&(s||s===O&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:O,e.createWorker=e.useWebWorkers&&h?h:O,r.useCompressionStream=o||o===O&&n.useCompressionStream,(await(async()=>{const r=Nr.find(t=>!t.wt);if(r)return qr(r),new br(r,t,e,b);if(Nr.length<p){const r={Ut:Wr};return Wr++,Nr.push(r),new br(r,t,e,b)}return new Promise(r=>{jr.push({resolve:r,stream:t,kt:e}),_r=n.workerStarvationTimeout,Br()})})()).run();function b(t){if(Vr(),jr.length){const[{resolve:e,stream:r,kt:n}]=jr.splice(0,1);e(new br(t,r,n,b)),Br()}else t.yt?(qr(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.Tt=setTimeout(async()=>{Nr=Nr.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Nr=Nr.filter(e=>e!=t)}}function Br(){!Pr&&jr.length&&Number.isFinite(_r)&&_r>=0&&(Pr=setTimeout(Zr,_r))}function Vr(){Pr&&(clearTimeout(Pr),Pr=null)}function Zr(){if(Pr=null,jr.length){const[{resolve:t,stream:e,kt:r}]=jr.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:O,createWorker:O});t(new br({},e,n,Hr)),Br()}}function Hr(){Vr(),Br()}function qr(t){const{Tt:e}=t;e&&(clearTimeout(e),t.Tt=null)}const Kr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Yr(t,e){return Gr(t,e,!0)}function Gr(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Kr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const Xr="HTTP error ",Jr="HTTP Range not supported",Qr="HTTP resource changed",$r="Writer iterator completed too soon",tn="Writer not initialized",en="Content-Range",rn="Range",nn="GET",an="bytes",sn=16777216,on="writable",cn=Symbol();class ln{constructor(){this.size=0}init(){this.initialized=!0}}class un extends ln{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=wt(ft())}={}){const n=this;let a=0;return r=ht(r),new ReadableStream({async pull(s){const o=e===O?r:Math.min(r,e-a),i=await Gn(n,t+a,o);i.length&&s.enqueue(i),a+r>=e||!i.length&&o?s.close():a+=r}})}}class dn extends ln{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(tn);return t.writeUint8Array(xt(e))}});Object.defineProperty(t,on,{get:()=>e})}writeUint8Array(){}}class fn extends un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{vt:t,It:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{It:r,vt:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class wn extends dn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",Ct:""})}writeUint8Array(t){const e=this;let r,n=e.Ct;const a=e.Ct.length;for(e.Ct="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.Ct+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.Ct=n+e.Ct}getData(){return this.data+btoa(this.Ct)}}let hn,pn;class mn extends un{constructor(t){super(),Object.assign(this,{Mt:t,size:t.size}),pn||(pn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();hn=1==e}catch{hn=!1}})())}createReadable(t){const{Mt:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?hn?Ue(e.slice(n,n+a).stream()):super.createReadable(t):Ue(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.Mt.slice(t,n):r.Mt;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class yn extends ln{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,on,{get:()=>r.writable}),e.contentType=t,e.Nt=ke(r.readable,t),e.Nt.catch(()=>{})}getData(){return this.Nt}}class bn extends mn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}function En(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);128>n?e+=1:2048>n?e+=2:55296>n||n>=57344?e+=3:56320>n&&56320==(64512&t.charCodeAt(r+1))?(e+=4,r++):e+=3}return e}class Sn extends yn{constructor(t){super(),Object.assign(this,{encoding:t,jt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,jt:e}=this,r=await super.getData();return r.text&&e?r.text():((t,e)=>Gr(t,e,!1))(new Uint8Array(await r.arrayBuffer()),t)}}class gn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await zn(this,Nn,vn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==O){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(Jr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=O,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Nn(nn,t,kn(t,a,e));if(206!=r.status)throw Error(Jr);const i=r.headers.get(en);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(Jr)}Un(t,r),On(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Rn(this,t,e,Nn,vn)}}class xn extends un{constructor(t,e){super(),An(this,t,e)}async init(){await zn(this,jn,In),super.init()}readUint8Array(t,e){return Rn(this,t,e,jn,In)}}function An(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=sn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function zn(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=ft(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(typeof a==k||a)){const n=await e(nn,t,kn(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==an))throw Error(Jr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Pt=e)}On(t,n);const a=Fn(n);a===O?await Mn(t,e,r):t.size=a}}else await Mn(t,e,r)}async function Rn(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Pt:i,size:c,options:l}=t;if(s||o){if(i&&e==c-d&&r==d)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(nn,t,kn(t,e,r));if(206!=a.status)throw Error(Jr);const s=a.headers.get(en);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(Jr)}Un(t,a),On(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(Jr);return o}return C}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Fn(t){const e=t.headers.get(en);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Dn({headers:t}){return{_t:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function On(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Dn(e))}function Un(t,e){const{checkResourceChanges:r,Wt:n,size:a}=t;if(r){const t=Fn(e);if(t!==O&&a!==O&&t!=a)throw Error(Qr);if(n){const t=Dn(e);if(Object.entries(n).some(([e,r])=>r!==O&&t[e]!==O&&r!=t[e]))throw Error(Qr)}}}function kn(t,e=0,r=1){return Object.assign({},Tn(t),{[rn]:an+"="+(0>e?e:e+"-"+(e+r-1))})}function Tn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function vn(t){await Cn(t,Nn)}async function In(t){await Cn(t,jn)}async function Cn(t,e){const r=await e(nn,t,Tn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Mn(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Tn(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Nn(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(Jr):Error(Xr+(s.statusText||s.status))}function jn(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(Jr):Error(Xr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Pn extends un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new xn(t,e):new gn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class _n extends Pn{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Wn extends un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Lt:t,size:t.length})}readUint8Array(t,e){return this.Lt.slice(t,t+e)}}class Ln extends dn{constructor(t){super(),this.Bt=t||262144}init(t=0){Object.assign(this,{offset:0,Lt:new Uint8Array(t>0?t:this.Bt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Lt.length){let t=e.Lt.length?2*e.Lt.length:e.Bt;for(;r>t;)t*=2;const n=e.Lt;e.Lt=new Uint8Array(t),e.Lt.set(n)}e.Lt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Lt.length?this.Lt:this.Lt.slice(0,this.offset)}}class Bn extends un{constructor(t){super(),this.Vt=t}async init(){const t=this;t.Zt=0;const e=t.Vt=await Promise.all(t.Vt.map(Yn));t.Ht=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}qt(t){const{Ht:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Vt:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=gt(await Gn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await Gn(i,o,e)}else a=C;return r.Zt=Math.max(s,r.Zt),a}}class Vn extends ln{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===cn)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error($r);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Kn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,on,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(cn)}finally{t.releaseLock()}}}class Zn{constructor(t){return Array.isArray(t)&&(t=new Bn(t)),(t instanceof ReadableStream||typeof t.getReader==T)&&(t={readable:Ue(t)}),t}}class Hn{constructor(t){return t.writable===O&&typeof t.next==T&&(t=new Vn(t)),(t instanceof WritableStream||typeof t.getWriter==T)&&(t={writable:Te(t)}),t.size===O&&(t.size=0),t}}function qn(t){return!(!t||!t.getData)}async function Kn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function Yn(t){return t=new Zn(t),await Kn(t),t.size!==O&&t.readUint8Array||(t=new mn(await ke(t.readable)),await Kn(t)),t}function Gn(t,e,r){return t.readUint8Array(e,r)}function Xn(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?un.prototype.createReadable.call(t,e):t.readable}const Jn="filename",Qn="rawFilename",$n="comment",ta="rawComment",ea="uncompressedSize",ra="compressedSize",na="offset",aa="diskNumberStart",sa="lastModDate",oa="rawLastModDate",ia="lastAccessDate",ca="rawLastAccessDate",la="creationDate",ua="rawCreationDate",da="internalFileAttributes",fa="externalFileAttributes",wa="internalFileAttribute",ha="externalFileAttribute",pa="msdosAttributesRaw",ma="msdosAttributes",ya="msDosCompatible",ba="zip64",Ea="encrypted",Sa="version",ga="versionMadeBy",xa="zipCrypto",Aa="directory",za="executable",Ra="compressionMethod",Fa="signature",Da="extraField",Oa="unixMode",Ua="setuid",ka="setgid",Ta="sticky",va=[Jn,Qn,ea,ra,sa,oa,$n,ta,ia,ca,la,ua,na,aa,da,fa,wa,ha,pa,ma,ya,ba,Ea,Sa,ga,xa,Aa,za,"symlink",Ra,Fa,"crc32",Da,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Oa,"unixExternalUpper",Ua,ka,Ta,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ia{constructor(t){va.forEach(e=>this[e]=t[e])}}const Ca="File format is not recognized",Ma="End of central directory not found",Na="End of Zip64 central directory locator not found",ja="Central directory header not found",Pa="Local file header not found",_a="Zip64 extra field not found",Wa="File contains encrypted entry",La="Encryption method not supported",Ba="Compression method not supported",Va="Split zip file",Za="Overlapping entry found",Ha="Entry data out of bounds",qa="Ambiguous archive",Ka="Encrypted central directory is not supported",Ya="Unsafe filename",Ga="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Xa="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ja="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Qa=/^[a-zA-Z]:/,$a="utf-8",ts="cp437",es=[[ea,t],[ra,t],[na,t],[aa,e]],rs={[e]:{Kt:Ts,bytes:4},[t]:{Kt:vs,bytes:8}};class ns{constructor(t,e={}){Object.assign(this,{reader:new Zn(t),options:e,Yt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;if(await Kn(c),c.size!==O&&c.readUint8Array||(c=new mn(await ke(c.readable)),await Kn(c)),c.size<d)throw Error(Ca);const h=ys(n,s.options),p=h==Y,m=h!=X,y=((t,r)=>{if(t!==O){const e=nt(t);if("number"!=typeof e||Number.isNaN(e)||0>e)throw Error(Ja);return e}return r==Y?0:r==X?1/0:e})(Rs(s,n,"maxAppendedDataSize"),h),b=((t,e)=>{if(t===O)return e;if(!ms(t))throw Error(Xa);return t})(Rs(s,n,"filenameValidation"),h),E=Rs(s,n,"normalizeFilename"),{Gt:R,Xt:F}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:64};let o,i,c=0;for await(const[r,l,u,f,w]of Ss(t,a)){const a=ks(r,f+20);if(w+d+a==n){const a=await xs(t,r,l,f,w,n,s);if(2==a){if(o||(o=gs(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=gs(u,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,u]of Ss(t,a)){const a=gs(c,l,u);s||(s=a);const d=await xs(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Gt:o,Xt:c}})(c,m,y);if(!R)throw await(async t=>await ps(t)==a)(c)?Error(Va):Error(Ma);m&&F>1&&zs("multiple end of central directory records");const D=At(R);let U=Ts(D,12),k=Ts(D,16);const T=R.offset,v=ks(D,20),I=T+d+v;c.size-I>y&&zs("appended data");let M=ks(D,4);const N=c.Zt||0;let j,P,_,W,L=ks(D,6),B=ks(D,10),V=0;const Z=k==t||U==t||B==e||L==e;if(k!=t&&L!=e&&(k+=hs(c,L)),Z){const r=R.offset<f?C:await Gn(c,R.offset-f,f),n=At(r);if(r.length==f&&Ts(n,0)==u){k=hs(c,Ts(n,4))+vs(n,8);let r=await Gn(c,k,w),a=At(r);const s=R.offset-f-w;if((r.length<w||Ts(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(V=k-t),r=await Gn(c,k,w),a=At(r)}if(r.length<w||Ts(a,0)!=l)throw Error(Na);if(P=!0,_=vs(a,4)>44,_){const t=Math.min(Number(vs(a,4))-44,c.size-k-w);t>0&&(W=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=At(t),n=ks(r,26);Object.assign(e,{compressionMethod:ks(r,0),compressedSize:Number(vs(r,2)),uncompressedSize:Number(vs(r,10)),encryptionAlgorithm:ks(r,18),bitLength:ks(r,20),flags:ks(r,22),hashAlgorithm:ks(r,24),hashData:t.subarray(28,28+n)})}return e})(await Gn(c,k+w,t)))}M==e?M=Ts(a,16):p&&M!=Ts(a,16)&&zs("mismatched zip64 end of central directory record"),L==e?L=Ts(a,20):p&&L!=Ts(a,20)&&zs("mismatched zip64 end of central directory record"),B==e?B=vs(a,32):p&&B!=vs(a,32)&&zs("mismatched zip64 end of central directory record"),U==t?U=vs(a,40):p&&U!=vs(a,40)&&zs("mismatched zip64 end of central directory record"),k=hs(c,L)+vs(a,48)+V}}let H=U;const G=R.offset-(P?76:0);if(k<c.size||(V=c.size-k-U-d,k=c.size-U-d),N!=M)throw Error(Va);if(0>k)throw Error(Ca);let J=0,Q=await Gn(c,k,U),$=At(Q);if(U){if(4>Q.length)throw Error(Ca);const t=G-U;if(k!=t&&L==M){let e=!(Ts($,J)==i);if(e||0>t||t+4>c.size||(e=Ts(At(await Gn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(V+=k-e),Q=await Gn(c,k,U),$=At(Q)}}}const tt=G-k;if(U==tt||0>tt||L!=M||(U=tt,Q=await Gn(c,k,U),$=At(Q)),0>k||k>=c.size)throw Error(Ca);s.directoryOffset=k,s.directoryLength=H;const et=Fs(s,n,"decryptCentralDirectory");let rt;et&&B&&Q.length>=4&&Ts($,0)!=i&&(_||os($))&&(Q=await et(Q,W),$=At(Q),H=Q.length,rt=!0),j=k;const at=Rs(s,n,"filenameEncoding"),st=Rs(s,n,"commentEncoding"),ot=p?new Set:O;let it;for(let t=0;B>t;t++){const a=new ss(c,s.options);if(J+46>Q.length||Ts($,J)!=i){if(0==t&&!rt&&(_||os($)))throw Error(Ka);throw Error(ja)}is(a,$,J+6);const o=!!a.bitFlag.languageEncodingFlag,l=J+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=ks($,J+4),w=!(f>>8),h=f>>8==3,m=Q.subarray(l,u),y=ks($,J+32),R=d+y,F=Q.subarray(d,R),D=o,U=o,k=Ts($,J+38),T=k&r,v={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},I=Ts($,J+42),C=Fs(s,n,"decodeText")||Yr,M=D?$a:at||ts,N=U?$a:st||ts;let P=C(m,M,q);if(P===O&&(P=Yr(m,M)),E){const t=E(P);t!==O&&(P=t)}if(Es(P,b)){const t=Error(Ya);throw t.filename=P,t}let W=C(F,N,K);W===O&&(W=Yr(F,N)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Jt:y,offset:I,diskNumberStart:ks($,J+34),internalFileAttributes:ks($,J+36),externalFileAttributes:k,msdosAttributesRaw:T,msdosAttributes:v,rawFilename:m,filenameUTF8:D,commentUTF8:U,rawExtraField:Q.subarray(u,d),rawComment:F,filename:P,comment:W}),cs(a,a,$,J+6),a.offset+=V,j=Math.min(hs(c,a.diskNumberStart)+a.offset,j),p&&(ot.has(a.filename)&&(it=!0),ot.add(a.filename));const L=a.externalFileAttributes>>16&e;a.unixMode===O&&16877&L&&(a.unixMode=L);const Z=!!(a.unixMode&x),H=!!(a.unixMode&A),Y=!!(512&a.unixMode),G=40960==((a.unixMode===O?L:a.unixMode)&S),X=!G&&(a.unixMode!==O?!!(73&a.unixMode):h&&!!(73&L)),tt=a.unixMode!==O&&(a.unixMode&S)==g,et=(L&S)==g;Object.assign(a,{setuid:Z,setgid:H,sticky:Y,symlink:G,unixExternalUpper:L,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:X,directory:tt||et||w&&v.directory||a.filename.endsWith(z)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const nt=new Ia(a);nt.getData=(t,e)=>a.getData(t,nt,s.Yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=ke(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await a.getData(e,nt,s.Yt,t),r},J=R;const{onprogress:ct}=n;if(ct)try{await ct(t+1,B,new Ia(a))}catch{}yield nt}let ct=J;if(J+6<=Q.length&&Ts($,J)==o){const t=ks($,J+4);J+6+t>Q.length||(s.digitalSignature=Q.subarray(J+6,J+6+t),ct=J+6+t)}p&&J!=H&&ct!=H&&zs("trailing central directory data"),it&&zs("duplicate filename");const lt=Rs(s,n,"extractPrependedData"),ut=Rs(s,n,"extractAppendedData"),dt=(p||lt)&&B&&4==j&&await(async t=>{const e=await ps(t);return e==a||808471376==e})(c)?4:0;return p&&(V||B&&j>dt)&&zs("prepended data"),lt&&(s.prependedData=j>dt?await Gn(c,dt,j-dt):C),s.comment=v?await Gn(c,T+d,v):C,ut&&(s.appendedData=I<c.size?await Gn(c,I,c.size-I):C),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}}class as{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ns(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}let ss=class{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,a,o={}){const i=this,c=ft(),{reader:l,index:u,offset:d,diskNumberStart:f,extraFieldAES:w,extraFieldZip64:h,compressionMethod:p,bitFlag:m,rawBitFlag:y,crc32:b,rawLastModDate:E,uncompressedSize:S,compressedSize:g}=i,{dataDescriptor:x}=m,A=e.localDirectory={},z=hs(l,f)+d,F=await Gn(l,z,R),D=At(F);let U=Rs(i,o,M),k=Rs(i,o,N);const T=Rs(i,o,j);if(rt(U,k),U=U&&U.length&&U,k=k&&k.length&&k,w&&99!=w.originalCompressionMethod)throw Error(Ba);if(F.length<R||Ts(D,0)!=n)throw Error(Pa);is(A,D,4);const{extraFieldLength:v,filenameLength:I}=A,V=Rs(i,o,"checkLocalDirectory"),Z=ys(o,i.options),H=((t,e)=>t===O?e!=X:!!t)(V,Z),q=((t,e)=>t===O?e==Y:!!t)(V,Z);let K=C;if(q&&(I||v)){const t=await Gn(l,z+R,I+v);K=t.subarray(0,I),A.rawExtraField=t.subarray(I)}else A.rawExtraField=v?await Gn(l,z+R+I,v):C;q&&(A.rawFilename=K),cs(i,A,D,4,!0),H&&((t,e,r,n)=>{const{rawFilename:a}=t;n&&(r.length!=a.length||r.some((t,e)=>t!=a[e]))&&zs("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&zs("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&zs("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||zs("mismatched local file header (crc32 or sizes)")})(i,A,K,q);const{lastAccessDate:G,creationDate:J,uid:Q,gid:$}=A;G&&(e.lastAccessDate=G),J&&(e.creationDate=J),Q!==O&&e.uid===O&&(e.uid=Q),$!==O&&e.gid===O&&(e.gid=$);const tt=i.encrypted&&A.encrypted&&!T,nt=tt&&!w;if(T||(e.zipCrypto=nt),tt&&!(64&~A.rawBitFlag))throw Error(La);const at=T?O:We(p);if(0!=p&&8!=p&&9!=p&&!at&&!T)throw Error(Ba);if(tt){if(!nt&&(1>w.strength||w.strength>3))throw Error(La);if(!U&&!k)throw Error(Wa)}const st=z+R+I+v;if(st+g>l.size)throw Error(Ha);const ot=g,it=Ue(l.createReadable({offset:st,size:ot})),ct=et(Rs(i,o,P)),lt=Rs(i,o,"checkPasswordOnly");let ut=Rs(i,o,"checkOverlappingEntry");const dt=Rs(i,o,"checkOverlappingEntryOnly");dt&&(ut=!0);const{onstart:wt,onprogress:ht,onend:pt}=o,mt=0!=p&&!T,yt=T?g:S,bt=9==p;let Et=Rs(i,o,W);bt&&(Et=!1);const St=Rs(i,o,"checkCrc32"),gt=(St===O?Rs(i,o,"checkSignature"):St)&&!T&&(!tt||nt||w&&1==w.vendorVersion),xt={options:{codecType:cr,password:U,rawPassword:k,zipCrypto:nt,encryptionStrength:w&&w.strength,checkCrc32:gt,checkAuthenticationCode:Rs(i,o,"checkAuthenticationCode"),passwordVerification:nt&&(x?E>>>8&r:b>>>24&r),outputSize:yt,crc32:b,compressed:mt,encrypted:tt,useWebWorkers:Rs(i,o,_),useCompressionStream:Et,transferStreams:Rs(i,o,L),deflate64:bt,format:at?at.format:O,codecURI:at?at.codecURI:O,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:lt},config:c,ft:{signal:ct,size:ot,onstart:wt,onprogress:ht,onend:pt}};let zt,Rt;ut&&await(async({reader:t,Qt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,$t:c,dataDescriptor:l,extraFieldZip64:u,Yt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await Gn(t,c+o,f+4),n=At(r);let l=r.length==f+4&&Ts(n,0)==s;if(l){const t=ws(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==a)&&t.compressedSize==o&&t.uncompressedSize==i?f+=4:l=!1}if(r.length>=f){const t=ws(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,Qt:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Za);throw t.overlappingEntry=e.Qt,t}d.set(r,w)})({reader:l,Qt:e,index:u,offset:z,crc32:b,compressedSize:g,uncompressedSize:S,$t:st,dataDescriptor:x||A.bitFlag.dataDescriptor,extraFieldZip64:h||A.extraFieldZip64,Yt:a});try{if(!dt){lt&&(t=new WritableStream),t=new Hn(t),await Kn(t,((t,e,r)=>Math.min(t,r?1032*e:e))(yt,g,mt)),({writable:zt}=t);const{outputSize:e}=await Lr({readable:it,writable:zt},xt);if(t.size+=e,e!=yt)throw Error(Ve)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!lt||e.message!=Zt)throw Rt=e,e}finally{if((qn(t)||!Rs(i,o,B))&&zt&&!zt.locked){const t=zt.getWriter();if(Rt)try{await t.abort(Rt)}catch{}else await t.close()}}return lt||dt?O:t.getData?t.getData():zt}};function os(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Ts(t,r))return!0;return!1}function is(t,e,r){const n=t.rawBitFlag=ks(e,r+2),a=!(1&~n),s=Ts(e,r+6);Object.assign(t,{encrypted:a,version:ks(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&E)==E},rawLastModDate:s,lastModDate:Ds(s),filenameLength:ks(e,r+22),extraFieldLength:ks(e,r+24)})}function cs(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=At(s);let c=0;try{for(;c<s.length;){const t=ks(i,c),e=ks(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=ks(r,n+4);Object.assign(e,{signature:Ts(r,n+10),crc32:Ts(r,n+10),compressedSize:Ts(r,n+14),uncompressedSize:Ts(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=At(t.data),n=es.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+rs[e].bytes,0);if(t.data.length<a)throw Error(_a);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=rs[i];e[o]=t[o]=c.Kt(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(ls(d,Jn,Qn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(ls(f,$n,ta,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=At(t.data),a=Us(n,4);Object.assign(t,{vendorVersion:Us(n,0),vendorId:Us(n,2),strength:a,originalCompressionMethod:r,compressionMethod:ks(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=O)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const E=o.get(13);E&&(us(E,e),e.extraFieldPkwareUnix=E);const S=o.get(22613);S&&(us(S,e),e.extraFieldUnixType1=S);const g=o.get(10);g&&(((t,e)=>{const r=At(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=ks(r,a),s=ks(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=At(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Os(a),lastAccessDate:Os(s),creationDate:Os(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);let A;if(x&&(A=ds(x,e,!1),e.extraFieldUnix=x),!A){const t=o.get(y);t&&(ds(t,e,!0),e.extraFieldInfoZip=t)}const z=o.get(p);z&&(((t,e,r)=>{if(!t.data.length)return;const n=At(t.data),a=Us(n,0),s=[],o=[];r?(1&~a||(s.push(sa),o.push(oa)),2&~a||(s.push(ia),o.push(ca)),4&~a||(s.push(la),o.push(ua))):5>t.data.length||(s.push(sa),o.push(oa));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Ts(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(z,e,a),e.extraFieldExtendedTimestamp=z);const R=o.get(m);R&&(e.extraFieldUSDZ=R)}function ls(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=At(t.data),o=new It;o.append(a[r]);const i=At(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Ts(s,1);Object.assign(t,{version:Us(s,0),[e]:Yr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Ts(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function us(t,e){if(8>t.data.length)return;const r=At(t.data),n={lastAccessDate:new Date(1e3*(0|Ts(r,0))),lastModDate:new Date(1e3*(0|Ts(r,4)))};12>t.data.length||(n.uid=ks(r,8),n.gid=ks(r,10)),Object.assign(t,n),Object.assign(e,n)}function ds(t,e,r){try{const n=At(t.data);let a,s;if(r){let e=0;const r=Us(n,e++),o=Us(n,e++);a=fs(t.data.subarray(e,e+o)),e+=o;const i=Us(n,e++);s=fs(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=ks(n,0),s=ks(n,2),Object.assign(t,{uid:a,gid:s}));return a!==O&&(e.uid=a),s!==O&&(e.gid=s),a!==O||s!==O}catch{}}function fs(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ws(t,e,r){const n=Ts(t,e);let a,s;return r?(a=vs(t,e+4),s=vs(t,e+12)):(a=Ts(t,e+4),s=Ts(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function hs(t,e){return t.qt?t.qt(e):0}async function ps(t){return Ts(At(await Gn(t,0,4)))}function ms(t){return t===Y||t===G||t===X}function ys(t,e){return bs(t,bs(e,G))}function bs(t,e){const r=t.strictness;if(r!==O){if(!ms(r))throw Error(Ga);return r}const n=t.checkAmbiguity;return n===O?e:n?Y:e==X?X:G}function Es(t,e){if(e==X)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Qa.test(t))||e==Y&&(r.includes(".")||r.includes(""))}async function*Ss(t,e){const r=t.size-e,n=await Gn(t,r,e),a=At(n);for(let t=n.length-d;t>=0;t--)Ts(a,t)==c&&(yield[a,r,n,t,r+t])}function gs(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function xs(r,n,a,s,o,c,l){const d=ks(n,s+10),w=Ts(n,s+12),h=Ts(n,s+16);if(d==e||w==t||h==t)return await As(r,n,a,o-f,c,l)==u?2:0;if(!d&&!w)return 1;const p=ks(n,s+6);for(const t of[o-w,hs(r,p)+h])if(await As(r,n,a,t,c,l)==i)return 2;return 0}async function As(t,e,r,n,a,s){return 0>n||n+4>a?O:r>n?s.count>0?(s.count--,Ts(At(await Gn(t,n,4)),0)):O:Ts(e,n-r)}function zs(t){const e=Error(qa);throw e.reason=t,e}function Rs(t,e,r){return e[r]===O?t.options[r]:e[r]}function Fs(t,e,r){return tt(Rs(t,e,r))}function Ds(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Os(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Us(t,e){return t.getUint8(e)}function ks(t,e){return t.getUint16(e,!0)}function Ts(t,e){return t.getUint32(e,!0)}function vs(t,e){return Number(t.getBigUint64(e,!0))}var Is=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:qa,ERR_BAD_FORMAT:Ca,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ja,ERR_ENCRYPTED:Wa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ka,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ha,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Na,ERR_EOCDR_NOT_FOUND:Ma,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:_a,ERR_INVALID_AUTHENTICATION_CODE:Vt,ERR_INVALID_COMPRESSED_DATA:Ze,ERR_INVALID_CRC32:He,ERR_INVALID_FILENAME_VALIDATION:Xa,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ja,ERR_INVALID_PASSWORD:Lt,ERR_INVALID_SIGNATURE:Bt,ERR_INVALID_STRICTNESS:Ga,ERR_INVALID_UNCOMPRESSED_SIZE:Ve,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Pa,ERR_OVERLAPPING_ENTRY:Za,ERR_SPLIT_ZIP_FILE:Va,ERR_UNSAFE_FILENAME:Ya,ERR_UNSUPPORTED_COMPRESSION:Ba,ERR_UNSUPPORTED_ENCRYPTION:La,ERR_WORKER_STARTUP_TIMEOUT:dr,ZipReader:ns,ZipReaderStream:as});const Cs="File already exists",Ms="Zip file comment exceeds 64KB",Ns="Invalid zip file comment (must be a Uint8Array)",js="File entry comment exceeds 64KB",Ps="Invalid file entry comment (must be a string)",_s="Invalid date (must be a valid Date instance)",Ws="File entry name exceeds 64KB",Ls="Version exceeds 65535",Bs="The strength must equal 1, 2, or 3",Vs="Encryption is not supported in USDZ files",Zs="Encryption is not supported when the 'passThrough' option is set",Hs="Invalid extra field (must be a Map)",qs="Invalid extra field type (must be integer 0..65535)",Ks="Invalid extra field data (must be a Uint8Array)",Ys="Extra field data exceeds 64KB",Gs=-2147483648,Xs=2147483647,Js=BigInt(0),Qs=BigInt("0x7fffffffffffffff"),$s="Zip64 is not supported (set the 'zip64' option to 'true')",to="Undefined uncompressed size",eo="Undetermined size",ro="Undefined reader",no="Zip file not empty",ao="Invalid uid (must be integer 0..2^32-1)",so="Invalid gid (must be integer 0..2^32-1)",oo="Invalid UNIX mode (must be integer 0..65535)",io="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",co="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",lo="Invalid msdosAttributesRaw (must be integer 0..255)",uo="Invalid msdosAttributes (must be an object with boolean flags)",fo="Invalid level (must be integer 0..9)",wo="Signature data exceeds 64KB",ho=new Uint8Array([7,0,2,0,65,69,3,0,0]),po="infozip",mo="unix";let yo=0;const bo=[];class Eo{constructor(t,e={}){t=new Hn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,te:r>0&&r!==U&&n>0&&n!==U,options:e,ee:new Map,re:new Set,offset:e[V]===O?t.size||t.writable.size||0:e[V],ne:e[V]===O?0:e[V]-(t.size||t.writable.size||0),ae:new Set,se:0,oe:O})}async prependZip(e){if(this.re.size)throw Error(no);e=new Zn(e),await Kn(e),e.size!==O&&e.readUint8Array||(e=new mn(await ke(e.readable)),await Kn(e));const{ZipReader:r}=await Promise.resolve().then(()=>Is),n=new r(e),s=await n.getEntries();await n.close(),await Kn(this.writer);const{directoryOffset:o}=n;let i=0;this.te&&(delete this.te,await(async t=>At(await Gn(t,0,4)).getUint32(0,!0)==a)(e)||(await Wo(this.writer,_o()),i=4,this.offset+=i));const c=await(async(t,e,r,n,a)=>{const{writer:s}=t,o=new Map;if(s.closeDisk){const a=Array.from(r).sort((t,r)=>Po(e,t)-Po(e,r));let i=0;for(const r of a){const n=Po(e,r);await No(t,e,i,n-i),Co(s,await jo(e,n))&&await s.closeDisk(),o.set(r,{offset:Mo(t,s),diskNumberStart:vo(s)}),i=n}await No(t,e,i,n-i)}else await No(t,e,0,n),r.forEach(t=>o.set(t,{offset:a+Po(e,t),diskNumberStart:0}));return o})(this,e,s,o,i);this.re=new Set(s.map(t=>t.filename)),this.ee=new Map(s.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:l,uncompressedSize:u,compressedSize:d,zip64:f}=e;let{compressionMethod:w,ie:h,ce:p,le:m,ue:y,de:b,rawExtraField:E}=e;const{level:S,languageEncodingFlag:g,dataDescriptor:x}=i;h=h||C,p=p||C,m=m||C,y=y||C,b=b||C,E=E||C,e.extraFieldAES&&(w=99);const A=ai(h,p,m,y,b,E),z=f&&u>=t,R=f&&d>=t,F=-7&oi(S,g,x,l,w)|S<<1,{fe:D,we:U}=si({version:r,bitFlag:F,compressionMethod:w,uncompressedSize:u,compressedSize:d,rawLastModDate:n,rawFilename:o,he:R,pe:z,extraFieldLength:A}),{crc32:k}=e;k!==O&&ei(U,10,k);const{offset:T,diskNumberStart:v}=c.get(e);return Object.assign(e,{pe:z,he:R,offset:T,diskNumberStart:v,me:!1,ie:h,ce:p,le:m,ue:y,de:b,rawExtraField:E,extendedTimestamp:m.length>0||y.length>0,ye:1+(a?2:0)+(s?4:0),fe:D,we:U}),[e.filename,e]}))}async add(e="",n,a={}){const s=this;a=Object.assign({},a);const{ae:o}=s;let i,c;yo<ft().maxWorkers?yo++:await new Promise(t=>bo.push(t));try{if(e=e.trim(),Ho(s,a,Aa)&&!e.endsWith(z)&&(e+=z),s.re.has(e))throw Error(Cs);return s.re.add(e),c=!0,i=(async(e,n,a,s)=>{const o=xo(e,n,s);({name:n}=o);const i=Ao(e,n,s),{comment:c}=i,l=s[Da];let u;e.ee.set(n,O);try{const{be:c}=i;0==c.level||c.compressionMethod!==O||c.passThrough||await mr(ft())||(c.level=0);const l=await(async(t,e,{be:r},n)=>{if(r.passThrough&&!e&&!Ho(t,n,Aa))throw Error(ro);let a;return e&&(e=new Zn(e),await Kn(e),({size:a}=e)),Object.assign({reader:e},Ro(t,!!e,a,r,n))})(e,a,i,s);({reader:a}=l);const d=Io(e.writer),f=vo(e.writer),w=Fo(s=Object.assign({},s,o.be,i.be,l.be,{signature:s[Fa],crc32:s.crc32===O?s[Fa]:s.crc32,offset:e.offset-d,diskNumberStart:f})),h=Uo(s),p=ai(w.Ee,h.Se);u=await(async(e,n,a,s,o)=>{const{ee:i,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:d}=o,{ge:f}=s,w=e.options[Z],h=e.oe;let p,m,y,b,E,S,g,x={},A=0;i.set(n,x),e.oe=x;try{let m;l&&(m=h&&h.xe,x.xe=new Promise(t=>y=t)),o.bufferedWrite||!l||e.Ae||e.se||!u?(p=!0,e.se++,g=o.createTempStream?await o.createTempStream():new TransformStream(O,O,{highWaterMark:U}),g.size=0,await Kn(c)):(g=c,await z()),await Kn(g);const D=Io(c);e.te&&(delete e.te,await Wo(c,_o()),e.offset+=4),w&&!p&&Do(s,e.offset-D);const{Ee:k}=f;p||(await m,await F());const T=vo(c),v=Mo(e,c);if(x.diskNumberStart=T,p||(E=!0,S=c.size,await Wo(g,k)),x=await(async(e,n,{diskNumberStart:a,xe:s},o,i,c)=>{const{ge:l,ze:u,Re:d}=o,{fe:f,we:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:E,ie:S,Fe:g,le:x,ye:A,ue:z,de:R,ce:F}=l,{Se:D}=u,{rawFilename:U,lastAccessDate:k,creationDate:T,password:v,rawPassword:I,level:C,zip64:M,pe:N,he:j,zipCrypto:P,dataDescriptor:_,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={xe:s,versionMadeBy:B,zip64:M,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,ie:S,Fe:g,le:x,ue:z,de:R,ce:F,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,symlink:!!st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt};let{crc32:yt,uncompressedSize:bt}=c,Et=0;wt||(bt=0);const{writable:St}=n;if(e){const a=Ue(Xn(e)),s=e.size,o={options:{codecType:ir,level:C,rawPassword:I,password:v,encryptionStrength:J,zipCrypto:m&&P,passwordVerification:m&&P&&p>>8&r,computeCrc32:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:E},config:i,ft:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Lr({readable:a,writable:St},o);if(Et=e.outputSize,n.size+=Et,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!j&&Et>=t||!N&&bt>=t)throw Error($s)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,ge:n,ze:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{we:l,encrypted:u}=n,{De:d,Oe:f}=a;u&&!o&&!i||t===O||(ei(l,10,t),c&&ei(d,f,t)),s?c&&(ri(d,f+4,BigInt(e)),ri(d,f+12,BigInt(r))):(ei(l,14,e),ei(l,18,r),c&&(ei(d,f+4,e),ei(d,f+8,r)))})({crc32:yt,compressedSize:Et,uncompressedSize:bt,ge:l,ze:u},c),_&&await Wo(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:Et,lastModDate:h,rawLastModDate:p,creationDate:T,lastAccessDate:k,encrypted:!!m,zipCrypto:!!P,size:d+Et,compressionMethod:E,version:b,fe:f,we:w,signature:yt,crc32:!m||P||wt?yt:O,ye:A,pe:N,he:j}),mt})(a,g,x,s,ft(),o),p||(E=!1),i.set(n,x),x.filename=n,p){if(await Promise.all([g.writable.getWriter().close(),m]),await z(),b=!0,S=c.size,await F(),x.diskNumberStart=vo(c),x.offset=Mo(e,c),w){const t=s.Re;Do(s,e.offset-Io(c)),x.size+=s.Re-t}(({rawFilename:t,encrypted:e,zip64:r,Fe:n,crc32:a,compressedSize:s,uncompressedSize:o,pe:i,he:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&ei(l,14,a),c||ei(l,18,s),i||ei(l,22,o)),r&&n){const e=R+ai(t)+4;ri(l,e,BigInt(o)),ri(l,e+8,BigInt(s))}})(x,f.Ue,o),await Wo(c,f.Ee),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=ai(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(g.readable,c,d),c.size+=g.size,b=!1}else x.diskNumberStart=T,x.offset=v;return e.offset+=x.size,x}catch(t){if(b||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-S,p&&(e.offset+=A)}throw i.delete(n),t}finally{if(p&&e.se--,y&&y(),m&&m(),p&&g&&g.dispose)try{await g.dispose()}catch{}}async function z(){e.Ae=!0;const{ke:t}=e;e.ke=new Promise(t=>m=()=>{e.Ae=!1,t()}),await t}async function F(){Co(c,ai(f.Ee))&&await c.closeDisk()}})(e,n,a,{ge:w,ze:h,Re:p},s)}catch(t){throw e.ee.delete(n),t}return Object.assign(u,{name:n,comment:c,extraField:l,[wa]:u.internalFileAttributes,[ha]:u.externalFileAttributes}),new Ia(u)})(s,e,n,a),o.add(i),await i}catch(t){throw c&&s.re.delete(e),t}finally{o.delete(i);const t=bo.shift();t?t():yo--}}remove(t){const{re:e,ee:r}=this;if(typeof t==I&&(t=r.get(t)),t&&t.filename!==O){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=C,n={}){const{ae:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(Ns);if(ai(r)>e)throw Error(Ms);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=ko(r.ee),{Te:f,ve:w}=await(async(r,n,a)=>{const{ee:s,writer:o}=r,c=new Uint8Array(n);await Kn(o);let l=0,u=0,d=vo(o),f=Io(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,ie:p,ce:m,le:y,ue:b,de:E,rawExtraField:S,rawComment:g,versionMadeBy:x,fe:A,we:z,pe:R,he:F,me:D,Ie:O,internalFileAttributes:U,externalFileAttributes:k,diskNumberStart:T,uncompressedSize:v,compressedSize:I}=n,C=ai(p,m,y,b,E,S),M=46+ai(h,g)+C;Co(o,l+M-u)&&(await Wo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=vo(o),f=Io(o)),R||ei(z,18,v),F||ei(z,14,I),(O||D)&&45>n.version&&ti(z,0,45);const N=To(M);if(N.Ce(i),N.Me(x),N.Ne(A.subarray(0,24)),N.Me(C),N.Me(ai(g)),N.Me(D?e:T),N.Me(U),N.Ce(k),N.Ce(O?t:w),N.Ne(h),N.Ne(p),N.Ne(m),N.Ne(y),N.Ne(b),N.Ne(E),N.Ne(S),N.Ne(g),ni(c,N.Lt,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new Ia(n))}catch{}}return await Wo(o,u?c.slice(u):c),{Te:{diskNumber:d,diskOffset:f},ve:c}})(r,s,a),h=await(async(t,r,n)=>{const a=Ko(t,n,H);if(a){const n=await a(r),s=ai(n);if(s>e)throw Error(wo);const i=To(6+s);return i.Ce(o),i.Me(s),i.Ne(n),await Wo(t.writer,i.Lt),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Te:i,je:f}=s;let{Pe:w}=s,h=r.ee.size,p=i.diskNumber,m=Mo(r,i),y=vo(o);Co(o,d)&&y++;let b=Ho(r,a,ba);if(!(t>m&&t>w&&e>h&&e>y)){if(!1===b)throw Error($s);b=!0}const E=ai(n);if(E>e)throw Error(Ms);const S=To(b?98:d);Co(o,ai(S.Lt)+E)&&await o.closeDisk(),y=vo(o),b&&(S.Ce(l),S._e(44),S.Me(45),S.Me(45),S.Ce(y),S.Ce(p),S._e(h),S._e(h),S._e(w),S._e(m),S.Ce(u),S.Ce(y),S._e(BigInt(Mo(r,o))+BigInt(w)+BigInt(f)),S.Ce(y+1),Ho(r,a,"supportZip64SplitFile",!0)&&(y=e,p=e),h=e,m=t,w=t),S.Ce(c),S.Me(y),S.Me(p),S.Me(h),S.Me(h),S.Ce(w),S.Ce(m),S.Me(E),await Wo(o,S.Lt),E&&await Wo(o,n)})(r,n,a,{Te:f,Pe:s,je:h})})(this,r,n),!qn(s)&&Ho(this,n,B)||await f.getWriter().close(),s.getData?s.getData():f}}class So{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Eo(r,t),this.ae=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return go(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return go(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.ae)),this.zipWriter.close(t,e)}}function go(t,e,r){t.ae.add(e),e.catch(t=>{try{r(t)}catch{}})}function xo(n,a,s){a=a.trim();let o=Ho(n,s,ya),i=Ho(n,s,ga,o?20:768);const c=Ho(n,s,za),l=Xo(n,s,"uid"),u=Xo(n,s,"gid");let d=Xo(n,s,Oa),f=Ho(n,s,"unixExtraFieldType"),w=Ho(n,s,Ua),h=Ho(n,s,ka),p=Ho(n,s,Ta);if(l!==O&&(!Number.isInteger(l)||0>l||l>t))throw Error(ao);if(u!==O&&(!Number.isInteger(u)||0>u||u>t))throw Error(so);if(d!==O&&(!Number.isInteger(d)||0>d||d>e))throw Error(oo);if(f!==O&&f!==po&&f!==mo)throw Error(io);if(f===mo&&(l!==O&&l>e||u!==O&&u>e))throw Error(co);f!==O||l===O&&u===O||(f=po);let m=Xo(n,s,pa),y=Ho(n,s,ma);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f||c?(o=!1,i=i&r|768):b&&(o=!0,i&=r),m!==O&&(!Number.isInteger(m)||0>m||m>r))throw Error(lo);if(y&&(typeof y!==v||Array.isArray(y)))throw Error(uo);if(i>e)throw Error(Ls);let E=Yo(n,s,fa,ha);const R=E!==O;R||(E=0),!s[Aa]&&a.endsWith(z)&&(s[Aa]=!0);const F=Ho(n,s,Aa);if(F?(a.endsWith(z)||(a+=z),R||(E=16,o||(E|=16877<<16))):o||R||(E=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);d=d===O?E>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=A:h=!!(d&A),p?d|=512:p=!!(512&d),R&&!t||(F?d=-61441&d|g:d&S||(d|=32768),E=(d&e)<<16|E&e)}return({msdosAttributesRaw:m,msdosAttributes:y}=((t,e)=>{if(t!==O)t&=r;else if(e!==O){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===O&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(m,y)),b&&(E=E&t|m&r),{name:a,be:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:E,unixExternalUpper:E>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&S),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function Ao(t,r,n){const a=Ko(t,n,"encodeText")||Mt;let s=a(r,q);if(s===O&&(s=Mt(r)),ai(s)>e)throw Error(Ws);const o=n[$n]||"";if(typeof o!=I)throw Error(Ps);let i=a(o,K);if(i===O&&(i=Mt(o)),ai(i)>e)throw Error(js);const c=Ho(t,n,Sa,20);if(c>e)throw Error(Ls);const l=qo(t,n,sa,new Date),u=qo(t,n,ia),d=qo(t,n,la),f=Yo(t,n,da,wa,0),w=Ho(t,n,j),h=Ho(t,n,M),p=Ho(t,n,N);rt(h,p);const m=Xo(t,n,"encryptionStrength",3),y=Ho(t,n,xa),b=Ho(t,n,"extendedTimestamp",!0),E=Ho(t,n,"ntfsTimestamp"),S=Ho(t,n,"keepOrder",!0),g=Ho(t,n,_),x=Ho(t,n,L),A=Ho(t,n,"bufferedWrite"),z=Ko(t,n,"createTempStream"),R=Ho(t,n,"dataDescriptorSignature",!0),F=et(Ho(t,n,P)),D=Ho(t,n,"useUnicodeFileNames",!0),U=Ho(t,n,Ra),k=w||U===O?O:We(U);if(!w&&U!==O&&0!==U&&8!==U&&!k)throw Error("Compression method not supported");let T=Xo(t,n,"level");if(T!==O&&(!Number.isInteger(T)||0>T||T>9))throw Error(fo);if(t.options[Z]){if(h!==O||p!==O)throw Error(Vs);T===O&&U===O&&(T=0)}let v=Ho(t,n,W),C=Ho(t,n,"dataDescriptor");A&&C===O&&(C=!1),(C===O||y)&&(C=!0),T!==O&&6!=T&&(v=!1);const B=Ho(t,n,ba);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&3>=m))throw Error(Bs);const V=zo(n[Da]),H=zo(n.localExtraField);return{comment:o,be:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:u,creationDate:d,internalFileAttributes:f,passThrough:w,password:h,rawPassword:p,encryptionStrength:m,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:E,keepOrder:S,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:z,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:k?k.format:O,codecURI:k?k.codecURI:O,We:k?k.versionNeeded:O,level:T,useCompressionStream:v,dataDescriptor:C,zip64:B,rawExtraField:V,Le:H}}}function zo(t){if(!t)return C;if(!(t instanceof Map))throw Error(Hs);let r=0,n=0;t.forEach((t,n)=>{if(!Number.isInteger(n)||0>n||n>e)throw Error(qs);if(!(t instanceof Uint8Array))throw Error(Ks);if(ai(t)>e)throw Error(Ys);r+=4+ai(t)});const a=new Uint8Array(r),s=At(a);return t.forEach((t,e)=>{ti(s,n,e),ti(s,n+2,ai(t)),ni(a,t,n+4),n+=4+ai(t)}),a}function Ro(e,r,n,a,s){const{passThrough:o,zipCrypto:i,password:c,rawPassword:l,encryptionStrength:u}=a;let{dataDescriptor:d,zip64:f,level:w,compressionMethod:h}=a,p=0,m=0;if(o&&r&&(m=s[ea],m===O))throw Error(to);const y=!0===f,b=Ho(e,s,Ea);if(r&&o&&!b&&ai(c,l))throw Error(Zs);const E=r&&(!!(c&&ai(c)||l&&ai(l))||o&&b);r||(w=0,h=0);const S=E?i?12:16+4*u:0;r&&(o?(s.uncompressedSize=m,p=n===O?Jo(m)+S:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(Qo(h,w)?Jo(m):m)+S));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error($s);f=!0}return f=f||!1,{Be:p,be:{dataDescriptor:d,zip64:f,pe:g,he:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:E}}}function Fo(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Le:m,encryptionStrength:E,extendedTimestamp:S,ntfsTimestamp:g,passThrough:x,encrypted:A,pe:z,he:U,uncompressedSize:k,crc32:T}=t;let{version:v,compressionMethod:I}=t;const M=!f&&Qo(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!z&&!U||j),_=P||c&&d&&(z||U);if(c&&(z||U)){const t=20,e=To(t);if(e.Me(1),e.Me(t-4),N=e.Lt,P&&(e._e(k),j)){const t=A?l?12:16+4*E:0;e._e(x?0:k+t)}}else N=C;let W,L,B,V,Z;if(A&&!l){const t=To(ai(ho)+2);t.Me(h),t.Ne(ho),W=t.Lt,W[8]=E}else W=C;if(S){const t=Bo(a),e=Vo(t);if(e){const e=9+(s?4:0)+(o?4:0),r=To(e);V=1+(s?2:0)+(o?4:0),r.Me(p),r.Me(e-4),r.Ve(V),r.Ce(t),s&&r.Ce(Zo(Bo(s))),o&&r.Ce(Zo(Bo(o))),B=r.Lt}else B=C;if(g===O?!e||s||o:g)try{const t=Lo(a),e=To(36);e.Me(10),e.Me(32),e.Ze(4),e.Me(1),e.Me(24),e._e(t),e._e(s?Lo(s):t),e._e(o?Lo(o):t),L=e.Lt}catch{L=C}else L=C}else L=B=C;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=po||r===O&&n===O)if(a!=mo||r===O&&n===O)Z=C;else{const t=To(8);t.Me(b),t.Me(4),t.Me((r===O?0:r)&e),t.Me((n===O?0:n)&e),Z=t.Lt}else{const t=Oo(r),e=Oo(n),a=3+t.length+e.length,s=To(4+a);s.Me(y),s.Me(a),s.Ve(1),s.Ve(t.length),s.Ne(t),s.Ve(e.length),s.Ne(e),Z=s.Lt}}catch{Z=C}I===O&&(I=M?8:0);const{We:H}=t;M&&H!==O&&(v=v>H?v:H),c&&(v=v>45?v:45),A&&!l&&(v=v>51?v:51,x&&T!==O&&(W[4]=1),W[9]=I,I=99);const q=_?ai(N):0,K=q+ai(W,B,L,Z,w,m);if(K>e)throw Error(Ys);const Y=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{fe:G,we:X,rawLastModDate:J}=si({version:v,bitFlag:oi(i,u,d,A,I),compressionMethod:I,uncompressedSize:k,lastModDate:D>Y?D:Y>F?F:Y,rawFilename:r,he:U,pe:z,extraFieldLength:K}),Q=To(R+ai(r)+K),$=Q.Lt,tt=At($);return Q.Ce(n),Q.Ne(G),Q.Ne(r),_&&Q.Ne(N),Q.Ne(W),Q.Ne(B),Q.Ne(L),Q.Ne(Z),Q.Ne(w),Q.Ne(m),d&&(U||ei(tt,18,0),z||ei(tt,22,0)),{Ee:$,Ue:tt,fe:G,we:X,lastModDate:a,rawLastModDate:J,encrypted:A,compressed:M,version:v,compressionMethod:I,ye:V,ie:C,Fe:q,le:B,ue:L,de:Z,ce:W,extraFieldLength:K}}function Do(t,e){const{ge:r}=t;let{Ee:n,extraFieldLength:a}=r,s=64-(e+ai(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=At(o);ti(i,0,m),ti(i,2,s-4);const c=n;r.Ee=n=new Uint8Array(ai(c)+s),ni(n,c),ni(n,o,ai(c));const l=At(n);ti(l,28,a+s),r.Ue=l,t.Re+=s}function Oo(t){if(t===O)return C;{const e=new Uint8Array(4);At(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Uo({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,a=C,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=At(a),r&&(o=4,ei(n,0,s))),{Se:a,De:n,Oe:o}}function ko(r){let n=0;for(const[,a]of r){const{rawFilename:r,ce:s,rawComment:o,ue:i,de:c,rawExtraField:l,extendedTimestamp:u,ye:d,lastModDate:f,pe:w,he:h,uncompressedSize:m,compressedSize:y}=a,b=a.offset>=t,E=a.diskNumberStart>=e;let S,g;if(b||E||w||h){const t=4+(w?8:0)+(h?8:0)+(b?8:0)+(E?4:0),e=To(t);e.Me(1),e.Me(t-4),w&&e._e(m),h&&e._e(y),b&&e._e(a.offset),E&&e.Ce(a.diskNumberStart),S=e.Lt}else S=C;a.ie=S,a.Ie=b,a.me=E;const x=Bo(f);if(u&&Vo(x)){const t=To(9);t.Me(p),t.Me(5),t.Ve(d),t.Ce(x),g=t.Lt}else g=C;a.le=g;const A=ai(S,s,i,c,g,l);if(A>e)throw Error(Ys);n+=46+ai(r,o)+A}return n}function To(t){const e=new Uint8Array(t),r=At(e);let n=0;return{Lt:e,Ve:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},Me:t=>{ti(r,n,t),n+=2},Ce:t=>{ei(r,n,t),n+=4},_e:t=>{ri(r,n,BigInt(t)),n+=8},Ne:t=>{ni(e,t,n),n+=ai(t)},Ze:t=>n+=t}}function vo(t){const{diskNumber:e=0}=t;return e}function Io(t){const{diskOffset:e=0}=t;return e}function Co(t,e){const{availableSize:r=U}=t;return e>r}function Mo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ne:0)}async function No(t,e,r,n){if(n>0){const{writer:a}=t;await Xn(e,{offset:r,size:n}).pipeTo(a.writable,{preventClose:!0,preventAbort:!0}),a.size+=n,t.offset+=n}}async function jo(t,e){const r=await Gn(t,e,R);if(ai(r)<R)return R;const n=At(r);return R+$o(n,26)+$o(n,28)}function Po(t,{offset:e,diskNumberStart:r}){return e+(t.qt?t.qt(r):0)}function _o(){const t=new Uint8Array(4);return ei(At(t),0,a),t}async function Wo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=ai(e),await n.write(e)}finally{n.releaseLock()}}function Lo(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return Js>e?Js:e>Qs?Qs:e}}function Bo(t){return Math.floor(t.getTime()/1e3)}function Vo(t){return t>=Gs&&Xs>=t}function Zo(t){return Math.min(Xs,Math.max(Gs,t))}function Ho(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function qo(t,e,r,n){const a=Ho(t,e,r,n);if(null===a)return n;if(a!==O&&(typeof a.getTime!=T||Number.isNaN(a.getTime())))throw Error(_s);return a}function Ko(t,e,r){return tt(Ho(t,e,r))}function Yo(t,e,r,n,a){const s=Go(e,r,n),o=s===O?Go(t.options,r,n):s;return o===O?a:o}function Go(t,e,r){return t[e]===O?t[r]:t[e]}function Xo(t,e,r,n){return nt(Ho(t,e,r,n))}function Jo(t){return t+5*(Math.floor(t/16383)+1)}function Qo(t,e){return t===O?e===O||e>0:0!==t}function $o(t,e){return t.getUint16(e,!0)}function ti(t,e,r){t.setUint16(e,r,!0)}function ei(t,e,r){t.setUint32(e,r,!0)}function ri(t,e,r){t.setBigUint64(e,r,!0)}function ni(t,e,r){t.set(e,r)}function ai(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function si({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,he:l,pe:u,extraFieldLength:d}){const f=To(26),w=f.Lt,h=At(w);if(f.Me(e),f.Me(r),f.Me(n),i===O){const t=new Uint32Array(1),e=At(t);ti(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),ti(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.Ce(i),f.Ze(4),l||s!==O?f.Ce(l?t:s):f.Ze(4),u||a!==O?f.Ce(u?t:a):f.Ze(4),f.Me(ai(c)),f.Me(d),{fe:w,we:h,rawLastModDate:i}}function oi(t,e,r,n,a){let s=0;return e&&(s|=E),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function ii(){return"application/octet-stream"}const ci=1048576,li=".zip.js-temp";function ui(t={}){const{thresholdBytes:e=ci,directoryName:r=li,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const di=1048576;function fi(t={}){const{thresholdBytes:e=di}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=ke(e.readable),r=e.writable.getWriter(),o=!0;for(const e of t)await r.write(e);t.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const wi=1048576,hi=".zip.js-temp",pi="createSyncAccessHandle is only available in dedicated workers";function mi(t={}){const{thresholdBytes:e=wi,directoryName:r=hi,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(pi);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{Et({baseURI:import.meta.url})}catch{}let yi,bi,Ei,Si,gi;function xi(t,e,r={}){if(!yi){const t=Error("WASM module not loaded");throw t.cause=gi,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.He=bi(a),this.in=bi(s),this.inBufferSize=s,!this.He||!this.in)throw Error("allocation failed");if(this.qe=new Uint8Array(a),t?(this.Ke=yi.deflate_process,this.Ye=yi.deflate_last_consumed,this.Ge=yi.deflate_end,this.Xe=yi.deflate_new(),r="gzip"===e?yi.deflate_init_gzip(this.Xe,n):"deflate-raw"===e?yi.deflate_init_raw(this.Xe,n):yi.deflate_init(this.Xe,n)):"deflate64-raw"===e?(this.Ke=yi.inflate9_process,this.Ye=yi.inflate9_last_consumed,this.Ge=yi.inflate9_end,this.Xe=yi.inflate9_new(),r=yi.inflate9_init_raw(this.Xe)):(this.Ke=yi.inflate_process,this.Ye=yi.inflate_last_consumed,this.Ge=yi.inflate_end,this.Xe=yi.inflate_new(),r="deflate-raw"===e?yi.inflate_init_raw(this.Xe):"gzip"===e?yi.inflate_init_gzip(this.Xe):yi.inflate_init(this.Xe)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Si.buffer),o=this.Ke,i=this.Ye,c=this.He,l=this.qe;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Ei&&(Ei(this.in),this.in=0),this.in=bi(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Xe,this.in,e,c,a,0),f=16777215&d;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=d>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Xe);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Si.buffer),n=this.Ke,s=this.He,o=this.qe;for(;;){const i=n(this.Xe,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Xe&&t.Ge&&(e=t.Ge(t.Xe)),t.Xe=0,t.in&&Ei&&Ei(t.in),t.in=0,t.He&&Ei&&Ei(t.He),t.He=0,e}}class Ai{constructor(t="deflate",e){return xi(!0,t,e)}}class zi{constructor(t="deflate",e){return xi(!1,t,e)}}Ai.ut=!0,zi.ut=!0;let Ri,Fi=!1;function Di(){Ri=null,(async()=>{await Promise.allSettled(Nr.map(t=>(qr(t),t.terminate()))),fr=O,wr=!1})(),Fi=!1,yi=bi=Ei=Si=gi=null}(({Je:t})=>{pr=t})({Je:t=>{if(!Ri){let{wasmURI:e}=t;typeof e==T&&(e=e()),Ri=(async(t,{baseURI:e})=>{if(!Fi)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(yi=t,({malloc:bi,free:Ei,memory:Si}=yi),"function"!=typeof bi||"function"!=typeof Ei||!Si)throw yi=bi=Ei=Si=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Fi=!0}catch(t){throw(t=>{gi=t})(t),t}})(e,t).catch(t=>{throw Ri=null,t})}return Ri}}),Et({CompressionStreamFallback:Ai,DecompressionStreamFallback:zi}),Et({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Oi="Entry filename already exists",Ui="Readable stream already consumed",ki="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",Ti="Invalid readerOptions (must be an object)",vi="zipjs-abort-export",Ii="The operation was aborted",Ci=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class Mi{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(Oi);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options&&Object.assign({},r.options),id:t.Qe++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,$e:r.$e||r.uncompressedSize===O,passThrough:r.passThrough,er:r.er||new Date}),!n&&t.root||(t.entries[a.id]=a),n&&a.parent.children.push(a)}getFullname(){return this.getRelativeName()}getRelativeName(t=this.fs.root){let e=this.name,r=this.parent;for(;r&&r!=t;)e=(r.name?r.name+"/":"")+e,r=r.parent;return e}isDescendantOf(t){let e=this.parent;for(;e&&e.id!=t.id;)e=e.parent;return!!e}rename(t){const e=this.parent;if(e&&e.getChildByName(t))throw Error(Oi);this.name=t}setOptions(t){const e=Object.assign({},this.options,t);this.options=Object.fromEntries(Object.entries(e).filter(([,t])=>t!==O))}}class Ni extends Mi{constructor(t,e,r,n){super(t,e,r,n);const a=this;a.Reader=r.Reader,a.Writer=r.Writer,r.getData&&(a.getData=r.getData)}clone(){return new Ni(this.fs,this.name,this)}async getData(t,e={}){const r=this;if(!t||t.constructor==r.Writer&&r.data&&((t,e)=>{const{contentType:r}=t;return r===O||(t.constructor==yn?e.type==r:t.constructor!=wn||e.startsWith(t.data))})(t,r.data))return r.data;{const n=r.reader=Hi(r.Reader,r.data,e),a=r.uncompressedSize||n.size;await Promise.all([Kn(n),Kn(t,a)]);const s=et(e.signal),o=((t,e,r,n)=>{const{onstart:a,onprogress:s,onend:o}=r,{readable:i}=e;return t.data instanceof Ia||!a&&!s&&!o?i:Ue(i).pipeThrough(new Er({onstart:a,onprogress:s,onend:o,size:e.size}),{signal:n})})(r,n,e,s),i=!qn(t)&&!!e.preventClose;return r.uncompressedSize=n.size,await Ue(o).pipeTo(Te(t.writable),{signal:s,preventClose:i,preventAbort:i}),t.getData?t.getData():t.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(t,e={}){const r=this;if(!r.isPasswordProtected())return!0;try{return await r.data.getData(null,Object.assign({},e,{password:t,checkPasswordOnly:!0})),!0}catch(t){if(t.message==Lt)return!1;throw t}}getText(t,e){return this.getData(new Sn(t),e)}getBlob(t,e){return this.getData(new yn(t),e)}getData64URI(t,e){return this.getData(new wn(t),e)}getUint8Array(t){return this.getData(new Ln,t)}getWritable(t=new WritableStream,e){return this.getData({writable:t},e)}async getArrayBuffer(t){return xt(await this.getUint8Array(t)).buffer}replaceBlob(t){Object.assign(this,{data:t,Reader:mn,Writer:yn,reader:null})}replaceText(t){Object.assign(this,{data:t,Reader:bn,Writer:Sn,reader:null})}replaceData64URI(t){Object.assign(this,{data:t,Reader:fn,Writer:wn,reader:null})}replaceUint8Array(t){Object.assign(this,{data:t,Reader:Wn,Writer:Ln,reader:null})}replaceReadable(t){Object.assign(this,{data:null,Reader:Vi(t),Writer:null,reader:null})}}class ji extends Mi{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new ji(e.fs,e.name,e);return t&&(r.children=e.children.map(e=>{const n=e.clone(t);return n.parent=r,n})),r}addDirectory(t,e){return nc(this,t,{options:e},!0)}addText(t,e,r={}){return nc(this,t,{data:e,Reader:bn,Writer:Sn,options:r,uncompressedSize:En(e)})}addBlob(t,e,r={}){return nc(this,t,{data:e,Reader:mn,Writer:yn,options:r,uncompressedSize:e.size})}addData64URI(t,e,r={}){let n=e.length;for(;"="==e.charAt(n-1);)n--;const a=e.indexOf(",")+1;return nc(this,t,{data:e,Reader:fn,Writer:wn,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return nc(this,t,{data:e,Reader:Wn,Writer:Ln,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return nc(this,t,{data:e,Reader:class extends Pn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return nc(this,t,{Reader:Vi(e),options:r})}addFileSystemEntry(t,e={}){return tc(this,t,e)}addFileSystemHandle(t,e={}){return tc(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),nc(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}importBlob(t,e){return this.importZip(new mn(t),e)}importData64URI(t,e){return this.importZip(new fn(t),e)}importUint8Array(t,e){return this.importZip(new Wn(t),e)}importHttpContent(t,e){return this.importZip(new Pn(t,e),e)}importReadable(t,e){return this.importZip({readable:t},e)}exportBlob(t={}){return this.exportZip(new yn(t.mimeType||"application/zip"),t)}exportData64URI(t={}){return this.exportZip(new wn(t.mimeType||"application/zip"),t)}exportUint8Array(t={}){return this.exportZip(new Ln,t)}async exportWritable(t=new WritableStream,e={}){return await this.exportZip({writable:t},e),t}exportFileSystemHandle(t,e={}){return(async(t,e,r)=>{const{onstart:n,onprogress:a,onend:s}=r,o=Ji(r.readerOptions),i=new AbortController,{signal:c}=i,l=((t,e)=>{if(!et(t))return()=>{};if(t.aborted)return e.abort(t.reason),()=>{};const r=()=>e.abort(t.reason);return t.addEventListener("abort",r,{once:!0}),()=>t.removeEventListener("abort",r)})(r.signal,i),u=Object.assign({},r,o,{signal:c,onstart:O,onprogress:O,onend:O,preventClose:!1}),d=Wi([t],t=>Bi(t,u.passThrough)),f=[];let w=!1,h=0;try{n&&await Sr(n,d),await m(t,e),s&&await Sr(s,h)}catch(t){try{t.exportedEntryNames=f}catch{}throw t}finally{l()}return e;function p(t){const e=t.getWriter();return new WritableStream({async write(t){await e.write(t),h+=t.length,a&&await Sr(a,h,d)},close:()=>e.close(),abort:t=>e.abort(t)})}async function m(t,e){if(r.concurrent){const r=(await Promise.allSettled(t.children.map(t=>y(t,e)))).filter(t=>"rejected"==t.status);if(r.length){const t=r.filter(t=>!Yi(t.reason));throw(t=>{const[e]=t,r=t.slice(1).flatMap(t=>[t,...t&&t.entryErrors||[]]).filter(t=>t!==e);if(r.length)try{e.entryErrors=[...e.entryErrors||[],...r]}catch{}return e})((t.length?t:r).map(t=>t.reason))}}else for(const r of t.children)await y(r,e)}async function y(e,r){if(c.aborted){if(w||Yi(c.reason))return;throw c.reason===O?new DOMException(Ii,"AbortError"):c.reason}try{if(e.directory){const t=await r.getDirectoryHandle(e.name,{create:!0});await m(e,t)}else{const n=await r.getFileHandle(e.name,{create:!0}),a=await n.createWritable();try{await e.getData({writable:p(a)},u)}catch(t){throw w?Error(vi):t}f.push(e.getRelativeName(t))}}catch(r){w=!0,i.abort(Error(vi));try{r.entryName===O&&(r.entryName=e.getRelativeName(t),r.entryId=e.id)}catch{}throw r}}})(this,t,e)}async importZip(t,e={}){let r;t&&typeof t.getEntries==T?(r=t,e=Object.assign({},r.options,e)):(await Kn(t),r=new ns(t,e));const n=[],a=await r.getEntries(e);for(const t of a){let r=this;try{const a=t.filename.split("/").filter(t=>""!=t&&"."!=t),s=a.pop();if(a.forEach(t=>{const e=r;if(r=r.getChildByName(t),r){if(!r.directory)throw Error(Oi)}else r=new ji(this.fs,t,{data:null},e),n.push(r)}),t.directory){let e=r;if(s)if(e=r.getChildByName(s),e){if(!e.directory)throw Error(Oi)}else e=new ji(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(nc(r,s,{data:t,Reader:Zi(Object.assign({},e)),uncompressedSize:e.passThrough?t.compressedSize:t.uncompressedSize,passThrough:e.passThrough}))}catch(e){try{e.cause={entry:t}}catch{}throw e}}return n}async exportZip(t,e={}){const r=this;(e=Object.assign({},e)).bufferedWrite===O&&(e.bufferedWrite=!0);const[n]=await Promise.all([qi(r,Ji(e.readerOptions)),Kn(t)]),a=new Eo(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=Wi(e.children,t=>$i(t)?0:1);let d=0,f=0;if(s&&await Sr(s,r),n.bufferedWrite)await async function t(e){const r=(await Promise.allSettled(e.children.map(async e=>{await w(e),await t(e)}))).find(t=>"rejected"==t.status);if(r)throw r.reason}(e);else for(const t of e.getChildren({recursive:!0}))await w(t);async function w(e){if($i(e))return;const{name:s,rr:i}=Gi(e,l,n);let w=0;const h=await t.add(s,a.get(e),Object.assign(i,{onstart:O,onend:O,onprogress:async t=>{d+=t-w,w=t,o&&await Sr(o,d,r)}}));f++,c&&await Sr(c,f,u,h)}i&&await Sr(i,d)})(a,r,Wi([r],Li),e,n),await a.close(e.globalComment),t.getData?t.getData():t.writable}getExportedSize(r={}){const n=this;Ji((r=Object.assign({},r)).readerOptions),r.bufferedWrite===O&&(r.bufferedWrite=!0);const a=!r.bufferedWrite||!1!==r.keepOrder&&n.children.every(t=>!t.children.length);return(async(r,n,a,s)=>{const o={options:r};if(tt(r[H]))throw Error(eo);if(s!==O&&!(s instanceof Uint8Array))throw Error(Ns);const i=ai(s);if(i>e)throw Error(Ms);const c=r[Z],l=new Map;let u=!!c,f=0;for(const e of n){let{name:r}=e;const{size:n}=e,a=Object.assign({},e.options);r=r.trim(),Ho(o,a,Aa)&&!r.endsWith(z)&&(r+=z);const s=xo(o,r,a);({name:r}=s);const{be:i}=Ao(o,r,a);0==i.level||i.compressionMethod!==O||i.passThrough||await mr(ft())||(i.level=0);const d=!Ho(o,a,Aa);if(d&&n===O)throw Error(eo);const{Be:w,be:h}=Ro(o,d,n,i,a);if(d&&!i.passThrough&&Qo(h.compressionMethod,h.level))throw Error(eo);const p=Object.assign({},a,s.be,i,h),m=Fo(p),y=Uo(p),b={ge:m,Re:ai(m.Ee,y.Se)};c&&Do(b,f);const E=d?w:0;t>f||(u=!0),l.set(r,Object.assign({},p,m,{offset:f,diskNumberStart:0,compressedSize:E})),f+=b.Re+E}if(u&&!a)throw Error(eo);const w=ko(l);let h=Ho(o,r,ba);if(f>=t||w>=t||l.size>=e){if(!1===h)throw Error($s);h=!0}return f+w+i+(h?98:d)})(r,n.getChildren({recursive:!0}).filter(t=>!$i(t)).map(t=>{const{name:e,rr:a}=Gi(t,n,r);return{name:e,size:t.directory?0:Xi(t,Qi(t,r)),options:a}}),a,r.globalComment)}getChildByName(t){const e=this.children;for(let r=0;r<e.length;r++){const n=e[r];if(n.name==t)return n}}getChildren(t={}){return((t,e)=>{const r=[],n=[t];let a=0;for(;a<n.length;)for(const t of n[a++].children)r.push(t),e&&n.push(t);return r})(this,t.recursive)}isPasswordProtected(){const t=this.children;for(let e=0;e<t.length;e++)if(t[e].isPasswordProtected())return!0;return!1}async checkPassword(t,e={}){const r=this.children;return!(await Promise.all(r.map(r=>r.checkPassword(t,e)))).includes(!1)}}class Pi{constructor(){rc(this)}get children(){return this.root.children}remove(t){Ki(t);const e=[t];for(;e.length;){const t=e.pop();this.entries[t.id]=null;for(const r of t.children)e.push(r)}t.parent=O}move(t,e){if(t==this.root)throw Error("Root directory cannot be moved");if(!e.directory)throw Error("Target entry is not a directory");if(e.isDescendantOf(t))throw Error("Entry is a ancestor of target entry");if(t!=e){const r=e.getChildByName(t.name);if(r){if(r!=t)throw Error(Oi)}else Ki(t),t.parent=e,e.children.push(t),((t,e)=>{const r=[e];for(;r.length;){const e=r.pop();t.entries[e.id]=e;for(const t of e.children)r.push(t)}})(this,t)}}find(t){const e=t.split("/");let r=this.root;for(let t=0;r&&t<e.length;t++)r=r.getChildByName(e[t]);return r||(r=this.entries.find(e=>e&&(e==this.root||e.isDescendantOf(this.root))&&e.getRelativeName()==t)),r}getById(t){return this.entries[t]}getChildByName(t){return this.root.getChildByName(t)}getChildren(t){return this.root.getChildren(t)}addDirectory(t,e){return this.root.addDirectory(t,e)}addText(t,e,r){return this.root.addText(t,e,r)}addBlob(t,e,r){return this.root.addBlob(t,e,r)}addData64URI(t,e,r){return this.root.addData64URI(t,e,r)}addUint8Array(t,e,r){return this.root.addUint8Array(t,e,r)}addHttpContent(t,e,r){return this.root.addHttpContent(t,e,r)}addReadable(t,e,r){return this.root.addReadable(t,e,r)}addFileSystemEntry(t,e){return this.root.addFileSystemEntry(t,e)}addFileSystemHandle(t,e){return this.root.addFileSystemHandle(t,e)}addFile(t,e){return this.root.addFile(t,e)}importBlob(t,e){return rc(this),this.root.importBlob(t,e)}importData64URI(t,e){return rc(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return rc(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return rc(this),this.root.importHttpContent(t,e)}importReadable(t,e){return rc(this),this.root.importReadable(t,e)}importZip(t,e){return rc(this),this.root.importZip(t,e)}exportBlob(t){return this.root.exportBlob(t)}exportData64URI(t){return this.root.exportData64URI(t)}exportUint8Array(t){return this.root.exportUint8Array(t)}exportWritable(t,e){return this.root.exportWritable(t,e)}exportFileSystemHandle(t,e){return this.root.exportFileSystemHandle(t,e)}exportZip(t,e){return this.root.exportZip(t,e)}getExportedSize(t){return this.root.getExportedSize(t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(t,e){return this.root.checkPassword(t,e)}}const _i={FS:Pi,ZipDirectoryEntry:ji,ZipFileEntry:Ni};function Wi(t,e){let r=0;const n=Array.from(t);for(;n.length;){const t=n.pop();r+=e(t)||0;for(const e of t.children)n.push(e)}return r}function Li(t){return t.uncompressedSize}function Bi(t,e){const{data:r}=t;return e&&r instanceof Ia?r.compressedSize:t.uncompressedSize}function Vi(t){let e;return()=>{if(e)throw Error(Ui);return e=!0,{readable:t}}}function Zi(t){return class extends un{constructor(t,e={}){super(),this.entry=t,this.options=e}async init(){const e=this,r=Object.assign({},t,e.options),{checkOverlappingEntry:n,checkOverlappingEntryOnly:a}=r,s=await e.entry.getData(new yn,Object.assign(r,{checkPasswordOnly:!1,checkOverlappingEntry:a||n,checkOverlappingEntryOnly:!1,preventClose:!1}));e.data=s,e.nr=new mn(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.nr.readUint8Array(t,e)}}}function Hi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function qi(t,e){const r=[],n=[t],a=new Map;for(;n.length;){const t=n.pop();for(const e of t.children)e.directory?n.push(e):r.push(e)}return await Promise.all(r.map(async t=>{const r=t.reader=Hi(t.Reader,t.data,e);a.set(t,r);try{await Kn(r)}catch(e){try{e.entryId=t.id,e.cause={entry:t}}catch{}throw e}r.size!==O&&(t.uncompressedSize=r.size,t.$e=!1)})),a}function Ki(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function Yi(t){return!!t&&t.message==vi}function Gi(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof Ia){const{externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,uncompressedSize:u,encrypted:d,zipCrypto:f,crc32:w,compressionMethod:h,extraFieldAES:p,internalFileAttributes:m,extraField:y,uid:b,gid:E}=t.data;s={externalFileAttributes:e,versionMadeBy:n,comment:a,lastModDate:i,creationDate:c,lastAccessDate:l,internalFileAttributes:m};const S=(t=>{if(t){const e=new Map;if(t.forEach((t,r)=>{Ci.has(r)||e.set(r,t.data)}),e.size)return e}})(y);if(S&&(s.extraField=S),b===O&&E===O||Object.assign(s,{uid:b,gid:E,unixExtraFieldType:"infozip"}),Qi(t,r)){let t,e;0===h&&(t=0),p&&(e=p.strength),o={passThrough:!0,encrypted:d,zipCrypto:f,crc32:w,uncompressedSize:u,level:t,encryptionStrength:e,compressionMethod:h}}}const i=Object.assign({lastModDate:t.er},s,r,a,o,{directory:t.directory});if(!t.directory&&i.passThrough&&i.uncompressedSize===O)throw Error(ki);return{name:n,rr:i}}function Xi(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.$e?O:Bi(t,e)}function Ji(t){if(t&&(typeof t!=v||Array.isArray(t)))throw Error(Ti);return t}function Qi(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function $i(t){return t.directory&&null===t.data}function tc(t,e,r){return async function t(e,n,a,s=""){if(n){const o=s?s+"/"+n.name:n.name;try{if((n.isFile||n.isDirectory)&&(n=await ec(n)),"file"==n.kind){const t=await n.getFile();a.push(nc(e,t.name,{Reader:()=>({readable:t.stream(),size:t.size}),options:Object.assign({},{lastModDate:new Date(t.lastModified)},r),uncompressedSize:t.size}))}else if("directory"==n.kind){const s=e.addDirectory(n.name,r);a.push(s);for await(const e of n.values())await t(s,e,a,o)}}catch(t){try{t.entryName===O&&(t.entryName=o)}catch{}throw t}}return a}(t,e,[])}async function ec(t){const e={name:t.name};if(t.isFile&&(e.kind="file",e.getFile=()=>new Promise((e,r)=>t.file(e,r))),t.isDirectory){e.kind="directory";const r=await(async t=>{const e=[];function r(t,n,a){t.readEntries(async s=>{if(s.length){for(const t of s)e.push(await ec(t));r(t,n,a)}else n(e)},a)}return await new Promise((e,n)=>r(t.createReader(),e,n)),{[Symbol.iterator](){let t=0;return{next(){const r={value:e[t],done:t==e.length};return t++,r}}}}})(t);e.values=()=>r}return e}function rc(t){t.entries=[],t.Qe=0,t.root=new ji(t)}function nc(t,e,r,n){if(t.directory)return n?new ji(t.fs,e,r,t):new Ni(t.fs,e,r,t);throw Error("Parent entry is not a directory")}export{mn as BlobReader,yn as BlobWriter,fn as Data64URIReader,wn as Data64URIWriter,Ii as ERR_ABORTED,qa as ERR_AMBIGUOUS_ARCHIVE,Ca as ERR_BAD_FORMAT,ja as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Cs as ERR_DUPLICATED_NAME,Wa as ERR_ENCRYPTED,Ka as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Ha as ERR_ENTRY_DATA_OUT_OF_BOUNDS,Oi as ERR_ENTRY_EXISTS,Na as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Ma as ERR_EOCDR_NOT_FOUND,_a as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Jr as ERR_HTTP_RANGE,Qr as ERR_HTTP_RESOURCE_CHANGED,Vt as ERR_INVALID_AUTHENTICATION_CODE,ve as ERR_INVALID_CODEC_DEFINITION,Ce as ERR_INVALID_CODEC_MODULE,Ms as ERR_INVALID_COMMENT,Ns as ERR_INVALID_COMMENT_TYPE,Ze as ERR_INVALID_COMPRESSED_DATA,He as ERR_INVALID_CRC32,_s as ERR_INVALID_DATE,Bs as ERR_INVALID_ENCRYPTION_STRENGTH,js as ERR_INVALID_ENTRY_COMMENT,Ps as ERR_INVALID_ENTRY_COMMENT_TYPE,Ws as ERR_INVALID_ENTRY_NAME,Hs as ERR_INVALID_EXTRAFIELD,Ys as ERR_INVALID_EXTRAFIELD_DATA,Ks as ERR_INVALID_EXTRAFIELD_DATA_TYPE,qs as ERR_INVALID_EXTRAFIELD_TYPE,Xa as ERR_INVALID_FILENAME_VALIDATION,J as ERR_INVALID_FUNCTION_OPTION,so as ERR_INVALID_GID,fo as ERR_INVALID_LEVEL,Ja as ERR_INVALID_MAX_APPENDED_DATA_SIZE,at as ERR_INVALID_MAX_WORKERS,lo as ERR_INVALID_MSDOS_ATTRIBUTES,uo as ERR_INVALID_MSDOS_DATA,Lt as ERR_INVALID_PASSWORD,$ as ERR_INVALID_PASSWORD_TYPE,ki as ERR_INVALID_PASS_THROUGH,Ti as ERR_INVALID_READER_OPTIONS,Q as ERR_INVALID_SIGNAL,Bt as ERR_INVALID_SIGNATURE,wo as ERR_INVALID_SIGNATURE_DATA,Ga as ERR_INVALID_STRICTNESS,ao as ERR_INVALID_UID,Ve as ERR_INVALID_UNCOMPRESSED_SIZE,io as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,co as ERR_INVALID_UNIX_ID_SIZE,oo as ERR_INVALID_UNIX_MODE,Ls as ERR_INVALID_VERSION,$r as ERR_ITERATOR_COMPLETED_TOO_SOON,Pa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Za as ERR_OVERLAPPING_ENTRY,Ui as ERR_READABLE_CONSUMED,Ie as ERR_RESERVED_COMPRESSION_METHOD,Va as ERR_SPLIT_ZIP_FILE,ro as ERR_UNDEFINED_READER,to as ERR_UNDEFINED_UNCOMPRESSED_SIZE,eo as ERR_UNDETERMINED_SIZE,Ya as ERR_UNSAFE_FILENAME,Ba as ERR_UNSUPPORTED_COMPRESSION,pi as ERR_UNSUPPORTED_CONTEXT,Ht as ERR_UNSUPPORTED_CRYPTO_API,La as ERR_UNSUPPORTED_ENCRYPTION,Zs as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Vs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,$s as ERR_UNSUPPORTED_FORMAT,dr as ERR_WORKER_STARTUP_TIMEOUT,tn as ERR_WRITER_NOT_INITIALIZED,no as ERR_ZIP_NOT_EMPTY,_n as HttpRangeReader,Pn as HttpReader,un as Reader,Bn as SplitDataReader,Vn as SplitDataWriter,bn as TextReader,Sn as TextWriter,Wn as Uint8ArrayReader,Ln as Uint8ArrayWriter,dn as Writer,ji as ZipDirectoryEntry,Mi as ZipEntry,Pi as ZipFS,Ni as ZipFileEntry,ns as ZipReader,as as ZipReaderStream,Eo as ZipWriter,So as ZipWriterStream,pt as configure,fi as createBlobTempStream,ui as createOPFSTempStream,mi as createSyncAccessHandleTempStream,_i as fs,ii as getMimeType,Pe as registerCodec,St as resetConfiguration,Di as terminateWorkers,_e as unregisterCodec};
|