@zip.js/zip.js 2.8.29 → 2.8.31
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/BENCHMARKS.md +35 -0
- package/deno.json +5 -4
- package/dist/zip-core.js +496 -218
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core.js +398 -195
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-native.js +588 -254
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +587 -253
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +501 -223
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +504 -226
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +503 -225
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +588 -254
- package/index-native.min.js +1 -1
- package/index.cjs +587 -253
- package/index.d.cts +2814 -0
- package/index.d.ts +364 -1
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +0 -10
- package/lib/core/configuration.js +21 -33
- package/lib/core/constants.js +3 -0
- package/lib/core/io.js +11 -19
- package/lib/core/options.js +11 -1
- package/lib/core/streams/aes-crypto-stream.js +16 -20
- package/lib/core/streams/codecs/crc32.js +39 -11
- package/lib/core/streams/common-crypto.js +0 -2
- package/lib/core/streams/zip-crypto-stream.js +12 -16
- package/lib/core/streams/zip-entry-stream.js +69 -19
- package/lib/core/streams/zlib-js/zlib-streams.min.js +1 -1
- package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +1 -3
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/util/base64.js +68 -0
- package/lib/core/util/decode-text.js +0 -1
- package/lib/core/util/default-mime-type.js +0 -3
- package/lib/core/util/inflate.js +194 -0
- package/lib/core/util/mime-type.js +26 -22
- package/lib/core/util/opfs-temp-stream.js +139 -0
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-template-native.js +5 -5
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +61 -10
- package/lib/core/zip-reader.js +162 -53
- package/lib/core/zip-writer.js +34 -41
- package/lib/core/zlib-streams-inline-template.js +3 -2
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-core-base.js +7 -2
- package/package.json +9 -6
- package/reserved-property-names.js +50 -0
- package/lib/core/util/mini-lz.js +0 -198
package/dist/zip-native.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,A)=>{"object"==typeof exports&&"undefined"!=typeof module?A(exports):"function"==typeof define&&define.amd?define(["exports"],A):A((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:A,Object:t,String:i,Number:r,BigInt:n,Math:a,Date:o,Map:g,Set:s,Response:B,URL:l,Error:c,Uint8Array:u,Uint16Array:h,Uint32Array:w,DataView:d,Blob:I,Promise:f,TextEncoder:C,TextDecoder:E,document:D,crypto:F,btoa:m,TransformStream:p,ReadableStream:Q,WritableStream:Y,CompressionStream:y,DecompressionStream:S,navigator:b,Worker:M}="undefined"!=typeof globalThis?globalThis:this||self;var U=void 0!==D?D.currentScript:null;const O=4294967295,W=65535,G=255,T=67324752,k=134695760,R=k,K=33639248,x=101010256,H=101075792,z=117853008,L=22,N=21589,J=2048,v=16384,V=2048,P=1024,X="/",Z=30,q=new o(2107,11,31),_=new o(1980,0,1),j=void 0,$=1/0,ee="undefined",Ae="function";let te=2;try{typeof b!=ee&&b.hardwareConcurrency&&(te=b.hardwareConcurrency)}catch{}const ie={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:te,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof y!=ee&&y,DecompressionStream:typeof S!=ee&&S},re=t.assign({},ie);function ne(){return re}function ae(e){return a.max(e.chunkSize,64)}function oe(e){const{baseURI:A,chunkSize:t,maxWorkers:i,terminateWorkerTimeout:r,workerStarvationTimeout:n,useCompressionStream:a,useWebWorkers:o,CompressionStream:g,DecompressionStream:s,CompressionStreamZlib:B,DecompressionStreamZlib:l,workerURI:c,wasmURI:u}=e;ge("baseURI",A),ge("wasmURI",u),ge("workerURI",c),ge("chunkSize",t),ge("maxWorkers",i),ge("terminateWorkerTimeout",r),ge("workerStarvationTimeout",n),ge("useCompressionStream",a),ge("useWebWorkers",o),ge("CompressionStream",g),ge("DecompressionStream",s),ge("CompressionStreamZlib",B),ge("DecompressionStreamZlib",l)}function ge(e,A){A!==j&&(re[e]=A)}const se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Be=[];for(let e=0;256>e;e++){let A=e;for(let e=0;8>e;e++)1&A?A=A>>>1^3988292384:A>>>=1;Be[e]=A}class le{constructor(e){this.crc=e||-1}append(e){let A=0|this.crc;for(let t=0,i=0|e.length;i>t;t++)A=A>>>8^Be[255&(A^e[t])];this.crc=A}get(){return~this.crc}}class ce extends p{constructor(){let e;const A=new le;super({transform(e,t){A.append(e),t.enqueue(e)},flush(){const t=new u(4);new d(t.buffer).setUint32(0,A.get()),e.value=t}}),e=this}}function ue(e){if(typeof C==ee){const A=new u((e=unescape(encodeURIComponent(e))).length);for(let t=0;t<A.length;t++)A[t]=e.charCodeAt(t);return A}return(new C).encode(e)}const he={concat(e,A){if(0===e.length||0===A.length)return e.concat(A);const t=e[e.length-1],i=he.getPartial(t);return 32===i?e.concat(A):he._shiftRight(A,i,0|t,e.slice(0,e.length-1))},bitLength(e){const A=e.length;if(0===A)return 0;const t=e[A-1];return 32*(A-1)+he.getPartial(t)},clamp(e,A){if(32*e.length<A)return e;const t=(e=e.slice(0,a.ceil(A/32))).length;return A&=31,t>0&&A&&(e[t-1]=he.partial(A,e[t-1]&2147483648>>A-1,1)),e},partial:(e,A,t)=>32===e?A:(t?0|A:A<<32-e)+1099511627776*e,getPartial:e=>a.round(e/1099511627776)||32,_shiftRight(e,A,t,i){for(void 0===i&&(i=[]);A>=32;A-=32)i.push(t),t=0;if(0===A)return i.concat(e);for(let r=0;r<e.length;r++)i.push(t|e[r]>>>A),t=e[r]<<32-A;const r=e.length?e[e.length-1]:0,n=he.getPartial(r);return i.push(he.partial(A+n&31,A+n>32?t:i.pop(),1)),i}},we={bytes:{fromBits(e){const A=he.bitLength(e)/8,t=new u(A);let i;for(let r=0;A>r;r++)3&r||(i=e[r/4]),t[r]=i>>>24,i<<=8;return t},toBits(e){const A=[];let t,i=0;for(t=0;t<e.length;t++)i=i<<8|e[t],3&~t||(A.push(i),i=0);return 3&t&&A.push(he.partial(8*(3&t),i)),A}}},de=class{constructor(e){const A=this;A.blockSize=512,A._init=[1732584193,4023233417,2562383102,271733878,3285377520],A._key=[1518500249,1859775393,2400959708,3395469782],e?(A._h=e._h.slice(0),A._buffer=e._buffer.slice(0),A._length=e._length):A.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const A=this;"string"==typeof e&&(e=we.utf8String.toBits(e));const t=A._buffer=he.concat(A._buffer,e),i=A._length,r=A._length=i+he.bitLength(e);if(r>9007199254740991)throw new c("Cannot hash more than 2^53 - 1 bits");const n=new w(t);let a=0;for(let e=A.blockSize+i-(A.blockSize+i&A.blockSize-1);r>=e;e+=A.blockSize)A._block(n.subarray(16*a,16*(a+1))),a+=1;return t.splice(0,16*a),A}finalize(){const e=this;let A=e._buffer;const t=e._h;A=he.concat(A,[he.partial(1,1)]);for(let e=A.length+2;15&e;e++)A.push(0);for(A.push(a.floor(e._length/4294967296)),A.push(0|e._length);A.length;)e._block(A.splice(0,16));return e.reset(),t}_f(e,A,t,i){return e>19?e>39?e>59?e>79?void 0:A^t^i:A&t|A&i|t&i:A^t^i:A&t|~A&i}_S(e,A){return A<<e|A>>>32-e}_block(e){const t=this,i=t._h,r=A(80);for(let A=0;16>A;A++)r[A]=e[A];let n=i[0],o=i[1],g=i[2],s=i[3],B=i[4];for(let e=0;79>=e;e++){16>e||(r[e]=t._S(1,r[e-3]^r[e-8]^r[e-14]^r[e-16]));const A=t._S(5,n)+t._f(e,o,g,s)+B+r[e]+t._key[a.floor(e/20)]|0;B=s,s=g,g=t._S(30,o),o=n,n=A}i[0]=i[0]+n|0,i[1]=i[1]+o|0,i[2]=i[2]+g|0,i[3]=i[3]+s|0,i[4]=i[4]+B|0}},Ie={importKey:e=>new Ie.hmacSha1(we.bytes.toBits(e)),pbkdf2(e,A,t,i){if(t=t||1e4,0>i||0>t)throw new c("invalid params to pbkdf2");const r=1+(i>>5)<<2;let n,a,o,g,s;const B=new ArrayBuffer(r),l=new d(B);let u=0;const h=he;for(A=we.bytes.toBits(A),s=1;(r||1)>u;s++){for(n=a=e.encrypt(h.concat(A,[s])),o=1;t>o;o++)for(a=e.encrypt(a),g=0;g<a.length;g++)n[g]^=a[g];for(o=0;(r||1)>u&&o<n.length;o++)l.setInt32(u,n[o]),u+=4}return B.slice(0,i/8)},hmacSha1:class{constructor(e){const A=this,t=A._hash=de,i=[[],[]];A._baseHash=[new t,new t];const r=A._baseHash[0].blockSize/32;e.length>r&&(e=(new t).update(e).finalize());for(let A=0;r>A;A++)i[0][A]=909522486^e[A],i[1][A]=1549556828^e[A];A._baseHash[0].update(i[0]),A._baseHash[1].update(i[1]),A._resultHash=new t(A._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,A=e._resultHash.finalize(),t=new e._hash(e._baseHash[1]).update(A).finalize();return e.reset(),t}encrypt(e){if(this._updated)throw new c("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},fe=typeof F!=ee&&typeof F.getRandomValues==Ae,Ce="Invalid password",Ee="Invalid signature",De="zipjs-abort-check-password";function Fe(e){if(fe)return F.getRandomValues(e);throw new c("Crypto API not supported")}const me=16,pe={name:"PBKDF2"},Qe=t.assign({hash:{name:"HMAC"}},pe),Ye=t.assign({iterations:1e3,hash:{name:"SHA-1"}},pe),ye=["deriveBits"],Se=[8,12,16],be=[16,24,32],Me=10,Ue=[0,0,0,0],Oe=typeof F!=ee,We=Oe&&F.subtle,Ge=Oe&&typeof We!=ee,Te=we.bytes,ke=class{constructor(e){const A=this;A._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],A._tables[0][0][0]||A._precompute();const t=A._tables[0][4],i=A._tables[1],r=e.length;let n,a,o,g=1;if(4!==r&&6!==r&&8!==r)throw new c("invalid aes key size");for(A._key=[a=e.slice(0),o=[]],n=r;4*r+28>n;n++){let e=a[n-1];(n%r===0||8===r&&n%r===4)&&(e=t[e>>>24]<<24^t[e>>16&255]<<16^t[e>>8&255]<<8^t[255&e],n%r===0&&(e=e<<8^e>>>24^g<<24,g=g<<1^283*(g>>7))),a[n]=a[n-r]^e}for(let e=0;n;e++,n--){const A=a[3&e?n:n-4];o[e]=4>=n||4>e?A:i[0][t[A>>>24]]^i[1][t[A>>16&255]]^i[2][t[A>>8&255]]^i[3][t[255&A]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],A=this._tables[1],t=e[4],i=A[4],r=[],n=[];let a,o,g,s;for(let e=0;256>e;e++)n[(r[e]=e<<1^283*(e>>7))^e]=e;for(let B=a=0;!t[B];B^=o||1,a=n[a]||1){let n=a^a<<1^a<<2^a<<3^a<<4;n=n>>8^255&n^99,t[B]=n,i[n]=B,s=r[g=r[o=r[B]]];let l=16843009*s^65537*g^257*o^16843008*B,c=257*r[n]^16843008*n;for(let t=0;4>t;t++)e[t][B]=c=c<<24^c>>>8,A[t][n]=l=l<<24^l>>>8}for(let t=0;5>t;t++)e[t]=e[t].slice(0),A[t]=A[t].slice(0)}_crypt(e,A){if(4!==e.length)throw new c("invalid aes block size");const t=this._key[A],i=t.length/4-2,r=[0,0,0,0],n=this._tables[A],a=n[0],o=n[1],g=n[2],s=n[3],B=n[4];let l,u,h,w=e[0]^t[0],d=e[A?3:1]^t[1],I=e[2]^t[2],f=e[A?1:3]^t[3],C=4;for(let e=0;i>e;e++)l=a[w>>>24]^o[d>>16&255]^g[I>>8&255]^s[255&f]^t[C],u=a[d>>>24]^o[I>>16&255]^g[f>>8&255]^s[255&w]^t[C+1],h=a[I>>>24]^o[f>>16&255]^g[w>>8&255]^s[255&d]^t[C+2],f=a[f>>>24]^o[w>>16&255]^g[d>>8&255]^s[255&I]^t[C+3],C+=4,w=l,d=u,I=h;for(let e=0;4>e;e++)r[A?3&-e:e]=B[w>>>24]<<24^B[d>>16&255]<<16^B[I>>8&255]<<8^B[255&f]^t[C++],l=w,w=d,d=I,I=f,f=l;return r}},Re=class{constructor(e,A){this._prf=e,this._initIv=A,this._iv=A}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255&~(e>>24))e+=1<<24;else{let A=e>>16&255,t=e>>8&255,i=255&e;255===A?(A=0,255===t?(t=0,255===i?i=0:++i):++t):++A,e=0,e+=A<<16,e+=t<<8,e+=i}return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,A,t){let i;if(!(i=A.length))return[];const r=he.bitLength(A);for(let r=0;i>r;r+=4){this.incCounter(t);const i=e.encrypt(t);A[r]^=i[0],A[r+1]^=i[1],A[r+2]^=i[2],A[r+3]^=i[3]}return he.clamp(A,r)}},Ke=Ie.hmacSha1;let xe=Oe&&Ge&&typeof We.importKey==Ae,He=Oe&&Ge&&typeof We.deriveBits==Ae;class ze extends p{constructor({password:e,rawPassword:A,encryptionStrength:i,checkPasswordOnly:r}){super({start(){t.assign(this,{ready:new f(e=>this.resolveReady=e),password:ve(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:n,resolveReady:a,ready:o}=t;i?(await(async(e,A,t,i)=>{const r=await Je(e,A,t,Pe(i,0,Se[A])),n=Pe(i,Se[A]);if(r[0]!=n[0]||r[1]!=n[1])throw new c(Ce)})(t,n,i,Pe(e,0,Se[n]+2)),e=Pe(e,Se[n]+2),r?A.error(new c(De)):a()):await o;const g=new u(e.length-Me-(e.length-Me)%me);A.enqueue(Ne(t,e,g,0,Me,!0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:r}=this;if(t&&A){await r;const n=Pe(i,0,i.length-Me),a=Pe(i,i.length-Me);let o=new u;if(n.length){const e=Ze(Te,n);t.update(e);const i=A.update(e);o=Xe(Te,i)}const g=Pe(Xe(Te,t.digest()),0,Me);let s=i.length<Me?1:0;for(let e=0;Me>e;e++)s|=g[e]^a[e];if(s)throw new c(Ee);e.enqueue(o)}}})}}class Le extends p{constructor({password:e,rawPassword:A,encryptionStrength:i}){let r;super({start(){t.assign(this,{ready:new f(e=>this.resolveReady=e),password:ve(e,A),strength:i-1,pending:new u})},async transform(e,A){const t=this,{password:i,strength:r,resolveReady:n,ready:a}=t;let o=new u;i?(o=await(async(e,A,t)=>{const i=Fe(new u(Se[A]));return Ve(i,await Je(e,A,t,i))})(t,r,i),n()):await a;const g=new u(o.length+e.length-e.length%me);g.set(o,0),A.enqueue(Ne(t,e,g,o.length,0))},async flush(e){const{ctr:A,hmac:t,pending:i,ready:n}=this;if(t&&A){await n;let a=new u;if(i.length){const e=A.update(Ze(Te,i));t.update(e),a=Xe(Te,e)}r.signature=Xe(Te,t.digest()).slice(0,Me),e.enqueue(Ve(a,r.signature))}}}),r=this}}function Ne(e,A,t,i,r,n){const{ctr:a,hmac:o,pending:g}=e;g.length&&(A=Ve(g,A));const s=A.length-r;let B;for(t=((e,A)=>{if(A&&A>e.length){const t=e;(e=new u(A)).set(t,0)}return e})(t,i+(s-s%me)),B=0;s-me>=B;B+=me){const e=Ze(Te,Pe(A,B,B+me));n&&o.update(e);const r=a.update(e);n||o.update(r),t.set(Xe(Te,r),B+i)}return e.pending=Pe(A,B),t}async function Je(e,i,r,n){e.password=null;const a=await(async(e,A,t,i,r)=>{if(!xe)return Ie.importKey(A);try{return await We.importKey("raw",A,t,!1,r)}catch{return xe=!1,Ie.importKey(A)}})(0,r,Qe,0,ye),o=await(async(e,A,t)=>{if(!He)return Ie.pbkdf2(A,e.salt,Ye.iterations,t);try{return await We.deriveBits(e,A,t)}catch{return He=!1,Ie.pbkdf2(A,e.salt,Ye.iterations,t)}})(t.assign({salt:n},Ye),a,8*(2*be[i]+2)),g=new u(o),s=Ze(Te,Pe(g,0,be[i])),B=Ze(Te,Pe(g,be[i],2*be[i])),l=Pe(g,2*be[i]);return t.assign(e,{keys:{key:s,authentication:B,passwordVerification:l},ctr:new Re(new ke(s),A.from(Ue)),hmac:new Ke(B)}),l}function ve(e,A){return A===j?ue(e):A}function Ve(e,A){let t=e;return e.length+A.length&&(t=new u(e.length+A.length),t.set(e,0),t.set(A,e.length)),t}function Pe(e,A,t){return e.subarray(A,t)}function Xe(e,A){return e.fromBits(A)}function Ze(e,A){return e.toBits(A)}class qe extends p{constructor({password:e,rawPassword:A,passwordVerification:i,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),eA(this,e,A)},transform(e,A){const t=this;if(t.password||t.rawPassword){const A=je(t,e.subarray(0,12));if(t.password=t.rawPassword=null,0!=(A.at(-1)^t.passwordVerification))throw new c(Ce);e=e.subarray(12)}r?A.error(new c(De)):A.enqueue(je(t,e))}})}}class _e extends p{constructor({password:e,rawPassword:A,passwordVerification:i}){super({start(){t.assign(this,{password:e,rawPassword:A,passwordVerification:i}),eA(this,e,A)},transform(e,A){const t=this;let i,r;if(t.password||t.rawPassword){t.password=t.rawPassword=null;const A=Fe(new u(12));A[11]=t.passwordVerification,i=new u(e.length+A.length),i.set($e(t,A),0),r=12}else i=new u(e.length),r=0;i.set($e(t,e),r),A.enqueue(i)}})}}function je(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=tA(e)^A[i],AA(e,t[i]);return t}function $e(e,A){const t=new u(A.length);for(let i=0;i<A.length;i++)t[i]=tA(e)^A[i],AA(e,A[i]);return t}function eA(e,A,i){const r=[305419896,591751049,878082192];if(t.assign(e,{keys:r,crcKey0:new le(r[0]),crcKey2:new le(r[2])}),i)for(let A=0;A<i.length;A++)AA(e,i[A]);else for(let t=0;t<A.length;t++)AA(e,A.charCodeAt(t))}function AA(e,A){let[,t]=e.keys;e.crcKey0.append([A]);const i=~e.crcKey0.get();t=rA(a.imul(rA(t+iA(i)),134775813)+1),e.crcKey2.append([t>>>24]);const r=~e.crcKey2.get();e.keys=[i,t,r]}function tA(e){const A=2|e.keys[2];return iA(a.imul(A,1^A)>>>8)}function iA(e){return 255&e}function rA(e){return 4294967295&e}const nA="Invalid uncompressed size",aA="Invalid compressed data";class oA extends p{constructor(e,{chunkSize:A,CompressionStreamZlib:t,CompressionStream:i}){super({});const{compressed:r,encrypted:n,useCompressionStream:a,zipCrypto:o,signed:g,level:s}=e,B=this;let l,c,u=super.readable;n&&!o||!g||(l=new ce,u=lA(u,l)),r&&(u=BA(u,a,{level:s,chunkSize:A},i,t,i)),n&&(o?u=lA(u,new _e(e)):(c=new Le(e),u=lA(u,c))),sA(B,u,()=>{let e;n&&!o&&(e=c.signature),n&&!o||!g||(e=new d(l.value.buffer).getUint32(0)),B.signature=e})}}class gA extends p{constructor(e,{chunkSize:A,DecompressionStreamZlib:t,DecompressionStream:i}){super({});const{zipCrypto:r,encrypted:n,signed:a,signature:o,compressed:g,useCompressionStream:s,deflate64:B}=e;let l,u,h=super.readable;n&&(r?h=lA(h,new qe(e)):(u=new ze(e),h=lA(h,u))),g&&(h=BA(h,s,{chunkSize:A,deflate64:B},i,t,i),h=(e=>{const A=e.getReader();return new Q({async pull(e){let t;try{t=await A.read()}catch(e){if(e&&e.message)throw e;const A=new c(aA);throw A.cause=e,A}const{value:i,done:r}=t;r?e.close():e.enqueue(i)},cancel:e=>A.cancel(e)})})(h)),n&&!r||!a||(l=new ce,h=lA(h,l)),sA(this,h,()=>{if((!n||r)&&a){const e=new d(l.value.buffer);if(o!=e.getUint32(0,!1))throw new c(Ee)}})}}function sA(e,A,i){A=lA(A,new p({flush:i})),t.defineProperty(e,"readable",{get:()=>A})}function BA(e,A,t,i,r,n){const a=A&&i?i:r||n,o=t.deflate64?"deflate64-raw":"deflate-raw";let g;try{g=new a(o,t)}catch(e){if(!A)throw e;if(r)g=new r(o,t);else{if(!n)throw e;g=new n(o,t)}}return((e,A)=>{const t=A.writable.getWriter(),i=e.getReader();return(async()=>{try{for(;;){await t.ready;const e=await i.read();if(e.done){await t.close();break}await t.write(e.value)}}catch(e){await(async(e,A)=>{try{await e.abort(A)}catch{}})(t,e),await(async(e,A)=>{try{await e.cancel(A)}catch{}})(i,e)}})(),A.readable})(e,g)}function lA(e,A){return e.pipeThrough(A)}const cA="data",uA="deflate",hA="inflate";class wA extends p{constructor(e,A){super({});const i=this,{codecType:r}=e;let n;r.startsWith(uA)?n=oA:r.startsWith(hA)&&(n=gA),i.outputSize=0;let a=0;const o=new n(e,A),g=super.readable,s=new p({transform(e,A){e&&e.length&&(a+=e.length,A.enqueue(e))},flush(){t.assign(i,{inputSize:a})}}),B=new p({transform(A,t){if(A&&A.length&&(t.enqueue(A),i.outputSize+=A.length,e.outputSize!==j&&i.outputSize>e.outputSize))throw new c(nA)},flush(){const{signature:e}=o;t.assign(i,{signature:e,inputSize:a})}});t.defineProperty(i,"readable",{get:()=>g.pipeThrough(s).pipeThrough(o).pipeThrough(B)})}}class dA extends p{constructor(e){let A;1>e&&(e=65536),super({transform:(t,i)=>{if(A){const e=new u(A.length+t.length);e.set(A),e.set(t,A.length),t=e,A=null}let r=0;for(;t.length-r>e;)i.enqueue(t.slice(r,r+e)),r+=e;A=r?t.slice(r):t},flush(e){A&&A.length&&e.enqueue(A)}})}}const IA={type:"module"},fA="error";let CA,EA,DA,FA,mA=!0;try{mA=typeof structuredClone==Ae&&structuredClone(new DOMException("","AbortError")).code!==j}catch{}class pA{constructor(e,{readable:A,writable:i},{options:r,config:n,streamOptions:a,useWebWorkers:o,transferStreams:g,workerURI:s},B){const{signal:l}=a;return t.assign(e,{busy:!0,generation:(e.generation||0)+1,readable:A.pipeThrough(new dA(ae(n))).pipeThrough(new QA(a),{signal:l}),writable:i,options:t.assign({},r),workerURI:s,transferStreams:g,terminate:()=>new f(A=>{const{worker:t,busy:i}=e;t?(i?e.resolveTerminated=A:(t.terminate(),A()),e.interface=null):A()}),onTaskFinished(){if(e.busy){const{resolveTerminated:A}=e;A&&(e.resolveTerminated=null,e.terminated=!0,e.worker.terminate(),A()),e.busy=!1,B(e)}}}),CA===j&&(CA=typeof M!=ee),(o&&CA?SA:yA)(e,n)}}class QA extends p{constructor({onstart:e,onprogress:A,size:t,onend:i}){let r=0;super({async start(){e&&await YA(e,t)},async transform(e,i){r+=e.length,A&&await YA(A,r,t),i.enqueue(e)},async flush(){i&&await YA(i,r)}})}}async function YA(e,...A){try{await e(...A)}catch{}}function yA(e,A){return{run:()=>(async({options:e,readable:A,writable:t,onTaskFinished:i},r)=>{let n;try{if(!e.useCompressionStream)try{await void 0}catch{const A=e.codecType.startsWith(uA)?r.CompressionStreamZlib:r.DecompressionStreamZlib;A&&!A.requiresModule||(e.useCompressionStream=!0)}n=new wA(e,r),await A.pipeThrough(n).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:i,inputSize:a,outputSize:o}=n;return{signature:i,inputSize:a,outputSize:o}}catch(e){throw n&&(e.outputSize=n.outputSize),e}finally{i()}})(e,A)}}function SA(e,A){const{baseURI:i,chunkSize:r}=A;let{wasmURI:n}=A;if(!e.interface){let a;typeof n==Ae&&(n=n());try{a=MA(e.workerURI,i,e)}catch{return CA=!1,yA(e,A)}t.assign(e,{worker:a,terminated:!1,interface:{run:()=>(async(e,A)=>{let i,r;const n=new f((e,A)=>{i=e,r=A});t.assign(e,{reader:null,writer:null,resolveResult:i,rejectResult:r,result:n});const{readable:a,options:o}=e,{writable:g,closed:s,abortPipe:B}=(e=>{const A=new AbortController,{writable:t,readable:i}=new p,r=i.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:A.signal});return r.catch(()=>{}),{writable:t,closed:r,abortPipe:()=>A.abort()}})(e.writable);let l;try{l=OA({type:"start",options:o,config:A,readable:a,writable:g},e)}catch(A){B();try{await s}catch{}throw e.onTaskFinished(),A}l||t.assign(e,{reader:a.getReader(),writer:g.getWriter()});try{const e=await n;return await c(),await s,e}catch(e){await c(),B();try{await s}catch{}throw e}async function c(){if(!l&&!g.locked)try{await g.getWriter().close()}catch{}}})(e,{chunkSize:r,wasmURI:n,baseURI:i})}})}return e.interface}function bA(e){const{worker:A}=e;if(A)try{A.terminate()}catch{}e.interface=null}function MA(e,A,i,r,n=!0){let a,o,g;if(DA===j||EA!==e){const t=typeof e==Ae;o=t?e(n):e;const s=o.startsWith("data:"),B=o.startsWith("blob:");if(s||B){r===j&&(r=!1),r&&(g=IA);try{a=new M(o,g)}catch(n){if(B)try{l.revokeObjectURL(o)}catch{}if(t&&B)return MA(e,A,i,r,!1);if(r)throw n;return MA(e,A,i,!0,!1)}}else{r===j&&(r=!0),r&&(g=IA);try{o=new l(o,A)}catch{}try{a=new M(o,g)}catch(t){if(r)throw t;return MA(e,A,i,!1,n)}}EA=e,DA=o,FA=g}else a=new M(DA,FA);return a.addEventListener("message",e=>(async({data:e},A)=>{const{type:i,value:r,messageId:n,result:a,error:o}=e,{reader:g,writer:s,resolveResult:B,rejectResult:l,onTaskFinished:h,generation:w}=A,d=()=>A.generation!=w;try{if(o){const{message:e,stack:A,code:i,name:r,outputSize:n}=o,a=new c(e);t.assign(a,{stack:A,code:i,name:r,outputSize:n}),I(a)}else{if("pull"==i){const{value:e,done:t}=await g.read();d()||OA({type:cA,value:e,done:t,messageId:n},A)}i==cA&&(await s.ready,await s.write(new u(r)),d()||OA({type:"ack",messageId:n},A)),"close"==i&&I(null,a)}}catch(o){d()||(bA(A),I(o))}function I(e,A){d()||(e?l(e):B(A),s&&s.releaseLock(),h())}})(e,i)),a.addEventListener(fA,e=>UA(e,i)),a.addEventListener("messageerror",e=>UA(e,i)),a}function UA(e,A){e.preventDefault&&e.preventDefault();const{rejectResult:t,writer:i,onTaskFinished:r}=A;bA(A),t&&(t(e.error||new c(e.message||fA)),i&&i.releaseLock(),r())}function OA(e,{worker:A,writer:t,transferStreams:i}){try{const{value:t,readable:r,writable:n}=e,a=[];if(t&&(e.value=t,a.push(e.value.buffer)),i&&mA?(r&&a.push(r),n&&a.push(n)):e.readable=e.writable=null,a.length)try{return A.postMessage(e,a),!0}catch{mA=!1,e.readable=e.writable=null,A.postMessage(e)}else A.postMessage(e)}catch(e){throw t&&t.releaseLock(),e}}let WA=[];const GA=[];let TA,kA,RA=0;async function KA(e,A){const{options:t,config:i}=A,{transferStreams:n,useWebWorkers:a,useCompressionStream:o,compressed:g,signed:s,encrypted:B}=t,{workerURI:l,maxWorkers:c}=i;A.transferStreams=n||n===j;const u=!(g||s||B||A.transferStreams);return A.useWebWorkers=!u&&(a||a===j&&i.useWebWorkers),A.workerURI=A.useWebWorkers&&l?l:j,t.useCompressionStream=o||o===j&&i.useCompressionStream,(await(async()=>{const t=WA.find(e=>!e.busy);if(t)return NA(t),new pA(t,e,A,h);if(WA.length<c){const t={indexWorker:RA};return RA++,WA.push(t),new pA(t,e,A,h)}return new f(t=>{GA.push({resolve:t,stream:e,workerOptions:A}),kA=i.workerStarvationTimeout,xA()})})()).run();function h(e){if(HA(),GA.length){const[{resolve:A,stream:t,workerOptions:i}]=GA.splice(0,1);A(new pA(e,t,i,h)),xA()}else e.worker?(NA(e),((e,A)=>{const{config:t}=A,{terminateWorkerTimeout:i}=t;r.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{WA=WA.filter(A=>A!=e);try{await e.terminate()}catch{}},i))})(e,A)):WA=WA.filter(A=>A!=e)}}function xA(){!TA&&GA.length&&r.isFinite(kA)&&kA>=0&&(TA=setTimeout(zA,kA))}function HA(){TA&&(clearTimeout(TA),TA=null)}function zA(){if(TA=null,GA.length){const[{resolve:e,stream:A,workerOptions:i}]=GA.splice(0,1),r=t.assign({},i,{useWebWorkers:!1,workerURI:j});e(new pA({},A,r,LA)),xA()}}function LA(){HA(),xA()}function NA(e){const{terminateTimeout:A}=e;A&&(clearTimeout(A),e.terminateTimeout=null)}const JA="HTTP error ",vA="HTTP Range not supported",VA="Content-Range",PA="Range",XA="GET",ZA="bytes",qA=65536,_A="writable";class jA{constructor(){this.size=0}init(){this.initialized=!0}}class $A extends jA{get readable(){const e=this,{chunkSize:A=qA}=e,t=new Q({start(){this.chunkOffset=0},async pull(i){const{offset:r=0,size:n,diskNumberStart:o}=t,{chunkOffset:g}=this,s=n===j?A:a.min(A,n-g),B=await Ft(e,r+g,s,o);i.enqueue(B),g+A>n||n===j&&!B.length&&s?i.close():this.chunkOffset+=A}});return t}}class et extends jA{constructor(){super();const e=this,A=new Y({write(A){if(!e.initialized)throw new c("Writer not initialized");return e.writeUint8Array(A)}});t.defineProperty(e,_A,{get:()=>A})}writeUint8Array(){}}class At extends $A{constructor(e){super(),t.assign(this,{blob:e,size:e.size})}async readUint8Array(e,A){const t=this,i=e+A,r=e||i<t.size?t.blob.slice(e,i):t.blob;let n=await r.arrayBuffer();return n.byteLength>A&&(n=n.slice(e,i)),new u(n)}}class tt extends jA{constructor(e){super();const A=this,i=new p,r=[];e&&r.push(["Content-Type",e]),t.defineProperty(A,_A,{get:()=>i.writable}),A.blob=new B(i.readable,{headers:r}).blob(),A.blob.catch(()=>{})}getData(){return this.blob}}class it extends $A{constructor(e,A){super(),nt(this,e,A)}async init(){await at(this,ht,Bt),super.init()}readUint8Array(e,A){return ot(this,e,A,ht,Bt)}}class rt extends $A{constructor(e,A){super(),nt(this,e,A)}async init(){await at(this,wt,lt),super.init()}readUint8Array(e,A){return ot(this,e,A,wt,lt)}}function nt(e,A,i){const{preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:a,combineSizeEocd:o,fetch:g}=i;delete(i=t.assign({},i)).preventHeadRequest,delete i.useRangeHeader,delete i.forceRangeRequests,delete i.combineSizeEocd,delete i.useXHR,delete i.fetch,t.assign(e,{url:A,options:i,preventHeadRequest:r,useRangeHeader:n,forceRangeRequests:a,combineSizeEocd:o,fetch:g})}async function at(e,A,t){const{url:i,preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:g}=e;if((e=>{const{baseURI:A}=ne(),{protocol:t}=new l(e,A);return"http:"==t||"https:"==t})(i)&&(a||o)&&(void 0===n||n)){const i=await A(XA,e,gt(e,g?-22:void 0)),n=i.headers.get("Accept-Ranges");if(!(o||n&&n.toLowerCase()==ZA))throw new c(vA);{if(g){const A=new u(await i.arrayBuffer());206==i.status&&A.length==L&&(e.eocdCache=A)}let n;const a=i.headers.get(VA);if(a){const e=a.trim().split(/\s*\/\s*/);if(e.length){const A=e[1];A&&"*"!=A&&(n=r(A))}}n===j?await ut(e,A,t):e.size=n}}else await ut(e,A,t)}async function ot(e,A,t,i,n){const{useRangeHeader:a,forceRangeRequests:o,eocdCache:g,size:s,options:B}=e;if(a||o){if(g&&A==s-L&&t==L)return g;if(s>A&&0!==t){A+t>s&&(t=s-A);const n=await i(XA,e,gt(e,A,t));if(206!=n.status)throw new c(vA);const a=n.headers.get(VA);if(a){const e=r(a.trim().split(/[\s-]+/)[1]);if(!r.isNaN(e)&&e!=A)throw new c(vA)}const o=new u(await n.arrayBuffer());if(o.length!=t)throw new c(vA);return o}return new u}{const{data:i}=e;return i||await n(e,B),new u(e.data.subarray(A,A+t))}}function gt(e,A=0,i=1){return t.assign({},st(e),{[PA]:ZA+"="+(0>A?A:A+"-"+(A+i-1))})}function st({options:e}){const{headers:A}=e;if(A)return Symbol.iterator in A?t.fromEntries(A):A}async function Bt(e){await ct(e,ht)}async function lt(e){await ct(e,wt)}async function ct(e,A){const t=await A(XA,e,st(e));e.data=new u(await t.arrayBuffer()),e.size=e.data.length}async function ut(e,A,t){if(e.preventHeadRequest)await t(e,e.options);else{const i=await A("HEAD",e,st(e)),n=i.headers.get("Content-Length");n&&!i.headers.get("Content-Encoding")?e.size=r(n):await t(e,e.options)}}async function ht(e,{fetch:A=fetch,options:i,url:r},n){const a=await A(r,t.assign({},i,{method:e,headers:n}));if(400>a.status)return a;throw 416==a.status?new c(vA):new c(JA+(a.statusText||a.status))}function wt(e,{url:A},i){return new f((r,n)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(A=>{const t=A.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(t)}),r({status:a.status,arrayBuffer:()=>a.response,headers:new g(e)})}else n(416==a.status?new c(vA):new c(JA+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>n(e.detail?e.detail.error:new c("Network error")),!1),a.open(e,A),i)for(const e of t.entries(i))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class dt extends $A{constructor(e,A={}){super(),t.assign(this,{url:e,reader:A.useXHR&&!A.fetch?new rt(e,A):new it(e,A)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,A){return this.reader.readUint8Array(e,A)}}class It extends $A{constructor(e){super(),this.readers=e}async init(){const e=this,{readers:A}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await f.all(A.map(async(t,i)=>{await Dt(t),i!=A.length-1&&(e.lastDiskOffset+=t.size),e.size+=t.size})),super.init()}async readUint8Array(e,A,t=0){const i=this,{readers:r}=this;let n,o=t;-1==o&&(o=r.length-1);let g=e;for(;r[o]&&g>=r[o].size;)g-=r[o].size,o++;const s=r[o];if(s){const r=s.size;if(g+A>r){const a=r-g;n=new u(A);const o=await Ft(s,g,a);n.set(o,0);const B=await i.readUint8Array(e+a,A-a,t);n.set(B,a),o.length+B.length<A&&(n=n.subarray(0,o.length+B.length))}else n=await Ft(s,g,A)}else n=new u;return i.lastDiskNumber=a.max(o,i.lastDiskNumber),n}}class ft extends jA{constructor(e,A=4294967295){super();const i=this;let r,n,a;t.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:A,availableSize:A});const o=new Y({async write(A){const{availableSize:t}=i;if(a)A.length<t?await g(A):(await g(A.subarray(0,t)),await s(),i.diskOffset+=r.size,i.diskNumber++,a=null,i.availableSize=i.maxSize,A.length>t&&await this.write(A.subarray(t)));else{const{value:t,done:o}=await e.next();if(o&&!t)throw new c("Writer iterator completed too soon");r=t,r.size=0,r.maxSize&&(i.maxSize=r.maxSize),i.availableSize=i.maxSize,await Dt(r),n=t.writable,a=n.getWriter(),await this.write(A)}},async close(){a&&(await a.ready,await s())},async abort(e){a&&await a.abort(e)}});async function g(e){const A=e.length;A&&(await a.ready,await a.write(e),r.size+=A,i.availableSize-=A)}async function s(){await a.close()}t.defineProperty(i,_A,{get:()=>o})}}class Ct{constructor(e){return A.isArray(e)&&(e=new It(e)),e instanceof Q&&(e={readable:e}),e}}class Et{constructor(e){return e.writable===j&&typeof e.next==Ae&&(e=new ft(e)),e instanceof Y&&(e={writable:e}),e.size===j&&(e.size=0),e instanceof ft||t.assign(e,{diskNumber:0,diskOffset:0,availableSize:$,maxSize:$}),e}}async function Dt(e,A){if(!e.init||e.initialized)return f.resolve();await e.init(A)}function Ft(e,A,t,i){return e.readUint8Array(A,t,i)}const mt="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function pt(e,A){return A&&"cp437"==A.trim().toLowerCase()?(e=>{{let A="";for(let t=0;t<e.length;t++)A+=mt[e[t]];return A}})(e):new E(A,{ignoreBOM:!0}).decode(e)}const Qt="filename",Yt="rawFilename",yt="comment",St="rawComment",bt="uncompressedSize",Mt="compressedSize",Ut="offset",Ot="diskNumberStart",Wt="lastModDate",Gt="rawLastModDate",Tt="lastAccessDate",kt="creationDate",Rt="rawCreationDate",Kt="internalFileAttributes",xt="externalFileAttributes",Ht="msdosAttributesRaw",zt="msdosAttributes",Lt="msDosCompatible",Nt="zip64",Jt="encrypted",vt="version",Vt="versionMadeBy",Pt="zipCrypto",Xt="directory",Zt="executable",qt="compressionMethod",_t="signature",jt="extraField",$t="unixMode",ei="setuid",Ai="setgid",ti="sticky",ii=[Qt,Yt,bt,Mt,Wt,Gt,yt,St,Tt,kt,Rt,Ut,Ot,Kt,xt,Ht,zt,Lt,Nt,Jt,vt,Vt,Pt,Xt,Zt,qt,_t,jt,"extraFieldUnix","extraFieldInfoZip","uid","gid",$t,ei,Ai,ti,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ri{constructor(e){ii.forEach(A=>this[A]=e[A])}}const ni="password",ai="rawPassword",oi="passThrough",gi="signal",si="checkAmbiguity",Bi="useWebWorkers",li="useCompressionStream",ci="transferStreams",ui="preventClose",hi="offset",wi="File format is not recognized",di="End of central directory not found",Ii="End of Zip64 central directory locator not found",fi="Central directory header not found",Ci="Local file header not found",Ei="Zip64 extra field not found",Di="File contains encrypted entry",Fi="Encryption method not supported",mi="Compression method not supported",pi="Split zip file",Qi="Overlapping entry found",Yi="Ambiguous archive",yi="utf-8",Si="cp437",bi=[[bt,O],[Mt,O],[Ut,O],[Ot,W]],Mi={[W]:{getValue:Ji,bytes:4},[O]:{getValue:vi,bytes:8}};class Ui{constructor(e,A={}){t.assign(this,{reader:new Ct(e),options:A,config:ne(),readRanges:new g})}async*getEntriesGenerator(e={}){const A=this;let{reader:i}=A;const{config:r}=A;if(await Dt(i),i.size!==j&&i.readUint8Array||(i=new At(await new B(i.readable).blob()),await Dt(i)),i.size<L)throw new c(wi);i.chunkSize=ae(r);const n=await(async(e,A,t)=>{const i=new u(4);var r;return r=A,Vi(i).setUint32(0,r,!0),await n(22)||await n(a.min(1048582,t));async function n(A){const r=t-A,n=await Ft(e,r,A);for(let e=n.length-22;e>=0;e--)if(n[e]==i[0]&&n[e+1]==i[1]&&n[e+2]==i[2]&&n[e+3]==i[3])return{offset:r+e,buffer:n.slice(e,e+22).buffer}}})(i,x,i.size);if(!n)throw Ji(Vi(await Ft(i,0,4)))==k?new c(pi):new c(di);const o=Vi(n);let g=Ji(o,12),l=Ji(o,16);const h=n.offset,w=Ni(o,20),d=h+L+w,I=xi(A,e,si);I&&d!=i.size&&Ki("appended data");let C=Ni(o,4);const E=i.lastDiskNumber||0;let D,F,m=Ni(o,6),Q=Ni(o,10),Y=0;if(l==O||g==O||Q==W||m==W){const e=20>n.offset?new u:await Ft(i,n.offset-20,20),A=Vi(e);if(20==e.length&&Ji(A,0)==z){l=vi(A,8);let e=await Ft(i,l,56,-1),t=Vi(e);const r=n.offset-20-56-(i.lastDiskOffset||0);if((56>e.length||Ji(t,0)!=H)&&l!=r&&r>=0){const A=l;l=r,l>A&&(Y=l-A),e=await Ft(i,l,56,-1),t=Vi(e)}if(56>e.length||Ji(t,0)!=H)throw new c(Ii);F=!0,C==W?C=Ji(t,16):I&&C!=Ji(t,16)&&Ki("mismatched zip64 end of central directory record"),m==W?m=Ji(t,20):I&&m!=Ji(t,20)&&Ki("mismatched zip64 end of central directory record"),Q==W?Q=vi(t,32):I&&Q!=vi(t,32)&&Ki("mismatched zip64 end of central directory record"),g==O?g=vi(t,40):I&&g!=vi(t,40)&&Ki("mismatched zip64 end of central directory record"),l=vi(t,48)+Y}}const y=g,S=n.offset-(F?76:0);if(l<i.size||(Y=i.size-l-g-L,l=i.size-g-L),E!=C)throw new c(pi);if(0>l)throw new c(wi);let b=0,M=await Ft(i,l,g,m),U=Vi(M);if(g){if(4>M.length)throw new c(wi);const e=S-g-(i.lastDiskOffset||0);if(Ji(U,b)!=K&&l!=e&&m==C){const A=l;l=e,l>A&&(Y+=l-A),M=await Ft(i,l,g,m),U=Vi(M)}}const T=S-l-(i.lastDiskOffset||0);if(g==T||0>T||m!=C||(g=T,M=await Ft(i,l,g,m),U=Vi(M)),0>l||l>=i.size)throw new c(wi);D=l;const R=xi(A,e,"filenameEncoding"),N=xi(A,e,"commentEncoding"),J=I?new s:j;let Z;for(let n=0;Q>n;n++){const o=new Oi(i,r,A.options);if(b+46>M.length||Ji(U,b)!=K)throw new c(fi);Wi(o,U,b+6);const g=!!o.bitFlag.languageEncodingFlag,s=b+46,l=s+o.filenameLength,u=l+o.extraFieldLength,h=Ni(U,b+4),w=!(h>>8),d=h>>8==3,C=M.subarray(s,l),E=Ni(U,b+32),F=u+E,m=M.subarray(u,F),y=g,S=g,O=Ji(U,b+38),T=O&G,k={readOnly:!!(1&T),hidden:!!(2&T),system:!!(4&T),directory:!!(16&T),archive:!!(32&T)},x=Ji(U,b+42),H=xi(A,e,"decodeText")||pt,z=y?yi:R||Si,L=S?yi:N||Si;let q=H(C,z);q===j&&(q=pt(C,z));let _=H(m,L);_===j&&(_=pt(m,L)),t.assign(o,{index:n,versionMadeBy:h,msDosCompatible:w,compressedSize:0,uncompressedSize:0,commentLength:E,offset:x,diskNumberStart:Ni(U,b+34),internalFileAttributes:Ni(U,b+36),externalFileAttributes:O,msdosAttributesRaw:T,msdosAttributes:k,rawFilename:C,filenameUTF8:y,commentUTF8:S,rawExtraField:M.subarray(l,u),rawComment:m,filename:q,comment:_}),Gi(o,o,U,b+6),o.offset+=Y,D=a.min(o.offset,D),I&&(J.has(o.filename)&&(Z=!0),J.add(o.filename));const $=o.externalFileAttributes>>16&W;o.unixMode===j&&16877&$&&(o.unixMode=$);const ee=!!(o.unixMode&V),Ae=!!(o.unixMode&P),te=!!(512&o.unixMode),ie=o.unixMode!==j?!!(73&o.unixMode):d&&!!(73&$),re=o.unixMode!==j&&(61440&o.unixMode)==v,ne=(61440&$)==v;t.assign(o,{setuid:ee,setgid:Ae,sticky:te,unixExternalUpper:$,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:ie,directory:re||ne||w&&k.directory||o.filename.endsWith(X)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const ae=new ri(o);ae.getData=(e,t)=>o.getData(e,ae,A.readRanges,t),ae.arrayBuffer=async e=>{const t=new p,[i]=await f.all([new B(t.readable).arrayBuffer(),o.getData(t,ae,A.readRanges,e)]);return i},b=F;const{onprogress:oe}=e;if(oe)try{await oe(n+1,Q,new ri(o))}catch{}yield ae}I&&b!=y&&Ki("trailing central directory data"),Z&&Ki("duplicate filename"),I&&(Y||Q&&D>0)&&Ki("prepended data");const q=xi(A,e,"extractPrependedData"),_=xi(A,e,"extractAppendedData");return q&&(A.prependedData=D>0?await Ft(i,0,D):new u),A.comment=w?await Ft(i,h+L,w):new u,_&&(A.appendedData=d<i.size?await Ft(i,d,i.size-d):new u),!0}async getEntries(e={}){const A=[];for await(const t of this.getEntriesGenerator(e))A.push(t);return A}async close(){}}class Oi{constructor(e,A,i){t.assign(this,{reader:e,config:A,options:i})}async getData(e,A,i,r={}){const n=this,{reader:o,index:g,offset:s,diskNumberStart:B,extraFieldAES:l,extraFieldZip64:h,compressionMethod:w,config:d,bitFlag:I,signature:f,rawLastModDate:C,uncompressedSize:E,compressedSize:D}=n,{dataDescriptor:F}=I,m=A.localDirectory={},p=await Ft(o,s,Z,B),Q=Vi(p);let y=xi(n,r,ni),S=xi(n,r,ai);const b=xi(n,r,oi);if(y=y&&y.length&&y,S=S&&S.length&&S,l&&99!=l.originalCompressionMethod)throw new c(mi);if(0!=w&&8!=w&&9!=w&&!b)throw new c(mi);if(p.length<Z||Ji(Q,0)!=T)throw new c(Ci);Wi(m,Q,4);const{extraFieldLength:M,filenameLength:U}=m,O=xi(n,r,si);let W=new u;if(O&&(U||M)){const e=await Ft(o,s+Z,U+M,B);W=e.subarray(0,U),m.rawExtraField=e.subarray(U)}else m.rawExtraField=M?await Ft(o,s+Z+U,M,B):new u;Gi(n,m,Q,4,!0),O&&((e,A,t)=>{const{rawFilename:i}=e;(t.length!=i.length||t.some((e,A)=>e!=i[A]))&&Ki("mismatched local file header (filename)"),(2057&A.rawBitFlag)!=(2057&e.rawBitFlag)&&Ki("mismatched local file header (general purpose bit flag)"),A.compressionMethod!=e.compressionMethod&&Ki("mismatched local file header (compression method)"),A.bitFlag.dataDescriptor||!(A.signature||A.compressedSize||A.uncompressedSize)||A.signature==e.signature&&A.compressedSize==e.compressedSize&&A.uncompressedSize==e.uncompressedSize||Ki("mismatched local file header (signature or sizes)")})(n,m,W);const{lastAccessDate:k,creationDate:K}=m;k&&(A.lastAccessDate=k),K&&(A.creationDate=K);const x=n.encrypted&&m.encrypted&&!b,H=x&&!l;if(b||(A.zipCrypto=H),x){if(!H&&l.strength===j)throw new c(Fi);if(!y&&!S)throw new c(Di)}const z=s+Z+U+M,L=D,N=o.readable;t.assign(N,{diskNumberStart:B,offset:z,size:L});const J=xi(n,r,gi),v=xi(n,r,"checkPasswordOnly");let V=xi(n,r,"checkOverlappingEntry");const P=xi(n,r,"checkOverlappingEntryOnly");P&&(V=!0);const{onstart:X,onprogress:q,onend:_}=r,$=9==w;let ee=xi(n,r,li);$&&(ee=!1);const Ae={options:{codecType:hA,password:y,rawPassword:S,zipCrypto:H,encryptionStrength:l&&l.strength,signed:xi(n,r,"checkSignature")&&!b,passwordVerification:H&&(F?C>>>8&G:f>>>24&G),outputSize:b?D:E,signature:f,compressed:0!=w&&!b,encrypted:x,useWebWorkers:xi(n,r,Bi),useCompressionStream:ee,transferStreams:xi(n,r,ci),deflate64:$,checkPasswordOnly:v},config:d,streamOptions:{signal:J,size:L,onstart:X,onprogress:q,onend:_}};let te;V&&await(async({reader:e,fileEntry:A,index:t,offset:i,diskNumberStart:r,signature:n,compressedSize:o,uncompressedSize:g,dataOffset:s,dataDescriptor:B,extraFieldZip64:l,readRanges:u})=>{let h=0;if(r&&e.readers)for(let A=0;A<a.min(r,e.readers.length);A++)h+=e.readers[A].size;let w=0;if(B&&(w=l?20:12),w){const t=await Ft(e,s+o,w+4,r);if(t.length==w+4&&Ji(Vi(t),0)==R){const e=Ji(Vi(t),4);let i,r;l?(i=vi(Vi(t),8),r=vi(Vi(t),16)):(i=Ji(Vi(t),8),r=Ji(Vi(t),12)),(A.encrypted&&!A.zipCrypto||e==n)&&i==o&&r==g&&(w+=4)}}const d={start:h+i,end:h+s+o+w,fileEntry:A};for(const[e,A]of u)if(e!=t&&d.start<A.end&&A.start<d.end){const e=new c(Qi);throw e.overlappingEntry=A.fileEntry,e}u.set(t,d)})({reader:o,fileEntry:A,index:g,offset:s,diskNumberStart:B,signature:f,compressedSize:D,uncompressedSize:E,dataOffset:z,dataDescriptor:F||m.bitFlag.dataDescriptor,extraFieldZip64:h||m.extraFieldZip64,readRanges:i});try{if(!P){v&&(e=new Y),e=new Et(e),await Dt(e,b?D:E),({writable:te}=e);const{outputSize:A}=await KA({readable:N,writable:te},Ae);if(e.size+=A,A!=(b?D:E))throw new c(nA)}}catch(A){if(A.outputSize!==j&&(e.size+=A.outputSize),!v||A.message!=De)throw A}finally{xi(n,r,ui)||!te||te.locked||await te.getWriter().close()}return v||P?j:e.getData?e.getData():te}}function Wi(e,A,i){const r=e.rawBitFlag=Ni(A,i+2),n=!(1&~r),a=Ji(A,i+6);t.assign(e,{encrypted:n,version:Ni(A,i),bitFlag:{level:(6&r)>>1,dataDescriptor:!(8&~r),languageEncodingFlag:(r&J)==J},rawLastModDate:a,lastModDate:Hi(a),filenameLength:Ni(A,i+22),extraFieldLength:Ni(A,i+24)})}function Gi(e,A,i,r,n){const{rawExtraField:a}=A,s=A.extraField=new g,B=Vi(new u(a));let l=0;try{for(;l<a.length;){const e=Ni(B,l),A=Ni(B,l+2);s.set(e,{type:e,data:a.slice(l+4,l+4+A)}),l+=4+A}}catch{}const h=Ni(i,r+4);t.assign(A,{signature:Ji(i,r+10),compressedSize:Ji(i,r+14),uncompressedSize:Ji(i,r+18)});const w=s.get(1);w&&(((e,A)=>{A.zip64=!0;const t=Vi(e.data),i=bi.filter(([e,t])=>A[e]==t),r=i.reduce((e,[,A])=>e+Mi[A].bytes,0);if(e.data.length<r)throw new c(Ei);for(let r=0,n=0;r<i.length;r++){const[a,o]=i[r],g=Mi[o];A[a]=e[a]=g.getValue(t,n),n+=g.bytes}})(w,A),A.extraFieldZip64=w);const d=s.get(28789);d&&(Ti(d,Qt,Yt,A,e),A.extraFieldUnicodePath=d);const I=s.get(25461);I&&(Ti(I,yt,St,A,e),A.extraFieldUnicodeComment=I);const f=s.get(39169);f&&f.data.length>=7?(((e,A,i)=>{const r=Vi(e.data),n=Li(r,4);t.assign(e,{vendorVersion:Li(r,0),vendorId:Li(r,2),strength:n,originalCompressionMethod:i,compressionMethod:Ni(r,5)}),A.compressionMethod=e.compressionMethod})(f,A,h),A.extraFieldAES=f):A.compressionMethod=h;const C=s.get(10);C&&(((e,A)=>{const i=Vi(e.data);let r,n=4;try{for(;n<e.data.length&&!r;){const A=Ni(i,n),t=Ni(i,n+2);1==A&&(r=e.data.slice(n+4,n+4+t)),n+=4+t}}catch{}try{if(r&&24==r.length){const i=Vi(r),n=i.getBigUint64(0,!0),a=i.getBigUint64(8,!0),o=i.getBigUint64(16,!0);t.assign(e,{rawLastModDate:n,rawLastAccessDate:a,rawCreationDate:o});const g={lastModDate:zi(n),lastAccessDate:zi(a),creationDate:zi(o)};t.assign(e,g),t.assign(A,g)}}catch{}})(C,A),A.extraFieldNTFS=C);const E=s.get(30805);if(E)ki(E,A,!1),A.extraFieldUnix=E;else{const e=s.get(30837);e&&(ki(e,A,!0),A.extraFieldInfoZip=e)}const D=s.get(N);D&&(((e,A,t)=>{if(!e.data.length)return;const i=Vi(e.data),r=Li(i,0),n=[],a=[];t?(1&~r||(n.push(Wt),a.push(Gt)),2&~r||(n.push(Tt),a.push("rawLastAccessDate")),4&~r||(n.push(kt),a.push(Rt))):5>e.data.length||(n.push(Wt),a.push(Gt));let g=1;n.forEach((t,r)=>{if(e.data.length>=g+4){const n=Ji(i,g);A[t]=e[t]=new o(1e3*(0|n));const s=a[r];e[s]=n}g+=4})})(D,A,n),A.extraFieldExtendedTimestamp=D);const F=s.get(6534);F&&(A.extraFieldUSDZ=F)}function Ti(e,A,i,r,n){if(5>e.data.length)return void(e.valid=!1);const a=Vi(e.data),o=new le;o.append(n[i]);const g=Vi(new u(4));g.setUint32(0,o.get(),!0);const s=Ji(a,1);t.assign(e,{version:Li(a,0),[A]:pt(e.data.subarray(5)),valid:!n.bitFlag.languageEncodingFlag&&s==Ji(g,0)}),e.valid&&(r[A]=e[A],r[A+"UTF8"]=!0)}function ki(e,A,i){try{const r=Vi(new u(e.data));let n,a;if(i){let A=0;const i=Li(r,A++),o=Li(r,A++);n=Ri(e.data.subarray(A,A+o)),A+=o;const g=Li(r,A++);a=Ri(e.data.subarray(A,A+g)),t.assign(e,{version:i,uid:n,gid:a})}else 4>e.data.length||(n=Ni(r,0),a=Ni(r,2),t.assign(e,{uid:n,gid:a}));n!==j&&(A.uid=n),a!==j&&(A.gid=a)}catch{}}function Ri(e){const A=new u(4);return A.set(e,0),new d(A.buffer,A.byteOffset,4).getUint32(0,!0)}function Ki(e){const A=new c(Yi);throw A.reason=e,A}function xi(e,A,t){return A[t]===j?e.options[t]:A[t]}function Hi(e){const A=(4294901760&e)>>16,t=e&W;try{return new o(1980+((65024&A)>>9),((480&A)>>5)-1,31&A,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function zi(e){return new o(r(e/n(1e4)-n(116444736e5)))}function Li(e,A){return e.getUint8(A)}function Ni(e,A){return e.getUint16(A,!0)}function Ji(e,A){return e.getUint32(A,!0)}function vi(e,A){return r(e.getBigUint64(A,!0))}function Vi(e){return new d(e.buffer,e.byteOffset,e.byteLength)}const Pi="File already exists",Xi="Zip file comment exceeds 64KB",Zi="File entry comment exceeds 64KB",qi="File entry name exceeds 64KB",_i="Version exceeds 65535",ji="The strength must equal 1, 2, or 3",$i="Extra field type exceeds 65535",er="Extra field data exceeds 64KB",Ar=-2147483648,tr=2147483647,ir="Zip64 is not supported (set the 'zip64' option to 'true')",rr="Undefined uncompressed size",nr="Undefined reader",ar="Zip file not empty",or=new u([7,0,2,0,65,69,3,0,0]),gr="infozip",sr="unix";let Br=0;const lr=[];class cr{constructor(e,A={}){const i=(e=new Et(e)).availableSize!==j&&e.availableSize>0&&e.availableSize!==$&&e.maxSize!==j&&e.maxSize>0&&e.maxSize!==$;t.assign(this,{writer:e,addSplitZipSignature:i,options:A,config:ne(),files:new g,filenames:new s,offset:A[hi]===j?e.size||e.writable.size||0:A[hi],initialOffset:A[hi]===j?0:A[hi]-(e.size||e.writable.size||0),pendingAddFileCalls:new s,bufferedWrites:0,lastFileEntry:j})}async prependZip(e){if(this.filenames.size)throw new c(ar);e=new Ct(e),await Dt(e);const A=new Ui(e.readable),i=await A.getEntries();await A.close(),await Dt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.filenames=new s(i.map(e=>e.filename)),this.files=new g(i.map(e=>{const{version:A,rawLastModDate:i,lastAccessDate:r,creationDate:n,rawFilename:a,bitFlag:o,encrypted:g,uncompressedSize:s,compressedSize:B,diskOffset:l,diskNumber:c,zip64:h}=e;let{compressionMethod:w,rawExtraFieldZip64:d,rawExtraFieldAES:I,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:C,rawExtraFieldUnix:E,rawExtraField:D}=e;const{level:F,languageEncodingFlag:m,dataDescriptor:p}=o;d=d||new u,I=I||new u,f=f||new u,C=C||new u,E=E||new u,D=D||new u,e.extraFieldAES&&(w=99);const Q=Mr(d,I,f,C,E,D),Y=h&&s>=O,y=h&&B>=O,S=-7&Or(F,m,p,g,w)|F<<1,{headerArray:b,headerView:M}=Ur({version:A,bitFlag:S,compressionMethod:w,uncompressedSize:s,compressedSize:B,rawLastModDate:i,rawFilename:a,zip64CompressedSize:y,zip64UncompressedSize:Y,extraFieldLength:Q}),{signature:U}=e;return U!==j&&Yr(M,10,U),t.assign(e,{zip64UncompressedSize:Y,zip64CompressedSize:y,zip64Offset:h&&this.offset-l>=O,zip64DiskNumberStart:h&&c>=W,rawExtraFieldZip64:d,rawExtraFieldAES:I,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:C,rawExtraFieldUnix:E,rawExtraField:D,extendedTimestamp:f.length>0||C.length>0,extraFieldExtendedTimestampFlag:1+(r?2:0)+(n?4:0),headerArray:b,headerView:M}),[e.filename,e]}))}async add(e="",A,i={}){const r=this;i=t.assign({},i);const{pendingAddFileCalls:a,config:g}=r;let s,B;Br<g.maxWorkers?Br++:await new f(e=>lr.push(e));try{if(e=e.trim(),mr(r,i,Xt)&&!e.endsWith(X)&&(e+=X),r.filenames.has(e))throw new c(Pi);return r.filenames.add(e),B=!0,s=(async(e,A,i,r)=>{const a=((e,A,t)=>{A=A.trim();let i=mr(e,t,Lt),r=mr(e,t,Vt,i?20:768);const n=mr(e,t,Zt),a=mr(e,t,"uid"),o=mr(e,t,"gid");let g=mr(e,t,$t),s=mr(e,t,"unixExtraFieldType"),B=mr(e,t,ei),l=mr(e,t,Ai),u=mr(e,t,ti);if(a!==j&&(0>a||a>O))throw new c("Invalid uid (must be integer 0..2^32-1)");if(o!==j&&(0>o||o>O))throw new c("Invalid gid (must be integer 0..2^32-1)");if(g!==j&&(0>g||g>W))throw new c("Invalid UNIX mode (must be integer 0..65535)");if(s!==j&&s!==gr&&s!==sr)throw new c("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(s===sr&&(a!==j&&a>W||o!==j&&o>W))throw new c("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");s!==j||a===j&&o===j||(s=gr);let h=mr(e,t,Ht),w=mr(e,t,zt);const d=h!==j||w!==j;if(a!==j||o!==j||g!==j||s?(i=!1,r=r&W|768):d&&(i=!0,r&=G),h!==j&&(0>h||h>G))throw new c("Invalid msdosAttributesRaw (must be integer 0..255)");if(w&&"object"!=typeof w)throw new c("Invalid msdosAttributes (must be an object with boolean flags)");if(r>W)throw new c(_i);let I=mr(e,t,xt,0);!t[Xt]&&A.endsWith(X)&&(t[Xt]=!0);const f=mr(e,t,Xt);let C;return f?(A.endsWith(X)||(A+=X),0===I&&(I=16,i||(I|=16877<<16))):i||0!==I||(I=n?493<<16:27525120),i||(C=I>>16&W,g=g===j?C:g&W,B?g|=V:B=!!(g&V),l?g|=P:l=!!(g&P),u?g|=512:u=!!(512&g),f&&(g|=v),I=(g&W)<<16|I&G),({msdosAttributesRaw:h,msdosAttributes:w}=((e,A)=>{if(e!==j)e&=G;else if(A!==j){const{readOnly:t,hidden:i,system:r,directory:n,archive:a}=A;let o=0;t&&(o|=1),i&&(o|=2),r&&(o|=4),n&&(o|=16),a&&(o|=32),e=o&G}return A===j&&(A={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:A}})(h,w)),d&&(I=I&O|h&G),{name:A,resolvedOptions:{versionMadeBy:r,msDosCompatible:i,externalFileAttributes:I,unixExternalUpper:C,uid:a,gid:o,unixMode:g,unixExtraFieldType:s,setuid:B,setgid:l,sticky:u,msdosAttributesRaw:h,msdosAttributes:w}}})(e,A,r);({name:A}=a);const g=((e,A,t)=>{const i=mr(e,t,"encodeText",ue);let r=i(A);if(r===j&&(r=ue(A)),Mr(r)>W)throw new c(qi);const n=t[yt]||"";let a=i(n);if(a===j&&(a=ue(n)),Mr(a)>W)throw new c(Zi);const g=mr(e,t,vt,20);if(g>W)throw new c(_i);const s=mr(e,t,Wt,new o),B=mr(e,t,Tt),l=mr(e,t,kt),h=mr(e,t,Kt,0),w=mr(e,t,oi);let d,I;w||(d=mr(e,t,ni),I=mr(e,t,ai));const f=mr(e,t,"encryptionStrength",3),C=mr(e,t,Pt),E=mr(e,t,"extendedTimestamp",!0),D=mr(e,t,"keepOrder",!0),F=mr(e,t,Bi),m=mr(e,t,ci,!0),p=mr(e,t,"bufferedWrite"),Q=mr(e,t,"createTempStream"),Y=mr(e,t,"dataDescriptorSignature",!0),y=mr(e,t,gi),S=mr(e,t,"useUnicodeFileNames",!0),b=mr(e,t,qt);if(!w&&b!==j&&0!==b&&8!==b)throw new c("Compression method not supported");let M=mr(e,t,"level"),U=mr(e,t,li),O=mr(e,t,"dataDescriptor");p&&O===j&&(O=!1),(O===j||C)&&(O=!0),M!==j&&6!=M&&(U=!1),U||e.config.CompressionStream!==j||e.config.CompressionStreamZlib!==j||(M=0);const G=mr(e,t,Nt);if(!C&&(d!==j||I!==j)&&(1>f||f>3))throw new c(ji);let T=new u;const k=t[jt];if(k){let e=0,A=0;k.forEach(A=>e+=4+Mr(A)),T=new u(e);const t=br(T);k.forEach((e,i)=>{if(i>W)throw new c($i);if(Mr(e)>W)throw new c(er);Qr(t,A,i),Qr(t,A+2,Mr(e)),Sr(T,e,A+4),A+=4+Mr(e)})}return{comment:n,resolvedOptions:{rawFilename:r,rawComment:a,version:g,lastModDate:s,lastAccessDate:B,creationDate:l,internalFileAttributes:h,passThrough:w,password:d,rawPassword:I,encryptionStrength:f,zipCrypto:C,extendedTimestamp:E,keepOrder:D,useWebWorkers:F,transferStreams:m,bufferedWrite:p,createTempStream:Q,dataDescriptorSignature:Y,signal:y,useUnicodeFileNames:S,compressionMethod:b,level:M,useCompressionStream:U,dataDescriptor:O,zip64:G,rawExtraField:T}}})(e,A,r),{comment:s}=g,B=r[jt];let l;e.files.set(A,j);try{const o=await(async(e,A,{resolvedOptions:t},i)=>{const{passThrough:r,zipCrypto:n,password:a,rawPassword:o,encryptionStrength:g}=t;let{dataDescriptor:s,zip64:B,level:l,compressionMethod:u}=t,h=0,w=0;if(r){if(!A)throw new c(nr);if(w=i[bt],w===j)throw new c(rr)}const d=!0===B,I=mr(e,i,Jt),f=!!A&&(!!(a&&Mr(a)||o&&Mr(o))||r&&I);A||(l=0,u=0);const C=f?n?12:16+4*g:0;A&&(A=new Ct(A),await Dt(A),r?(i.uncompressedSize=w,h=pr(w)+C):A.size===j?(s=!0,(B||B===j)&&(B=!0,w=h=4294967296)):(i.uncompressedSize=w=A.size,h=pr(w)+C));const E=d||w>=O,D=d||h>=O;if(E||D){if(!1===B)throw new c(ir);B=!0}return B=B||!1,{reader:A,resolvedOptions:{dataDescriptor:s,zip64:B,zip64UncompressedSize:E,zip64CompressedSize:D,uncompressedSize:w,level:l,compressionMethod:u,encrypted:f}}})(e,i,g,r);({reader:i}=o);const{diskOffset:s,diskNumber:B}=e.writer,h=(e=>{const{rawFilename:A,lastModDate:t,lastAccessDate:i,creationDate:r,level:n,zip64:a,zipCrypto:o,useUnicodeFileNames:g,dataDescriptor:s,directory:B,rawExtraField:l,encryptionStrength:h,extendedTimestamp:w,passThrough:d,encrypted:I,zip64UncompressedSize:f,zip64CompressedSize:C,uncompressedSize:E}=e;let{version:D,compressionMethod:F}=e;const m=!B&&(F===j?n===j||n>0:0!==F);let p;const Q=d||!m,Y=a&&(e.bufferedWrite||!s||!f&&!C||Q),y=Y||a&&s&&(f||C);if(a&&(f||C)){const e=20,A=dr(e);if(A.uint16(1),A.uint16(e-4),p=A.array,Y&&(A.uint64(E),Q)){const e=I?o?12:16+4*h:0;A.uint64(d?0:E+e)}}else p=new u;let S,b,M,U,O;if(I&&!o){const e=dr(Mr(or)+2);e.uint16(39169),e.bytes(or),S=e.array,S[8]=h}else S=new u;if(w){const e=Er(t);if(Dr(e)){const A=9+(i?4:0)+(r?4:0),t=dr(A);U=1+(i?2:0)+(r?4:0),t.uint16(N),t.uint16(A-4),t.uint8(U),t.uint32(e),i&&t.uint32(Fr(Er(i))),r&&t.uint32(Fr(Er(r))),M=t.array}else M=new u;try{const e=Cr(t),A=dr(36);A.uint16(10),A.uint16(32),A.skip(4),A.uint16(1),A.uint16(24),A.uint64(e),A.uint64(Cr(i)||e),A.uint64(Cr(r)||e),b=A.array}catch{b=new u}}else b=M=new u;try{const{uid:A,gid:t,unixExtraFieldType:i}=e;if(i!=gr||A===j&&t===j)if(i!=sr||A===j&&t===j)O=new u;else{const e=dr(8);e.uint16(30805),e.uint16(4),e.uint16((A===j?0:A)&W),e.uint16((t===j?0:t)&W),O=e.array}else{const e=wr(A),i=wr(t),r=3+e.length+i.length,n=dr(4+r);n.uint16(30837),n.uint16(r),n.uint8(1),n.uint8(e.length),n.bytes(e),n.uint8(i.length),n.bytes(i),O=n.array}}catch{O=new u}F===j&&(F=m?8:0),a&&(D=D>45?D:45),I&&!o&&(D=D>51?D:51,S[9]=F,F=99);const G=y?Mr(p):0,k=G+Mr(S,M,b,O,l);if(k>W)throw new c(er);const{headerArray:R,headerView:K,rawLastModDate:x}=Ur({version:D,bitFlag:Or(n,g,s,I,F),compressionMethod:F,uncompressedSize:E,lastModDate:_>t?_:t>q?q:t,rawFilename:A,zip64CompressedSize:C,zip64UncompressedSize:f,extraFieldLength:k}),H=dr(Z+Mr(A)+k),z=H.array,L=br(z);return H.uint32(T),H.bytes(R),H.bytes(A),y&&H.bytes(p),H.bytes(S),H.bytes(M),H.bytes(b),H.bytes(O),H.bytes(l),s&&(C||Yr(L,18,0),f||Yr(L,22,0)),{localHeaderArray:z,localHeaderView:L,headerArray:R,headerView:K,lastModDate:t,rawLastModDate:x,encrypted:I,compressed:m,version:D,compressionMethod:F,extraFieldExtendedTimestampFlag:U,rawExtraFieldZip64:new u,localExtraFieldZip64Length:G,rawExtraFieldExtendedTimestamp:M,rawExtraFieldNTFS:b,rawExtraFieldUnix:O,rawExtraFieldAES:S,extraFieldLength:k}})(r=t.assign({},r,a.resolvedOptions,g.resolvedOptions,o.resolvedOptions,{internalFileAttribute:g.resolvedOptions.internalFileAttributes,externalFileAttribute:a.resolvedOptions.externalFileAttributes,signature:r[_t],offset:e.offset-s,diskNumberStart:B})),w=(({zip64:e,dataDescriptor:A,dataDescriptorSignature:t})=>{let i,r=new u,n=0,a=e?20:12;return t&&(a+=4),A&&(r=new u(a),i=br(r),t&&(n=4,Yr(i,0,R))),{dataDescriptorArray:r,dataDescriptorView:i,dataDescriptorOffset:n}})(r),d=Mr(h.localHeaderArray,w.dataDescriptorArray);l=await(async(e,A,i,r,a)=>{const{files:o,writer:g}=e,{keepOrder:s,dataDescriptor:B,signal:l}=a,{headerInfo:h}=r,w=e.options.usdz,d=e.lastFileEntry;let I,C,E,D,F,m,Q,y={},S=0;o.set(A,y),e.lastFileEntry=y;try{let C;s&&(C=d&&d.lock,y.lock=new f(e=>E=e)),a.bufferedWrite||!s||e.writerLocked||e.bufferedWrites||!B?(I=!0,e.bufferedWrites++,Q=a.createTempStream?await a.createTempStream():new p(j,j,{highWaterMark:$}),Q.size=0,await Dt(g)):(Q=g,await b()),await Dt(Q);const{diskOffset:U}=g;if(e.addSplitZipSignature){delete e.addSplitZipSignature;const A=new u(4);Yr(br(A),0,k),await fr(g,A),e.offset+=4}w&&!I&&hr(r,e.offset-U);const{localHeaderArray:W}=h;I||(await C,await M());const T=g.diskNumber,R=Ir(e,g);if(y.diskNumberStart=T,I||(F=!0,m=g.size,await fr(Q,W)),y=await(async(e,A,{diskNumberStart:i,lock:r},a,o,g)=>{const{headerInfo:s,dataDescriptorInfo:B,metadataSize:l}=a,{headerArray:u,headerView:h,lastModDate:w,rawLastModDate:d,encrypted:I,compressed:f,version:C,compressionMethod:E,rawExtraFieldZip64:D,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:m,extraFieldExtendedTimestampFlag:p,rawExtraFieldNTFS:Q,rawExtraFieldUnix:Y,rawExtraFieldAES:y}=s,{dataDescriptorArray:S}=B,{rawFilename:b,lastAccessDate:M,creationDate:U,password:W,rawPassword:T,level:k,zip64:R,zip64UncompressedSize:K,zip64CompressedSize:x,zipCrypto:H,dataDescriptor:z,directory:L,executable:N,versionMadeBy:J,rawComment:v,rawExtraField:V,useWebWorkers:P,transferStreams:X,onstart:Z,onprogress:q,onend:_,signal:$,encryptionStrength:ee,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,uid:ne,gid:oe,unixMode:ge,setuid:se,setgid:Be,sticky:le,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:he,useCompressionStream:we,passThrough:de}=g,Ie={lock:r,versionMadeBy:J,zip64:R,directory:!!L,executable:!!N,filenameUTF8:!0,rawFilename:b,commentUTF8:!0,rawComment:v,rawExtraFieldZip64:D,localExtraFieldZip64Length:F,rawExtraFieldExtendedTimestamp:m,rawExtraFieldNTFS:Q,rawExtraFieldUnix:Y,rawExtraFieldAES:y,rawExtraField:V,extendedTimestamp:Ae,msDosCompatible:te,internalFileAttributes:ie,externalFileAttributes:re,diskNumberStart:i,uid:ne,gid:oe,unixMode:ge,setuid:se,setgid:Be,sticky:le,unixExternalUpper:ce,msdosAttributesRaw:ue,msdosAttributes:he};let{signature:fe,uncompressedSize:Ce}=g,Ee=0;de||(Ce=0);const{writable:De}=A;if(e){e.chunkSize=ae(o);const t=e.readable,i=e.size,r={options:{codecType:uA,level:k,rawPassword:T,password:W,encryptionStrength:ee,zipCrypto:I&&H,passwordVerification:I&&H&&d>>8&G,signed:!de,compressed:f&&!de,encrypted:I&&!de,useWebWorkers:P,useCompressionStream:we,transferStreams:X},config:o,streamOptions:{signal:$,size:i,onstart:Z,onprogress:q,onend:_}};try{const e=await KA({readable:t,writable:De},r);if(Ee=e.outputSize,A.size+=Ee,de||(Ce=e.inputSize,fe=e.signature),!x&&Ee>=O||!K&&Ce>=O)throw new c(ir)}catch(e){throw e.outputSize!==j&&(A.size+=e.outputSize),e}}return(({signature:e,compressedSize:A,uncompressedSize:t,headerInfo:i,dataDescriptorInfo:r},{zip64:a,zipCrypto:o,dataDescriptor:g})=>{const{headerView:s,encrypted:B}=i,{dataDescriptorView:l,dataDescriptorOffset:c}=r;B&&!o||e===j||(Yr(s,10,e),g&&Yr(l,c,e)),a?g&&(yr(l,c+4,n(A)),yr(l,c+12,n(t))):(Yr(s,14,A),Yr(s,18,t),g&&(Yr(l,c+4,A),Yr(l,c+8,t)))})({signature:fe,compressedSize:Ee,uncompressedSize:Ce,headerInfo:s,dataDescriptorInfo:B},g),z&&await fr(A,S),t.assign(Ie,{uncompressedSize:Ce,compressedSize:Ee,lastModDate:w,rawLastModDate:d,creationDate:U,lastAccessDate:M,encrypted:I,zipCrypto:H,size:l+Ee,compressionMethod:E,version:C,headerArray:u,headerView:h,signature:fe,extraFieldExtendedTimestampFlag:p,zip64UncompressedSize:K,zip64CompressedSize:x}),Ie})(i,Q,y,r,e.config,a),I||(F=!1),o.set(A,y),y.filename=A,I){if(await f.all([Q.writable.getWriter().close(),C]),await b(),D=!0,m=g.size,await M(),y.diskNumberStart=g.diskNumber,y.offset=Ir(e,g),w){const A=r.metadataSize;hr(r,e.offset-g.diskOffset),y.size+=r.metadataSize-A}(({rawFilename:e,encrypted:A,zip64:t,localExtraFieldZip64Length:i,signature:r,compressedSize:a,uncompressedSize:o,zip64UncompressedSize:g,zip64CompressedSize:s},B,{dataDescriptor:l})=>{if(l||(A||Yr(B,14,r),s||Yr(B,18,a),g||Yr(B,22,o)),t&&i){const A=Z+Mr(e)+4;yr(B,A,n(o)),yr(B,A+8,n(a))}})(y,h.localHeaderView,a),await fr(g,h.localHeaderArray),await(async(e,A,t)=>{const i=A.writable.getWriter();try{await e.pipeTo(new Y({async write(e){var A;await i.ready,await i.write(e),A=Mr(e),S+=A}}),{preventClose:!0,preventAbort:!0,signal:t})}finally{i.releaseLock()}})(Q.readable,g,l),g.size+=Q.size,D=!1}else y.diskNumberStart=T,y.offset=R;return e.offset+=y.size,y}catch(t){if(D||F){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=g.size-m,I&&(e.offset+=S)}throw o.delete(A),t}finally{I&&e.bufferedWrites--,E&&E(),C&&C()}async function b(){e.writerLocked=!0;const{lockWriter:A}=e;e.lockWriter=new f(A=>C=()=>{e.writerLocked=!1,A()}),await A}async function M(){Mr(h.localHeaderArray)>g.availableSize&&(g.availableSize=0,await fr(g,new u))}})(e,A,i,{headerInfo:h,dataDescriptorInfo:w,metadataSize:d},r)}catch(t){throw e.files.delete(A),t}return t.assign(l,{name:A,comment:s,extraField:B}),new ri(l)})(r,e,A,i),a.add(s),await s}catch(A){throw B&&r.filenames.delete(e),A}finally{a.delete(s);const e=lr.shift();e?e():Br--}}remove(e){const{filenames:A,files:t}=this;if("string"==typeof e&&(e=t.get(e)),e&&e.filename!==j){const{filename:i}=e;if(A.has(i)&&t.has(i))return A.delete(i),t.delete(i),!0}return!1}async close(e=new u,t={}){const{pendingAddFileCalls:i,writer:r}=this,{writable:a}=r;if(Mr(e)>W)throw new c(Xi);for(;i.size;)await f.allSettled(A.from(i));return await(async(e,t,i)=>{const r=(e=>{let A=0;for(const[,t]of e){const{rawFilename:e,rawExtraFieldAES:i,rawComment:r,rawExtraFieldNTFS:n,rawExtraFieldUnix:a,rawExtraField:o,extendedTimestamp:g,extraFieldExtendedTimestampFlag:s,lastModDate:B,zip64UncompressedSize:l,zip64CompressedSize:h,uncompressedSize:w,compressedSize:d}=t,I=t.offset>=O,f=t.diskNumberStart>=W;let C,E;if(I||f||l||h){const e=4+(l?8:0)+(h?8:0)+(I?8:0)+(f?4:0),A=dr(e);A.uint16(1),A.uint16(e-4),l&&A.uint64(w),h&&A.uint64(d),I&&A.uint64(t.offset),f&&A.uint32(t.diskNumberStart),C=A.array}else C=new u;t.rawExtraFieldZip64=C,t.zip64Offset=I,t.zip64DiskNumberStart=f;const D=Er(B);if(g&&Dr(D)){const e=dr(9);e.uint16(N),e.uint16(5),e.uint8(s),e.uint32(D),E=e.array}else E=new u;t.rawExtraFieldExtendedTimestamp=E;const F=Mr(C,i,n,a,E,o);if(F>W)throw new c(er);A+=46+Mr(e,r)+F}return A})(e.files),{cdStartDiskNumber:a,cdStartDiskOffset:o}=await(async(e,t,i)=>{const{files:r,writer:n}=e,a=new u(t);await Dt(n);let o=0,g=0,s=n.diskNumber,B=n.diskOffset;for(const[e,t]of A.from(r.values()).entries()){const{offset:A,rawFilename:l,rawExtraFieldZip64:c,rawExtraFieldAES:h,rawExtraFieldExtendedTimestamp:w,rawExtraFieldNTFS:d,rawExtraFieldUnix:I,rawExtraField:f,rawComment:C,versionMadeBy:E,headerArray:D,headerView:F,zip64UncompressedSize:m,zip64CompressedSize:p,zip64DiskNumberStart:Q,zip64Offset:Y,internalFileAttributes:y,externalFileAttributes:S,diskNumberStart:b,uncompressedSize:M,compressedSize:U}=t,G=Mr(c,h,w,d,I,f),T=46+Mr(l,C)+G;o+T-g>n.availableSize&&(await fr(n,a.slice(g,o)),g=o,n.availableSize=0,await fr(n,new u)),0==e&&(s=n.diskNumber,B=n.diskOffset),m||Yr(F,18,M),p||Yr(F,14,U),(Y||Q)&&45>t.version&&Qr(F,0,45);const k=dr(T);if(k.uint32(K),k.uint16(E),k.bytes(D.subarray(0,24)),k.uint16(G),k.uint16(Mr(C)),k.uint16(Q?W:b),k.uint16(y),k.uint32(S),k.uint32(Y?O:A),k.bytes(l),k.bytes(c),k.bytes(h),k.bytes(w),k.bytes(d),k.bytes(I),k.bytes(f),k.bytes(C),Sr(a,k.array,o),o+=T,i.onprogress)try{await i.onprogress(e+1,r.size,new ri(t))}catch{}}return await fr(n,g?a.slice(g):a),{cdStartDiskNumber:s,cdStartDiskOffset:B}})(e,r,i);await(async(e,A,t,i)=>{const{writer:r}=e,{cdStartDiskNumber:a,cdStartDiskOffset:o}=i;let{directoryDataLength:g}=i,s=e.files.size,B=a,l=e.offset-o-(a?e.initialOffset:0),h=r.diskNumber;r.availableSize<L&&h++;let w=mr(e,t,Nt);if(!(O>l&&O>g&&W>s&&W>h)){if(!1===w)throw new c(ir);w=!0}const d=Mr(A);if(d>W)throw new c(Xi);const I=dr(w?98:L);Mr(I.array)+d>r.availableSize&&(r.availableSize=0,await fr(r,new u)),h=r.diskNumber,w&&(I.uint32(H),I.uint64(44),I.uint16(45),I.uint16(45),I.uint32(h),I.uint32(B),I.uint64(s),I.uint64(s),I.uint64(g),I.uint64(l),I.uint32(z),I.uint32(h),I.uint64(n(e.offset)+n(g)-n(r.diskOffset)-n(r.diskNumber?e.initialOffset:0)),I.uint32(h+1),mr(e,t,"supportZip64SplitFile",!0)&&(h=W,B=W),s=W,l=O,g=O),I.uint32(x),I.uint16(h),I.uint16(B),I.uint16(s),I.uint16(s),I.uint32(g),I.uint32(l),I.uint16(d),await fr(r,I.array),d&&await fr(r,A)})(e,t,i,{cdStartDiskNumber:a,cdStartDiskOffset:o,directoryDataLength:r})})(this,e,t),mr(this,t,ui)||await a.getWriter().close(),r.getData?r.getData():a}}function ur(e,A,t){e.pendingAddFileCalls.add(A),A.catch(e=>{try{t(e)}catch{}})}function hr(e,A){const{headerInfo:t}=e;let i,{localHeaderArray:r,extraFieldLength:n}=t,a=64-(A+Mr(r))%64;4>a&&(a+=64);const o=new u(a),g=br(o);Qr(g,0,6534),Qr(g,2,a-4);const s=r;t.localHeaderArray=r=new u(Mr(s)+a),Sr(r,s),Sr(r,o,Mr(s)),i=br(r),Qr(i,28,n+a),t.localHeaderView=i,e.metadataSize+=a}function wr(e){if(e===j)return new u;{const A=new u(4);br(A).setUint32(0,e,!0);let t=4;for(;t>1&&0===A[t-1];)t--;return A.subarray(0,t)}}function dr(e){const A=new u(e),t=br(A);let i=0;return{array:A,uint8:e=>{((e,A,t)=>{e.setUint8(A,t)})(t,i,e),i+=1},uint16:e=>{Qr(t,i,e),i+=2},uint32:e=>{Yr(t,i,e),i+=4},uint64:e=>{yr(t,i,n(e)),i+=8},bytes:e=>{Sr(A,e,i),i+=Mr(e)},skip:e=>i+=e}}function Ir(e,A){return e.offset-A.diskOffset-(A.diskNumber?e.initialOffset:0)}async function fr(e,A){const{writable:t}=e,i=t.getWriter();try{await i.ready,e.size+=Mr(A),await i.write(A)}finally{i.releaseLock()}}function Cr(e){if(e)return(n(e.getTime())+n(116444736e5))*n(1e4)}function Er(e){return a.floor(e.getTime()/1e3)}function Dr(e){return e>=Ar&&tr>=e}function Fr(e){return a.min(tr,a.max(Ar,e))}function mr(e,A,t,i){const r=A[t]===j?e.options[t]:A[t];return r===j?i:r}function pr(e){return e+5*(a.floor(e/16383)+1)}function Qr(e,A,t){e.setUint16(A,t,!0)}function Yr(e,A,t){e.setUint32(A,t,!0)}function yr(e,A,t){e.setBigUint64(A,t,!0)}function Sr(e,A,t){e.set(A,t)}function br(e){return new d(e.buffer,e.byteOffset,e.byteLength)}function Mr(...e){let A=0;return e.forEach(e=>e&&(A+=e.length)),A}function Ur({version:e,bitFlag:A,compressionMethod:t,uncompressedSize:i,compressedSize:r,lastModDate:n,rawLastModDate:a,rawFilename:o,zip64CompressedSize:g,zip64UncompressedSize:s,extraFieldLength:B}){const l=dr(26),c=l.array,u=br(c);if(l.uint16(e),l.uint16(A),l.uint16(t),a===j){const e=new w(1),A=br(e);Qr(A,0,(n.getHours()<<6|n.getMinutes())<<5|n.getSeconds()/2),Qr(A,2,(n.getFullYear()-1980<<4|n.getMonth()+1)<<5|n.getDate()),a=e[0]}return l.uint32(a),l.skip(4),g||r!==j?l.uint32(g?O:r):l.skip(4),s||i!==j?l.uint32(s?O:i):l.skip(4),l.uint16(Mr(o)),l.uint16(B),{headerArray:c,headerView:u,rawLastModDate:a}}function Or(e,A,t,i,r){let n=0;return A&&(n|=J),t&&(n|=8),8!=r&&9!=r||(0>e||e>3||(n|=6),e>3&&5>=e&&(n|=4),9==e&&(n|=2)),i&&(n|=1),n}try{oe({baseURI:void 0===D&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===D?location.href:U&&"SCRIPT"===U.tagName.toUpperCase()&&U.src||new l("zip-native.min.js",D.baseURI).href})}catch{}var{Uint8Array:Wr,Uint16Array:Gr,Int32Array:Tr,TransformStream:kr,Math:Rr,Error:Kr,Array:xr}=globalThis,Hr=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],zr=new Wr(0),Lr=new Gr(0),Nr=[];for(let e=0;6>e;e++)Nr.push(e,0==e?8:4);Nr.push(0,1);var Jr=[];for(let e=0;14>e;e++)Jr.push(e,0==e?4:2);var vr=new Gr([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Vr=new Gr([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function Pr(e,A,t,i,r){if(0==r)return;let n=e instanceof Wr?e:new Wr(e.buffer,e.byteOffset,e.byteLength),a=t instanceof Wr?t.subarray(i,i+r):new Wr(t.buffer,t.byteOffset+i,r);n.set(a,A)}function Xr(e,A,t){0!=t&&(e instanceof Wr?e:new Wr(e.buffer,e.byteOffset,e.byteLength)).fill(0,A,A+t)}function Zr(){return{next_in:zr,next_in_index:0,avail_in:0,total_in:0,next_out:zr,next_out_index:0,avail_out:0,total_out:0,msg:"",t:0,i:0,_:0,l:void 0}}function qr(e,A){let t=1<<A;return{o:e,u:new Wr(t),h:t,k:A,m:0,v:0,p:0,M:0}}function _r(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1];for(let e=0;r>e;e++)A.push(i)}return new Gr(A)}var jr=class{constructor(e,A){this.L=e,this.Z=A,this.q=0}},$r=class{constructor(e,A,t,i,r){this.N=e,this.V=A,this.W=t,this.S=i,this.$=r}};function en(e){return Sn[-6>e||e>2?9:2-e]||""}function An(e,A){try{e.msg=en(A)}catch(t){e.msg="zlib error "+i(A)+" ("+t+")"}return A}function tn(e,A){let t=e>>>0,i=0;for(let e=0;A>e;e++)i=i<<1|1&t,t>>>=1;return i}function rn(e,A){e.I[e.D++]=A}function nn(e,A){rn(e,255&A),rn(e,A>>>8&255)}function an(e,A,t){let i=255&t,r=65535&A,n=e.A+e.U;return e.I[n]=255&r,e.I[n+1]=r>>>8&255,e.I[n+2]=i,e.U+=3,r=r-1&65535,e.R[kn[i]+En+1].P++,e.X[sn(r)].P++,e.U==e.C}function on(e,A){let t=255&A,i=e.A+e.U;return e.I[i]=0,e.I[i+1]=0,e.I[i+2]=t,e.U+=3,e.R[t].P++,e.U==e.C}function gn(e){return e.h-fn}function sn(e){return 256>e?Rn[e]:Rn[256+(e>>7)]}function Bn(e){let A=wn+7,t=1<<A,i=(1<<A)-1,r=Rr.floor((A+dn-1)/dn),n=1<<8+wn;return{...qr(e,15),o:e,H:42,O:0,T:void 0,Y:32767,B:A,F:t,j:i,G:r,J:new Gr(32768),K:new Gr(t),ee:n,I:new Wr(32768),te:0,ne:32768,D:0,re:0,ie:0,fe:0,_e:0,le:0,oe:-2,ue:0,ae:0,ce:0,se:0,de:0,he:0,we:0,ke:0,be:0,ge:0,me:0,ve:0,xe:0,ye:0,pe:new Tr(2*Dn+1),ze:new Wr(2*Dn+1),Me:new Gr(Qn+1),U:0,C:0,Le:zr,A:0,Ee:0,Ze:0,qe:8,Ne:32768,Ve:0,We:0,Se:0,R:new xr(pn).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),X:new xr(2*Fn+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),$e:new xr(2*mn+1).fill(0).map(()=>({P:0,Qe:0,Pe:0,Ue:0})),Ie:un(),De:un(),Ae:un()}}function ln(e){let A=[];for(let t=0;t<e.length;t+=2){let i=e[t],r=e[t+1],n=cn();n.Qe=i,n.Ue=r,A.push(n)}return A}function cn(){return{P:0,Qe:0,Pe:0,Ue:0}}function un(){return new jr([],new $r(null,zr,0,0,0))}function hn(e){let{code:A,length:t}=(e=>{let A=Rr.max(...e),t=new xr(A+1).fill(0);for(let A of e)A>0&&t[A]++;let i=new xr(e.length).fill(0),r=new xr(A+1).fill(0),n=0;for(let e=1;A>=e;e++)n=n+t[e-1]<<1,r[e]=n;for(let A=0;A<e.length;A++){let t=e[A];0!=t&&(i[A]=r[t]++)}return{code:i,length:e}})(e),i=new Gr(2*e.length),r=0;for(let n=0;n<e.length;n++){let e=t[n]||0,a=A[n]||0;i[r++]=e?tn(a,e):0,i[r++]=e}return new Gr(i)}var wn=8,dn=3,In=258,fn=In+dn+1,Cn=In,En=256,Dn=En+1+29,Fn=30,mn=19,pn=2*Dn+1,Qn=15,Yn=256,yn=-1,Sn=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],bn=_r(Nr),Mn=_r(Jr),Un=new Gr(19);Un[16]=2,Un[17]=3,Un[18]=7;var On=hn((()=>{let e=new xr(288).fill(0);for(let A=0;143>=A;A++)e[A]=8;for(let A=144;255>=A;A++)e[A]=9;for(let A=256;279>=A;A++)e[A]=7;for(let A=280;287>=A;A++)e[A]=8;return e})()),Wn=hn(new xr(30).fill(5)),Gn=ln(On),Tn=ln(Wn),kn=((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}258>t&&(t=258);let i=new Wr(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,a=e[t];if(r>=a&&a+n-1>=r){i[r]=t;break}}return i})(Vr,bn),Rn=(e=>{let A=new Wr(512),t=e.length-1;for(let i=0;256>i;i++)A[i]=i>t?e[t]:e[i];for(let i=256;t>=i;i++){let t=i>>7;A[256+(t>255?255:t)]=e[i]}for(let e=257;512>e;e++)0==A[e]&&(A[e]=A[e-1]);return A})(((e,A)=>{let t=0;for(let i=0;i<e.length;i++){let r=A[i]?1<<A[i]:1,n=e[i]+r-1;n>t&&(t=n)}let i=new Wr(t+1);for(let r=0;t>=r;r++)for(let t=0;t<e.length;t++){let n=A[t]?1<<A[t]:1,a=e[t];if(r>=a&&a+n-1>=r){i[r]=t;break}}return i})(vr,Mn));function Kn(e){return e%65521>>>0}function xn(e,A,t){if(void 0===A||void 0===t)return 1;let i=e>>>16&65535;if(e&=65535,1==t)return(e+=A[0])>=65521&&(e-=65521),i+=e,i>=65521&&(i-=65521),(i<<16|e)>>>0;if(16>t){for(let r=0;t>r;r++)i+=e+=A[r];return e>=65521&&(e-=65521),i=Kn(i),(i<<16|e)>>>0}for(;t>=5552;){t-=5552;let r=Rr.floor(347);do{for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}while(--r);e=Kn(e),i=Kn(i)}if(t){for(;t>=16;){t-=16;for(let t=0;16>t;t++)i+=e+=A[t];A=A.subarray(16)}for(let r=0;t>r;r++)i+=e+=A[r];e=Kn(e),i=Kn(i)}return(i<<16|e)>>>0}var Hn=(()=>{let e=new xr(256);for(let A=0;256>A;A++){let t=A;for(let e=0;8>e;e++)t=1&t?3988292384^t>>>1:t>>>1;e[A]=t>>>0}return e})();function zn(e=0,A,t){if(!A)return 0;void 0===t&&(t=A.length),t=Rr.min(t,A.length),e=~e>>>0;for(let i=0;t>i;i++)e=e>>>8^Hn[255&(e^A[i])];return(4294967295^e)>>>0}function Ln(e){16==e.M?(nn(e,e.p),e.p=0,e.M=0):e.M>=8&&(rn(e,e.p),e.p>>=8,e.M-=8)}function Nn(e){e.M>8?nn(e,e.p):e.M>0&&rn(e,e.p),e.Ee=1+(e.M-1&7),e.p=0,e.M=0}function Jn(e,A,t){e.M>16-t?(e.p=65535&(e.p|A<<e.M),nn(e,e.p),e.p=A>>16-e.M&65535,e.M+=t-16):(e.p=65535&(e.p|A<<e.M),e.M+=t)}function vn(e){for(let A=0;A<e.R.length;A++)e.R[A].P=0;for(let A=0;A<e.X.length;A++)e.X[A].P=0;for(let A=0;A<e.$e.length;A++)e.$e[A].P=0;e.R[Yn].P=1,e.ie=e.fe=0,e.U=e._e=0}function Vn(e,A,t){return t=e.pe[1],e.pe[1]=e.pe[e.We--],Xn(e,A,1),t}function Pn(e,A,t,i){return e[A].P<e[t].P||e[A].P==e[t].P&&i[A]<=i[t]}function Xn(e,A,t){let i=e.pe[t],r=t<<1;for(;r<=e.We&&(r<e.We&&Pn(A,e.pe[r+1],e.pe[r],e.ze)&&r++,!Pn(A,i,e.pe[r],e.ze));)e.pe[t]=e.pe[r],t=r,r<<=1;e.pe[t]=i}function Zn(e,A){let t,i,r,n=A.L,a=A.Z.N,o=A.Z.S,g=-1;for(e.We=0,e.Se=pn,t=0;o>t;t++)0!=n[t].P?(e.pe[++e.We]=g=t,e.ze[t]=0):n[t].Ue=0;for(;2>e.We;)r=e.pe[++e.We]=2>g?++g:0,n[r].P=1,e.ze[r]=0,e.ie--,a&&(e.fe-=a[r].Ue);for(A.q=g,t=Rr.floor(e.We/2);t>=1;t--)Xn(e,n,t);r=o;do{t=Vn(e,n,t),i=e.pe[1],e.pe[--e.Se]=t,e.pe[--e.Se]=i,n[r].P=n[t].P+n[i].P,e.ze[r]=(e.ze[t]<e.ze[i]?e.ze[i]:e.ze[t])+1,n[t].Pe=n[i].Pe=r,e.pe[1]=r++,Xn(e,n,1)}while(e.We>=2);e.pe[--e.Se]=e.pe[1],((e,A)=>{let t,i,r,n,a,o,g=A.L,s=A.q,B=A.Z.N,l=A.Z.V,c=A.Z.W,u=A.Z.$,h=0;for(n=0;Qn>=n;n++)e.Me[n]=0;for(g[e.pe[e.Se]].Ue=0,t=e.Se+1;pn>t;t++)i=e.pe[t],n=g[g[i].Pe].Ue+1,n>u&&(n=u,h++),g[i].Ue=n,s>=i&&(e.Me[n]++,a=0,i>=c&&(a=l[i-c]),o=g[i].P,e.ie+=o*(n+a),B&&(e.fe+=o*(B[i].Ue+a)));if(0!=h){do{for(n=u-1;0==e.Me[n];)n--;e.Me[n]--,e.Me[n+1]+=2,e.Me[u]--,h-=2}while(h>0);for(n=u;0!=n;n--)for(i=e.Me[n];0!=i;)r=e.pe[--t],s>=r&&(g[r].Ue!=n&&(e.ie+=(n-g[r].Ue)*g[r].P,g[r].Ue=n),i--)}})(e,A),((e,A,t)=>{let i,r,n=[],a=0;for(i=1;Qn>=i;i++)a=a+t[i-1]<<1,n[i]=a;for(r=0;A>=r;r++){let A=e[r].Ue;0!=A&&(e[r].Qe=tn(n[A]++,A))}})(n,A.q,e.Me)}function qn(e,A,t){let i,r,n=-1,a=A[0].Ue,o=0,g=7,s=4;for(0==a&&(g=138,s=3),A[t+1].Ue=65535,i=0;t>=i;i++)r=a,a=A[i+1].Ue,(++o>=g||r!=a)&&(s>o?e.$e[r].P+=o:0!=r?(r!=n&&e.$e[r].P++,e.$e[16].P++):o>10?e.$e[18].P++:e.$e[17].P++,o=0,n=r,0==a?(g=138,s=3):r==a?(g=6,s=3):(g=7,s=4))}function _n(e,A,t){let i,r=-1,n=A[0].Ue,a=0,o=7,g=4;0==n&&(o=138,g=3);for(let s=0;t>=s;s++)if(i=n,n=A[s+1].Ue,++a>=o||i!=n){if(g>a)do{Jn(e,e.$e[i].Qe,e.$e[i].Ue)}while(0!=--a);else 0!=i?(i!=r&&(Jn(e,e.$e[i].Qe,e.$e[i].Ue),a--),Jn(e,e.$e[16].Qe,e.$e[16].Ue),Jn(e,a-3,2)):a>10?(Jn(e,e.$e[18].Qe,e.$e[18].Ue),Jn(e,a-11,7)):(Jn(e,e.$e[17].Qe,e.$e[17].Ue),Jn(e,a-3,3));a=0,r=i,0==n?(o=138,g=3):i==n?(o=6,g=3):(o=7,g=4)}}function jn(e,A,t,i,r=0){Jn(e,0+i,3),Nn(e),nn(e,t),nn(e,~t),t&&A&&Pr(e.I,e.D,A,r,t),e.D+=t}function $n(e,A,t){let i,r,n,a,o=0;if(0!=e.U)do{i=255&e.Le[o],i+=(255&e.Le[o+1])<<8,r=e.Le[o+2],o+=3,0==i?Jn(e,A[r].Qe,A[r].Ue):(n=kn[r],Jn(e,A[n+En+1].Qe,A[n+En+1].Ue),a=bn[n],0!=a&&(r-=Vr[n],Jn(e,r,a)),i--,n=sn(i),Jn(e,t[n].Qe,t[n].Ue),a=Mn[n],0!=a&&(i-=vr[n],Jn(e,i,a)))}while(o<e.U);Jn(e,A[Yn].Qe,A[Yn].Ue)}var ea=[{Re:Ca,Xe:0,Ce:0,He:0,Oe:0},{Re:Ea,Xe:4,Ce:4,He:8,Oe:4},{Re:Ea,Xe:5,Ce:5,He:16,Oe:8},{Re:Ea,Xe:6,Ce:16,He:32,Oe:32},{Re:Da,Xe:4,Ce:4,He:16,Oe:16},{Re:Da,Xe:16,Ce:8,He:16,Oe:32},{Re:Da,Xe:16,Ce:16,He:32,Oe:128},{Re:Da,Xe:32,Ce:32,He:128,Oe:256},{Re:Da,Xe:128,Ce:128,He:256,Oe:1024},{Re:Da,Xe:258,Ce:258,He:258,Oe:4096}];function Aa(e){return 2*e-(e>4?9:0)}function ta(e,A,t){return((A<<e.G^t)&e.j)>>>0}function ia(e,A){e.ke=ta(e,e.ke,e.u[A+(dn-1)]);let t=e.J[A&e.Y]=e.K[e.ke];return e.K[e.ke]=A,t}function ra(e){e.K[e.F-1]=0,Xr(e.K,0,(e.F-1)*e.K.BYTES_PER_ELEMENT)}function na(e){let A,t,i=e.h;for(A=e.F;A>0;)A--,t=e.K[A],e.K[A]=i>t?0:t-i;for(A=i;A>0;)A--,t=e.J[A],e.J[A]=i>t?0:t-i}function aa(e,A,t,i){let r=e.avail_in;return r>i&&(r=i),0==r?0:(e.avail_in-=r,Pr(A,t,e.next_in,e.next_in_index,r),1==e.l.O?e.i=xn(e.i,new Wr(A.buffer,A.byteOffset+t,r),r):2==e.l.O&&(e.i=zn(e.i,new Wr(A.buffer,A.byteOffset+t,r),r)),e.next_in_index+=r,e.total_in+=r,r)}function oa(e){let A,t,i=e.h;do{if(t=e.Ne-e.ce-e.ae,0==t&&0==e.ae&&0==e.ce?t=i:-1==t&&t--,e.ae>=i+gn(e)&&(Pr(e.u,0,e.u,i,i-t),e.Ve-=i,e.ae-=i,e.ue-=i,e.le>e.ae&&(e.le=e.ae),na(e),t+=i),0==e.o.avail_in)break;if(A=aa(e.o,e.u,e.ae+e.ce,t),e.ce+=A,e.ce+e.le>=dn){let A=e.ae-e.le;for(e.ke=e.u[A],e.ke=ta(e,e.ke,e.u[A+1]);e.le&&(e.ke=ta(e,e.ke,e.u[A+dn-1]),e.J[A&e.Y]=e.K[e.ke],e.K[e.ke]=A,A++,e.le--,e.ce+e.le>=dn););}}while(e.ce<fn&&0!=e.o.avail_in);if(e.m<e.Ne){let A,t=e.ae+e.ce;e.m<t?(A=e.Ne-t,A>Cn&&(A=Cn),Xr(e.u,t,A),e.m=t+A):e.m<t+Cn&&(A=t+Cn-e.m,A>e.Ne-e.m&&(A=e.Ne-e.m),Xr(e.u,e.m,A),e.m+=A)}}function ga(e){if(null==e)return!0;let A=e.l;return!A||A.o!=e||42!=A.H&&57!=A.H&&69!=A.H&&73!=A.H&&91!=A.H&&103!=A.H&&113!=A.H&&666!=A.H}function sa(e,A){rn(e,A>>8),rn(e,255&A)}function Ba(e){let A,t=e.l;(e=>{Ln(e)})(t),A=t.D,A>e.avail_out&&(A=e.avail_out),0!=A&&(Pr(e.next_out,e.next_out_index,t.I,t.re,A),e.next_out_index+=A,t.re+=A,e.total_out+=A,e.avail_out-=A,t.D-=A,0==t.D&&(t.re=t.te))}function la(e,A){let t=e.l;t.T&&t.T.Te&&(e.i=zn(e.i,new Wr(t.I.buffer,t.te+A,t.D-A),t.D-A))}function ca(e,A){let t,i=e.l;if(ga(e)||A>5||0>A)return An(e,-2);if(!e.next_out||0!=e.avail_in&&!e.next_in||666==i.H&&4!=A)return An(e,-2);if(0==e.avail_out)return An(e,-5);if(t=i.oe,i.oe=A,0!=i.D){if(Ba(e),0==e.avail_out)return i.oe=yn,0}else if(0==e.avail_in&&Aa(A)<=Aa(t)&&4!=A)return An(e,-5);if(666==i.H&&0!=e.avail_in)return An(e,-5);if(42==i.H&&0==i.O&&(i.H=113),42==i.H){let A,t=8+(i.k-8<<4)<<8;if(A=i.ge>=2||2>i.be?0:6>i.be?1:6==i.be?2:3,t|=A<<6,0!=i.ae&&(t|=32),t+=31-t%31,sa(i,t),0!=i.ae&&(sa(i,e.i>>16),sa(i,65535&e.i)),e.i=1,i.H=113,Ba(e),0!=i.D)return i.oe=yn,0}if(57==i.H)if(e.i=zn(0),rn(i,31),rn(i,139),rn(i,8),i.T)rn(i,(i.T.Ye?1:0)+(i.T.Te?2:0)+(null==i.T.Be?0:4)+(null==i.T.Fe?0:8)+(null==i.T.je?0:16)),rn(i,255&i.T.Ge),rn(i,i.T.Ge>>>8&255),rn(i,i.T.Ge>>>16&255),rn(i,i.T.Ge>>>24&255),rn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),rn(i,255&i.T.Je),null!=i.T.Be&&(rn(i,255&i.T.Ke),rn(i,i.T.Ke>>>8&255)),i.T.Te&&(e.i=zn(e.i,i.I,i.D)),i.Ze=0,i.H=69;else if(rn(i,0),rn(i,0),rn(i,0),rn(i,0),rn(i,0),rn(i,9==i.be?2:i.ge>=2||2>i.be?4:0),rn(i,255),i.H=113,Ba(e),0!=i.D)return i.oe=yn,0;if(69==i.H){if(i.T&&null!=i.T.Be){let A=i.D,t=(65535&i.T.Ke)-i.Ze;for(;i.D+t>i.ne;){let r=i.ne-i.D;if(Pr(i.I,i.D,i.T.Be,i.Ze,r),i.D=i.ne,la(e,A),i.Ze+=r,Ba(e),0!=i.D)return i.oe=yn,0;A=0,t-=r}Pr(i.I,i.D,i.T.Be,i.Ze,t),i.D+=t,la(e,A),i.Ze=0}i.H=73}if(73==i.H){if(i.T&&i.T.Fe&&i.T.Fe.length){let A,t=i.D;do{if(i.D==i.ne){if(la(e,t),Ba(e),0!=i.D)return i.oe=yn,0;t=0}A=i.T.Fe[i.Ze++],rn(i,A)}while(0!=A);la(e,t),i.Ze=0}i.H=91}if(91==i.H){if(i.T&&i.T.je&&i.T.je.length){let A,t=i.D;do{if(i.D==i.ne){if(la(e,t),Ba(e),0!=i.D)return i.oe=yn,0;t=0}A=i.T.je[i.Ze++],rn(i,A)}while(0!=A);la(e,t)}i.H=103}if(103==i.H){if(i.T&&i.T.Te){if(i.D+2>i.ne&&(Ba(e),0!=i.D))return i.oe=yn,0;rn(i,255&e.i),rn(i,e.i>>>8&255),e.i=zn(0)}if(i.H=113,Ba(e),0!=i.D)return i.oe=yn,0}if(0!=e.avail_in||0!=i.ce||0!=A&&666!=i.H){let t=0==i.be?Ca(i,A):2==i.ge?((e,A)=>{let t=!1;for(;;){if(0==e.ce&&(oa(e),0==e.ce)){if(0==A)return 0;break}if(e.se=0,t=on(e,e.u[e.ae]),e.ce--,e.ae++,t){let A=da(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1})(i,A):3==i.ge?((e,A)=>{let t,i,r,n;for(;;){if(e.ce<=In){if(oa(e),e.ce<=In&&0==A)return 0;if(0==e.ce)break}if(e.se=0,e.ce>=dn&&e.ae>0&&(r=e.ae-1,i=e.u[r],i==++r&&i==++r&&i==++r)){n=e.ae+In;do{}while(i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&i==++r&&n>r);e.se=In-(n-r),e.se>e.ce&&(e.se=e.ce)}if(e.se<dn?(t=on(e,e.u[e.ae]),e.ce--,e.ae++):(e.ae,e.ae,e.se,t=an(e,1,e.se-dn),e.ce-=e.se,e.ae+=e.se,e.se=0),t){let A=da(e,!1);if(null!=A)return A}}if(e.le=0,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1})(i,A):ea[i.be].Re(i,A);if((2==t||3==t)&&(i.H=666),0==t||2==t)return 0==e.avail_out&&(i.oe=yn),0;if(1==t&&(1==A?(e=>{Jn(e,2,3),Jn(e,Gn[Yn].Qe,Gn[Yn].Ue),Ln(e)})(i):5!=A&&(jn(i,null,0,0),3==A&&(ra(i),0==i.ce&&(i.ae=0,i.ue=0,i.le=0))),Ba(e),0==e.avail_out))return i.oe=yn,0}return 4!=A?0:i.O>0?(2==i.O?(rn(i,255&e.i),rn(i,e.i>>>8&255),rn(i,e.i>>>16&255),rn(i,e.i>>>24&255),rn(i,255&e.total_in),rn(i,e.total_in>>>8&255),rn(i,e.total_in>>>16&255),rn(i,e.total_in>>>24&255)):(sa(i,e.i>>>16&65535),sa(i,65535&e.i)),Ba(e),i.O>0&&(i.O=-i.O),0!=i.D?0:1):1}function ua(e){if(ga(e))return-2;let A=e.l,t=A.H;return A.u=zr,A.J=Lr,A.K=Lr,A.I=zr,A.Le=zr,A.pe=new Tr(0),A.ze=zr,A.Me=Lr,A.R.length=0,A.X.length=0,A.$e.length=0,A.T=void 0,A.te=0,A.re=0,A.A=0,113==t?-3:0}function ha(e,A){let t,i,r=e.xe,n=e.ae,a=e.de,o=e.ve,g=e.ae>gn(e)?e.ae-gn(e):0,s=e.J,B=e.Y,l=e.u[n],c=e.u[n+1],u=e.u[n+a-1],h=e.u[n+a];e.de>=e.me&&(r>>=2),o>e.ce&&(o=e.ce);do{if(t=A,e.u[t+a]!=h||e.u[t+a-1]!=u||e.u[t]!=l||e.u[t+1]!=c)continue;let r=Rr.min(In,e.ce),g=2;for(;r>g&&e.u[n+g]==e.u[t+g];)g++;if(i=g,i>a){if(e.Ve=A,a=i,i>=o)break;u=e.u[n+a-1],h=e.u[n+a]}}while((A=s[A&B])>g&&0!=--r);return a>e.ce?e.ce:a}function wa(e,A){((e,A,t,i,r=0)=>{let n,a,o=0;e.be>0?(2==e.o.t&&(e.o.t=(e=>{let A,t=4093624447;for(A=0;31>=A;A++,t>>=1)if(1&t&&0!=e.R[A].P)return 0;if(0!=e.R[9].P||0!=e.R[10].P||0!=e.R[13].P)return 1;for(A=32;En>A;A++)if(0!=e.R[A].P)return 1;return 0})(e)),Zn(e,e.Ie),Zn(e,e.De),o=(e=>{let A;for(qn(e,e.R,e.Ie.q),qn(e,e.X,e.De.q),Zn(e,e.Ae),A=mn-1;A>=3&&0==e.$e[Hr[A]].Ue;A--);return e.ie+=3*(A+1)+5+5+4,A})(e),n=e.ie+3+7>>3,a=e.fe+3+7>>3,(n>=a||4==e.ge)&&(n=a)):n=a=t+5,n>=t+4&&A?jn(e,A,t,i,r):a==n?(Jn(e,2+i,3),$n(e,Gn,Tn)):(Jn(e,4+i,3),((e,A,t,i)=>{let r;for(Jn(e,A-257,5),Jn(e,t-1,5),Jn(e,i-4,4),r=0;i>r;r++)Jn(e,e.$e[Hr[r]].Ue,3);_n(e,e.R,A-1),_n(e,e.X,t-1)})(e,e.Ie.q+1,e.De.q+1,o+1),$n(e,e.R,e.X)),vn(e),i&&Nn(e)})(e,e.u,e.ae-e.ue,A,e.ue),e.ue=e.ae,Ba(e.o)}function da(e,A){return wa(e,A?1:0),0==e.o.avail_out?A?2:0:null}var Ia=65535;function fa(e,A){return A>e?e:A}function Ca(e,A){let t,i,r,n=fa(e.ne-5,e.h),a=0,o=e.o.avail_in;do{if(t=Ia,r=e.M+42>>3,e.o.avail_out<r||(r=e.o.avail_out-r,i=e.ae-e.ue,t>i+e.o.avail_in&&(t=i+e.o.avail_in),t>r&&(t=r),n>t&&(0==t&&4!=A||0==A||t!=i+e.o.avail_in)))break;a=4==A&&t==i+e.o.avail_in?1:0,jn(e,null,0,a),e.I[e.D-4]=t,e.I[e.D-3]=t>>8,e.I[e.D-2]=~t,e.I[e.D-1]=~t>>8,Ba(e.o),i&&(i>t&&(i=t),Pr(e.o.next_out,e.o.next_out_index,e.u,e.ue,i),e.o.next_out_index+=i,e.o.avail_out-=i,e.o.total_out+=i,e.ue+=i,t-=i),t&&(aa(e.o,e.o.next_out,e.o.next_out_index,t),e.o.next_out_index+=t,e.o.avail_out-=t,e.o.total_out+=t)}while(0==a);if(o-=e.o.avail_in,o){if(o<e.h)e.Ne-e.ae<=o&&(e.ae-=e.h,Pr(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,e.le>e.ae&&(e.le=e.ae)),Pr(e.u,e.ae,e.o.next_in,e.o.next_in_index-o,o),e.ae+=o,e.le+=fa(o,e.h-e.le);else{e._e=2;let A=e.o.next_in_index-e.h;Pr(e.u,0,e.o.next_in,A,e.h),e.ae=e.h,e.le=e.ae}e.ue=e.ae}return e.m<e.ae&&(e.m=e.ae),a?(e.Ee=8,3):0!=A&&4!=A&&0==e.o.avail_in&&e.ae==e.ue?1:(r=e.Ne-e.ae,e.o.avail_in>r&&e.ue>=e.h&&(e.ue-=e.h,e.ae-=e.h,Pr(e.u,0,e.u,e.h,e.ae),2>e._e&&e._e++,r+=e.h,e.le>e.ae&&(e.le=e.ae)),r>e.o.avail_in&&(r=e.o.avail_in),r&&(aa(e.o,e.u,e.ae,r),e.ae+=r,e.le+=fa(r,e.h-e.le)),e.m<e.ae&&(e.m=e.ae),r=e.M+42>>3,r=fa(e.ne-r,Ia),n=fa(r,e.h),i=e.ae-e.ue,(i>=n||(i||4==A)&&0!=A&&0==e.o.avail_in&&r>=i)&&(t=fa(i,r),a=4==A&&0==e.o.avail_in&&t==i?1:0,jn(e,e.u,t,a,e.ue),e.ue+=t,Ba(e.o)),a&&(e.Ee=8),a?2:0)}function Ea(e,A){let t,i=!1;for(;;){if(e.ce<fn){if(oa(e),e.ce<fn&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=dn&&(t=ia(e,e.ae)),0!=t&&e.ae-t<=gn(e)&&(e.se=ha(e,t)),e.se<dn)i=on(e,e.u[e.ae]),e.ce--,e.ae++;else if(e.ae,e.Ve,e.se,i=an(e,e.ae-e.Ve,e.se-dn),e.ce-=e.se,e.se>e.ye||e.ce<dn)e.ae+=e.se,e.se=0,e.ke=e.u[e.ae],e.ke=ta(e,e.ke,e.u[e.ae+1]);else{e.se--;do{e.ae++,t=ia(e,e.ae)}while(0!=--e.se);e.ae++}if(i){let A=da(e,!1);if(null!=A)return A}}if(e.le=e.ae<dn-1?e.ae:dn-1,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1}function Da(e,A){let t,i=!1;for(;;){if(e.ce<fn){if(oa(e),e.ce<fn&&0==A)return 0;if(0==e.ce)break}if(t=0,e.ce>=dn&&(t=ia(e,e.ae)),e.de=e.se,e.he=e.Ve,e.se=dn-1,0!=t&&e.de<e.ye&&e.ae-t<=gn(e)&&(e.se=ha(e,t),5>=e.se&&1==e.ge&&(e.se=dn-1)),e.de<dn||e.se>e.de)if(e.we){if(i=on(e,e.u[e.ae-1]),i&&wa(e,0),e.ae++,e.ce--,0==e.o.avail_out)return 0}else e.we=1,e.ae++,e.ce--;else{let A=e.ae+e.ce-dn;e.ae,e.he,e.de,i=an(e,e.ae-1-e.he,e.de-dn),e.ce-=e.de-1,e.de-=2;do{++e.ae<=A&&(t=ia(e,e.ae))}while(0!=--e.de);if(e.we=0,e.se=dn-1,e.ae++,i){let A=da(e,!1);if(null!=A)return A}}}if(e.we&&(i=on(e,e.u[e.ae-1]),e.we=0),e.le=e.ae<dn-1?e.ae:dn-1,4==A)return da(e,!0)??3;if(e.U){let A=da(e,!1);if(null!=A)return A}return 1}var Fa=852,ma=vr.map(e=>e+1),pa=Vr.subarray(0,-1).map(e=>e+3),Qa=Jr.map(Ra),Ya=Jr.map(Ka);Qa.push(64,2),Ya.push(142,2);var ya=Nr.slice(0,-2).map(Ra),Sa=Nr.slice(0,-2).map(Ka);ya.push(16,1,73,1,200,1),Sa.push(144,1,72,1,78,1);var ba=new Gr([...pa,258,0,0]),Ma=new Gr([...pa,3,0,0]),Ua=_r(ya),Oa=_r(Sa),Wa=new Gr([...ma,0,0]),Ga=new Gr([...ma,32769,49153]),Ta=_r(Qa),ka=_r(Ya);function Ra(e,A){return A%2?e:e+16}function Ka(e,A){return A%2?e:e+128}function xa(e,A){let t,i=e.l,r=e.next_in_index,n=e.next_out_index,a=e.next_in,o=e.next_out,g=i.u,s=i.p>>>0,B=i.M>>>0,l=i.et,c=i.tt,u=(1<<i.nt)-1,h=(1<<i.rt)-1,w=i.h>>>0,d=i.m>>>0,I=i.v>>>0,f=i.it,C=n-(A-e.avail_out),E=n+(e.avail_out-257),D=r+(e.avail_in-5),F=0,m=0,p=0,Q=0;e:do{for(;15>B;){if(r>=a.length)break e;s+=a[r++]<<B,B+=8}for(t=l[s&u];;){if(p=t.ft,s>>>=p,B-=p,p=t._t,0==p){o[n++]=t.lt;break}if(16&p){if(F=t.lt,p&=15,p){for(;p>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}F+=s&(1<<p)-1,s>>>=p,B-=p}for(;15>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}for(t=c[s&h];;){if(p=t.ft,s>>>=p,B-=p,p=t._t,16&p){if(m=t.lt,p&=15,p){for(;p>B;){if(r>=a.length){i.ot=16200;break e}s+=a[r++]<<B,B+=8}m+=s&(1<<p)-1,s>>>=p,B-=p}let A=F,l=n-C;if(m>l){let t=m-l;if(t>d&&f){e.msg="invalid distance too far back",i.ot=16209;break e}if(0==I){if(Q=w-t,t>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let e=0;t>e;++e)o[n++]=g[Q++];A-=t,Q=n-m}else if(t>I){Q=w+I-t;let e=t-I;if(e>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let A=0;e>A;++A)o[n++]=g[Q++];if(A-=e,Q=0,A>I){for(let e=0;I>e;++e)o[n++]=g[Q++];A-=I,Q=n-m}}else{if(Q=I-t,t>=A){for(let e=0;A>e;++e)o[n++]=g[Q++];continue e}for(let e=0;t>e;++e)o[n++]=g[Q++];A-=t,Q=n-m}for(;A>2;)o[n++]=o[Q++],o[n++]=o[Q++],o[n++]=o[Q++],A-=3;A&&(o[n++]=o[Q++],A>1&&(o[n++]=o[Q++]))}else{for(Q=n-m;A>2;)o[n++]=o[Q++],o[n++]=o[Q++],o[n++]=o[Q++],A-=3;A&&(o[n++]=o[Q++],A>1&&(o[n++]=o[Q++]))}break}if(64&p){e.msg="invalid distance code",i.ot=16209;break e}t=c[t.lt+(s&(1<<p)-1)]}break}if(64&p){if(32&p){i.ot=16191;break e}e.msg="invalid literal/length code",i.ot=16209;break e}t=l[t.lt+(s&(1<<p)-1)]}}while(D>r&&E>n);let Y=B>>3;r-=Y,B-=Y<<3,s&=(1<<B)-1,e.next_in_index=r,e.next_out_index=n,e.avail_in=D>r?D-r+5:5-(r-D),e.avail_out=E>n?E-n+257:257-(n-E),i.p=s>>>0,i.M=B>>>0}function Ha(e,A){let t=[],i=A?1446:1444;return{...qr(e,0),o:e,ot:16180,ut:!1,O:0,ct:!1,st:0,dt:0,ht:0,wt:0,u:zr,kt:0,bt:0,Be:0,et:t,tt:t,nt:0,rt:0,gt:0,vt:0,xt:0,yt:0,zt:t,Mt:new Gr(320),Lt:new Gr(288),Et:new xr(i).fill(null).map(()=>za()),Zt:0,it:!0,qt:0,Nt:0,Vt:A}}function za(e=0,A=0,t=0){return{_t:e,ft:A,lt:t}}function La(e=1){return{_t:64,ft:e,lt:0}}function Na(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Ja={Vt:!1,Wt:ba,St:Ua,$t:Wa,It:Ta,Dt:20,At:257,Qt:0,Ut:592,Pt:!1,Rt:!0},va={Vt:!0,Wt:Ma,St:Oa,$t:Ga,It:ka,Dt:19,At:256,Qt:-1,Ut:594,Pt:!0,Rt:!1};function Va(e,A,t,i,r,n,a,o){let g,s,B,l,c,u,h,w,d,I,f,C,E,D,F,m,p,Q,Y,y=new Gr(16),S=new Gr(16),b=o?va:Ja;for(g=0;15>=g;g++)y[g]=0;for(s=0;t>s;s++)y[A[s]]++;for(c=r.Xt,l=15;l>=1&&0==y[l];l--);if(c>l&&(c=l),0==l)return b.Rt?(F=La(1),i.Xt[0]=F,i.Xt[1]=F,r.Xt=1,0):-1;for(B=1;l>B&&0==y[B];B++);for(B>c&&(c=B),w=1,g=1;15>=g;g++)if(w<<=1,w-=y[g],0>w)return-1;if(w>0&&(0==e||1!=l))return-1;for(S[1]=0,g=1;15>g;g++)S[g+1]=S[g]+y[g];for(s=0;t>s;s++)0!=A[s]&&(n[S[A[s]]++]=s);switch(e){case 0:p=Q=n,Y=b.Dt;break;case 1:p=b.Wt,Q=b.St,Y=b.At;break;default:p=b.$t,Q=b.It,Y=b.Qt}if(I=0,s=0,g=B,m=a.Xt,u=c,h=0,E=-1,d=1<<c,D=d-1,1==e&&(b.Pt?d>=Fa:d>Fa)||2==e&&(b.Pt?d>=b.Ut:d>b.Ut))return 1;for(;;){F=Pa(n,s,g,h,e,p,Q,Y,b.Vt),f=1<<g-h,C=1<<u,B=C;do{C-=f;let e=(I>>h)+C;i.Xt[m+e]={...F}}while(0!=C);for(f=1<<g-1;I&f;)f>>=1;if(0!=f?(I&=f-1,I+=f):I=0,s++,0==--y[g]){if(g==l)break;g=A[n[s]]}if(g>c&&(I&D)!=E){for(0==h&&(h=c),m+=1<<u,u=g-h,w=1<<u;l>u+h&&(w-=y[u+h],w>0);)u++,w<<=1;if(d+=1<<u,1==e&&(b.Pt?d>=Fa:d>Fa)||2==e&&(b.Pt?d>=b.Ut:d>b.Ut))return 1;E=I&D,i.Xt[a.Xt+E]={_t:u,ft:c,lt:m-a.Xt}}}if(0!=I)for(F=La(g-h);0!=I;){for(0!=h&&(I&D)!=E&&(h=0,g=c,m=a.Xt,u=c,F.ft=g),i.Xt[m+(I>>h)]={...F},f=1<<g-1;I&f;)f>>=1;0!=f?(I&=f-1,I+=f):I=0}return a.Xt+=d,r.Xt=c,0}function Pa(e,A,t,i,r,n,a,o,g){let s;if(g?e[A]<o:e[A]+1<o)s=za(0,t-i,e[A]);else if(g?e[A]>o:e[A]>=o)if(g&&1==r){let r=e[A]-257;s=za(a[r],t-i,n[r])}else{let r=g?e[A]:e[A]-o;s=za(a[r],t-i,n[r])}else s=((e=0)=>({_t:96,ft:e,lt:0}))(t-i);return s}var Xa={Ct:!0,Ht:new xr(544),Ot:[],Tt:[]},Za={Ct:!0,Ht:new xr(544),Ot:[],Tt:[]};function qa(e){let A;return!(e&&(A=e.l,!(!A||A.o!=e||A.Vt&&(16191>A.ot||A.ot>16209)||!A.Vt&&(16180>A.ot||A.ot>16211))))}function _a(e){let A=e.Vt?Za:Xa,t={Xt:0};if(A.Ct){let i,r,n;for(i=0;144>i;)e.Mt[i++]=8;for(;256>i;)e.Mt[i++]=9;for(;280>i;)e.Mt[i++]=7;for(;288>i;)e.Mt[i++]=8;for(let e=0;544>e;e++)A.Ht[e]=za();n=A.Ht,A.Ot=n,r=9;let a={Xt:n},o={Xt:r},g={Xt:0};for(Va(1,e.Mt,288,a,o,e.Lt,g,e.Vt),n=a.Xt,r=o.Xt,e.Zt=g.Xt,i=0;32>i;)e.Mt[i++]=5;r=5;let s=g.Xt,B={Xt:n},l={Xt:r};t.Xt=s,Va(2,e.Mt,32,B,l,e.Lt,t,e.Vt),A.Tt=n.slice(s),A.Ct=!1}e.et=A.Ot,e.nt=9,e.tt=A.Tt,e.rt=5,e.Zt=t.Xt}var ja=class extends Kr{constructor(){super("Need more input")}};function $a(e,A){let t,i,r,n,a,o,g,s,B,l,c,u,h,w,d,I,f,C=new Wr(4);if(qa(e)||!e.next_out||!e.next_in&&0!=e.avail_in)return-2;o=0,s=0,g=0,B=0,i=zr,r=0,n=zr,a=0,t=e.l,16191==t.ot&&(t.ot=16192),p(),l=o,c=g,f=0;try{for(;;)switch(t.ot){case 16180:if(0==t.O){t.ot=16192;break}if(S(16),2&t.O&&35615==s){0==t.k&&(t.k=15),t.ht=zn(0),t.ht=F(t.ht,s),Y(),t.ot=16181;break}if(t.T&&(t.T.Yt=-1),!(1&t.O)||((b(8)<<8)+(s>>8))%31){e.msg="incorrect header check",t.ot=16209;break}if(8!=b(4)){e.msg="unknown compression method",t.ot=16209;break}if(M(4),I=b(4)+8,0==t.k&&(t.k=I),I>15||I>t.k){e.msg="invalid window size",t.ot=16209;break}t.dt=1<<I,t.st=0,e.i=t.ht=xn(0),t.ot=512&s?16189:16191,Y();break;case 16181:if(S(16),t.st=s,8!=(255&t.st)){e.msg="unknown compression method",t.ot=16209;break}if(57344&t.st){e.msg="unknown header flags set",t.ot=16209;break}t.T&&(t.T.Ye=s>>8&1),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y(),t.ot=16182;case 16182:S(32),t.T&&(t.T.Ge=s),512&t.st&&4&t.O&&(t.ht=m(t.ht,s)),Y(),t.ot=16183;case 16183:S(16),t.T&&(t.T.Bt=255&s,t.T.Je=s>>8),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y(),t.ot=16184;case 16184:1024&t.st?(S(16),t.kt=s,t.T&&(t.T.Ke=s),512&t.st&&4&t.O&&(t.ht=F(t.ht,s)),Y()):t.T&&(t.T.Be=zr),t.ot=16185;case 16185:if(1024&t.st&&(u=t.kt,u>o&&(u=o),u&&(t.T&&t.T.Be&&t.T.Ft&&(I=t.T.Ke-t.kt)<t.T.Ft&&Pr(t.T.Be,I,i,r,u),512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,t.kt-=u),t.kt))return E();t.kt=0,t.ot=16186;case 16186:if(2048&t.st){if(0==o)return E();u=0;do{I=i[r+u++],t.T&&t.T.jt&&t.kt<t.T.jt&&(t.T.Fe[t.kt++]=I)}while(I&&o>u);if(512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,I)return E()}else t.T&&(t.T.Fe=zr);t.kt=0,t.ot=16187;case 16187:if(4096&t.st){if(0==o)return E();u=0;do{I=i[r+u++],t.T&&t.T.Gt&&t.kt<t.T.Gt&&(t.T.je[t.kt++]=I)}while(I&&o>u);if(512&t.st&&4&t.O&&(t.ht=zn(t.ht,i.subarray(r,r+u),u)),o-=u,r+=u,I)return E()}else t.T&&(t.T.je=zr);t.ot=16188;case 16188:if(512&t.st){if(S(16),4&t.O&&s!=(65535&t.ht)){e.msg="header crc mismatch",t.ot=16209;break}Y()}t.T&&(t.T.Te=t.st>>9&1,t.T.Yt=1),e.i=t.ht=zn(0),t.ot=16191;break;case 16189:S(32),e.i=t.ht=Na(s),Y(),t.ot=16190;case 16190:if(!t.ct)return Q(),2;e.i=t.ht=xn(0),t.ot=16191;case 16191:if(5==A||6==A)return E();case 16192:if(t.ut){U(),t.ot=16206;break}switch(S(3),t.ut=!!b(1),M(1),b(2)){case 0:t.ot=16193;break;case 1:if(_a(t),t.ot=16199,6==A)return M(2),E();break;case 2:t.ot=16196;break;case 3:e.msg="invalid block type",t.ot=16209}M(2);break;case 16193:if(U(),S(32),(65535&s)!=(s>>>16^65535)){e.msg="invalid stored block lengths",t.ot=16209;break}if(t.kt=65535&s,Y(),t.ot=16194,6==A)return E();case 16194:t.ot=16195;case 16195:if(u=t.kt,u){if(u>o&&(u=o),u>g&&(u=g),0==u)return E();Pr(n,a,i,r,u),o-=u,r+=u,g-=u,a+=u,t.kt-=u;break}t.ot=16191;break;case 16196:if(S(14),t.vt=b(5)+257,M(5),t.xt=b(5)+1,M(5),t.gt=b(4)+4,M(4),t.vt>286||!t.Vt&&t.xt>30){e.msg=t.Vt?"too many length":"too many length or distance symbols",t.ot=16209;break}t.yt=0,t.ot=16197;case 16197:for(;t.yt<t.gt;)S(3),t.Mt[Hr[t.yt++]]=b(3),M(3);for(;19>t.yt;)t.Mt[Hr[t.yt++]]=0;t.zt=t.Et,t.et=t.tt=t.zt,t.nt=7;let l={Xt:t.zt},C={Xt:t.nt},O={Xt:0};if(f=Va(0,t.Mt,19,l,C,t.Lt,O,t.Vt),t.zt=l.Xt,t.nt=C.Xt,f){e.msg="invalid code lengths set",t.ot=16209;break}t.yt=0,t.ot=16198;case 16198:for(;t.yt<t.vt+t.xt;){for(;w=t.et[b(t.nt)],w.ft>B;)y();if(16>w.lt)M(w.ft),t.Mt[t.yt++]=w.lt;else{if(16==w.lt){if(S(w.ft+2),M(w.ft),0==t.yt){e.msg="invalid bit length repeat",t.ot=16209;break}I=t.Mt[t.yt-1],u=3+b(2),M(2)}else 17==w.lt?(S(w.ft+3),M(w.ft),I=0,u=3+b(3),M(3)):(S(w.ft+7),M(w.ft),I=0,u=11+b(7),M(7));if(t.yt+u>t.vt+t.xt){e.msg="invalid bit length repeat",t.ot=16209;break}for(;u--;)t.Mt[t.yt++]=I}}if(16209==t.ot)break;if(0==t.Mt[256]){e.msg="invalid code -- missing end-of-block",t.ot=16209;break}t.zt=t.Et,t.nt=9;let W={Xt:t.zt},G={Xt:t.nt},T={Xt:0};f=Va(1,t.Mt,t.vt,W,G,t.Lt,T,t.Vt),t.zt=W.Xt,t.nt=G.Xt;let k=T.Xt;if(t.et=t.zt.slice(0,k),f){e.msg="invalid literal/lengths set",t.ot=16209;break}t.rt=6;let R=t.Mt.subarray(t.vt,t.vt+t.xt),K={Xt:t.zt},x={Xt:t.rt},H={Xt:k};if(f=Va(2,R,t.xt,K,x,t.Lt,H,t.Vt),t.zt=K.Xt,t.rt=x.Xt,t.tt=t.zt.slice(k),f){e.msg="invalid distances set",t.ot=16209;break}if(t.ot=16199,6==A)return E();case 16199:t.ot=16200;case 16200:if(!t.Vt&&o>=6&&g>=258){Q(),xa(e,c),p(),16191==t.ot&&(t.qt=-1);break}for(t.qt=0;w=t.et[b(t.nt)],w.ft>B;)y();if(w._t&&!(240&w._t)){for(d=w;w=t.et[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+w.ft>B;)y();M(d.ft),t.qt+=d.ft}if(M(w.ft),t.qt+=w.ft,t.kt=w.lt,0==w._t){t.ot=16205;break}if(32&w._t){t.qt=-1,t.ot=16191;break}if(64&w._t){e.msg="invalid literal/length code",t.ot=16209;break}t.Be=w._t&(t.Vt?31:15),t.ot=16201;case 16201:t.Be&&(S(t.Be),t.kt+=b(t.Be),M(t.Be),t.qt+=t.Be),t.Nt=t.kt,t.ot=16202;case 16202:for(;w=t.tt[b(t.rt)],w.ft>B;)y();if(!(240&w._t)){for(d=w;w=t.tt[d.lt+(b(d.ft+d._t)>>d.ft)],d.ft+w.ft>B;)y();M(d.ft),t.qt+=d.ft}if(M(w.ft),t.qt+=w.ft,64&w._t){e.msg="invalid distance code",t.ot=16209;break}t.bt=w.lt,t.Be=15&w._t,t.ot=16203;case 16203:t.Be&&(S(t.Be),t.bt+=b(t.Be),M(t.Be),t.qt+=t.Be),t.ot=16204;case 16204:if(0==g)return E();if(u=c-g,t.bt>u){if(u=t.bt-u,u>t.m&&t.it){e.msg="invalid distance too far back",t.ot=16209;break}u>t.v?(u-=t.v,h=t.h-u):h=t.v-u,u>t.kt&&(u=t.kt),u>g&&(u=g);for(let e=0;u>e;++e)n[a]=255&t.u[h],++a,++h}else{h=a-t.bt,u=t.kt,u>g&&(u=g);for(let e=0;u>e;++e)n[a]=n[h],++a,++h}u>g&&(u=g),g-=u,t.kt-=u,0==t.kt&&(t.ot=16200);break;case 16205:if(0==g)return E();n[a++]=t.kt,g--,t.ot=16200;break;case 16206:if(t.O){if(S(32),c-=g,e.total_out+=c,t.wt+=c,4&t.O&&c){let A=n.subarray(a-c,a);e.i=t.ht=D(t.ht,A,c)}if(c=g,4&t.O&&(t.st?s:Na(s)>>>0)!=t.ht){e.msg="incorrect data check",t.ot=16209;break}Y()}t.ot=16207;case 16207:if(t.O&&t.st){if(S(32),4&t.O&&s!=(4294967295&t.wt)){e.msg="incorrect length check",t.ot=16209;break}Y()}t.ot=16208;case 16208:return f=1,E();case 16209:return f=-3,E();case 16210:return-4;default:return-2}}catch(e){if(e instanceof ja)return E();throw e}function E(){if(Q(),t.h||c!=e.avail_out&&16209>t.ot&&(t.Vt?16208>t.ot:16206>t.ot)||4!=A){let A=c-e.avail_out;if(((e,A,t)=>{let i=e.l;if(!(i.u&&0!=i.u.length||(i.u=new Wr(1<<i.k),i.u)))return 1;if(0==i.h&&(i.h=1<<i.k,i.v=0,i.m=0),t<i.h){let e=i.h-i.v;e>t&&(e=t),Pr(i.u,i.v,A,A.length-t,e),(t-=e)?(Pr(i.u,0,A,A.length-t,t),i.v=t,i.m=i.h):(i.v+=e,i.v==i.h&&(i.v=0),i.m<i.h&&(i.m+=e))}else Pr(i.u,0,A,A.length-i.h,i.h),i.v=0,i.m=i.h;return 0})(e,e.next_out.subarray(e.next_out_index-A,e.next_out_index),A))return t.ot=16210,-4}return l-=e.avail_in,c-=e.avail_out,e.total_in+=l,e.total_out+=c,t.wt+=c,4&t.O&&c&&(e.i=t.ht=D(t.ht,e.next_out.subarray(e.next_out_index-c,e.next_out_index),c)),e.t=t.M+(t.ut?64:0)+(16191==t.ot?128:0)+(16199==t.ot||16194==t.ot?256:0),(0==l&&0==c&&0==f||4==A&&0==f)&&(f=-5),f}function D(e,A,i){return t.st?zn(e,A,i):xn(e,A,i)}function F(e,A){return C[0]=255&A,C[1]=A>>>8&255,zn(e,C,2)>>>0}function m(e,A){return C[0]=255&A,C[1]=A>>>8&255,C[2]=A>>>16&255,C[3]=A>>>24&255,zn(e,C,4)>>>0}function p(){n=e.next_out,a=e.next_out_index,g=e.avail_out,i=e.next_in,r=e.next_in_index,o=e.avail_in,s=t.p,B=t.M}function Q(){e.next_out=n,e.next_out_index=a,e.avail_out=g,e.next_in=i,e.next_in_index=r,e.avail_in=o,t.p=s,t.M=B}function Y(){s=0,B=0}function y(){if(0==o)throw new ja;o--,s+=(255&i[r])<<B,r++,s>>>=0,B+=8}function S(e){for(;e>B;)y()}function b(e){return s&(1<<e)-1}function M(e){s>>>=e,B-=e}function U(){s>>>=7&B,B-=7&B}}function eo(e){return qa(e)?-2:0}var Ao=65536,to=class{constructor(e=16,A=Ao){this.Jt=[],this.Kt=e;for(let t=0;t<Rr.min(e,4);t++)this.Jt.push(new Wr(A))}acquire(e=Ao){for(let A=this.Jt.length-1;A>=0;A--){let t=this.Jt[A];if(t.length>=e)return this.Jt.splice(A,1),t}return new Wr(e)}release(e){this.Jt.length<this.Kt&&this.Jt.push(e)}};function io(e){let A=new to(32,Ao),t=null;function i(e){try{A.release(e)}catch{}}return new kr({start(){},transform(r,n){if(!t){let A=e.en(),i=e.tn(A);if(0!=i&&0!=i)throw new Kr("init failed: "+i);t={o:A}}let a=t.o,o=0;for(;o<r.length;){let t=Rr.min(r.length-o,32768),g=r.subarray(o,o+t);for(a.next_in=g,a.next_in_index=0,a.avail_in=g.length;a.avail_in>0;){let t=A.acquire(),r=!1;try{a.next_out=t,a.next_out_index=0,a.avail_out=t.length;let i=e.nn(a,0),o=t.length-a.avail_out;if(o>0){let e=!1,i={rn:t.subarray(0,o),release:()=>{e||(e=!0,A.release(t))}};r=!0,n.enqueue(i)}if(0!=i&&1!=i)throw new Kr("process error: "+i)}finally{r||i(t)}}o+=t}},flush(r){if(!t)return;let n=t.o;for(;;){let t=A.acquire(),a=!1;try{n.next_out=t,n.next_out_index=0,n.avail_out=t.length;let i=e.nn(n,4),o=t.length-n.avail_out;if(o>0){let e=!1,i={rn:t.subarray(0,o),release:()=>{e||(e=!0,A.release(t))}};a=!0,r.enqueue(i)}if(1==i)break;if(0!=i)throw new Kr("finalization error: "+i)}finally{a||i(t)}}let a=e.fn(n);if(0!=a&&0!=a)throw new Kr("end failed: "+a)}})}function ro(){return new kr({start(){},transform(e,A){try{A.enqueue(e.rn.slice(0))}finally{e.release()}},flush(){}})}oe({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",A){let t=function(e="deflate",A){let t="gzip"==e?31:"deflate-raw"==e?-15:15,i=A&&"number"==typeof A.level?A.level:-1;return io({en:()=>(()=>{let e=Zr();return e.l=Bn(e),e})(),tn:e=>((e,A,t=8,i=15,r=wn,n=0)=>{let a=1;if(!e)return-2;if(e.msg="",-1==A&&(A=6),0>i){if(a=0,-15>i)return-2;i=-i}else i>15&&(a=2,i-=16);if(1>r||r>9||8!=t||8>i||i>15||0>A||A>9||0>n||n>4||8==i&&1!=a)return-2;8==i&&(i=9);let o=Bn(e);return o?(e.l=o,o.o=e,o.H=42,o.O=a,o.T=void 0,o.k=i,o.h=1<<o.k,o.Y=o.h-1,o.B=r+7,o.F=1<<o.B,o.j=o.F-1,o.G=(o.B+dn-1)/dn,o.u=new Wr(2*o.h),o.J=new Gr(o.h),o.K=new Gr(o.F),o.m=0,o.ee=1<<r+6,o.I=new Wr(4*o.ee),o.ne=4*o.ee,o.u&&o.J&&o.K&&o.I?(o.Le=o.I.subarray(o.ee),o.A=o.te+o.ee,o.C=3*(o.ee-1),o.be=A,o.ge=n,o.qe=t,(e=>{let A=(e=>{let A;return ga(e)?-2:(e.total_in=e.total_out=0,e.msg="",e.t=2,A=e.l,A.D=0,A.re=A.te,0>A.O&&(A.O=-A.O),A.H=2==A.O?57:42,e.i=2==A.O?zn(0):xn(0),A.oe=-2,(e=>{if(e.R&&e.R.length>=pn)for(let A=0;pn>A;A++)e.R[A]=cn();else{e.R=[];for(let A=0;pn>A;A++)e.R.push(cn())}if(e.X&&e.X.length>=2*Fn+1)for(let A=0;2*Fn+1>A;A++)e.X[A]=cn();else{e.X=[];for(let A=0;2*Fn+1>A;A++)e.X.push(cn())}if(e.$e&&e.$e.length>=2*mn+1)for(let A=0;2*mn+1>A;A++)e.$e[A]=cn();else{e.$e=[];for(let A=0;2*mn+1>A;A++)e.$e.push(cn())}e.Ie=new jr(e.R,new $r(Gn,bn,En+1,Dn,Qn)),e.De=new jr(e.X,new $r(Tn,Mn,0,Fn,Qn)),e.Ae=new jr(e.$e,new $r(null,Un,0,mn,7)),e.p=0,e.M=0,e.Ee=0,vn(e)})(A),0)})(e);return 0==A&&(e=>{e.Ne=2*e.h,ra(e),e.ye=ea[e.be].Xe,e.me=ea[e.be].Ce,e.ve=ea[e.be].He,e.xe=ea[e.be].Oe,e.ae=0,e.ue=0,e.ce=0,e.le=0,e.se=e.de=dn-1,e.we=0,e.ke=0})(e.l),A})(e)):(o.H=666,e.msg=en(-4),ua(e),-4)):-4})(e,i,8,t,8,0),nn:ca,fn:ua})}(e,A);this.writable=t.writable,this.readable=t.readable.pipeThrough(ro())}},DecompressionStreamZlib:class{constructor(e="deflate"){let A=((e="deflate")=>{let A="gzip"==e?31:"deflate-raw"==e?-15:15;return io({en:()=>(e=>{let A=Zr();return A.l=Ha(A,!!e),A})("deflate64-raw"==e),tn:e=>function(e,A){let t,i;if(!e)return-2;e.msg="";let r=!!e.l.Vt;return i=Ha(e,r),r&&(A=-16),e.l=i,i.o=e,i.ot=i.Vt?16191:16180,t=((e,A)=>{let t,i,r;if(qa(e))return-2;if(i=e.l,i.Vt?(A=-16,r=16):r=15,0>A){if(-r>A)return-2;t=0,A=-A}else t=5+(A>>4),!i.Vt&&48>A&&(A&=15);return A&&(8>A||A>r)?-2:(i.u.length>0&&i.k!=A&&(i.u=zr),i.O=t,i.k=A,(e=>{let A;return qa(e)?-2:(A=e.l,A.h=0,A.m=0,A.v=0,(e=>{let A;return qa(e)?-2:(A=e.l,e.total_in=e.total_out=A.wt=0,e.msg="",A.O&&(e.i=1&A.O),A.ot=A.Vt?16191:16180,A.ut=!1,A.ct=!1,A.st=-1,A.dt=A.Vt?65536:32768,delete A.T,A.p=0,A.M=0,A.et=A.Et,A.tt=A.Et,A.zt=A.Et,A.it=!0,A.qt=-1,0)})(e))})(e))})(e,A),t}(e,A),nn:$a,fn:eo})})(e);this.writable=A.writable,this.readable=A.readable.pipeThrough(ro())}}}),(e=>{e({workerURI:e=>{const A="text/javascript",t=(e=>{e=(e=>{const A=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let i=0;A>i;i+=4){const A=se.indexOf(e[i])<<18|se.indexOf(e[i+1])<<12|(63&se.indexOf(e[i+2]))<<6|63&se.indexOf(e[i+3]);t.push(A>>16&255),"="!==e[i+2]&&t.push(A>>8&255),"="!==e[i+3]&&t.push(255&A)}return new u(t)})(e);let A=new u(1024),t=0;for(let r=0;r<e.length;){const n=e[r++];if(128&n){const a=3+(127&n),o=e[r++]<<8|e[r++],g=t-o;i(t+a);for(let e=0;a>e;e++)A[t++]=A[g+e]}else{const a=n;i(t+a);for(let i=0;a>i&&r<e.length;i++)A[t++]=e[r++]}}return(e=>{let A="";const t=e.length;let i=0;for(;t>i+2;i+=3){const t=e[i]<<16|e[i+1]<<8|e[i+2];A+=se[t>>18&63]+se[t>>12&63]+se[t>>6&63]+se[63&t]}const r=t-i;if(1===r){const t=e[i]<<16;A+=se[t>>18&63]+se[t>>12&63]+"=="}else if(2===r){const t=e[i]<<16|e[i+1]<<8;A+=se[t>>18&63]+se[t>>12&63]+se[t>>6&63]+"="}return A})(new u(A.buffer.slice(0,t)));function i(e){if(A.length<e){let i=2*A.length;for(;e>i;)i*=2;const r=new u(i);r.set(A.subarray(0,t)),A=r}}})("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");if(e){const e=atob(t),i=new I([e],{type:A});return l.createObjectURL(i)}return"data:"+A+";base64,"+t}})})(oe),e.BlobReader=At,e.BlobWriter=tt,e.Data64URIReader=class extends $A{constructor(e){super();let A=e.length;for(;"="==e.charAt(A-1);)A--;const i=e.indexOf(",")+1;t.assign(this,{dataURI:e,dataStart:i,size:a.floor(.75*(A-i))})}readUint8Array(e,A){const{dataStart:t,dataURI:i}=this,r=new u(A),n=4*a.floor(e/3),o=atob(i.substring(n+t,4*a.ceil((e+A)/3)+t)),g=e-3*a.floor(n/4);let s=0;for(let e=g;g+A>e&&e<o.length;e++)r[e-g]=o.charCodeAt(e),s++;return s<r.length?r.subarray(0,s):r}},e.Data64URIWriter=class extends et{constructor(e){super(),t.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const A=this;let t,r=A.pending;const n=A.pending.length;for(A.pending="",t=0;t<3*a.floor((n+e.length)/3)-n;t++)r+=i.fromCharCode(e[t]);for(;t<e.length;t++)A.pending+=i.fromCharCode(e[t]);r.length>2?A.data+=m(r):A.pending=r+A.pending}getData(){return this.data+m(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=Yi,e.ERR_BAD_FORMAT=wi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=fi,e.ERR_DUPLICATED_NAME=Pi,e.ERR_ENCRYPTED=Di,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Ii,e.ERR_EOCDR_NOT_FOUND=di,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ei,e.ERR_HTTP_RANGE=vA,e.ERR_INVALID_COMMENT=Xi,e.ERR_INVALID_COMPRESSED_DATA=aA,e.ERR_INVALID_ENCRYPTION_STRENGTH=ji,e.ERR_INVALID_ENTRY_COMMENT=Zi,e.ERR_INVALID_ENTRY_NAME=qi,e.ERR_INVALID_EXTRAFIELD_DATA=er,e.ERR_INVALID_EXTRAFIELD_TYPE=$i,e.ERR_INVALID_PASSWORD=Ce,e.ERR_INVALID_SIGNATURE=Ee,e.ERR_INVALID_UNCOMPRESSED_SIZE=nA,e.ERR_INVALID_VERSION=_i,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Ci,e.ERR_OVERLAPPING_ENTRY=Qi,e.ERR_SPLIT_ZIP_FILE=pi,e.ERR_UNDEFINED_READER=nr,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=rr,e.ERR_UNSUPPORTED_COMPRESSION=mi,e.ERR_UNSUPPORTED_ENCRYPTION=Fi,e.ERR_UNSUPPORTED_FORMAT=ir,e.ERR_ZIP_NOT_EMPTY=ar,e.HttpRangeReader=class extends dt{constructor(e,A={}){super(e,t.assign({},A,{useRangeHeader:!0}))}},e.HttpReader=dt,e.Reader=$A,e.SplitDataReader=It,e.SplitDataWriter=ft,e.TextReader=class extends At{constructor(e){super(new I([e],{type:"text/plain"}))}},e.TextWriter=class extends tt{constructor(e){super(e),t.assign(this,{encoding:e,utf8:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,utf8:A}=this,i=await super.getData();if(i.text&&A)return i.text();{const A=new FileReader;return new f((r,n)=>{t.assign(A,{onload:({target:e})=>r(e.result),onerror:()=>n(A.error)}),A.readAsText(i,e)})}}},e.Uint8ArrayReader=class extends $A{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),t.assign(this,{array:e,size:e.length})}readUint8Array(e,A){return this.array.slice(e,e+A)}},e.Uint8ArrayWriter=class extends et{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){t.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const A=this,t=A.offset+e.length;if(t>A.array.length){let e=A.array.length?2*A.array.length:A.defaultBufferSize;for(;t>e;)e*=2;const i=A.array;A.array=new u(e),A.array.set(i)}A.array.set(e,A.offset),A.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=et,e.ZipReader=Ui,e.ZipReaderStream=class{constructor(e={}){const{readable:A,writable:t}=new p,i=new Ui(A,e).getEntriesGenerator();this.readable=new Q({async pull(e){const{done:A,value:t}=await i.next();if(A)return e.close();const r={...t,readable:(()=>{const{readable:e,writable:A}=new p;if(t.getData)return(async()=>{try{await t.getData(A)}catch(e){try{await A.abort(e)}catch{}}})(),e})()};delete r.getData,e.enqueue(r)}}),this.writable=t}},e.ZipWriter=cr,e.ZipWriterStream=class{constructor(e={}){const{readable:A,writable:t}=new p;this.readable=A,this.zipWriter=new cr(t,e),this.pendingAddFileCalls=new s}transform(e){const A=this.zipWriter;let t;const{readable:i,writable:r}=new p({start(e){t=e},flush:()=>{(async()=>{try{await A.close()}catch(e){try{await A.writer.writable.abort(e)}catch{}}})()}});return ur(this,this.zipWriter.add(e,i),e=>t.error(e)),{readable:this.readable,writable:r}}writable(e){let A;const{readable:t,writable:i}=new p({start(e){A=e}});return ur(this,this.zipWriter.add(e,t),e=>A.error(e)),i}async close(e,t={}){return await f.all(A.from(this.pendingAddFileCalls)),this.zipWriter.close(e,t)}},e.configure=oe,e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await f.allSettled(WA.map(e=>(NA(e),e.terminate())))}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).t={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:i,BigInt:s,Math:o,Date:a,Map:c,Set:l,Response:f,URL:u,Error:d,Uint8Array:w,Uint16Array:h,Uint32Array:p,DataView:m,Blob:y,Promise:b,TextEncoder:g,TextDecoder:x,document:k,crypto:F,btoa:S,TransformStream:z,ReadableStream:v,WritableStream:E,CompressionStream:P,DecompressionStream:T,navigator:U,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self;var V=void 0!==k?k.currentScript:null;const q=4294967295,D=65535,I=255,H=67324752,W=134695760,A=W,N=33639248,M=101010256,R=101075792,K=117853008,G=22,X=20,L=21589,O=2048,Z=16384,j=2048,B=1024,Y="/",J=30,Q=new a(2107,11,31),_=new a(1980,0,1),$=void 0,ee=1/0,te="undefined",re="function",ne=new w;let ie=2;try{typeof U!=te&&U.hardwareConcurrency&&(ie=U.hardwareConcurrency)}catch{}const se={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:ie,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof P!=te&&P,DecompressionStream:typeof T!=te&&T},oe=["baseURI","wasmURI","workerURI","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","useCompressionStream","useWebWorkers","CompressionStream","DecompressionStream","CompressionStreamZlib","DecompressionStreamZlib"],ae=r.assign({},se);function ce(){return ae}function le(e){return o.max(e.chunkSize,64)}function fe(e){for(const t of oe){const r=e[t];r!==$&&(ae[t]=r)}}const ue=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],de=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],we=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],he=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],pe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],me=new w(288);me.fill(8,0,144),me.fill(9,144,256),me.fill(7,256,280),me.fill(8,280,288);const ye=new w(30).fill(5);function be(e){const t=new h(16);for(const r of e)t[r]++;t[0]=0;const r=new h(17);for(let e=1;15>=e;e++)r[e+1]=r[e]+t[e];const n=new h(e.length);for(let t=0;t<e.length;t++)e[t]&&(n[r[e[t]]++]=t);return{i:t,symbols:n}}const ge="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xe=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;xe[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=xe[t-1][e];xe[t][e]=r>>>8^xe[0][255&r]}const[ke,Fe,Se,ze,ve,Ee,Pe,Te]=xe;class Ue{constructor(e){this.o=e||-1}append(e){let t=0|this.o;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const i=new m(e.buffer,e.byteOffset,r),s=r-8;for(;s>=n;n+=8){const e=t^i.getInt32(n,!0),r=i.getInt32(n+4,!0);t=Te[255&e]^Pe[e>>>8&255]^Ee[e>>>16&255]^ve[e>>>24&255]^ze[255&r]^Se[r>>>8&255]^Fe[r>>>16&255]^ke[r>>>24&255]}}for(;r>n;n++)t=t>>>8^ke[255&(t^e[n])];this.o=t}get(){return~this.o}}class Ce extends z{constructor(){let e;const t=new Ue;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new w(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Ve(e){if(typeof g==te){const t=new w((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new g).encode(e)}const qe={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=qe.l(r);return 32===n?e.concat(t):qe.u(t,n,0|r,e.slice(0,e.length-1))},h(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+qe.l(r)},p(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,o.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=qe.m(t,e[r-1]&2147483648>>t-1,1)),e},m:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,l:e=>o.round(e/1099511627776)||32,u(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let i=0;i<e.length;i++)n.push(r|e[i]>>>t),r=e[i]<<32-t;const i=e.length?e[e.length-1]:0,s=qe.l(i);return n.push(qe.m(t+s&31,t+s>32?r:n.pop(),1)),n}},De={bytes:{k(e){const t=qe.h(e)/8,r=new w(t);let n;for(let i=0;t>i;i++)3&i||(n=e[i/4]),r[i]=n>>>24,n<<=8;return r},F(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(qe.m(8*(3&r),n)),t}}},Ie=class{constructor(e){const t=this;t.blockSize=512,t.S=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.P=e.P.slice(0),t.T=e.T.slice(0),t.U=e.U):t.reset()}reset(){const e=this;return e.P=e.S.slice(0),e.T=[],e.U=0,e}update(e){const t=this;"string"==typeof e&&(e=De.C.F(e));const r=t.T=qe.concat(t.T,e),n=t.U,i=t.U=n+qe.h(e);if(i>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const s=new p(r);let o=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);i>=e;e+=t.blockSize)t.V(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),t}q(){const e=this;let t=e.T;const r=e.P;t=qe.concat(t,[qe.m(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(o.floor(e.U/4294967296)),t.push(0|e.U);t.length;)e.V(t.splice(0,16));return e.reset(),r}D(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}I(e,t){return t<<e|t>>>32-e}V(e){const r=this,n=r.P,i=t(80);for(let t=0;16>t;t++)i[t]=e[t];let s=n[0],a=n[1],c=n[2],l=n[3],f=n[4];for(let e=0;79>=e;e++){16>e||(i[e]=r.I(1,i[e-3]^i[e-8]^i[e-14]^i[e-16]));const t=r.I(5,s)+r.D(e,a,c,l)+f+i[e]+r.v[o.floor(e/20)]|0;f=l,l=c,c=r.I(30,a),a=s,s=t}n[0]=n[0]+s|0,n[1]=n[1]+a|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+f|0}},He={importKey:e=>new He.H(De.bytes.F(e)),W(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new d("invalid params to pbkdf2");const i=1+(n>>5)<<2;let s,o,a,c,l;const f=new ArrayBuffer(i),u=new m(f);let w=0;const h=qe;for(t=De.bytes.F(t),l=1;(i||1)>w;l++){for(s=o=e.encrypt(h.concat(t,[l])),a=1;r>a;a++)for(o=e.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(a=0;(i||1)>w&&a<s.length;a++)u.setInt32(w,s[a]),w+=4}return f.slice(0,n/8)},H:class{constructor(e){const t=this,r=t.A=Ie,n=[[],[]];t.N=[new r,new r];const i=t.N[0].blockSize/32;e.length>i&&(e=(new r).update(e).q());for(let t=0;i>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.N[0].update(n[0]),t.N[1].update(n[1]),t.M=new r(t.N[0])}reset(){const e=this;e.M=new e.A(e.N[0]),e.R=!1}update(e){this.R=!0,this.M.update(e)}digest(){const e=this,t=e.M.q(),r=new e.A(e.N[1]).update(t).q();return e.reset(),r}encrypt(e){if(this.R)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},We=typeof F!=te&&typeof F.getRandomValues==re,Ae="Invalid password",Ne="Invalid signature",Me="zipjs-abort-check-password";function Re(e){if(We)return F.getRandomValues(e);throw new d("Crypto API not supported")}const Ke=16,Ge={name:"PBKDF2"},Xe=r.assign({hash:{name:"HMAC"}},Ge),Le=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Ge),Oe=["deriveBits"],Ze=[8,12,16],je=[16,24,32],Be=10,Ye=[0,0,0,0],Je=typeof F!=te,Qe=Je&&F.subtle,_e=Je&&typeof Qe!=te,$e=De.bytes,et=class{constructor(e){const t=this;t.K=[[[],[],[],[],[]],[[],[],[],[],[]]],t.K[0][0][0]||t.G();const r=t.K[0][4],n=t.K[1],i=e.length;let s,o,a,c=1;if(4!==i&&6!==i&&8!==i)throw new d("invalid aes key size");for(t.v=[o=e.slice(0),a=[]],s=i;4*i+28>s;s++){let e=o[s-1];(s%i===0||8===i&&s%i===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],s%i===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-i]^e}for(let e=0;s;e++,s--){const t=o[3&e?s:s-4];a[e]=4>=s||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.X(e,0)}decrypt(e){return this.X(e,1)}G(){const e=this.K[0],t=this.K[1],r=e[4],n=t[4],i=[],s=[];let o,a,c,l;for(let e=0;256>e;e++)s[(i[e]=e<<1^283*(e>>7))^e]=e;for(let f=o=0;!r[f];f^=a||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[f]=s,n[s]=f,l=i[c=i[a=i[f]]];let u=16843009*l^65537*c^257*a^16843008*f,d=257*i[s]^16843008*s;for(let r=0;4>r;r++)e[r][f]=d=d<<24^d>>>8,t[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}X(e,t){if(4!==e.length)throw new d("invalid aes block size");const r=this.v[t],n=r.length/4-2,i=[0,0,0,0],s=this.K[t],o=s[0],a=s[1],c=s[2],l=s[3],f=s[4];let u,w,h,p=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],b=e[t?1:3]^r[3],g=4;for(let e=0;n>e;e++)u=o[p>>>24]^a[m>>16&255]^c[y>>8&255]^l[255&b]^r[g],w=o[m>>>24]^a[y>>16&255]^c[b>>8&255]^l[255&p]^r[g+1],h=o[y>>>24]^a[b>>16&255]^c[p>>8&255]^l[255&m]^r[g+2],b=o[b>>>24]^a[p>>16&255]^c[m>>8&255]^l[255&y]^r[g+3],g+=4,p=u,m=w,y=h;for(let e=0;4>e;e++)i[t?3&-e:e]=f[p>>>24]<<24^f[m>>16&255]<<16^f[y>>8&255]<<8^f[255&b]^r[g++],u=p,p=m,m=y,y=b,b=u;return i}},tt=class{constructor(e,t){this.L=e,this.O=t,this.Z=t}reset(){this.Z=this.O}update(e){return this.j(this.L,e,this.Z)}B(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}Y(e){0===(e[0]=this.B(e[0]))&&(e[1]=this.B(e[1]))}j(e,t,r){let n;if(!(n=t.length))return[];const i=qe.h(t);for(let i=0;n>i;i+=4){this.Y(r);const n=e.encrypt(r);t[i]^=n[0],t[i+1]^=n[1],t[i+2]^=n[2],t[i+3]^=n[3]}return qe.p(t,i)}},rt=He.H;let nt=Je&&_e&&typeof Qe.importKey==re,it=Je&&_e&&typeof Qe.deriveBits==re;class st extends z{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){at(this,e,t,r)},async transform(e,t){const r=this,{password:i,strength:s,J:o,ready:a}=r;i?(await(async(e,t,r,n)=>{const i=await lt(e,t,r,dt(n,0,Ze[t])),s=dt(n,Ze[t]);if(i[0]!=s[0]||i[1]!=s[1])throw new d(Ae)})(r,s,i,dt(e,0,Ze[s]+2)),e=dt(e,Ze[s]+2),n?t.error(new d(Me)):o()):await a;const c=new w(e.length-Be-(e.length-Be)%Ke);t.enqueue(ct(r,e,c,0,Be,!0))},async flush(e){const{_:t,$:r,pending:n,ready:i}=this;if(r&&t){await i;const s=dt(n,0,n.length-Be),o=dt(n,n.length-Be);let a=ne;if(s.length){const e=ht($e,s);r.update(e);const n=t.update(e);a=wt($e,n)}const c=dt(wt($e,r.digest()),0,Be);let l=n.length<Be?1:0;for(let e=0;Be>e;e++)l|=c[e]^o[e];if(l)throw new d(Ne);e.enqueue(a)}}})}}class ot extends z{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){at(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:i,J:s,ready:o}=r;let a=ne;n?(a=await(async(e,t,r)=>{const n=Re(new w(Ze[t]));return ut(n,await lt(e,t,r,n))})(r,i,n),s()):await o;const c=new w(a.length+e.length-e.length%Ke);c.set(a,0),t.enqueue(ct(r,e,c,a.length,0))},async flush(e){const{_:t,$:r,pending:i,ready:s}=this;if(r&&t){await s;let o=ne;if(i.length){const e=t.update(ht($e,i));r.update(e),o=wt($e,e)}n.signature=wt($e,r.digest()).slice(0,Be),e.enqueue(ut(o,n.signature))}}}),n=this}}function at(e,t,n,i){r.assign(e,{ready:new b(t=>e.J=t),password:ft(t,n),strength:i-1,pending:ne})}function ct(e,t,r,n,i,s){const{_:o,$:a,pending:c}=e;c.length&&(t=ut(c,t));const l=t.length-i;let f;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new w(t)).set(r,0)}return e})(r,n+(l-l%Ke)),f=0;l-Ke>=f;f+=Ke){const e=ht($e,dt(t,f,f+Ke));s&&a.update(e);const i=o.update(e);s||a.update(i),r.set(wt($e,i),f+n)}return e.pending=dt(t,f),r}async function lt(e,n,i,s){e.password=null;const o=await(async(e,t,r,n,i)=>{if(!nt)return He.importKey(t);try{return await Qe.importKey("raw",t,r,!1,i)}catch{return nt=!1,He.importKey(t)}})(0,i,Xe,0,Oe),a=await(async(e,t,r)=>{if(!it)return He.W(t,e.salt,Le.iterations,r);try{return await Qe.deriveBits(e,t,r)}catch{return it=!1,He.W(t,e.salt,Le.iterations,r)}})(r.assign({salt:s},Le),o,8*(2*je[n]+2)),c=new w(a),l=ht($e,dt(c,0,je[n])),f=ht($e,dt(c,je[n],2*je[n])),u=dt(c,2*je[n]);return r.assign(e,{keys:{key:l,ee:f,passwordVerification:u},_:new tt(new et(l),t.from(Ye)),$:new rt(f)}),u}function ft(e,t){return t===$?Ve(e):t}function ut(e,t){let r=e;return e.length+t.length&&(r=new w(e.length+t.length),r.set(e,0),r.set(t,e.length)),r}function dt(e,t,r){return e.subarray(t,r)}function wt(e,t){return e.k(t)}function ht(e,t){return e.F(t)}class pt extends z{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){yt(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=bt(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t.at(-1)^r.passwordVerification))throw new d(Ae);e=e.subarray(12)}n?t.error(new d(Me)):t.enqueue(bt(r,e))}})}}class mt extends z{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){yt(this,e,t,r)},transform(e,t){const r=this;let n,i;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Re(new w(12));t[11]=r.passwordVerification,n=new w(e.length+t.length),n.set(gt(r,t),0),i=12}else n=new w(e.length),i=0;n.set(gt(r,e),i),t.enqueue(n)}})}}function yt(e,t,n,i){r.assign(e,{password:t,rawPassword:n,passwordVerification:i}),((e,t,n)=>{const i=[305419896,591751049,878082192];if(r.assign(e,{keys:i,te:new Ue(i[0]),re:new Ue(i[2])}),n)for(let t=0;t<n.length;t++)xt(e,n[t]);else for(let r=0;r<t.length;r++)xt(e,t.charCodeAt(r))})(e,t,n)}function bt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=kt(e)^t[n],xt(e,r[n]);return r}function gt(e,t){const r=new w(t.length);for(let n=0;n<t.length;n++)r[n]=kt(e)^t[n],xt(e,t[n]);return r}function xt(e,t){let[,r]=e.keys;e.te.append([t]);const n=~e.te.get();r=St(o.imul(St(r+Ft(n)),134775813)+1),e.re.append([r>>>24]);const i=~e.re.get();e.keys=[n,r,i]}function kt(e){const t=2|e.keys[2];return Ft(o.imul(t,1^t)>>>8)}function Ft(e){return 255&e}function St(e){return 4294967295&e}const zt="Invalid uncompressed size",vt="Invalid compressed data";class Et extends z{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:i,encrypted:s,useCompressionStream:o,zipCrypto:a,signed:c,level:l,deflate64:f}=e,u=this;let d,w,h,p=super.readable;const y=c&&i&&!f&&(!s||a)&&!(!o||!n);s&&!a||!c||y||(d=new Ce,p=Vt(p,d)),i&&(y?(h=new Pt,p=qt(p,new n("gzip")),p=Vt(p,h)):p=Ct(p,o,{level:l,chunkSize:t},n,r,n)),s&&(a?p=Vt(p,new mt(e)):(w=new ot(e),p=Vt(p,w))),Ut(u,p,()=>{let e;s&&!a&&(e=w.signature),s&&!a||!c||(e=y?h.signature:new m(d.value.buffer).getUint32(0)),u.signature=e})}}class Pt extends z{constructor(){let e,t=10,r=new w(0);super({transform(e,n){if(t){const r=o.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const i=r.length+e.length;if(8>=i){const t=new w(i);return t.set(r),t.set(e,r.length),void(r=t)}const s=i-8,a=new w(s),c=o.min(s,r.length);a.set(r.subarray(0,c),0),s>c&&a.set(e.subarray(0,s-c),c),n.enqueue(a);const l=new w(8),f=r.length-c;f&&l.set(r.subarray(c),0),l.set(e.subarray(s-c),f),r=l},flush(){const t=new m(r.buffer,r.byteOffset,r.byteLength);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Tt extends z{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:i,encrypted:s,signed:o,signature:a,compressed:c,useCompressionStream:l,deflate64:f}=e;let u,w,h=super.readable;s&&(i?h=Vt(h,new pt(e)):(w=new st(e),h=Vt(h,w))),c&&(h=Ct(h,l,{chunkSize:t,deflate64:f},n,r,n),h=(e=>{const t=e.getReader();return new v({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(vt);throw t.cause=e,t}const{value:n,done:i}=r;i?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(h)),s&&!i||!o||(u=new Ce,h=Vt(h,u)),Ut(this,h,()=>{if((!s||i)&&o){const e=new m(u.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Ne)}})}}function Ut(e,t,n){t=Vt(t,new z({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Ct(e,t,r,n,i,s){const o=t&&n?n:i||s,a=r.deflate64?"deflate64-raw":"deflate-raw";let c;try{c=new o(a,r)}catch(e){if(!t)throw e;if(i)c=new i(a,r);else{if(!s)throw e;c=new s(a,r)}}return qt(e,c)}function Vt(e,t){return e.pipeThrough(t)}function qt(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const Dt="data",It="deflate",Ht="inflate";class Wt extends z{constructor(e,t){super({});const n=this,{codecType:i}=e;let s;i.startsWith(It)?s=Et:i.startsWith(Ht)&&(s=Tt),n.outputSize=0;let o=0;const a=new s(e,t),c=super.readable,l=new z({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),f=new z({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==$&&n.outputSize>e.outputSize))throw new d(zt)},flush(){const{signature:e}=a;r.assign(n,{signature:e,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(a).pipeThrough(f)})}}class At extends z{constructor(e){let t;1>e&&(e=65536),super({transform:(r,n)=>{if(t){const e=new w(t.length+r.length);e.set(t),e.set(r,t.length),r=e,t=null}let i=0;for(;r.length-i>e;)n.enqueue(r.slice(i,i+e)),i+=e;t=i?r.slice(i):r},flush(e){t&&t.length&&e.enqueue(t)}})}}const Nt={type:"module"},Mt="error";let Rt,Kt,Gt,Xt,Lt=!0;try{Lt=typeof structuredClone==re&&structuredClone(new DOMException("","AbortError")).code!==$}catch{}class Ot{constructor(e,{readable:t,writable:n},{options:i,config:s,ne:o,useWebWorkers:a,transferStreams:c,workerURI:l},f){const{signal:u}=o;return r.assign(e,{ie:!0,se:(e.se||0)+1,readable:t.pipeThrough(new At(le(s))).pipeThrough(new Zt(o),{signal:u}),writable:n,options:r.assign({},i),workerURI:l,transferStreams:c,terminate:()=>new b(t=>{const{oe:r,ie:n}=e;r?(n?e.ae=t:(r.terminate(),t()),e.ce=null):t()}),le(){if(e.ie){const{ae:t}=e;t&&(e.ae=null,e.fe=!0,e.oe.terminate(),t()),e.ie=!1,f(e)}}}),Rt===$&&(Rt=typeof C!=te),(a&&Rt?Yt:Bt)(e,s)}}class Zt extends z{constructor({onstart:e,onprogress:t,size:r,onend:n}){let i=0;super({async start(){e&&await jt(e,r)},async transform(e,n){i+=e.length,t&&await jt(t,i,r),n.enqueue(e)},async flush(){n&&await jt(n,i)}})}}async function jt(e,...t){try{await e(...t)}catch{}}function Bt(e,t){return{run:()=>(async({options:e,readable:t,writable:r,le:n},i)=>{let s;try{if(!e.useCompressionStream)try{await void 0}catch{const t=e.codecType.startsWith(It)?i.CompressionStreamZlib:i.DecompressionStreamZlib;t&&!t.ue||(e.useCompressionStream=!0)}s=new Wt(e,i),await t.pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:o,outputSize:a}=s;return{signature:n,inputSize:o,outputSize:a}}catch(e){throw s&&(e.outputSize=s.outputSize),e}finally{n()}})(e,t)}}function Yt(e,t){const{baseURI:n,chunkSize:i}=t;let{wasmURI:s}=t;if(!e.ce){let o;typeof s==re&&(s=s());try{o=Qt(e.workerURI,n,e)}catch{return Rt=!1,Bt(e,t)}r.assign(e,{oe:o,fe:!1,ce:{run:()=>(async(e,t)=>{let n,i;const s=new b((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,de:n,we:i,result:s});const{readable:o,options:a}=e,{writable:c,closed:l,he:f}=(e=>{const t=new AbortController,{writable:r,readable:n}=new z,i=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return i.catch(()=>{}),{writable:r,closed:i,he:()=>t.abort()}})(e.writable);let u;try{u=$t({type:"start",options:a,config:t,readable:o,writable:c},e)}catch(t){f();try{await l}catch{}throw e.le(),t}u||r.assign(e,{reader:o.getReader(),writer:c.getWriter()});try{const e=await s;return await d(),await l,e}catch(e){await d(),f();try{await l}catch{}throw e}async function d(){if(!u&&!c.locked)try{await c.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:s,baseURI:n})}})}return e.ce}function Jt(e){const{oe:t}=e;if(t)try{t.terminate()}catch{}e.ce=null}function Qt(e,t,n,i,s=!0){let o,a,c;if(Gt===$||Kt!==e){const r=typeof e==re;a=r?e(s):e;const l=a.startsWith("data:"),f=a.startsWith("blob:");if(l||f){i===$&&(i=!1),i&&(c=Nt);try{o=new C(a,c)}catch(s){if(f)try{u.revokeObjectURL(a)}catch{}if(r&&f)return Qt(e,t,n,i,!1);if(i)throw s;return Qt(e,t,n,!0,!1)}}else{i===$&&(i=!0),i&&(c=Nt);try{a=new u(a,t)}catch{}try{o=new C(a,c)}catch(r){if(i)throw r;return Qt(e,t,n,!1,s)}}Kt=e,Gt=a,Xt=c}else o=new C(Gt,Xt);return o.addEventListener("message",e=>(async({data:e},t)=>{const{type:n,value:i,messageId:s,result:o,error:a}=e,{reader:c,writer:l,de:f,we:u,le:h,se:p}=t,m=()=>t.se!=p;try{if(a){const{message:e,stack:t,code:n,name:i,outputSize:s}=a,o=new d(e);r.assign(o,{stack:t,code:n,name:i,outputSize:s}),y(o)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||$t({type:Dt,value:e,done:r,messageId:s},t)}n==Dt&&(await l.ready,await l.write(new w(i)),m()||$t({type:"ack",messageId:s},t)),"close"==n&&y(null,o)}}catch(a){m()||(Jt(t),y(a))}function y(e,t){m()||(e?u(e):f(t),l&&l.releaseLock(),h())}})(e,n)),o.addEventListener(Mt,e=>_t(e,n)),o.addEventListener("messageerror",e=>_t(e,n)),o}function _t(e,t){e.preventDefault&&e.preventDefault();const{we:r,writer:n,le:i}=t;Jt(t),r&&(r(e.error||new d(e.message||Mt)),n&&n.releaseLock(),i())}function $t(e,{oe:t,writer:r,transferStreams:n}){try{const{value:r,readable:i,writable:s}=e,o=[];if(r&&(e.value=r,o.push(e.value.buffer)),n&&Lt?(i&&o.push(i),s&&o.push(s)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Lt=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let er=[];const tr=[];let rr,nr,ir=0;async function sr(e,t){const{options:r,config:n}=t,{transferStreams:s,useWebWorkers:o,useCompressionStream:a,compressed:c,signed:l,encrypted:f}=r,{workerURI:u,maxWorkers:d}=n;t.transferStreams=s||s===$;const w=!(c||l||f||t.transferStreams);return t.useWebWorkers=!w&&(o||o===$&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&u?u:$,r.useCompressionStream=a||a===$&&n.useCompressionStream,(await(async()=>{const r=er.find(e=>!e.ie);if(r)return fr(r),new Ot(r,e,t,h);if(er.length<d){const r={pe:ir};return ir++,er.push(r),new Ot(r,e,t,h)}return new b(r=>{tr.push({resolve:r,stream:e,me:t}),nr=n.workerStarvationTimeout,or()})})()).run();function h(e){if(ar(),tr.length){const[{resolve:t,stream:r,me:n}]=tr.splice(0,1);t(new Ot(e,r,n,h)),or()}else e.oe?(fr(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;i.isFinite(n)&&n>=0&&(e.fe?e.fe=!1:e.ye=setTimeout(async()=>{er=er.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):er=er.filter(t=>t!=e)}}function or(){!rr&&tr.length&&i.isFinite(nr)&&nr>=0&&(rr=setTimeout(cr,nr))}function ar(){rr&&(clearTimeout(rr),rr=null)}function cr(){if(rr=null,tr.length){const[{resolve:e,stream:t,me:n}]=tr.splice(0,1),i=r.assign({},n,{useWebWorkers:!1,workerURI:$});e(new Ot({},t,i,lr)),or()}}function lr(){ar(),or()}function fr(e){const{ye:t}=e;t&&(clearTimeout(t),e.ye=null)}const ur="HTTP error ",dr="HTTP Range not supported",wr="Writer iterator completed too soon",hr="Writer not initialized",pr="Content-Range",mr="Range",yr="GET",br="bytes",gr="writable";class xr{constructor(){this.size=0}init(){this.initialized=!0}}class kr extends xr{get readable(){return this.be()}be({offset:e=0,size:t,diskNumberStart:r,chunkSize:n=65536}={}){const i=this;let s=0;return new v({async pull(a){const c=t===$?n:o.min(n,t-s),l=await Lr(i,e+s,c,r);a.enqueue(l),s+n>t||t===$&&!l.length&&c?a.close():s+=n}})}}class Fr extends xr{constructor(){super();const e=this,t=new E({write(t){if(!e.initialized)throw new d(hr);return e.writeUint8Array(t)}});r.defineProperty(e,gr,{get:()=>t})}writeUint8Array(){}}class Sr extends kr{constructor(e){super(),r.assign(this,{blob:e,size:e.size})}async readUint8Array(e,t){const r=this,n=e+t,i=e||n<r.size?r.blob.slice(e,n):r.blob;let s=await i.arrayBuffer();return s.byteLength>t&&(s=s.slice(e,n)),new w(s)}}class zr extends xr{constructor(e){super();const t=this,n=new z,i=[];e&&i.push(["Content-Type",e]),r.defineProperty(t,gr,{get:()=>n.writable}),t.blob=new f(n.readable,{headers:i}).blob(),t.blob.catch(()=>{})}getData(){return this.blob}}class vr extends kr{constructor(e,t){super(),Pr(this,e,t)}async init(){await Tr(this,Wr,qr),super.init()}readUint8Array(e,t){return Ur(this,e,t,Wr,qr)}}class Er extends kr{constructor(e,t){super(),Pr(this,e,t)}async init(){await Tr(this,Ar,Dr),super.init()}readUint8Array(e,t){return Ur(this,e,t,Ar,Dr)}}function Pr(e,t,n){const{preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:a,fetch:c}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:i,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:a,fetch:c})}async function Tr(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:c}=e;if((e=>{const{baseURI:t}=ce(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(o||a)&&(void 0===s||s)){const n=await t(yr,e,Cr(e,c?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==br))throw new d(dr);{if(c){const t=new w(await n.arrayBuffer());206==n.status&&t.length==G&&(e.ge=t)}let s;const o=n.headers.get(pr);if(o){const e=o.trim().split(/\s*\/\s*/);if(e.length){const t=e[1];t&&"*"!=t&&(s=i(t))}}s===$?await Hr(e,t,r):e.size=s}}else await Hr(e,t,r)}async function Ur(e,t,r,n,s){const{useRangeHeader:o,forceRangeRequests:a,ge:c,size:l,options:f}=e;if(o||a){if(c&&t==l-G&&r==G)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const s=await n(yr,e,Cr(e,t,r));if(206!=s.status)throw new d(dr);const o=s.headers.get(pr);if(o){const e=i(o.trim().split(/[\s-]+/)[1]);if(!i.isNaN(e)&&e!=t)throw new d(dr)}const a=new w(await s.arrayBuffer());if(a.length!=r)throw new d(dr);return a}return ne}{const{data:n}=e;return n||await s(e,f),new w(e.data.subarray(t,t+r))}}function Cr(e,t=0,n=1){return r.assign({},Vr(e),{[mr]:br+"="+(0>t?t:t+"-"+(t+n-1))})}function Vr({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function qr(e){await Ir(e,Wr)}async function Dr(e){await Ir(e,Ar)}async function Ir(e,t){const r=await t(yr,e,Vr(e));e.data=new w(await r.arrayBuffer()),e.size=e.data.length}async function Hr(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Vr(e)),s=n.headers.get("Content-Length");s&&!n.headers.get("Content-Encoding")?e.size=i(s):await r(e,e.options)}}async function Wr(e,{fetch:t=fetch,options:n,url:i},s){const o=await t(i,r.assign({},n,{method:e,headers:s}));if(400>o.status)return o;throw 416==o.status?new d(dr):new d(ur+(o.statusText||o.status))}function Ar(e,{url:t},n){return new b((i,s)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(400>o.status){const e=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),i({status:o.status,arrayBuffer:()=>o.response,headers:new c(e)})}else s(416==o.status?new d(dr):new d(ur+(o.statusText||o.status)))},!1),o.addEventListener("error",e=>s(e.detail?e.detail.error:new d("Network error")),!1),o.open(e,t),n)for(const e of r.entries(n))o.setRequestHeader(e[0],e[1]);o.responseType="arraybuffer",o.send()})}class Nr extends kr{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Er(e,t):new vr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Mr extends kr{constructor(e){super(),this.xe=e}async init(){const e=this,{xe:t}=e;e.ke=0,e.Fe=0,await b.all(t.map(async(r,n)=>{await Xr(r),n!=t.length-1&&(e.Fe+=r.size),e.size+=r.size})),super.init()}async readUint8Array(e,t,r=0){const n=this,{xe:i}=this;let s,a=r;-1==a&&(a=i.length-1);let c=e;for(;i[a]&&c>=i[a].size;)c-=i[a].size,a++;const l=i[a];if(l){const i=l.size;if(c+t>i){const o=i-c;s=new w(t);const a=await Lr(l,c,o);s.set(a,0);const f=await n.readUint8Array(e+o,t-o,r);s.set(f,o),a.length+f.length<t&&(s=s.subarray(0,a.length+f.length))}else s=await Lr(l,c,t)}else s=ne;return n.ke=o.max(a,n.ke),s}}class Rr extends xr{constructor(e,t=4294967295){super();const n=this;let i,s,o;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new E({async write(t){const{availableSize:r}=n;if(o)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),n.diskOffset+=i.size,n.diskNumber++,o=null,n.availableSize=n.maxSize,t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:a}=await e.next();if(a&&!r)throw new d(wr);i=r,i.size=0,i.maxSize&&(n.maxSize=i.maxSize),n.availableSize=n.maxSize,await Xr(i),s=r.writable,o=s.getWriter(),await this.write(t)}},async close(){o&&(await o.ready,await l())},async abort(e){o&&await o.abort(e)}});async function c(e){const t=e.length;t&&(await o.ready,await o.write(e),i.size+=t,n.availableSize-=t)}async function l(){await o.close()}r.defineProperty(n,gr,{get:()=>a})}}class Kr{constructor(e){return t.isArray(e)&&(e=new Mr(e)),e instanceof v&&(e={readable:e}),e}}class Gr{constructor(e){return e.writable===$&&typeof e.next==re&&(e=new Rr(e)),e instanceof E&&(e={writable:e}),e.size===$&&(e.size=0),e instanceof Rr||r.assign(e,{diskNumber:0,diskOffset:0,availableSize:ee,maxSize:ee}),e}}async function Xr(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}function Lr(e,t,r,n){return e.readUint8Array(t,r,n)}const Or="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Zr(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Or[e[r]];return t}})(e):new x(t,{ignoreBOM:!0}).decode(e)}const jr="filename",Br="rawFilename",Yr="comment",Jr="rawComment",Qr="uncompressedSize",_r="compressedSize",$r="offset",en="diskNumberStart",tn="lastModDate",rn="rawLastModDate",nn="lastAccessDate",sn="creationDate",on="rawCreationDate",an="internalFileAttributes",cn="externalFileAttributes",ln="msdosAttributesRaw",fn="msdosAttributes",un="msDosCompatible",dn="zip64",wn="encrypted",hn="version",pn="versionMadeBy",mn="zipCrypto",yn="directory",bn="executable",gn="compressionMethod",xn="signature",kn="extraField",Fn="unixMode",Sn="setuid",zn="setgid",vn="sticky",En=[jr,Br,Qr,_r,tn,rn,Yr,Jr,nn,sn,on,$r,en,an,cn,ln,fn,un,dn,wn,hn,pn,mn,yn,bn,gn,xn,kn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Fn,Sn,zn,vn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Pn{constructor(e){En.forEach(t=>this[t]=e[t])}}const Tn="password",Un="rawPassword",Cn="passThrough",Vn="signal",qn="checkAmbiguity",Dn="useWebWorkers",In="useCompressionStream",Hn="transferStreams",Wn="preventClose",An="offset",Nn="strictness",Mn="strict",Rn="tolerant",Kn="File format is not recognized",Gn="End of central directory not found",Xn="End of Zip64 central directory locator not found",Ln="Central directory header not found",On="Local file header not found",Zn="Zip64 extra field not found",jn="File contains encrypted entry",Bn="Encryption method not supported",Yn="Compression method not supported",Jn="Split zip file",Qn="Overlapping entry found",_n="Ambiguous archive",$n="utf-8",ei="cp437",ti=[[Qr,q],[_r,q],[$r,q],[en,D]],ri={[D]:{Se:vi,bytes:4},[q]:{Se:Ei,bytes:8}};class ni{constructor(e,t={}){r.assign(this,{reader:new Kr(e),options:t,config:ce(),ze:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await Xr(n),n.size!==$&&n.readUint8Array||(n=new Sr(await new f(n.readable).blob()),await Xr(n)),n.size<G)throw new d(Kn);const s=fi(xi(t,e,Nn),xi(t,e,qn)),a=s==Mn,c=s!=Rn,u=((e,t)=>e!==$?e:t==Mn?0:t==Rn?1/0:D)(xi(t,e,"maxAppendedDataSize"),s),{ve:w,Ee:h}=await(async(e,t,r)=>{const{size:n}=e,i=o.min(n,65557),s={count:ui};let a,c,l=0;for await(const[r,o,f,u,d]of pi(e,i)){const i=zi(r,u+20);if(d+G+i==n){const i=await yi(e,r,o,u,d,n,s);if(i==hi){if(a||(a=mi(f,u,d)),l++,!t||l>1)break}else i!=wi||c||(c=mi(f,u,d))}}return a||(a=c),a||(a=await(async(e,t,r)=>{const{size:n}=e,i=o.min(n,t==1/0?n:65557+t);let s,a;for await(const[t,o,c,l,f]of pi(e,i)){const i=mi(c,l,f);s||(s=i);const u=await yi(e,t,o,l,f,n,r);if(u==hi)return i;u!=wi||a||(a=i)}return a||s})(e,r,s)),{ve:a,Ee:l}})(n,c,u);if(!w)throw vi(Pi(await Lr(n,0,4)))==W?new d(Jn):new d(Gn);c&&h>1&&gi("multiple end of central directory records");const p=Pi(w);let m=vi(p,12),y=vi(p,16);const g=w.offset,x=zi(p,20),k=g+G+x;n.size-k>u&&gi("appended data");let F=zi(p,4);const S=n.ke||0;let v,E,P=zi(p,6),T=zi(p,10),U=0;if(y==q||m==q||T==D||P==D){const e=w.offset<X?ne:await Lr(n,w.offset-X,X),t=Pi(e);if(e.length==X&&vi(t,0)==K){y=Ei(t,8);let e=await Lr(n,y,56,-1),r=Pi(e);const i=w.offset-X-56-(n.Fe||0);if((56>e.length||vi(r,0)!=R)&&y!=i&&i>=0){const t=y;y=i,y>t&&(U=y-t),e=await Lr(n,y,56,-1),r=Pi(e)}if(56>e.length||vi(r,0)!=R)throw new d(Xn);E=!0,F==D?F=vi(r,16):a&&F!=vi(r,16)&&gi("mismatched zip64 end of central directory record"),P==D?P=vi(r,20):a&&P!=vi(r,20)&&gi("mismatched zip64 end of central directory record"),T==D?T=Ei(r,32):a&&T!=Ei(r,32)&&gi("mismatched zip64 end of central directory record"),m==q?m=Ei(r,40):a&&m!=Ei(r,40)&&gi("mismatched zip64 end of central directory record"),y=Ei(r,48)+U}}const C=m,V=w.offset-(E?76:0);if(y<n.size||(U=n.size-y-m-G,y=n.size-m-G),S!=F)throw new d(Jn);if(0>y)throw new d(Kn);let H=0,A=await Lr(n,y,m,P),M=Pi(A);if(m){if(4>A.length)throw new d(Kn);const e=V-m-(n.Fe||0);if(y!=e&&P==F){let t=!(vi(M,H)==N);if(t||0>e||e+4>n.size||(t=vi(Pi(await Lr(n,e,4,P)),0)==N),t){const t=y;y=e,y>t&&(U+=y-t),A=await Lr(n,y,m,P),M=Pi(A)}}}const L=V-y-(n.Fe||0);if(m==L||0>L||P!=F||(m=L,A=await Lr(n,y,m,P),M=Pi(A)),0>y||y>=n.size)throw new d(Kn);v=y;const O=xi(t,e,"filenameEncoding"),J=xi(t,e,"commentEncoding"),Q=a?new l:$;let _;for(let s=0;T>s;s++){const c=new ii(n,i,t.options);if(H+46>A.length||vi(M,H)!=N)throw new d(Ln);si(c,M,H+6);const l=!!c.bitFlag.languageEncodingFlag,u=H+46,w=u+c.filenameLength,h=w+c.extraFieldLength,p=zi(M,H+4),m=!(p>>8),y=p>>8==3,g=A.subarray(u,w),x=zi(M,H+32),k=h+x,F=A.subarray(h,k),S=l,E=l,P=vi(M,H+38),C=P&I,V={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},q=vi(M,H+42),W=xi(t,e,"decodeText")||Zr,R=S?$n:O||ei,K=E?$n:J||ei;let G=W(g,R);G===$&&(G=Zr(g,R));let X=W(F,K);X===$&&(X=Zr(F,K)),r.assign(c,{index:s,versionMadeBy:p,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Pe:x,offset:q,diskNumberStart:zi(M,H+34),internalFileAttributes:zi(M,H+36),externalFileAttributes:P,msdosAttributesRaw:C,msdosAttributes:V,rawFilename:g,filenameUTF8:S,commentUTF8:E,rawExtraField:A.subarray(w,h),rawComment:F,filename:G,comment:X}),oi(c,c,M,H+6),c.offset+=U,v=o.min(c.offset,v),a&&(Q.has(c.filename)&&(_=!0),Q.add(c.filename));const L=c.externalFileAttributes>>16&D;c.unixMode===$&&16877&L&&(c.unixMode=L);const ee=!!(c.unixMode&j),te=!!(c.unixMode&B),re=!!(512&c.unixMode),ne=c.unixMode!==$?!!(73&c.unixMode):y&&!!(73&L),ie=c.unixMode!==$&&(61440&c.unixMode)==Z,se=(61440&L)==Z;r.assign(c,{setuid:ee,setgid:te,sticky:re,unixExternalUpper:L,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:ne,directory:ie||se||m&&V.directory||c.filename.endsWith(Y)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new Pn(c);oe.getData=(e,r)=>c.getData(e,oe,t.ze,r),oe.arrayBuffer=async e=>{const r=new z,[n]=await b.all([new f(r.readable).arrayBuffer(),c.getData(r,oe,t.ze,e)]);return n},H=k;const{onprogress:ae}=e;if(ae)try{await ae(s+1,T,new Pn(c))}catch{}yield oe}a&&H!=C&&gi("trailing central directory data"),_&&gi("duplicate filename"),a&&(U||T&&v>0)&&gi("prepended data");const ee=xi(t,e,"extractPrependedData"),te=xi(t,e,"extractAppendedData");return ee&&(t.prependedData=v>0?await Lr(n,0,v):ne),t.comment=x?await Lr(n,g+G,x):ne,te&&(t.appendedData=k<n.size?await Lr(n,k,n.size-k):ne),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}class ii{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const i=this,{reader:s,index:a,offset:c,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:u,compressionMethod:w,config:h,bitFlag:p,signature:m,rawLastModDate:y,uncompressedSize:b,compressedSize:g}=i,{dataDescriptor:x}=p,k=t.localDirectory={},F=await Lr(s,c,J,l),S=Pi(F);let z=xi(i,n,Tn),v=xi(i,n,Un);const P=xi(i,n,Cn);if(z=z&&z.length&&z,v=v&&v.length&&v,f&&99!=f.originalCompressionMethod)throw new d(Yn);if(0!=w&&8!=w&&9!=w&&!P)throw new d(Yn);if(F.length<J||vi(S,0)!=H)throw new d(On);si(k,S,4);const{extraFieldLength:T,filenameLength:U}=k,C=fi(xi(i,n,Nn),xi(i,n,qn))==Mn;let V=ne;if(C&&(U||T)){const e=await Lr(s,c+J,U+T,l);V=e.subarray(0,U),k.rawExtraField=e.subarray(U)}else k.rawExtraField=T?await Lr(s,c+J+U,T,l):ne;oi(i,k,S,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&gi("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&gi("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&gi("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||gi("mismatched local file header (signature or sizes)")})(i,k,V);const{lastAccessDate:q,creationDate:D}=k;q&&(t.lastAccessDate=q),D&&(t.creationDate=D);const W=i.encrypted&&k.encrypted&&!P,N=W&&!f;if(P||(t.zipCrypto=N),W){if(!N&&f.strength===$)throw new d(Bn);if(!z&&!v)throw new d(jn)}const M=c+J+U+T,R=g,K=s.be({offset:M,size:R,diskNumberStart:l,chunkSize:le(h)}),G=xi(i,n,Vn),X=xi(i,n,"checkPasswordOnly");let L=xi(i,n,"checkOverlappingEntry");const O=xi(i,n,"checkOverlappingEntryOnly");O&&(L=!0);const{onstart:Z,onprogress:j,onend:B}=n,Y=9==w;let Q=xi(i,n,In);Y&&(Q=!1);const _={options:{codecType:Ht,password:z,rawPassword:v,zipCrypto:N,encryptionStrength:f&&f.strength,signed:xi(i,n,"checkSignature")&&!P,passwordVerification:N&&(x?y>>>8&I:m>>>24&I),outputSize:P?g:b,signature:m,compressed:0!=w&&!P,encrypted:W,useWebWorkers:xi(i,n,Dn),useCompressionStream:Q,transferStreams:xi(i,n,Hn),deflate64:Y,checkPasswordOnly:X},config:h,ne:{signal:G,size:R,onstart:Z,onprogress:j,onend:B}};let ee;L&&await(async({reader:e,Te:t,index:r,offset:n,diskNumberStart:i,signature:s,compressedSize:a,uncompressedSize:c,Ue:l,dataDescriptor:f,extraFieldZip64:u,ze:w})=>{let h=0;if(i&&e.xe)for(let t=0;t<o.min(i,e.xe.length);t++)h+=e.xe[t].size;let p=0;if(f&&(p=u?20:12),p){const r=await Lr(e,l+a,p+4,i);if(r.length==p+4&&vi(Pi(r),0)==A){const e=vi(Pi(r),4);let n,i;u?(n=Ei(Pi(r),8),i=Ei(Pi(r),16)):(n=vi(Pi(r),8),i=vi(Pi(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==a&&i==c&&(p+=4)}}const m={start:h+n,end:h+l+a+p,Te:t};for(const[e,t]of w)if(e!=r&&m.start<t.end&&t.start<m.end){const e=new d(Qn);throw e.Ce=t.Te,e}w.set(r,m)})({reader:s,Te:t,index:a,offset:c,diskNumberStart:l,signature:m,compressedSize:g,uncompressedSize:b,Ue:M,dataDescriptor:x||k.bitFlag.dataDescriptor,extraFieldZip64:u||k.extraFieldZip64,ze:r});try{if(!O){X&&(e=new E),e=new Gr(e),await Xr(e,P?g:b),({writable:ee}=e);const{outputSize:t}=await sr({readable:K,writable:ee},_);if(e.size+=t,t!=(P?g:b))throw new d(zt)}}catch(t){if(t.outputSize!==$&&(e.size+=t.outputSize),!X||t.message!=Me)throw t}finally{xi(i,n,Wn)||!ee||ee.locked||await ee.getWriter().close()}return X||O?$:e.getData?e.getData():ee}}function si(e,t,n){const i=e.rawBitFlag=zi(t,n+2),s=!(1&~i),o=vi(t,n+6);r.assign(e,{encrypted:s,version:zi(t,n),bitFlag:{level:(6&i)>>1,dataDescriptor:!(8&~i),languageEncodingFlag:(i&O)==O},rawLastModDate:o,lastModDate:ki(o),filenameLength:zi(t,n+22),extraFieldLength:zi(t,n+24)})}function oi(e,t,n,i,s){const{rawExtraField:o}=t,l=t.extraField=new c,f=Pi(new w(o));let u=0;try{for(;u<o.length;){const e=zi(f,u),t=zi(f,u+2);l.set(e,{type:e,data:o.slice(u+4,u+4+t)}),u+=4+t}}catch{}const h=zi(n,i+4);r.assign(t,{signature:vi(n,i+10),compressedSize:vi(n,i+14),uncompressedSize:vi(n,i+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Pi(e.data),n=ti.filter(([e,r])=>t[e]==r),i=n.reduce((e,[,t])=>e+ri[t].bytes,0);if(e.data.length<i)throw new d(Zn);for(let i=0,s=0;i<n.length;i++){const[o,a]=n[i],c=ri[a];t[o]=e[o]=c.Se(r,s),s+=c.bytes}})(p,t),t.extraFieldZip64=p);const m=l.get(28789);m&&(ai(m,jr,Br,t,e),t.extraFieldUnicodePath=m);const y=l.get(25461);y&&(ai(y,Yr,Jr,t,e),t.extraFieldUnicodeComment=y);const b=l.get(39169);b&&b.data.length>=7?(((e,t,n)=>{const i=Pi(e.data),s=Si(i,4);r.assign(e,{Ve:Si(i,0),vendorId:Si(i,2),strength:s,originalCompressionMethod:n,compressionMethod:zi(i,5)}),t.compressionMethod=e.compressionMethod})(b,t,h),t.extraFieldAES=b):t.compressionMethod=h;const g=l.get(10);g&&(((e,t)=>{const n=Pi(e.data);let i,s=4;try{for(;s<e.data.length&&!i;){const t=zi(n,s),r=zi(n,s+2);1==t&&(i=e.data.slice(s+4,s+4+r)),s+=4+r}}catch{}try{if(i&&24==i.length){const n=Pi(i),s=n.getBigUint64(0,!0),o=n.getBigUint64(8,!0),a=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:s,rawLastAccessDate:o,rawCreationDate:a});const c={lastModDate:Fi(s),lastAccessDate:Fi(o),creationDate:Fi(a)};r.assign(e,c),r.assign(t,c)}}catch{}})(g,t),t.extraFieldNTFS=g);const x=l.get(30805);if(x)ci(x,t,!1),t.extraFieldUnix=x;else{const e=l.get(30837);e&&(ci(e,t,!0),t.extraFieldInfoZip=e)}const k=l.get(L);k&&(((e,t,r)=>{if(!e.data.length)return;const n=Pi(e.data),i=Si(n,0),s=[],o=[];r?(1&~i||(s.push(tn),o.push(rn)),2&~i||(s.push(nn),o.push("rawLastAccessDate")),4&~i||(s.push(sn),o.push(on))):5>e.data.length||(s.push(tn),o.push(rn));let c=1;s.forEach((r,i)=>{if(e.data.length>=c+4){const s=vi(n,c);t[r]=e[r]=new a(1e3*(0|s));const l=o[i];e[l]=s}c+=4})})(k,t,s),t.extraFieldExtendedTimestamp=k);const F=l.get(6534);F&&(t.extraFieldUSDZ=F)}function ai(e,t,n,i,s){if(5>e.data.length)return void(e.valid=!1);const o=Pi(e.data),a=new Ue;a.append(s[n]);const c=Pi(new w(4));c.setUint32(0,a.get(),!0);const l=vi(o,1);r.assign(e,{version:Si(o,0),[t]:Zr(e.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&l==vi(c,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function ci(e,t,n){try{const i=Pi(new w(e.data));let s,o;if(n){let t=0;const n=Si(i,t++),a=Si(i,t++);s=li(e.data.subarray(t,t+a)),t+=a;const c=Si(i,t++);o=li(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:s,gid:o})}else 4>e.data.length||(s=zi(i,0),o=zi(i,2),r.assign(e,{uid:s,gid:o}));s!==$&&(t.uid=s),o!==$&&(t.gid=o)}catch{}}function li(e){const t=new w(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function fi(e,t){return e===$?t?Mn:"balanced":e}const ui=64,di=0,wi=1,hi=2;async function*pi(e,t){const r=e.size-t,n=await Lr(e,r,t),i=Pi(n);for(let e=n.length-G;e>=0;e--)vi(i,e)==M&&(yield[i,r,n,e,r+e])}function mi(e,t,r){return{offset:r,buffer:e.slice(t,t+G).buffer}}async function yi(e,t,r,n,i,s,o){const a=zi(t,n+10),c=vi(t,n+12),l=vi(t,n+16);if(a==D||c==q||l==q)return await bi(e,t,r,i-X,s,o)==K?hi:di;if(!a&&!c)return wi;for(const n of[i-c,l])if(await bi(e,t,r,n,s,o)==N)return hi;return di}async function bi(e,t,r,n,i,s){return 0>n||n+4>i?$:r>n?s.count>0?(s.count--,vi(Pi(await Lr(e,n,4)),0)):$:vi(t,n-r)}function gi(e){const t=new d(_n);throw t.reason=e,t}function xi(e,t,r){return t[r]===$?e.options[r]:t[r]}function ki(e){const t=(4294901760&e)>>16,r=e&D;try{return new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch{}}function Fi(e){return new a(i(e/s(1e4)-s(116444736e5)))}function Si(e,t){return e.getUint8(t)}function zi(e,t){return e.getUint16(t,!0)}function vi(e,t){return e.getUint32(t,!0)}function Ei(e,t){return i(e.getBigUint64(t,!0))}function Pi(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const Ti="File already exists",Ui="Zip file comment exceeds 64KB",Ci="File entry comment exceeds 64KB",Vi="File entry name exceeds 64KB",qi="Version exceeds 65535",Di="The strength must equal 1, 2, or 3",Ii="Extra field type exceeds 65535",Hi="Extra field data exceeds 64KB",Wi=-2147483648,Ai=2147483647,Ni="Zip64 is not supported (set the 'zip64' option to 'true')",Mi="Undefined uncompressed size",Ri="Undefined reader",Ki="Zip file not empty",Gi=new w([7,0,2,0,65,69,3,0,0]),Xi="infozip",Li="unix";let Oi=0;const Zi=[];class ji{constructor(e,t={}){const n=(e=new Gr(e)).availableSize!==$&&e.availableSize>0&&e.availableSize!==ee&&e.maxSize!==$&&e.maxSize>0&&e.maxSize!==ee;r.assign(this,{writer:e,qe:n,options:t,config:ce(),files:new c,De:new l,offset:t[An]===$?e.size||e.writable.size||0:t[An],Ie:t[An]===$?0:t[An]-(e.size||e.writable.size||0),He:new l,We:0,Ae:$})}async prependZip(e){if(this.De.size)throw new d(Ki);e=new Kr(e),await Xr(e);const t=new ni(e.readable),n=await t.getEntries();await t.close(),await Xr(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.De=new l(n.map(e=>e.filename)),this.files=new c(n.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:i,creationDate:s,rawFilename:o,bitFlag:a,encrypted:c,uncompressedSize:l,compressedSize:f,diskOffset:u,diskNumber:d,zip64:w}=e;let{compressionMethod:h,Ne:p,Me:m,Re:y,Ke:b,Ge:g,rawExtraField:x}=e;const{level:k,languageEncodingFlag:F,dataDescriptor:S}=a;p=p||ne,m=m||ne,y=y||ne,b=b||ne,g=g||ne,x=x||ne,e.extraFieldAES&&(h=99);const z=us(p,m,y,b,g,x),v=w&&l>=q,E=w&&f>=q,P=-7&ws(k,F,S,c,h)|k<<1,{Xe:T,Le:U}=ds({version:t,bitFlag:P,compressionMethod:h,uncompressedSize:l,compressedSize:f,rawLastModDate:n,rawFilename:o,Oe:E,Ze:v,extraFieldLength:z}),{signature:C}=e;return C!==$&&as(U,10,C),r.assign(e,{Ze:v,Oe:E,je:w&&this.offset-u>=q,Be:w&&d>=D,Ne:p,Me:m,Re:y,Ke:b,Ge:g,rawExtraField:x,extendedTimestamp:y.length>0||b.length>0,Ye:1+(i?2:0)+(s?4:0),Xe:T,Le:U}),[e.filename,e]}))}async add(e="",t,n={}){const i=this;n=r.assign({},n);const{He:o,config:c}=i;let l,f;Oi<c.maxWorkers?Oi++:await new b(e=>Zi.push(e));try{if(e=e.trim(),is(i,n,yn)&&!e.endsWith(Y)&&(e+=Y),i.De.has(e))throw new d(Ti);return i.De.add(e),f=!0,l=(async(e,t,n,i)=>{const o=((e,t,r)=>{t=t.trim();let n=is(e,r,un),i=is(e,r,pn,n?20:768);const s=is(e,r,bn),o=is(e,r,"uid"),a=is(e,r,"gid");let c=is(e,r,Fn),l=is(e,r,"unixExtraFieldType"),f=is(e,r,Sn),u=is(e,r,zn),w=is(e,r,vn);if(o!==$&&(0>o||o>q))throw new d("Invalid uid (must be integer 0..2^32-1)");if(a!==$&&(0>a||a>q))throw new d("Invalid gid (must be integer 0..2^32-1)");if(c!==$&&(0>c||c>D))throw new d("Invalid UNIX mode (must be integer 0..65535)");if(l!==$&&l!==Xi&&l!==Li)throw new d("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(l===Li&&(o!==$&&o>D||a!==$&&a>D))throw new d("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");l!==$||o===$&&a===$||(l=Xi);let h=is(e,r,ln),p=is(e,r,fn);const m=h!==$||p!==$;if(o!==$||a!==$||c!==$||l?(n=!1,i=i&D|768):m&&(n=!0,i&=I),h!==$&&(0>h||h>I))throw new d("Invalid msdosAttributesRaw (must be integer 0..255)");if(p&&"object"!=typeof p)throw new d("Invalid msdosAttributes (must be an object with boolean flags)");if(i>D)throw new d(qi);let y=is(e,r,cn,0);!r[yn]&&t.endsWith(Y)&&(r[yn]=!0);const b=is(e,r,yn);let g;return b?(t.endsWith(Y)||(t+=Y),0===y&&(y=16,n||(y|=16877<<16))):n||0!==y||(y=s?493<<16:27525120),n||(g=y>>16&D,c=c===$?g:c&D,f?c|=j:f=!!(c&j),u?c|=B:u=!!(c&B),w?c|=512:w=!!(512&c),b&&(c|=Z),y=(c&D)<<16|y&I),({msdosAttributesRaw:h,msdosAttributes:p}=((e,t)=>{if(e!==$)e&=I;else if(t!==$){const{readOnly:r,hidden:n,system:i,directory:s,archive:o}=t;let a=0;r&&(a|=1),n&&(a|=2),i&&(a|=4),s&&(a|=16),o&&(a|=32),e=a&I}return t===$&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(h,p)),m&&(y=y&q|h&I),{name:t,Je:{versionMadeBy:i,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:g,uid:o,gid:a,unixMode:c,unixExtraFieldType:l,setuid:f,setgid:u,sticky:w,msdosAttributesRaw:h,msdosAttributes:p}}})(e,t,i);({name:t}=o);const c=((e,t,r)=>{const n=is(e,r,"encodeText",Ve);let i=n(t);if(i===$&&(i=Ve(t)),us(i)>D)throw new d(Vi);const s=r[Yr]||"";let o=n(s);if(o===$&&(o=Ve(s)),us(o)>D)throw new d(Ci);const c=is(e,r,hn,20);if(c>D)throw new d(qi);const l=is(e,r,tn,new a),f=is(e,r,nn),u=is(e,r,sn),h=is(e,r,an,0),p=is(e,r,Cn);let m,y;p||(m=is(e,r,Tn),y=is(e,r,Un));const b=is(e,r,"encryptionStrength",3),g=is(e,r,mn),x=is(e,r,"extendedTimestamp",!0),k=is(e,r,"keepOrder",!0),F=is(e,r,Dn),S=is(e,r,Hn,!0),z=is(e,r,"bufferedWrite"),v=is(e,r,"createTempStream"),E=is(e,r,"dataDescriptorSignature",!0),P=is(e,r,Vn),T=is(e,r,"useUnicodeFileNames",!0),U=is(e,r,gn);if(!p&&U!==$&&0!==U&&8!==U)throw new d("Compression method not supported");let C=is(e,r,"level"),V=is(e,r,In),q=is(e,r,"dataDescriptor");z&&q===$&&(q=!1),(q===$||g)&&(q=!0),C!==$&&6!=C&&(V=!1),V||e.config.CompressionStream!==$||e.config.CompressionStreamZlib!==$||(C=0);const I=is(e,r,dn);if(!g&&(m!==$||y!==$)&&(1>b||b>3))throw new d(Di);let H=ne;const W=r[kn];if(W){let e=0,t=0;W.forEach(t=>e+=4+us(t)),H=new w(e);const r=fs(H);W.forEach((e,n)=>{if(n>D)throw new d(Ii);if(us(e)>D)throw new d(Hi);os(r,t,n),os(r,t+2,us(e)),ls(H,e,t+4),t+=4+us(e)})}return{comment:s,Je:{rawFilename:i,rawComment:o,version:c,lastModDate:l,lastAccessDate:f,creationDate:u,internalFileAttributes:h,passThrough:p,password:m,rawPassword:y,encryptionStrength:b,zipCrypto:g,extendedTimestamp:x,keepOrder:k,useWebWorkers:F,transferStreams:S,bufferedWrite:z,createTempStream:v,dataDescriptorSignature:E,signal:P,useUnicodeFileNames:T,compressionMethod:U,level:C,useCompressionStream:V,dataDescriptor:q,zip64:I,rawExtraField:H}}})(e,t,i),{comment:l}=c,f=i[kn];let u;e.files.set(t,$);try{const a=await(async(e,t,{Je:r},n)=>{const{passThrough:i,zipCrypto:s,password:o,rawPassword:a,encryptionStrength:c}=r;let{dataDescriptor:l,zip64:f,level:u,compressionMethod:w}=r,h=0,p=0;if(i){if(!t)throw new d(Ri);if(p=n[Qr],p===$)throw new d(Mi)}const m=!0===f,y=is(e,n,wn),b=!!t&&(!!(o&&us(o)||a&&us(a))||i&&y);t||(u=0,w=0);const g=b?s?12:16+4*c:0;t&&(t=new Kr(t),await Xr(t),i?(n.uncompressedSize=p,h=ss(p)+g):t.size===$?(l=!0,(f||f===$)&&(f=!0,p=h=4294967296)):(n.uncompressedSize=p=t.size,h=ss(p)+g));const x=m||p>=q,k=m||h>=q;if(x||k){if(!1===f)throw new d(Ni);f=!0}return f=f||!1,{reader:t,Je:{dataDescriptor:l,zip64:f,Ze:x,Oe:k,uncompressedSize:p,level:u,compressionMethod:w,encrypted:b}}})(e,n,c,i);({reader:n}=a);const{diskOffset:l,diskNumber:f}=e.writer,h=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:i,level:s,zip64:o,zipCrypto:a,useUnicodeFileNames:c,dataDescriptor:l,directory:f,rawExtraField:u,encryptionStrength:w,extendedTimestamp:h,passThrough:p,encrypted:m,Ze:y,Oe:b,uncompressedSize:g}=e;let{version:x,compressionMethod:k}=e;const F=!f&&(k===$?s===$||s>0:0!==k);let S;const z=p||!F,v=o&&(e.bufferedWrite||!l||!y&&!b||z),E=v||o&&l&&(y||b);if(o&&(y||b)){const e=20,t=Qi(e);if(t.uint16(1),t.uint16(e-4),S=t.array,v&&(t.Qe(g),z)){const e=m?a?12:16+4*w:0;t.Qe(p?0:g+e)}}else S=ne;let P,T,U,C,V;if(m&&!a){const e=Qi(us(Gi)+2);e.uint16(39169),e.bytes(Gi),P=e.array,P[8]=w}else P=ne;if(h){const e=ts(r);if(rs(e)){const t=9+(n?4:0)+(i?4:0),r=Qi(t);C=1+(n?2:0)+(i?4:0),r.uint16(L),r.uint16(t-4),r.uint8(C),r.uint32(e),n&&r.uint32(ns(ts(n))),i&&r.uint32(ns(ts(i))),U=r.array}else U=ne;try{const e=es(r),t=Qi(36);t.uint16(10),t.uint16(32),t._e(4),t.uint16(1),t.uint16(24),t.Qe(e),t.Qe(es(n)||e),t.Qe(es(i)||e),T=t.array}catch{T=ne}}else T=U=ne;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=Xi||t===$&&r===$)if(n!=Li||t===$&&r===$)V=ne;else{const e=Qi(8);e.uint16(30805),e.uint16(4),e.uint16((t===$?0:t)&D),e.uint16((r===$?0:r)&D),V=e.array}else{const e=Ji(t),n=Ji(r),i=3+e.length+n.length,s=Qi(4+i);s.uint16(30837),s.uint16(i),s.uint8(1),s.uint8(e.length),s.bytes(e),s.uint8(n.length),s.bytes(n),V=s.array}}catch{V=ne}k===$&&(k=F?8:0),o&&(x=x>45?x:45),m&&!a&&(x=x>51?x:51,P[9]=k,k=99);const q=E?us(S):0,I=q+us(P,U,T,V,u);if(I>D)throw new d(Hi);const{Xe:W,Le:A,rawLastModDate:N}=ds({version:x,bitFlag:ws(s,c,l,m,k),compressionMethod:k,uncompressedSize:g,lastModDate:_>r?_:r>Q?Q:r,rawFilename:t,Oe:b,Ze:y,extraFieldLength:I}),M=Qi(J+us(t)+I),R=M.array,K=fs(R);return M.uint32(H),M.bytes(W),M.bytes(t),E&&M.bytes(S),M.bytes(P),M.bytes(U),M.bytes(T),M.bytes(V),M.bytes(u),l&&(b||as(K,18,0),y||as(K,22,0)),{$e:R,et:K,Xe:W,Le:A,lastModDate:r,rawLastModDate:N,encrypted:m,compressed:F,version:x,compressionMethod:k,Ye:C,Ne:ne,tt:q,Re:U,Ke:T,Ge:V,Me:P,extraFieldLength:I}})(i=r.assign({},i,o.Je,c.Je,a.Je,{internalFileAttribute:c.Je.internalFileAttributes,externalFileAttribute:o.Je.externalFileAttributes,signature:i[xn],offset:e.offset-l,diskNumberStart:f})),p=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,i=ne,s=0,o=e?20:12;return r&&(o+=4),t&&(i=new w(o),n=fs(i),r&&(s=4,as(n,0,A))),{rt:i,nt:n,it:s}})(i),m=us(h.$e,p.rt);u=await(async(e,t,n,i,o)=>{const{files:a,writer:c}=e,{keepOrder:l,dataDescriptor:f,signal:u}=o,{st:h}=i,p=e.options.usdz,m=e.Ae;let y,g,x,k,F,S,v,P={},T=0;a.set(t,P),e.Ae=P;try{let g;l&&(g=m&&m.lock,P.lock=new b(e=>x=e)),o.bufferedWrite||!l||e.ot||e.We||!f?(y=!0,e.We++,v=o.createTempStream?await o.createTempStream():new z($,$,{highWaterMark:ee}),v.size=0,await Xr(c)):(v=c,await U()),await Xr(v);const{diskOffset:V}=c;if(e.qe){delete e.qe;const t=new w(4);as(fs(t),0,W),await $i(c,t),e.offset+=4}p&&!y&&Yi(i,e.offset-V);const{$e:D}=h;y||(await g,await C());const H=c.diskNumber,A=_i(e,c);if(P.diskNumberStart=H,y||(F=!0,S=c.size,await $i(v,D)),P=await(async(e,t,{diskNumberStart:n,lock:i},o,a,c)=>{const{st:l,ct:f,lt:u}=o,{Xe:w,Le:h,lastModDate:p,rawLastModDate:m,encrypted:y,compressed:b,version:g,compressionMethod:x,Ne:k,tt:F,Re:S,Ye:z,Ke:v,Ge:E,Me:P}=l,{rt:T}=f,{rawFilename:U,lastAccessDate:C,creationDate:V,password:D,rawPassword:H,level:W,zip64:A,Ze:N,Oe:M,zipCrypto:R,dataDescriptor:K,directory:G,executable:X,versionMadeBy:L,rawComment:O,rawExtraField:Z,useWebWorkers:j,transferStreams:B,onstart:Y,onprogress:J,onend:Q,signal:_,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:ie,uid:se,gid:oe,unixMode:ae,setuid:ce,setgid:fe,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:we,msdosAttributes:he,useCompressionStream:pe,passThrough:me}=c,ye={lock:i,versionMadeBy:L,zip64:A,directory:!!G,executable:!!X,filenameUTF8:!0,rawFilename:U,commentUTF8:!0,rawComment:O,Ne:k,tt:F,Re:S,Ke:v,Ge:E,Me:P,rawExtraField:Z,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:ie,diskNumberStart:n,uid:se,gid:oe,unixMode:ae,setuid:ce,setgid:fe,sticky:ue,unixExternalUpper:de,msdosAttributesRaw:we,msdosAttributes:he};let{signature:be,uncompressedSize:ge}=c,xe=0;me||(ge=0);const{writable:ke}=t;if(e){const r=e.be?e.be({chunkSize:le(a)}):e.readable,n=e.size,i={options:{codecType:It,level:W,rawPassword:H,password:D,encryptionStrength:ee,zipCrypto:y&&R,passwordVerification:y&&R&&m>>8&I,signed:!me,compressed:b&&!me,encrypted:y&&!me,useWebWorkers:j,useCompressionStream:pe,transferStreams:B},config:a,ne:{signal:_,size:n,onstart:Y,onprogress:J,onend:Q}};try{const e=await sr({readable:r,writable:ke},i);if(xe=e.outputSize,t.size+=xe,me||(ge=e.inputSize,be=e.signature),!M&&xe>=q||!N&&ge>=q)throw new d(Ni)}catch(e){throw e.outputSize!==$&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,st:n,ct:i},{zip64:o,zipCrypto:a,dataDescriptor:c})=>{const{Le:l,encrypted:f}=n,{nt:u,it:d}=i;f&&!a||e===$||(as(l,10,e),c&&as(u,d,e)),o?c&&(cs(u,d+4,s(t)),cs(u,d+12,s(r))):(as(l,14,t),as(l,18,r),c&&(as(u,d+4,t),as(u,d+8,r)))})({signature:be,compressedSize:xe,uncompressedSize:ge,st:l,ct:f},c),K&&await $i(t,T),r.assign(ye,{uncompressedSize:ge,compressedSize:xe,lastModDate:p,rawLastModDate:m,creationDate:V,lastAccessDate:C,encrypted:y,zipCrypto:R,size:u+xe,compressionMethod:x,version:g,Xe:w,Le:h,signature:be,Ye:z,Ze:N,Oe:M}),ye})(n,v,P,i,e.config,o),y||(F=!1),a.set(t,P),P.filename=t,y){if(await b.all([v.writable.getWriter().close(),g]),await U(),k=!0,S=c.size,await C(),P.diskNumberStart=c.diskNumber,P.offset=_i(e,c),p){const t=i.lt;Yi(i,e.offset-c.diskOffset),P.size+=i.lt-t}(({rawFilename:e,encrypted:t,zip64:r,tt:n,signature:i,compressedSize:o,uncompressedSize:a,Ze:c,Oe:l},f,{dataDescriptor:u})=>{if(u||(t||as(f,14,i),l||as(f,18,o),c||as(f,22,a)),r&&n){const t=J+us(e)+4;cs(f,t,s(a)),cs(f,t+8,s(o))}})(P,h.et,o),await $i(c,h.$e),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new E({async write(e){var t;await n.ready,await n.write(e),t=us(e),T+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(v.readable,c,u),c.size+=v.size,k=!1}else P.diskNumberStart=H,P.offset=A;return e.offset+=P.size,P}catch(r){if(k||F){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-S,y&&(e.offset+=T)}throw a.delete(t),r}finally{if(y&&e.We--,x&&x(),g&&g(),y&&v&&v.dispose)try{await v.dispose()}catch{}}async function U(){e.ot=!0;const{ft:t}=e;e.ft=new b(t=>g=()=>{e.ot=!1,t()}),await t}async function C(){us(h.$e)>c.availableSize&&(c.availableSize=0,await $i(c,ne))}})(e,t,n,{st:h,ct:p,lt:m},i)}catch(r){throw e.files.delete(t),r}return r.assign(u,{name:t,comment:l,extraField:f}),new Pn(u)})(i,e,t,n),o.add(l),await l}catch(t){throw f&&i.De.delete(e),t}finally{o.delete(l);const e=Zi.shift();e?e():Oi--}}remove(e){const{De:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==$){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ne,r={}){const{He:n,writer:i}=this,{writable:o}=i;if(us(e)>D)throw new d(Ui);for(;n.size;)await b.allSettled(t.from(n));return await(async(e,r,n)=>{const i=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Me:n,rawComment:i,Ke:s,Ge:o,rawExtraField:a,extendedTimestamp:c,Ye:l,lastModDate:f,Ze:u,Oe:w,uncompressedSize:h,compressedSize:p}=r,m=r.offset>=q,y=r.diskNumberStart>=D;let b,g;if(m||y||u||w){const e=4+(u?8:0)+(w?8:0)+(m?8:0)+(y?4:0),t=Qi(e);t.uint16(1),t.uint16(e-4),u&&t.Qe(h),w&&t.Qe(p),m&&t.Qe(r.offset),y&&t.uint32(r.diskNumberStart),b=t.array}else b=ne;r.Ne=b,r.je=m,r.Be=y;const x=ts(f);if(c&&rs(x)){const e=Qi(9);e.uint16(L),e.uint16(5),e.uint8(l),e.uint32(x),g=e.array}else g=ne;r.Re=g;const k=us(b,n,s,o,g,a);if(k>D)throw new d(Hi);t+=46+us(e,i)+k}return t})(e.files),{ut:o,dt:a}=await(async(e,r,n)=>{const{files:i,writer:s}=e,o=new w(r);await Xr(s);let a=0,c=0,l=s.diskNumber,f=s.diskOffset;for(const[e,r]of t.from(i.values()).entries()){const{offset:t,rawFilename:u,Ne:d,Me:w,Re:h,Ke:p,Ge:m,rawExtraField:y,rawComment:b,versionMadeBy:g,Xe:x,Le:k,Ze:F,Oe:S,Be:z,je:v,internalFileAttributes:E,externalFileAttributes:P,diskNumberStart:T,uncompressedSize:U,compressedSize:C}=r,V=us(d,w,h,p,m,y),I=46+us(u,b)+V;a+I-c>s.availableSize&&(await $i(s,o.slice(c,a)),c=a,s.availableSize=0,await $i(s,ne)),0==e&&(l=s.diskNumber,f=s.diskOffset),F||as(k,18,U),S||as(k,14,C),(v||z)&&45>r.version&&os(k,0,45);const H=Qi(I);if(H.uint32(N),H.uint16(g),H.bytes(x.subarray(0,24)),H.uint16(V),H.uint16(us(b)),H.uint16(z?D:T),H.uint16(E),H.uint32(P),H.uint32(v?q:t),H.bytes(u),H.bytes(d),H.bytes(w),H.bytes(h),H.bytes(p),H.bytes(m),H.bytes(y),H.bytes(b),ls(o,H.array,a),a+=I,n.onprogress)try{await n.onprogress(e+1,i.size,new Pn(r))}catch{}}return await $i(s,c?o.slice(c):o),{ut:l,dt:f}})(e,i,n);await(async(e,t,r,n)=>{const{writer:i}=e,{ut:o,dt:a}=n;let{wt:c}=n,l=e.files.size,f=o,u=e.offset-a-(o?e.Ie:0),w=i.diskNumber;i.availableSize<G&&w++;let h=is(e,r,dn);if(!(q>u&&q>c&&D>l&&D>w)){if(!1===h)throw new d(Ni);h=!0}const p=us(t);if(p>D)throw new d(Ui);const m=Qi(h?98:G);us(m.array)+p>i.availableSize&&(i.availableSize=0,await $i(i,ne)),w=i.diskNumber,h&&(m.uint32(R),m.Qe(44),m.uint16(45),m.uint16(45),m.uint32(w),m.uint32(f),m.Qe(l),m.Qe(l),m.Qe(c),m.Qe(u),m.uint32(K),m.uint32(w),m.Qe(s(e.offset)+s(c)-s(i.diskOffset)-s(i.diskNumber?e.Ie:0)),m.uint32(w+1),is(e,r,"supportZip64SplitFile",!0)&&(w=D,f=D),l=D,u=q,c=q),m.uint32(M),m.uint16(w),m.uint16(f),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(u),m.uint16(p),await $i(i,m.array),p&&await $i(i,t)})(e,r,n,{ut:o,dt:a,wt:i})})(this,e,r),is(this,r,Wn)||await o.getWriter().close(),i.getData?i.getData():o}}function Bi(e,t,r){e.He.add(t),t.catch(e=>{try{r(e)}catch{}})}function Yi(e,t){const{st:r}=e;let{$e:n,extraFieldLength:i}=r,s=64-(t+us(n))%64;4>s&&(s+=64);const o=new w(s),a=fs(o);os(a,0,6534),os(a,2,s-4);const c=n;r.$e=n=new w(us(c)+s),ls(n,c),ls(n,o,us(c));const l=fs(n);os(l,28,i+s),r.et=l,e.lt+=s}function Ji(e){if(e===$)return ne;{const t=new w(4);fs(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Qi(e){const t=new w(e),r=fs(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{os(r,n,e),n+=2},uint32:e=>{as(r,n,e),n+=4},Qe:e=>{cs(r,n,s(e)),n+=8},bytes:e=>{ls(t,e,n),n+=us(e)},_e:e=>n+=e}}function _i(e,t){return e.offset-t.diskOffset-(t.diskNumber?e.Ie:0)}async function $i(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=us(t),await n.write(t)}finally{n.releaseLock()}}function es(e){if(e)return(s(e.getTime())+s(116444736e5))*s(1e4)}function ts(e){return o.floor(e.getTime()/1e3)}function rs(e){return e>=Wi&&Ai>=e}function ns(e){return o.min(Ai,o.max(Wi,e))}function is(e,t,r,n){const i=t[r]===$?e.options[r]:t[r];return i===$?n:i}function ss(e){return e+5*(o.floor(e/16383)+1)}function os(e,t,r){e.setUint16(t,r,!0)}function as(e,t,r){e.setUint32(t,r,!0)}function cs(e,t,r){e.setBigUint64(t,r,!0)}function ls(e,t,r){e.set(t,r)}function fs(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function us(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ds({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:i,lastModDate:s,rawLastModDate:o,rawFilename:a,Oe:c,Ze:l,extraFieldLength:f}){const u=Qi(26),d=u.array,w=fs(d);if(u.uint16(e),u.uint16(t),u.uint16(r),o===$){const e=new p(1),t=fs(e);os(t,0,(s.getHours()<<6|s.getMinutes())<<5|s.getSeconds()/2),os(t,2,(s.getFullYear()-1980<<4|s.getMonth()+1)<<5|s.getDate()),o=e[0]}return u.uint32(o),u._e(4),c||i!==$?u.uint32(c?q:i):u._e(4),l||n!==$?u.uint32(l?q:n):u._e(4),u.uint16(us(a)),u.uint16(f),{Xe:d,Le:w,rawLastModDate:o}}function ws(e,t,r,n,i){let s=0;return t&&(s|=O),r&&(s|=8),8!=i&&9!=i||(0>e||e>3||(s|=6),e>3&&5>=e&&(s|=4),9==e&&(s|=2)),n&&(s|=1),s}const hs=1048576,ps=".zip.js-temp";try{fe({baseURI:void 0===k&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===k?location.href:V&&"SCRIPT"===V.tagName.toUpperCase()&&V.src||new u("zip-native.min.js",k.baseURI).href})}catch{}var{Uint8Array:ms,Uint16Array:ys,Int32Array:bs,TransformStream:gs,Math:xs,Error:ks,Array:Fs}=globalThis,Ss=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],zs=new ms(0),vs=new ys(0),Es=[];for(let e=0;6>e;e++)Es.push(e,0==e?8:4);Es.push(0,1);var Ps=[];for(let e=0;14>e;e++)Ps.push(e,0==e?4:2);var Ts=new ys([0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576]),Us=new ys([0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0]);function Cs(e,t,r,n,i){if(0==i)return;let s=e instanceof ms?e:new ms(e.buffer,e.byteOffset,e.byteLength),o=r instanceof ms?r.subarray(n,n+i):new ms(r.buffer,r.byteOffset+n,i);s.set(o,t)}function Vs(e,t,r){0!=r&&(e instanceof ms?e:new ms(e.buffer,e.byteOffset,e.byteLength)).fill(0,t,t+r)}function qs(){return{ht:zs,yt:0,bt:0,gt:0,xt:zs,kt:0,Ft:0,St:0,zt:"",i:0,vt:0,Et:0,Pt:void 0}}function Ds(e,t){let r=1<<t;return{Tt:e,Ut:new ms(r),Ct:r,Vt:t,qt:0,Dt:0,It:0,Ht:0}}function Is(e){let t=[];for(let r=0;r<e.length;r+=2){let n=e[r],i=e[r+1];for(let e=0;i>e;e++)t.push(n)}return new ys(t)}var Hs=class{constructor(e,t){this.Wt=e,this.At=t,this.Nt=0}},Ws=class{constructor(e,t,r,n,i){this.Mt=e,this.Rt=t,this.Kt=r,this.Gt=n,this.Xt=i}};function As(e){return fo[-6>e||e>2?9:2-e]||""}function Ns(e,t){try{e.zt=As(t)}catch(r){e.zt="zlib error "+n(t)+" ("+r+")"}return t}function Ms(e,t){let r=e>>>0,n=0;for(let e=0;t>e;e++)n=n<<1|1&r,r>>>=1;return n}function Rs(e,t){e.Lt[e.Ot++]=t}function Ks(e,t){Rs(e,255&t),Rs(e,t>>>8&255)}function Gs(e,t,r){let n=255&r,i=65535&t,s=e.Zt+e.jt;return e.Lt[s]=255&i,e.Lt[s+1]=i>>>8&255,e.Lt[s+2]=n,e.jt+=3,i=i-1&65535,e.Yt[go[n]+ro+1].Bt++,e.Jt[Os(i)].Bt++,e.jt==e.Qt}function Xs(e,t){let r=255&t,n=e.Zt+e.jt;return e.Lt[n]=0,e.Lt[n+1]=0,e.Lt[n+2]=r,e.jt+=3,e.Yt[r].Bt++,e.jt==e.Qt}function Ls(e){return e.Ct-eo}function Os(e){return 256>e?xo[e]:xo[256+(e>>7)]}function Zs(e){let t=Qs+7,r=1<<t,n=(1<<t)-1,i=xs.floor((t+_s-1)/_s),s=1<<8+Qs;return{...Ds(e,15),Tt:e,_t:42,$t:0,er:void 0,tr:32767,rr:t,nr:r,ir:n,sr:i,ar:new ys(32768),cr:new ys(r),lr:s,Lt:new ms(32768),ur:0,dr:32768,Ot:0,wr:0,hr:0,pr:0,mr:0,yr:0,br:-2,gr:0,kr:0,Fr:0,Sr:0,zr:0,vr:0,Er:0,Pr:0,Tr:0,Ur:0,Cr:0,Vr:0,qr:0,Dr:0,Ir:new bs(2*no+1),Hr:new ms(2*no+1),Wr:new ys(ao+1),jt:0,Qt:0,Ar:zs,Zt:0,Nr:0,Mr:0,Rr:8,Kr:32768,Gr:0,Xr:0,Lr:0,Yt:new Fs(oo).fill(0).map(()=>({Bt:0,Or:0,Zr:0,jr:0})),Jt:new Fs(2*io+1).fill(0).map(()=>({Bt:0,Or:0,Zr:0,jr:0})),Br:new Fs(2*so+1).fill(0).map(()=>({Bt:0,Or:0,Zr:0,jr:0})),Yr:Ys(),Jr:Ys(),Qr:Ys()}}function js(e){let t=[];for(let r=0;r<e.length;r+=2){let n=e[r],i=e[r+1],s=Bs();s.Or=n,s.jr=i,t.push(s)}return t}function Bs(){return{Bt:0,Or:0,Zr:0,jr:0}}function Ys(){return new Hs([],((e,t)=>new Ws(null,t,0,0,0))(0,zs))}function Js(e){let{code:t,length:r}=(e=>{let t=xs.max(...e),r=new Fs(t+1).fill(0);for(let t of e)t>0&&r[t]++;let n=new Fs(e.length).fill(0),i=new Fs(t+1).fill(0),s=0;for(let e=1;t>=e;e++)s=s+r[e-1]<<1,i[e]=s;for(let t=0;t<e.length;t++){let r=e[t];0!=r&&(n[t]=i[r]++)}return{code:n,length:e}})(e),n=new ys(2*e.length),i=0;for(let s=0;s<e.length;s++){let e=r[s]||0,o=t[s]||0;n[i++]=e?Ms(o,e):0,n[i++]=e}return new ys(n)}var Qs=8,_s=3,$s=258,eo=$s+_s+1,to=$s,ro=256,no=ro+1+29,io=30,so=19,oo=2*no+1,ao=15,co=256,lo=-1,fo=["need dictionary","stream end","","file error","stream error","data error","insufficient memory","buffer error",""],uo=Is(Es),wo=Is(Ps),ho=new ys(19);ho[16]=2,ho[17]=3,ho[18]=7;var po=Js((()=>{let e=new Fs(288).fill(0);for(let t=0;143>=t;t++)e[t]=8;for(let t=144;255>=t;t++)e[t]=9;for(let t=256;279>=t;t++)e[t]=7;for(let t=280;287>=t;t++)e[t]=8;return e})()),mo=Js(new Fs(30).fill(5)),yo=js(po),bo=js(mo),go=((e,t)=>{let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,s=e[n]+i-1;s>r&&(r=s)}258>r&&(r=258);let n=new ms(r+1);for(let i=0;r>=i;i++)for(let r=0;r<e.length;r++){let s=t[r]?1<<t[r]:1,o=e[r];if(i>=o&&o+s-1>=i){n[i]=r;break}}return n})(Us,uo),xo=(e=>{let t=new ms(512),r=e.length-1;for(let n=0;256>n;n++)t[n]=n>r?e[r]:e[n];for(let n=256;r>=n;n++){let r=n>>7;t[256+(r>255?255:r)]=e[n]}for(let e=257;512>e;e++)0==t[e]&&(t[e]=t[e-1]);return t})(((e,t)=>{let r=0;for(let n=0;n<e.length;n++){let i=t[n]?1<<t[n]:1,s=e[n]+i-1;s>r&&(r=s)}let n=new ms(r+1);for(let i=0;r>=i;i++)for(let r=0;r<e.length;r++){let s=t[r]?1<<t[r]:1,o=e[r];if(i>=o&&o+s-1>=i){n[i]=r;break}}return n})(Ts,wo));function ko(e){return e%65521>>>0}function Fo(e,t,r){if(void 0===t||void 0===r)return 1;let n=e>>>16&65535;if(e&=65535,1==r)return(e+=t[0])>=65521&&(e-=65521),n+=e,n>=65521&&(n-=65521),(n<<16|e)>>>0;if(16>r){for(let i=0;r>i;i++)n+=e+=t[i];return e>=65521&&(e-=65521),n=ko(n),(n<<16|e)>>>0}for(;r>=5552;){r-=5552;let i=xs.floor(347);do{for(let r=0;16>r;r++)n+=e+=t[r];t=t.subarray(16)}while(--i);e=ko(e),n=ko(n)}if(r){for(;r>=16;){r-=16;for(let r=0;16>r;r++)n+=e+=t[r];t=t.subarray(16)}for(let i=0;r>i;i++)n+=e+=t[i];e=ko(e),n=ko(n)}return(n<<16|e)>>>0}var So=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?3988292384^t>>>1:t>>>1;So[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){let r=So[t-1][e];So[t][e]=r>>>8^So[0][255&r]}var[zo,vo,Eo,Po,To,Uo,Co,Vo]=So;function qo(e=0,t,r){if(!t)return 0;void 0===r&&(r=t.length);let n=0|~e,i=0;if((r=xs.min(r,t.length))>=8){let e=new m(t.buffer,t.byteOffset,r),s=r-8;for(;s>=i;i+=8){let t=n^e.getInt32(i,!0),r=e.getInt32(i+4,!0);n=Vo[255&t]^Co[t>>>8&255]^Uo[t>>>16&255]^To[t>>>24&255]^Po[255&r]^Eo[r>>>8&255]^vo[r>>>16&255]^zo[r>>>24&255]}}for(;r>i;i++)n=n>>>8^zo[255&(n^t[i])];return(4294967295^n)>>>0}function Do(e){16==e.Ht?(Ks(e,e.It),e.It=0,e.Ht=0):e.Ht>=8&&(Rs(e,e.It),e.It>>=8,e.Ht-=8)}function Io(e){e.Ht>8?Ks(e,e.It):e.Ht>0&&Rs(e,e.It),e.Nr=1+(e.Ht-1&7),e.It=0,e.Ht=0}function Ho(e,t,r){e.Ht>16-r?(e.It=65535&(e.It|t<<e.Ht),Ks(e,e.It),e.It=t>>16-e.Ht&65535,e.Ht+=r-16):(e.It=65535&(e.It|t<<e.Ht),e.Ht+=r)}function Wo(e){for(let t=0;t<e.Yt.length;t++)e.Yt[t].Bt=0;for(let t=0;t<e.Jt.length;t++)e.Jt[t].Bt=0;for(let t=0;t<e.Br.length;t++)e.Br[t].Bt=0;e.Yt[co].Bt=1,e.hr=e.pr=0,e.jt=e.mr=0}function Ao(e,t,r){return r=e.Ir[1],e.Ir[1]=e.Ir[e.Xr--],Mo(e,t,1),r}function No(e,t,r,n){return e[t].Bt<e[r].Bt||e[t].Bt==e[r].Bt&&n[t]<=n[r]}function Mo(e,t,r){let n=e.Ir[r],i=r<<1;for(;i<=e.Xr&&(i<e.Xr&&No(t,e.Ir[i+1],e.Ir[i],e.Hr)&&i++,!No(t,n,e.Ir[i],e.Hr));)e.Ir[r]=e.Ir[i],r=i,i<<=1;e.Ir[r]=n}function Ro(e,t){let r,n,i,s=t.Wt,o=t.At.Mt,a=t.At.Gt,c=-1;for(e.Xr=0,e.Lr=oo,r=0;a>r;r++)0!=s[r].Bt?(e.Ir[++e.Xr]=c=r,e.Hr[r]=0):s[r].jr=0;for(;2>e.Xr;)i=e.Ir[++e.Xr]=2>c?++c:0,s[i].Bt=1,e.Hr[i]=0,e.hr--,o&&(e.pr-=o[i].jr);for(t.Nt=c,r=xs.floor(e.Xr/2);r>=1;r--)Mo(e,s,r);i=a;do{r=Ao(e,s,r),n=e.Ir[1],e.Ir[--e.Lr]=r,e.Ir[--e.Lr]=n,s[i].Bt=s[r].Bt+s[n].Bt,e.Hr[i]=(e.Hr[r]<e.Hr[n]?e.Hr[n]:e.Hr[r])+1,s[r].Zr=s[n].Zr=i,e.Ir[1]=i++,Mo(e,s,1)}while(e.Xr>=2);e.Ir[--e.Lr]=e.Ir[1],((e,t)=>{let r,n,i,s,o,a,c=t.Wt,l=t.Nt,f=t.At.Mt,u=t.At.Rt,d=t.At.Kt,w=t.At.Xt,h=0;for(s=0;ao>=s;s++)e.Wr[s]=0;for(c[e.Ir[e.Lr]].jr=0,r=e.Lr+1;oo>r;r++)n=e.Ir[r],s=c[c[n].Zr].jr+1,s>w&&(s=w,h++),c[n].jr=s,l>=n&&(e.Wr[s]++,o=0,n>=d&&(o=u[n-d]),a=c[n].Bt,e.hr+=a*(s+o),f&&(e.pr+=a*(f[n].jr+o)));if(0!=h){do{for(s=w-1;0==e.Wr[s];)s--;e.Wr[s]--,e.Wr[s+1]+=2,e.Wr[w]--,h-=2}while(h>0);for(s=w;0!=s;s--)for(n=e.Wr[s];0!=n;)i=e.Ir[--r],l>=i&&(c[i].jr!=s&&(e.hr+=(s-c[i].jr)*c[i].Bt,c[i].jr=s),n--)}})(e,t),((e,t,r)=>{let n,i,s=[],o=0;for(n=1;ao>=n;n++)o=o+r[n-1]<<1,s[n]=o;for(i=0;t>=i;i++){let t=e[i].jr;0!=t&&(e[i].Or=Ms(s[t]++,t))}})(s,t.Nt,e.Wr)}function Ko(e,t,r){let n,i,s=-1,o=t[0].jr,a=0,c=7,l=4;for(0==o&&(c=138,l=3),t[r+1].jr=65535,n=0;r>=n;n++)i=o,o=t[n+1].jr,(++a>=c||i!=o)&&(l>a?e.Br[i].Bt+=a:0!=i?(i!=s&&e.Br[i].Bt++,e.Br[16].Bt++):a>10?e.Br[18].Bt++:e.Br[17].Bt++,a=0,s=i,0==o?(c=138,l=3):i==o?(c=6,l=3):(c=7,l=4))}function Go(e,t,r){let n,i=-1,s=t[0].jr,o=0,a=7,c=4;0==s&&(a=138,c=3);for(let l=0;r>=l;l++)if(n=s,s=t[l+1].jr,++o>=a||n!=s){if(c>o)do{Ho(e,e.Br[n].Or,e.Br[n].jr)}while(0!=--o);else 0!=n?(n!=i&&(Ho(e,e.Br[n].Or,e.Br[n].jr),o--),Ho(e,e.Br[16].Or,e.Br[16].jr),Ho(e,o-3,2)):o>10?(Ho(e,e.Br[18].Or,e.Br[18].jr),Ho(e,o-11,7)):(Ho(e,e.Br[17].Or,e.Br[17].jr),Ho(e,o-3,3));o=0,i=n,0==s?(a=138,c=3):n==s?(a=6,c=3):(a=7,c=4)}}function Xo(e,t,r,n,i=0){Ho(e,0+n,3),Io(e),Ks(e,r),Ks(e,~r),r&&t&&Cs(e.Lt,e.Ot,t,i,r),e.Ot+=r}function Lo(e,t,r){let n,i,s,o,a=0;if(0!=e.jt)do{n=255&e.Ar[a],n+=(255&e.Ar[a+1])<<8,i=e.Ar[a+2],a+=3,0==n?Ho(e,t[i].Or,t[i].jr):(s=go[i],Ho(e,t[s+ro+1].Or,t[s+ro+1].jr),o=uo[s],0!=o&&(i-=Us[s],Ho(e,i,o)),n--,s=Os(n),Ho(e,r[s].Or,r[s].jr),o=wo[s],0!=o&&(n-=Ts[s],Ho(e,n,o)))}while(a<e.jt);Ho(e,t[co].Or,t[co].jr)}var Oo=[{_r:fa,$r:0,en:0,tn:0,rn:0},{_r:ua,$r:4,en:4,tn:8,rn:4},{_r:ua,$r:5,en:5,tn:16,rn:8},{_r:ua,$r:6,en:16,tn:32,rn:32},{_r:da,$r:4,en:4,tn:16,rn:16},{_r:da,$r:16,en:8,tn:16,rn:32},{_r:da,$r:16,en:16,tn:32,rn:128},{_r:da,$r:32,en:32,tn:128,rn:256},{_r:da,$r:128,en:128,tn:256,rn:1024},{_r:da,$r:258,en:258,tn:258,rn:4096}];function Zo(e){return 2*e-(e>4?9:0)}function jo(e,t,r){return((t<<e.sr^r)&e.ir)>>>0}function Bo(e,t){e.Pr=jo(e,e.Pr,e.Ut[t+(_s-1)]);let r=e.ar[t&e.tr]=e.cr[e.Pr];return e.cr[e.Pr]=t,r}function Yo(e){e.cr[e.nr-1]=0,Vs(e.cr,0,(e.nr-1)*e.cr.BYTES_PER_ELEMENT)}function Jo(e){let t,r,n=e.Ct;for(t=e.nr;t>0;)t--,r=e.cr[t],e.cr[t]=n>r?0:r-n;for(t=n;t>0;)t--,r=e.ar[t],e.ar[t]=n>r?0:r-n}function Qo(e,t,r,n){let i=e.bt;return i>n&&(i=n),0==i?0:(e.bt-=i,Cs(t,r,e.ht,e.yt,i),1==e.Pt.$t?e.vt=Fo(e.vt,new ms(t.buffer,t.byteOffset+r,i),i):2==e.Pt.$t&&(e.vt=qo(e.vt,new ms(t.buffer,t.byteOffset+r,i),i)),e.yt+=i,e.gt+=i,i)}function _o(e){let t,r,n=e.Ct;do{if(r=e.Kr-e.Fr-e.kr,0==r&&0==e.kr&&0==e.Fr?r=n:-1==r&&r--,e.kr>=n+Ls(e)&&(Cs(e.Ut,0,e.Ut,n,n-r),e.Gr-=n,e.kr-=n,e.gr-=n,e.yr>e.kr&&(e.yr=e.kr),Jo(e),r+=n),0==e.Tt.bt)break;if(t=Qo(e.Tt,e.Ut,e.kr+e.Fr,r),e.Fr+=t,e.Fr+e.yr>=_s){let t=e.kr-e.yr;for(e.Pr=e.Ut[t],e.Pr=jo(e,e.Pr,e.Ut[t+1]);e.yr&&(e.Pr=jo(e,e.Pr,e.Ut[t+_s-1]),e.ar[t&e.tr]=e.cr[e.Pr],e.cr[e.Pr]=t,t++,e.yr--,e.Fr+e.yr>=_s););}}while(e.Fr<eo&&0!=e.Tt.bt);if(e.qt<e.Kr){let t,r=e.kr+e.Fr;e.qt<r?(t=e.Kr-r,t>to&&(t=to),Vs(e.Ut,r,t),e.qt=r+t):e.qt<r+to&&(t=r+to-e.qt,t>e.Kr-e.qt&&(t=e.Kr-e.qt),Vs(e.Ut,e.qt,t),e.qt+=t)}}function $o(e){if(null==e)return!0;let t=e.Pt;return!t||t.Tt!=e||42!=t._t&&57!=t._t&&69!=t._t&&73!=t._t&&91!=t._t&&103!=t._t&&113!=t._t&&666!=t._t}function ea(e,t){Rs(e,t>>8),Rs(e,255&t)}function ta(e){let t,r=e.Pt;(e=>{Do(e)})(r),t=r.Ot,t>e.Ft&&(t=e.Ft),0!=t&&(Cs(e.xt,e.kt,r.Lt,r.wr,t),e.kt+=t,r.wr+=t,e.St+=t,e.Ft-=t,r.Ot-=t,0==r.Ot&&(r.wr=r.ur))}function ra(e,t){let r=e.Pt;r.er&&r.er.nn&&(e.vt=qo(e.vt,new ms(r.Lt.buffer,r.ur+t,r.Ot-t),r.Ot-t))}function na(e,t){let r,n=e.Pt;if($o(e)||t>5||0>t)return Ns(e,-2);if(!e.xt||0!=e.bt&&!e.ht||666==n._t&&4!=t)return Ns(e,-2);if(0==e.Ft)return Ns(e,-5);if(r=n.br,n.br=t,0!=n.Ot){if(ta(e),0==e.Ft)return n.br=lo,0}else if(0==e.bt&&Zo(t)<=Zo(r)&&4!=t)return Ns(e,-5);if(666==n._t&&0!=e.bt)return Ns(e,-5);if(42==n._t&&0==n.$t&&(n._t=113),42==n._t){let t,r=8+(n.Vt-8<<4)<<8;if(t=n.Ur>=2||2>n.Tr?0:6>n.Tr?1:6==n.Tr?2:3,r|=t<<6,0!=n.kr&&(r|=32),r+=31-r%31,ea(n,r),0!=n.kr&&(ea(n,e.vt>>16),ea(n,65535&e.vt)),e.vt=1,n._t=113,ta(e),0!=n.Ot)return n.br=lo,0}if(57==n._t)if(e.vt=qo(0),Rs(n,31),Rs(n,139),Rs(n,8),n.er)Rs(n,(n.er.sn?1:0)+(n.er.nn?2:0)+(null==n.er.an?0:4)+(null==n.er.cn?0:8)+(null==n.er.ln?0:16)),Rs(n,255&n.er.fn),Rs(n,n.er.fn>>>8&255),Rs(n,n.er.fn>>>16&255),Rs(n,n.er.fn>>>24&255),Rs(n,9==n.Tr?2:n.Ur>=2||2>n.Tr?4:0),Rs(n,255&n.er.un),null!=n.er.an&&(Rs(n,255&n.er.dn),Rs(n,n.er.dn>>>8&255)),n.er.nn&&(e.vt=qo(e.vt,n.Lt,n.Ot)),n.Mr=0,n._t=69;else if(Rs(n,0),Rs(n,0),Rs(n,0),Rs(n,0),Rs(n,0),Rs(n,9==n.Tr?2:n.Ur>=2||2>n.Tr?4:0),Rs(n,255),n._t=113,ta(e),0!=n.Ot)return n.br=lo,0;if(69==n._t){if(n.er&&null!=n.er.an){let t=n.Ot,r=(65535&n.er.dn)-n.Mr;for(;n.Ot+r>n.dr;){let i=n.dr-n.Ot;if(Cs(n.Lt,n.Ot,n.er.an,n.Mr,i),n.Ot=n.dr,ra(e,t),n.Mr+=i,ta(e),0!=n.Ot)return n.br=lo,0;t=0,r-=i}Cs(n.Lt,n.Ot,n.er.an,n.Mr,r),n.Ot+=r,ra(e,t),n.Mr=0}n._t=73}if(73==n._t){if(n.er&&n.er.cn&&n.er.cn.length){let t,r=n.Ot;do{if(n.Ot==n.dr){if(ra(e,r),ta(e),0!=n.Ot)return n.br=lo,0;r=0}t=n.er.cn[n.Mr++],Rs(n,t)}while(0!=t);ra(e,r),n.Mr=0}n._t=91}if(91==n._t){if(n.er&&n.er.ln&&n.er.ln.length){let t,r=n.Ot;do{if(n.Ot==n.dr){if(ra(e,r),ta(e),0!=n.Ot)return n.br=lo,0;r=0}t=n.er.ln[n.Mr++],Rs(n,t)}while(0!=t);ra(e,r)}n._t=103}if(103==n._t){if(n.er&&n.er.nn){if(n.Ot+2>n.dr&&(ta(e),0!=n.Ot))return n.br=lo,0;Rs(n,255&e.vt),Rs(n,e.vt>>>8&255),e.vt=qo(0)}if(n._t=113,ta(e),0!=n.Ot)return n.br=lo,0}if(0!=e.bt||0!=n.Fr||0!=t&&666!=n._t){let r=0==n.Tr?fa(n,t):2==n.Ur?((e,t)=>{let r=!1;for(;;){if(0==e.Fr&&(_o(e),0==e.Fr)){if(0==t)return 0;break}if(e.Sr=0,r=Xs(e,e.Ut[e.kr]),e.Fr--,e.kr++,r){let t=aa(e,!1);if(null!=t)return t}}if(e.yr=0,4==t)return aa(e,!0)??3;if(e.jt){let t=aa(e,!1);if(null!=t)return t}return 1})(n,t):3==n.Ur?((e,t)=>{let r,n,i,s;for(;;){if(e.Fr<=$s){if(_o(e),e.Fr<=$s&&0==t)return 0;if(0==e.Fr)break}if(e.Sr=0,e.Fr>=_s&&e.kr>0&&(i=e.kr-1,n=e.Ut[i],n==++i&&n==++i&&n==++i)){s=e.kr+$s;do{}while(n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&n==++i&&s>i);e.Sr=$s-(s-i),e.Sr>e.Fr&&(e.Sr=e.Fr)}if(e.Sr<_s?(r=Xs(e,e.Ut[e.kr]),e.Fr--,e.kr++):(e.kr,e.kr,e.Sr,r=Gs(e,1,e.Sr-_s),e.Fr-=e.Sr,e.kr+=e.Sr,e.Sr=0),r){let t=aa(e,!1);if(null!=t)return t}}if(e.yr=0,4==t)return aa(e,!0)??3;if(e.jt){let t=aa(e,!1);if(null!=t)return t}return 1})(n,t):Oo[n.Tr]._r(n,t);if((2==r||3==r)&&(n._t=666),0==r||2==r)return 0==e.Ft&&(n.br=lo),0;if(1==r&&(1==t?(e=>{Ho(e,2,3),Ho(e,yo[co].Or,yo[co].jr),Do(e)})(n):5!=t&&(Xo(n,null,0,0),3==t&&(Yo(n),0==n.Fr&&(n.kr=0,n.gr=0,n.yr=0))),ta(e),0==e.Ft))return n.br=lo,0}return 4!=t?0:n.$t>0?(2==n.$t?(Rs(n,255&e.vt),Rs(n,e.vt>>>8&255),Rs(n,e.vt>>>16&255),Rs(n,e.vt>>>24&255),Rs(n,255&e.gt),Rs(n,e.gt>>>8&255),Rs(n,e.gt>>>16&255),Rs(n,e.gt>>>24&255)):(ea(n,e.vt>>>16&65535),ea(n,65535&e.vt)),ta(e),n.$t>0&&(n.$t=-n.$t),0!=n.Ot?0:1):1}function ia(e){if($o(e))return-2;let t=e.Pt,r=t._t;return t.Ut=zs,t.ar=vs,t.cr=vs,t.Lt=zs,t.Ar=zs,t.Ir=new bs(0),t.Hr=zs,t.Wr=vs,t.Yt.length=0,t.Jt.length=0,t.Br.length=0,t.er=void 0,t.ur=0,t.wr=0,t.Zt=0,113==r?-3:0}function sa(e,t){let r,n,i=e.qr,s=e.kr,o=e.zr,a=e.Vr,c=e.kr>Ls(e)?e.kr-Ls(e):0,l=e.ar,f=e.tr,u=e.Ut[s],d=e.Ut[s+1],w=e.Ut[s+o-1],h=e.Ut[s+o];e.zr>=e.Cr&&(i>>=2),a>e.Fr&&(a=e.Fr);do{if(r=t,e.Ut[r+o]!=h||e.Ut[r+o-1]!=w||e.Ut[r]!=u||e.Ut[r+1]!=d)continue;let i=xs.min($s,e.Fr),c=2;for(;i>c&&e.Ut[s+c]==e.Ut[r+c];)c++;if(n=c,n>o){if(e.Gr=t,o=n,n>=a)break;w=e.Ut[s+o-1],h=e.Ut[s+o]}}while((t=l[t&f])>c&&0!=--i);return o>e.Fr?e.Fr:o}function oa(e,t){((e,t,r,n,i=0)=>{let s,o,a=0;e.Tr>0?(2==e.Tt.i&&(e.Tt.i=(e=>{let t,r=4093624447;for(t=0;31>=t;t++,r>>=1)if(1&r&&0!=e.Yt[t].Bt)return 0;if(0!=e.Yt[9].Bt||0!=e.Yt[10].Bt||0!=e.Yt[13].Bt)return 1;for(t=32;ro>t;t++)if(0!=e.Yt[t].Bt)return 1;return 0})(e)),Ro(e,e.Yr),Ro(e,e.Jr),a=(e=>{let t;for(Ko(e,e.Yt,e.Yr.Nt),Ko(e,e.Jt,e.Jr.Nt),Ro(e,e.Qr),t=so-1;t>=3&&0==e.Br[Ss[t]].jr;t--);return e.hr+=3*(t+1)+5+5+4,t})(e),s=e.hr+3+7>>3,o=e.pr+3+7>>3,(s>=o||4==e.Ur)&&(s=o)):s=o=r+5,s>=r+4&&t?Xo(e,t,r,n,i):o==s?(Ho(e,2+n,3),Lo(e,yo,bo)):(Ho(e,4+n,3),((e,t,r,n)=>{let i;for(Ho(e,t-257,5),Ho(e,r-1,5),Ho(e,n-4,4),i=0;n>i;i++)Ho(e,e.Br[Ss[i]].jr,3);Go(e,e.Yt,t-1),Go(e,e.Jt,r-1)})(e,e.Yr.Nt+1,e.Jr.Nt+1,a+1),Lo(e,e.Yt,e.Jt)),Wo(e),n&&Io(e)})(e,e.Ut,e.kr-e.gr,t,e.gr),e.gr=e.kr,ta(e.Tt)}function aa(e,t){return oa(e,t?1:0),0==e.Tt.Ft?t?2:0:null}var ca=65535;function la(e,t){return t>e?e:t}function fa(e,t){let r,n,i,s=la(e.dr-5,e.Ct),o=0,a=e.Tt.bt;do{if(r=ca,i=e.Ht+42>>3,e.Tt.Ft<i||(i=e.Tt.Ft-i,n=e.kr-e.gr,r>n+e.Tt.bt&&(r=n+e.Tt.bt),r>i&&(r=i),s>r&&(0==r&&4!=t||0==t||r!=n+e.Tt.bt)))break;o=4==t&&r==n+e.Tt.bt?1:0,Xo(e,null,0,o),e.Lt[e.Ot-4]=r,e.Lt[e.Ot-3]=r>>8,e.Lt[e.Ot-2]=~r,e.Lt[e.Ot-1]=~r>>8,ta(e.Tt),n&&(n>r&&(n=r),Cs(e.Tt.xt,e.Tt.kt,e.Ut,e.gr,n),e.Tt.kt+=n,e.Tt.Ft-=n,e.Tt.St+=n,e.gr+=n,r-=n),r&&(Qo(e.Tt,e.Tt.xt,e.Tt.kt,r),e.Tt.kt+=r,e.Tt.Ft-=r,e.Tt.St+=r)}while(0==o);if(a-=e.Tt.bt,a){if(a<e.Ct)e.Kr-e.kr<=a&&(e.kr-=e.Ct,Cs(e.Ut,0,e.Ut,e.Ct,e.kr),2>e.mr&&e.mr++,e.yr>e.kr&&(e.yr=e.kr)),Cs(e.Ut,e.kr,e.Tt.ht,e.Tt.yt-a,a),e.kr+=a,e.yr+=la(a,e.Ct-e.yr);else{e.mr=2;let t=e.Tt.yt-e.Ct;Cs(e.Ut,0,e.Tt.ht,t,e.Ct),e.kr=e.Ct,e.yr=e.kr}e.gr=e.kr}return e.qt<e.kr&&(e.qt=e.kr),o?(e.Nr=8,3):0!=t&&4!=t&&0==e.Tt.bt&&e.kr==e.gr?1:(i=e.Kr-e.kr,e.Tt.bt>i&&e.gr>=e.Ct&&(e.gr-=e.Ct,e.kr-=e.Ct,Cs(e.Ut,0,e.Ut,e.Ct,e.kr),2>e.mr&&e.mr++,i+=e.Ct,e.yr>e.kr&&(e.yr=e.kr)),i>e.Tt.bt&&(i=e.Tt.bt),i&&(Qo(e.Tt,e.Ut,e.kr,i),e.kr+=i,e.yr+=la(i,e.Ct-e.yr)),e.qt<e.kr&&(e.qt=e.kr),i=e.Ht+42>>3,i=la(e.dr-i,ca),s=la(i,e.Ct),n=e.kr-e.gr,(n>=s||(n||4==t)&&0!=t&&0==e.Tt.bt&&i>=n)&&(r=la(n,i),o=4==t&&0==e.Tt.bt&&r==n?1:0,Xo(e,e.Ut,r,o,e.gr),e.gr+=r,ta(e.Tt)),o&&(e.Nr=8),o?2:0)}function ua(e,t){let r,n=!1;for(;;){if(e.Fr<eo){if(_o(e),e.Fr<eo&&0==t)return 0;if(0==e.Fr)break}if(r=0,e.Fr>=_s&&(r=Bo(e,e.kr)),0!=r&&e.kr-r<=Ls(e)&&(e.Sr=sa(e,r)),e.Sr<_s)n=Xs(e,e.Ut[e.kr]),e.Fr--,e.kr++;else if(e.kr,e.Gr,e.Sr,n=Gs(e,e.kr-e.Gr,e.Sr-_s),e.Fr-=e.Sr,e.Sr>e.Dr||e.Fr<_s)e.kr+=e.Sr,e.Sr=0,e.Pr=e.Ut[e.kr],e.Pr=jo(e,e.Pr,e.Ut[e.kr+1]);else{e.Sr--;do{e.kr++,r=Bo(e,e.kr)}while(0!=--e.Sr);e.kr++}if(n){let t=aa(e,!1);if(null!=t)return t}}if(e.yr=e.kr<_s-1?e.kr:_s-1,4==t)return aa(e,!0)??3;if(e.jt){let t=aa(e,!1);if(null!=t)return t}return 1}function da(e,t){let r,n=!1;for(;;){if(e.Fr<eo){if(_o(e),e.Fr<eo&&0==t)return 0;if(0==e.Fr)break}if(r=0,e.Fr>=_s&&(r=Bo(e,e.kr)),e.zr=e.Sr,e.vr=e.Gr,e.Sr=_s-1,0!=r&&e.zr<e.Dr&&e.kr-r<=Ls(e)&&(e.Sr=sa(e,r),5>=e.Sr&&1==e.Ur&&(e.Sr=_s-1)),e.zr<_s||e.Sr>e.zr)if(e.Er){if(n=Xs(e,e.Ut[e.kr-1]),n&&oa(e,0),e.kr++,e.Fr--,0==e.Tt.Ft)return 0}else e.Er=1,e.kr++,e.Fr--;else{let t=e.kr+e.Fr-_s;e.kr,e.vr,e.zr,n=Gs(e,e.kr-1-e.vr,e.zr-_s),e.Fr-=e.zr-1,e.zr-=2;do{++e.kr<=t&&(r=Bo(e,e.kr))}while(0!=--e.zr);if(e.Er=0,e.Sr=_s-1,e.kr++,n){let t=aa(e,!1);if(null!=t)return t}}}if(e.Er&&(n=Xs(e,e.Ut[e.kr-1]),e.Er=0),e.yr=e.kr<_s-1?e.kr:_s-1,4==t)return aa(e,!0)??3;if(e.jt){let t=aa(e,!1);if(null!=t)return t}return 1}var wa=852,ha=Ts.map(e=>e+1),pa=Us.subarray(0,-1).map(e=>e+3),ma=Ps.map(Ta),ya=Ps.map(Ua);ma.push(64,2),ya.push(142,2);var ba=Es.slice(0,-2).map(Ta),ga=Es.slice(0,-2).map(Ua);ba.push(16,1,73,1,200,1),ga.push(144,1,72,1,78,1);var xa=new ys([...pa,258,0,0]),ka=new ys([...pa,3,0,0]),Fa=Is(ba),Sa=Is(ga),za=new ys([...ha,0,0]),va=new ys([...ha,32769,49153]),Ea=Is(ma),Pa=Is(ya);function Ta(e,t){return t%2?e:e+16}function Ua(e,t){return t%2?e:e+128}function Ca(e,t){let r,n=e.Pt,i=e.yt,s=e.kt,o=e.ht,a=e.xt,c=n.Ut,l=n.It>>>0,f=n.Ht>>>0,u=n.wn,d=n.hn,w=(1<<n.pn)-1,h=(1<<n.mn)-1,p=n.Ct>>>0,m=n.qt>>>0,y=n.Dt>>>0,b=n.yn,g=s-(t-e.Ft),x=s+(e.Ft-257),k=i+(e.bt-5),F=0,S=0,z=0,v=0;e:do{for(;15>f;){if(i>=o.length)break e;l+=o[i++]<<f,f+=8}for(r=u[l&w];;){if(z=r.bn,l>>>=z,f-=z,z=r.gn,0==z){a[s++]=r.xn;break}if(16&z){if(F=r.xn,z&=15,z){for(;z>f;){if(i>=o.length){n.kn=16200;break e}l+=o[i++]<<f,f+=8}F+=l&(1<<z)-1,l>>>=z,f-=z}for(;15>f;){if(i>=o.length){n.kn=16200;break e}l+=o[i++]<<f,f+=8}for(r=d[l&h];;){if(z=r.bn,l>>>=z,f-=z,z=r.gn,16&z){if(S=r.xn,z&=15,z){for(;z>f;){if(i>=o.length){n.kn=16200;break e}l+=o[i++]<<f,f+=8}S+=l&(1<<z)-1,l>>>=z,f-=z}let t=F,u=s-g;if(S>u){let r=S-u;if(r>m&&b){e.zt="invalid distance too far back",n.kn=16209;break e}if(0==y){if(v=p-r,r>=t){for(let e=0;t>e;++e)a[s++]=c[v++];continue e}for(let e=0;r>e;++e)a[s++]=c[v++];t-=r,v=s-S}else if(r>y){v=p+y-r;let e=r-y;if(e>=t){for(let e=0;t>e;++e)a[s++]=c[v++];continue e}for(let t=0;e>t;++t)a[s++]=c[v++];if(t-=e,v=0,t>y){for(let e=0;y>e;++e)a[s++]=c[v++];t-=y,v=s-S}}else{if(v=y-r,r>=t){for(let e=0;t>e;++e)a[s++]=c[v++];continue e}for(let e=0;r>e;++e)a[s++]=c[v++];t-=r,v=s-S}for(;t>2;)a[s++]=a[v++],a[s++]=a[v++],a[s++]=a[v++],t-=3;t&&(a[s++]=a[v++],t>1&&(a[s++]=a[v++]))}else{for(v=s-S;t>2;)a[s++]=a[v++],a[s++]=a[v++],a[s++]=a[v++],t-=3;t&&(a[s++]=a[v++],t>1&&(a[s++]=a[v++]))}break}if(64&z){e.zt="invalid distance code",n.kn=16209;break e}r=d[r.xn+(l&(1<<z)-1)]}break}if(64&z){if(32&z){n.kn=16191;break e}e.zt="invalid literal/length code",n.kn=16209;break e}r=u[r.xn+(l&(1<<z)-1)]}}while(k>i&&x>s);let E=f>>3;i-=E,f-=E<<3,l&=(1<<f)-1,e.yt=i,e.kt=s,e.bt=k>i?k-i+5:5-(i-k),e.Ft=x>s?x-s+257:257-(s-x),n.It=l>>>0,n.Ht=f>>>0}function Va(e,t){let r=[],n=t?1446:1444;return{...Ds(e,0),Tt:e,kn:16180,Fn:!1,$t:0,Sn:!1,zn:0,vn:0,En:0,Pn:0,Ut:zs,Tn:0,Un:0,an:0,wn:r,hn:r,pn:0,mn:0,Cn:0,Vn:0,qn:0,Dn:0,In:r,Hn:new ys(320),Wn:new ys(288),An:new Fs(n).fill(null).map(()=>qa()),Nn:0,yn:!0,Mn:0,Rn:0,Kn:t}}function qa(e=0,t=0,r=0){return{gn:e,bn:t,xn:r}}function Da(e=1){return{gn:64,bn:e,xn:0}}function Ia(e){return(255&e)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>24&255}var Ha={Kn:!1,Gn:xa,Xn:Fa,Ln:za,On:Ea,Zn:20,jn:257,Bn:0,Yn:592,Jn:!1,Qn:!0},Wa={Kn:!0,Gn:ka,Xn:Sa,Ln:va,On:Pa,Zn:19,jn:256,Bn:-1,Yn:594,Jn:!0,Qn:!1};function Aa(e,t,r,n,i,s,o,a){let c,l,f,u,d,w,h,p,m,y,b,g,x,k,F,S,z,v,E,P=new ys(16),T=new ys(16),U=a?Wa:Ha;for(c=0;15>=c;c++)P[c]=0;for(l=0;r>l;l++)P[t[l]]++;for(d=i._n,u=15;u>=1&&0==P[u];u--);if(d>u&&(d=u),0==u)return U.Qn?(F=Da(1),n._n[0]=F,n._n[1]=F,i._n=1,0):-1;for(f=1;u>f&&0==P[f];f++);for(f>d&&(d=f),p=1,c=1;15>=c;c++)if(p<<=1,p-=P[c],0>p)return-1;if(p>0&&(0==e||1!=u))return-1;for(T[1]=0,c=1;15>c;c++)T[c+1]=T[c]+P[c];for(l=0;r>l;l++)0!=t[l]&&(s[T[t[l]]++]=l);switch(e){case 0:z=v=s,E=U.Zn;break;case 1:z=U.Gn,v=U.Xn,E=U.jn;break;default:z=U.Ln,v=U.On,E=U.Bn}if(y=0,l=0,c=f,S=o._n,w=d,h=0,x=-1,m=1<<d,k=m-1,1==e&&(U.Jn?m>=wa:m>wa)||2==e&&(U.Jn?m>=U.Yn:m>U.Yn))return 1;for(;;){F=Na(s,l,c,h,e,z,v,E,U.Kn),b=1<<c-h,g=1<<w,f=g;do{g-=b;let e=(y>>h)+g;n._n[S+e]={...F}}while(0!=g);for(b=1<<c-1;y&b;)b>>=1;if(0!=b?(y&=b-1,y+=b):y=0,l++,0==--P[c]){if(c==u)break;c=t[s[l]]}if(c>d&&(y&k)!=x){for(0==h&&(h=d),S+=1<<w,w=c-h,p=1<<w;u>w+h&&(p-=P[w+h],p>0);)w++,p<<=1;if(m+=1<<w,1==e&&(U.Jn?m>=wa:m>wa)||2==e&&(U.Jn?m>=U.Yn:m>U.Yn))return 1;x=y&k,n._n[o._n+x]={gn:w,bn:d,xn:S-o._n}}}if(0!=y)for(F=Da(c-h);0!=y;){for(0!=h&&(y&k)!=x&&(h=0,c=d,S=o._n,w=d,F.bn=c),n._n[S+(y>>h)]={...F},b=1<<c-1;y&b;)b>>=1;0!=b?(y&=b-1,y+=b):y=0}return o._n+=m,i._n=d,0}function Na(e,t,r,n,i,s,o,a,c){let l;if(c?e[t]<a:e[t]+1<a)l=qa(0,r-n,e[t]);else if(c?e[t]>a:e[t]>=a)if(c&&1==i){let i=e[t]-257;l=qa(o[i],r-n,s[i])}else{let i=c?e[t]:e[t]-a;l=qa(o[i],r-n,s[i])}else l=((e=0)=>({gn:96,bn:e,xn:0}))(r-n);return l}var Ma={$n:!0,ei:new Fs(544),ti:[],ri:[]},Ra={$n:!0,ei:new Fs(544),ti:[],ri:[]};function Ka(e){let t;return!(e&&(t=e.Pt,!(!t||t.Tt!=e||t.Kn&&(16191>t.kn||t.kn>16209)||!t.Kn&&(16180>t.kn||t.kn>16211))))}function Ga(e){let t=e.Kn?Ra:Ma,r={_n:0};if(t.$n){let n,i,s;for(n=0;144>n;)e.Hn[n++]=8;for(;256>n;)e.Hn[n++]=9;for(;280>n;)e.Hn[n++]=7;for(;288>n;)e.Hn[n++]=8;for(let e=0;544>e;e++)t.ei[e]=qa();s=t.ei,t.ti=s,i=9;let o={_n:s},a={_n:i},c={_n:0};for(Aa(1,e.Hn,288,o,a,e.Wn,c,e.Kn),s=o._n,i=a._n,e.Nn=c._n,n=0;32>n;)e.Hn[n++]=5;i=5;let l=c._n,f={_n:s},u={_n:i};r._n=l,Aa(2,e.Hn,32,f,u,e.Wn,r,e.Kn),t.ri=s.slice(l),t.$n=!1}e.wn=t.ti,e.pn=9,e.hn=t.ri,e.mn=5,e.Nn=r._n}var Xa=class extends ks{constructor(){super("Need more input")}};function La(e,t){let r,n,i,s,o,a,c,l,f,u,d,w,h,p,m,y,b,g=new ms(4);if(Ka(e)||!e.xt||!e.ht&&0!=e.bt)return-2;a=0,l=0,c=0,f=0,n=zs,i=0,s=zs,o=0,r=e.Pt,16191==r.kn&&(r.kn=16192),z(),u=a,d=c,b=0;try{for(;;)switch(r.kn){case 16180:if(0==r.$t){r.kn=16192;break}if(T(16),2&r.$t&&35615==l){0==r.Vt&&(r.Vt=15),r.En=qo(0),r.En=F(r.En,l),E(),r.kn=16181;break}if(r.er&&(r.er.ni=-1),!(1&r.$t)||((U(8)<<8)+(l>>8))%31){e.zt="incorrect header check",r.kn=16209;break}if(8!=U(4)){e.zt="unknown compression method",r.kn=16209;break}if(C(4),y=U(4)+8,0==r.Vt&&(r.Vt=y),y>15||y>r.Vt){e.zt="invalid window size",r.kn=16209;break}r.vn=1<<y,r.zn=0,e.vt=r.En=Fo(0),r.kn=512&l?16189:16191,E();break;case 16181:if(T(16),r.zn=l,8!=(255&r.zn)){e.zt="unknown compression method",r.kn=16209;break}if(57344&r.zn){e.zt="unknown header flags set",r.kn=16209;break}r.er&&(r.er.sn=l>>8&1),512&r.zn&&4&r.$t&&(r.En=F(r.En,l)),E(),r.kn=16182;case 16182:T(32),r.er&&(r.er.fn=l),512&r.zn&&4&r.$t&&(r.En=S(r.En,l)),E(),r.kn=16183;case 16183:T(16),r.er&&(r.er.ii=255&l,r.er.un=l>>8),512&r.zn&&4&r.$t&&(r.En=F(r.En,l)),E(),r.kn=16184;case 16184:1024&r.zn?(T(16),r.Tn=l,r.er&&(r.er.dn=l),512&r.zn&&4&r.$t&&(r.En=F(r.En,l)),E()):r.er&&(r.er.an=zs),r.kn=16185;case 16185:if(1024&r.zn&&(w=r.Tn,w>a&&(w=a),w&&(r.er&&r.er.an&&r.er.si&&(y=r.er.dn-r.Tn)<r.er.si&&Cs(r.er.an,y,n,i,w),512&r.zn&&4&r.$t&&(r.En=qo(r.En,n.subarray(i,i+w),w)),a-=w,i+=w,r.Tn-=w),r.Tn))return x();r.Tn=0,r.kn=16186;case 16186:if(2048&r.zn){if(0==a)return x();w=0;do{y=n[i+w++],r.er&&r.er.oi&&r.Tn<r.er.oi&&(r.er.cn[r.Tn++]=y)}while(y&&a>w);if(512&r.zn&&4&r.$t&&(r.En=qo(r.En,n.subarray(i,i+w),w)),a-=w,i+=w,y)return x()}else r.er&&(r.er.cn=zs);r.Tn=0,r.kn=16187;case 16187:if(4096&r.zn){if(0==a)return x();w=0;do{y=n[i+w++],r.er&&r.er.ai&&r.Tn<r.er.ai&&(r.er.ln[r.Tn++]=y)}while(y&&a>w);if(512&r.zn&&4&r.$t&&(r.En=qo(r.En,n.subarray(i,i+w),w)),a-=w,i+=w,y)return x()}else r.er&&(r.er.ln=zs);r.kn=16188;case 16188:if(512&r.zn){if(T(16),4&r.$t&&l!=(65535&r.En)){e.zt="header crc mismatch",r.kn=16209;break}E()}r.er&&(r.er.nn=r.zn>>9&1,r.er.ni=1),e.vt=r.En=qo(0),r.kn=16191;break;case 16189:T(32),e.vt=r.En=Ia(l),E(),r.kn=16190;case 16190:if(!r.Sn)return v(),2;e.vt=r.En=Fo(0),r.kn=16191;case 16191:if(5==t||6==t)return x();case 16192:if(r.Fn){V(),r.kn=16206;break}switch(T(3),r.Fn=!!U(1),C(1),U(2)){case 0:r.kn=16193;break;case 1:if(Ga(r),r.kn=16199,6==t)return C(2),x();break;case 2:r.kn=16196;break;case 3:e.zt="invalid block type",r.kn=16209}C(2);break;case 16193:if(V(),T(32),(65535&l)!=(l>>>16^65535)){e.zt="invalid stored block lengths",r.kn=16209;break}if(r.Tn=65535&l,E(),r.kn=16194,6==t)return x();case 16194:r.kn=16195;case 16195:if(w=r.Tn,w){if(w>a&&(w=a),w>c&&(w=c),0==w)return x();Cs(s,o,n,i,w),a-=w,i+=w,c-=w,o+=w,r.Tn-=w;break}r.kn=16191;break;case 16196:if(T(14),r.Vn=U(5)+257,C(5),r.qn=U(5)+1,C(5),r.Cn=U(4)+4,C(4),r.Vn>286||!r.Kn&&r.qn>30){e.zt=r.Kn?"too many length":"too many length or distance symbols",r.kn=16209;break}r.Dn=0,r.kn=16197;case 16197:for(;r.Dn<r.Cn;)T(3),r.Hn[Ss[r.Dn++]]=U(3),C(3);for(;19>r.Dn;)r.Hn[Ss[r.Dn++]]=0;r.In=r.An,r.wn=r.hn=r.In,r.pn=7;let u={_n:r.In},g={_n:r.pn},q={_n:0};if(b=Aa(0,r.Hn,19,u,g,r.Wn,q,r.Kn),r.In=u._n,r.pn=g._n,b){e.zt="invalid code lengths set",r.kn=16209;break}r.Dn=0,r.kn=16198;case 16198:for(;r.Dn<r.Vn+r.qn;){for(;p=r.wn[U(r.pn)],p.bn>f;)P();if(16>p.xn)C(p.bn),r.Hn[r.Dn++]=p.xn;else{if(16==p.xn){if(T(p.bn+2),C(p.bn),0==r.Dn){e.zt="invalid bit length repeat",r.kn=16209;break}y=r.Hn[r.Dn-1],w=3+U(2),C(2)}else 17==p.xn?(T(p.bn+3),C(p.bn),y=0,w=3+U(3),C(3)):(T(p.bn+7),C(p.bn),y=0,w=11+U(7),C(7));if(r.Dn+w>r.Vn+r.qn){e.zt="invalid bit length repeat",r.kn=16209;break}for(;w--;)r.Hn[r.Dn++]=y}}if(16209==r.kn)break;if(0==r.Hn[256]){e.zt="invalid code -- missing end-of-block",r.kn=16209;break}r.In=r.An,r.pn=9;let D={_n:r.In},I={_n:r.pn},H={_n:0};b=Aa(1,r.Hn,r.Vn,D,I,r.Wn,H,r.Kn),r.In=D._n,r.pn=I._n;let W=H._n;if(r.wn=r.In.slice(0,W),b){e.zt="invalid literal/lengths set",r.kn=16209;break}r.mn=6;let A=r.Hn.subarray(r.Vn,r.Vn+r.qn),N={_n:r.In},M={_n:r.mn},R={_n:W};if(b=Aa(2,A,r.qn,N,M,r.Wn,R,r.Kn),r.In=N._n,r.mn=M._n,r.hn=r.In.slice(W),b){e.zt="invalid distances set",r.kn=16209;break}if(r.kn=16199,6==t)return x();case 16199:r.kn=16200;case 16200:if(!r.Kn&&a>=6&&c>=258){v(),Ca(e,d),z(),16191==r.kn&&(r.Mn=-1);break}for(r.Mn=0;p=r.wn[U(r.pn)],p.bn>f;)P();if(p.gn&&!(240&p.gn)){for(m=p;p=r.wn[m.xn+(U(m.bn+m.gn)>>m.bn)],m.bn+p.bn>f;)P();C(m.bn),r.Mn+=m.bn}if(C(p.bn),r.Mn+=p.bn,r.Tn=p.xn,0==p.gn){r.kn=16205;break}if(32&p.gn){r.Mn=-1,r.kn=16191;break}if(64&p.gn){e.zt="invalid literal/length code",r.kn=16209;break}r.an=p.gn&(r.Kn?31:15),r.kn=16201;case 16201:r.an&&(T(r.an),r.Tn+=U(r.an),C(r.an),r.Mn+=r.an),r.Rn=r.Tn,r.kn=16202;case 16202:for(;p=r.hn[U(r.mn)],p.bn>f;)P();if(!(240&p.gn)){for(m=p;p=r.hn[m.xn+(U(m.bn+m.gn)>>m.bn)],m.bn+p.bn>f;)P();C(m.bn),r.Mn+=m.bn}if(C(p.bn),r.Mn+=p.bn,64&p.gn){e.zt="invalid distance code",r.kn=16209;break}r.Un=p.xn,r.an=15&p.gn,r.kn=16203;case 16203:r.an&&(T(r.an),r.Un+=U(r.an),C(r.an),r.Mn+=r.an),r.kn=16204;case 16204:if(0==c)return x();if(w=d-c,r.Un>w){if(w=r.Un-w,w>r.qt&&r.yn){e.zt="invalid distance too far back",r.kn=16209;break}w>r.Dt?(w-=r.Dt,h=r.Ct-w):h=r.Dt-w,w>r.Tn&&(w=r.Tn),w>c&&(w=c);for(let e=0;w>e;++e)s[o]=255&r.Ut[h],++o,++h}else{h=o-r.Un,w=r.Tn,w>c&&(w=c);for(let e=0;w>e;++e)s[o]=s[h],++o,++h}w>c&&(w=c),c-=w,r.Tn-=w,0==r.Tn&&(r.kn=16200);break;case 16205:if(0==c)return x();s[o++]=r.Tn,c--,r.kn=16200;break;case 16206:if(r.$t){if(T(32),d-=c,e.St+=d,r.Pn+=d,4&r.$t&&d){let t=s.subarray(o-d,o);e.vt=r.En=k(r.En,t,d)}if(d=c,4&r.$t&&(r.zn?l:Ia(l)>>>0)!=r.En){e.zt="incorrect data check",r.kn=16209;break}E()}r.kn=16207;case 16207:if(r.$t&&r.zn){if(T(32),4&r.$t&&l!=(4294967295&r.Pn)){e.zt="incorrect length check",r.kn=16209;break}E()}r.kn=16208;case 16208:return b=1,x();case 16209:return b=-3,x();case 16210:return-4;default:return-2}}catch(e){if(e instanceof Xa)return x();throw e}function x(){if(v(),r.Ct||d!=e.Ft&&16209>r.kn&&(r.Kn?16208>r.kn:16206>r.kn)||4!=t){let t=d-e.Ft;if(((e,t,r)=>{let n=e.Pt;if(!(n.Ut&&0!=n.Ut.length||(n.Ut=new ms(1<<n.Vt),n.Ut)))return 1;if(0==n.Ct&&(n.Ct=1<<n.Vt,n.Dt=0,n.qt=0),r<n.Ct){let e=n.Ct-n.Dt;e>r&&(e=r),Cs(n.Ut,n.Dt,t,t.length-r,e),(r-=e)?(Cs(n.Ut,0,t,t.length-r,r),n.Dt=r,n.qt=n.Ct):(n.Dt+=e,n.Dt==n.Ct&&(n.Dt=0),n.qt<n.Ct&&(n.qt+=e))}else Cs(n.Ut,0,t,t.length-n.Ct,n.Ct),n.Dt=0,n.qt=n.Ct;return 0})(e,e.xt.subarray(e.kt-t,e.kt),t))return r.kn=16210,-4}return u-=e.bt,d-=e.Ft,e.gt+=u,e.St+=d,r.Pn+=d,4&r.$t&&d&&(e.vt=r.En=k(r.En,e.xt.subarray(e.kt-d,e.kt),d)),e.i=r.Ht+(r.Fn?64:0)+(16191==r.kn?128:0)+(16199==r.kn||16194==r.kn?256:0),(0==u&&0==d&&0==b||4==t&&0==b)&&(b=-5),b}function k(e,t,n){return r.zn?qo(e,t,n):Fo(e,t,n)}function F(e,t){return g[0]=255&t,g[1]=t>>>8&255,qo(e,g,2)>>>0}function S(e,t){return g[0]=255&t,g[1]=t>>>8&255,g[2]=t>>>16&255,g[3]=t>>>24&255,qo(e,g,4)>>>0}function z(){s=e.xt,o=e.kt,c=e.Ft,n=e.ht,i=e.yt,a=e.bt,l=r.It,f=r.Ht}function v(){e.xt=s,e.kt=o,e.Ft=c,e.ht=n,e.yt=i,e.bt=a,r.It=l,r.Ht=f}function E(){l=0,f=0}function P(){if(0==a)throw new Xa;a--,l+=(255&n[i])<<f,i++,l>>>=0,f+=8}function T(e){for(;e>f;)P()}function U(e){return l&(1<<e)-1}function C(e){l>>>=e,f-=e}function V(){l>>>=7&f,f-=7&f}}function Oa(e){return Ka(e)?-2:0}var Za=65536,ja=class{constructor(e=16,t=Za){this.ci=[],this.li=e;for(let r=0;r<xs.min(e,4);r++)this.ci.push(new ms(t))}fi(e=Za){for(let t=this.ci.length-1;t>=0;t--){let r=this.ci[t];if(r.length>=e)return this.ci.splice(t,1),r}return new ms(e)}release(e){this.ci.length<this.li&&this.ci.push(e)}};function Ba(e){let t=new ja(32,Za),r=null;function n(e){try{t.release(e)}catch{}}return new gs({start(){},transform(i,s){if(!r){let t=e.ui(),n=e.di(t);if(0!=n&&0!=n)throw new ks("init failed: "+n);r={Tt:t}}let o=r.Tt,a=0;for(;a<i.length;){let r=xs.min(i.length-a,32768),c=i.subarray(a,a+r);for(o.ht=c,o.yt=0,o.bt=c.length;o.bt>0;){let r=t.fi(),i=!1;try{o.xt=r,o.kt=0,o.Ft=r.length;let n=e.wi(o,0),a=r.length-o.Ft;if(a>0){let e=!1,n={hi:r.subarray(0,a),release:()=>{e||(e=!0,t.release(r))}};i=!0,s.enqueue(n)}if(0!=n&&1!=n)throw new ks("process error: "+n)}finally{i||n(r)}}a+=r}},flush(i){if(!r)return;let s=r.Tt;for(;;){let r=t.fi(),o=!1;try{s.xt=r,s.kt=0,s.Ft=r.length;let n=e.wi(s,4),a=r.length-s.Ft;if(a>0){let e=!1,n={hi:r.subarray(0,a),release:()=>{e||(e=!0,t.release(r))}};o=!0,i.enqueue(n)}if(1==n)break;if(0!=n)throw new ks("finalization error: "+n)}finally{o||n(r)}}let o=e.pi(s);if(0!=o&&0!=o)throw new ks("end failed: "+o)}})}function Ya(){return new gs({start(){},transform(e,t){try{t.enqueue(e.hi.slice(0))}finally{e.release()}},flush(){}})}fe({workerURI:"./core/web-worker-native.js",wasmURI:null,CompressionStreamZlib:class{constructor(e="deflate",t){let r=function(e="deflate",t){let r="gzip"==e?31:"deflate-raw"==e?-15:15,n=t&&"number"==typeof t.level?t.level:-1;return Ba({ui:()=>(()=>{let e=qs();return e.Pt=Zs(e),e})(),di:e=>((e,t,r=8,n=15,i=Qs,s=0)=>{let o=1;if(!e)return-2;if(e.zt="",-1==t&&(t=6),0>n){if(o=0,-15>n)return-2;n=-n}else n>15&&(o=2,n-=16);if(1>i||i>9||8!=r||8>n||n>15||0>t||t>9||0>s||s>4||8==n&&1!=o)return-2;8==n&&(n=9);let a=Zs(e);return a?(e.Pt=a,a.Tt=e,a._t=42,a.$t=o,a.er=void 0,a.Vt=n,a.Ct=1<<a.Vt,a.tr=a.Ct-1,a.rr=i+7,a.nr=1<<a.rr,a.ir=a.nr-1,a.sr=(a.rr+_s-1)/_s,a.Ut=new ms(2*a.Ct),a.ar=new ys(a.Ct),a.cr=new ys(a.nr),a.qt=0,a.lr=1<<i+6,a.Lt=new ms(4*a.lr),a.dr=4*a.lr,a.Ut&&a.ar&&a.cr&&a.Lt?(a.Ar=a.Lt.subarray(a.lr),a.Zt=a.ur+a.lr,a.Qt=3*(a.lr-1),a.Tr=t,a.Ur=s,a.Rr=r,(e=>{let t=(e=>{let t;return $o(e)?-2:(e.gt=e.St=0,e.zt="",e.i=2,t=e.Pt,t.Ot=0,t.wr=t.ur,0>t.$t&&(t.$t=-t.$t),t._t=2==t.$t?57:42,e.vt=2==t.$t?qo(0):Fo(0),t.br=-2,(e=>{if(e.Yt&&e.Yt.length>=oo)for(let t=0;oo>t;t++)e.Yt[t]=Bs();else{e.Yt=[];for(let t=0;oo>t;t++)e.Yt.push(Bs())}if(e.Jt&&e.Jt.length>=2*io+1)for(let t=0;2*io+1>t;t++)e.Jt[t]=Bs();else{e.Jt=[];for(let t=0;2*io+1>t;t++)e.Jt.push(Bs())}if(e.Br&&e.Br.length>=2*so+1)for(let t=0;2*so+1>t;t++)e.Br[t]=Bs();else{e.Br=[];for(let t=0;2*so+1>t;t++)e.Br.push(Bs())}e.Yr=new Hs(e.Yt,new Ws(yo,uo,ro+1,no,ao)),e.Jr=new Hs(e.Jt,new Ws(bo,wo,0,io,ao)),e.Qr=new Hs(e.Br,new Ws(null,ho,0,so,7)),e.It=0,e.Ht=0,e.Nr=0,Wo(e)})(t),0)})(e);return 0==t&&(e=>{e.Kr=2*e.Ct,Yo(e),e.Dr=Oo[e.Tr].$r,e.Cr=Oo[e.Tr].en,e.Vr=Oo[e.Tr].tn,e.qr=Oo[e.Tr].rn,e.kr=0,e.gr=0,e.Fr=0,e.yr=0,e.Sr=e.zr=_s-1,e.Er=0,e.Pr=0})(e.Pt),t})(e)):(a._t=666,e.zt=As(-4),ia(e),-4)):-4})(e,n,8,r,8,0),wi:na,pi:ia})}(e,t);this.writable=r.writable,this.readable=r.readable.pipeThrough(Ya())}},DecompressionStreamZlib:class{constructor(e="deflate"){let t=((e="deflate")=>{let t="gzip"==e?31:"deflate-raw"==e?-15:"deflate64-raw"==e?-16:15;return Ba({ui:()=>(()=>{let e=qs();return e.Pt=Va(e,!1),e})(),di:e=>function(e,t){let r,n;if(!e)return-2;e.zt="";let i=-16==t;return n=Va(e,i),e.Pt=n,n.Tt=e,n.kn=i?16191:16180,r=((e,t)=>{let r,n;if(Ka(e))return-2;if(n=e.Pt,0>t){if(-16>t)return-2;r=0,n.Kn=-16==t,t=-t}else r=5+(t>>4),n.Kn=!1,48>t&&(t&=15);let i=n.Kn?16:15;return t&&(8>t||t>i)?-2:(n.Ut.length>0&&n.Vt!=t&&(n.Ut=zs),n.$t=r,n.Vt=t,(e=>{let t;return Ka(e)?-2:(t=e.Pt,t.Ct=0,t.qt=0,t.Dt=0,(e=>{let t;return Ka(e)?-2:(t=e.Pt,e.gt=e.St=t.Pn=0,e.zt="",t.$t&&(e.vt=1&t.$t),t.kn=t.Kn?16191:16180,t.Fn=!1,t.Sn=!1,t.zn=-1,t.vn=t.Kn?65536:32768,delete t.er,t.It=0,t.Ht=0,t.wn=t.An,t.hn=t.An,t.In=t.An,t.yn=!0,t.Mn=-1,0)})(e))})(e))})(e,t),r}(e,t),wi:La,pi:Oa})})(e);this.writable=t.writable,this.readable=t.readable.pipeThrough(Ya())}}}),fe({workerURI:e=>{const t="text/javascript",r=(e=>{let t=0,r=0,n=0,i=new w(1024),s=0,o=0;for(;!o;){o=c(1);const e=c(2);if(0==e)l();else if(1==e)f(be(me),be(ye));else{if(2!=e)throw d("invalid deflate block type");f(...u())}}return i.subarray(0,s);function a(){if(t>=e.length)throw d("unexpected end of deflate data");return e[t++]}function c(e){for(;e>n;)r|=a()<<n,n+=8;const t=r&(1<<e)-1;return r>>>=e,n-=e,t}function l(){r=0,n=0;const e=a()|a()<<8;t+=2,p(s+e);for(let t=0;e>t;t++)i[s++]=a()}function f(e,t){let r=h(e);for(;256!=r;){if(256>r)p(s+1),i[s++]=r;else{const e=r-257,n=ue[e]+c(de[e]),o=h(t),a=we[o]+c(he[o]);p(s+n);const l=s-a;for(let e=0;n>e;e++)i[s++]=i[l+e]}r=h(e)}}function u(){const e=c(5)+257,t=c(5)+1,r=c(4)+4,n=new w(19);for(let e=0;r>e;e++)n[pe[e]]=c(3);const i=be(n),s=new w(e+t);let o=0;for(;o<s.length;){const e=h(i);if(16>e)s[o++]=e;else if(16==e){const e=s[o-1];let t=c(2)+3;for(;t--;)s[o++]=e}else o+=17==e?c(3)+3:c(7)+11}return[be(s.subarray(0,e)),be(s.subarray(e))]}function h(e){const{i:t,symbols:r}=e;let n=0,i=0,s=0;for(let e=1;15>=e;e++){n|=c(1);const o=t[e];if(o>n-i)return r[s+(n-i)];s+=o,i=i+o<<1,n<<=1}throw d("invalid huffman code")}function p(e){if(i.length<e){let t=2*i.length;for(;e>t;)t*=2;const r=new w(t);r.set(i.subarray(0,s)),i=r}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let n=0;t>n;n+=4){const t=ge.indexOf(e[n])<<18|ge.indexOf(e[n+1])<<12|(63&ge.indexOf(e[n+2]))<<6|63&ge.indexOf(e[n+3]);r.push(t>>16&255),"="!==e[n+2]&&r.push(t>>8&255),"="!==e[n+3]&&r.push(255&t)}return new w(r)})("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"));if(e){const e=new y([r],{type:t});return u.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const r=e.length;let n=0;for(;r>n+2;n+=3){const r=e[n]<<16|e[n+1]<<8|e[n+2];t+=ge[r>>18&63]+ge[r>>12&63]+ge[r>>6&63]+ge[63&r]}const i=r-n;if(1===i){const r=e[n]<<16;t+=ge[r>>18&63]+ge[r>>12&63]+"=="}else if(2===i){const r=e[n]<<16|e[n+1]<<8;t+=ge[r>>18&63]+ge[r>>12&63]+ge[r>>6&63]+"="}return t})(r)}}),e.BlobReader=Sr,e.BlobWriter=zr,e.Data64URIReader=class extends kr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,mi:n,size:o.floor(.75*(t-n))})}readUint8Array(e,t){const{mi:r,dataURI:n}=this,i=new w(t),s=4*o.floor(e/3),a=atob(n.substring(s+r,4*o.ceil((e+t)/3)+r)),c=e-3*o.floor(s/4);let l=0;for(let e=c;c+t>e&&e<a.length;e++)i[e-c]=a.charCodeAt(e),l++;return l<i.length?i.subarray(0,l):i}},e.Data64URIWriter=class extends Fr{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,i=t.pending;const s=t.pending.length;for(t.pending="",r=0;r<3*o.floor((s+e.length)/3)-s;r++)i+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);i.length>2?t.data+=S(i):t.pending=i+t.pending}getData(){return this.data+S(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=_n,e.ERR_BAD_FORMAT=Kn,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Ln,e.ERR_DUPLICATED_NAME=Ti,e.ERR_ENCRYPTED=jn,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Xn,e.ERR_EOCDR_NOT_FOUND=Gn,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Zn,e.ERR_HTTP_RANGE=dr,e.ERR_INVALID_COMMENT=Ui,e.ERR_INVALID_COMPRESSED_DATA=vt,e.ERR_INVALID_ENCRYPTION_STRENGTH=Di,e.ERR_INVALID_ENTRY_COMMENT=Ci,e.ERR_INVALID_ENTRY_NAME=Vi,e.ERR_INVALID_EXTRAFIELD_DATA=Hi,e.ERR_INVALID_EXTRAFIELD_TYPE=Ii,e.ERR_INVALID_PASSWORD=Ae,e.ERR_INVALID_SIGNATURE=Ne,e.ERR_INVALID_UNCOMPRESSED_SIZE=zt,e.ERR_INVALID_VERSION=qi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=wr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=On,e.ERR_OVERLAPPING_ENTRY=Qn,e.ERR_SPLIT_ZIP_FILE=Jn,e.ERR_UNDEFINED_READER=Ri,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Mi,e.ERR_UNSUPPORTED_COMPRESSION=Yn,e.ERR_UNSUPPORTED_ENCRYPTION=Bn,e.ERR_UNSUPPORTED_FORMAT=Ni,e.ERR_WRITER_NOT_INITIALIZED=hr,e.ERR_ZIP_NOT_EMPTY=Ki,e.HttpRangeReader=class extends Nr{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Nr,e.Reader=kr,e.SplitDataReader=Mr,e.SplitDataWriter=Rr,e.TextReader=class extends Sr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends zr{constructor(e){super(e),r.assign(this,{encoding:e,yi:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,yi:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new b((i,s)=>{r.assign(t,{onload:({target:e})=>i(e.result),onerror:()=>s(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends kr{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Fr{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new w(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new w(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=Fr,e.ZipReader=ni,e.ZipReaderStream=class{constructor(e={}){const{readable:t,writable:r}=new z,n=new ni(t,e).getEntriesGenerator();this.readable=new v({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const i={...r,readable:(()=>{const{readable:e,writable:t}=new z;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete i.getData,e.enqueue(i)}}),this.writable=r}},e.ZipWriter=ji,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new z;this.readable=t,this.zipWriter=new ji(r,e),this.He=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:i}=new z({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Bi(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:i}}writable(e){let t;const{readable:r,writable:n}=new z({start(e){t=e}});return Bi(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await b.all(t.from(this.He)),this.zipWriter.close(e,r)}},e.configure=fe,e.createOPFSTempStream=(e={})=>{const{thresholdBytes:t=hs,directoryName:r=ps,getDirectory:n=()=>U.storage.getDirectory()}=e;let i;function s(){return i||(i=b.resolve(n()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return()=>{const e=[];let r,n,i,o,a=0,c=!1;const l=new E({async write(o){c?await i.write(o):(e.push(o),a+=o.length,a>t&&await(async()=>{const t=await s();r=F.randomUUID(),n=await t.getFileHandle(r,{create:!0}),i=(await n.createWritable()).getWriter(),c=!0;for(const t of e)await i.write(t);e.length=0})())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new v({async pull(t){if(c){if(!o){const e=await n.getFile();o=e.stream().getReader()}const{value:e,done:r}=await o.read();r?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}n=r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.terminateWorkers=async()=>{await b.allSettled(er.map(e=>(fr(e),e.terminate())))}});
|