@zip.js/zip.js 2.8.53 → 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.
Files changed (47) hide show
  1. package/README.md +1 -1
  2. package/deno.json +2 -1
  3. package/dist/zip-core-external.js +691 -482
  4. package/dist/zip-core-external.min.js +1 -1
  5. package/dist/zip-core.js +698 -481
  6. package/dist/zip-core.min.js +1 -1
  7. package/dist/zip-fs-core-external.js +729 -511
  8. package/dist/zip-fs-core-external.min.js +1 -1
  9. package/dist/zip-fs-core.js +691 -496
  10. package/dist/zip-fs-core.min.js +1 -1
  11. package/dist/zip-fs-external.js +729 -511
  12. package/dist/zip-fs-external.min.js +1 -1
  13. package/dist/zip-fs-native.js +743 -512
  14. package/dist/zip-fs-native.min.js +1 -1
  15. package/dist/zip-fs.js +742 -511
  16. package/dist/zip-fs.min.js +1 -1
  17. package/dist/zip-legacy.js +700 -483
  18. package/dist/zip-legacy.min.js +1 -1
  19. package/dist/zip-native.js +700 -483
  20. package/dist/zip-native.min.js +1 -1
  21. package/dist/zip-web-worker-native.js +1 -1
  22. package/dist/zip-web-worker.js +1 -1
  23. package/dist/zip.js +699 -482
  24. package/dist/zip.min.js +1 -1
  25. package/eslint.config.mjs +1 -0
  26. package/index-native.cjs +743 -512
  27. package/index-native.min.js +1 -1
  28. package/index.cjs +742 -511
  29. package/index.d.cts +398 -42
  30. package/index.d.ts +398 -42
  31. package/index.min.js +1 -1
  32. package/lib/core/configuration.js +62 -21
  33. package/lib/core/constants.js +11 -1
  34. package/lib/core/io.js +33 -27
  35. package/lib/core/options.js +44 -2
  36. package/lib/core/streams/aes-crypto-stream.js +12 -12
  37. package/lib/core/util/decode-text.js +11 -2
  38. package/lib/core/web-worker-base.js +3 -2
  39. package/lib/core/web-worker-inline-native.js +1 -1
  40. package/lib/core/web-worker-inline-wasm.js +1 -1
  41. package/lib/core/zip-fs.js +38 -27
  42. package/lib/core/zip-reader.js +58 -26
  43. package/lib/core/zip-writer.js +293 -177
  44. package/lib/zip-core-base.js +6 -1
  45. package/lib/zip-core-reader.js +1 -0
  46. package/lib/zip-core-writer.js +4 -0
  47. package/package.json +8 -2
