@zip.js/zip.js 2.8.43 → 2.8.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -37
- package/deno.json +1 -1
- package/dist/zip-core-external.js +67 -47
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +68 -46
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +67 -47
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +66 -46
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +67 -47
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +70 -48
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +69 -47
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +70 -48
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +70 -48
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +69 -47
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +70 -48
- package/index-native.min.js +1 -1
- package/index.cjs +69 -47
- package/index.d.cts +80 -7
- package/index.d.ts +80 -7
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +6 -2
- package/lib/core/options.js +4 -0
- package/lib/core/streams/aes-crypto-stream.js +4 -4
- package/lib/core/streams/codec-stream.js +4 -0
- package/lib/core/streams/common-crypto.js +2 -0
- package/lib/core/streams/zip-entry-stream.js +12 -8
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/web-worker-wasm.js +4 -8
- package/lib/core/zip-entry.js +3 -0
- package/lib/core/zip-reader.js +35 -26
- package/lib/core/zip-writer.js +16 -7
- package/lib/zip-core-reader.js +2 -0
- package/package.json +1 -1
- package/worker-message-property-names.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=33639248,i=101010256,c=101075792,l=117853008,d=22,u=20,f=21589,w=2048,p=16384,m=2048,h=1024,y="/",b=30,S=new Date(2107,11,31,23,59,58),E=new Date(1980,0,1),g=void 0,x=1/0,z="undefined",F="function",R=new Uint8Array;let A=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(A=navigator.hardwareConcurrency)}catch{}const D={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:A,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=z&&CompressionStream,DecompressionStream:typeof DecompressionStream!=z&&DecompressionStream},U=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],T={...D};function O(){return T}function k(t){return Math.max(t.chunkSize,64)}function v(t){for(const e of U){const r=t[e];r!==g&&(T[e]=r)}}function M(t){for(const e of U){const r=t[e];r!==g&&(D[e]=r)}v(t)}function C(){for(const t of U)delete T[t];Object.assign(T,D)}const I="Invalid codec definition",N="Reserved compression method",j="Invalid codec module",P="string",_=[0,8,9,99],W=new Map,L=new Map;function B(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!=P||!n.length)throw Error(I);if(_.includes(r))throw Error(N);const c=typeof s==F||typeof o==F;if(!(c||typeof a==P&&a.length))throw Error(I);W.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&q(n,{CompressionStream:s,DecompressionStream:o})}function V(t){const e=W.get(t);if(e){let r;W.delete(t),W.forEach(t=>r=r||t.format==e.format),r||L.delete(e.format)}}function Z(t){return W.get(t)}function H(t){return L.get(t)}function q(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=F&&typeof n!=F)throw Error(j);L.set(t,{CompressionStream:r,DecompressionStream:n})}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==z){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)}function st(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function ot(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function it(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ct={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ct.l(r);return 32===n?t.concat(e):ct.m(e,n,0|r,t.slice(0,t.length-1))},h(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ct.l(r)},S(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]=ct.F(e,t[r-1]&2147483648>>e-1,1)),t},F:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(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=ct.l(a);return n.push(ct.F(e+s&31,e+s>32?r:n.pop(),1)),n}},lt={bytes:{R(t){const e=ct.h(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},A(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(ct.F(8*(3&r),n)),e}}},dt=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.O=t.O.slice(0),e.v=t.v):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.O=[],t.v=0,t}update(t){const e=this;"string"==typeof t&&(t=lt.M.A(t));const r=e.O=ct.concat(e.O,t),n=e.v,a=e.v=n+ct.h(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.O;const r=t.T;e=ct.concat(e,[ct.F(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.v/4294967296)),e.push(0|t.v);e.length;)t.C(e.splice(0,16));return t.reset(),r}N(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}j(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,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.j(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.j(5,a)+e.N(t,s,o,i)+c+n[t]+e.U[Math.floor(t/20)]|0;c=i,i=o,o=e.j(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}},ut={importKey:t=>new ut.P(lt.bytes.A(t)),_(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 d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ct;for(e=lt.bytes.A(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++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},P:class{constructor(t){const e=this,r=e.W=dt,n=[[],[]];e.L=[new r,new r];const a=e.L[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.L[0].update(n[0]),e.L[1].update(n[1]),e.B=new r(e.L[0])}reset(){const t=this;t.B=new t.W(t.L[0]),t.V=!1}update(t){this.V=!0,this.B.update(t)}digest(){const t=this,e=t.B.I(),r=new t.W(t.L[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.V)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},ft=typeof crypto!=z&&typeof crypto.getRandomValues==F,wt="Invalid password",pt="Invalid signature",mt="zipjs-abort-check-password";function ht(t){if(ft)return crypto.getRandomValues(t);throw Error("Crypto API not supported")}const yt=16,bt={name:"PBKDF2"},St=Object.assign({hash:{name:"HMAC"}},bt),Et=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},bt),gt=["deriveBits"],xt=[8,12,16],zt=[16,24,32],Ft=10,Rt=[0,0,0,0],At=typeof crypto!=z,Dt=At&&crypto.subtle,Ut=At&&typeof Dt!=z,Tt=lt.bytes,Ot=class{constructor(t){const e=this;e.Z=[[[],[],[],[],[]],[[],[],[],[],[]]],e.Z[0][0][0]||e.H();const r=e.Z[0][4],n=e.Z[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.U=[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.K(t,0)}decrypt(t){return this.K(t,1)}H(){const t=this.Z[0],e=this.Z[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 d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}K(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.U[e],n=r.length/4-2,a=[0,0,0,0],s=this.Z[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},kt=class{constructor(t,e){this.Y=t,this.G=e,this.X=e}reset(){this.X=this.G}update(t){return this.J(this.Y,t,this.X)}$(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}et(t){0===(t[0]=this.$(t[0]))&&(t[1]=this.$(t[1]))}J(t,e,r){let n;if(!(n=e.length))return[];const a=ct.h(e);for(let a=0;n>a;a+=4){this.et(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 ct.S(e,a)}},vt=ut.P;let Mt=At&&Ut&&typeof Dt.importKey==F,Ct=At&&Ut&&typeof Dt.deriveBits==F;class It extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n}){super({start(){jt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,nt:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await _t(t,e,r,Lt(n,0,xt[e])),s=Lt(n,xt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(wt)})(r,s,a,Lt(t,0,xt[s]+2)),t=Lt(t,xt[s]+2),n?e.error(Error(mt)):o()):await i;const c=new Uint8Array(t.length-Ft-(t.length-Ft)%yt);e.enqueue(Pt(r,t,c,0,Ft,!0))},async flush(t){const{st:e,ot:r,pending:n,ready:a}=this;if(r&&e){await a;const s=Lt(n,0,n.length-Ft),o=Lt(n,n.length-Ft);let i=R;if(s.length){const t=Vt(Tt,s);r.update(t);const n=e.update(t);i=Bt(Tt,n)}const c=Lt(Bt(Tt,r.digest()),0,Ft);let l=n.length<Ft?1:0;for(let t=0;Ft>t;t++)l|=c[t]^o[t];if(l)throw Error(pt);t.enqueue(i)}}})}}class Nt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){let n;super({start(){jt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,nt:s,ready:o}=r;let i=R;n?(i=await(async(t,e,r)=>{const n=ht(new Uint8Array(xt[e]));return st(n,await _t(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%yt);c.set(i,0),e.enqueue(Pt(r,t,c,i.length,0))},async flush(t){const{st:e,ot:r,pending:a,ready:s}=this;if(r&&e){await s;let o=R;if(a.length){const t=e.update(Vt(Tt,a));r.update(t),o=Bt(Tt,t)}n.signature=Bt(Tt,r.digest()).slice(0,Ft),t.enqueue(st(o,n.signature))}}}),n=this}}function jt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.nt=e),password:Wt(e,r),strength:n-1,pending:R})}function Pt(t,e,r,n,a,s){const{st:o,ot:i,pending:c}=t;c.length&&(e=st(c,e));const l=e.length-a;let d;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%yt)),d=0;l-yt>=d;d+=yt){const t=Vt(Tt,Lt(e,d,d+yt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Bt(Tt,a),d+n)}return t.pending=Lt(e,d),r}async function _t(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!Mt)return ut.importKey(e);try{return await Dt.importKey("raw",e,r,!1,a)}catch{return Mt=!1,ut.importKey(e)}})(0,r,St,0,gt),s=await(async(t,e,r)=>{if(!Ct)return ut._(e,t.salt,Et.iterations,r);try{return await Dt.deriveBits(t,e,r)}catch{return Ct=!1,ut._(e,t.salt,Et.iterations,r)}})(Object.assign({salt:n},Et),a,8*(2*zt[e]+2)),o=new Uint8Array(s),i=Vt(Tt,Lt(o,0,zt[e])),c=Vt(Tt,Lt(o,zt[e],2*zt[e])),l=Lt(o,2*zt[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},st:new kt(new Ot(i),Array.from(Rt)),ot:new vt(c)}),l}function Wt(t,e){return e===g?at(t):e}function Lt(t,e,r){return t.subarray(e,r)}function Bt(t,e){return t.R(e)}function Vt(t,e){return t.A(e)}class Zt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){qt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Kt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(wt);t=t.subarray(12)}n?e.error(Error(mt)):e.enqueue(Kt(r,t))}})}}class Ht extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){qt(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=ht(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Yt(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Yt(r,t),a),e.enqueue(n)}})}}function qt(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 rt(n[0]),lt:new rt(n[2])}),r)for(let e=0;e<r.length;e++)Gt(t,r[e]);else for(let r=0;r<e.length;r++)Gt(t,e.charCodeAt(r))})(t,e,r)}function Kt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Xt(t)^e[n],Gt(t,r[n]);return r}function Yt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Xt(t)^e[n],Gt(t,e[n]);return r}function Gt(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Qt(Math.imul(Qt(r+Jt(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Xt(t){const e=2|t.keys[2];return Jt(Math.imul(e,1^e)>>>8)}function Jt(t){return 255&t}function Qt(t){return 4294967295&t}function $t(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 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 uncompressed size",re="Invalid compressed data",ne="deflate-raw",ae="gzip",se=[31,139,8];class oe extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,signed:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&H(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new nt,y=me(y,p)),a)if(b)y=he(y,we(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new ie,y=he(y,new n(ae)),y=me(y,h);else try{y=pe(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(ae)}catch{throw t}y=he(y,e),y=me(y,new ie)}s&&(i?y=me(y,new Ht(t)):(m=new Nt(t),y=me(y,m))),fe(w,y,()=>{let t;s&&!i&&(t=m.signature),s&&!i||!c||(t=S?h.signature:new DataView(p.value.buffer).getUint32(0)),w.signature=t})}}class ie 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=st(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(st(r.subarray(0,o),t.subarray(0,s-o))),r=st(r.subarray(o),t.subarray(s-o))},flush(){const e=it(r);t.signature=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class ce extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,signed:o,signature:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=me(y,new Zt(t)):(h=new It(t),y=me(y,h))),c){const t=u&&H(u);if(t)y=he(y,we(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=pe(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===g)throw t;let e;try{e=new n(ae)}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 d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(se),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=it(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=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=me(t,d),me(t=he(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(ee)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}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(re);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}s&&!a||!o||(m=new nt,y=me(y,m)),fe(this,y,()=>{if((!s||a)&&o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(pt)}})}}const le=new Map;function de(t,e){if(!t)return!1;let r=le.get(t);r||(r=new Map,le.set(t,r));let n=r.get(e);if(n===g){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function ue(t){return de(t,ne)}function fe(t,e,r){e=me(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function we(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function pe(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":ne;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return he(t,i)}function me(t,e){return $t(t).pipeThrough(e)}function he(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 ye="data",be="deflate",Se="inflate";class Ee extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(be)?a=oe:n.startsWith(Se)&&(a=ce),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!==g&&r.outputSize>t.outputSize))throw Error(ee)},flush(){const{signature:t}=o;Object.assign(r,{signature:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class ge 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 xe={type:"module"},ze="error";let Fe,Re,Ae,De,Ue=!0;try{Ue=typeof structuredClone==F&&structuredClone(new DOMException("","AbortError")).code!==g}catch{}let Te=()=>{};class Oe{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c},l){const{signal:d}=s;return Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new ge(k(a))).pipeThrough(new ke(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,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,l(t)}}}),Fe===g&&(Fe=typeof Worker!=z),(o&&Fe?Ce:Me)(t,a)}}class ke 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 Me(t,e){return{run:()=>Ie(t,e)}}function Ce(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==F&&(s=s());try{o=je(t.workerURI,r,t)}catch{return Fe=!1,Me(t,e)}Object.assign(t,{ht:o,gt:!1,Et:!1,bt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,Ft:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,Ft:()=>e.abort()}})(t.writable);let d;try{d=We({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.gt||!Number.isFinite(u)||0>u||(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.gt)return;const{zt:e,writer:r}=t;if(Ne(t),t.ht=null,e){const t=Error("Worker startup timeout");t.At=!0,e(t),r&&r.releaseLock()}})(t),u));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(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.At){Fe=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Ie(t,e)}throw r}}}})}return t.bt}async function Ie({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(be),r=e?a.CompressionStreamZlib:a.DecompressionStreamZlib,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Dt&&!ue(n))try{await Te(a)}catch{}}else try{await Te(a)}catch{r&&!r.Dt||(t.useCompressionStream=!0)}}s=new Ee(t,a),await e.pipeThrough(s).pipeThrough(new ge(k(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:o,outputSize:i}=s;return{signature:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function Ne(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function je(t,e,r,n,a=!0){let s,o,i;if(Ae===g||Re!==t){const c=typeof t==F;o=c?t(a):t;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){n===g&&(n=!1),n&&(i=xe);try{s=new Worker(o,i)}catch(a){if(d)try{URL.revokeObjectURL(o)}catch{}if(c&&d)return je(t,e,r,n,!1);if(n)throw a;return je(t,e,r,!0,!1)}}else{n===g&&(n=!0),n&&(i=xe);try{o=new URL(o,e)}catch{}try{s=new Worker(o,i)}catch(s){if(n)throw s;return je(t,e,r,!1,a)}}Re=t,Ae=o,De=i}else s=new Worker(Ae,De);return s.addEventListener("message",t=>{r.gt=!0,Pe(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,zt:d,St:u,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=o,i=Error(t);Object.assign(i,{stack:e,code:r,name:n,outputSize:a}),s&&(i.cause=Object.assign(Error(s.message),{name:s.name})),p(i)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||We({type:ye,value:t,done:r,messageId:a},e)}r==ye&&(await c.ready,await c.write(new Uint8Array(n)),w()||We({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(Ne(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),s.addEventListener(ze,t=>_e(t,r)),s.addEventListener("messageerror",t=>_e(t,r)),s}function Pe(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function _e(t,e){t.preventDefault&&t.preventDefault(),Pe(e);const{gt:r,zt:n,writer:a,St:s}=e;if(Ne(e),r||(e.ht=null),n){let e=t.error||Error(t.message||ze);r||(e=Object.assign(Error(e.message||ze),{At:!0})),n(e),a&&a.releaseLock(),r&&s()}}function We(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=ot(r),i.push(t.value.buffer)),n&&Ue&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{Ue=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Le=[];const Be=[];let Ve,Ze,He=0;async function qe(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,signed:c,encrypted:l,format:d,codecURI:u}=r,{workerURI:f,maxWorkers:w}=n;d&&(u&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(u,n.baseURI)),await(async(t,e)=>{!L.has(t)&&e&&q(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(d,r.codecURI)),e.transferStreams=a||a===g&&n.transferStreams;const p=!i&&!c&&!l,m=d===g||!!r.codecURI;return e.useWebWorkers=!p&&m&&(s||s===g&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&f?f:g,r.useCompressionStream=o||o===g&&n.useCompressionStream,(await(async()=>{const r=Le.find(t=>!t.ft);if(r)return Je(r),new Oe(r,t,e,h);if(Le.length<w){const r={Ut:He};return He++,Le.push(r),new Oe(r,t,e,h)}return new Promise(r=>{Be.push({resolve:r,stream:t,Tt:e}),Ze=n.workerStarvationTimeout,Ke()})})()).run();function h(t){if(Ye(),Be.length){const[{resolve:e,stream:r,Tt:n}]=Be.splice(0,1);e(new Oe(t,r,n,h)),Ke()}else t.ht?(Je(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.Ot=setTimeout(async()=>{Le=Le.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Le=Le.filter(e=>e!=t)}}function Ke(){!Ve&&Be.length&&Number.isFinite(Ze)&&Ze>=0&&(Ve=setTimeout(Ge,Ze))}function Ye(){Ve&&(clearTimeout(Ve),Ve=null)}function Ge(){if(Ve=null,Be.length){const[{resolve:t,stream:e,Tt:r}]=Be.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:g});t(new Oe({},e,n,Xe)),Ke()}}function Xe(){Ye(),Ke()}function Je(t){const{Ot:e}=t;e&&(clearTimeout(e),t.Ot=null)}const Qe="HTTP error ",$e="HTTP Range not supported",tr="HTTP resource changed",er="Writer iterator completed too soon",rr="Writer not initialized",nr="Content-Range",ar="Range",sr="GET",or="bytes",ir=16777216,cr="writable",lr=Symbol();class dr{constructor(){this.size=0}init(){this.initialized=!0}}class ur extends dr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=k(O())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===g?r:Math.min(r,e-a),i=await Kr(n,t+a,o);s.enqueue(i),a+r>e||e===g&&!i.length&&o?s.close():a+=r}})}}class fr extends dr{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(rr);return t.writeUint8Array(ot(e))}});Object.defineProperty(t,cr,{get:()=>e})}writeUint8Array(){}}class wr 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 pr extends fr{constructor(t){super(),Object.assign(this,{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 mr,hr;class yr extends ur{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),hr||(hr=(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();mr=1==e}catch{mr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?mr?$t(e.slice(n,n+a).stream()):super.createReadable(t):$t(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 br extends dr{constructor(t){super();const e=this,r=new TransformStream;if(Object.defineProperty(e,cr,{get:()=>r.writable}),typeof Blob.prototype.stream!=F||new Blob([]).stream()instanceof ReadableStream){const n=[];t&&n.push(["Content-Type",t]),e.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];e.blob=r.readable.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,{type:t}))}e.blob.catch(()=>{})}getData(){return this.blob}}class Sr extends yr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Er extends br{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 gr extends ur{constructor(t,e){super(),zr(this,t,e)}async init(){await Fr(this,Nr,vr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==g){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($e);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=g,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Nr(sr,t,Or(t,a,e));if(206!=r.status)throw Error($e);const i=r.headers.get(nr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error($e)}Tr(t,r),Ur(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 Rr(this,t,e,Nr,vr)}}class xr extends ur{constructor(t,e){super(),zr(this,t,e)}async init(){await Fr(this,jr,Mr),super.init()}readUint8Array(t,e){return Rr(this,t,e,jr,Mr)}}function zr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=ir,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 Fr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=O(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(sr,t,Or(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==or))throw Error($e);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Mt=e)}Ur(t,n);const a=Ar(n);a===g?await Ir(t,e,r):t.size=a}}else await Ir(t,e,r)}async function Rr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Mt: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(sr,t,Or(t,e,r));if(206!=a.status)throw Error($e);const s=a.headers.get(nr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error($e)}Tr(t,a),Ur(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error($e);return o}return R}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Ar(t){const e=t.headers.get(nr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Dr({headers:t}){return{Ct:t.get("Etag")||g,lastModified:t.get("Last-Modified")||g}}function Ur(t,e){const{checkResourceChanges:r,It:n}=t;r&&!n&&206==e.status&&(t.It=Dr(e))}function Tr(t,e){const{checkResourceChanges:r,It:n,size:a}=t;if(r){const t=Ar(e);if(t!==g&&a!==g&&t!=a)throw Error(tr);if(n){const t=Dr(e);if(Object.entries(n).some(([e,r])=>r!==g&&t[e]!==g&&r!=t[e]))throw Error(tr)}}}function Or(t,e=0,r=1){return Object.assign({},kr(t),{[ar]:or+"="+(0>e?e:e+"-"+(e+r-1))})}function kr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function vr(t){await Cr(t,Nr)}async function Mr(t){await Cr(t,jr)}async function Cr(t,e){const r=await e(sr,t,kr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Ir(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,kr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Nr(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($e):Error(Qe+(s.statusText||s.status))}function jr(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($e):Error(Qe+(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 Pr extends ur{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new xr(t,e):new gr(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 _r extends Pr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Wr 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 Lr extends fr{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 Br extends ur{constructor(t){super(),this.Nt=t}async init(){const t=this,{Nt:e}=t;t.jt=0,await Promise.all(e.map(t=>qr(t))),t.Pt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{Pt:e,size:r}=this,n=e[t];return n===g?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=st(await Kr(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await Kr(i,o,e)}else a=R;return r.jt=Math.max(s,r.jt),a}}class Vr extends dr{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===lr)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(er);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await qr(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,cr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(lr)}finally{t.releaseLock()}}}class Zr{constructor(t){return Array.isArray(t)&&(t=new Br(t)),(t instanceof ReadableStream||typeof t.getReader==F)&&(t={readable:$t(t)}),t}}class Hr{constructor(t){return t.writable===g&&typeof t.next==F&&(t=new Vr(t)),(t instanceof WritableStream||typeof t.getWriter==F)&&(t={writable:te(t)}),t.size===g&&(t.size=0),t}}async function qr(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function Kr(t,e,r){return t.readUint8Array(e,r)}const Yr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Gr(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Yr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const Xr="filename",Jr="rawFilename",Qr="comment",$r="rawComment",tn="uncompressedSize",en="compressedSize",rn="offset",nn="diskNumberStart",an="lastModDate",sn="rawLastModDate",on="lastAccessDate",cn="creationDate",ln="rawCreationDate",dn="internalFileAttributes",un="externalFileAttributes",fn="msdosAttributesRaw",wn="msdosAttributes",pn="msDosCompatible",mn="zip64",hn="encrypted",yn="version",bn="versionMadeBy",Sn="zipCrypto",En="directory",gn="executable",xn="compressionMethod",zn="signature",Fn="extraField",Rn="unixMode",An="setuid",Dn="setgid",Un="sticky",Tn=[Xr,Jr,tn,en,an,sn,Qr,$r,on,cn,ln,rn,nn,dn,un,fn,wn,pn,mn,hn,yn,bn,Sn,En,gn,xn,zn,Fn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Rn,An,Dn,Un,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class On{constructor(t){Tn.forEach(e=>this[e]=t[e])}}const kn="password",vn="rawPassword",Mn="passThrough",Cn="signal",In="checkAmbiguity",Nn="useWebWorkers",jn="useCompressionStream",Pn="transferStreams",_n="preventClose",Wn="offset",Ln="usdz",Bn="strictness",Vn="strict",Zn="tolerant",Hn="File format is not recognized",qn="End of central directory not found",Kn="End of Zip64 central directory locator not found",Yn="Central directory header not found",Gn="Local file header not found",Xn="Zip64 extra field not found",Jn="File contains encrypted entry",Qn="Encryption method not supported",$n="Compression method not supported",ta="Split zip file",ea="Overlapping entry found",ra="Ambiguous archive",na="Encrypted central directory is not supported",aa="utf-8",sa="cp437",oa=[[tn,t],[en,t],[rn,t],[nn,e]],ia={[e]:{Wt:Ma,bytes:4},[t]:{Wt:Ca,bytes:8}};class ca{constructor(t,e={}){Object.assign(this,{reader:new Zr(t),options:e,config:O(),Lt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:i}=s;const{config:f}=s;if(await qr(i),i.size!==g&&i.readUint8Array||(i=new yr(await new Response(i.readable).blob()),await qr(i)),i.size<d)throw Error(Hn);const w=ba(Ua(s,n,Bn),Ua(s,n,In)),b=w==Vn,S=w!=Zn,E=((t,r)=>t!==g?t:r==Vn?0:r==Zn?1/0:e)(Ua(s,n,"maxAppendedDataSize"),w),{Bt:x,Vt:z}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Sa};let o,i,c=0;for await(const[r,l,u,f,w]of za(t,a)){const a=va(r,f+20);if(w+d+a==n){const a=await Ra(t,r,l,f,w,n,s);if(a==xa){if(o||(o=Fa(u,f,w)),c++,!e||c>1)break}else a!=ga||i||(i=Fa(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,d]of za(t,a)){const a=Fa(c,l,d);s||(s=a);const u=await Ra(t,e,i,l,d,n,r);if(u==xa)return a;u!=ga||o||(o=a)}return o||s})(t,r,s)),{Bt:o,Vt:c}})(i,S,E);if(!x)throw Ma(it(await Kr(i,0,4)))==a?Error(ta):Error(qn);S&&z>1&&Da("multiple end of central directory records");const F=it(x);let A=Ma(F,12),D=Ma(F,16);const U=x.offset,T=va(F,20),O=U+d+T;i.size-O>E&&Da("appended data");let k=va(F,4);const v=i.jt||0;let M,C,I,N=va(F,6),j=va(F,10),P=0;const _=D==t||A==t||j==e||N==e;if(D!=t&&N!=e&&(D+=ya(i,N)),_){const r=x.offset<u?R:await Kr(i,x.offset-u,u),n=it(r);if(r.length==u&&Ma(n,0)==l){D=ya(i,Ma(n,4))+Ca(n,8);let r=await Kr(i,D,56),a=it(r);const s=x.offset-u-56;if((56>r.length||Ma(a,0)!=c)&&D!=s&&s>=0){const t=D;D=s,D>t&&(P=D-t),r=await Kr(i,D,56),a=it(r)}if(56>r.length||Ma(a,0)!=c)throw Error(Kn);C=!0,I=Ca(a,4)>44,k==e?k=Ma(a,16):b&&k!=Ma(a,16)&&Da("mismatched zip64 end of central directory record"),N==e?N=Ma(a,20):b&&N!=Ma(a,20)&&Da("mismatched zip64 end of central directory record"),j==e?j=Ca(a,32):b&&j!=Ca(a,32)&&Da("mismatched zip64 end of central directory record"),A==t?A=Ca(a,40):b&&A!=Ca(a,40)&&Da("mismatched zip64 end of central directory record"),D=ya(i,N)+Ca(a,48)+P}}const W=A,L=x.offset-(C?76:0);if(D<i.size||(P=i.size-D-A-d,D=i.size-A-d),v!=k)throw Error(ta);if(0>D)throw Error(Hn);let B=0,V=await Kr(i,D,A),Z=it(V);if(A){if(4>V.length)throw Error(Hn);const t=L-A;if(D!=t&&N==k){let e=!(Ma(Z,B)==o);if(e||0>t||t+4>i.size||(e=Ma(it(await Kr(i,t,4)),0)==o),e){const e=D;D=t,D>e&&(P+=D-e),V=await Kr(i,D,A),Z=it(V)}}}const H=L-D;if(A==H||0>H||N!=k||(A=H,V=await Kr(i,D,A),Z=it(V)),0>D||D>=i.size)throw Error(Hn);M=D;const q=Ua(s,n,"filenameEncoding"),K=Ua(s,n,"commentEncoding"),Y=b?new Set:g;let G;for(let t=0;j>t;t++){const a=new da(i,f,s.options);if(B+46>V.length||Ma(Z,B)!=o){if(0==t&&(I||ua(Z)))throw Error(na);throw Error(Yn)}fa(a,Z,B+6);const c=!!a.bitFlag.languageEncodingFlag,l=B+46,d=l+a.filenameLength,u=d+a.extraFieldLength,w=va(Z,B+4),S=!(w>>8),E=w>>8==3,x=V.subarray(l,d),z=va(Z,B+32),F=u+z,R=V.subarray(u,F),A=c,D=c,U=Ma(Z,B+38),T=U&r,O={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},k=Ma(Z,B+42),v=Ua(s,n,"decodeText")||Gr,C=A?aa:q||sa,N=D?aa:K||sa;let _=v(x,C);_===g&&(_=Gr(x,C));let W=v(R,N);W===g&&(W=Gr(R,N)),Object.assign(a,{index:t,versionMadeBy:w,msDosCompatible:S,compressedSize:0,uncompressedSize:0,Zt:z,offset:k,diskNumberStart:va(Z,B+34),internalFileAttributes:va(Z,B+36),externalFileAttributes:U,msdosAttributesRaw:T,msdosAttributes:O,rawFilename:x,filenameUTF8:A,commentUTF8:D,rawExtraField:V.subarray(d,u),rawComment:R,filename:_,comment:W}),wa(a,a,Z,B+6),a.offset+=P,M=Math.min(ya(i,a.diskNumberStart)+a.offset,M),b&&(Y.has(a.filename)&&(G=!0),Y.add(a.filename));const L=a.externalFileAttributes>>16&e;a.unixMode===g&&16877&L&&(a.unixMode=L);const H=!!(a.unixMode&m),X=!!(a.unixMode&h),J=!!(512&a.unixMode),Q=a.unixMode!==g?!!(73&a.unixMode):E&&!!(73&L),$=a.unixMode!==g&&(61440&a.unixMode)==p,tt=(61440&L)==p;Object.assign(a,{setuid:H,setgid:X,sticky:J,unixExternalUpper:L,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:$||tt||S&&O.directory||a.filename.endsWith(y)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new On(a);et.getData=(t,e)=>a.getData(t,et,s.Lt,e),et.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([new Response(e.readable).arrayBuffer(),a.getData(e,et,s.Lt,t)]);return r},B=F;const{onprogress:rt}=n;if(rt)try{await rt(t+1,j,new On(a))}catch{}yield et}b&&B!=W&&Da("trailing central directory data"),G&&Da("duplicate filename"),b&&(P||j&&M>0)&&Da("prepended data");const X=Ua(s,n,"extractPrependedData"),J=Ua(s,n,"extractAppendedData");return X&&(s.prependedData=M>0?await Kr(i,0,M):R),s.comment=T?await Kr(i,U+d,T):R,J&&(s.appendedData=O<i.size?await Kr(i,O,i.size-O):R),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class la{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ca(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}}class da{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:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,signature:S,rawLastModDate:E,uncompressedSize:x,compressedSize:z}=i,{dataDescriptor:F}=h,A=e.localDirectory={},D=ya(c,u)+d,U=await Kr(c,D,b),T=it(U);let O=Ua(i,o,kn),k=Ua(i,o,vn);const v=Ua(i,o,Mn);if(O=O&&O.length&&O,k=k&&k.length&&k,f&&99!=f.originalCompressionMethod)throw Error($n);if(U.length<b||Ma(T,0)!=n)throw Error(Gn);fa(A,T,4);const{extraFieldLength:M,filenameLength:C}=A,I=ba(Ua(i,o,Bn),Ua(i,o,In))==Vn;let N=R;if(I&&(C||M)){const t=await Kr(c,D+b,C+M);N=t.subarray(0,C),A.rawExtraField=t.subarray(C)}else A.rawExtraField=M?await Kr(c,D+b+C,M):R;wa(i,A,T,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&Da("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Da("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Da("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.signature||e.compressedSize||e.uncompressedSize)||e.signature==t.signature&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Da("mismatched local file header (signature or sizes)")})(i,A,N);const{lastAccessDate:j,creationDate:P}=A;j&&(e.lastAccessDate=j),P&&(e.creationDate=P);const _=i.encrypted&&A.encrypted&&!v,W=_&&!f;if(v||(e.zipCrypto=W),_&&!(64&~A.rawBitFlag))throw Error(Qn);const L=v?g:Z(p);if(0!=p&&8!=p&&9!=p&&!L&&!v)throw Error($n);if(_){if(!W&&(1>f.strength||f.strength>3))throw Error(Qn);if(!O&&!k)throw Error(Jn)}const B=D+b+C+M,V=z,H=$t(c.createReadable({offset:B,size:V})),q=Ua(i,o,Cn),K=Ua(i,o,"checkPasswordOnly");let Y=Ua(i,o,"checkOverlappingEntry");const G=Ua(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=Ua(i,o,jn);$&&(tt=!1);const et={options:{codecType:Se,password:O,rawPassword:k,zipCrypto:W,encryptionStrength:f&&f.strength,signed:Ua(i,o,"checkSignature")&&!v,passwordVerification:W&&(F?E>>>8&r:S>>>24&r),outputSize:v?z:x,signature:S,compressed:0!=p&&!v,encrypted:_,useWebWorkers:Ua(i,o,Nn),useCompressionStream:tt,transferStreams:Ua(i,o,Pn),deflate64:$,format:L?L.format:g,codecURI:L?L.codecURI:g,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:K},config:m,ut:{signal:q,size:V,onstart:X,onprogress:J,onend:Q}};let rt;Y&&await(async({reader:t,Ht:e,index:r,offset:n,signature:a,compressedSize:o,uncompressedSize:i,qt:c,dataDescriptor:l,extraFieldZip64:d,Lt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await Kr(t,c+o,f+4);if(r.length==f+4&&Ma(it(r),0)==s){const t=Ma(it(r),4);let n,s;d?(n=Ca(it(r),8),s=Ca(it(r),16)):(n=Ma(it(r),8),s=Ma(it(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Ht:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(ea);throw t.Kt=e.Ht,t}u.set(r,w)})({reader:c,Ht:e,index:l,offset:D,signature:S,compressedSize:z,uncompressedSize:x,qt:B,dataDescriptor:F||A.bitFlag.dataDescriptor,extraFieldZip64:w||A.extraFieldZip64,Lt:a});try{if(!G){K&&(t=new WritableStream),t=new Hr(t),await qr(t,v?z:x),({writable:rt}=t);const{outputSize:e}=await qe({readable:H,writable:rt},et);if(t.size+=e,e!=(v?z:x))throw Error(ee)}}catch(e){if(e.outputSize!==g&&(t.size+=e.outputSize),!K||e.message!=mt)throw e}finally{Ua(i,o,_n)||!rt||rt.locked||await rt.getWriter().close()}return K||G?g:t.getData?t.getData():rt}}function ua(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Ma(t,r))return!0;return!1}function fa(t,e,r){const n=t.rawBitFlag=va(e,r+2),a=!(1&~n),s=Ma(e,r+6);Object.assign(t,{encrypted:a,version:va(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&w)==w},rawLastModDate:s,lastModDate:Ta(s),filenameLength:va(e,r+22),extraFieldLength:va(e,r+24)})}function wa(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=it(s);let c=0;try{for(;c<s.length;){const t=va(i,c),e=va(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=va(r,n+4);Object.assign(e,{signature:Ma(r,n+10),compressedSize:Ma(r,n+14),uncompressedSize:Ma(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=it(t.data),n=oa.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ia[e].bytes,0);if(t.data.length<a)throw Error(Xn);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=ia[i];e[o]=t[o]=c.Wt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(pa(u,Xr,Jr,e,t),e.extraFieldUnicodePath=u);const w=o.get(25461);w&&(pa(w,Qr,$r,e,t),e.extraFieldUnicodeComment=w);const p=o.get(39169);p&&p.data.length>=7?(((t,e,r)=>{const n=it(t.data),a=ka(n,4);Object.assign(t,{Yt:ka(n,0),vendorId:ka(n,2),strength:a,originalCompressionMethod:r,compressionMethod:va(n,5)}),e.compressionMethod=t.compressionMethod})(p,e,l),e.extraFieldAES=p):e.compressionMethod=l;const m=o.get(10);m&&(((t,e)=>{const r=it(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=va(r,a),s=va(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}try{if(n&&24==n.length){const r=it(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:Oa(a),lastAccessDate:Oa(s),creationDate:Oa(o)};Object.assign(t,i),Object.assign(e,i)}}catch{}})(m,e),e.extraFieldNTFS=m);const h=o.get(30805);if(h)ma(h,e,!1),e.extraFieldUnix=h;else{const t=o.get(30837);t&&(ma(t,e,!0),e.extraFieldInfoZip=t)}const y=o.get(f);y&&(((t,e,r)=>{if(!t.data.length)return;const n=it(t.data),a=ka(n,0),s=[],o=[];r?(1&~a||(s.push(an),o.push(sn)),2&~a||(s.push(on),o.push("rawLastAccessDate")),4&~a||(s.push(cn),o.push(ln))):5>t.data.length||(s.push(an),o.push(sn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Ma(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(y,e,a),e.extraFieldExtendedTimestamp=y);const b=o.get(6534);b&&(e.extraFieldUSDZ=b)}function pa(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=it(t.data),o=new rt;o.append(a[r]);const i=it(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Ma(s,1);Object.assign(t,{version:ka(s,0),[e]:Gr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Ma(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ma(t,e,r){try{const n=it(t.data);let a,s;if(r){let e=0;const r=ka(n,e++),o=ka(n,e++);a=ha(t.data.subarray(e,e+o)),e+=o;const i=ka(n,e++);s=ha(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=va(n,0),s=va(n,2),Object.assign(t,{uid:a,gid:s}));a!==g&&(e.uid=a),s!==g&&(e.gid=s)}catch{}}function ha(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ya(t,e){return t._t?t._t(e):0}function ba(t,e){return t===g?e?Vn:"balanced":t}const Sa=64,Ea=0,ga=1,xa=2;async function*za(t,e){const r=t.size-e,n=await Kr(t,r,e),a=it(n);for(let t=n.length-d;t>=0;t--)Ma(a,t)==i&&(yield[a,r,n,t,r+t])}function Fa(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Ra(r,n,a,s,i,c,d){const f=va(n,s+10),w=Ma(n,s+12),p=Ma(n,s+16);if(f==e||w==t||p==t)return await Aa(r,n,a,i-u,c,d)==l?xa:Ea;if(!f&&!w)return ga;const m=va(n,s+6);for(const t of[i-w,ya(r,m)+p])if(await Aa(r,n,a,t,c,d)==o)return xa;return Ea}async function Aa(t,e,r,n,a,s){return 0>n||n+4>a?g:r>n?s.count>0?(s.count--,Ma(it(await Kr(t,n,4)),0)):g:Ma(e,n-r)}function Da(t){const e=Error(ra);throw e.reason=t,e}function Ua(t,e,r){return e[r]===g?t.options[r]:e[r]}function Ta(t){const r=(4294901760&t)>>16,n=t&e;try{return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function Oa(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function ka(t,e){return t.getUint8(e)}function va(t,e){return t.getUint16(e,!0)}function Ma(t,e){return t.getUint32(e,!0)}function Ca(t,e){return Number(t.getBigUint64(e,!0))}var Ia=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ra,ERR_BAD_FORMAT:Hn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Yn,ERR_ENCRYPTED:Jn,ERR_ENCRYPTED_CENTRAL_DIRECTORY:na,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Kn,ERR_EOCDR_NOT_FOUND:qn,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Xn,ERR_INVALID_COMPRESSED_DATA:re,ERR_INVALID_PASSWORD:wt,ERR_INVALID_SIGNATURE:pt,ERR_INVALID_UNCOMPRESSED_SIZE:ee,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Gn,ERR_OVERLAPPING_ENTRY:ea,ERR_SPLIT_ZIP_FILE:ta,ERR_UNSUPPORTED_COMPRESSION:$n,ERR_UNSUPPORTED_ENCRYPTION:Qn,ZipReader:ca,ZipReaderStream:la});const Na="File already exists",ja="Zip file comment exceeds 64KB",Pa="File entry comment exceeds 64KB",_a="File entry name exceeds 64KB",Wa="Version exceeds 65535",La="The strength must equal 1, 2, or 3",Ba="Encryption is not supported in USDZ files",Va="Extra field type exceeds 65535",Za="Extra field data exceeds 64KB",Ha=-2147483648,qa=2147483647,Ka="Zip64 is not supported (set the 'zip64' option to 'true')",Ya="Undefined uncompressed size",Ga="Undefined reader",Xa="Zip file not empty",Ja=new Uint8Array([7,0,2,0,65,69,3,0,0]),Qa="infozip",$a="unix";let ts=0;const es=[];class rs{constructor(t,e={}){t=new Hr(t);const{availableSize:r=x,maxSize:n=x}=t;Object.assign(this,{writer:t,Gt:r>0&&r!==x&&n>0&&n!==x,options:e,config:O(),files:new Map,Xt:new Set,offset:e[Wn]===g?t.size||t.writable.size||0:e[Wn],Jt:e[Wn]===g?0:e[Wn]-(t.size||t.writable.size||0),Qt:new Set,$t:0,te:g})}async prependZip(e){if(this.Xt.size)throw Error(Xa);e=new Zr(e),await qr(e);const{ZipReader:r}=await Promise.resolve().then(()=>Ia),n=new r(e.readable),a=await n.getEntries();await n.close(),await qr(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Xt=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:d,zip64:u}=e;let{compressionMethod:f,ee:w,re:p,ne:m,ae:h,se:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:x}=i;w=w||R,p=p||R,m=m||R,h=h||R,y=y||R,b=b||R,e.extraFieldAES&&(f=99);const z=zs(w,p,m,h,y,b),F=u&&l>=t,A=u&&d>=t,D=-7&Rs(S,E,x,c,f)|S<<1,{oe:U,ie:T}=Fs({version:r,bitFlag:D,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,ce:A,le:F,extraFieldLength:z}),{signature:O}=e;return O!==g&&Es(T,10,O),Object.assign(e,{le:F,ce:A,de:u&&e.offset>=t,diskNumberStart:0,ue:!1,ee:w,re:p,ne:m,ae:h,se:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,fe:1+(a?2:0)+(s?4:0),oe:U,ie:T}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Qt:d,config:u}=l;let w,z;ts<u.maxWorkers?ts++:await new Promise(t=>es.push(t));try{if(o=o.trim(),ys(l,c,En)&&!o.endsWith(y)&&(o+=y),l.Xt.has(o))throw Error(Na);return l.Xt.add(o),z=!0,w=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=ys(n,s,pn),i=ys(n,s,bn,o?20:768);const c=ys(n,s,gn),l=ys(n,s,"uid"),d=ys(n,s,"gid");let u=ys(n,s,Rn),f=ys(n,s,"unixExtraFieldType"),w=ys(n,s,An),b=ys(n,s,Dn),S=ys(n,s,Un);if(l!==g&&(0>l||l>t))throw Error("Invalid uid (must be integer 0..2^32-1)");if(d!==g&&(0>d||d>t))throw Error("Invalid gid (must be integer 0..2^32-1)");if(u!==g&&(0>u||u>e))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(f!==g&&f!==Qa&&f!==$a)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(f===$a&&(l!==g&&l>e||d!==g&&d>e))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");f!==g||l===g&&d===g||(f=Qa);let E=ys(n,s,fn),x=ys(n,s,wn);const z=E!==g||x!==g;if(l!==g||d!==g||u!==g||f?(o=!1,i=i&e|768):z&&(o=!0,i&=r),E!==g&&(0>E||E>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(x&&"object"!=typeof x)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(i>e)throw Error(Wa);let F=ys(n,s,un);const R=F!==g;R||(F=0),!s[En]&&a.endsWith(y)&&(s[En]=!0);const A=ys(n,s,En);let D;if(A?(a.endsWith(y)||(a+=y),R||(F=16,o||(F|=16877<<16))):o||R||(F=c?493<<16:27525120),!o){const t=u!==g||!!(w||b||S);D=F>>16&e,u=u===g?D:u&e,w?u|=m:w=!!(u&m),b?u|=h:b=!!(u&h),S?u|=512:S=!!(512&u),R&&!t||(A&&(u|=p),F=(u&e)<<16|F&e)}return({msdosAttributesRaw:E,msdosAttributes:x}=((t,e)=>{if(t!==g)t&=r;else if(e!==g){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===g&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,x)),z&&(F=F&t|E&r),{name:a,we:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:F,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:b,sticky:S,msdosAttributesRaw:E,msdosAttributes:x}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=ys(t,n,"encodeText",at);let s=a(r);if(s===g&&(s=at(r)),zs(s)>e)throw Error(_a);const o=n[Qr]||"";let i=a(o);if(i===g&&(i=at(o)),zs(i)>e)throw Error(Pa);const c=ys(t,n,yn,20);if(c>e)throw Error(Wa);const l=ys(t,n,an,new Date),d=ys(t,n,on),u=ys(t,n,cn),f=ys(t,n,dn,0),w=ys(t,n,Mn);let p,m;w||(p=ys(t,n,kn),m=ys(t,n,vn));const h=ys(t,n,"encryptionStrength",3),y=ys(t,n,Sn),b=ys(t,n,"extendedTimestamp",!0),S=ys(t,n,"ntfsTimestamp"),E=ys(t,n,"keepOrder",!0),x=ys(t,n,Nn),z=ys(t,n,Pn),F=ys(t,n,"bufferedWrite"),A=ys(t,n,"createTempStream"),D=ys(t,n,"dataDescriptorSignature",!0),U=ys(t,n,Cn),T=ys(t,n,"useUnicodeFileNames",!0),O=ys(t,n,xn),k=w||O===g?g:Z(O);if(!w&&O!==g&&0!==O&&8!==O&&!k)throw Error("Compression method not supported");let v=ys(t,n,"level");if(t.options[Ln]){if(p!==g||m!==g)throw Error(Ba);v===g&&O===g&&(v=0)}let M=ys(t,n,jn),C=ys(t,n,"dataDescriptor");F&&C===g&&(C=!1),(C===g||y)&&(C=!0),v!==g&&6!=v&&(M=!1);const I=ys(t,n,mn);if(!y&&(p!==g||m!==g)&&(1>h||h>3))throw Error(La);let N=R;const j=n[Fn];if(j){let t=0,r=0;j.forEach(e=>t+=4+zs(e)),N=new Uint8Array(t);const n=it(N);j.forEach((t,a)=>{if(a>e)throw Error(Va);if(zs(t)>e)throw Error(Za);Ss(n,r,a),Ss(n,r+2,zs(t)),xs(N,t,r+4),r+=4+zs(t)})}return{comment:o,we:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:x,transferStreams:z,bufferedWrite:F,createTempStream:A,dataDescriptorSignature:D,signal:U,useUnicodeFileNames:T,compressionMethod:O,format:k?k.format:g,codecURI:k?k.codecURI:g,pe:k?k.versionNeeded:g,level:v,useCompressionStream:M,dataDescriptor:C,zip64:I,rawExtraField:N}}})(o,i,l),{comment:w}=u,z=l[Fn];let F;o.files.set(i,g);try{const{we:w}=u;0==w.level||w.compressionMethod!==g||w.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamZlib:r}=t;if(r&&!r.Dt)return!0;if(ue(e)||de(e,ae))return!0;if(r)try{return await Te(t),!0}catch{return!1}return!1})(o.config)||(w.level=0);const p=await(async(e,r,{we:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error(Ga);if(m=a[tn],m===g)throw Error(Ya)}const h=!0===u,y=ys(e,a,hn),b=!!r&&(!!(i&&zs(i)||c&&zs(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new Zr(r),await qr(r),s?(a.uncompressedSize=m,p=bs(m)+S):r.size===g?(d=!0,(u||u===g)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=bs(m)+S));const E=h||m>=t,x=h||p>=t;if(E||x){if(!1===u)throw Error(Ka);u=!0}return u=u||!1,{reader:r,we:{dataDescriptor:d,zip64:u,le:E,ce:x,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=p);const m=ls(o.writer),h=cs(o.writer),y=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:w,rawExtraField:p,encryptionStrength:m,extendedTimestamp:h,ntfsTimestamp:y,passThrough:x,encrypted:z,le:F,ce:A,uncompressedSize:D}=t;let{version:U,compressionMethod:T}=t;const O=!w&&(T===g?i===g||i>0:0!==T);let k;const v=x||!O,M=c&&(t.bufferedWrite||!u||!F&&!A||v),C=M||c&&u&&(F||A);if(c&&(F||A)){const t=20,e=is(t);if(e.uint16(1),e.uint16(t-4),k=e.array,M&&(e.me(D),v)){const t=z?l?12:16+4*m:0;e.me(x?0:D+t)}}else k=R;let I,N,j,P,_;if(z&&!l){const t=is(zs(Ja)+2);t.uint16(39169),t.bytes(Ja),I=t.array,I[8]=m}else I=R;if(h){const t=ps(a),e=ms(t);if(e){const e=9+(s?4:0)+(o?4:0),r=is(e);P=1+(s?2:0)+(o?4:0),r.uint16(f),r.uint16(e-4),r.uint8(P),r.uint32(t),s&&r.uint32(hs(ps(s))),o&&r.uint32(hs(ps(o))),j=r.array}else j=R;if(y===g?!e||s||o:y)try{const t=ws(a),e=is(36);e.uint16(10),e.uint16(32),e.he(4),e.uint16(1),e.uint16(24),e.me(t),e.me(ws(s)||t),e.me(ws(o)||t),N=e.array}catch{N=R}else N=R}else N=j=R;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Qa||r===g&&n===g)if(a!=$a||r===g&&n===g)_=R;else{const t=is(8);t.uint16(30805),t.uint16(4),t.uint16((r===g?0:r)&e),t.uint16((n===g?0:n)&e),_=t.array}else{const t=os(r),e=os(n),a=3+t.length+e.length,s=is(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),_=s.array}}catch{_=R}T===g&&(T=O?8:0);const{pe:W}=t;O&&W!==g&&(U=U>W?U:W),c&&(U=U>45?U:45),z&&!l&&(U=U>51?U:51,I[9]=T,T=99);const L=C?zs(k):0,B=L+zs(I,j,N,_,p);if(B>e)throw Error(Za);const V=new Date(2e3*Math.ceil(a.getTime()/2e3)),{oe:Z,ie:H,rawLastModDate:q}=Fs({version:U,bitFlag:Rs(i,d,u,z,T),compressionMethod:T,uncompressedSize:D,lastModDate:E>V?E:V>S?S:V,rawFilename:r,ce:A,le:F,extraFieldLength:B}),K=is(b+zs(r)+B),Y=K.array,G=it(Y);return K.uint32(n),K.bytes(Z),K.bytes(r),C&&K.bytes(k),K.bytes(I),K.bytes(j),K.bytes(N),K.bytes(_),K.bytes(p),u&&(A||Es(G,18,0),F||Es(G,22,0)),{ye:Y,be:G,oe:Z,ie:H,lastModDate:a,rawLastModDate:q,encrypted:z,compressed:O,version:U,compressionMethod:T,fe:P,ee:R,Se:L,ne:j,ae:N,se:_,re:I,extraFieldLength:B}})(l=Object.assign({},l,d.we,u.we,p.we,{internalFileAttribute:u.we.internalFileAttributes,externalFileAttribute:d.we.externalFileAttributes,signature:l[zn],offset:o.offset-m,diskNumberStart:h})),z=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=R,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=it(a),r&&(o=4,Es(n,0,s))),{Ee:a,ge:n,xe:o}})(l),A=zs(y.ye,z.Ee);F=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{ze:w}=o,p=e.options[Ln],m=e.te;let h,y,S,E,z,F,R,A={},D=0;c.set(n,A),e.te=A;try{let y;d&&(y=m&&m.lock,A.lock=new Promise(t=>S=t)),i.bufferedWrite||!d||e.Fe||e.$t||!u?(h=!0,e.$t++,R=i.createTempStream?await i.createTempStream():new TransformStream(g,g,{highWaterMark:x}),R.size=0,await qr(l)):(R=l,await U()),await qr(R);const O=ls(l);if(e.Gt){delete e.Gt;const t=new Uint8Array(4);Es(it(t),0,a),await fs(l,t),e.offset+=4}p&&!h&&ss(o,e.offset-O);const{ye:k}=w;h||(await y,await T());const v=cs(l),M=us(e,l);if(A.diskNumberStart=v,h||(z=!0,F=l.size,await fs(R,k)),A=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{ze:l,Re:d,Ae:u}=o,{oe:f,ie:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,ee:E,Se:x,ne:z,fe:F,ae:R,se:A,re:D}=l,{Ee:U}=d,{rawFilename:T,lastAccessDate:O,creationDate:k,password:v,rawPassword:M,level:C,zip64:I,le:N,ce: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,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:V,ee:E,Se:x,ne:z,ae:R,se:A,re:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{signature:ht,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=$t(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:be,level:C,rawPassword:M,password:v,encryptionStrength:J,zipCrypto:h&&P,passwordVerification:h&&P&&m>>8&r,signed:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await qe({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,ht=e.signature),!j&&bt>=t||!N&&yt>=t)throw Error(Ka)}catch(t){throw t.outputSize!==g&&(n.size+=t.outputSize),t}}return(({signature:t,compressedSize:e,uncompressedSize:r,ze:n,Re:a},{zip64:s,zipCrypto:o,dataDescriptor:i})=>{const{ie:c,encrypted:l}=n,{ge:d,xe:u}=a;l&&!o||t===g||(Es(c,10,t),i&&Es(d,u,t)),s?i&&(gs(d,u+4,BigInt(e)),gs(d,u+12,BigInt(r))):(Es(c,14,e),Es(c,18,r),i&&(Es(d,u+4,e),Es(d,u+8,r)))})({signature:ht,compressedSize:bt,uncompressedSize:yt,ze:l,Re:d},c),_&&await fs(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:k,lastAccessDate:O,encrypted:h,zipCrypto:P,size:u+bt,compressionMethod:S,version:b,oe:f,ie:w,signature:ht,fe:F,le:N,ce:j}),mt})(s,R,A,o,e.config,i),h||(z=!1),c.set(n,A),A.filename=n,h){if(await Promise.all([R.writable.getWriter().close(),y]),await U(),E=!0,F=l.size,await T(),A.diskNumberStart=cs(l),A.offset=us(e,l),p){const t=o.Ae;ss(o,e.offset-ls(l)),A.size+=o.Ae-t}(({rawFilename:t,encrypted:e,zip64:r,Se:n,signature:a,compressedSize:s,uncompressedSize:o,le:i,ce:c},l,{dataDescriptor:d})=>{if(d||(e||Es(l,14,a),c||Es(l,18,s),i||Es(l,22,o)),r&&n){const e=b+zs(t)+4;gs(l,e,BigInt(o)),gs(l,e+8,BigInt(s))}})(A,w.be,i),await fs(l,w.ye),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=zs(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,l,f),l.size+=R.size,E=!1}else A.diskNumberStart=v,A.offset=M;return e.offset+=A.size,A}catch(t){if(E||z){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-F,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.$t--,S&&S(),y&&y(),h&&R&&R.dispose)try{await R.dispose()}catch{}}async function U(){e.Fe=!0;const{De:t}=e;e.De=new Promise(t=>y=()=>{e.Fe=!1,t()}),await t}async function T(){ds(l,zs(w.ye))&&await l.closeDisk()}})(o,i,c,{ze:y,Re:z,Ae:A},l)}catch(t){throw o.files.delete(i),t}return Object.assign(F,{name:i,comment:w,extraField:z}),new On(F)})(l,o,i,c),d.add(w),await w}catch(t){throw z&&l.Xt.delete(o),t}finally{d.delete(w);const t=es.shift();t?t():ts--}}remove(t){const{Xt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==g){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=R,n={}){const{Qt:a,writer:s}=this,{writable:u}=s;if(zs(r)>e)throw Error(ja);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,re:s,rawComment:o,ae:i,se:c,rawExtraField:l,extendedTimestamp:d,fe:u,lastModDate:w,le:p,ce:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||p||m){const t=4+(p?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=is(t);e.uint16(1),e.uint16(t-4),p&&e.me(h),m&&e.me(y),b&&e.me(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=R;a.ee=E,a.de=b,a.ue=S;const x=ps(w);if(d&&ms(x)){const t=is(9);t.uint16(f),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=R;a.ne=g;const z=zs(E,s,i,c,g,l);if(z>e)throw Error(Za);n+=46+zs(r,o)+z}return n})(r.files),u=await(async(r,n,a)=>{const{files:s,writer:i}=r,c=new Uint8Array(n);await qr(i);let l=0,d=0,u=cs(i),f=ls(i);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,ee:m,re:h,ne:y,ae:b,se:S,rawExtraField:E,rawComment:g,versionMadeBy:x,oe:z,ie:F,le:R,ce:A,ue:D,de:U,internalFileAttributes:T,externalFileAttributes:O,diskNumberStart:k,uncompressedSize:v,compressedSize:M}=n,C=zs(m,h,y,b,S,E),I=46+zs(p,g)+C;ds(i,l+I-d)&&(await fs(i,c.slice(d,l)),d=l,await i.closeDisk()),0==r&&(u=cs(i),f=ls(i)),R||Es(F,18,v),A||Es(F,14,M),(U||D)&&45>n.version&&Ss(F,0,45);const N=is(I);if(N.uint32(o),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(C),N.uint16(zs(g)),N.uint16(D?e:k),N.uint16(T),N.uint32(O),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),xs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new On(n))}catch{}}return await fs(i,d?c.slice(d):c),{diskNumber:u,diskOffset:f}})(r,s,a);await(async(r,n,a,s)=>{const{writer:o}=r,{Ue:u}=s;let{Te:f}=s,w=r.files.size,p=u.diskNumber,m=us(r,u),h=cs(o);ds(o,d)&&h++;let y=ys(r,a,mn);if(!(t>m&&t>f&&e>w&&e>h)){if(!1===y)throw Error(Ka);y=!0}const b=zs(n);if(b>e)throw Error(ja);const S=is(y?98:d);ds(o,zs(S.array)+b)&&await o.closeDisk(),h=cs(o),y&&(S.uint32(c),S.me(44),S.uint16(45),S.uint16(45),S.uint32(h),S.uint32(p),S.me(w),S.me(w),S.me(f),S.me(m),S.uint32(l),S.uint32(h),S.me(BigInt(us(r,o))+BigInt(f)),S.uint32(h+1),ys(r,a,"supportZip64SplitFile",!0)&&(h=e,p=e),w=e,m=t,f=t),S.uint32(i),S.uint16(h),S.uint16(p),S.uint16(w),S.uint16(w),S.uint32(f),S.uint32(m),S.uint16(b),await fs(o,S.array),b&&await fs(o,n)})(r,n,a,{Ue:u,Te:s})})(this,r,n),ys(this,n,_n)||await u.getWriter().close(),s.getData?s.getData():u}}class ns{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new rs(r,t),this.Qt=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 as(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 as(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Qt)),this.zipWriter.close(t,e)}}function as(t,e,r){t.Qt.add(e),e.catch(t=>{try{r(t)}catch{}})}function ss(t,e){const{ze:r}=t;let{ye:n,extraFieldLength:a}=r,s=64-(e+zs(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=it(o);Ss(i,0,6534),Ss(i,2,s-4);const c=n;r.ye=n=new Uint8Array(zs(c)+s),xs(n,c),xs(n,o,zs(c));const l=it(n);Ss(l,28,a+s),r.be=l,t.Ae+=s}function os(t){if(t===g)return R;{const e=new Uint8Array(4);it(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function is(t){const e=new Uint8Array(t),r=it(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ss(r,n,t),n+=2},uint32:t=>{Es(r,n,t),n+=4},me:t=>{gs(r,n,BigInt(t)),n+=8},bytes:t=>{xs(e,t,n),n+=zs(t)},he:t=>n+=t}}function cs(t){const{diskNumber:e=0}=t;return e}function ls(t){const{diskOffset:e=0}=t;return e}function ds(t,e){const{availableSize:r=x}=t;return e>r}function us(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Jt:0)}async function fs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=zs(e),await n.write(e)}finally{n.releaseLock()}}function ws(t){if(t)return(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4)}function ps(t){return Math.floor(t.getTime()/1e3)}function ms(t){return t>=Ha&&qa>=t}function hs(t){return Math.min(qa,Math.max(Ha,t))}function ys(t,e,r,n){const a=e[r]===g?t.options[r]:e[r];return a===g?n:a}function bs(t){return t+5*(Math.floor(t/16383)+1)}function Ss(t,e,r){t.setUint16(e,r,!0)}function Es(t,e,r){t.setUint32(e,r,!0)}function gs(t,e,r){t.setBigUint64(e,r,!0)}function xs(t,e,r){t.set(e,r)}function zs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Fs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,ce:l,le:d,extraFieldLength:u}){const f=is(26),w=f.array,p=it(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===g){const t=new Uint32Array(1),e=it(t);Ss(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ss(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.he(4),l||s!==g?f.uint32(l?t:s):f.he(4),d||a!==g?f.uint32(d?t:a):f.he(4),f.uint16(zs(c)),f.uint16(u),{oe:w,ie:p,rawLastModDate:i}}function Rs(t,e,r,n,a){let s=0;return e&&(s|=w),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 As(){return"application/octet-stream"}const Ds=1048576,Us=".zip.js-temp";function Ts(t={}){const{thresholdBytes:e=Ds,directoryName:r=Us,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(),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 d=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 d<t.length?e.enqueue(t[d++]):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 Os=1048576;function ks(t={}){const{thresholdBytes:e=Os}=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=new Response(e.readable).blob(),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 vs=1048576,Ms=".zip.js-temp";function Cs(t={}){const{thresholdBytes:e=vs,directoryName:r=Ms,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");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();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 d=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 d<t.length?e.enqueue(t[d++]):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{M({baseURI:import.meta.url})}catch{}let Is,Ns,js,Ps,_s;function Ws(t,e,r={}){if(!Is){const t=Error("WASM module not loaded");throw t.cause=_s,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.Oe=Ns(a),this.in=Ns(s),this.inBufferSize=s,!this.Oe||!this.in)throw Error("allocation failed");if(this.ke=new Uint8Array(a),t?(this.ve=Is.deflate_process,this.Me=Is.deflate_last_consumed,this.Ce=Is.deflate_end,this.Ie=Is.deflate_new(),r="gzip"===e?Is.deflate_init_gzip(this.Ie,n):"deflate-raw"===e?Is.deflate_init_raw(this.Ie,n):Is.deflate_init(this.Ie,n)):"deflate64-raw"===e?(this.ve=Is.inflate9_process,this.Me=Is.inflate9_last_consumed,this.Ce=Is.inflate9_end,this.Ie=Is.inflate9_new(),r=Is.inflate9_init_raw(this.Ie)):(this.ve=Is.inflate_process,this.Me=Is.inflate_last_consumed,this.Ce=Is.inflate_end,this.Ie=Is.inflate_new(),r="deflate-raw"===e?Is.inflate_init_raw(this.Ie):"gzip"===e?Is.inflate_init_gzip(this.Ie):Is.inflate_init(this.Ie)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Ps.buffer),o=this.ve,i=this.Me,c=this.Oe,l=this.ke;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&js&&(js(this.in),this.in=0),this.in=Ns(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Ie,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Ie);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Ps.buffer),n=this.ve,s=this.Oe,o=this.ke;for(;;){const i=n(this.Ie,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.Ie&&t.Ce&&(e=t.Ce(t.Ie)),t.Ie=0,t.in&&js&&js(t.in),t.in=0,t.Oe&&js&&js(t.Oe),t.Oe=0,e}}class Ls{constructor(t="deflate",e){return Ws(!0,t,e)}}class Bs{constructor(t="deflate",e){return Ws(!1,t,e)}}Ls.Dt=!0,Bs.Dt=!0;let Vs,Zs=!1;function Hs(){Vs=null,(async()=>{await Promise.allSettled(Le.map(t=>(Je(t),t.terminate()))),Fe=g})(),Zs=!1,Is=Ns=js=Ps=_s=null}(({Ne:t})=>{Te=t})({Ne:t=>{if(!Vs){let{wasmURI:e}=t;typeof e==F&&(e=e()),Vs=(async(t,{baseURI:e})=>{if(!Zs)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(Is=t,({malloc:Ns,free:js,memory:Ps}=Is),"function"!=typeof Ns||"function"!=typeof js||!Ps)throw Is=Ns=js=Ps=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Zs=!0}catch(t){throw(t=>{_s=t})(t),t}})(e,t).catch(t=>{throw Vs=null,t})}return Vs}}),M({CompressionStreamZlib:Ls,DecompressionStreamZlib:Bs}),M({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{yr as BlobReader,br as BlobWriter,wr as Data64URIReader,pr as Data64URIWriter,ra as ERR_AMBIGUOUS_ARCHIVE,Hn as ERR_BAD_FORMAT,Yn as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Na as ERR_DUPLICATED_NAME,Jn as ERR_ENCRYPTED,na as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Kn as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,qn as ERR_EOCDR_NOT_FOUND,Xn as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,$e as ERR_HTTP_RANGE,tr as ERR_HTTP_RESOURCE_CHANGED,I as ERR_INVALID_CODEC_DEFINITION,j as ERR_INVALID_CODEC_MODULE,ja as ERR_INVALID_COMMENT,re as ERR_INVALID_COMPRESSED_DATA,La as ERR_INVALID_ENCRYPTION_STRENGTH,Pa as ERR_INVALID_ENTRY_COMMENT,_a as ERR_INVALID_ENTRY_NAME,Za as ERR_INVALID_EXTRAFIELD_DATA,Va as ERR_INVALID_EXTRAFIELD_TYPE,wt as ERR_INVALID_PASSWORD,pt as ERR_INVALID_SIGNATURE,ee as ERR_INVALID_UNCOMPRESSED_SIZE,Wa as ERR_INVALID_VERSION,er as ERR_ITERATOR_COMPLETED_TOO_SOON,Gn as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ea as ERR_OVERLAPPING_ENTRY,N as ERR_RESERVED_COMPRESSION_METHOD,ta as ERR_SPLIT_ZIP_FILE,Ga as ERR_UNDEFINED_READER,Ya as ERR_UNDEFINED_UNCOMPRESSED_SIZE,$n as ERR_UNSUPPORTED_COMPRESSION,Qn as ERR_UNSUPPORTED_ENCRYPTION,Ba as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Ka as ERR_UNSUPPORTED_FORMAT,rr as ERR_WRITER_NOT_INITIALIZED,Xa as ERR_ZIP_NOT_EMPTY,_r as HttpRangeReader,Pr as HttpReader,ur as Reader,Br as SplitDataReader,Vr as SplitDataWriter,Sr as TextReader,Er as TextWriter,Wr as Uint8ArrayReader,Lr as Uint8ArrayWriter,fr as Writer,ca as ZipReader,la as ZipReaderStream,rs as ZipWriter,ns as ZipWriterStream,v as configure,ks as createBlobTempStream,Ts as createOPFSTempStream,Cs as createSyncAccessHandleTempStream,As as getMimeType,B as registerCodec,C as resetConfiguration,Hs as terminateWorkers,V as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=33639248,i=101010256,c=101075792,l=117853008,d=22,u=20,f=21589,w=2048,p=16384,m=2048,h=1024,y="/",b=30,S=new Date(2107,11,31,23,59,58),E=new Date(1980,0,1),g=void 0,x=1/0,z="undefined",A="function",R=new Uint8Array;let F=2;try{typeof navigator!=z&&navigator.hardwareConcurrency&&(F=navigator.hardwareConcurrency)}catch{}const D={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:F,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=z&&CompressionStream,DecompressionStream:typeof DecompressionStream!=z&&DecompressionStream},U=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],T={...D};function k(){return T}function O(t){return Math.max(t.chunkSize,64)}function v(t){for(const e of U){const r=t[e];r!==g&&(T[e]=r)}}function C(t){for(const e of U){const r=t[e];r!==g&&(D[e]=r)}v(t)}function M(){for(const t of U)delete T[t];Object.assign(T,D)}const I="Invalid codec definition",N="Reserved compression method",j="Invalid codec module",P="string",_=[0,8,9,99],W=new Map,L=new Map;function B(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!=P||!n.length)throw Error(I);if(_.includes(r))throw Error(N);const c=typeof s==A||typeof o==A;if(!(c||typeof a==P&&a.length))throw Error(I);W.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&q(n,{CompressionStream:s,DecompressionStream:o})}function V(t){const e=W.get(t);if(e){let r;W.delete(t),W.forEach(t=>r=r||t.format==e.format),r||L.delete(e.format)}}function Z(t){return W.get(t)}function H(t){return L.get(t)}function q(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=A&&typeof n!=A)throw Error(j);L.set(t,{CompressionStream:r,DecompressionStream:n})}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==z){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)}function st(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function ot(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function it(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ct={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ct.l(r);return 32===n?t.concat(e):ct.m(e,n,0|r,t.slice(0,t.length-1))},h(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ct.l(r)},S(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]=ct.A(e,t[r-1]&2147483648>>e-1,1)),t},A:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(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=ct.l(a);return n.push(ct.A(e+s&31,e+s>32?r:n.pop(),1)),n}},lt={bytes:{R(t){const e=ct.h(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},F(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(ct.A(8*(3&r),n)),e}}},dt=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.U=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.O=t.O.slice(0),e.v=t.v):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.O=[],t.v=0,t}update(t){const e=this;"string"==typeof t&&(t=lt.C.F(t));const r=e.O=ct.concat(e.O,t),n=e.v,a=e.v=n+ct.h(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.M(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}I(){const t=this;let e=t.O;const r=t.T;e=ct.concat(e,[ct.A(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.v/4294967296)),e.push(0|t.v);e.length;)t.M(e.splice(0,16));return t.reset(),r}N(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}j(t,e){return e<<t|e>>>32-t}M(t){const e=this,r=e.T,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.j(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.j(5,a)+e.N(t,s,o,i)+c+n[t]+e.U[Math.floor(t/20)]|0;c=i,i=o,o=e.j(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}},ut={importKey:t=>new ut.P(lt.bytes.F(t)),_(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 d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ct;for(e=lt.bytes.F(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++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},P:class{constructor(t){const e=this,r=e.W=dt,n=[[],[]];e.L=[new r,new r];const a=e.L[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.L[0].update(n[0]),e.L[1].update(n[1]),e.B=new r(e.L[0])}reset(){const t=this;t.B=new t.W(t.L[0]),t.V=!1}update(t){this.V=!0,this.B.update(t)}digest(){const t=this,e=t.B.I(),r=new t.W(t.L[1]).update(e).I();return t.reset(),r}encrypt(t){if(this.V)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},ft=typeof crypto!=z&&typeof crypto.getRandomValues==A,wt="Invalid password",pt="Invalid signature",mt=pt,ht="zipjs-abort-check-password";function yt(t){if(ft)return crypto.getRandomValues(t);throw Error("Crypto API not supported")}const bt=16,St={name:"PBKDF2"},Et=Object.assign({hash:{name:"HMAC"}},St),gt=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},St),xt=["deriveBits"],zt=[8,12,16],At=[16,24,32],Rt=10,Ft=[0,0,0,0],Dt=typeof crypto!=z,Ut=Dt&&crypto.subtle,Tt=Dt&&typeof Ut!=z,kt=lt.bytes,Ot=class{constructor(t){const e=this;e.Z=[[[],[],[],[],[]],[[],[],[],[],[]]],e.Z[0][0][0]||e.H();const r=e.Z[0][4],n=e.Z[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.U=[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.K(t,0)}decrypt(t){return this.K(t,1)}H(){const t=this.Z[0],e=this.Z[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 d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}K(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.U[e],n=r.length/4-2,a=[0,0,0,0],s=this.Z[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},vt=class{constructor(t,e){this.Y=t,this.G=e,this.X=e}reset(){this.X=this.G}update(t){return this.J(this.Y,t,this.X)}$(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}et(t){0===(t[0]=this.$(t[0]))&&(t[1]=this.$(t[1]))}J(t,e,r){let n;if(!(n=e.length))return[];const a=ct.h(e);for(let a=0;n>a;a+=4){this.et(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 ct.S(e,a)}},Ct=ut.P;let Mt=Dt&&Tt&&typeof Ut.importKey==A,It=Dt&&Tt&&typeof Ut.deriveBits==A;class Nt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Pt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,nt:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Wt(t,e,r,Bt(n,0,zt[e])),s=Bt(n,zt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(wt)})(r,s,a,Bt(t,0,zt[s]+2)),t=Bt(t,zt[s]+2),n?e.error(Error(ht)):o()):await i;const c=new Uint8Array(t.length-Rt-(t.length-Rt)%bt);e.enqueue(_t(r,t,c,0,Rt,!0))},async flush(t){const{st:e,ot:r,pending:n,ready:s}=this;if(r&&e){await s;const o=Bt(n,0,n.length-Rt),i=Bt(n,n.length-Rt);let c=R;if(o.length){const t=Zt(kt,o);r.update(t);const n=e.update(t);c=Vt(kt,n)}const l=Bt(Vt(kt,r.digest()),0,Rt);let d=n.length<Rt?1:0;for(let t=0;Rt>t;t++)d|=l[t]^i[t];if(d&&a)throw Error(mt);t.enqueue(c)}}})}}class jt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){let n;super({start(){Pt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,nt:s,ready:o}=r;let i=R;n?(i=await(async(t,e,r)=>{const n=yt(new Uint8Array(zt[e]));return st(n,await Wt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%bt);c.set(i,0),e.enqueue(_t(r,t,c,i.length,0))},async flush(t){const{st:e,ot:r,pending:a,ready:s}=this;if(r&&e){await s;let o=R;if(a.length){const t=e.update(Zt(kt,a));r.update(t),o=Vt(kt,t)}n.signature=Vt(kt,r.digest()).slice(0,Rt),t.enqueue(st(o,n.signature))}}}),n=this}}function Pt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.nt=e),password:Lt(e,r),strength:n-1,pending:R})}function _t(t,e,r,n,a,s){const{st:o,ot:i,pending:c}=t;c.length&&(e=st(c,e));const l=e.length-a;let d;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%bt)),d=0;l-bt>=d;d+=bt){const t=Zt(kt,Bt(e,d,d+bt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Vt(kt,a),d+n)}return t.pending=Bt(e,d),r}async function Wt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!Mt)return ut.importKey(e);try{return await Ut.importKey("raw",e,r,!1,a)}catch{return Mt=!1,ut.importKey(e)}})(0,r,Et,0,xt),s=await(async(t,e,r)=>{if(!It)return ut._(e,t.salt,gt.iterations,r);try{return await Ut.deriveBits(t,e,r)}catch{return It=!1,ut._(e,t.salt,gt.iterations,r)}})(Object.assign({salt:n},gt),a,8*(2*At[e]+2)),o=new Uint8Array(s),i=Zt(kt,Bt(o,0,At[e])),c=Zt(kt,Bt(o,At[e],2*At[e])),l=Bt(o,2*At[e]);return Object.assign(t,{keys:{key:i,it:c,passwordVerification:l},st:new vt(new Ot(i),Array.from(Ft)),ot:new Ct(c)}),l}function Lt(t,e){return e===g?at(t):e}function Bt(t,e,r){return t.subarray(e,r)}function Vt(t,e){return t.R(e)}function Zt(t,e){return t.F(e)}class Ht extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Kt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Yt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(wt);t=t.subarray(12)}n?e.error(Error(ht)):e.enqueue(Yt(r,t))}})}}class qt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Kt(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=yt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Gt(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set(Gt(r,t),a),e.enqueue(n)}})}}function Kt(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 rt(n[0]),lt:new rt(n[2])}),r)for(let e=0;e<r.length;e++)Xt(t,r[e]);else for(let r=0;r<e.length;r++)Xt(t,e.charCodeAt(r))})(t,e,r)}function Yt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Jt(t)^e[n],Xt(t,r[n]);return r}function Gt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Jt(t)^e[n],Xt(t,e[n]);return r}function Xt(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=$t(Math.imul($t(r+Qt(n)),134775813)+1),t.lt.append([r>>>24]);const a=~t.lt.get();t.keys=[n,r,a]}function Jt(t){const e=2|t.keys[2];return Qt(Math.imul(e,1^e)>>>8)}function Qt(t){return 255&t}function $t(t){return 4294967295&t}function te(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 ee(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 re="Invalid uncompressed size",ne="Invalid compressed data",ae=pt,se="deflate-raw",oe="gzip",ie=[31,139,8];class ce extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&H(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new nt,y=ye(y,p)),a)if(b)y=be(y,me(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new le,y=be(y,new n(oe)),y=ye(y,h);else try{y=he(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(oe)}catch{throw t}y=be(y,e),y=ye(y,new le)}s&&(i?y=ye(y,new qt(t)):(m=new jt(t),y=ye(y,m))),pe(w,y,()=>{let t;s&&!i&&(t=m.signature),s&&!i||!c||(t=S?h.signature:new DataView(p.value.buffer).getUint32(0)),w.signature=t})}}class le 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=st(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(st(r.subarray(0,o),t.subarray(0,s-o))),r=st(r.subarray(o),t.subarray(s-o))},flush(){const e=it(r);t.signature=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class de extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,signature:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=ye(y,new Ht(t)):(h=new Nt(t),y=ye(y,h))),c){const t=u&&H(u);if(t)y=be(y,me(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=he(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===g)throw t;let e;try{e=new n(oe)}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 d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(ie),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=it(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=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=ye(t,d),ye(t=be(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(re)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}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(ne);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(m=new nt,y=ye(y,m)),pe(this,y,()=>{if(o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(ae)}})}}const ue=new Map;function fe(t,e){if(!t)return!1;let r=ue.get(t);r||(r=new Map,ue.set(t,r));let n=r.get(e);if(n===g){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function we(t){return fe(t,se)}function pe(t,e,r){e=ye(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function me(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function he(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":se;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return be(t,i)}function ye(t,e){return te(t).pipeThrough(e)}function be(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 Se="data",Ee="deflate",ge="inflate";class xe extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Ee)?a=ce:n.startsWith(ge)&&(a=de),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!==g&&r.outputSize>t.outputSize))throw Error(re)},flush(){const{signature:t}=o;Object.assign(r,{signature:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class ze 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 Ae={type:"module"},Re="error";let Fe,De,Ue,Te,ke=!0;try{ke=typeof structuredClone==A&&structuredClone(new DOMException("","AbortError")).code!==g}catch{}let Oe=()=>{};class ve{constructor(t,{readable:e,writable:r},{options:n,config:a,ut:s,useWebWorkers:o,transferStreams:i,workerURI:c},l){const{signal:d}=s;return Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new ze(O(a))).pipeThrough(new Ce(s),{signal:d}),writable:r,options:Object.assign({},n),workerURI:c,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,l(t)}}}),Fe===g&&(Fe=typeof Worker!=z),(o&&Fe?Ne:Ie)(t,a)}}class Ce extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Me(t,r)},async transform(t,n){a+=t.length,e&&await Me(e,a,r),n.enqueue(t)},async flush(){n&&await Me(n,a)}})}}async function Me(t,...e){try{await t(...e)}catch{}}function Ie(t,e){return{run:()=>je(t,e)}}function Ne(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.bt){let o;typeof s==A&&(s=s());try{o=_e(t.workerURI,r,t)}catch{return Fe=!1,Ie(t,e)}Object.assign(t,{ht:o,gt:!1,Et:!1,bt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,xt:r,zt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,At: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,At:()=>e.abort()}})(t.writable);let d;try{d=Be({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.St(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.gt||!Number.isFinite(u)||0>u||(t.Rt=setTimeout(()=>(t=>{if(t.Rt=null,t.gt)return;const{zt:e,writer:r}=t;if(Pe(t),t.ht=null,e){const t=Error("Worker startup timeout");t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));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(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft){Fe=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,je(t,e)}throw r}}}})}return t.bt}async function je({options:t,readable:e,writable:r,St:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Ee),r=e?a.CompressionStreamZlib:a.DecompressionStreamZlib,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Dt&&!we(n))try{await Oe(a)}catch{}}else try{await Oe(a)}catch{r&&!r.Dt||(t.useCompressionStream=!0)}}s=new xe(t,a),await e.pipeThrough(s).pipeThrough(new ze(O(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:o,outputSize:i}=s;return{signature:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function Pe(t){const{ht:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function _e(t,e,r,n,a=!0){let s,o,i;if(Ue===g||De!==t){const c=typeof t==A;o=c?t(a):t;const l=o.startsWith("data:"),d=o.startsWith("blob:");if(l||d){n===g&&(n=!1),n&&(i=Ae);try{s=new Worker(o,i)}catch(a){if(d)try{URL.revokeObjectURL(o)}catch{}if(c&&d)return _e(t,e,r,n,!1);if(n)throw a;return _e(t,e,r,!0,!1)}}else{n===g&&(n=!0),n&&(i=Ae);try{o=new URL(o,e)}catch{}try{s=new Worker(o,i)}catch(s){if(n)throw s;return _e(t,e,r,!1,a)}}De=t,Ue=o,Te=i}else s=new Worker(Ue,Te);return s.addEventListener("message",t=>{r.gt=!0,We(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,xt:l,zt:d,St:u,wt:f}=e,w=()=>e.wt!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=o,i=Error(t);Object.assign(i,{stack:e,code:r,name:n,outputSize:a}),s&&(i.cause=Object.assign(Error(s.message),{name:s.name})),p(i)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Be({type:Se,value:t,done:r,messageId:a},e)}r==Se&&(await c.ready,await c.write(new Uint8Array(n)),w()||Be({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(Pe(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),s.addEventListener(Re,t=>Le(t,r)),s.addEventListener("messageerror",t=>Le(t,r)),s}function We(t){const{Rt:e}=t;e&&(clearTimeout(e),t.Rt=null)}function Le(t,e){t.preventDefault&&t.preventDefault(),We(e);const{gt:r,zt:n,writer:a,St:s}=e;if(Pe(e),r||(e.ht=null),n){let e=t.error||Error(t.message||Re);r||(e=Object.assign(Error(e.message||Re),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Be(t,{ht:e,writer:r,transferStreams:n,gt:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=ot(r),i.push(t.value.buffer)),n&&ke&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{ke=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Ve=[];const Ze=[];let He,qe,Ke=0;async function Ye(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,maxWorkers:p}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!L.has(t)&&e&&q(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===g&&n.transferStreams;const m=!(i||c||l||d),h=u===g||!!r.codecURI;return e.useWebWorkers=!m&&h&&(s||s===g&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:g,r.useCompressionStream=o||o===g&&n.useCompressionStream,(await(async()=>{const r=Ve.find(t=>!t.ft);if(r)return $e(r),new ve(r,t,e,y);if(Ve.length<p){const r={Ut:Ke};return Ke++,Ve.push(r),new ve(r,t,e,y)}return new Promise(r=>{Ze.push({resolve:r,stream:t,Tt:e}),qe=n.workerStarvationTimeout,Ge()})})()).run();function y(t){if(Xe(),Ze.length){const[{resolve:e,stream:r,Tt:n}]=Ze.splice(0,1);e(new ve(t,r,n,y)),Ge()}else t.ht?($e(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.Et?t.Et=!1:t.kt=setTimeout(async()=>{Ve=Ve.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Ve=Ve.filter(e=>e!=t)}}function Ge(){!He&&Ze.length&&Number.isFinite(qe)&&qe>=0&&(He=setTimeout(Je,qe))}function Xe(){He&&(clearTimeout(He),He=null)}function Je(){if(He=null,Ze.length){const[{resolve:t,stream:e,Tt:r}]=Ze.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:g});t(new ve({},e,n,Qe)),Ge()}}function Qe(){Xe(),Ge()}function $e(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const tr="HTTP error ",er="HTTP Range not supported",rr="HTTP resource changed",nr="Writer iterator completed too soon",ar="Writer not initialized",sr="Content-Range",or="Range",ir="GET",cr="bytes",lr=16777216,dr="writable",ur=Symbol();class fr{constructor(){this.size=0}init(){this.initialized=!0}}class wr extends fr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=O(k())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===g?r:Math.min(r,e-a),i=await Gr(n,t+a,o);s.enqueue(i),a+r>e||e===g&&!i.length&&o?s.close():a+=r}})}}class pr extends fr{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(ar);return t.writeUint8Array(ot(e))}});Object.defineProperty(t,dr,{get:()=>e})}writeUint8Array(){}}class mr extends wr{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Ot:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Ot: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 hr extends pr{constructor(t){super(),Object.assign(this,{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 yr,br;class Sr extends wr{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),br||(br=(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();yr=1==e}catch{yr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?yr?te(e.slice(n,n+a).stream()):super.createReadable(t):te(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 Er extends fr{constructor(t){super();const e=this,r=new TransformStream;if(Object.defineProperty(e,dr,{get:()=>r.writable}),typeof Blob.prototype.stream!=A||new Blob([]).stream()instanceof ReadableStream){const n=[];t&&n.push(["Content-Type",t]),e.blob=new Response(r.readable,{headers:n}).blob()}else{const n=[];e.blob=r.readable.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,{type:t}))}e.blob.catch(()=>{})}getData(){return this.blob}}class gr extends Sr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class xr extends Er{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 zr extends wr{constructor(t,e){super(),Rr(this,t,e)}async init(){await Fr(this,Pr,Mr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==g){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(er);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=g,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Pr(ir,t,vr(t,a,e));if(206!=r.status)throw Error(er);const i=r.headers.get(sr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(er)}Or(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 Dr(this,t,e,Pr,Mr)}}class Ar extends wr{constructor(t,e){super(),Rr(this,t,e)}async init(){await Fr(this,_r,Ir),super.init()}readUint8Array(t,e){return Dr(this,t,e,_r,Ir)}}function Rr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=lr,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 Fr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=k(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(ir,t,vr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==cr))throw Error(er);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.Ct=e)}kr(t,n);const a=Ur(n);a===g?await jr(t,e,r):t.size=a}}else await jr(t,e,r)}async function Dr(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(ir,t,vr(t,e,r));if(206!=a.status)throw Error(er);const s=a.headers.get(sr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(er)}Or(t,a),kr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(er);return o}return R}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Ur(t){const e=t.headers.get(sr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Tr({headers:t}){return{Mt:t.get("Etag")||g,lastModified:t.get("Last-Modified")||g}}function kr(t,e){const{checkResourceChanges:r,It:n}=t;r&&!n&&206==e.status&&(t.It=Tr(e))}function Or(t,e){const{checkResourceChanges:r,It:n,size:a}=t;if(r){const t=Ur(e);if(t!==g&&a!==g&&t!=a)throw Error(rr);if(n){const t=Tr(e);if(Object.entries(n).some(([e,r])=>r!==g&&t[e]!==g&&r!=t[e]))throw Error(rr)}}}function vr(t,e=0,r=1){return Object.assign({},Cr(t),{[or]:cr+"="+(0>e?e:e+"-"+(e+r-1))})}function Cr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Mr(t){await Nr(t,Pr)}async function Ir(t){await Nr(t,_r)}async function Nr(t,e){const r=await e(ir,t,Cr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function jr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Cr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Pr(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(er):Error(tr+(s.statusText||s.status))}function _r(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(er):Error(tr+(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 Wr extends wr{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Ar(t,e):new zr(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 Lr extends Wr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Br extends wr{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 Vr extends pr{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 Zr extends wr{constructor(t){super(),this.Nt=t}async init(){const t=this,{Nt:e}=t;t.jt=0,await Promise.all(e.map(t=>Yr(t))),t.Pt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{Pt:e,size:r}=this,n=e[t];return n===g?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=st(await Gr(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await Gr(i,o,e)}else a=R;return r.jt=Math.max(s,r.jt),a}}class Hr extends fr{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===ur)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(nr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await Yr(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,dr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(ur)}finally{t.releaseLock()}}}class qr{constructor(t){return Array.isArray(t)&&(t=new Zr(t)),(t instanceof ReadableStream||typeof t.getReader==A)&&(t={readable:te(t)}),t}}class Kr{constructor(t){return t.writable===g&&typeof t.next==A&&(t=new Hr(t)),(t instanceof WritableStream||typeof t.getWriter==A)&&(t={writable:ee(t)}),t.size===g&&(t.size=0),t}}async function Yr(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function Gr(t,e,r){return t.readUint8Array(e,r)}const Xr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Jr(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=Xr[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const Qr="filename",$r="rawFilename",tn="comment",en="rawComment",rn="uncompressedSize",nn="compressedSize",an="offset",sn="diskNumberStart",on="lastModDate",cn="rawLastModDate",ln="lastAccessDate",dn="creationDate",un="rawCreationDate",fn="internalFileAttributes",wn="externalFileAttributes",pn="msdosAttributesRaw",mn="msdosAttributes",hn="msDosCompatible",yn="zip64",bn="encrypted",Sn="version",En="versionMadeBy",gn="zipCrypto",xn="directory",zn="executable",An="compressionMethod",Rn="signature",Fn="extraField",Dn="unixMode",Un="setuid",Tn="setgid",kn="sticky",On=[Qr,$r,rn,nn,on,cn,tn,en,ln,dn,un,an,sn,fn,wn,pn,mn,hn,yn,bn,Sn,En,gn,xn,zn,An,Rn,"crc32",Fn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Dn,Un,Tn,kn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class vn{constructor(t){On.forEach(e=>this[e]=t[e])}}const Cn="password",Mn="rawPassword",In="passThrough",Nn="signal",jn="checkAmbiguity",Pn="useWebWorkers",_n="useCompressionStream",Wn="transferStreams",Ln="preventClose",Bn="offset",Vn="usdz",Zn="strictness",Hn="strict",qn="tolerant",Kn="File format is not recognized",Yn="End of central directory not found",Gn="End of Zip64 central directory locator not found",Xn="Central directory header not found",Jn="Local file header not found",Qn="Zip64 extra field not found",$n="File contains encrypted entry",ta="Encryption method not supported",ea="Compression method not supported",ra="Split zip file",na="Overlapping entry found",aa="Ambiguous archive",sa="Encrypted central directory is not supported",oa="utf-8",ia="cp437",ca=[[rn,t],[nn,t],[an,t],[sn,e]],la={[e]:{Wt:Ia,bytes:4},[t]:{Wt:Na,bytes:8}};class da{constructor(t,e={}){Object.assign(this,{reader:new qr(t),options:e,config:k(),Lt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:i}=s;const{config:f}=s;if(await Yr(i),i.size!==g&&i.readUint8Array||(i=new Sr(await new Response(i.readable).blob()),await Yr(i)),i.size<d)throw Error(Kn);const w=Ea(ka(s,n,Zn),ka(s,n,jn)),b=w==Hn,S=w!=qn,E=((t,r)=>t!==g?t:r==Hn?0:r==qn?1/0:e)(ka(s,n,"maxAppendedDataSize"),w),{Bt:x,Vt:z}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:ga};let o,i,c=0;for await(const[r,l,u,f,w]of Ra(t,a)){const a=Ma(r,f+20);if(w+d+a==n){const a=await Da(t,r,l,f,w,n,s);if(a==Aa){if(o||(o=Fa(u,f,w)),c++,!e||c>1)break}else a!=za||i||(i=Fa(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,d]of Ra(t,a)){const a=Fa(c,l,d);s||(s=a);const u=await Da(t,e,i,l,d,n,r);if(u==Aa)return a;u!=za||o||(o=a)}return o||s})(t,r,s)),{Bt:o,Vt:c}})(i,S,E);if(!x)throw Ia(it(await Gr(i,0,4)))==a?Error(ra):Error(Yn);S&&z>1&&Ta("multiple end of central directory records");const A=it(x);let F=Ia(A,12),D=Ia(A,16);const U=x.offset,T=Ma(A,20),k=U+d+T;i.size-k>E&&Ta("appended data");let O=Ma(A,4);const v=i.jt||0;let C,M,I,N=Ma(A,6),j=Ma(A,10),P=0;const _=D==t||F==t||j==e||N==e;if(D!=t&&N!=e&&(D+=Sa(i,N)),_){const r=x.offset<u?R:await Gr(i,x.offset-u,u),n=it(r);if(r.length==u&&Ia(n,0)==l){D=Sa(i,Ia(n,4))+Na(n,8);let r=await Gr(i,D,56),a=it(r);const s=x.offset-u-56;if((56>r.length||Ia(a,0)!=c)&&D!=s&&s>=0){const t=D;D=s,D>t&&(P=D-t),r=await Gr(i,D,56),a=it(r)}if(56>r.length||Ia(a,0)!=c)throw Error(Gn);M=!0,I=Na(a,4)>44,O==e?O=Ia(a,16):b&&O!=Ia(a,16)&&Ta("mismatched zip64 end of central directory record"),N==e?N=Ia(a,20):b&&N!=Ia(a,20)&&Ta("mismatched zip64 end of central directory record"),j==e?j=Na(a,32):b&&j!=Na(a,32)&&Ta("mismatched zip64 end of central directory record"),F==t?F=Na(a,40):b&&F!=Na(a,40)&&Ta("mismatched zip64 end of central directory record"),D=Sa(i,N)+Na(a,48)+P}}const W=F,L=x.offset-(M?76:0);if(D<i.size||(P=i.size-D-F-d,D=i.size-F-d),v!=O)throw Error(ra);if(0>D)throw Error(Kn);let B=0,V=await Gr(i,D,F),Z=it(V);if(F){if(4>V.length)throw Error(Kn);const t=L-F;if(D!=t&&N==O){let e=!(Ia(Z,B)==o);if(e||0>t||t+4>i.size||(e=Ia(it(await Gr(i,t,4)),0)==o),e){const e=D;D=t,D>e&&(P+=D-e),V=await Gr(i,D,F),Z=it(V)}}}const H=L-D;if(F==H||0>H||N!=O||(F=H,V=await Gr(i,D,F),Z=it(V)),0>D||D>=i.size)throw Error(Kn);C=D;const q=ka(s,n,"filenameEncoding"),K=ka(s,n,"commentEncoding"),Y=b?new Set:g;let G;for(let t=0;j>t;t++){const a=new fa(i,f,s.options);if(B+46>V.length||Ia(Z,B)!=o){if(0==t&&(I||wa(Z)))throw Error(sa);throw Error(Xn)}pa(a,Z,B+6);const c=!!a.bitFlag.languageEncodingFlag,l=B+46,d=l+a.filenameLength,u=d+a.extraFieldLength,w=Ma(Z,B+4),S=!(w>>8),E=w>>8==3,x=V.subarray(l,d),z=Ma(Z,B+32),A=u+z,R=V.subarray(u,A),F=c,D=c,U=Ia(Z,B+38),T=U&r,k={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},O=Ia(Z,B+42),v=ka(s,n,"decodeText")||Jr,M=F?oa:q||ia,N=D?oa:K||ia;let _=v(x,M);_===g&&(_=Jr(x,M));let W=v(R,N);W===g&&(W=Jr(R,N)),Object.assign(a,{index:t,versionMadeBy:w,msDosCompatible:S,compressedSize:0,uncompressedSize:0,Zt:z,offset:O,diskNumberStart:Ma(Z,B+34),internalFileAttributes:Ma(Z,B+36),externalFileAttributes:U,msdosAttributesRaw:T,msdosAttributes:k,rawFilename:x,filenameUTF8:F,commentUTF8:D,rawExtraField:V.subarray(d,u),rawComment:R,filename:_,comment:W}),ma(a,a,Z,B+6),a.offset+=P,C=Math.min(Sa(i,a.diskNumberStart)+a.offset,C),b&&(Y.has(a.filename)&&(G=!0),Y.add(a.filename));const L=a.externalFileAttributes>>16&e;a.unixMode===g&&16877&L&&(a.unixMode=L);const H=!!(a.unixMode&m),X=!!(a.unixMode&h),J=!!(512&a.unixMode),Q=a.unixMode!==g?!!(73&a.unixMode):E&&!!(73&L),$=a.unixMode!==g&&(61440&a.unixMode)==p,tt=(61440&L)==p;Object.assign(a,{setuid:H,setgid:X,sticky:J,unixExternalUpper:L,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:$||tt||S&&k.directory||a.filename.endsWith(y)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const et=new vn(a);et.getData=(t,e)=>a.getData(t,et,s.Lt,e),et.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([new Response(e.readable).arrayBuffer(),a.getData(e,et,s.Lt,t)]);return r},B=A;const{onprogress:rt}=n;if(rt)try{await rt(t+1,j,new vn(a))}catch{}yield et}b&&B!=W&&Ta("trailing central directory data"),G&&Ta("duplicate filename"),b&&(P||j&&C>0)&&Ta("prepended data");const X=ka(s,n,"extractPrependedData"),J=ka(s,n,"extractAppendedData");return X&&(s.prependedData=C>0?await Gr(i,0,C):R),s.comment=T?await Gr(i,U+d,T):R,J&&(s.appendedData=k<i.size?await Gr(i,k,i.size-k):R),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class ua{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new da(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}}class fa{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:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,signature:S,rawLastModDate:E,uncompressedSize:x,compressedSize:z}=i,{dataDescriptor:A}=h,F=e.localDirectory={},D=Sa(c,u)+d,U=await Gr(c,D,b),T=it(U);let k=ka(i,o,Cn),O=ka(i,o,Mn);const v=ka(i,o,In);if(k=k&&k.length&&k,O=O&&O.length&&O,f&&99!=f.originalCompressionMethod)throw Error(ea);if(U.length<b||Ia(T,0)!=n)throw Error(Jn);pa(F,T,4);const{extraFieldLength:C,filenameLength:M}=F,I=Ea(ka(i,o,Zn),ka(i,o,jn))==Hn;let N=R;if(I&&(M||C)){const t=await Gr(c,D+b,M+C);N=t.subarray(0,M),F.rawExtraField=t.subarray(M)}else F.rawExtraField=C?await Gr(c,D+b+M,C):R;ma(i,F,T,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&Ta("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ta("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Ta("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.signature||e.compressedSize||e.uncompressedSize)||e.signature==t.signature&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ta("mismatched local file header (signature or sizes)")})(i,F,N);const{lastAccessDate:j,creationDate:P}=F;j&&(e.lastAccessDate=j),P&&(e.creationDate=P);const _=i.encrypted&&F.encrypted&&!v,W=_&&!f;if(v||(e.zipCrypto=W),_&&!(64&~F.rawBitFlag))throw Error(ta);const L=v?g:Z(p);if(0!=p&&8!=p&&9!=p&&!L&&!v)throw Error(ea);if(_){if(!W&&(1>f.strength||f.strength>3))throw Error(ta);if(!k&&!O)throw Error($n)}const B=D+b+M+C,V=z,H=te(c.createReadable({offset:B,size:V})),q=ka(i,o,Nn),K=ka(i,o,"checkPasswordOnly");let Y=ka(i,o,"checkOverlappingEntry");const G=ka(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=ka(i,o,_n);$&&(tt=!1);const et=ka(i,o,"checkCrc32"),rt=(et===g?ka(i,o,"checkSignature"):et)&&!v&&(!_||W||f&&1==f.vendorVersion),nt={options:{codecType:ge,password:k,rawPassword:O,zipCrypto:W,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:ka(i,o,"checkAuthenticationCode"),passwordVerification:W&&(A?E>>>8&r:S>>>24&r),outputSize:v?z:x,signature:S,compressed:0!=p&&!v,encrypted:_,useWebWorkers:ka(i,o,Pn),useCompressionStream:tt,transferStreams:ka(i,o,Wn),deflate64:$,format:L?L.format:g,codecURI:L?L.codecURI:g,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:K},config:m,ut:{signal:q,size:V,onstart:X,onprogress:J,onend:Q}};let at;Y&&await(async({reader:t,Ht:e,index:r,offset:n,signature:a,compressedSize:o,uncompressedSize:i,qt:c,dataDescriptor:l,extraFieldZip64:d,Lt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await Gr(t,c+o,f+4);if(r.length==f+4&&Ia(it(r),0)==s){const t=Ia(it(r),4);let n,s;d?(n=Na(it(r),8),s=Na(it(r),16)):(n=Ia(it(r),8),s=Ia(it(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Ht:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(na);throw t.Kt=e.Ht,t}u.set(r,w)})({reader:c,Ht:e,index:l,offset:D,signature:S,compressedSize:z,uncompressedSize:x,qt:B,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:w||F.extraFieldZip64,Lt:a});try{if(!G){K&&(t=new WritableStream),t=new Kr(t),await Yr(t,v?z:x),({writable:at}=t);const{outputSize:e}=await Ye({readable:H,writable:at},nt);if(t.size+=e,e!=(v?z:x))throw Error(re)}}catch(e){if(e.outputSize!==g&&(t.size+=e.outputSize),!K||e.message!=ht)throw e}finally{ka(i,o,Ln)||!at||at.locked||await at.getWriter().close()}return K||G?g:t.getData?t.getData():at}}function wa(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Ia(t,r))return!0;return!1}function pa(t,e,r){const n=t.rawBitFlag=Ma(e,r+2),a=!(1&~n),s=Ia(e,r+6);Object.assign(t,{encrypted:a,version:Ma(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&w)==w},rawLastModDate:s,lastModDate:Oa(s),filenameLength:Ma(e,r+22),extraFieldLength:Ma(e,r+24)})}function ma(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=it(s);let c=0;try{for(;c<s.length;){const t=Ma(i,c),e=Ma(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Ma(r,n+4);Object.assign(e,{signature:Ia(r,n+10),crc32:Ia(r,n+10),compressedSize:Ia(r,n+14),uncompressedSize:Ia(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=it(t.data),n=ca.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+la[e].bytes,0);if(t.data.length<a)throw Error(Qn);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=la[i];e[o]=t[o]=c.Wt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(ha(u,Qr,$r,e,t),e.extraFieldUnicodePath=u);const w=o.get(25461);w&&(ha(w,tn,en,e,t),e.extraFieldUnicodeComment=w);const p=o.get(39169);p&&p.data.length>=7?(((t,e,r)=>{const n=it(t.data),a=Ca(n,4);Object.assign(t,{vendorVersion:Ca(n,0),vendorId:Ca(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Ma(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=g)})(p,e,l),e.extraFieldAES=p):e.compressionMethod=l;const m=o.get(10);m&&(((t,e)=>{const r=it(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Ma(r,a),s=Ma(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=it(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:va(a),lastAccessDate:va(s),creationDate:va(o)};Object.assign(t,i),Object.assign(e,i)}})(m,e),e.extraFieldNTFS=m);const h=o.get(30805);if(h)ya(h,e,!1),e.extraFieldUnix=h;else{const t=o.get(30837);t&&(ya(t,e,!0),e.extraFieldInfoZip=t)}const y=o.get(f);y&&(((t,e,r)=>{if(!t.data.length)return;const n=it(t.data),a=Ca(n,0),s=[],o=[];r?(1&~a||(s.push(on),o.push(cn)),2&~a||(s.push(ln),o.push("rawLastAccessDate")),4&~a||(s.push(dn),o.push(un))):5>t.data.length||(s.push(on),o.push(cn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Ia(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(y,e,a),e.extraFieldExtendedTimestamp=y);const b=o.get(6534);b&&(e.extraFieldUSDZ=b)}function ha(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=it(t.data),o=new rt;o.append(a[r]);const i=it(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Ia(s,1);Object.assign(t,{version:Ca(s,0),[e]:Jr(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Ia(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ya(t,e,r){try{const n=it(t.data);let a,s;if(r){let e=0;const r=Ca(n,e++),o=Ca(n,e++);a=ba(t.data.subarray(e,e+o)),e+=o;const i=Ca(n,e++);s=ba(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Ma(n,0),s=Ma(n,2),Object.assign(t,{uid:a,gid:s}));a!==g&&(e.uid=a),s!==g&&(e.gid=s)}catch{}}function ba(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Sa(t,e){return t._t?t._t(e):0}function Ea(t,e){return t===g?e?Hn:"balanced":t}const ga=64,xa=0,za=1,Aa=2;async function*Ra(t,e){const r=t.size-e,n=await Gr(t,r,e),a=it(n);for(let t=n.length-d;t>=0;t--)Ia(a,t)==i&&(yield[a,r,n,t,r+t])}function Fa(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Da(r,n,a,s,i,c,d){const f=Ma(n,s+10),w=Ia(n,s+12),p=Ia(n,s+16);if(f==e||w==t||p==t)return await Ua(r,n,a,i-u,c,d)==l?Aa:xa;if(!f&&!w)return za;const m=Ma(n,s+6);for(const t of[i-w,Sa(r,m)+p])if(await Ua(r,n,a,t,c,d)==o)return Aa;return xa}async function Ua(t,e,r,n,a,s){return 0>n||n+4>a?g:r>n?s.count>0?(s.count--,Ia(it(await Gr(t,n,4)),0)):g:Ia(e,n-r)}function Ta(t){const e=Error(aa);throw e.reason=t,e}function ka(t,e,r){return e[r]===g?t.options[r]:e[r]}function Oa(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 va(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ca(t,e){return t.getUint8(e)}function Ma(t,e){return t.getUint16(e,!0)}function Ia(t,e){return t.getUint32(e,!0)}function Na(t,e){return Number(t.getBigUint64(e,!0))}var ja=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:aa,ERR_BAD_FORMAT:Kn,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Xn,ERR_ENCRYPTED:$n,ERR_ENCRYPTED_CENTRAL_DIRECTORY:sa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Gn,ERR_EOCDR_NOT_FOUND:Yn,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Qn,ERR_INVALID_AUTHENTICATION_CODE:mt,ERR_INVALID_COMPRESSED_DATA:ne,ERR_INVALID_CRC32:ae,ERR_INVALID_PASSWORD:wt,ERR_INVALID_SIGNATURE:pt,ERR_INVALID_UNCOMPRESSED_SIZE:re,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Jn,ERR_OVERLAPPING_ENTRY:na,ERR_SPLIT_ZIP_FILE:ra,ERR_UNSUPPORTED_COMPRESSION:ea,ERR_UNSUPPORTED_ENCRYPTION:ta,ZipReader:da,ZipReaderStream:ua});const Pa="File already exists",_a="Zip file comment exceeds 64KB",Wa="File entry comment exceeds 64KB",La="File entry name exceeds 64KB",Ba="Version exceeds 65535",Va="The strength must equal 1, 2, or 3",Za="Encryption is not supported in USDZ files",Ha="Extra field type exceeds 65535",qa="Extra field data exceeds 64KB",Ka=-2147483648,Ya=2147483647,Ga=BigInt(0),Xa=BigInt("0x7fffffffffffffff"),Ja="Zip64 is not supported (set the 'zip64' option to 'true')",Qa="Undefined uncompressed size",$a="Undefined reader",ts="Zip file not empty",es=new Uint8Array([7,0,2,0,65,69,3,0,0]),rs="infozip",ns="unix";let as=0;const ss=[];class os{constructor(t,e={}){t=new Kr(t);const{availableSize:r=x,maxSize:n=x}=t;Object.assign(this,{writer:t,Yt:r>0&&r!==x&&n>0&&n!==x,options:e,config:k(),files:new Map,Gt:new Set,offset:e[Bn]===g?t.size||t.writable.size||0:e[Bn],Xt:e[Bn]===g?0:e[Bn]-(t.size||t.writable.size||0),Jt:new Set,Qt:0,$t:g})}async prependZip(e){if(this.Gt.size)throw Error(ts);e=new qr(e),await Yr(e);const{ZipReader:r}=await Promise.resolve().then(()=>ja),n=new r(e.readable),a=await n.getEntries();await n.close(),await Yr(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:d,zip64:u}=e;let{compressionMethod:f,te:w,ee:p,re:m,ne:h,ae:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:x}=i;w=w||R,p=p||R,m=m||R,h=h||R,y=y||R,b=b||R,e.extraFieldAES&&(f=99);const z=Ds(w,p,m,h,y,b),A=u&&l>=t,F=u&&d>=t,D=-7&Ts(S,E,x,c,f)|S<<1,{se:U,oe:T}=Us({version:r,bitFlag:D,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,ie:F,ce:A,extraFieldLength:z}),{signature:k}=e;return k!==g&&As(T,10,k),Object.assign(e,{ce:A,ie:F,le:u&&e.offset>=t,diskNumberStart:0,de:!1,te:w,ee:p,re:m,ne:h,ae:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,ue:1+(a?2:0)+(s?4:0),se:U,oe:T}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Jt:d,config:u}=l;let w,z;as<u.maxWorkers?as++:await new Promise(t=>ss.push(t));try{if(o=o.trim(),gs(l,c,xn)&&!o.endsWith(y)&&(o+=y),l.Gt.has(o))throw Error(Pa);return l.Gt.add(o),z=!0,w=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=gs(n,s,hn),i=gs(n,s,En,o?20:768);const c=gs(n,s,zn),l=gs(n,s,"uid"),d=gs(n,s,"gid");let u=gs(n,s,Dn),f=gs(n,s,"unixExtraFieldType"),w=gs(n,s,Un),b=gs(n,s,Tn),S=gs(n,s,kn);if(l!==g&&(0>l||l>t))throw Error("Invalid uid (must be integer 0..2^32-1)");if(d!==g&&(0>d||d>t))throw Error("Invalid gid (must be integer 0..2^32-1)");if(u!==g&&(0>u||u>e))throw Error("Invalid UNIX mode (must be integer 0..65535)");if(f!==g&&f!==rs&&f!==ns)throw Error("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(f===ns&&(l!==g&&l>e||d!==g&&d>e))throw Error("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");f!==g||l===g&&d===g||(f=rs);let E=gs(n,s,pn),x=gs(n,s,mn);const z=E!==g||x!==g;if(l!==g||d!==g||u!==g||f?(o=!1,i=i&e|768):z&&(o=!0,i&=r),E!==g&&(0>E||E>r))throw Error("Invalid msdosAttributesRaw (must be integer 0..255)");if(x&&"object"!=typeof x)throw Error("Invalid msdosAttributes (must be an object with boolean flags)");if(i>e)throw Error(Ba);let A=gs(n,s,wn);const R=A!==g;R||(A=0),!s[xn]&&a.endsWith(y)&&(s[xn]=!0);const F=gs(n,s,xn);let D;if(F?(a.endsWith(y)||(a+=y),R||(A=16,o||(A|=16877<<16))):o||R||(A=c?493<<16:27525120),!o){const t=u!==g||!!(w||b||S);D=A>>16&e,u=u===g?D:u&e,w?u|=m:w=!!(u&m),b?u|=h:b=!!(u&h),S?u|=512:S=!!(512&u),R&&!t||(F&&(u|=p),A=(u&e)<<16|A&e)}return({msdosAttributesRaw:E,msdosAttributes:x}=((t,e)=>{if(t!==g)t&=r;else if(e!==g){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===g&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,x)),z&&(A=A&t|E&r),{name:a,fe:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:A,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:b,sticky:S,msdosAttributesRaw:E,msdosAttributes:x}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=gs(t,n,"encodeText",at);let s=a(r);if(s===g&&(s=at(r)),Ds(s)>e)throw Error(La);const o=n[tn]||"";let i=a(o);if(i===g&&(i=at(o)),Ds(i)>e)throw Error(Wa);const c=gs(t,n,Sn,20);if(c>e)throw Error(Ba);const l=gs(t,n,on,new Date),d=gs(t,n,ln),u=gs(t,n,dn),f=gs(t,n,fn,0),w=gs(t,n,In);let p,m;w||(p=gs(t,n,Cn),m=gs(t,n,Mn));const h=gs(t,n,"encryptionStrength",3),y=gs(t,n,gn),b=gs(t,n,"extendedTimestamp",!0),S=gs(t,n,"ntfsTimestamp"),E=gs(t,n,"keepOrder",!0),x=gs(t,n,Pn),z=gs(t,n,Wn),A=gs(t,n,"bufferedWrite"),F=gs(t,n,"createTempStream"),D=gs(t,n,"dataDescriptorSignature",!0),U=gs(t,n,Nn),T=gs(t,n,"useUnicodeFileNames",!0),k=gs(t,n,An),O=w||k===g?g:Z(k);if(!w&&k!==g&&0!==k&&8!==k&&!O)throw Error("Compression method not supported");let v=gs(t,n,"level");if(t.options[Vn]){if(p!==g||m!==g)throw Error(Za);v===g&&k===g&&(v=0)}let C=gs(t,n,_n),M=gs(t,n,"dataDescriptor");A&&M===g&&(M=!1),(M===g||y)&&(M=!0),v!==g&&6!=v&&(C=!1);const I=gs(t,n,yn);if(!y&&(p!==g||m!==g)&&(1>h||h>3))throw Error(Va);let N=R;const j=n[Fn];if(j){let t=0,r=0;j.forEach(e=>t+=4+Ds(e)),N=new Uint8Array(t);const n=it(N);j.forEach((t,a)=>{if(a>e)throw Error(Ha);if(Ds(t)>e)throw Error(qa);zs(n,r,a),zs(n,r+2,Ds(t)),Fs(N,t,r+4),r+=4+Ds(t)})}return{comment:o,fe:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:x,transferStreams:z,bufferedWrite:A,createTempStream:F,dataDescriptorSignature:D,signal:U,useUnicodeFileNames:T,compressionMethod:k,format:O?O.format:g,codecURI:O?O.codecURI:g,we:O?O.versionNeeded:g,level:v,useCompressionStream:C,dataDescriptor:M,zip64:I,rawExtraField:N}}})(o,i,l),{comment:w}=u,z=l[Fn];let A;o.files.set(i,g);try{const{fe:w}=u;0==w.level||w.compressionMethod!==g||w.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamZlib:r}=t;if(r&&!r.Dt)return!0;if(we(e)||fe(e,oe))return!0;if(r)try{return await Oe(t),!0}catch{return!1}return!1})(o.config)||(w.level=0);const p=await(async(e,r,{fe:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error($a);if(m=a[rn],m===g)throw Error(Qa)}const h=!0===u,y=gs(e,a,bn),b=!!r&&(!!(i&&Ds(i)||c&&Ds(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new qr(r),await Yr(r),s?(a.uncompressedSize=m,p=xs(m)+S):r.size===g?(d=!0,(u||u===g)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=xs(m)+S));const E=h||m>=t,x=h||p>=t;if(E||x){if(!1===u)throw Error(Ja);u=!0}return u=u||!1,{reader:r,fe:{dataDescriptor:d,zip64:u,ce:E,ie:x,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=p);const m=ws(o.writer),h=fs(o.writer),y=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:w,rawExtraField:p,encryptionStrength:m,extendedTimestamp:h,ntfsTimestamp:y,passThrough:x,encrypted:z,ce:A,ie:F,uncompressedSize:D}=t;let{version:U,compressionMethod:T}=t;const k=!w&&(T===g?i===g||i>0:0!==T);let O;const v=x||!k,C=c&&(t.bufferedWrite||!u||!A&&!F||v),M=C||c&&u&&(A||F);if(c&&(A||F)){const t=20,e=us(t);if(e.uint16(1),e.uint16(t-4),O=e.array,C&&(e.pe(D),v)){const t=z?l?12:16+4*m:0;e.pe(x?0:D+t)}}else O=R;let I,N,j,P,_;if(z&&!l){const t=us(Ds(es)+2);t.uint16(39169),t.bytes(es),I=t.array,I[8]=m}else I=R;if(h){const t=bs(a),e=Ss(t);if(e){const e=9+(s?4:0)+(o?4:0),r=us(e);P=1+(s?2:0)+(o?4:0),r.uint16(f),r.uint16(e-4),r.uint8(P),r.uint32(t),s&&r.uint32(Es(bs(s))),o&&r.uint32(Es(bs(o))),j=r.array}else j=R;if(y===g?!e||s||o:y)try{const t=ys(a),e=us(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?ys(s):t),e.pe(o?ys(o):t),N=e.array}catch{N=R}else N=R}else N=j=R;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=rs||r===g&&n===g)if(a!=ns||r===g&&n===g)_=R;else{const t=us(8);t.uint16(30805),t.uint16(4),t.uint16((r===g?0:r)&e),t.uint16((n===g?0:n)&e),_=t.array}else{const t=ds(r),e=ds(n),a=3+t.length+e.length,s=us(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),_=s.array}}catch{_=R}T===g&&(T=k?8:0);const{we:W}=t;k&&W!==g&&(U=U>W?U:W),c&&(U=U>45?U:45),z&&!l&&(U=U>51?U:51,I[9]=T,T=99);const L=M?Ds(O):0,B=L+Ds(I,j,N,_,p);if(B>e)throw Error(qa);const V=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{se:Z,oe:H,rawLastModDate:q}=Us({version:U,bitFlag:Ts(i,d,u,z,T),compressionMethod:T,uncompressedSize:D,lastModDate:E>V?E:V>S?S:V,rawFilename:r,ie:F,ce:A,extraFieldLength:B}),K=us(b+Ds(r)+B),Y=K.array,G=it(Y);return K.uint32(n),K.bytes(Z),K.bytes(r),M&&K.bytes(O),K.bytes(I),K.bytes(j),K.bytes(N),K.bytes(_),K.bytes(p),u&&(F||As(G,18,0),A||As(G,22,0)),{he:Y,ye:G,se:Z,oe:H,lastModDate:a,rawLastModDate:q,encrypted:z,compressed:k,version:U,compressionMethod:T,ue:P,te:R,be:L,re:j,ne:N,ae:_,ee:I,extraFieldLength:B}})(l=Object.assign({},l,d.fe,u.fe,p.fe,{internalFileAttribute:u.fe.internalFileAttributes,externalFileAttribute:d.fe.externalFileAttributes,signature:l[Rn],offset:o.offset-m,diskNumberStart:h})),z=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=R,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=it(a),r&&(o=4,As(n,0,s))),{Se:a,Ee:n,ge:o}})(l),F=Ds(y.he,z.Se);A=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{xe:w}=o,p=e.options[Vn],m=e.$t;let h,y,S,E,z,A,R,F={},D=0;c.set(n,F),e.$t=F;try{let y;d&&(y=m&&m.lock,F.lock=new Promise(t=>S=t)),i.bufferedWrite||!d||e.ze||e.Qt||!u?(h=!0,e.Qt++,R=i.createTempStream?await i.createTempStream():new TransformStream(g,g,{highWaterMark:x}),R.size=0,await Yr(l)):(R=l,await U()),await Yr(R);const k=ws(l);if(e.Yt){delete e.Yt;const t=new Uint8Array(4);As(it(t),0,a),await hs(l,t),e.offset+=4}p&&!h&&ls(o,e.offset-k);const{he:O}=w;h||(await y,await T());const v=fs(l),C=ms(e,l);if(F.diskNumberStart=v,h||(z=!0,A=l.size,await hs(R,O)),F=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{xe:l,Ae:d,Re:u}=o,{se:f,oe:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,te:E,be:x,re:z,ue:A,ne:R,ae:F,ee:D}=l,{Se:U}=d,{rawFilename:T,lastAccessDate:k,creationDate:O,password:v,rawPassword:C,level:M,zip64:I,ce:N,ie: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,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:V,te:E,be:x,re:z,ne:R,ae:F,ee:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:ht,uncompressedSize:yt}=c;ht===g&&({signature:ht}=c);let bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=te(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Ee,level:M,rawPassword:C,password:v,encryptionStrength:J,zipCrypto:h&&P,passwordVerification:h&&P&&m>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,ut:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await Ye({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,h&&!P||(ht=e.signature)),!j&&bt>=t||!N&&yt>=t)throw Error(Ja)}catch(t){throw t.outputSize!==g&&(n.size+=t.outputSize),t}}return(({signature:t,compressedSize:e,uncompressedSize:r,xe:n,Ae:a},{zip64:s,zipCrypto:o,dataDescriptor:i})=>{const{oe:c,encrypted:l}=n,{Ee:d,ge:u}=a;l&&!o||t===g||(As(c,10,t),i&&As(d,u,t)),s?i&&(Rs(d,u+4,BigInt(e)),Rs(d,u+12,BigInt(r))):(As(c,14,e),As(c,18,r),i&&(As(d,u+4,e),As(d,u+8,r)))})({signature:ht,compressedSize:bt,uncompressedSize:yt,xe:l,Ae:d},c),_&&await hs(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:O,lastAccessDate:k,encrypted:h,zipCrypto:P,size:u+bt,compressionMethod:S,version:b,se:f,oe:w,signature:ht,crc32:h&&!P?g:ht,ue:A,ce:N,ie:j}),mt})(s,R,F,o,e.config,i),h||(z=!1),c.set(n,F),F.filename=n,h){if(await Promise.all([R.writable.getWriter().close(),y]),await U(),E=!0,A=l.size,await T(),F.diskNumberStart=fs(l),F.offset=ms(e,l),p){const t=o.Re;ls(o,e.offset-ws(l)),F.size+=o.Re-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,signature:a,compressedSize:s,uncompressedSize:o,ce:i,ie:c},l,{dataDescriptor:d})=>{if(d||(e||As(l,14,a),c||As(l,18,s),i||As(l,22,o)),r&&n){const e=b+Ds(t)+4;Rs(l,e,BigInt(o)),Rs(l,e+8,BigInt(s))}})(F,w.ye,i),await hs(l,w.he),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=Ds(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(R.readable,l,f),l.size+=R.size,E=!1}else F.diskNumberStart=v,F.offset=C;return e.offset+=F.size,F}catch(t){if(E||z){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-A,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.Qt--,S&&S(),y&&y(),h&&R&&R.dispose)try{await R.dispose()}catch{}}async function U(){e.ze=!0;const{Fe:t}=e;e.Fe=new Promise(t=>y=()=>{e.ze=!1,t()}),await t}async function T(){ps(l,Ds(w.he))&&await l.closeDisk()}})(o,i,c,{xe:y,Ae:z,Re:F},l)}catch(t){throw o.files.delete(i),t}return Object.assign(A,{name:i,comment:w,extraField:z}),new vn(A)})(l,o,i,c),d.add(w),await w}catch(t){throw z&&l.Gt.delete(o),t}finally{d.delete(w);const t=ss.shift();t?t():as--}}remove(t){const{Gt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==g){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=R,n={}){const{Jt:a,writer:s}=this,{writable:u}=s;if(Ds(r)>e)throw Error(_a);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,ee:s,rawComment:o,ne:i,ae:c,rawExtraField:l,extendedTimestamp:d,ue:u,lastModDate:w,ce:p,ie:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||p||m){const t=4+(p?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=us(t);e.uint16(1),e.uint16(t-4),p&&e.pe(h),m&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=R;a.te=E,a.le=b,a.de=S;const x=bs(w);if(d&&Ss(x)){const t=us(9);t.uint16(f),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=R;a.re=g;const z=Ds(E,s,i,c,g,l);if(z>e)throw Error(qa);n+=46+Ds(r,o)+z}return n})(r.files),u=await(async(r,n,a)=>{const{files:s,writer:i}=r,c=new Uint8Array(n);await Yr(i);let l=0,d=0,u=fs(i),f=ws(i);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,te:m,ee:h,re:y,ne:b,ae:S,rawExtraField:E,rawComment:g,versionMadeBy:x,se:z,oe:A,ce:R,ie:F,de:D,le:U,internalFileAttributes:T,externalFileAttributes:k,diskNumberStart:O,uncompressedSize:v,compressedSize:C}=n,M=Ds(m,h,y,b,S,E),I=46+Ds(p,g)+M;ps(i,l+I-d)&&(await hs(i,c.slice(d,l)),d=l,await i.closeDisk()),0==r&&(u=fs(i),f=ws(i)),R||As(A,18,v),F||As(A,14,C),(U||D)&&45>n.version&&zs(A,0,45);const N=us(I);if(N.uint32(o),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(M),N.uint16(Ds(g)),N.uint16(D?e:O),N.uint16(T),N.uint32(k),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Fs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new vn(n))}catch{}}return await hs(i,d?c.slice(d):c),{diskNumber:u,diskOffset:f}})(r,s,a);await(async(r,n,a,s)=>{const{writer:o}=r,{De:u}=s;let{Ue:f}=s,w=r.files.size,p=u.diskNumber,m=ms(r,u),h=fs(o);ps(o,d)&&h++;let y=gs(r,a,yn);if(!(t>m&&t>f&&e>w&&e>h)){if(!1===y)throw Error(Ja);y=!0}const b=Ds(n);if(b>e)throw Error(_a);const S=us(y?98:d);ps(o,Ds(S.array)+b)&&await o.closeDisk(),h=fs(o),y&&(S.uint32(c),S.pe(44),S.uint16(45),S.uint16(45),S.uint32(h),S.uint32(p),S.pe(w),S.pe(w),S.pe(f),S.pe(m),S.uint32(l),S.uint32(h),S.pe(BigInt(ms(r,o))+BigInt(f)),S.uint32(h+1),gs(r,a,"supportZip64SplitFile",!0)&&(h=e,p=e),w=e,m=t,f=t),S.uint32(i),S.uint16(h),S.uint16(p),S.uint16(w),S.uint16(w),S.uint32(f),S.uint32(m),S.uint16(b),await hs(o,S.array),b&&await hs(o,n)})(r,n,a,{De:u,Ue:s})})(this,r,n),gs(this,n,Ln)||await u.getWriter().close(),s.getData?s.getData():u}}class is{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new os(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 cs(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 cs(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 cs(t,e,r){t.Jt.add(e),e.catch(t=>{try{r(t)}catch{}})}function ls(t,e){const{xe:r}=t;let{he:n,extraFieldLength:a}=r,s=64-(e+Ds(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=it(o);zs(i,0,6534),zs(i,2,s-4);const c=n;r.he=n=new Uint8Array(Ds(c)+s),Fs(n,c),Fs(n,o,Ds(c));const l=it(n);zs(l,28,a+s),r.ye=l,t.Re+=s}function ds(t){if(t===g)return R;{const e=new Uint8Array(4);it(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function us(t){const e=new Uint8Array(t),r=it(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{zs(r,n,t),n+=2},uint32:t=>{As(r,n,t),n+=4},pe:t=>{Rs(r,n,BigInt(t)),n+=8},bytes:t=>{Fs(e,t,n),n+=Ds(t)},me:t=>n+=t}}function fs(t){const{diskNumber:e=0}=t;return e}function ws(t){const{diskOffset:e=0}=t;return e}function ps(t,e){const{availableSize:r=x}=t;return e>r}function ms(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Xt:0)}async function hs(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Ds(e),await n.write(e)}finally{n.releaseLock()}}function ys(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return Ga>e?Ga:e>Xa?Xa:e}}function bs(t){return Math.floor(t.getTime()/1e3)}function Ss(t){return t>=Ka&&Ya>=t}function Es(t){return Math.min(Ya,Math.max(Ka,t))}function gs(t,e,r,n){const a=e[r]===g?t.options[r]:e[r];return a===g?n:a}function xs(t){return t+5*(Math.floor(t/16383)+1)}function zs(t,e,r){t.setUint16(e,r,!0)}function As(t,e,r){t.setUint32(e,r,!0)}function Rs(t,e,r){t.setBigUint64(e,r,!0)}function Fs(t,e,r){t.set(e,r)}function Ds(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Us({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,ie:l,ce:d,extraFieldLength:u}){const f=us(26),w=f.array,p=it(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===g){const t=new Uint32Array(1),e=it(t);zs(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),zs(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.me(4),l||s!==g?f.uint32(l?t:s):f.me(4),d||a!==g?f.uint32(d?t:a):f.me(4),f.uint16(Ds(c)),f.uint16(u),{se:w,oe:p,rawLastModDate:i}}function Ts(t,e,r,n,a){let s=0;return e&&(s|=w),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 ks(){return"application/octet-stream"}const Os=1048576,vs=".zip.js-temp";function Cs(t={}){const{thresholdBytes:e=Os,directoryName:r=vs,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(),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 d=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 d<t.length?e.enqueue(t[d++]):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 Ms=1048576;function Is(t={}){const{thresholdBytes:e=Ms}=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=new Response(e.readable).blob(),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 Ns=1048576,js=".zip.js-temp";function Ps(t={}){const{thresholdBytes:e=Ns,directoryName:r=js,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error("createSyncAccessHandle is only available in dedicated workers");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();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 d=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 d<t.length?e.enqueue(t[d++]):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{C({baseURI:import.meta.url})}catch{}let _s,Ws,Ls,Bs,Vs;function Zs(t,e,r={}){if(!_s){const t=Error("WASM module not loaded");throw t.cause=Vs,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.Te=Ws(a),this.in=Ws(s),this.inBufferSize=s,!this.Te||!this.in)throw Error("allocation failed");if(this.ke=new Uint8Array(a),t?(this.Oe=_s.deflate_process,this.ve=_s.deflate_last_consumed,this.Ce=_s.deflate_end,this.Me=_s.deflate_new(),r="gzip"===e?_s.deflate_init_gzip(this.Me,n):"deflate-raw"===e?_s.deflate_init_raw(this.Me,n):_s.deflate_init(this.Me,n)):"deflate64-raw"===e?(this.Oe=_s.inflate9_process,this.ve=_s.inflate9_last_consumed,this.Ce=_s.inflate9_end,this.Me=_s.inflate9_new(),r=_s.inflate9_init_raw(this.Me)):(this.Oe=_s.inflate_process,this.ve=_s.inflate_last_consumed,this.Ce=_s.inflate_end,this.Me=_s.inflate_new(),r="deflate-raw"===e?_s.inflate_init_raw(this.Me):"gzip"===e?_s.inflate_init_gzip(this.Me):_s.inflate_init(this.Me)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(Bs.buffer),o=this.Oe,i=this.ve,c=this.Te,l=this.ke;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&Ls&&(Ls(this.in),this.in=0),this.in=Ws(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Me,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Me);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(Bs.buffer),n=this.Oe,s=this.Te,o=this.ke;for(;;){const i=n(this.Me,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.Me&&t.Ce&&(e=t.Ce(t.Me)),t.Me=0,t.in&&Ls&&Ls(t.in),t.in=0,t.Te&&Ls&&Ls(t.Te),t.Te=0,e}}class Hs{constructor(t="deflate",e){return Zs(!0,t,e)}}class qs{constructor(t="deflate",e){return Zs(!1,t,e)}}Hs.Dt=!0,qs.Dt=!0;let Ks,Ys=!1;function Gs(){Ks=null,(async()=>{await Promise.allSettled(Ve.map(t=>($e(t),t.terminate()))),Fe=g})(),Ys=!1,_s=Ws=Ls=Bs=Vs=null}(({Ie:t})=>{Oe=t})({Ie:t=>{if(!Ks){let{wasmURI:e}=t;typeof e==A&&(e=e()),Ks=(async(t,{baseURI:e})=>{if(!Ys)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(_s=t,({malloc:Ws,free:Ls,memory:Bs}=_s),"function"!=typeof Ws||"function"!=typeof Ls||!Bs)throw _s=Ws=Ls=Bs=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),Ys=!0}catch(t){throw(t=>{Vs=t})(t),t}})(e,t).catch(t=>{throw Ks=null,t})}return Ks}}),C({CompressionStreamZlib:Hs,DecompressionStreamZlib:qs}),C({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Sr as BlobReader,Er as BlobWriter,mr as Data64URIReader,hr as Data64URIWriter,aa as ERR_AMBIGUOUS_ARCHIVE,Kn as ERR_BAD_FORMAT,Xn as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Pa as ERR_DUPLICATED_NAME,$n as ERR_ENCRYPTED,sa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Gn as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,Yn as ERR_EOCDR_NOT_FOUND,Qn as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,er as ERR_HTTP_RANGE,rr as ERR_HTTP_RESOURCE_CHANGED,mt as ERR_INVALID_AUTHENTICATION_CODE,I as ERR_INVALID_CODEC_DEFINITION,j as ERR_INVALID_CODEC_MODULE,_a as ERR_INVALID_COMMENT,ne as ERR_INVALID_COMPRESSED_DATA,ae as ERR_INVALID_CRC32,Va as ERR_INVALID_ENCRYPTION_STRENGTH,Wa as ERR_INVALID_ENTRY_COMMENT,La as ERR_INVALID_ENTRY_NAME,qa as ERR_INVALID_EXTRAFIELD_DATA,Ha as ERR_INVALID_EXTRAFIELD_TYPE,wt as ERR_INVALID_PASSWORD,pt as ERR_INVALID_SIGNATURE,re as ERR_INVALID_UNCOMPRESSED_SIZE,Ba as ERR_INVALID_VERSION,nr as ERR_ITERATOR_COMPLETED_TOO_SOON,Jn as ERR_LOCAL_FILE_HEADER_NOT_FOUND,na as ERR_OVERLAPPING_ENTRY,N as ERR_RESERVED_COMPRESSION_METHOD,ra as ERR_SPLIT_ZIP_FILE,$a as ERR_UNDEFINED_READER,Qa as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ea as ERR_UNSUPPORTED_COMPRESSION,ta as ERR_UNSUPPORTED_ENCRYPTION,Za as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Ja as ERR_UNSUPPORTED_FORMAT,ar as ERR_WRITER_NOT_INITIALIZED,ts as ERR_ZIP_NOT_EMPTY,Lr as HttpRangeReader,Wr as HttpReader,wr as Reader,Zr as SplitDataReader,Hr as SplitDataWriter,gr as TextReader,xr as TextWriter,Br as Uint8ArrayReader,Vr as Uint8ArrayWriter,pr as Writer,da as ZipReader,ua as ZipReaderStream,os as ZipWriter,is as ZipWriterStream,v as configure,Is as createBlobTempStream,Cs as createOPFSTempStream,Ps as createSyncAccessHandleTempStream,ks as getMimeType,B as registerCodec,M as resetConfiguration,Gs as terminateWorkers,V as unregisterCodec};
|