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