@@ -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,z=1024,A="/",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],zt=10,At=[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-zt-(t.length-zt)%mt);e.enqueue(jt(r,t,c,0,zt,!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-zt),i=_t(n,n.length-zt);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,zt);let u=n.length<zt?1:0;for(let t=0;zt>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,zt);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(At)),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))),Ae(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)),Ae(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 ze(t){return xe(t,pe)}function Ae(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(ze(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&&!ze(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,zt: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{At:e}=t;e&&(clearTimeout(e),t.At=null)}function nr(t,e){t.preventDefault&&t.preventDefault(),rr(e);const{gt:r,zt:n,writer:a,St:s}=e;tr(e),r||(e.ht=null);let o=t.error||Error(t.message||Ke);r||(o=Object.assign(Error(o.message||Ke),{Rt:!0}),e.Ft=o),n&&(n(o),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,Ft:null,bt:{run:async()=>{try{return await(async(t,e)=>{if(!t.ht){const{Ft:e}=t;t.Ft=null;const r=e||Error(Ie);throw r.Rt=!0,r}let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Dt: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,Dt:()=>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.At=setTimeout(()=>(t=>{if(t.At=null,t.gt)return;const{zt: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={Ot:lr};return lr++,sr.push(r),new Le(r,t,e,b)}return new Promise(r=>{or.push({resolve:r,stream:t,Ut:e}),cr=n.workerStarvationTimeout,dr()})})()).run();function b(t){if(fr(),or.length){const[{resolve:e,stream:r,Ut: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.Tt=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,Ut: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{Tt:e}=t;e&&(clearTimeout(e),t.Tt=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",zr="GET",Ar="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 pn(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,kt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{kt: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,vt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,vt: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(zr,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(zr,t,Gr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==Ar))throw Error(yr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Ct=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,Ct: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(zr,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{It:t.get("Etag")||O,lastModified:t.get("Last-Modified")||O}}function Kr(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=qr(e))}function Yr(t,e){const{checkResourceChanges:r,Mt: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]:Ar+"="+(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(zr,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.Nt=t}async init(){const t=this;t.jt=0;const e=t.Nt=await Promise.all(t.Nt.map(hn));t.Pt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Wt(t){const{Pt:e,size:r}=this,n=e[t];return n===O?r:n}async readUint8Array(t,e){const r=this,{Nt: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 pn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await pn(i,o,e)}else a=C;return r.jt=Math.max(s,r.jt),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)}async function hn(t){return t=new un(t),await wn(t),t.size!==O&&t.readUint8Array||(t=new Mr(await $t(t.readable)),await wn(t)),t}function pn(t,e,r){return t.readUint8Array(e,r)}const mn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function yn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=mn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const bn="filename",Sn="rawFilename",En="comment",gn="rawComment",xn="uncompressedSize",zn="compressedSize",An="offset",Rn="diskNumberStart",Fn="lastModDate",Dn="rawLastModDate",On="lastAccessDate",Un="rawLastAccessDate",Tn="creationDate",kn="rawCreationDate",vn="internalFileAttributes",Cn="externalFileAttributes",In="internalFileAttribute",Mn="externalFileAttribute",Nn="msdosAttributesRaw",jn="msdosAttributes",Pn="msDosCompatible",Wn="zip64",_n="encrypted",Ln="version",Bn="versionMadeBy",Vn="zipCrypto",Zn="directory",Hn="executable",qn="compressionMethod",Kn="signature",Yn="extraField",Gn="unixMode",Xn="setuid",Jn="setgid",Qn="sticky",$n=[bn,Sn,xn,zn,Fn,Dn,En,gn,On,Un,Tn,kn,An,Rn,vn,Cn,In,Mn,Nn,jn,Pn,Wn,_n,Ln,Bn,Vn,Zn,Hn,"symlink",qn,Kn,"crc32",Yn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Gn,"unixExternalUpper",Xn,Jn,Qn,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ta{constructor(t){$n.forEach(e=>this[e]=t[e])}}const ea="password",ra="rawPassword",na="passThrough",aa="signal",sa="useWebWorkers",oa="useCompressionStream",ia="transferStreams",ca="preventClose",la="offset",ua="usdz",da="signCentralDirectory",fa="filename",wa="comment",ha="strict",pa="balanced",ma="tolerant",ya="File format is not recognized",ba="End of central directory not found",Sa="End of Zip64 central directory locator not found",Ea="Central directory header not found",ga="Local file header not found",xa="Zip64 extra field not found",za="File contains encrypted entry",Aa="Encryption method not supported",Ra="Compression method not supported",Fa="Split zip file",Da="Overlapping entry found",Oa="Ambiguous archive",Ua="Encrypted central directory is not supported",Ta="Unsafe filename",ka="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",va="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ca="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ia=/^[a-zA-Z]:/,Ma="utf-8",Na="cp437",ja=[[xn,t],[zn,t],[An,t],[Rn,e]],Pa={[e]:{_t:ds,bytes:4},[t]:{_t:fs,bytes:8}};class Wa{constructor(t,e={}){Object.assign(this,{reader:new un(t),options:e,config:P(),Lt: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(ya);const p=Qa(n,s.options),m=p==ha,y=p!=ma,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(Ca);return e}var n;return r==ha?0:r==ma?1/0:e})(os(s,n,"maxAppendedDataSize"),p),S=((t,e)=>{if(t===O)return e;if(!Ja(t))throw Error(va);return t})(os(s,n,"filenameValidation"),p),R=os(s,n,"normalizeFilename"),{Bt:F,Vt: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 es(t,a)){const a=us(r,f+20);if(w+d+a==n){const a=await ns(t,r,l,f,w,n,s);if(2==a){if(o||(o=rs(u,f,w)),c++,!e||c>1)break}else 1!=a||i||(i=rs(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 es(t,a)){const a=rs(c,l,u);s||(s=a);const d=await ns(t,e,i,l,u,n,r);if(2==d)return a;1!=d||o||(o=a)}return o||s})(t,r,s)),{Bt:o,Vt:c}})(c,y,b);if(!F)throw ds(q(await pn(c,0,4)))==a?Error(Fa):Error(ba);y&&D>1&&ss("multiple end of central directory records");const U=q(F);let T=ds(U,12),k=ds(U,16);const I=F.offset,M=us(U,20),N=I+d+M;c.size-N>b&&ss("appended data");let j=us(U,4);const P=c.jt||0;let W,_,L,B,V=us(U,6),Z=us(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 pn(c,F.offset-f,f),n=q(r);if(r.length==f&&ds(n,0)==u){k=Xa(c,ds(n,4))+fs(n,8);let r=await pn(c,k,w),a=q(r);const s=F.offset-f-w;if((r.length<w||ds(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(H=k-t),r=await pn(c,k,w),a=q(r)}if(r.length<w||ds(a,0)!=l)throw Error(Sa);if(_=!0,L=fs(a,4)>44,L){const t=Math.min(Number(fs(a,4))-44,c.size-k-w);t>0&&(B=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=q(t),n=us(r,26);Object.assign(e,{compressionMethod:us(r,0),compressedSize:Number(fs(r,2)),uncompressedSize:Number(fs(r,10)),encryptionAlgorithm:us(r,18),bitLength:us(r,20),flags:us(r,22),hashAlgorithm:us(r,24),hashData:t.subarray(28,28+n)})}return e})(await pn(c,k+w,t)))}j==e?j=ds(a,16):m&&j!=ds(a,16)&&ss("mismatched zip64 end of central directory record"),V==e?V=ds(a,20):m&&V!=ds(a,20)&&ss("mismatched zip64 end of central directory record"),Z==e?Z=fs(a,32):m&&Z!=fs(a,32)&&ss("mismatched zip64 end of central directory record"),T==t?T=fs(a,40):m&&T!=fs(a,40)&&ss("mismatched zip64 end of central directory record"),k=Xa(c,V)+fs(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(Fa);if(0>k)throw Error(ya);let X=0,J=await pn(c,k,T),Q=q(J);if(T){if(4>J.length)throw Error(ya);const t=G-T;if(k!=t&&V==j){let e=!(ds(Q,X)==i);if(e||0>t||t+4>c.size||(e=ds(q(await pn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(H+=k-e),J=await pn(c,k,T),Q=q(J)}}}const $=G-k;if(T==$||0>$||V!=j||(T=$,J=await pn(c,k,T),Q=q(J)),0>k||k>=c.size)throw Error(ya);s.directoryOffset=k,s.directoryLength=Y;const tt=os(s,n,"decryptCentralDirectory");let et;tt&&Z&&J.length>=4&&ds(Q,0)!=i&&(L||Ba(Q))&&(J=await tt(J,B),Q=q(J),Y=J.length,et=!0),W=k;const rt=os(s,n,"filenameEncoding"),nt=os(s,n,"commentEncoding"),at=m?new Set:O;let st;for(let t=0;Z>t;t++){const a=new La(c,h,s.options);if(X+46>J.length||ds(Q,X)!=i){if(0==t&&!et&&(L||Ba(Q)))throw Error(Ua);throw Error(Ea)}Va(a,Q,X+6);const o=!!a.bitFlag.languageEncodingFlag,l=X+46,u=l+a.filenameLength,d=u+a.extraFieldLength,f=us(Q,X+4),w=!(f>>8),p=f>>8==3,y=J.subarray(l,u),b=us(Q,X+32),F=d+b,D=J.subarray(d,F),U=o,T=o,k=ds(Q,X+38),v=k&r,C={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},I=ds(Q,X+42),M=os(s,n,"decodeText")||yn,N=U?Ma:rt||Na,j=T?Ma:nt||Na;let P=M(y,N,fa);if(P===O&&(P=yn(y,N)),R){const t=R(P);t!==O&&(P=t)}if(ts(P,S)){const t=Error(Ta);throw t.filename=P,t}let _=M(D,j,wa);_===O&&(_=yn(D,j)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,zip64:!1,compressedSize:0,uncompressedSize:0,Zt:b,offset:I,diskNumberStart:us(Q,X+34),internalFileAttributes:us(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:_}),Za(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&z),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(A)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const ot=new ta(a);ot.getData=(t,e)=>a.getData(t,ot,s.Lt,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.Lt,t),r},X=F;const{onprogress:it}=n;if(it)try{await it(t+1,Z,new ta(a))}catch{}yield ot}let ot=X;if(X+6<=J.length&&ds(Q,X)==o){const t=us(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&&ss("trailing central directory data"),st&&ss("duplicate filename"),m&&(H||Z&&W>0)&&ss("prepended data");const it=os(s,n,"extractPrependedData"),ct=os(s,n,"extractAppendedData");return it&&(s.prependedData=W>0?await pn(c,0,W):C),s.comment=M?await pn(c,I+d,M):C,ct&&(s.appendedData=N<c.size?await pn(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 _a{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new Wa(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 La=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,z=e.localDirectory={},A=Xa(c,d)+u,F=await pn(c,A,R),D=q(F);let U=os(i,o,ea),T=os(i,o,ra);const k=os(i,o,na);if(U=U&&U.length&&U,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw Error(Ra);if(F.length<R||ds(D,0)!=n)throw Error(ga);Va(z,D,4);const{extraFieldLength:v,filenameLength:I}=z,M=os(i,o,"checkLocalDirectory"),N=Qa(o,i.options),j=((t,e)=>t===O?e!=ma:!!t)(M,N),P=((t,e)=>t===O?e==ha:!!t)(M,N);let W=C;if(P&&(I||v)){const t=await pn(c,A+R,I+v);W=t.subarray(0,I),z.rawExtraField=t.subarray(I)}else z.rawExtraField=v?await pn(c,A+R+I,v):C;P&&(z.rawFilename=W),Za(i,z,D,4,!0),j&&((t,e,r,n)=>{const{rawFilename:a}=t;n&&(r.length!=a.length||r.some((t,e)=>t!=a[e]))&&ss("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&ss("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&ss("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||ss("mismatched local file header (crc32 or sizes)")})(i,z,W,P);const{lastAccessDate:_,creationDate:L,uid:B,gid:V}=z;_&&(e.lastAccessDate=_),L&&(e.creationDate=L),B!==O&&e.uid===O&&(e.uid=B),V!==O&&e.gid===O&&(e.gid=V);const Z=i.encrypted&&z.encrypted&&!k,H=Z&&!f;if(k||(e.zipCrypto=H),Z&&!(64&~z.rawBitFlag))throw Error(Aa);const K=k?O:le(h);if(0!=h&&8!=h&&9!=h&&!K&&!k)throw Error(Ra);if(Z){if(!H&&(1>f.strength||f.strength>3))throw Error(Aa);if(!U&&!T)throw Error(za)}const Y=A+R+I+v,G=g,X=Qt(c.createReadable({offset:Y,size:G})),J=os(i,o,aa),Q=os(i,o,"checkPasswordOnly");let $=os(i,o,"checkOverlappingEntry");const tt=os(i,o,"checkOverlappingEntryOnly");tt&&($=!0);const{onstart:et,onprogress:rt,onend:nt}=o,at=9==h;let st=os(i,o,oa);at&&(st=!1);const ot=os(i,o,"checkCrc32"),it=(ot===O?os(i,o,"checkSignature"):ot)&&!k&&(!Z||H||f&&1==f.vendorVersion),ct={options:{codecType:ke,password:U,rawPassword:T,zipCrypto:H,encryptionStrength:f&&f.strength,checkCrc32:it,checkAuthenticationCode:os(i,o,"checkAuthenticationCode"),passwordVerification:H&&(x?S>>>8&r:b>>>24&r),outputSize:k?g:E,crc32:b,compressed:0!=h&&!k,encrypted:Z,useWebWorkers:os(i,o,sa),useCompressionStream:st,transferStreams:os(i,o,ia),deflate64:at,format:K?K.format:O,codecURI:K?K.codecURI:O,compressionMethod:h,rawBitFlag:y,checkPasswordOnly:Q},config:p,ut:{signal:J,size:G,onstart:et,onprogress:rt,onend:nt}};let lt,ut;$&&await(async({reader:t,Ht:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,qt:c,dataDescriptor:l,extraFieldZip64:u,Lt:d})=>{let f=0;if(l&&(f=u?20:12),f){const r=await pn(t,c+o,f+4),n=q(r);let l=r.length==f+4&&ds(n,0)==s;if(l){const t=Ga(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=Ga(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+o+f,Ht:e};for(const[t,e]of d)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(Da);throw t.Kt=e.Ht,t}d.set(r,w)})({reader:c,Ht:e,index:l,offset:A,crc32:b,compressedSize:g,uncompressedSize:E,qt:Y,dataDescriptor:x||z.bitFlag.dataDescriptor,extraFieldZip64:w||z.extraFieldZip64,Lt:a});try{if(!tt){Q&&(t=new WritableStream),t=new dn(t),await wn(t,k?g:E),({writable:lt}=t);const{outputSize:e}=await ur({readable:X,writable:lt},ct);if(t.size+=e,e!=(k?g:E))throw Error(fe)}}catch(e){if(e.outputSize!==O&&(t.size+=e.outputSize),!Q||e.message!=wt)throw ut=e,e}finally{if((fn(t)||!os(i,o,ca))&&lt&&!lt.locked){const t=lt.getWriter();if(ut)try{await t.abort(ut)}catch{}else await t.close()}}return Q||tt?O:t.getData?t.getData():lt}};function Ba(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==ds(t,r))return!0;return!1}function Va(t,e,r){const n=t.rawBitFlag=us(e,r+2),a=!(1&~n),s=ds(e,r+6);Object.assign(t,{encrypted:a,version:us(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:s,lastModDate:is(s),filenameLength:us(e,r+22),extraFieldLength:us(e,r+24)})}function Za(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=us(i,c),e=us(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=us(r,n+4);Object.assign(e,{signature:ds(r,n+10),crc32:ds(r,n+10),compressedSize:ds(r,n+14),uncompressedSize:ds(r,n+18)});const u=o.get(1);u&&(((t,e)=>{e.zip64=!0;const r=q(t.data),n=ja.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+Pa[e].bytes,0);if(t.data.length<a)throw Error(xa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=Pa[i];e[o]=t[o]=c._t(r,s),s+=c.bytes}})(u,e),e.extraFieldZip64=u);const d=o.get(28789);d&&(Ha(d,bn,Sn,e,t),e.extraFieldUnicodePath=d);const f=o.get(25461);f&&(Ha(f,En,gn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(h);w&&w.data.length>=7?(((t,e,r)=>{const n=q(t.data),a=ls(n,4);Object.assign(t,{vendorVersion:ls(n,0),vendorId:ls(n,2),strength:a,originalCompressionMethod:r,compressionMethod:us(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&&(qa(S,e),e.extraFieldPkwareUnix=S);const E=o.get(22613);E&&(qa(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=us(r,a),s=us(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:cs(a),lastAccessDate:cs(s),creationDate:cs(o)};Object.assign(t,i),Object.assign(e,i,{rawLastAccessDate:s,rawCreationDate:o})}})(g,e),e.extraFieldNTFS=g);const x=o.get(b);let z;if(x&&(z=Ka(x,e,!1),e.extraFieldUnix=x),!z){const t=o.get(y);t&&(Ka(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=ls(n,0),s=[],o=[];r?(1&~a||(s.push(Fn),o.push(Dn)),2&~a||(s.push(On),o.push(Un)),4&~a||(s.push(Tn),o.push(kn))):5>t.data.length||(s.push(Fn),o.push(Dn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=ds(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 R=o.get(m);R&&(e.extraFieldUSDZ=R)}function Ha(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=ds(s,1);Object.assign(t,{version:ls(s,0),[e]:yn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==ds(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function qa(t,e){if(8>t.data.length)return;const r=q(t.data),n={lastAccessDate:new Date(1e3*(0|ds(r,0))),lastModDate:new Date(1e3*(0|ds(r,4)))};12>t.data.length||(n.uid=us(r,8),n.gid=us(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ka(t,e,r){try{const n=q(t.data);let a,s;if(r){let e=0;const r=ls(n,e++),o=ls(n,e++);a=Ya(t.data.subarray(e,e+o)),e+=o;const i=ls(n,e++);s=Ya(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=us(n,0),s=us(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 Ya(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ga(t,e,r){const n=ds(t,e);let a,s;return r?(a=fs(t,e+4),s=fs(t,e+12)):(a=ds(t,e+4),s=ds(t,e+8)),{crc32:n,compressedSize:a,uncompressedSize:s}}function Xa(t,e){return t.Wt?t.Wt(e):0}function Ja(t){return t===ha||t===pa||t===ma}function Qa(t,e){return $a(t,$a(e,pa))}function $a(t,e){const r=t.strictness;if(r!==O){if(!Ja(r))throw Error(ka);return r}const n=t.checkAmbiguity;return n===O?e:n?ha:e==ma?ma:pa}function ts(t,e){if(e==ma)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Ia.test(t))||e==ha&&(r.includes(".")||r.includes(""))}async function*es(t,e){const r=t.size-e,n=await pn(t,r,e),a=q(n);for(let t=n.length-d;t>=0;t--)ds(a,t)==c&&(yield[a,r,n,t,r+t])}function rs(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function ns(r,n,a,s,o,c,l){const d=us(n,s+10),w=ds(n,s+12),h=ds(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=us(n,s+6);for(const t of[o-w,Xa(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--,ds(q(await pn(t,n,4)),0)):O:ds(e,n-r)}function ss(t){const e=Error(Oa);throw e.reason=t,e}function os(t,e,r){return e[r]===O?t.options[r]:e[r]}function is(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 cs(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function ls(t,e){return t.getUint8(e)}function us(t,e){return t.getUint16(e,!0)}function ds(t,e){return t.getUint32(e,!0)}function fs(t,e){return Number(t.getBigUint64(e,!0))}var ws=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Oa,ERR_BAD_FORMAT:ya,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ea,ERR_ENCRYPTED:za,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ua,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Sa,ERR_EOCDR_NOT_FOUND:ba,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:xa,ERR_INVALID_AUTHENTICATION_CODE:ft,ERR_INVALID_COMPRESSED_DATA:we,ERR_INVALID_CRC32:he,ERR_INVALID_FILENAME_VALIDATION:va,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ca,ERR_INVALID_PASSWORD:ut,ERR_INVALID_SIGNATURE:dt,ERR_INVALID_STRICTNESS:ka,ERR_INVALID_UNCOMPRESSED_SIZE:fe,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ga,ERR_OVERLAPPING_ENTRY:Da,ERR_SPLIT_ZIP_FILE:Fa,ERR_UNSAFE_FILENAME:Ta,ERR_UNSUPPORTED_COMPRESSION:Ra,ERR_UNSUPPORTED_ENCRYPTION:Aa,ERR_WORKER_STARTUP_TIMEOUT:Ie,ZipReader:Wa,ZipReaderStream:_a});const hs="File already exists",ps="Zip file comment exceeds 64KB",ms="Invalid zip file comment (must be a Uint8Array)",ys="File entry comment exceeds 64KB",bs="File entry name exceeds 64KB",Ss="Version exceeds 65535",Es="The strength must equal 1, 2, or 3",gs="Encryption is not supported in USDZ files",xs="Encryption is not supported when the 'passThrough' option is set",zs="Extra field type exceeds 65535",As="Extra field data exceeds 64KB",Rs=-2147483648,Fs=2147483647,Ds=BigInt(0),Os=BigInt("0x7fffffffffffffff"),Us="Zip64 is not supported (set the 'zip64' option to 'true')",Ts="Undefined uncompressed size",ks="Undetermined size",vs="Undefined reader",Cs="Zip file not empty",Is="Invalid uid (must be integer 0..2^32-1)",Ms="Invalid gid (must be integer 0..2^32-1)",Ns="Invalid UNIX mode (must be integer 0..65535)",js="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Ps="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Ws="Invalid msdosAttributesRaw (must be integer 0..255)",_s="Invalid msdosAttributes (must be an object with boolean flags)",Ls="Invalid level (must be integer 0..9)",Bs="Invalid password (password must be a string, rawPassword must be a Uint8Array)",Vs="Signature data exceeds 64KB",Zs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Hs="infozip",qs="unix";let Ks=0;const Ys=[];class Gs{constructor(t,e={}){t=new dn(t);const{availableSize:r=U,maxSize:n=U}=t;Object.assign(this,{writer:t,Yt:r>0&&r!==U&&n>0&&n!==U,options:e,config:P(),files:new Map,Gt:new Set,offset:e[la]===O?t.size||t.writable.size||0:e[la],Xt:e[la]===O?0:e[la]-(t.size||t.writable.size||0),Jt:new Set,Qt:0,$t:O})}async prependZip(e){if(this.Gt.size)throw Error(Cs);e=new un(e),await wn(e),e.size!==O&&e.readUint8Array||(e=new Mr(await $t(e.readable)),await wn(e));const{ZipReader:r}=await Promise.resolve().then(()=>ws),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.Gt=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,te:w,ee:h,re:p,ne:m,ae: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=Oo(w,h,p,m,y,b),z=d&&l>=t,A=d&&u>=t,R=-7&To(S,E,g,c,f)|S<<1,{se:F,oe:D}=Uo({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:u,rawLastModDate:n,rawFilename:o,ie:A,ce:z,extraFieldLength:x}),{crc32:U}=e;return U!==O&&Ro(D,10,U),Object.assign(e,{ce:z,ie:A,le:d&&e.offset>=t,diskNumberStart:0,ue:!1,te:w,ee:h,re:p,ne:m,ae:y,rawExtraField:b,extendedTimestamp:p.length>0||m.length>0,de:1+(a?2:0)+(s?4:0),se:F,oe:D}),[e.filename,e]}))}async add(e="",n,s={}){const o=this;s=Object.assign({},s);const{Jt:i,config:c}=o;let l,u;Ks<c.maxWorkers?Ks++:await new Promise(t=>Ys.push(t));try{if(e=e.trim(),bo(o,s,Zn)&&!e.endsWith(A)&&(e+=A),o.Gt.has(e))throw Error(hs);return o.Gt.add(e),u=!0,l=(async(e,n,s,o)=>{const i=Qs(e,n,o);({name:n}=i);const c=$s(e,n,o),{comment:l}=c,u=o[Yn];let d;e.files.set(n,O);try{const{fe:l}=c;0==l.level||l.compressionMethod!==O||l.passThrough||await We(e.config)||(l.level=0);const u=await(async(t,e,{fe:r},n)=>{if(r.passThrough&&!e&&!bo(t,n,Zn))throw Error(vs);let a;return e&&(e=new un(e),await wn(e),({size:a}=e)),Object.assign({reader:e},eo(t,!!e,a,r,n))})(e,s,c,o);({reader:s}=u);const f=lo(e.writer),w=co(e.writer),h=ro(o=Object.assign({},o,i.fe,c.fe,u.fe,{signature:o[Kn],crc32:o.crc32===O?o[Kn]:o.crc32,offset:e.offset-f,diskNumberStart:w})),p=so(o),m=Oo(h.we,p.he);d=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:u,dataDescriptor:d,signal:f}=i,{pe:w}=o,h=e.options[ua],p=e.$t;let m,y,b,S,E,g,x,z={},A=0;c.set(n,z),e.$t=z;try{let y;u&&(y=p&&p.lock,z.lock=new Promise(t=>b=t)),i.bufferedWrite||!u||e.me||e.Qt||!d?(m=!0,e.Qt++,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=lo(l);if(e.Yt){delete e.Yt;const t=new Uint8Array(4);Ro(q(t),0,a),await wo(l,t),e.offset+=4}h&&!m&&no(o,e.offset-T);const{we:k}=w;m||(await y,await D());const v=co(l),C=fo(e,l);if(z.diskNumberStart=v,m||(E=!0,g=l.size,await wo(x,k)),z=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{pe:l,ye:u,be:d}=o,{se:f,oe:w,lastModDate:h,rawLastModDate:p,encrypted:m,compressed:y,version:b,compressionMethod:S,te:E,Se:g,re:x,de:z,ne:A,ae:R,ee:F}=l,{he:D}=u,{rawFilename:U,lastAccessDate:T,creationDate:k,password:v,rawPassword:C,level:I,zip64:M,ce:N,ie: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,symlink:st,setuid:ot,setgid:it,sticky:ct,unixExternalUpper:lt,msdosAttributesRaw:ut,msdosAttributes:dt,useCompressionStream:ft,passThrough:wt,format:ht,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:M,directory:!!_,executable:!!L,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:V,te:E,Se:g,re:x,ne:A,ae:R,ee: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,St=0;wt||(bt=0);const{writable:Et}=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:!wt,compressed:y&&!wt,encrypted:m&&!wt,useWebWorkers:H,useCompressionStream:ft,transferStreams:q,format:ht,codecURI:pt,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await ur({readable:a,writable:Et},o);if(St=e.outputSize,n.size+=St,wt||(bt=e.inputSize,m&&!P||(yt=e.crc32)),!j&&St>=t||!N&&bt>=t)throw Error(Us)}catch(t){throw t.outputSize!==O&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,pe:n,ye:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{oe:l,encrypted:u}=n,{Ee:d,ge:f}=a;u&&!o&&!i||t===O||(Ro(l,10,t),c&&Ro(d,f,t)),s?c&&(Fo(d,f+4,BigInt(e)),Fo(d,f+12,BigInt(r))):(Ro(l,14,e),Ro(l,18,r),c&&(Ro(d,f+4,e),Ro(d,f+8,r)))})({crc32:yt,compressedSize:St,uncompressedSize:bt,pe:l,ye:u},c),W&&await wo(n,D),Object.assign(mt,{uncompressedSize:bt,compressedSize:St,lastModDate:h,rawLastModDate:p,creationDate:k,lastAccessDate:T,encrypted:!!m,zipCrypto:!!P,size:d+St,compressionMethod:S,version:b,se:f,oe:w,signature:yt,crc32:!m||P||wt?yt:O,de:z,ce:N,ie:j}),mt})(s,x,z,o,e.config,i),m||(E=!1),c.set(n,z),z.filename=n,m){if(await Promise.all([x.writable.getWriter().close(),y]),await F(),S=!0,g=l.size,await D(),z.diskNumberStart=co(l),z.offset=fo(e,l),h){const t=o.be;no(o,e.offset-lo(l)),z.size+=o.be-t}(({rawFilename:t,encrypted:e,zip64:r,Se:n,crc32:a,compressedSize:s,uncompressedSize:o,ce:i,ie:c},l,{dataDescriptor:u,passThrough:d})=>{if(u||((!e||d&&a!==O)&&Ro(l,14,a),c||Ro(l,18,s),i||Ro(l,22,o)),r&&n){const e=R+Oo(t)+4;Fo(l,e,BigInt(o)),Fo(l,e+8,BigInt(s))}})(z,w.xe,i),await wo(l,w.we),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=Oo(t),A+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(x.readable,l,f),l.size+=x.size,S=!1}else z.diskNumberStart=v,z.offset=C;return e.offset+=z.size,z}catch(t){if(S||E){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-g,m&&(e.offset+=A)}throw c.delete(n),t}finally{if(m&&e.Qt--,b&&b(),y&&y(),m&&x&&x.dispose)try{await x.dispose()}catch{}}async function F(){e.me=!0;const{ze:t}=e;e.ze=new Promise(t=>y=()=>{e.me=!1,t()}),await t}async function D(){uo(l,Oo(w.we))&&await l.closeDisk()}})(e,n,s,{pe:h,ye:p,be:m},o)}catch(t){throw e.files.delete(n),t}return Object.assign(d,{name:n,comment:l,extraField:u,[In]:d.internalFileAttributes,[Mn]:d.externalFileAttributes}),new ta(d)})(o,e,n,s),i.add(l),await l}catch(t){throw u&&o.Gt.delete(e),t}finally{i.delete(l);const t=Ys.shift();t?t():Ks--}}remove(t){const{Gt: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{Jt:a,writer:s}=this,{writable:f}=s;if(!(r instanceof Uint8Array))throw Error(ms);if(Oo(r)>e)throw Error(ps);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=oo(r.files),{Ae:f,Re: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=co(o),f=lo(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:h,te:p,ee:m,re:y,ne:b,ae:S,rawExtraField:E,rawComment:g,versionMadeBy:x,se:z,oe:A,ce:R,ie:F,ue:D,le:O,internalFileAttributes:U,externalFileAttributes:T,diskNumberStart:k,uncompressedSize:v,compressedSize:C}=n,I=Oo(p,m,y,b,S,E),M=46+Oo(h,g)+I;uo(o,l+M-u)&&(await wo(o,c.slice(u,l)),u=l,await o.closeDisk()),0==r&&(d=co(o),f=lo(o)),R||Ro(A,18,v),F||Ro(A,14,C),(O||D)&&45>n.version&&Ao(A,0,45);const N=io(M);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(I),N.uint16(Oo(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),Do(c,N.array,l),l+=M,a.onprogress)try{await a.onprogress(r+1,s.size,new ta(n))}catch{}}return await wo(o,u?c.slice(u):c),{Ae:{diskNumber:d,diskOffset:f},Re:c}})(r,s,a),h=await(async(t,r,n)=>{const a=bo(t,n,da);if(a){const n=await a(r),s=Oo(n);if(s>e)throw Error(Vs);const i=io(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await wo(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ae:i,Fe:f}=s;let{De:w}=s,h=r.files.size,p=i.diskNumber,m=fo(r,i),y=co(o);uo(o,d)&&y++;let b=bo(r,a,Wn);if(!(t>m&&t>w&&e>h&&e>y)){if(!1===b)throw Error(Us);b=!0}const S=Oo(n);if(S>e)throw Error(ps);const E=io(b?98:d);uo(o,Oo(E.array)+S)&&await o.closeDisk(),y=co(o),b&&(E.uint32(l),E.Oe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(p),E.Oe(h),E.Oe(h),E.Oe(w),E.Oe(m),E.uint32(u),E.uint32(y),E.Oe(BigInt(fo(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),bo(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 wo(o,E.array),S&&await wo(o,n)})(r,n,a,{Ae:f,De:s,Fe:h})})(this,r,n),!fn(s)&&bo(this,n,ca)||await f.getWriter().close(),s.getData?s.getData():f}}class Xs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Gs(r,t),this.Jt=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 Js(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 Js(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Jt)),this.zipWriter.close(t,e)}}function Js(t,e,r){t.Jt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Qs(n,a,s){a=a.trim();let o=bo(n,s,Pn),i=bo(n,s,Bn,o?20:768);const c=bo(n,s,Hn),l=go(n,s,"uid"),u=go(n,s,"gid");let d=go(n,s,Gn),f=bo(n,s,"unixExtraFieldType"),w=bo(n,s,Xn),h=bo(n,s,Jn),p=bo(n,s,Qn);if(l!==O&&(!Number.isInteger(l)||0>l||l>t))throw Error(Is);if(u!==O&&(!Number.isInteger(u)||0>u||u>t))throw Error(Ms);if(d!==O&&(!Number.isInteger(d)||0>d||d>e))throw Error(Ns);if(f!==O&&f!==Hs&&f!==qs)throw Error(js);if(f===qs&&(l!==O&&l>e||u!==O&&u>e))throw Error(Ps);f!==O||l===O&&u===O||(f=Hs);let m=bo(n,s,Nn),y=bo(n,s,jn);const b=m!==O||y!==O;if(l!==O||u!==O||d!==O||f?(o=!1,i=i&r|768):b&&(o=!0,i&=r),m!==O&&(0>m||m>r))throw Error(Ws);if(y&&"object"!=typeof y)throw Error(_s);if(i>e)throw Error(Ss);let S=So(n,s,Cn,Mn);const R=S!==O;R||(S=0),!s[Zn]&&a.endsWith(A)&&(s[Zn]=!0);const F=bo(n,s,Zn);if(F?(a.endsWith(A)||(a+=A),R||(S=16,o||(S|=16877<<16))):o||R||(S=c?493<<16:27525120),!o){const t=d!==O||!!(w||h||p);d=d===O?S>>16&e:d&e,w?d|=x:w=!!(d&x),h?d|=z:h=!!(d&z),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,fe:{versionMadeBy:i,msDosCompatible:!!o,externalFileAttributes:S,unixExternalUpper:S>>16&e,uid:l,gid:u,unixMode:d,unixExtraFieldType:f,symlink:d!==O&&40960==(d&E),setuid:w,setgid:h,sticky:p,msdosAttributesRaw:m,msdosAttributes:y}}}function $s(t,r,n){const a=bo(t,n,"encodeText",at);let s=a(r,fa);if(s===O&&(s=at(r)),Oo(s)>e)throw Error(bs);const o=n[En]||"";let i=a(o,wa);if(i===O&&(i=at(o)),Oo(i)>e)throw Error(ys);const c=bo(t,n,Ln,20);if(c>e)throw Error(Ss);const l=bo(t,n,Fn,new Date),u=bo(t,n,On),d=bo(t,n,Tn),f=So(t,n,vn,In,0),w=bo(t,n,na),h=bo(t,n,ea),p=bo(t,n,ra);if(h&&typeof h!=v||p&&!(p instanceof Uint8Array))throw Error(Bs);const m=go(t,n,"encryptionStrength",3),y=bo(t,n,Vn),b=bo(t,n,"extendedTimestamp",!0),S=bo(t,n,"ntfsTimestamp"),E=bo(t,n,"keepOrder",!0),g=bo(t,n,sa),x=bo(t,n,ia),z=bo(t,n,"bufferedWrite"),A=bo(t,n,"createTempStream"),R=bo(t,n,"dataDescriptorSignature",!0),F=bo(t,n,aa),D=bo(t,n,"useUnicodeFileNames",!0),U=bo(t,n,qn),T=w||U===O?O:le(U);if(!w&&U!==O&&0!==U&&8!==U&&!T)throw Error("Compression method not supported");let k=go(t,n,"level");if(k!==O&&(!Number.isInteger(k)||0>k||k>9))throw Error(Ls);if(t.options[ua]){if(h!==O||p!==O)throw Error(gs);k===O&&U===O&&(k=0)}let C=bo(t,n,oa),I=bo(t,n,"dataDescriptor");z&&I===O&&(I=!1),(I===O||y)&&(I=!0),k!==O&&6!=k&&(C=!1);const M=bo(t,n,Wn);if(!(y||h===O&&p===O||Number.isInteger(m)&&m>=1&&3>=m))throw Error(Es);const N=to(n[Yn]),j=to(n.localExtraField);return{comment:o,fe:{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:z,createTempStream:A,dataDescriptorSignature:R,signal:F,useUnicodeFileNames:D,compressionMethod:U,format:T?T.format:O,codecURI:T?T.codecURI:O,Ue:T?T.versionNeeded:O,level:k,useCompressionStream:C,dataDescriptor:I,zip64:M,rawExtraField:N,Te:j}}}function to(t){if(!t)return C;let r=0,n=0;t.forEach(t=>r+=4+Oo(t));const a=new Uint8Array(r),s=q(a);return t.forEach((t,r)=>{if(r>e)throw Error(zs);if(Oo(t)>e)throw Error(As);Ao(s,n,r),Ao(s,n+2,Oo(t)),Do(a,t,n+4),n+=4+Oo(t)}),a}function eo(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[xn],m===O))throw Error(Ts);const y=!0===f,b=bo(e,s,_n);if(r&&o&&!b&&Oo(c,l))throw Error(xs);const S=r&&(!!(c&&Oo(c)||l&&Oo(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?xo(m)+E:n):n===O?(d=!0,(f||f===O)&&(f=!0,m=p=4294967296)):(s.uncompressedSize=m=n,p=(zo(h,w)?xo(m):m)+E));const g=y||m>=t,x=y||p>=t;if(g||x){if(!1===f)throw Error(Us);f=!0}return f=f||!1,{ke:p,fe:{dataDescriptor:d,zip64:f,ce:g,ie:x,uncompressedSize:m,level:w,compressionMethod:h,encrypted:S}}}function ro(t){const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:d,directory:f,rawExtraField:w,Te:m,encryptionStrength:S,extendedTimestamp:E,ntfsTimestamp:g,passThrough:x,encrypted:z,ce:A,ie:U,uncompressedSize:T,crc32:k}=t;let{version:v,compressionMethod:I}=t;const M=!f&&zo(I,i);let N;const j=x||!M,P=c&&(t.bufferedWrite||!d||!A&&!U||j),W=P||c&&d&&(A||U);if(c&&(A||U)){const t=20,e=io(t);if(e.uint16(1),e.uint16(t-4),N=e.array,P&&(e.Oe(T),j)){const t=z?l?12:16+4*S:0;e.Oe(x?0:T+t)}}else N=C;let _,L,B,V,Z;if(z&&!l){const t=io(Oo(Zs)+2);t.uint16(h),t.bytes(Zs),_=t.array,_[8]=S}else _=C;if(E){const t=po(a),e=mo(t);if(e){const e=9+(s?4:0)+(o?4:0),r=io(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(yo(po(s))),o&&r.uint32(yo(po(o))),B=r.array}else B=C;if(g===O?!e||s||o:g)try{const t=ho(a),e=io(36);e.uint16(10),e.uint16(32),e.ve(4),e.uint16(1),e.uint16(24),e.Oe(t),e.Oe(s?ho(s):t),e.Oe(o?ho(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!=Hs||r===O&&n===O)if(a!=qs||r===O&&n===O)Z=C;else{const t=io(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=ao(r),e=ao(n),a=3+t.length+e.length,s=io(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{Ue:H}=t;M&&H!==O&&(v=v>H?v:H),c&&(v=v>45?v:45),z&&!l&&(v=v>51?v:51,x&&k!==O&&(_[4]=1),_[9]=I,I=99);const K=W?Oo(N):0,Y=K+Oo(_,B,L,Z,w,m);if(Y>e)throw Error(As);const G=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{se:X,oe:J,rawLastModDate:Q}=Uo({version:v,bitFlag:To(i,u,d,z,I),compressionMethod:I,uncompressedSize:T,lastModDate:D>G?D:G>F?F:G,rawFilename:r,ie:U,ce:A,extraFieldLength:Y}),$=io(R+Oo(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||Ro(et,18,0),A||Ro(et,22,0)),{we:tt,xe:et,se:X,oe:J,lastModDate:a,rawLastModDate:Q,encrypted:z,compressed:M,version:v,compressionMethod:I,de:V,te:C,Se:K,re:B,ne:L,ae:Z,ee:_,extraFieldLength:Y}}function no(t,e){const{pe:r}=t;let{we:n,extraFieldLength:a}=r,s=64-(e+Oo(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=q(o);Ao(i,0,m),Ao(i,2,s-4);const c=n;r.we=n=new Uint8Array(Oo(c)+s),Do(n,c),Do(n,o,Oo(c));const l=q(n);Ao(l,28,a+s),r.xe=l,t.be+=s}function ao(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 so({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,Ro(n,0,s))),{he:a,Ee:n,ge:o}}function oo(r){let n=0;for(const[,a]of r){const{rawFilename:r,ee:s,rawComment:o,ne:i,ae:c,rawExtraField:l,extendedTimestamp:u,de:d,lastModDate:f,ce:w,ie: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=io(t);e.uint16(1),e.uint16(t-4),w&&e.Oe(m),h&&e.Oe(y),b&&e.Oe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=C;a.te=E,a.le=b,a.ue=S;const x=po(f);if(u&&mo(x)){const t=io(9);t.uint16(p),t.uint16(5),t.uint8(d),t.uint32(x),g=t.array}else g=C;a.re=g;const z=Oo(E,s,i,c,g,l);if(z>e)throw Error(As);n+=46+Oo(r,o)+z}return n}function io(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=>{Ao(r,n,t),n+=2},uint32:t=>{Ro(r,n,t),n+=4},Oe:t=>{Fo(r,n,BigInt(t)),n+=8},bytes:t=>{Do(e,t,n),n+=Oo(t)},ve:t=>n+=t}}function co(t){const{diskNumber:e=0}=t;return e}function lo(t){const{diskOffset:e=0}=t;return e}function uo(t,e){const{availableSize:r=U}=t;return e>r}function fo(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Xt:0)}async function wo(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Oo(e),await n.write(e)}finally{n.releaseLock()}}function ho(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return Ds>e?Ds:e>Os?Os:e}}function po(t){return Math.floor(t.getTime()/1e3)}function mo(t){return t>=Rs&&Fs>=t}function yo(t){return Math.min(Fs,Math.max(Rs,t))}function bo(t,e,r,n){const a=e[r]===O?t.options[r]:e[r];return a===O?n:a}function So(t,e,r,n,a){const s=Eo(e,r,n),o=s===O?Eo(t.options,r,n):s;return o===O?a:o}function Eo(t,e,r){return t[e]===O?t[r]:t[e]}function go(t,e,r,n){return typeof(a=bo(t,e,r,n))==v&&a.trim()?Number(a):a;var a}function xo(t){return t+5*(Math.floor(t/16383)+1)}function zo(t,e){return t===O?e===O||e>0:0!==t}function Ao(t,e,r){t.setUint16(e,r,!0)}function Ro(t,e,r){t.setUint32(e,r,!0)}function Fo(t,e,r){t.setBigUint64(e,r,!0)}function Do(t,e,r){t.set(e,r)}function Oo(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Uo({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,ie:l,ce:u,extraFieldLength:d}){const f=io(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);Ao(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ao(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.ve(4),l||s!==O?f.uint32(l?t:s):f.ve(4),u||a!==O?f.uint32(u?t:a):f.ve(4),f.uint16(Oo(c)),f.uint16(d),{se:w,oe:h,rawLastModDate:i}}function To(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 ko(){return"application/octet-stream"}const vo=1048576,Co=".zip.js-temp";function Io(t={}){const{thresholdBytes:e=vo,directoryName:r=Co,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 Mo=1048576;function No(t={}){const{thresholdBytes:e=Mo}=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 jo=1048576,Po=".zip.js-temp",Wo="createSyncAccessHandle is only available in dedicated workers";function _o(t={}){const{thresholdBytes:e=jo,directoryName:r=Po,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(Wo);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 Lo,Bo,Vo,Zo,Ho;function qo(t,e,r={}){if(!Lo){const t=Error("WASM module not loaded");throw t.cause=Ho,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.Ce=Bo(a),this.in=Bo(s),this.inBufferSize=s,!this.Ce||!this.in)throw Error("allocation failed");if(this.Ie=new Uint8Array(a),t?(this.Me=Lo.deflate_process,this.Ne=Lo.deflate_last_consumed,this.je=Lo.deflate_end,this.Pe=Lo.deflate_new(),r="gzip"===e?Lo.deflate_init_gzip(this.Pe,n):"deflate-raw"===e?Lo.deflate_init_raw(this.Pe,n):Lo.deflate_init(this.Pe,n)):"deflate64-raw"===e?(this.Me=Lo.inflate9_process,this.Ne=Lo.inflate9_last_consumed,this.je=Lo.inflate9_end,this.Pe=Lo.inflate9_new(),r=Lo.inflate9_init_raw(this.Pe)):(this.Me=Lo.inflate_process,this.Ne=Lo.inflate_last_consumed,this.je=Lo.inflate_end,this.Pe=Lo.inflate_new(),r="deflate-raw"===e?Lo.inflate_init_raw(this.Pe):"gzip"===e?Lo.inflate_init_gzip(this.Pe):Lo.inflate_init(this.Pe)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Zo.buffer),o=this.Me,i=this.Ne,c=this.Ce,l=this.Ie;let u=0;for(;u<n.length;){const e=Math.min(n.length-u,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Vo&&(Vo(this.in),this.in=0),this.in=Bo(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(u,u+e),this.in);const d=o(this.Pe,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.Pe);if(0===w)break;u+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Zo.buffer),n=this.Me,s=this.Ce,o=this.Ie;for(;;){const i=n(this.Pe,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.Pe&&t.je&&(e=t.je(t.Pe)),t.Pe=0,t.in&&Vo&&Vo(t.in),t.in=0,t.Ce&&Vo&&Vo(t.Ce),t.Ce=0,e}}class Ko{constructor(t="deflate",e){return qo(!0,t,e)}}class Yo{constructor(t="deflate",e){return qo(!1,t,e)}}Ko.lt=!0,Yo.lt=!0;let Go,Xo=!1;function Jo(){Go=null,(async()=>{await Promise.allSettled(sr.map(t=>(pr(t),t.terminate()))),Me=O,Ne=!1})(),Xo=!1,Lo=Bo=Vo=Zo=Ho=null}(({We:t})=>{Pe=t})({We:t=>{if(!Go){let{wasmURI:e}=t;typeof e==k&&(e=e()),Go=(async(t,{baseURI:e})=>{if(!Xo)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(Lo=t,({malloc:Bo,free:Vo,memory:Zo}=Lo),"function"!=typeof Bo||"function"!=typeof Vo||!Zo)throw Lo=Bo=Vo=Zo=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Xo=!0}catch(t){throw(t=>{Ho=t})(t),t}})(e,t).catch(t=>{throw Go=null,t})}return Go}}),B({CompressionStreamFallback:Ko,DecompressionStreamFallback:Yo}),B({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});const Qo="Entry filename already exists",$o="Readable stream already consumed",ti="Invalid passThrough option (use readerOptions.passThrough or set uncompressedSize for each entry)",ei="zipjs-abort-export",ri="The operation was aborted",ni=new Set([1,h,10,p,28789,25461,m,y,b,22613,13]);class ai{constructor(t,e,r,n){const a=this;if(t.root&&n&&n.getChildByName(e))throw Error(Qo);r||(r={}),Object.assign(a,{fs:t,name:e,data:r.data,options:r.options,id:t._e++,parent:n,children:[],uncompressedSize:r.uncompressedSize||0,Le:r.Le||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(Qo);this.name=t}}class si extends ai{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 si(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=wi(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 ta||!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:di(t),Writer:null,reader:null})}}class oi extends ai{constructor(t,e,r,n){super(t,e,r,n),this.directory=!0}clone(t){const e=this,r=new oi(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 zi(this,t,{options:e},!0)}addText(t,e,r={}){return zi(this,t,{data:e,Reader:jr,Writer:Wr,options:r,uncompressedSize:Pr(e)})}addBlob(t,e,r={}){return zi(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 zi(this,t,{data:e,Reader:kr,Writer:vr,options:r,uncompressedSize:Math.floor(.75*(n-a))})}addUint8Array(t,e,r={}){return zi(this,t,{data:e,Reader:sn,Writer:on,options:r,uncompressedSize:e.length})}addHttpContent(t,e,r={}){return zi(this,t,{data:e,Reader:class extends nn{constructor(t){super(t,r)}},options:r})}addReadable(t,e,r={}){return zi(this,t,{Reader:di(e),options:r})}addFileSystemEntry(t,e={}){return Ei(this,t,e)}addFileSystemHandle(t,e={}){return Ei(this,t,e)}addFile(t,e={}){return(e=Object.assign({},e)).lastModDate||(e.lastModDate=new Date(t.lastModified)),zi(this,t.name,{data:t,Reader:()=>({readable:t.stream(),size:t.size}),options:e,uncompressedSize:t.size})}Be(t,e){return zi(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=ci([t],t=>ui(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=>!mi(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||mi(i.reason))return;throw i.reason===O?new DOMException(ri,"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(ei):t}d.push(e.getRelativeName(t))}}catch(r){f=!0,o.abort(Error(ei));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 Wa(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(Qo)}else r=new oi(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(Qo)}else e=new oi(this.fs,s,{data:null},r),n.push(e);e==this||e.data||(e.data=t)}else n.push(zi(r,s,{data:t,Reader:fi(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([hi(r,e.readerOptions),wn(t)]),a=new Gs(t,e);return await(async(t,e,r,n,a)=>{const{onstart:s,onprogress:o,onend:i,onentryprogress:c}=n,l=e,u=ci(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,Ve:i}=yi(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,ci([r],li),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[da])throw Error(ks);if(s!==O&&!(s instanceof Uint8Array))throw Error(ms);const i=Oo(s);if(i>e)throw Error(ps);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(),bo(o,a,Zn)&&!r.endsWith(A)&&(r+=A);const s=Qs(o,r,a);({name:r}=s);const{fe:i}=$s(o,r,a);0==i.level||i.compressionMethod!==O||i.passThrough||await We(o.config)||(i.level=0);const d=!bo(o,a,Zn);if(d&&n===O)throw Error(ks);const{ke:w,fe:h}=eo(o,d,n,i,a);if(d&&!i.passThrough&&zo(h.compressionMethod,h.level))throw Error(ks);const p=Object.assign({},a,s.fe,i,h),m=ro(p),y=so(p),b={pe:m,be:Oo(m.we,y.he)};c&&no(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.be+S}if(u&&!a)throw Error(ks);const w=oo(l);let h=bo(o,r,Wn);if(f>=t||w>=t||l.size>=e){if(!1===h)throw Error(Us);h=!0}return f+w+i+(h?98:d)})(r,Array.from(n.getChildren({recursive:!0}),t=>{const{name:e,Ve:a}=yi(t,n,r);return{name:e,size:t.directory?0:bi(t,Si(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 ii={FS:class{constructor(){xi(this)}get children(){return this.root.children}remove(t){pi(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(Qo)}else pi(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)}Be(t,e){return this.root.Be(t,e)}importBlob(t,e){return xi(this),this.root.importBlob(t,e)}importData64URI(t,e){return xi(this),this.root.importData64URI(t,e)}importUint8Array(t,e){return xi(this),this.root.importUint8Array(t,e)}importHttpContent(t,e){return xi(this),this.root.importHttpContent(t,e)}importReadable(t,e){return xi(this),this.root.importReadable(t,e)}importZip(t,e){return xi(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:oi,ZipFileEntry:si};function ci(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 ui(t,e){const{data:r}=t;return e&&r instanceof ta?r.compressedSize:t.uncompressedSize}function di(t){let e;return()=>{if(e)throw Error($o);return e=!0,{readable:t}}}function fi(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.Ze=new Mr(s),e.size=s.size,super.init()}readUint8Array(t,e){return this.Ze.readUint8Array(t,e)}}}function wi(t,e,r){return t.prototype?new t(e,r):t(e,r)}async function hi(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=wi(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.Le=!1)})),a}function pi(t){if(t.parent){const e=t.parent.children;e.forEach((r,n)=>{r.id==t.id&&e.splice(n,1)})}}function mi(t){return!!t&&t.message==ei}function yi(t,e,r){const n=r.relativePath?t.getRelativeName(e):t.getFullname(),a=t.options||{};let s={},o={};if(t.data instanceof ta){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)=>{ni.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"}),Si(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(ti);return{name:n,Ve:i}}function bi(t,e){const{reader:r}=t;return r&&r.size!==O?r.size:t.Le?O:ui(t,e)}function Si(t,e){const{readerOptions:r}=e;return!(t.directory||!(t.passThrough||r&&r.passThrough))}function Ei(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 gi(n)),"file"==n.kind){const t=await n.getFile();a.push(e.Be(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 gi(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 gi(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 xi(t){t.entries=[],t._e=0,t.root=new oi(t)}function zi(t,e,r,n){if(t.directory)return n?new oi(t.fs,e,r,t):new si(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,ri as ERR_ABORTED,Oa as ERR_AMBIGUOUS_ARCHIVE,ya as ERR_BAD_FORMAT,Ea as ERR_CENTRAL_DIRECTORY_NOT_FOUND,hs as ERR_DUPLICATED_NAME,za as ERR_ENCRYPTED,Ua as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Qo as ERR_ENTRY_EXISTS,Sa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ba as ERR_EOCDR_NOT_FOUND,xa 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,ps as ERR_INVALID_COMMENT,ms as ERR_INVALID_COMMENT_TYPE,we as ERR_INVALID_COMPRESSED_DATA,he as ERR_INVALID_CRC32,Es as ERR_INVALID_ENCRYPTION_STRENGTH,ys as ERR_INVALID_ENTRY_COMMENT,bs as ERR_INVALID_ENTRY_NAME,As as ERR_INVALID_EXTRAFIELD_DATA,zs as ERR_INVALID_EXTRAFIELD_TYPE,va as ERR_INVALID_FILENAME_VALIDATION,Ms as ERR_INVALID_GID,Ls as ERR_INVALID_LEVEL,Ca as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Ws as ERR_INVALID_MSDOS_ATTRIBUTES,_s as ERR_INVALID_MSDOS_DATA,ut as ERR_INVALID_PASSWORD,Bs as ERR_INVALID_PASSWORD_TYPE,ti as ERR_INVALID_PASS_THROUGH,dt as ERR_INVALID_SIGNATURE,Vs as ERR_INVALID_SIGNATURE_DATA,ka as ERR_INVALID_STRICTNESS,Is as ERR_INVALID_UID,fe as ERR_INVALID_UNCOMPRESSED_SIZE,js as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,Ps as ERR_INVALID_UNIX_ID_SIZE,Ns as ERR_INVALID_UNIX_MODE,Ss as ERR_INVALID_VERSION,Sr as ERR_ITERATOR_COMPLETED_TOO_SOON,ga as ERR_LOCAL_FILE_HEADER_NOT_FOUND,Da as ERR_OVERLAPPING_ENTRY,$o as ERR_READABLE_CONSUMED,re as ERR_RESERVED_COMPRESSION_METHOD,Fa as ERR_SPLIT_ZIP_FILE,vs as ERR_UNDEFINED_READER,Ts as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ks as ERR_UNDETERMINED_SIZE,Ta as ERR_UNSAFE_FILENAME,Ra as ERR_UNSUPPORTED_COMPRESSION,Wo as ERR_UNSUPPORTED_CONTEXT,ht as ERR_UNSUPPORTED_CRYPTO_API,Aa as ERR_UNSUPPORTED_ENCRYPTION,xs as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,gs as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Us as ERR_UNSUPPORTED_FORMAT,Ie as ERR_WORKER_STARTUP_TIMEOUT,Er as ERR_WRITER_NOT_INITIALIZED,Cs 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,Wa as ZipReader,_a as ZipReaderStream,Gs as ZipWriter,Xs as ZipWriterStream,_ as configure,No as createBlobTempStream,Io as createOPFSTempStream,_o as createSyncAccessHandleTempStream,ii as fs,ko as getMimeType,ie as registerCodec,V as resetConfiguration,Jo 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};