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