@zip.js/zip.js 2.11.3 → 2.11.4
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/deno.json +1 -1
- package/dist/zip-core-external.js +36 -23
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +36 -23
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +36 -25
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +36 -25
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +36 -25
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +36 -25
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +36 -25
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +36 -23
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +36 -23
- package/dist/zip-native.min.js +1 -1
- package/dist/zip.js +36 -23
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +36 -25
- package/index-native.min.js +1 -1
- package/index.cjs +36 -25
- package/index.d.cts +12 -0
- package/index.d.ts +12 -0
- package/index.min.js +1 -1
- package/lib/core/io.js +7 -5
- package/lib/core/options.js +13 -0
- package/lib/core/version.js +1 -1
- package/lib/core/zip-fs.js +1 -3
- package/lib/core/zip-reader.js +20 -17
- package/lib/core/zip-writer.js +2 -0
- package/package.json +1 -1
package/dist/zip-legacy.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(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:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:g,TextEncoder:E,TextDecoder:S,document:b,crypto:A,btoa:z,TransformStream:R,ReadableStream:F,WritableStream:D,CompressionStream:x,DecompressionStream:C,navigator:T,Worker:O,Symbol:N,setTimeout:v,clearTimeout:I,structuredClone:k}="undefined"!=typeof globalThis?globalThis:self;var M=void 0!==b?b.currentScript:null;const B=4294967295,U=65535,W=255,L=67324752,P=134695760,V=P,H=84233040,q=33639248,Z=101010256,K=101075792,Y=117853008,G=46,X=22,j=20,Q=56,J=21589,_=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,ue="undefined",le="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",ge="useCompressionStream",Ee="transferStreams",Se="preventClose",be="dataDescriptor",Ae="offset",ze="usdz",Re="maxAppendedDataSize",Fe="filename",De="comment",xe="strict",Ce="balanced",Te="tolerant",Oe="Invalid option (must be a function)",Ne="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Ie(e){if(e&&typeof e!=le)throw new d(Oe);return e}function ke(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new d(Ne);return e||ae}function Me(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(ve)}function Be(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function Ue(e,t,n){e!==ae&&Be(e,t,n)}function We(e){return typeof e==fe&&e.trim()?o(e):e}const Le="Invalid maxWorkers (must be an integer greater than 0)";let Pe=2;try{typeof T!=ue&&T.hardwareConcurrency&&(Pe=T.hardwareConcurrency)}catch{}const Ve={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Pe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof x!=ue&&x,DecompressionStream:typeof C!=ue&&C},He="maxWorkers",qe=["chunkSize",He,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ze=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ke=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...qe,...Ze],Ye={...Ve};function Ge(){return Ye}function Xe(e){return je(e.chunkSize)}function je(e){return e=We(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Qe(e){const t={};for(const n of Ke){const r=e[n];r!==ae&&(t[n]=Je(n,r))}return t}function Je(e,t){if(qe.includes(e)){if(t=We(t),e==He&&(!o.isInteger(t)||t<1))throw new d(Le)}else Ze.includes(e)&&Ie(t);return t}function _e(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function $e(e){const t=Qe(_e(e));n.assign(Ve,t),n.assign(Ye,t)}const et=[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],tt=[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],nt=[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],rt=[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],ot=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],it=new w(288);it.fill(8,0,144),it.fill(9,144,256),it.fill(7,256,280),it.fill(8,280,288);const st=new w(30).fill(5);function at(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;e<=15;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 ct="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ut=(lt=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(at(it),at(st));else{if(2!=e)throw new d("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new d("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,m(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)m(i+1),o[i++]=n;else{const e=n-257,r=et[e]+c(tt[e]),s=p(t),a=nt[s]+c(rt[s]);m(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[ot[e]]=c(3);const o=at(r),i=new w(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[at(i.subarray(0,e)),at(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new d("invalid huffman code")}function m(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=ct.indexOf(e[r])<<18|ct.indexOf(e[r+1])<<12|(63&ct.indexOf(e[r+2]))<<6|63&ct.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 w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=lt();if("string"==typeof n&&(n=(new E).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+ct[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=ct[n>>18&63]+ct[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=ct[n>>18&63]+ct[n>>12&63]+ct[n>>6&63]+"="}return t}(n)}}));var lt;function ft(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function dt(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function wt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const pt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;pt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=pt[t-1][e];pt[t][e]=n>>>8^pt[0][255&n]}const[mt,ht,yt,gt,Et,St,bt,At]=pt;class zt{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 o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=At[255&e]^bt[e>>>8&255]^St[e>>>16&255]^Et[e>>>24&255]^gt[255&n]^yt[n>>>8&255]^ht[n>>>16&255]^mt[n>>>24&255]}}for(;r<n;r++)t=t>>>8^mt[255&(t^e[r])];this.l=t}get(){return~this.l}}class Rt extends R{constructor(){let e;const t=new zt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Ft(e){if(typeof E==ue){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const Dt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=Dt.m(n);return 32===r?e.concat(t):Dt.h(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)+Dt.m(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=Dt.A(t,e[n-1]&2147483648>>t-1,1)),e},A:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,m:e=>s.round(e/1099511627776)||32,h(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 o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=Dt.m(o);return r.push(Dt.A(t+i&31,t+i>32?n:r.pop(),1)),r}},xt={bytes:{R(e){const t=Dt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(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(Dt.A(8*(3&n),r)),t}}},Ct=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.C=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.O=e.O.slice(0),t.N=e.N):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.O=[],e.N=0,e}update(e){const t=this;"string"==typeof e&&(e=xt.v.F(e));const n=t.O=Dt.concat(t.O,e),r=t.N,o=t.N=r+Dt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.I(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}M(){const e=this;let t=e.O;const n=e.T;t=Dt.concat(t,[Dt.A(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.N/4294967296)),t.push(0|e.N);t.length;)e.I(t.splice(0,16));return e.reset(),n}B(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}U(e,t){return t<<e|t>>>32-e}I(e){const n=this,r=n.T,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.U(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.U(5,i)+n.B(e,a,c,u)+l+o[e]+n.C[s.floor(e/20)]|0;l=u,u=c,c=n.U(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0}},Tt={importKey:e=>new Tt.W(xt.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),f=new h(l);let w=0;const p=Dt;for(t=xt.bytes.F(t),u=1;w<(o||1);u++){for(i=s=e.encrypt(p.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return l.slice(0,r/8)},W:class{constructor(e){const t=this,n=t.P=Ct,r=[[],[]];t.V=[new n,new n];const o=t.V[0].blockSize/32;e.length>o&&(e=(new n).update(e).M());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.V[0].update(r[0]),t.V[1].update(r[1]),t.H=new n(t.V[0])}reset(){const e=this;e.H=new e.P(e.V[0]),e.Z=!1}update(e){this.Z=!0,this.H.update(e)}digest(){const e=this,t=e.H.M(),n=new e.P(e.V[1]).update(t).M();return e.reset(),n}encrypt(e){if(this.Z)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ot=typeof A!=ue&&typeof A.getRandomValues==le,Nt="Invalid password",vt="Invalid authentication code",It="zipjs-abort-check-password",kt="Crypto API not supported";function Mt(e){if(Ot)return A.getRandomValues(e);throw new d(kt)}const Bt=16,Ut={name:"PBKDF2"},Wt=n.assign({hash:{name:"HMAC"}},Ut),Lt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Ut),Pt=["deriveBits"],Vt=[8,12,16],Ht=[16,24,32],qt=10,Zt=[0,0,0,0],Kt=typeof A!=ue,Yt=Kt&&A.subtle,Gt=Kt&&typeof Yt!=ue,Xt=xt.bytes,jt=class{constructor(e){const t=this;t.K=[[[],[],[],[],[]],[[],[],[],[],[]]],t.K[0][0][0]||t.Y();const n=t.K[0][4],r=t.K[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.C=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=4||e<4?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.G(e,0)}decrypt(e){return this.G(e,1)}Y(){const e=this.K[0],t=this.K[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,u;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let f=16843009*u^65537*c^257*a^16843008*l,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][l]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.C[t],r=n.length/4-2,o=[0,0,0,0],i=this.K[t],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let f,w,p,m=e[0]^n[0],h=e[t?3:1]^n[1],y=e[2]^n[2],g=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^u[255&g]^n[E],w=s[h>>>24]^a[y>>16&255]^c[g>>8&255]^u[255&m]^n[E+1],p=s[y>>>24]^a[g>>16&255]^c[m>>8&255]^u[255&h]^n[E+2],g=s[g>>>24]^a[m>>16&255]^c[h>>8&255]^u[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=l[m>>>24]<<24^l[h>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^n[E++],f=m,m=h,h=y,y=g,g=f;return o}},Qt=class{constructor(e,t){this.X=e,this.j=t,this.J=t}reset(){this.J=this.j}update(e){return this._(this.X,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 o=Dt.bitLength(t);for(let o=0;o<r;o+=4){this.ee(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return Dt.S(t,o)}},Jt=Tt.W;let _t=Kt&&Gt&&typeof Yt.importKey==le,$t=Kt&&Gt&&typeof Yt.deriveBits==le;class en extends R{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){nn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,te:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await on(e,t,n,an(r,0,Vt[t])),i=an(r,Vt[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(Nt)}(n,i,o,an(e,0,Vt[i]+2)),e=an(e,Vt[i]+2),r?t.error(new d(It)):s()):await a;const c=new w(e.length-qt-(e.length-qt)%Bt);t.enqueue(rn(n,e,c,0,qt,!0))},async flush(e){const{ne:t,re:n,oe:r,ready:i}=this;if(n&&t){await i;const s=an(r,0,r.length-qt),a=an(r,r.length-qt);let c=de;if(s.length){const e=un(Xt,s);n.update(e);const r=t.update(e);c=cn(Xt,r)}const u=an(cn(Xt,n.digest()),0,qt);let l=r.length<qt?1:0;for(let e=0;e<qt;e++)l|=u[e]^a[e];if(l&&o)throw new d(vt);e.enqueue(c)}}})}}class tn extends R{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){nn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,te:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Mt(new w(Vt[t]));return ft(r,await on(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%Bt);c.set(a,0),t.enqueue(rn(n,e,c,a.length,0))},async flush(e){const{ne:t,re:n,oe:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(un(Xt,r));n.update(e),i=cn(Xt,e)}const s=cn(Xt,n.digest()).slice(0,qt);e.enqueue(ft(i,s))}}})}}function nn(e,t,r,o){n.assign(e,{ready:new g(t=>e.te=t),password:sn(t,r),strength:o-1,oe:de})}function rn(e,t,n,r,o,i){const{ne:s,re:a,oe:c}=e;c.length&&(t=ft(c,t));const u=t.length-o;let l;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(u-u%Bt)),l=0;l<=u-Bt;l+=Bt){const e=un(Xt,an(t,l,l+Bt));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(cn(Xt,o),l+r)}return e.oe=an(t,l),n}async function on(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!_t)return Tt.importKey(t);try{return await Yt.importKey("raw",t,n,!1,o)}catch{return _t=!1,Tt.importKey(t)}}(0,o,Wt,0,Pt),a=await async function(e,t,n){if(!$t)return Tt.L(t,e.salt,Lt.iterations,n);try{return await Yt.deriveBits(e,t,n)}catch{return $t=!1,Tt.L(t,e.salt,Lt.iterations,n)}}(n.assign({salt:i},Lt),s,8*(2*Ht[r]+2)),c=new w(a),u=un(Xt,an(c,0,Ht[r])),l=un(Xt,an(c,Ht[r],2*Ht[r])),f=an(c,2*Ht[r]);return n.assign(e,{keys:{key:u,ie:l,passwordVerification:f},ne:new Qt(new jt(u),t.from(Zt)),re:new Jt(l)}),f}function sn(e,t){return t===ae?Ft(e):t}function an(e,t,n){return e.subarray(t,n)}function cn(e,t){return e.R(t)}function un(e,t){return e.F(t)}class ln extends R{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){dn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=wn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(Nt);e=e.subarray(12)}r?t.error(new d(It)):t.enqueue(wn(n,e))}})}}class fn extends R{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){dn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Mt(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(pn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(pn(n,e),o),t.enqueue(r)}})}}function dn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,se:new zt(o[0]),ae:new zt(o[2])}),r)for(let t=0;t<r.length;t++)mn(e,r[t]);else for(let n=0;n<t.length;n++)mn(e,t.charCodeAt(n))}(e,t,r)}function wn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=hn(e)^t[r],mn(e,n[r]);return n}function pn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=hn(e)^t[r],mn(e,t[r]);return n}function mn(e,t){let[,n]=e.keys;e.se.append([t]);const r=~e.se.get();n=gn(s.imul(gn(n+yn(r)),134775813)+1),e.ae.append([n>>>24]);const o=~e.ae.get();e.keys=[r,n,o]}function hn(e){const t=2|e.keys[2];return yn(s.imul(t,1^t)>>>8)}function yn(e){return 255&e}function gn(e){return 4294967295&e}function En(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function Sn(e,t){e=En(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new l(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 bn(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 An="Invalid codec definition",zn="Reserved compression method",Rn="Invalid codec module",Fn="Compression method not supported",Dn=[0,8,9,99],xn=new c,Cn=new c;function Tn(e){return xn.get(e)}function On(){return t.from(xn.values(),e=>n.assign({},e,Cn.get(e.format)))}function Nn(e){return Cn.get(e)}function vn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new d(Rn);Cn.set(e,{CompressionStream:n,DecompressionStream:r})}const In="Invalid uncompressed size",kn="Invalid compressed data",Mn="Invalid CRC32",Bn="deflate-raw",Un="deflate64-raw",Wn="gzip",Ln=[31,139,8];class Pn extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,g,E=super.readable;const S=f&&Nn(f),b=c&&o&&!l&&!S&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new Rt,E=jn(E,m)),o)if(S)E=Qn(E,Gn(S.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)g=new Vn,E=Qn(E,new r(Wn)),E=jn(E,g);else try{E=Xn(E,s,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Wn)}catch{throw e}E=Qn(E,t),E=jn(E,new Vn)}i&&(a?E=jn(E,new fn(e)):(y=new tn(e),E=jn(E,y))),Yn(p,E,()=>{i&&!a||!c||(p.crc32=b?g.crc32:new h(m.value.buffer).getUint32(0))})}}class Vn extends R{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=ft(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(ft(n.subarray(0,a),e.subarray(0,i-a))),n=ft(n.subarray(a),e.subarray(i-a))},flush(){const t=wt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Hn extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,S,b=super.readable;if(i&&(o?b=jn(b,new ln(e)):(S=new en(e),b=jn(b,S))),c){const e=f&&Nn(f);if(e)b=Qn(b,Gn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=Xn(b,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===ae)throw e;let t;try{t=new r(Wn)}catch{throw e}b=function(e,t,n){const r=new zt;let o,i,s,a=0,c=!1;const u=new g((e,t)=>{i=e,s=t});u.catch(()=>{}),n||i();const l=new R({start(e){const t=new w(10);t.set(Ln),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{m()}const t=new w(8),o=wt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new R({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=jn(e,l),jn(e=Qn(e,t),f);function p(){m(),o=v(()=>s(new d(In)),5e3)}function m(){I(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(kn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new Rt,b=jn(b,E)),Yn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Mn)}})}}const qn=new c;function Zn(e,t){if(!e)return!1;let n=qn.get(e);n||(n=new c,qn.set(e,n));let r=n.get(t);if(r===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Kn(e){return Zn(e,Bn)}function Yn(e,t,r){t=jn(t,new R({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Gn(e,t,n){if(!e)throw new d(Fn);return new e(t,n)}function Xn(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?Un:Bn;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Qn(e,a)}function jn(e,t){return En(e).pipeThrough(t)}function Qn(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){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 function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const Jn="data",_n="deflate",$n="inflate";class er extends R{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith(_n)?i=Pn:o.startsWith($n)&&(i=Hn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new R({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new R({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(In)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class tr extends R{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const nr="Worker startup timeout";let rr,or,ir;function sr(e){e.createWorker?or=!0:rr=!1}class ar{constructor(e,{readable:t,writable:r},{options:o,config:i,ce:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},f){const{signal:d}=s;return or&&(l=ae),n.assign(e,{ue:!0,le:(e.le||0)+1,readable:t.pipeThrough(new tr(Xe(i))).pipeThrough(new cr(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{fe:n,ue:r}=e;n?(r?e.de=t:(n.terminate(),t()),e.we=null):t()}),pe(){if(e.ue){const{de:t}=e;t&&(e.de=null,e.me=!0,e.fe.terminate(),t()),e.ue=!1,f(e)}}}),rr===ae&&(rr=typeof O!=ue),(a&&ir&&(rr&&u||l)?ir:lr)(e,i)}}class cr extends R{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await ur(e,n)},async transform(e,r){o+=e.length,t&&await ur(t,o,n),r.enqueue(e)},async flush(){r&&await ur(r,o)}})}}async function ur(e,...t){try{await e(...t)}catch{}}function lr(e,t){return{run:()=>fr(e,t)}}async function fr({options:e,readable:t,writable:n,pe:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(_n),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.he&&!Kn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.he||(e.useCompressionStream=!0)}}i=new er(e,o),await t.pipeThrough(i).pipeThrough(new tr(Xe(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const dr={type:"module"},wr="error";let pr,mr,hr,yr=!0;try{yr=typeof k==le&&k(new DOMException("","AbortError")).code!==ae}catch{}var gr;function Er(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Sr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function br(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(mr===ae||pr!==e){const n=typeof e==le;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===ae&&(o=!1),o&&(u=dr);try{a=new O(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return br(e,t,r,o,!1);if(o)throw i;return br(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(u=dr);try{c=new f(c,t)}catch{}try{a=new O(c,u)}catch(n){if(o)return br(e,t,r,!1,i);throw n}}pr=e,mr=c,hr=u}else a=new O(mr,hr);return a.addEventListener("message",e=>{r.ye=!0,Ar(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:u,ge:l,Ee:f,pe:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new d(e);n.assign(u,{stack:t,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new d(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||Rr({type:Jn,value:e,done:n,messageId:i},t)}r==Jn&&(await u.ready,await u.write(new w(o)),h()||Rr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(Sr(t),y(a))}function y(e,t){h()||(e?f(e):l(t),u&&u.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(wr,e=>zr(e,r)),a.addEventListener("messageerror",e=>zr(e,r)),a}function Ar(e){const{Se:t}=e;t&&(I(t),e.Se=null)}function zr(e,t){e.preventDefault&&e.preventDefault(),Ar(t);const{ye:r,Ee:o,writer:i,pe:s}=t;Sr(t),r||(t.fe=null);let a=e.error||new d(e.message||wr);r||(a=n.assign(new d(a.message||wr),{be:!0}),t.Ae=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Rr(e,{fe:t,writer:n,transferStreams:r,ye:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=dt(n),a.push(e.value.buffer)),r&&yr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{yr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}gr=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.we){let c;typeof a==le&&(a=a());try{c=br(e.workerURI,r,e)}catch{return sr(e),lr(e,t)}n.assign(e,{fe:c,ye:!1,me:!1,Ae:null,we:{run:async()=>{try{return await async function(e,t){if(!e.fe){const{Ae:t}=e;e.Ae=null;const n=t||new d(nr);throw n.be=!0,n}let r,i;const s=new g((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ge:r,Ee:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,ze:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new R,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,ze:()=>t.abort()}}(e.writable);let w;try{w=Rr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.pe(),t}w||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&o.isFinite(p)&&p>=0&&(e.Se=v(()=>function(e){if(e.Se=null,e.ye)return;const{Ee:t,writer:n}=e;if(Sr(e),e.fe=null,t){const e=new d(nr);e.be=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await l,e}catch(e){await m(),f();try{await l}catch{}throw e}async function m(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.be)return sr(e),Er(e),fr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Er(e),fr(e,t);e.pe()}throw n}}}})}return e.we},ir=gr;let Fr=[];const Dr=[];let xr,Cr,Tr=0;async function Or(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Cn.has(e)&&t&&vn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||u||l||d),S=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&S&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=Fr.find(e=>!e.ue);if(n)return Mr(n),new ar(n,e,t,b);if(Fr.length<y){const n={Re:Tr};return Tr++,Fr.push(n),new ar(n,e,t,b)}return new g(n=>{Dr.push({resolve:n,stream:e,Fe:t}),Cr=r.workerStarvationTimeout,Nr()})}()).run();function b(e){if(vr(),Dr.length){const[{resolve:t,stream:n,Fe:r}]=Dr.splice(0,1);t(new ar(e,n,r,b)),Nr()}else e.fe?(Mr(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.me?e.me=!1:e.De=v(async()=>{Fr=Fr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Fr=Fr.filter(t=>t!=e)}}function Nr(){!xr&&Dr.length&&o.isFinite(Cr)&&Cr>=0&&(xr=v(Ir,Cr))}function vr(){xr&&(I(xr),xr=null)}function Ir(){if(xr=null,Dr.length){const[{resolve:e,stream:t,Fe:r}]=Dr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new ar({},t,o,kr)),Nr()}}function kr(){vr(),Nr()}function Mr(e){const{De:t}=e;t&&(I(t),e.De=null)}const Br="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Ur(e,t){return Wr(e,t,!0)}function Wr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=Br[e[n]];return t}(e):new S(t,{ignoreBOM:n}).decode(e)}const Lr="HTTP error ",Pr="HTTP Range not supported",Vr="HTTP resource changed",Hr="Writer iterator completed too soon",qr="Writer not initialized",Zr="Content-Range",Kr="Range",Yr="GET",Gr="bytes",Xr=16777216,jr="writable",Qr=N();class Jr{constructor(){this.size=0}init(){this.initialized=!0}}class _r extends Jr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=Xe(Ge())}={}){const r=this;let o=0;return n=je(n),new F({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await Oo(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==ae&&o>=t||!c.length&&a)&&i.close()}})}}class $r extends Jr{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new d(qr);return e.writeUint8Array(dt(t))}});n.defineProperty(e,jr,{get:()=>t})}writeUint8Array(){}}let eo,to;class no extends _r{constructor(e){super(),n.assign(this,{xe:e,size:e.size}),to||(to=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();eo=1==t}catch{eo=!1}})())}createReadable(e){const{xe:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};return!r&&o>=n?En(t.stream()):eo?En(t.slice(r,r+o).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.xe:n.xe.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class ro extends Jr{constructor(e){super();const t=this,r=new R;n.defineProperty(t,jr,{get:()=>r.writable}),t.contentType=e,t.Ce=Sn(r.readable,e),t.Ce.catch(()=>{})}getData(){return this.Ce}}class oo extends _r{constructor(e,t){super(),so(this,e,t)}async init(){await ao(this,So,ho),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new F({start:()=>u(),async pull(e){r||await u();const{value:t,done:n}=await r.read();if(n)throw new d(Pr);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function u(){const t=s.min(e.maximumRangeSize,c),n=await So(Yr,e,po(e,i,t));if(206!=n.status)throw new d(Pr);const u=n.headers.get(Zr);if(u){const e=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(Pr)}wo(e,n),fo(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return co(this,e,t,So,ho)}}class io extends _r{constructor(e,t){super(),so(this,e,t)}async init(){await ao(this,bo,yo),super.init()}readUint8Array(e,t){return co(this,e,t,bo,yo)}}function so(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=Xr,fetch:l}=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:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function ao(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=Ge(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==ue||o)){const r=await t(Yr,e,po(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Gr))throw new d(Pr);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==X&&(e.Te=t)}fo(e,r);const o=uo(r);o===ae?await Eo(e,t,n):e.size=o}}else await Eo(e,t,n)}async function co(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Te:c,size:u,options:l}=e;if(s||a){if(c&&t==u-X&&n==X)return c;if(t>=u||0===n)return de;{t+n>u&&(n=u-t);const i=await r(Yr,e,po(e,t,n));if(206!=i.status)throw new d(Pr);const s=i.headers.get(Zr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(Pr)}wo(e,i),fo(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(Pr);return a}}{const{data:r}=e;return r||await i(e,l),e.data.subarray(t,t+n)}}function uo(e){const t=e.headers.get(Zr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function lo({headers:e}){return{Oe:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function fo(e,t){const{checkResourceChanges:n,Ne:r}=e;n&&!r&&206==t.status&&(e.Ne=lo(t))}function wo(e,t){const{checkResourceChanges:r,Ne:o,size:i}=e;if(r){const e=uo(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Vr);if(o){const e=lo(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Vr)}}}function po(e,t=0,r=1){return n.assign({},mo(e),{[Kr]:Gr+"="+(t<0?t:t+"-"+(t+r-1))})}function mo({options:e}){const{headers:t}=e;if(t)return N.iterator in t?n.fromEntries(t):t}async function ho(e){await go(e,So)}async function yo(e){await go(e,bo)}async function go(e,t){const n=await t(Yr,e,mo(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function Eo(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,mo(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function So(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(Pr):new d(Lr+(s.statusText||s.status))}function bo(e,{url:t},r){return new g((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.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)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(Pr):new d(Lr+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class Ao extends _r{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new io(e,t):new oo(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 zo extends _r{constructor(e){super(),this.ve=e}async init(){const e=this;e.Ie=0;const t=e.ve=await g.all(e.ve.map(To));e.ke=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Me(e){const{ke:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{ve:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await Oo(c,a,t);else{const i=r-a;o=ft(await Oo(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n.Ie=s.max(i,n.Ie),o}}class Ro extends Jr{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new D({async write(t){if(t===Qr)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new d(Hr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await Co(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,jr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Qr)}finally{e.releaseLock()}}}class Fo{constructor(e){return t.isArray(e)&&(e=new zo(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:En(e)}),e}}class Do{constructor(e){return e.writable===ae&&typeof e.next==le&&(e=new Ro(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:bn(e)}),e.size===ae&&(e.size=0),e}}function xo(e){return Boolean(e&&e.getData)}async function Co(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function To(e){return e=new Fo(e),await Co(e),e.size!==ae&&e.readUint8Array||(e=new no(await Sn(e.readable)),await Co(e)),e}function Oo(e,t,n){return e.readUint8Array(t,n)}function No(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?_r.prototype.createReadable.call(e,t):e.readable}const vo="filename",Io="rawFilename",ko="comment",Mo="rawComment",Bo="uncompressedSize",Uo="compressedSize",Wo="offset",Lo="diskNumberStart",Po="lastModDate",Vo="rawLastModDate",Ho="lastAccessDate",qo="rawLastAccessDate",Zo="creationDate",Ko="rawCreationDate",Yo="internalFileAttributes",Go="externalFileAttributes",Xo="msdosAttributesRaw",jo="msdosAttributes",Qo="msDosCompatible",Jo="zip64",_o="encrypted",$o="version",ei="versionMadeBy",ti="zipCrypto",ni="directory",ri="executable",oi="compressionMethod",ii="signature",si="extraField",ai="unixMode",ci="setuid",ui="setgid",li="sticky",fi=[vo,Io,Bo,Uo,Po,Vo,ko,Mo,Ho,qo,Zo,Ko,Wo,Lo,Yo,Go,Xo,jo,Qo,Jo,_o,$o,ei,ti,ni,ri,"symlink",oi,ii,"crc32",si,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ai,"unixExternalUpper",ci,ui,li,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class di{constructor(e){fi.forEach(t=>this[t]=e[t])}}const wi="File format is not recognized",pi="End of central directory not found",mi="End of Zip64 central directory locator not found",hi="Central directory header not found",yi="Local file header not found",gi="Zip64 extra field not found",Ei="File contains encrypted entry",Si="Encryption method not supported",bi="Split zip file",Ai="Overlapping entry found",zi="Entry data out of bounds",Ri="Ambiguous archive",Fi="Encrypted central directory is not supported",Di="Unsafe filename",xi="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ci="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Oi="64-bit value exceeds Number.MAX_SAFE_INTEGER",Ni="unsorted central directory",vi="unknown version needed to extract",Ii="compressed patched data",ki="malformed extra field",Mi="unknown zip64 extensible data",Bi="wrapped entries count",Ui="appended data",Wi="prepended data",Li="prepended central directory",Pi="trailing central directory data",Vi="duplicate filename",Hi="mismatched zip64 end of central directory record",qi="mismatched local file header (general purpose bit flag)",Zi="mismatched local file header (compression method)",Ki="mismatched local file header (crc32 or sizes)",Yi=/^[a-zA-Z]:/,Gi="utf-8",Xi="cp437",ji=[[Bo,B],[Uo,B],[Wo,B],[Lo,U]],Qi={[U]:{Be:Is,bytes:4},[B]:{Be:ks,bytes:8}},Ji=i(o.MAX_SAFE_INTEGER);class _i{constructor(e,t={}){n.assign(this,{reader:new Fo(e),options:t,Ue:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await Co(r),r.size!==ae&&r.readUint8Array||(r=new no(await Sn(r.readable)),await Co(r)),r.size<X)throw new d(wi);const o=t.warnings=[],i=ms(e,t.options),a=i==xe,c=i!=Te,l=gs(xs(t,e,Re),i),f=function(e,t){if(e===ae)return t;if(!ps(e))throw new d(Ci);return e}(xs(t,e,"filenameValidation"),i),w=xs(t,e,"normalizeFilename"),{We:p,Le:m}=await Es(r,c,l);if(!p)throw await async function(e){return await ws(e)==P}(r)?new d(bi):new d(pi);c&&m>1&&Ds("multiple end of central directory records");const h=wt(p);let y=Is(h,12),g=Is(h,16);const E=p.offset,S=vs(h,20),b=E+X+S,A=r.size-b;A>l&&Ds(Ui),A>0&&Fs(o,Ui);let z=vs(h,4);const F=r.Ie||0;let D,x,C,T,O,N=vs(h,6),v=vs(h,10),I=0,k=Q;const M=g==B||y==B||v==U||N==U;if(g!=B&&N!=U&&(g+=ds(r,N)),M){const e=p.offset>=j?await Oo(r,p.offset-j,j):de,t=wt(e);if(e.length==j&&Is(t,0)==Y){g=ds(r,Is(t,4))+ks(t,8);let e=await Oo(r,g,Q),i=wt(e);const c=p.offset-j-Q;if((e.length<Q||Is(i,0)!=K)&&g!=c&&c>=0){const t=g;g=c,g>t&&(I=g-t),e=await Oo(r,g,Q),i=wt(e)}if(e.length<Q||Is(i,0)!=K)throw new d(mi);if(C=!0,T=ks(i,4)>44,T){const e=s.min(ks(i,4)-44,r.size-g-Q);e>0&&(k+=e,O=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=wt(e),o=vs(r,26);n.assign(t,{compressionMethod:vs(r,0),compressedSize:ks(r,2),uncompressedSize:ks(r,10),encryptionAlgorithm:vs(r,18),bitLength:vs(r,20),flags:vs(r,22),hashAlgorithm:vs(r,24),hashData:e.subarray(28,28+o)})}return t}(await Oo(r,g+Q,e)))}z==U?z=Is(i,16):z!=Is(i,16)&&Rs(a,o,Hi),N==U?N=Is(i,20):N!=Is(i,20)&&Rs(a,o,Hi),v==U?v=ks(i,32):v!=ks(i,32)&&Rs(a,o,Hi),y==B?y=ks(i,40):y!=ks(i,40)&&Rs(a,o,Hi),g=ds(r,N)+ks(i,48)+I}}let L=y;const V=p.offset-(C?k+j:0);if(g>=r.size&&(I=r.size-g-y-X,g=r.size-y-X),F!=z)throw new d(bi);if(g<0)throw new d(wi);let H=0,Z=await Oo(r,g,y),J=wt(Z);if(y){if(Z.length<4)throw new d(wi);const e=V-y;if(g!=e&&N==z){const t=Is(J,H)==q||Boolean(O&&O.compressedSize)||ns(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=Is(wt(await Oo(r,e,4)),0)==q),n){const n=g;g=e,g>n&&(I+=g-n,D=t),Z=await Oo(r,g,y),J=wt(Z)}}}const _=V-g;if(y!=_&&_>=0&&N==z&&(y=_,Z=await Oo(r,g,y),J=wt(Z)),g<0||g>=r.size)throw new d(wi);t.directoryOffset=g,t.directoryLength=L;const oe=Cs(t,e,"decryptCentralDirectory");let ie,se;if(oe&&v&&Z.length>=4&&Is(J,0)!=q&&(T||ns(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(O,L,Z.length);se=Z.subarray(e),Z=await oe(Z.subarray(0,e),O),J=wt(Z),L=Z.length,ie=!0}O&&!ie&&(Z.length<4||Is(J,0)==q)&&Fs(o,Mi),x=g;const ce=xs(t,e,"filenameEncoding"),ue=xs(t,e,"commentEncoding"),le=new u;let fe,we=-1;const pe=!a&&!C;!v&&pe&&(v=rs(J,Z,H),v&&Fs(o,Bi));for(let i=0;i<v;i++){const a=new ts(r,t.options);if(H+G>Z.length||Is(J,H)!=q){if(0==i&&!ie&&(T||ns(J)))throw new d(Fi);throw new d(hi)}is(a,J,H+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=H+G,l=u+a.filenameLength,p=l+a.extraFieldLength,m=vs(J,H+4),h=!(m>>8),y=m>>8==3,g=Z.subarray(u,l),E=vs(J,H+32),S=p+E,b=Z.subarray(p,S),A=c,z=c,F=Is(J,H+38),D=F&W,C={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},O=Is(J,H+42),N=Cs(t,e,"decodeText")||Ur,k=A?Gi:ce||Xi,M=z?Gi:ue||Xi;let B=N(g,k,Fe);if(B===ae&&(B=Ur(g,k)),w){const e=w(B);e!==ae&&(B=e)}if(ys(B,f)){const e=new d(Di);throw e.filename=B,e}let L=N(b,M,De);L===ae&&(L=Ur(b,M)),n.assign(a,{index:i,Pe:ie,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,Ve:E,offset:O,diskNumberStart:vs(J,H+34),internalFileAttributes:vs(J,H+36),externalFileAttributes:F,msdosAttributesRaw:D,msdosAttributes:C,rawFilename:g,filenameUTF8:A,commentUTF8:z,rawExtraField:Z.subarray(l,p),rawComment:b,filename:B,comment:L}),ss(a,a,J,H+6)&&Fs(o,ki,B),a.offset+=I;const P=ds(r,a.diskNumberStart)+a.offset;x=s.min(P,x),P<we&&Fs(o,Ni,B),we=P,(a.version&W)>63&&Fs(o,vi,B),32&~a.rawBitFlag||Fs(o,Ii,B),le.has(a.filename)&&(fe=!0),le.add(a.filename);const V=a.externalFileAttributes>>16&U;a.unixMode===ae&&16877&V&&(a.unixMode=V);const K=Boolean(a.unixMode&te),Y=Boolean(a.unixMode&ne),X=Boolean(512&a.unixMode),j=40960==((a.unixMode===ae?V:a.unixMode)&$),Q=!j&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&V)),_=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(V&$)==ee;n.assign(a,{setuid:K,setgid:Y,sticky:X,symlink:j,unixExternalUpper:V,executable:Q,directory:_||oe||h&&C.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new di(a);if(se.getData=(e,n)=>a.getData(e,se,t.Ue,n),se.arrayBuffer=async e=>{const n=new R,r=Sn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Ue,e),r},H=S,i==v-1&&pe){const e=rs(J,Z,H);e&&(v+=e,Fs(o,Bi))}const{onprogress:de}=e;if(de)try{await de(i+1,v,new di(a))}catch{}yield se}let me=H,he=os(Z.subarray(H))||(ie?os(se):ae);if(!he&&!ie){const e=g+H,t=s.min(V-e,65541);t>=6&&(he=os(await Oo(r,e,t)))}he&&(t.digitalSignature=he,me=H+6+he.length),(H!=L&&me!=L||!ie&&H!=y&&me!=y)&&Rs(a,o,Pi),fe&&Rs(a,o,Vi);const ye=xs(t,e,"extractPrependedData"),ge=xs(t,e,"extractAppendedData"),Ee=(a||ye)&&v&&4==x&&await async function(e){const t=await ws(e);return t==P||808471376==t}(r)?4:0;return a&&(I||v&&x>Ee)&&Ds(Wi),(I||v&&x>4)&&Fs(o,Wi),D&&Fs(o,Li),ye&&(t.prependedData=x>Ee?await Oo(r,Ee,x-Ee):de),t.comment=S?await Oo(r,E+X,S):de,ge&&(t.appendedData=b<r.size?await Oo(r,b,r.size-b):de),!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 $i{constructor(e={}){const{readable:t,writable:n}=new R,r=new _i(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o={...n,readable:function(){const{readable:e,writable:t}=new R;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}()};delete o.getData,e.enqueue(o)}}),this.writable=n}}async function es(e,t={}){if(e=new Fo(e),await Co(e),e.size!==ae&&e.readUint8Array||(e=new no(await Sn(e.readable)),await Co(e)),e.size<X)return!1;const n=ms(t,{}),r=n!=Te,o=gs(t[Re],n),{We:i,Le:s}=await Es(e,r,o);if(!i||n==xe&&s>1)return!1;const a=vs(wt(i),20),c=i.offset+X+a;return e.size-c<=o}class ts{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=Ge(),{reader:a,index:c,offset:u,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:g,uncompressedSize:E,compressedSize:S}=o,{dataDescriptor:b}=m,A=t.localDirectory={},z=t.warnings=[],R=ds(a,l)+u,F=await Oo(a,R,oe),x=wt(F);let C=xs(o,r,we),T=xs(o,r,pe);const O=xs(o,r,me);if(Me(C,T),C=C&&C.length&&C,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw new d(Fn);if(F.length<oe||Is(x,0)!=L)throw new d(yi);is(A,x,4);const{extraFieldLength:N,filenameLength:v}=A,I=A.dataOffset=R+oe+v+N,k=xs(o,r,"checkLocalDirectory"),M=ms(r,o.options),B=function(e,t){return e===ae?t!=Te:Boolean(e)}(k,M),U=function(e,t){return e===ae?t==xe:Boolean(e)}(k,M);let P=de;if(U&&(v||N)){const e=await Oo(a,R+oe,v+N);P=e.subarray(0,v),A.rawExtraField=e.subarray(v)}else A.rawExtraField=N?await Oo(a,R+oe+v,N):de;U&&(A.rawFilename=P),ss(o,A,x,4,!0)&&Fs(z,ki),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Pe&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||Rs(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Rs(s,o,qi),t.compressionMethod!=e.compressionMethod&&Rs(s,o,Zi),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Rs(s,o,Ki)}(o,A,P,U,B?ae:z);const{lastAccessDate:H,creationDate:q,uid:Z,gid:K}=A;H&&(t.lastAccessDate=H),q&&(t.creationDate=q),Z!==ae&&t.uid===ae&&(t.uid=Z),K!==ae&&t.gid===ae&&(t.gid=K);const Y=o.encrypted&&A.encrypted&&!O,G=Y&&!f;if(O||(t.zipCrypto=G),Y&&!(64&~A.rawBitFlag))throw new d(Si);const X=O?ae:Tn(p);if(0!=p&&8!=p&&9!=p&&!X&&!O)throw new d(Fn);if(Y){if(!G&&(f.strength<1||f.strength>3))throw new d(Si);if(!C&&!T)throw new d(Ei)}if(I+S>a.size)throw new d(zi);const j=S,Q=En(a.createReadable({offset:I,size:j})),J=ke(xs(o,r,he)),_=xs(o,r,"checkPasswordOnly");let $=xs(o,r,"checkOverlappingEntry");const ee=xs(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!O,se=O?S:E,ce=9==p;let ue=xs(o,r,ge);ce&&(ue=!1);const le=xs(o,r,"checkCrc32"),fe=(le===ae?xs(o,r,"checkSignature"):le)&&!O&&(!Y||G||f&&1==f.vendorVersion),be={options:{codecType:$n,password:C,rawPassword:T,zipCrypto:G,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:xs(o,r,"checkAuthenticationCode"),passwordVerification:G&&(b?g>>>8&W:y>>>24&W),outputSize:se,crc32:y,compressed:ie,encrypted:Y,useWebWorkers:xs(o,r,ye),useCompressionStream:ue,transferStreams:xs(o,r,Ee),deflate64:ce,format:X?X.format:ae,codecURI:X?X.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:_},config:i,ce:{signal:J,size:j,onstart:te,onprogress:ne,onend:re}};let Ae,ze;$&&await async function({reader:e,He:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Ue:l}){let f=0;if(c&&(f=u?20:12),f){const n=await Oo(e,a+i,f+4),r=wt(n);let c=n.length==f+4&&Is(r,0)==V;if(c){const e=fs(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=fs(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,He:t};for(const[e,t]of l)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(Ai);throw e.overlappingEntry=t.He,e}l.set(n,w)}({reader:a,He:t,index:c,offset:R,crc32:y,compressedSize:S,uncompressedSize:E,dataOffset:I,dataDescriptor:b||A.bitFlag.dataDescriptor,extraFieldZip64:w||A.extraFieldZip64,Ue:n});try{if(!ee){_&&(e=new D),e=new Do(e),await Co(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,S,ie)),({writable:Ae}=e);const{outputSize:t}=await Or({readable:Q,writable:Ae},be);if(e.size+=t,t!=se)throw new d(In)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!_||t.message!=It)throw ze=t,t}finally{if((xo(e)||!xs(o,r,Se))&&Ae&&!Ae.locked){const e=Ae.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return _||ee?ae:e.getData?e.getData():Ae}}function ns(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==Is(e,n))return!0;return!1}function rs(e,t,n){let r=0;for(;n+G<=t.length&&Is(e,n)==q;)n+=G+vs(e,n+28)+vs(e,n+30)+vs(e,n+32),r++;return r%65536?0:r}function os(e){if(e.length>=6){const t=wt(e);if(Is(t,0)==H){const n=vs(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function is(e,t,r){const o=e.rawBitFlag=vs(t,r+2),i=!(1&~o),s=Is(t,r+6);n.assign(e,{encrypted:i,version:vs(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&_)==_},rawLastModDate:s,lastModDate:Ts(s),filenameLength:vs(t,r+22),extraFieldLength:vs(t,r+24)})}function ss(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=wt(s);let f=0,w=!1;try{for(;f<s.length;){const e=vs(l,f),t=vs(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=vs(r,o+4);n.assign(t,{signature:Is(r,o+10),crc32:Is(r,o+10),compressedSize:Is(r,o+14),uncompressedSize:Is(r,o+18)});const m=u.get(1);m&&(function(e,t){t.zip64=!0;const n=wt(e.data),r=ji.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Qi[t].bytes,0);if(e.data.length<o)throw new d(gi);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Qi[a];t[s]=e[s]=c.Be(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=u.get(28789);h&&(as(h,vo,Io,t,e),t.extraFieldUnicodePath=h);const y=u.get(25461);y&&(as(y,ko,Mo,t,e),t.extraFieldUnicodeComment=y);const g=u.get(39169);g&&g.data.length>=7?(function(e,t,r){const o=wt(e.data),i=Ns(o,4);n.assign(e,{vendorVersion:Ns(o,0),vendorId:Ns(o,2),strength:i,originalCompressionMethod:r,compressionMethod:vs(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const E=u.get(13);E&&(cs(E,t),t.extraFieldPkwareUnix=E);const S=u.get(22613);S&&(cs(S,t),t.extraFieldUnixType1=S);const b=u.get(10);b&&(function(e,t){const r=wt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=vs(r,i),n=vs(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=wt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:Os(i),lastAccessDate:Os(s),creationDate:Os(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const A=u.get(30805);let z;if(A&&(z=us(A,t,!1),t.extraFieldUnix=A),!z){const e=u.get(30837);e&&(us(e,t,!0),t.extraFieldInfoZip=e)}const R=u.get(J);R&&(function(e,t,n){if(!e.data.length)return;const r=wt(e.data),o=Ns(r,0),i=[],s=[];n?(1&~o||(i.push(Po),s.push(Vo)),2&~o||(i.push(Ho),s.push(qo)),4&~o||(i.push(Zo),s.push(Ko))):e.data.length>=5&&(i.push(Po),s.push(Vo));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=Is(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(R,t,i),t.extraFieldExtendedTimestamp=R);const F=u.get(6534);return F&&(t.extraFieldUSDZ=F),w}function as(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=wt(e.data),a=new zt;a.append(i[r]);const c=wt(new w(4));c.setUint32(0,a.get(),!0);const u=Is(s,1),l=Ns(s,0);n.assign(e,{version:l,[t]:Ur(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==Is(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function cs(e,t){if(e.data.length<8)return;const r=wt(e.data),o={lastAccessDate:new a(1e3*(0|Is(r,0))),lastModDate:new a(1e3*(0|Is(r,4)))};e.data.length>=12&&(o.uid=vs(r,8),o.gid=vs(r,10)),n.assign(e,o),n.assign(t,o)}function us(e,t,r){try{const o=wt(e.data);let i,s;if(r){let t=0;const r=Ns(o,t++),a=Ns(o,t++);i=ls(e.data.subarray(t,t+a)),t+=a;const c=Ns(o,t++);s=ls(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=vs(o,0),s=vs(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function ls(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function fs(e,t,n){const r=Is(e,t);let o,i;return n?(o=ks(e,t+4),i=ks(e,t+12)):(o=Is(e,t+4),i=Is(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function ds(e,t){return e.Me?e.Me(t):0}async function ws(e){return Is(wt(await Oo(e,0,4)))}function ps(e){return e===xe||e===Ce||e===Te}function ms(e,t){return hs(e,hs(t,Ce))}function hs(e,t){const n=e.strictness;if(n!==ae){if(!ps(n))throw new d(xi);return n}const r=e.checkAmbiguity;return r===ae?t:r?xe:t==Te?Te:Ce}function ys(e,t){if(t==Te)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Yi.test(e))||t==xe&&(n.includes(".")||n.includes(""))}function gs(e,t){if(e!==ae){const t=We(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(Ti);return t}return t==xe?0:t==Te?1/0:U}async function Es(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,d]of Ss(e,o)){const o=vs(n,f+20);if(d+X+o==r){const o=await As(e,n,s,f,d,r,i);if(2==o){if(a||(a=bs(l,f,d)),u++,!t||u>1)break}else 1!=o||c||(c=bs(l,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,u,l]of Ss(e,o)){const o=bs(c,u,l);i||(i=o);const f=await As(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{We:a,Le:u}}async function*Ss(e,t){const n=e.size-t,r=await Oo(e,n,t),o=wt(r);for(let e=r.length-X;e>=0;e--)Is(o,e)==Z&&(yield[o,n,r,e,n+e])}function bs(e,t,n){return{offset:n,buffer:e.slice(t,t+X).buffer}}async function As(e,t,n,r,o,i,s){const a=vs(t,r+10),c=Is(t,r+12),u=Is(t,r+16);if(a==U||c==B||u==B)return await zs(e,t,n,o-j,i,s)==Y?2:0;if(!a&&!c)return 1;const l=vs(t,r+6);for(const r of[o-c,ds(e,l)+u])if(await zs(e,t,n,r,i,s)==q)return 2;return 0}async function zs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?Is(t,r-n):i.count>0?(i.count--,Is(wt(await Oo(e,r,4)),0)):ae}function Rs(e,t,n){e?Ds(n):Fs(t,n)}function Fs(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function Ds(e){const t=new d(Ri);throw t.reason=e,t}function xs(e,t,n){return t[n]===ae?e.options[n]:t[n]}function Cs(e,t,n){return Ie(xs(e,t,n))}function Ts(e){const t=(4294901760&e)>>16,n=e&U,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function Os(e){return new a(o(e/i(1e4)-i(116444736e5)))}function Ns(e,t){return e.getUint8(t)}function vs(e,t){return e.getUint16(t,!0)}function Is(e,t){return e.getUint32(t,!0)}function ks(e,t){const n=e.getBigUint64(t,!0);if(n>Ji)throw new d(Oi);return o(n)}var Ms=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ri,ERR_BAD_FORMAT:wi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:hi,ERR_ENCRYPTED:Ei,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Fi,ERR_ENTRY_DATA_OUT_OF_BOUNDS:zi,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:mi,ERR_EOCDR_NOT_FOUND:pi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:gi,ERR_INVALID_AUTHENTICATION_CODE:vt,ERR_INVALID_COMPRESSED_DATA:kn,ERR_INVALID_CRC32:Mn,ERR_INVALID_FILENAME_VALIDATION:Ci,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ti,ERR_INVALID_PASSWORD:Nt,ERR_INVALID_STRICTNESS:xi,ERR_INVALID_UNCOMPRESSED_SIZE:In,ERR_LOCAL_FILE_HEADER_NOT_FOUND:yi,ERR_OVERLAPPING_ENTRY:Ai,ERR_SPLIT_ZIP_FILE:bi,ERR_UNSAFE_FILENAME:Di,ERR_UNSUPPORTED_COMPRESSION:Fn,ERR_UNSUPPORTED_ENCRYPTION:Si,ERR_UNSUPPORTED_UINT64:Oi,ERR_WORKER_STARTUP_TIMEOUT:nr,WARNING_APPENDED_DATA:Ui,WARNING_COMPRESSED_PATCHED_DATA:Ii,WARNING_DUPLICATE_FILENAME:Vi,WARNING_MALFORMED_EXTRA_FIELD:ki,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:qi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Zi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Ki,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Hi,WARNING_PREPENDED_CENTRAL_DIRECTORY:Li,WARNING_PREPENDED_DATA:Wi,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Pi,WARNING_UNKNOWN_VERSION:vi,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Mi,WARNING_UNSORTED_CENTRAL_DIRECTORY:Ni,WARNING_WRAPPED_ENTRIES_COUNT:Bi,ZipReader:_i,ZipReaderStream:$i,isZipFile:es});const Bs="File already exists",Us="Zip file comment exceeds 64KB",Ws="Invalid zip file comment (must be a Uint8Array)",Ls="File entry comment exceeds 64KB",Ps="Invalid file entry comment (must be a string)",Vs="Invalid date (must be a valid Date instance)",Hs="File entry name exceeds 64KB",qs="Version exceeds 65535",Zs="The strength must equal 1, 2, or 3",Ks="Encryption is not supported in USDZ files",Ys="Split zip files are not supported in USDZ files",Gs="Encryption is not supported when the 'passThrough' option is set",Xs="Invalid extra field (must be a Map)",js="Invalid extra field type (must be integer 0..65535)",Qs="Invalid extra field data (must be a Uint8Array)",Js="Extra field data exceeds 64KB",_s=-2147483648,$s=2147483647,ea=i(0),ta=i("0x7fffffffffffffff"),na="Zip64 is not supported (set the 'zip64' option to 'true')",ra="Undefined uncompressed size",oa="Undefined compression method",ia="Undefined reader",sa="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",aa="Zip file not empty",ca="Invalid uid (must be integer 0..2^32-1)",ua="Invalid gid (must be integer 0..2^32-1)",la="Invalid UNIX mode (must be integer 0..65535)",fa="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",da="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",wa="Invalid msdosAttributesRaw (must be integer 0..255)",pa="Invalid msdosAttributes (must be an object with boolean flags)",ma="Invalid level (must be integer 0..9)",ha="Signature data exceeds 64KB",ya=new w([7,0,2,0,65,69,3,0,0]),ga="infozip",Ea="unix";let Sa=0;const ba=[];class Aa{constructor(e,t={}){e=new Do(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;if(i&&t[ze])throw new d(Ys);n.assign(this,{writer:e,qe:i,options:t,Ze:new c,Ke:new u,offset:t[Ae]===ae?e.size||e.writable.size||0:t[Ae],Ye:t[Ae]===ae?0:t[Ae]-(e.size||e.writable.size||0),Ge:new u,Xe:[],je:0,Qe:0,Je:ae})}prependZip(e){return Ra(this,async function(e,t){if(e.Ke.size)throw new d(aa);await e._e(t)}(this,e))}appendZip(e){return Ra(this,this._e(e))}async _e(e){const r=this,{Ge:o,Ke:i,Ze:s}=r;for(;o.size;)await g.allSettled(t.from(o));let a;const u=new g(e=>a=e);o.add(u);const l=[];let f;try{e=new Fo(e),await Co(e),e.size!==ae&&e.readUint8Array||(e=new no(await Sn(e.readable)),await Co(e));const{ZipReader:o}=await g.resolve().then(function(){return Ms}),a=new o(e),u=await a.getEntries();await a.close(),await Co(r.writer);const{directoryOffset:w}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new d(Bs);i.add(e),l.push(e)}),r.$e=!0;const{et:p}=r;r.et=new g(e=>f=()=>{r.$e=!1,e()}),await p,r.qe&&(delete r.qe,await async function(e){return wt(await Oo(e,0,4)).getUint32(0,!0)==P}(e)||(await Va(r.writer,La()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>Wa(n,e)-Wa(n,t));let c=0;for(const t of a){const r=Wa(n,t);await Ba(e,n,c,r-c),Ia(i,await Ua(n,r))&&await i.closeDisk(),s.set(t,{offset:ka(e,i),diskNumberStart:Na(i)}),c=r}await Ba(e,n,c,o-c)}else{const t=e.offset;await Ba(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+Wa(n,e),diskNumberStart:0}))}return s}(r,e,u,w);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=Ma(d||de),e.extraFieldAES&&(f=99);const y=oc(d),g=Boolean(l)&&l.uncompressedSize!==ae,E=Boolean(l)&&l.compressedSize!==ae,S=-7&sc(w,p,h,a,f)|w<<1,{nt:b,ot:A}=ic({version:t,bitFlag:S,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,it:E,st:g,extraFieldLength:y}),{crc32:z}=e;z!==ae&&tc(A,10,z);const{offset:R,diskNumberStart:F}=m.get(e);n.assign(e,{ct:!0,st:g,it:E,offset:R,diskNumberStart:F,ut:!1,lt:de,ft:de,wt:de,ht:de,yt:de,rawExtraField:d,gt:de,extendedTimestamp:!1,nt:b,ot:A}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,c={}){const u=this,{Ge:l}=u,f=async function(e,r,c,u){if(Ga(e,u=n.assign({},u),ni)&&!r.endsWith(re)&&(r+=re),e.Ke.has(r))throw new d(Bs);e.Ke.add(r),Sa<Ge().maxWorkers?Sa++:await new g(e=>ba.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Ga(e,r,Qo),i=Ga(e,r,ei,o?20:768);const s=Ga(e,r,ri),a=Qa(e,r,"uid"),c=Qa(e,r,"gid");let u=Qa(e,r,ai),l=Ga(e,r,"unixExtraFieldType"),f=Ga(e,r,ci),w=Ga(e,r,ui),p=Ga(e,r,li);if(Ue(a,B,ca),Ue(c,B,ua),Ue(u,U,la),l!==ae&&l!==ga&&l!==Ea)throw new d(fa);if(l===Ea&&(a!==ae&&a>U||c!==ae&&c>U))throw new d(da);l!==ae||a===ae&&c===ae||(l=ga);let m=Qa(e,r,Xo),h=Ga(e,r,jo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||u!==ae||l||s?(o=!1,i=i&W|768):y&&(o=!0,i&=W),Ue(m,W,wa),h&&("object"!=typeof h||t.isArray(h)))throw new d(pa);if(i>U)throw new d(qs);let g=Ga(e,r,Go);const E=g!==ae;E||(g=0),!r[ni]&&n.endsWith(re)&&(r[ni]=!0);const S=Ga(e,r,ni);if(S?(n.endsWith(re)||(n+=re),E||(g=16,o||(g|=16877<<16))):o||E||(g=s?493<<16:27525120),!o){const e=u!==ae||Boolean(f||w||p);u=u===ae?g>>16&U:u&U,f?u|=te:f=Boolean(u&te),w?u|=ne:w=Boolean(u&ne),p?u|=512:p=Boolean(512&u),E&&!e||(S?u=-61441&u|ee:u&$||(u|=32768),g=(u&U)<<16|g&U)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=W;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&W}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(g=g&B|m&W);const b=g>>16&U,A=u!==ae&&40960==(u&$);return{name:n,Et:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:b,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:A,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=ja(e,n,"encodeText")||Ft;let i=r(t,Fe);if(i===ae&&(i=Ft(t)),oc(i)>U)throw new d(Hs);const s=n[ko]||"";if(typeof s!=fe)throw new d(Ps);let c=r(s,De);if(c===ae&&(c=Ft(s)),oc(c)>U)throw new d(Ls);const u=Ga(e,n,$o);if(u!==ae&&u>U)throw new d(qs);const l=Xa(e,n,Po,new a),f=Ga(e,n,Vo),w=Xa(e,n,Ho),p=Xa(e,n,Zo),m=Ga(e,n,Yo,0),h=Ga(e,n,me),y=Ga(e,n,we),g=Ga(e,n,pe);Me(y,g);const E=Qa(e,n,"encryptionStrength",3),S=Ga(e,n,ti),b=Ga(e,n,"extendedTimestamp",!0),A=Ga(e,n,"ntfsTimestamp"),z=Ga(e,n,"keepOrder",!0),R=Ga(e,n,ye),F=Ga(e,n,Ee),D=Ga(e,n,"bufferedWrite"),x=ja(e,n,"createTempStream"),C=Ga(e,n,"dataDescriptorSignature",!0),T=ke(Ga(e,n,he)),O=Ga(e,n,"useUnicodeFileNames",!0),N=Ga(e,n,oi),v=h||N===ae?ae:Tn(N);if(!h&&N!==ae&&0!==N&&8!==N&&!v)throw new d(Fn);let I=Qa(e,n,"level");if(Ue(I,9,ma),e.options[ze]){if(y!==ae||g!==ae)throw new d(Ks);I===ae&&N===ae&&(I=0)}h&&(I=ae);let k=Ga(e,n,ge),M=Ga(e,n,be);D&&M===ae&&(M=!1),(M===ae||S&&!h)&&(M=!0),I!==ae&&6!=I&&(k=!1);const B=Ga(e,n,Jo);if(!(S||y===ae&&g===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(Zs);const W=xa(n[si]),L=xa(n.localExtraField),P=xa(n.centralExtraField);return{comment:s,Et:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:g,encryptionStrength:E,zipCrypto:S,extendedTimestamp:b,ntfsTimestamp:A,keepOrder:z,useWebWorkers:R,transferStreams:F,bufferedWrite:D,createTempStream:x,dataDescriptorSignature:C,signal:T,useUnicodeFileNames:O,compressionMethod:N,format:v?v.format:ae,codecURI:v?v.codecURI:ae,St:v?v.versionNeeded:ae,level:I,useCompressionStream:k,dataDescriptor:M,zip64:B,rawExtraField:W,bt:L,gt:P}}}(e,r,u),{comment:p}=f,m=u[si];e.Ze.set(r,ae);const h=e.Je,y={};let E,S;f.Et.keepOrder&&(y.At=new g(e=>E=e)),e.Je=y;try{const{Et:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.he)return!0;if(Kn(t)||Zn(t,Wn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(Ge())||(t.level=0);const o=await async function(e,t,{Et:r},o){if(r.passThrough&&!t&&!Ga(e,o,ni))throw new d(ia);let i;if(t){if(t=new Fo(t),await Co(t),!t.readable&&!t.readUint8Array)throw new d(sa);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:u}=r;let{dataDescriptor:l,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0,y=!1;if(i&&t){if(h=o[Bo],h===ae)throw new d(ra);if(p===ae)throw new d(oa)}const g=!0===f,E=Ga(e,o,_o);if(t&&i&&!E&&oc(a,c))throw new d(Gs);const S=t&&(Boolean(a&&oc(a)||c&&oc(c))||i&&E);t||(w=0,p=0);const b=S?s?12:16+4*u:0;t&&(i?(o.uncompressedSize=h,m=n===ae?Ja(h)+b:n):n===ae?(l=!0,(f||f===ae)&&(f=y=!0,m=4294967296)):(o.uncompressedSize=h=n,m=(_a(p,w)?Ja(h):h)+b));const A=!(S||t&&(0!==n||i)||_a(p,w));A&&!s&&Ga(e,o,be)===ae&&(l=!1);const z=g||y||h>=B,R=g||m>=B;if(z||R){if(!1===f)throw new d(na);f=!0}return f=f||!1,{zt:m,Et:{dataDescriptor:l,Rt:A,zip64:f,ct:g,Ft:y,st:z,it:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:S}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=va(e.writer),m=Na(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,bt:h,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:E,passThrough:S,encrypted:b,st:A,it:z,uncompressedSize:R,Ft:F,crc32:D}=e;let{version:x,compressionMethod:C}=e;const T=!p&&_a(C,c);let O;const N=S||!T,v=u&&(e.bufferedWrite||!w||!A&&!z||N&&!F),I=v||u&&w&&(A||z);if(u&&(A||z)){const e=20,t=Oa(e);if(t.Dt(1),t.Dt(e-4),O=t.xt,v&&(t.Ct(R),N)){const e=b?l?12:16+4*y:0;t.Ct(S?0:R+e)}}else O=de;let k,M,B,W,P;if(b&&!l){const e=Oa(oc(ya)+2);e.Dt(39169),e.Tt(ya),k=e.xt,k[8]=y}else k=de;if(g){const e=Za(n),t=Ka(e);if(t){const t=9+(o?4:0)+(i?4:0),n=Oa(t);W=1+(o?2:0)+(i?4:0),n.Dt(J),n.Dt(t-4),n.Ot(W),n.Nt(e),o&&n.Nt(Ya(Za(o))),i&&n.Nt(Ya(Za(i))),B=n.xt}else B=de;if(E===ae?!t||Boolean(o||i):E)try{const e=qa(n),t=Oa(36);t.Dt(10),t.Dt(32),t.vt(4),t.Dt(1),t.Dt(24),t.Ct(e),t.Ct(o?qa(o):e),t.Ct(i?qa(i):e),M=t.xt}catch{M=de}else M=de}else M=B=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=ga||t===ae&&n===ae)if(r!=Ea||t===ae&&n===ae)P=de;else{const e=Oa(8);e.Dt(30805),e.Dt(4),e.Dt((t===ae?0:t)&U),e.Dt((n===ae?0:n)&U),P=e.xt}else{const e=Ta(t===ae?0:t),r=Ta(n===ae?0:n),o=3+e.length+r.length,i=Oa(4+o);i.Dt(30837),i.Dt(o),i.Ot(1),i.Ot(e.length),i.Tt(e),i.Ot(r.length),i.Tt(r),P=i.xt}}catch{P=de}C===ae&&(C=T?8:0),x===ae&&(x=0!=C||p||b?20:10);const{St:V}=e;T&&V!==ae&&(x=x>V?x:V),u&&(x=x>45?x:45),b&&!l&&(x=x>51?x:51,S&&D!==ae&&(k[4]=1),ec(wt(k),9,C),C=99);const H=I?oc(O):0,q=H+oc(k,B,M,P,m,h);if(q+(e[ze]?67:0)>U)throw new d(Js);const Z=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),K=Z<se?se:Z>ie?ie:Z,Y=oc(B)?new a(1e3*Za(n)):oc(M)?n:K,{nt:G,ot:X,rawLastModDate:j}=ic({version:x,bitFlag:sc(c,f,w,b,C),compressionMethod:C,uncompressedSize:R,lastModDate:K,rawLastModDate:r,rawFilename:t,it:z,st:A,extraFieldLength:q}),Q=Oa(oe+oc(t)+q),_=Q.xt,$=wt(_);return Q.Nt(L),Q.Tt(G),Q.Tt(t),I&&Q.Tt(O),Q.Tt(k),Q.Tt(B),Q.Tt(M),Q.Tt(P),Q.Tt(m),Q.Tt(h),w&&(z||tc($,18,0),A||tc($,22,0)),{It:_,kt:$,nt:G,ot:X,lastModDate:Y,rawLastModDate:j,encrypted:b,compressed:T,version:x,compressionMethod:C,Mt:W,lt:de,Bt:H,wt:B,ht:M,yt:P,ft:k,extraFieldLength:q}}(u=n.assign({},u,l.Et,f.Et,o.Et,{signature:u[ii],crc32:u.crc32===ae?u[ii]:u.crc32,offset:e.offset-p,diskNumberStart:m,[ze]:e.options[ze]})),A=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=wt(o),n&&(i=4,tc(r,0,V))),{Ut:o,Wt:r,Lt:i}}(u),z=oc(b.It,A.Ut);S=await async function(e,t,r,o,s){const{Ze:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,Rt:f,signal:w}=s,{Pt:p,He:m,Vt:h,Ht:y}=o,E=e.options[ze];let S,b,A,z,F,D,x,C=m,T=0;const O=u&&h?h.At:ae;a.set(t,C);try{s.bufferedWrite||!u||e.$e||e.je||e.Qe||!l&&!f?(S=!0,e.je++,x=s.createTempStream?await s.createTempStream():new R(ae,ae,{highWaterMark:ce}),x.size=0,await Co(c)):(b=!0,e.Qe++,x=c,await O,await N()),await Co(x);const m=va(c);e.qe&&!S&&await Pa(e,c),E&&!S&&Ca(o,e.offset-m);const{It:h}=p;S||await v();const y=Na(c),A=ka(e,c);if(C.diskNumberStart=y,S||(F=!0,D=c.size,await Va(x,h)),C=await async function(e,t,{diskNumberStart:r,At:o},s,a,c){const{Pt:u,qt:l,Zt:f}=s,{nt:w,ot:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:g,version:E,compressionMethod:S,lt:b,Bt:A,wt:z,Mt:R,ht:F,yt:D,ft:x}=u,{Ut:C}=l,{rawFilename:T,lastAccessDate:O,creationDate:N,password:v,rawPassword:I,level:k,zip64:M,ct:U,st:L,it:P,zipCrypto:V,dataDescriptor:H,directory:q,executable:Z,versionMadeBy:K,rawComment:Y,rawExtraField:G,gt:X,useWebWorkers:j,transferStreams:Q,onstart:J,onprogress:_,onend:$,signal:ee,encryptionStrength:te,extendedTimestamp:ne,msDosCompatible:re,internalFileAttributes:oe,externalFileAttributes:ie,uid:se,gid:ce,unixMode:ue,symlink:le,setuid:fe,setgid:de,sticky:we,unixExternalUpper:pe,msdosAttributesRaw:me,msdosAttributes:he,useCompressionStream:ye,passThrough:ge,format:Ee,codecURI:Se}=c,be={At:o,versionMadeBy:K,zip64:M,ct:U,directory:Boolean(q),executable:Boolean(Z),filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:Y,lt:b,Bt:A,wt:z,ht:F,yt:D,ft:x,rawExtraField:G,gt:X,extendedTimestamp:ne,msDosCompatible:re,internalFileAttributes:oe,externalFileAttributes:ie,diskNumberStart:r,uid:se,gid:ce,unixMode:ue,symlink:Boolean(le),setuid:fe,setgid:de,sticky:we,unixExternalUpper:pe,msdosAttributesRaw:me,msdosAttributes:he};let{crc32:Ae,uncompressedSize:ze}=c,Re=0;ge||(ze=0);const{writable:Fe}=t;if(e){const n=e.size,r=En(No(e,{size:n})),o={options:{codecType:_n,inputSize:n,level:k,rawPassword:I,password:v,encryptionStrength:te,zipCrypto:y&&V,passwordVerification:y&&V&&h>>8&W,computeCrc32:!ge,compressed:g&&!ge,encrypted:y&&!ge,useWebWorkers:j,useCompressionStream:ye,transferStreams:Q,format:Ee,codecURI:Se,compressionMethod:S},config:a,ce:{signal:ee,size:n,onstart:J,onprogress:_,onend:$}};try{const e=await Or({readable:r,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ge||(ze=e.inputSize,y&&!V||(Ae=e.crc32)),!P&&Re>=B||!L&&ze>=B)throw new d(na)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Pt:r,qt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:u}){const{ot:l,encrypted:f}=r,{Wt:d,Lt:w}=o;f&&!a&&!c||e===ae||(tc(l,10,e),u&&tc(d,w,e)),s?u&&(nc(d,w+4,i(t)),nc(d,w+12,i(n))):(tc(l,14,t),tc(l,18,n),u&&(tc(d,w+4,t),tc(d,w+8,n)))}({crc32:Ae,compressedSize:Re,uncompressedSize:ze,Pt:u,qt:l},c),H&&await Va(t,C),n.assign(be,{uncompressedSize:ze,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:N,lastAccessDate:O,encrypted:Boolean(y),zipCrypto:Boolean(V),size:f+Re,compressionMethod:S,version:E,nt:w,ot:p,signature:Ae,crc32:!y||V||ge?Ae:ae,Mt:R,st:L,it:P}),be}(r,x,C,o,Ge(),s),S||(F=!1),a.set(t,C),C.filename=t,S){if(await g.all([x.writable.getWriter().close(),O]),await N(),e.qe&&await Pa(e,c),z=!0,D=c.size,await v(),C.diskNumberStart=Na(c),C.offset=ka(e,c),E){const t=o.Zt;Ca(o,e.offset-va(c)),C.size+=o.Zt-t}!function({rawFilename:e,encrypted:t,zip64:n,Bt:r,crc32:o,compressedSize:s,uncompressedSize:a,st:c,it:u},l,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&tc(l,14,o),u||tc(l,18,s),c||tc(l,22,a)),n&&r){const t=oe+oc(e)+4;nc(l,t,i(a)),nc(l,t+8,i(s))}}(C,p.kt,s),await Va(c,p.It),await Ha(x.readable,c,w,e=>T+=e),c.size+=x.size,z=!1}else C.diskNumberStart=y,C.offset=A;return e.offset+=C.size,C}catch(n){if(z||F){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-D,S&&(e.offset+=T)}throw a.delete(t),n}finally{if(S&&e.je--,b&&e.Qe--,y&&y(O),A&&A(),S&&x&&x.dispose)try{await x.dispose()}catch{}}async function N(){e.$e=!0;const{et:t}=e;e.et=new g(t=>A=()=>{e.$e=!1,t()}),await t}async function v(){Ia(c,oc(p.It))&&await c.closeDisk()}}(e,r,c,{Pt:b,qt:A,Zt:z,He:y,Vt:h,Ht:E},u)}catch(t){throw e.Ze.delete(r),t}finally{E&&E(h&&h.At)}return n.assign(S,{name:r,comment:p,extraField:m}),new di(S)}(e,r,c,u)}catch(t){throw e.Ke.delete(r),t}finally{const e=ba.shift();e?e():Sa--}}(u,e,r,c);l.add(f);const p=()=>l.delete(f);return g.prototype.then.call(f,p,p),Ra(u,f)}remove(e){const{Ke:t,Ze:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{Ge:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Ws);if(oc(e)>U)throw new d(Us);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Xe.map(e=>e.Kt));const c=r.Xe.filter(e=>e.error&&!e.Yt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Yt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Gt:o,Xt:s}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,ft:o,rawComment:i,ht:s,yt:a,rawExtraField:c,gt:u,extendedTimestamp:l,Mt:f,lastModDate:w,ct:p,uncompressedSize:m,compressedSize:h}=r;let{st:y,it:g}=r;p||(y&&m<B&&(y=r.st=!1),g&&h<B&&(g=r.it=!1)),n=n||y||g;const E=r.offset>=B,S=r.diskNumberStart>=U;let b,A;if(E||S||y||g){const e=4+(y?8:0)+(g?8:0)+(E?8:0)+(S?4:0),t=Oa(e);t.Dt(1),t.Dt(e-4),y&&t.Ct(m),g&&t.Ct(h),E&&t.Ct(r.offset),S&&t.Nt(r.diskNumberStart),b=t.xt}else b=de;r.lt=b,r.jt=E,r.ut=S;const z=Za(w);if(l&&Ka(z)){const e=Oa(9);e.Dt(J),e.Dt(5),e.Ot(f),e.Nt(z),A=e.xt}else A=de;r.wt=A;const R=oc(b,o,s,a,A,c,u);if(R>U)throw new d(Js);t+=G+oc(e,i)+R}return{Gt:t,Xt:n}}(e.Ze),{Qt:a,Jt:c,_t:u}=await async function(e,n,r){const{Ze:o,writer:i}=e,s=new w(n);await Co(i);let a=0,c=0,u=Na(i),l=va(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,lt:w,ft:p,wt:m,ht:h,yt:y,rawExtraField:g,gt:E,rawComment:S,versionMadeBy:b,nt:A,ot:z,st:R,it:F,ut:D,jt:x,internalFileAttributes:C,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:N,compressedSize:v}=n,I=oc(w,p,m,h,y,g,E),k=G+oc(d,S)+I;Ia(i,a+k-c)&&(await Va(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=Na(i),l=va(i)),R||tc(z,18,N),F||tc(z,14,v),(x||D)&&n.version<45&&ec(z,0,45);const M=Oa(k);if(M.Nt(q),M.Dt(b),M.Tt(A.subarray(0,24)),M.Dt(I),M.Dt(oc(S)),M.Dt(D?U:O),M.Dt(C),M.Nt(T),M.Nt(x?B:t),M.Tt(d),M.Tt(w),M.Tt(p),M.Tt(m),M.Tt(h),M.Tt(y),M.Tt(g),M.Tt(E),M.Tt(S),rc(s,M.xt,a),a+=k,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new di(n))}catch{}}return await Va(i,c?s.slice(c):s),{Qt:{diskNumber:u,diskOffset:l},Jt:{diskNumber:Na(i),$t:f},_t:s}}(e,o,r),l=await async function(e,t,n){const r=ja(e,n,"signCentralDirectory");if(r){const n=await r(t),o=oc(n);if(o>U)throw new d(ha);const i=Oa(6+o);i.Nt(H),i.Dt(o),i.Tt(n);const{writer:s}=e;return Ia(s,oc(i.xt))&&await s.closeDisk(),await Va(s,i.xt),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{Qt:s,Jt:a,en:c,Xt:u}=r;let{Gt:l}=r,f=e.Ze.size,w=s.diskNumber,p=ka(e,s);const m=oc(t);if(m>U)throw new d(Us);let h=Ga(e,n,Jo),y=Na(o);if(Ia(o,(h?98:X)+m)&&y++,p>=B||l>=B||f>=U||y>=U){if(!1===h)throw new d(na);h=!0}else h===ae&&u&&(h=!0);const g=Oa(h?98:X);Ia(o,oc(g.xt)+m)&&await o.closeDisk(),y=Na(o);let E=y==a.diskNumber?a.$t:0;h&&(g.Nt(K),g.Ct(44),g.Dt(45),g.Dt(45),g.Nt(y),g.Nt(w),g.Ct(E),g.Ct(f),g.Ct(l),g.Ct(p),g.Nt(Y),g.Nt(y),g.Ct(i(ka(e,o))+i(l)+i(c)),g.Nt(y+1),Ga(e,n,"supportZip64SplitFile",!0)&&(y=U,w=U),E=U,f=U,p=B,l=B),g.Nt(Z),g.Dt(y),g.Dt(w),g.Dt(E),g.Dt(f),g.Nt(l),g.Nt(p),g.Dt(m),await Va(o,g.xt),m&&await Va(o,t)}(e,n,r,{Qt:a,Jt:c,Gt:o,en:l,Xt:s})}(r,e,n),!xo(s)&&Ga(r,n,Se)||await a.getWriter().close(),s.getData?s.getData():a}}class za extends g{then(e,t){const{tn:n}=this;return n&&(n.Yt=!0),super.then(e,t)}}function Ra(e,t){const n=new za((e,n)=>g.prototype.then.call(t,e,n)),r={};return n.tn=r,r.Kt=g.prototype.then.call(n,ae,e=>r.error=e),e.Xe.push(r),n}async function Fa(e,t){try{await e.writer.writable.abort(t)}catch{}}function Da(e,t,n){e.Ge.add(t),t.catch(e=>{try{n(e)}catch{}})}function xa(e){if(!e)return de;if(!(e instanceof c))throw new d(Xs);let t=0,n=0;e.forEach((e,n)=>{if(Be(n,U,js),!(e instanceof w))throw new d(Qs);if(oc(e)>U)throw new d(Js);t+=4+oc(e)});const r=new w(t),o=wt(r);return e.forEach((e,t)=>{ec(o,n,t),ec(o,n+2,oc(e)),rc(r,e,n+4),n+=4+oc(e)}),r}function Ca(e,t){const{Pt:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+oc(r))%64;i<4&&(i+=64);const s=new w(i),a=wt(s);ec(a,0,6534),ec(a,2,i-4);const c=r;n.It=r=new w(oc(c)+i),rc(r,c),rc(r,s,oc(c));const u=wt(r);ec(u,28,o+i),n.kt=u,e.Zt+=i}function Ta(e){const t=new w(4);wt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Oa(e){const t=new w(e),n=wt(t);let r=0;return{xt:t,Ot:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Dt:e=>{ec(n,r,e),r+=2},Nt:e=>{tc(n,r,e),r+=4},Ct:e=>{nc(n,r,i(e)),r+=8},Tt:e=>{rc(t,e,r),r+=oc(e)},vt:e=>r+=e}}function Na(e){const{diskNumber:t=0}=e;return t}function va(e){const{diskOffset:t=0}=e;return t}function Ia(e,t){const{availableSize:n=ce}=e;return t>n}function ka(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ye:0)}function Ma(e){const t=wt(e);let n=0;for(;n+4<=oc(e);){const r=4+$a(t,n+2);if(1==$a(t,n))return Ma(ft(e.subarray(0,n),e.subarray(s.min(n+r,oc(e)))));n+=r}return e}async function Ba(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await Ha(No(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Ua(e,t){const n=await Oo(e,t,oe);if(oc(n)<oe)return oe;const r=wt(n);return oe+$a(r,26)+$a(r,28)}function Wa(e,{offset:t,diskNumberStart:n}){return t+(e.Me?e.Me(n):0)}function La(){const e=new w(4);return tc(wt(e),0,P),e}async function Pa(e,t){delete e.qe,await Va(t,La()),e.offset+=4}async function Va(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=oc(t),await r.write(t)}finally{r.releaseLock()}}async function Ha(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){await o.ready,await o.write(e),r(oc(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function qa(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<ea?ea:t>ta?ta:t}}function Za(e){return s.floor(e.getTime()/1e3)}function Ka(e){return e>=_s&&e<=$s}function Ya(e){return s.min($s,s.max(_s,e))}function Ga(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function Xa(e,t,n,r){const i=Ga(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=le||o.isNaN(i.getTime())))throw new d(Vs);return i}function ja(e,t,n){return Ie(Ga(e,t,n))}function Qa(e,t,n,r){return We(Ga(e,t,n,r))}function Ja(e){return e+5*(s.floor(e/16383)+1)}function _a(e,t){return e===ae?t===ae||t>0:0!==e}function $a(e,t){return e.getUint16(t,!0)}function ec(e,t,n){e.setUint16(t,n,!0)}function tc(e,t,n){e.setUint32(t,n,!0)}function nc(e,t,n){e.setBigUint64(t,n,!0)}function rc(e,t,n){e.set(t,n)}function oc(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function ic({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,it:c,st:u,extraFieldLength:l}){const f=Oa(26),d=f.xt,w=wt(d);if(f.Dt(e),f.Dt(t),f.Dt(n),s===ae){const e=new m(1),t=wt(e);ec(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ec(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.Nt(s),f.vt(4),c||o!==ae?f.Nt(c?B:o):f.vt(4),u||r!==ae?f.Nt(u?B:r):f.vt(4),f.Dt(oc(a)),f.Dt(l),{nt:d,ot:w,rawLastModDate:s}}function sc(e,t,n,r,o){let i=0;return t&&(i|=_),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function ac(e,t){if(!e)return!1;const{nn:n}=e;return n?n.includes(t):Zn(e,t)}const cc=1048576,uc=".zip.js-temp",lc=1048576,fc=1048576,dc=".zip.js-temp",wc="createSyncAccessHandle is only available in dedicated workers";try{$e({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:M&&"SCRIPT"===M.tagName.toUpperCase()&&M.src||new f("zip-legacy.min.js",b.baseURI).href})}catch{}ut($e),e.BlobReader=no,e.BlobWriter=ro,e.Data64URIReader=class extends _r{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{rn:e,sn:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{sn:n,rn:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends $r{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",an:""})}writeUint8Array(e){const t=this;let n,o=t.an;const i=t.an.length;for(t.an="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.an+=r.fromCharCode(e[n]);o.length>2?t.data+=z(o):t.an=o+t.an}getData(){return this.data+z(this.an)}},e.ERR_AMBIGUOUS_ARCHIVE=Ri,e.ERR_BAD_FORMAT=wi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=hi,e.ERR_DUPLICATED_NAME=Bs,e.ERR_ENCRYPTED=Ei,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Fi,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=zi,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=mi,e.ERR_EOCDR_NOT_FOUND=pi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=gi,e.ERR_HTTP_RANGE=Pr,e.ERR_HTTP_RESOURCE_CHANGED=Vr,e.ERR_INVALID_AUTHENTICATION_CODE=vt,e.ERR_INVALID_CODEC_DEFINITION=An,e.ERR_INVALID_CODEC_MODULE=Rn,e.ERR_INVALID_COMMENT=Us,e.ERR_INVALID_COMMENT_TYPE=Ws,e.ERR_INVALID_COMPRESSED_DATA=kn,e.ERR_INVALID_CRC32=Mn,e.ERR_INVALID_DATE=Vs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Zs,e.ERR_INVALID_ENTRY_COMMENT=Ls,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Ps,e.ERR_INVALID_ENTRY_NAME=Hs,e.ERR_INVALID_EXTRAFIELD=Xs,e.ERR_INVALID_EXTRAFIELD_DATA=Js,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Qs,e.ERR_INVALID_EXTRAFIELD_TYPE=js,e.ERR_INVALID_FILENAME_VALIDATION=Ci,e.ERR_INVALID_FUNCTION_OPTION=Oe,e.ERR_INVALID_GID=ua,e.ERR_INVALID_LEVEL=ma,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Ti,e.ERR_INVALID_MAX_WORKERS=Le,e.ERR_INVALID_MSDOS_ATTRIBUTES=wa,e.ERR_INVALID_MSDOS_DATA=pa,e.ERR_INVALID_PASSWORD=Nt,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_READER=sa,e.ERR_INVALID_SIGNAL=Ne,e.ERR_INVALID_SIGNATURE_DATA=ha,e.ERR_INVALID_STRICTNESS=xi,e.ERR_INVALID_UID=ca,e.ERR_INVALID_UNCOMPRESSED_SIZE=In,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=fa,e.ERR_INVALID_UNIX_ID_SIZE=da,e.ERR_INVALID_UNIX_MODE=la,e.ERR_INVALID_VERSION=qs,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Hr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=yi,e.ERR_OVERLAPPING_ENTRY=Ai,e.ERR_RESERVED_COMPRESSION_METHOD=zn,e.ERR_SPLIT_ZIP_FILE=bi,e.ERR_UNDEFINED_COMPRESSION_METHOD=oa,e.ERR_UNDEFINED_READER=ia,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ra,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=Di,e.ERR_UNSUPPORTED_COMPRESSION=Fn,e.ERR_UNSUPPORTED_CONTEXT=wc,e.ERR_UNSUPPORTED_CRYPTO_API=kt,e.ERR_UNSUPPORTED_ENCRYPTION=Si,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Gs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ks,e.ERR_UNSUPPORTED_FORMAT=na,e.ERR_UNSUPPORTED_SPLIT_USDZ=Ys,e.ERR_UNSUPPORTED_UINT64=Oi,e.ERR_WORKER_STARTUP_TIMEOUT=nr,e.ERR_WRITER_NOT_INITIALIZED=qr,e.ERR_ZIP_NOT_EMPTY=aa,e.HttpRangeReader=class extends Ao{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Ao,e.Reader=_r,e.SplitDataReader=zo,e.SplitDataWriter=Ro,e.TextReader=class extends no{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends ro{constructor(e){super(),n.assign(this,{encoding:e,cn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,cn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Wr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends _r{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{xt:e,size:e.length})}readUint8Array(e,t){return this.xt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends $r{constructor(e){super(),this.un=e||262144}init(e=0){n.assign(this,{offset:0,xt:new w(e>0?e:this.un)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.xt.length){let e=t.xt.length?2*t.xt.length:t.un;for(;e<n;)e*=2;const r=t.xt;t.xt=new w(e),t.xt.set(r)}t.xt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.xt.length?this.xt:this.xt.slice(0,this.offset)}},e.VERSION="2.11.3",e.WARNING_APPENDED_DATA=Ui,e.WARNING_COMPRESSED_PATCHED_DATA=Ii,e.WARNING_DUPLICATE_FILENAME=Vi,e.WARNING_MALFORMED_EXTRA_FIELD=ki,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=qi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Zi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Ki,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=Hi,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Li,e.WARNING_PREPENDED_DATA=Wi,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Pi,e.WARNING_UNKNOWN_VERSION=vi,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Mi,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=Ni,e.WARNING_WRAPPED_ENTRIES_COUNT=Bi,e.Writer=$r,e.ZipReader=_i,e.ZipReaderStream=$i,e.ZipWriter=Aa,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new R;this.readable=t,this.zipWriter=new Aa(n,e),this.Ge=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new R({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await Fa(t,e)}}()}});return Da(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new R({start(e){t=e}});return Da(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.Ge))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await Fa(r,e),e}try{return await r.close(e,n)}catch(e){throw await Fa(r,e),e}}},e.configure=function(e){n.assign(Ye,Qe(_e(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=lc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new R;r=Sn(t.readable),n=t.writable.getWriter(),s=!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:a,readable:new F({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=cc,directoryName:r=uc,getDirectory:o=()=>T.storage.getDirectory()}=e;let i;function s(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new D({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new F({async pull(t){if(u){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=fc,directoryName:r=dc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(wc);const i=o||(()=>T.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new D({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new F({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=On,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=Ge(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:ac(n,Bn)||ac(e,Bn)||ac(e,Wn),decompression:ac(r,Bn)||ac(t,Bn)||ac(t,Wn),registered:!1},{compressionMethod:9,compression:!1,decompression:ac(r,Un)||ac(t,Un),registered:!1}];for(const e of On()){const t=Nn(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==le:ae,decompression:t?typeof t.DecompressionStream==le:ae,registered:!0})}return o},e.isZipFile=es,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>U||typeof n!=fe||!n.length)throw new d(An);if(Dn.includes(t))throw new d(zn);const c=typeof i==le||typeof s==le;if(!(c||typeof r==fe&&r.length))throw new d(An);xn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&vn(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ke)delete Ye[e];n.assign(Ye,Ve)},e.terminateWorkers=async function(){await g.allSettled(Fr.map(e=>(Mr(e),e.terminate()))),rr=ae,or=!1},e.unregisterCodec=function(e){const t=xn.get(e);if(t){let n;xn.delete(e),xn.forEach(e=>n=n||e.format==t.format),n||Cn.delete(t.format)}}});
|
|
1
|
+
!function(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:o,BigInt:i,Math:s,Date:a,Map:c,Set:u,Response:l,URL:f,Error:d,Uint8Array:w,Uint16Array:p,Uint32Array:m,DataView:h,Blob:y,Promise:g,TextEncoder:E,TextDecoder:S,document:b,crypto:A,btoa:z,TransformStream:R,ReadableStream:F,WritableStream:D,CompressionStream:x,DecompressionStream:C,navigator:T,Worker:O,Symbol:N,setTimeout:v,clearTimeout:I,structuredClone:k}="undefined"!=typeof globalThis?globalThis:self;var M=void 0!==b?b.currentScript:null;const B=4294967295,U=65535,W=255,L=67324752,P=134695760,V=P,H=84233040,q=33639248,Z=101010256,K=101075792,Y=117853008,G=46,X=22,j=20,Q=56,J=21589,_=2048,$=61440,ee=16384,te=2048,ne=1024,re="/",oe=30,ie=new a(2107,11,31,23,59,58),se=new a(1980,0,1),ae=void 0,ce=1/0,ue="undefined",le="function",fe="string",de=new w,we="password",pe="rawPassword",me="passThrough",he="signal",ye="useWebWorkers",ge="useCompressionStream",Ee="transferStreams",Se="preventClose",be="dataDescriptor",Ae="offset",ze="usdz",Re="maxAppendedDataSize",Fe="filename",De="comment",xe="strict",Ce="balanced",Te="tolerant",Oe="Invalid option (must be a function)",Ne="Invalid signal (must be an AbortSignal instance)",ve="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Ie(e){if(e&&typeof e!=le)throw new d(Oe);return e}function ke(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new d(Ne);return e||ae}function Me(e){if(e&&e.aborted)throw e.reason===ae?new DOMException("The operation was aborted","AbortError"):e.reason}function Be(e,t){if(e&&typeof e!=fe||t&&!(t instanceof w))throw new d(ve)}function Ue(e,t,n){if(!o.isInteger(e)||e<0||e>t)throw new d(n)}function We(e,t,n){e!==ae&&Ue(e,t,n)}function Le(e){return typeof e==fe&&e.trim()?o(e):e}const Pe="Invalid maxWorkers (must be an integer greater than 0)";let Ve=2;try{typeof T!=ue&&T.hardwareConcurrency&&(Ve=T.hardwareConcurrency)}catch{}const He={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Ve,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof x!=ue&&x,DecompressionStream:typeof C!=ue&&C},qe="maxWorkers",Ze=["chunkSize",qe,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Ke=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ye=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Ze,...Ke],Ge={...He};function Xe(){return Ge}function je(e){return Qe(e.chunkSize)}function Qe(e){return e=Le(e),o.isInteger(e)&&e>=1?s.max(e,64):65536}function Je(e){const t={};for(const n of Ye){const r=e[n];r!==ae&&(t[n]=_e(n,r))}return t}function _e(e,t){if(Ze.includes(e)){if(t=Le(t),e==qe&&(!o.isInteger(t)||t<1))throw new d(Pe)}else Ke.includes(e)&&Ie(t);return t}function $e(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ae&&r===ae)return e;const o=n.assign({},e);return o.CompressionStreamFallback===ae&&(o.CompressionStreamFallback=t),o.DecompressionStreamFallback===ae&&(o.DecompressionStreamFallback=r),o}function et(e){const t=Je($e(e));n.assign(He,t),n.assign(Ge,t)}const tt=[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],nt=[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],rt=[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],ot=[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],it=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],st=new w(288);st.fill(8,0,144),st.fill(9,144,256),st.fill(7,256,280),st.fill(8,280,288);const at=new w(30).fill(5);function ct(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;e<=15;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 ut="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lt=(ft=()=>function(e){let t=0,n=0,r=0,o=new w(1024),i=0,s=0;for(;!s;){s=c(1);const e=c(2);if(0==e)u();else if(1==e)l(ct(st),ct(at));else{if(2!=e)throw new d("invalid deflate block type");l(...f())}}return o.subarray(0,i);function a(){if(t>=e.length)throw new d("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=a()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function u(){n=0,r=0;const e=a()|a()<<8;t+=2,m(i+e);for(let t=0;t<e;t++)o[i++]=a()}function l(e,t){let n=p(e);for(;256!=n;){if(n<256)m(i+1),o[i++]=n;else{const e=n-257,r=tt[e]+c(nt[e]),s=p(t),a=rt[s]+c(ot[s]);m(i+r);const u=i-a;for(let e=0;e<r;e++)o[i++]=o[u+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new w(19);for(let e=0;e<n;e++)r[it[e]]=c(3);const o=ct(r),i=new w(e+t);let s=0;for(;s<i.length;){const e=p(o);if(e<16)i[s++]=e;else if(16==e){const e=i[s-1];let t=c(2)+3;for(;t--;)i[s++]=e}else s+=17==e?c(3)+3:c(7)+11}return[ct(i.subarray(0,e)),ct(i.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,o=0,i=0;for(let e=1;e<=15;e++){r|=c(1);const s=t[e];if(r-o<s)return n[i+(r-o)];i+=s,o=o+s<<1,r<<=1}throw new d("invalid huffman code")}function m(e){if(o.length<e){let t=2*o.length;for(;t<e;)t*=2;const n=new w(t);n.set(o.subarray(0,i)),o=n}}}(function(e){const t=(e=r(e).replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=ut.indexOf(e[r])<<18|ut.indexOf(e[r+1])<<12|(63&ut.indexOf(e[r+2]))<<6|63&ut.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 w(n)}("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")),e=>e({workerURI:e=>{const t="text/javascript";let n=ft();if("string"==typeof n&&(n=(new E).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+function(e){let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=ut[n>>18&63]+ut[n>>12&63]+ut[n>>6&63]+ut[63&n]}const o=n-r;if(1===o){const n=e[r]<<16;t+=ut[n>>18&63]+ut[n>>12&63]+"=="}else if(2===o){const n=e[r]<<16|e[r+1]<<8;t+=ut[n>>18&63]+ut[n>>12&63]+ut[n>>6&63]+"="}return t}(n)}}));var ft;function dt(e,t){const n=new w(e.length+t.length);return n.set(e),n.set(t,e.length),n}function wt(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new w(e):e}function pt(e){return new h(e.buffer,e.byteOffset,e.byteLength)}const mt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;mt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=mt[t-1][e];mt[t][e]=n>>>8^mt[0][255&n]}const[ht,yt,gt,Et,St,bt,At,zt]=mt;class Rt{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 o=new h(e.buffer,e.byteOffset,n),i=n-8;for(;r<=i;r+=8){const e=t^o.getInt32(r,!0),n=o.getInt32(r+4,!0);t=zt[255&e]^At[e>>>8&255]^bt[e>>>16&255]^St[e>>>24&255]^Et[255&n]^gt[n>>>8&255]^yt[n>>>16&255]^ht[n>>>24&255]}}for(;r<n;r++)t=t>>>8^ht[255&(t^e[r])];this.l=t}get(){return~this.l}}class Ft extends R{constructor(){let e;const t=new Rt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new w(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function Dt(e){if(typeof E==ue){e=unescape(encodeURIComponent(e));const t=new w(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new E).encode(e)}const xt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=xt.m(n);return 32===r?e.concat(t):xt.h(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)+xt.m(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,s.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=xt.A(t,e[n-1]&2147483648>>t-1,1)),e},A:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,m:e=>s.round(e/1099511627776)||32,h(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 o=0;o<e.length;o++)r.push(n|e[o]>>>t),n=e[o]<<32-t;const o=e.length?e[e.length-1]:0,i=xt.m(o);return r.push(xt.A(t+i&31,t+i>32?n:r.pop(),1)),r}},Ct={bytes:{R(e){const t=xt.bitLength(e)/8,n=new w(t);let r;for(let o=0;o<t;o++)3&o||(r=e[o/4]),n[o]=r>>>24,r<<=8;return n},F(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(xt.A(8*(3&n),r)),t}}},Tt=class{constructor(e){const t=this;t.blockSize=512,t.D=[1732584193,4023233417,2562383102,271733878,3285377520],t.C=[1518500249,1859775393,2400959708,3395469782],e?(t.T=e.T.slice(0),t.O=e.O.slice(0),t.N=e.N):t.reset()}reset(){const e=this;return e.T=e.D.slice(0),e.O=[],e.N=0,e}update(e){const t=this;"string"==typeof e&&(e=Ct.v.F(e));const n=t.O=xt.concat(t.O,e),r=t.N,o=t.N=r+xt.bitLength(e);if(o>9007199254740991)throw new d("Cannot hash more than 2^53 - 1 bits");const i=new m(n);let s=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=o;e+=t.blockSize)t.I(i.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}M(){const e=this;let t=e.O;const n=e.T;t=xt.concat(t,[xt.A(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(s.floor(e.N/4294967296)),t.push(0|e.N);t.length;)e.I(t.splice(0,16));return e.reset(),n}B(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}U(e,t){return t<<e|t>>>32-e}I(e){const n=this,r=n.T,o=t(80);for(let t=0;t<16;t++)o[t]=e[t];let i=r[0],a=r[1],c=r[2],u=r[3],l=r[4];for(let e=0;e<=79;e++){e>=16&&(o[e]=n.U(1,o[e-3]^o[e-8]^o[e-14]^o[e-16]));const t=n.U(5,i)+n.B(e,a,c,u)+l+o[e]+n.C[s.floor(e/20)]|0;l=u,u=c,c=n.U(30,a),a=i,i=t}r[0]=r[0]+i|0,r[1]=r[1]+a|0,r[2]=r[2]+c|0,r[3]=r[3]+u|0,r[4]=r[4]+l|0}},Ot={importKey:e=>new Ot.W(Ct.bytes.F(e)),L(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new d("invalid params to pbkdf2");const o=1+(r>>5)<<2;let i,s,a,c,u;const l=new ArrayBuffer(o),f=new h(l);let w=0;const p=xt;for(t=Ct.bytes.F(t),u=1;w<(o||1);u++){for(i=s=e.encrypt(p.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)i[c]^=s[c];for(a=0;w<(o||1)&&a<i.length;a++)f.setInt32(w,i[a]),w+=4}return l.slice(0,r/8)},W:class{constructor(e){const t=this,n=t.P=Tt,r=[[],[]];t.V=[new n,new n];const o=t.V[0].blockSize/32;e.length>o&&(e=(new n).update(e).M());for(let t=0;t<o;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.V[0].update(r[0]),t.V[1].update(r[1]),t.H=new n(t.V[0])}reset(){const e=this;e.H=new e.P(e.V[0]),e.Z=!1}update(e){this.Z=!0,this.H.update(e)}digest(){const e=this,t=e.H.M(),n=new e.P(e.V[1]).update(t).M();return e.reset(),n}encrypt(e){if(this.Z)throw new d("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Nt=typeof A!=ue&&typeof A.getRandomValues==le,vt="Invalid password",It="Invalid authentication code",kt="zipjs-abort-check-password",Mt="Crypto API not supported";function Bt(e){if(Nt)return A.getRandomValues(e);throw new d(Mt)}const Ut=16,Wt={name:"PBKDF2"},Lt=n.assign({hash:{name:"HMAC"}},Wt),Pt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},Wt),Vt=["deriveBits"],Ht=[8,12,16],qt=[16,24,32],Zt=10,Kt=[0,0,0,0],Yt=typeof A!=ue,Gt=Yt&&A.subtle,Xt=Yt&&typeof Gt!=ue,jt=Ct.bytes,Qt=class{constructor(e){const t=this;t.K=[[[],[],[],[],[]],[[],[],[],[],[]]],t.K[0][0][0]||t.Y();const n=t.K[0][4],r=t.K[1],o=e.length;let i,s,a,c=1;if(4!==o&&6!==o&&8!==o)throw new d("invalid aes key size");for(t.C=[s=e.slice(0),a=[]],i=o;i<4*o+28;i++){let e=s[i-1];(i%o===0||8===o&&i%o===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%o===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),s[i]=s[i-o]^e}for(let e=0;i;e++,i--){const t=s[3&e?i:i-4];a[e]=i<=4||e<4?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.G(e,0)}decrypt(e){return this.G(e,1)}Y(){const e=this.K[0],t=this.K[1],n=e[4],r=t[4],o=[],i=[];let s,a,c,u;for(let e=0;e<256;e++)i[(o[e]=e<<1^283*(e>>7))^e]=e;for(let l=s=0;!n[l];l^=a||1,s=i[s]||1){let i=s^s<<1^s<<2^s<<3^s<<4;i=i>>8^255&i^99,n[l]=i,r[i]=l,u=o[c=o[a=o[l]]];let f=16843009*u^65537*c^257*a^16843008*l,d=257*o[i]^16843008*i;for(let n=0;n<4;n++)e[n][l]=d=d<<24^d>>>8,t[n][i]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}G(e,t){if(4!==e.length)throw new d("invalid aes block size");const n=this.C[t],r=n.length/4-2,o=[0,0,0,0],i=this.K[t],s=i[0],a=i[1],c=i[2],u=i[3],l=i[4];let f,w,p,m=e[0]^n[0],h=e[t?3:1]^n[1],y=e[2]^n[2],g=e[t?1:3]^n[3],E=4;for(let e=0;e<r;e++)f=s[m>>>24]^a[h>>16&255]^c[y>>8&255]^u[255&g]^n[E],w=s[h>>>24]^a[y>>16&255]^c[g>>8&255]^u[255&m]^n[E+1],p=s[y>>>24]^a[g>>16&255]^c[m>>8&255]^u[255&h]^n[E+2],g=s[g>>>24]^a[m>>16&255]^c[h>>8&255]^u[255&y]^n[E+3],E+=4,m=f,h=w,y=p;for(let e=0;e<4;e++)o[t?3&-e:e]=l[m>>>24]<<24^l[h>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^n[E++],f=m,m=h,h=y,y=g,g=f;return o}},Jt=class{constructor(e,t){this.X=e,this.j=t,this.J=t}reset(){this.J=this.j}update(e){return this._(this.X,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 o=xt.bitLength(t);for(let o=0;o<r;o+=4){this.ee(n);const r=e.encrypt(n);t[o]^=r[0],t[o+1]^=r[1],t[o+2]^=r[2],t[o+3]^=r[3]}return xt.S(t,o)}},_t=Ot.W;let $t=Yt&&Xt&&typeof Gt.importKey==le,en=Yt&&Xt&&typeof Gt.deriveBits==le;class tn extends R{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:o=!0}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:o,strength:i,te:s,ready:a}=n;o?(await async function(e,t,n,r){const o=await sn(e,t,n,cn(r,0,Ht[t])),i=cn(r,Ht[t]);if(o[0]!=i[0]||o[1]!=i[1])throw new d(vt)}(n,i,o,cn(e,0,Ht[i]+2)),e=cn(e,Ht[i]+2),r?t.error(new d(kt)):s()):await a;const c=new w(e.length-Zt-(e.length-Zt)%Ut);t.enqueue(on(n,e,c,0,Zt,!0))},async flush(e){const{ne:t,re:n,oe:r,ready:i}=this;if(n&&t){await i;const s=cn(r,0,r.length-Zt),a=cn(r,r.length-Zt);let c=de;if(s.length){const e=ln(jt,s);n.update(e);const r=t.update(e);c=un(jt,r)}const u=cn(un(jt,n.digest()),0,Zt);let l=r.length<Zt?1:0;for(let e=0;e<Zt;e++)l|=u[e]^a[e];if(l&&o)throw new d(It);e.enqueue(c)}}})}}class nn extends R{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){rn(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:o,te:i,ready:s}=n;let a=de;r?(a=await async function(e,t,n){const r=Bt(new w(Ht[t]));return dt(r,await sn(e,t,n,r))}(n,o,r),i()):await s;const c=new w(a.length+e.length-e.length%Ut);c.set(a,0),t.enqueue(on(n,e,c,a.length,0))},async flush(e){const{ne:t,re:n,oe:r,ready:o}=this;if(n&&t){await o;let i=de;if(r.length){const e=t.update(ln(jt,r));n.update(e),i=un(jt,e)}const s=un(jt,n.digest()).slice(0,Zt);e.enqueue(dt(i,s))}}})}}function rn(e,t,r,o){n.assign(e,{ready:new g(t=>e.te=t),password:an(t,r),strength:o-1,oe:de})}function on(e,t,n,r,o,i){const{ne:s,re:a,oe:c}=e;c.length&&(t=dt(c,t));const u=t.length-o;let l;for(n=function(e,t){if(t&&t>e.length){const n=e;(e=new w(t)).set(n,0)}return e}(n,r+(u-u%Ut)),l=0;l<=u-Ut;l+=Ut){const e=ln(jt,cn(t,l,l+Ut));i&&a.update(e);const o=s.update(e);i||a.update(o),n.set(un(jt,o),l+r)}return e.oe=cn(t,l),n}async function sn(e,r,o,i){e.password=null;const s=await async function(e,t,n,r,o){if(!$t)return Ot.importKey(t);try{return await Gt.importKey("raw",t,n,!1,o)}catch{return $t=!1,Ot.importKey(t)}}(0,o,Lt,0,Vt),a=await async function(e,t,n){if(!en)return Ot.L(t,e.salt,Pt.iterations,n);try{return await Gt.deriveBits(e,t,n)}catch{return en=!1,Ot.L(t,e.salt,Pt.iterations,n)}}(n.assign({salt:i},Pt),s,8*(2*qt[r]+2)),c=new w(a),u=ln(jt,cn(c,0,qt[r])),l=ln(jt,cn(c,qt[r],2*qt[r])),f=cn(c,2*qt[r]);return n.assign(e,{keys:{key:u,ie:l,passwordVerification:f},ne:new Jt(new Qt(u),t.from(Kt)),re:new _t(l)}),f}function an(e,t){return t===ae?Dt(e):t}function cn(e,t,n){return e.subarray(t,n)}function un(e,t){return e.R(t)}function ln(e,t){return e.F(t)}class fn extends R{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){wn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=pn(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new d(vt);e=e.subarray(12)}r?t.error(new d(kt)):t.enqueue(pn(n,e))}})}}class dn extends R{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){wn(this,e,t,n)},transform(e,t){const n=this;let r,o;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Bt(new w(12));t[11]=n.passwordVerification,r=new w(e.length+t.length),r.set(mn(n,t),0),o=12}else r=new w(e.length),o=0;r.set(mn(n,e),o),t.enqueue(r)}})}}function wn(e,t,r,o){n.assign(e,{password:t,rawPassword:r,passwordVerification:o}),function(e,t,r){const o=[305419896,591751049,878082192];if(n.assign(e,{keys:o,se:new Rt(o[0]),ae:new Rt(o[2])}),r)for(let t=0;t<r.length;t++)hn(e,r[t]);else for(let n=0;n<t.length;n++)hn(e,t.charCodeAt(n))}(e,t,r)}function pn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],hn(e,n[r]);return n}function mn(e,t){const n=new w(t.length);for(let r=0;r<t.length;r++)n[r]=yn(e)^t[r],hn(e,t[r]);return n}function hn(e,t){let[,n]=e.keys;e.se.append([t]);const r=~e.se.get();n=En(s.imul(En(n+gn(r)),134775813)+1),e.ae.append([n>>>24]);const o=~e.ae.get();e.keys=[r,n,o]}function yn(e){const t=2|e.keys[2];return gn(s.imul(t,1^t)>>>8)}function gn(e){return 255&e}function En(e){return 4294967295&e}function Sn(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function bn(e,t){e=Sn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new l(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 An(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 zn="Invalid codec definition",Rn="Reserved compression method",Fn="Invalid codec module",Dn="Compression method not supported",xn=[0,8,9,99],Cn=new c,Tn=new c;function On(e){return Cn.get(e)}function Nn(){return t.from(Cn.values(),e=>n.assign({},e,Tn.get(e.format)))}function vn(e){return Tn.get(e)}function In(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new d(Fn);Tn.set(e,{CompressionStream:n,DecompressionStream:r})}const kn="Invalid uncompressed size",Mn="Invalid compressed data",Bn="Invalid CRC32",Un="deflate-raw",Wn="deflate64-raw",Ln="gzip",Pn=[31,139,8];class Vn extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:o,encrypted:i,useCompressionStream:s,zipCrypto:a,computeCrc32:c,level:u,deflate64:l,format:f,compressionMethod:d,inputSize:w}=e,p=this;let m,y,g,E=super.readable;const S=f&&vn(f),b=c&&o&&!l&&!S&&(!i||a)&&Boolean(s&&r);if(i&&!a||!c||b||(m=new Ft,E=Qn(E,m)),o)if(S)E=Jn(E,Xn(S.CompressionStream,f,{level:u,chunkSize:t,compressionMethod:d,uncompressedSize:w}));else if(b)g=new Hn,E=Jn(E,new r(Ln)),E=Qn(E,g);else try{E=jn(E,s,{level:u,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Ln)}catch{throw e}E=Jn(E,t),E=Qn(E,new Hn)}i&&(a?E=Qn(E,new dn(e)):(y=new nn(e),E=Qn(E,y))),Gn(p,E,()=>{i&&!a||!c||(p.crc32=b?g.crc32:new h(m.value.buffer).getUint32(0))})}}class Hn extends R{constructor(){let e,t=10,n=new w(0);super({transform(e,r){if(t){const n=s.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const o=n.length+e.length;if(o<=8)return void(n=dt(n,e));const i=o-8,a=s.min(i,n.length);r.enqueue(dt(n.subarray(0,a),e.subarray(0,i-a))),n=dt(n.subarray(a),e.subarray(i-a))},flush(){const t=pt(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class qn extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:o,encrypted:i,checkCrc32:s,crc32:a,compressed:c,useCompressionStream:u,deflate64:l,format:f,compressionMethod:p,rawBitFlag:m,outputSize:y}=e;let E,S,b=super.readable;if(i&&(o?b=Qn(b,new fn(e)):(S=new tn(e),b=Qn(b,S))),c){const e=f&&vn(f);if(e)b=Jn(b,Xn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:m,uncompressedSize:y}));else try{b=jn(b,u,{chunkSize:t,deflate64:l},r,n)}catch(e){if(l||y===ae)throw e;let t;try{t=new r(Ln)}catch{throw e}b=function(e,t,n){const r=new Rt;let o,i,s,a=0,c=!1;const u=new g((e,t)=>{i=e,s=t});u.catch(()=>{}),n||i();const l=new R({start(e){const t=new w(10);t.set(Pn),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await u}finally{m()}const t=new w(8),o=pt(t);o.setUint32(0,r.get(),!0),o.setUint32(4,n,!0),e.enqueue(t)},cancel(e){s(e)}}),f=new R({transform(e,t){r.append(e),a+=e.length,a>=n?i():c&&p(),t.enqueue(e)},cancel(e){s(e)}});return e=Qn(e,l),Qn(e=Jn(e,t),f);function p(){m(),o=v(()=>s(new d(kn)),5e3)}function m(){I(o)}}(b,t,y)}b=function(e){const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new d(Mn);throw t.cause=e,t}const{value:r,done:o}=n;o?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}(b)}s&&(E=new Ft,b=Qn(b,E)),Gn(this,b,()=>{if(s){const e=new h(E.value.buffer);if(a!=e.getUint32(0,!1))throw new d(Bn)}})}}const Zn=new c;function Kn(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===ae){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Yn(e){return Kn(e,Un)}function Gn(e,t,r){t=Qn(t,new R({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Xn(e,t,n){if(!e)throw new d(Dn);return new e(t,n)}function jn(e,t,n,r,o){const i=t&&r?r:o||r,s=n.deflate64?Wn:Un;let a;try{a=new i(s,n)}catch(e){if(!t||!o||i==o)throw e;a=new o(s,n)}return Jn(e,a)}function Qn(e,t){return Sn(e).pipeThrough(t)}function Jn(e,t){const n=t.writable.getWriter(),r=e.getReader();return async function(){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 function(e,t){try{await e.abort(t)}catch{}}(n,e),await async function(e,t){try{await e.cancel(t)}catch{}}(r,e)}}(),t.readable}const _n="data",$n="deflate",er="inflate";class tr extends R{constructor(e,t){super({});const r=this,{codecType:o}=e;let i;o.startsWith($n)?i=Vn:o.startsWith(er)&&(i=qn),r.outputSize=0;let s=0;const a=new i(e,t),c=super.readable,u=new R({transform(e,t){e&&e.length&&(s+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:s})}}),l=new R({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ae&&r.outputSize>e.outputSize))throw new d(kn)},flush(){const{crc32:e}=a;n.assign(r,{crc32:e,inputSize:s})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(u).pipeThrough(a).pipeThrough(l)})}}class nr extends R{constructor(e){const t=[];let n=0;function r(){const r=new w(e);let o=0;for(;o<e;){const n=t[0],i=e-o;n.length<=i?(r.set(n,o),o+=n.length,t.shift()):(r.set(n.subarray(0,i),o),t[0]=n.subarray(i),o+=i)}return n-=e,r}(!o.isFinite(e)||e<1)&&(e=65536),super({transform(o,i){for(t.push(o),n+=o.length;n>e;)i.enqueue(r())},flush(e){n&&e.enqueue(function(e,t){const n=new w(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n}(t,n))}})}}const rr="Worker startup timeout";let or,ir,sr;function ar(e){e.createWorker?ir=!0:or=!1}class cr{constructor(e,{readable:t,writable:r},{options:o,config:i,ce:s,useWebWorkers:a,transferStreams:c,workerURI:u,createWorker:l},f){const{signal:d}=s;return ir&&(l=ae),n.assign(e,{ue:!0,le:(e.le||0)+1,readable:t.pipeThrough(new nr(je(i))).pipeThrough(new ur(s),{signal:d}),writable:r,options:n.assign({},o),workerURI:u,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{fe:n,ue:r}=e;n?(r?e.de=t:(n.terminate(),t()),e.we=null):t()}),pe(){if(e.ue){const{de:t}=e;t&&(e.de=null,e.me=!0,e.fe.terminate(),t()),e.ue=!1,f(e)}}}),or===ae&&(or=typeof O!=ue),(a&&sr&&(or&&u||l)?sr:fr)(e,i)}}class ur extends R{constructor({onstart:e,onprogress:t,size:n,onend:r}){let o=0;super({async start(){e&&await lr(e,n)},async transform(e,r){o+=e.length,t&&await lr(t,o,n),r.enqueue(e)},async flush(){r&&await lr(r,o)}})}}async function lr(e,...t){try{await e(...t)}catch{}}function fr(e,t){return{run:()=>dr(e,t)}}async function dr({options:e,readable:t,writable:n,pe:r},o){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith($n),n=t?o.CompressionStreamFallback:o.DecompressionStreamFallback,r=t?o.CompressionStream:o.DecompressionStream;if(e.useCompressionStream){if(n&&n.he&&!Yn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.he||(e.useCompressionStream=!0)}}i=new tr(e,o),await t.pipeThrough(i).pipeThrough(new nr(je(o))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:s,outputSize:a}=i;return{crc32:r,inputSize:s,outputSize:a}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{r()}}const wr={type:"module"},pr="error";let mr,hr,yr,gr=!0;try{gr=typeof k==le&&k(new DOMException("","AbortError")).code!==ae}catch{}var Er;function Sr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function br(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.we=null}function Ar(e,t,r,o,i=!0){const{createWorker:s}=r;let a,c,u;if(s)a=s();else if(hr===ae||mr!==e){const n=typeof e==le;c=n?e(i):e;const s=c.startsWith("data:"),l=c.startsWith("blob:");if(s||l){o===ae&&(o=!1),o&&(u=wr);try{a=new O(c,u)}catch(i){if(l)try{f.revokeObjectURL(c)}catch{}if(n&&l)return Ar(e,t,r,o,!1);if(o)throw i;return Ar(e,t,r,!0,!1)}}else{o===ae&&(o=!0),o&&(u=wr);try{c=new f(c,t)}catch{}try{a=new O(c,u)}catch(n){if(o)return Ar(e,t,r,!1,i);throw n}}mr=e,hr=c,yr=u}else a=new O(hr,yr);return a.addEventListener("message",e=>{r.ye=!0,zr(r),async function({data:e},t){const{type:r,value:o,messageId:i,result:s,error:a}=e,{reader:c,writer:u,ge:l,Ee:f,pe:p,le:m}=t,h=()=>t.le!=m;try{if(a){const{message:e,stack:t,code:r,name:o,outputSize:i,cause:s,codecImportFailed:c}=a,u=new d(e);n.assign(u,{stack:t,code:r,name:o,outputSize:i}),s&&(u.cause=n.assign(new d(s.message),{name:s.name})),c&&(u.codecImportFailed=!0),y(u)}else{if("pull"==r){const{value:e,done:n}=await c.read();h()||Fr({type:_n,value:e,done:n,messageId:i},t)}r==_n&&(await u.ready,await u.write(new w(o)),h()||Fr({type:"ack",messageId:i},t)),"close"==r&&y(null,s)}}catch(a){h()||(br(t),y(a))}function y(e,t){h()||(e?f(e):l(t),u&&u.releaseLock(),e&&e.codecImportFailed||p())}}(e,r)}),a.addEventListener(pr,e=>Rr(e,r)),a.addEventListener("messageerror",e=>Rr(e,r)),a}function zr(e){const{Se:t}=e;t&&(I(t),e.Se=null)}function Rr(e,t){e.preventDefault&&e.preventDefault(),zr(t);const{ye:r,Ee:o,writer:i,pe:s}=t;br(t),r||(t.fe=null);let a=e.error||new d(e.message||pr);r||(a=n.assign(new d(a.message||pr),{be:!0}),t.Ae=a),o&&(o(a),i&&i.releaseLock(),r&&s())}function Fr(e,{fe:t,writer:n,transferStreams:r,ye:o}){try{const{value:n,readable:i,writable:s}=e,a=[];if(n&&(e.value=wt(n),a.push(e.value.buffer)),r&&gr&&o?(i&&a.push(i),s&&a.push(s)):e.readable=e.writable=null,a.length)try{return t.postMessage(e,a),!0}catch{gr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}Er=function(e,t){const{baseURI:r,chunkSize:i,workerStartupTimeout:s}=t;let{wasmURI:a}=t;if(!e.we){let c;typeof a==le&&(a=a());try{c=Ar(e.workerURI,r,e)}catch{return ar(e),fr(e,t)}n.assign(e,{fe:c,ye:!1,me:!1,Ae:null,we:{run:async()=>{try{return await async function(e,t){if(!e.fe){const{Ae:t}=e;e.Ae=null;const n=t||new d(rr);throw n.be=!0,n}let r,i;const s=new g((e,t)=>{r=e,i=t});n.assign(e,{reader:null,writer:null,ge:r,Ee:i,result:s});const{readable:a,options:c}=e,{writable:u,closed:l,ze:f}=function(e){const t=new AbortController,{writable:n,readable:r}=new R,o=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return o.catch(()=>{}),{writable:n,closed:o,ze:()=>t.abort()}}(e.writable);let w;try{w=Fr({type:"start",options:c,config:t,readable:a,writable:u},e)}catch(t){f();try{await l}catch{}throw e.pe(),t}w||n.assign(e,{reader:a.getReader(),writer:u.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&o.isFinite(p)&&p>=0&&(e.Se=v(()=>function(e){if(e.Se=null,e.ye)return;const{Ee:t,writer:n}=e;if(br(e),e.fe=null,t){const e=new d(rr);e.be=!0,t(e),n&&n.releaseLock()}}(e),p));try{const e=await s;return await m(),await l,e}catch(e){await m(),f();try{await l}catch{}throw e}async function m(){if(!w&&!u.locked)try{await u.getWriter().close()}catch{}}}(e,{chunkSize:i,wasmURI:a,baseURI:r,workerStartupTimeout:s})}catch(n){if(n&&n.be)return ar(e),Sr(e),dr(e,t);if(n&&n.codecImportFailed){if(e.reader)return Sr(e),dr(e,t);e.pe()}throw n}}}})}return e.we},sr=Er;let Dr=[];const xr=[];let Cr,Tr,Or=0;async function Nr(e,t){const{options:n,config:r}=t,{transferStreams:i,useWebWorkers:s,useCompressionStream:a,compressed:c,checkCrc32:u,computeCrc32:l,encrypted:d,format:w,codecURI:p}=n,{workerURI:m,createWorker:h,maxWorkers:y}=r;w&&(p&&(n.codecURI=function(e,t){try{return new f(e,t).toString()}catch{return e}}(p,r.baseURI)),await async function(e,t){!Tn.has(e)&&t&&In(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))}(w,n.codecURI)),t.transferStreams=!w&&(i||i===ae&&r.transferStreams);const E=!(c||u||l||d),S=w===ae||Boolean(n.codecURI);return t.useWebWorkers=!E&&S&&(s||s===ae&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:ae,t.createWorker=t.useWebWorkers&&h?h:ae,n.useCompressionStream=a||a===ae&&r.useCompressionStream,(await async function(){const n=Dr.find(e=>!e.ue);if(n)return Br(n),new cr(n,e,t,b);if(Dr.length<y){const n={Re:Or};return Or++,Dr.push(n),new cr(n,e,t,b)}return new g(n=>{xr.push({resolve:n,stream:e,Fe:t}),Tr=r.workerStarvationTimeout,vr()})}()).run();function b(e){if(Ir(),xr.length){const[{resolve:t,stream:n,Fe:r}]=xr.splice(0,1);t(new cr(e,n,r,b)),vr()}else e.fe?(Br(e),function(e,t){const{config:n}=t,{terminateWorkerTimeout:r}=n;o.isFinite(r)&&r>=0&&(e.me?e.me=!1:e.De=v(async()=>{Dr=Dr.filter(t=>t!=e);try{await e.terminate()}catch{}},r))}(e,t)):Dr=Dr.filter(t=>t!=e)}}function vr(){!Cr&&xr.length&&o.isFinite(Tr)&&Tr>=0&&(Cr=v(kr,Tr))}function Ir(){Cr&&(I(Cr),Cr=null)}function kr(){if(Cr=null,xr.length){const[{resolve:e,stream:t,Fe:r}]=xr.splice(0,1),o=n.assign({},r,{useWebWorkers:!1,workerURI:ae,createWorker:ae});e(new cr({},t,o,Mr)),vr()}}function Mr(){Ir(),vr()}function Br(e){const{De:t}=e;t&&(I(t),e.De=null)}const Ur="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Wr(e,t){return Lr(e,t,!0)}function Lr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?function(e){let t="";for(let n=0;n<e.length;n++)t+=Ur[e[n]];return t}(e):new S(t,{ignoreBOM:n}).decode(e)}const Pr="HTTP error ",Vr="HTTP Range not supported",Hr="HTTP resource changed",qr="Writer iterator completed too soon",Zr="Writer not initialized",Kr="Content-Range",Yr="Range",Gr="GET",Xr="bytes",jr=16777216,Qr="writable",Jr=N();class _r{constructor(){this.size=0}init(){this.initialized=!0}}class $r extends _r{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=je(Xe())}={}){const r=this;let o=0;return n=Qe(n),new F({async pull(i){const a=t===ae?n:s.min(n,t-o),c=await No(r,e+o,a);c.length&&(i.enqueue(c),o+=c.length),(t!==ae&&o>=t||!c.length&&a)&&i.close()}})}}class eo extends _r{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new d(Zr);return e.writeUint8Array(wt(t))}});n.defineProperty(e,Qr,{get:()=>t})}writeUint8Array(){}}let to,no;class ro extends $r{constructor(e){super(),n.assign(this,{xe:e,size:e.size}),no||(no=(async()=>{try{const e=new y([new w(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();to=1==t}catch{to=!1}})())}createReadable(e){const{xe:t,size:n}=this,{offset:r=0,size:o=n-r}=e||{};if(typeof t.stream==le){if(!r&&o>=n)return Sn(t.stream());if(to)return Sn(t.slice(r,r+o).stream())}return super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,o=!e&&r>=n.size?n.xe:n.xe.slice(e,r);let i=await o.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,r)),new w(i)}}class oo extends _r{constructor(e){super();const t=this,r=new R;n.defineProperty(t,Qr,{get:()=>r.writable}),t.contentType=e,t.Ce=bn(r.readable,e),t.Ce.catch(()=>{})}getData(){return this.Ce}}class io extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,bo,yo),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:i}=t;if((n||r)&&i!==ae){const{offset:n=0,size:r=i-n}=e||{};if(r>0&&n<i)return function(e,t,n){let r,i=t,a=0,c=n;return new F({start:()=>u(),async pull(e){r||await u();const{value:t,done:n}=await r.read();if(n)throw new d(Vr);const o=t.length>a?t.subarray(0,a):t;a-=o.length,c-=o.length,o.length&&e.enqueue(o),a||(await async function(){const e=r;r=ae,await e.cancel()}(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function u(){const t=s.min(e.maximumRangeSize,c),n=await bo(Gr,e,mo(e,i,t));if(206!=n.status)throw new d(Vr);const u=n.headers.get(Kr);if(u){const e=o(u.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=i)throw new d(Vr)}po(e,n),wo(e,n),i+=t,a=t,r=n.body.getReader()}}(t,n,s.min(r,i-n))}return super.createReadable(e)}readUint8Array(e,t){return uo(this,e,t,bo,yo)}}class so extends $r{constructor(e,t){super(),ao(this,e,t)}async init(){await co(this,Ao,go),super.init()}readUint8Array(e,t){return uo(this,e,t,Ao,go)}}function ao(e,t,r){const{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c=!0,maximumRangeSize:u=jr,fetch:l}=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:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a,checkResourceChanges:c,maximumRangeSize:u,fetch:l})}async function co(e,t,n){const{url:r,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:s,combineSizeEocd:a}=e;if(function(e){const{baseURI:t}=Xe(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n}(r)&&(i||s)&&(typeof o==ue||o)){const r=await t(Gr,e,mo(e,a?-22:void 0)),o=r.headers.get("Accept-Ranges");if(!(s||o&&o.toLowerCase()==Xr))throw new d(Vr);{if(a){const t=new w(await r.arrayBuffer());206==r.status&&t.length==X&&(e.Te=t)}wo(e,r);const o=lo(r);o===ae?await So(e,t,n):e.size=o}}else await So(e,t,n)}async function uo(e,t,n,r,i){const{useRangeHeader:s,forceRangeRequests:a,Te:c,size:u,options:l}=e;if(s||a){if(c&&t==u-X&&n==X)return c;if(t>=u||0===n)return de;{t+n>u&&(n=u-t);const i=await r(Gr,e,mo(e,t,n));if(206!=i.status)throw new d(Vr);const s=i.headers.get(Kr);if(s){const e=o(s.trim().split(/[\s-]+/)[1]);if(!o.isNaN(e)&&e!=t)throw new d(Vr)}po(e,i),wo(e,i);const a=new w(await i.arrayBuffer());if(a.length!=n)throw new d(Vr);return a}}{const{data:r}=e;return r||await i(e,l),e.data.subarray(t,t+n)}}function lo(e){const t=e.headers.get(Kr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=o(e);if(!o.isNaN(t))return t}}}function fo({headers:e}){return{Oe:e.get("Etag")||ae,lastModified:e.get("Last-Modified")||ae}}function wo(e,t){const{checkResourceChanges:n,Ne:r}=e;n&&!r&&206==t.status&&(e.Ne=fo(t))}function po(e,t){const{checkResourceChanges:r,Ne:o,size:i}=e;if(r){const e=lo(t);if(e!==ae&&i!==ae&&e!=i)throw new d(Hr);if(o){const e=fo(t);if(n.entries(o).some(([t,n])=>n!==ae&&e[t]!==ae&&n!=e[t]))throw new d(Hr)}}}function mo(e,t=0,r=1){return n.assign({},ho(e),{[Yr]:Xr+"="+(t<0?t:t+"-"+(t+r-1))})}function ho({options:e}){const{headers:t}=e;if(t)return N.iterator in t?n.fromEntries(t):t}async function yo(e){await Eo(e,bo)}async function go(e){await Eo(e,Ao)}async function Eo(e,t){const n=await t(Gr,e,ho(e));e.data=new w(await n.arrayBuffer()),e.size=e.data.length}async function So(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,ho(e)),i=r.headers.get("Content-Length");i&&!r.headers.get("Content-Encoding")?e.size=o(i):await n(e,e.options)}}async function bo(e,{fetch:t=fetch,options:r,url:o},i){const s=await t(o,n.assign({},r,{method:e,headers:i}));if(s.status<400)return s;throw 416==s.status?new d(Vr):new d(Pr+(s.statusText||s.status))}function Ao(e,{url:t},r){return new g((o,i)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(s.status<400){const e=[];s.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)}),o({status:s.status,arrayBuffer:()=>s.response,headers:new c(e)})}else i(416==s.status?new d(Vr):new d(Pr+(s.statusText||s.status)))},!1),s.addEventListener("error",e=>i(e.detail?e.detail.error:new d("Network error")),!1),s.open(e,t),r)for(const e of n.entries(r))s.setRequestHeader(e[0],e[1]);s.responseType="arraybuffer",s.send()})}class zo extends $r{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new so(e,t):new io(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 Ro extends $r{constructor(e){super(),this.ve=e}async init(){const e=this;e.Ie=0;const t=e.ve=await g.all(e.ve.map(Oo));e.ke=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Me(e){const{ke:t,size:n}=this,r=t[e];return r===ae?n:r}async readUint8Array(e,t){const n=this,{ve:r}=this;let o,i=0,a=e;for(;r[i]&&a>=r[i].size;)a-=r[i].size,i++;const c=r[i];if(c){const r=c.size;if(a+t<=r)o=await No(c,a,t);else{const i=r-a;o=dt(await No(c,a,i),await n.readUint8Array(e+i,t-i))}}else o=de;return n.Ie=s.max(i,n.Ie),o}}class Fo extends _r{constructor(e,t=4294967295){super();const r=this;let o,i,s;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const a=new D({async write(t){if(t===Jr)return void(s&&await u());const{availableSize:n}=r;if(s)t.length>=n?(await c(t.subarray(0,n)),await u(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:a}=await e.next();if(a&&!n)throw new d(qr);o=n,o.size=0,o.maxSize&&(r.maxSize=o.maxSize),r.availableSize=r.maxSize,await To(o),i=n.writable,s=i.getWriter(),await this.write(t)}},async close(){s&&(await s.ready,await l())},async abort(e){s&&await s.abort(e)}});async function c(e){const t=e.length;t&&(await s.ready,await s.write(e),o.size+=t,r.availableSize-=t)}async function u(){await l(),r.diskOffset+=o.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}n.defineProperty(r,Qr,{get:()=>a})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Jr)}finally{e.releaseLock()}}}class Do{constructor(e){return t.isArray(e)&&(e=new Ro(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:Sn(e)}),e}}class xo{constructor(e){return e.writable===ae&&typeof e.next==le&&(e=new Fo(e)),(e instanceof D||typeof e.getWriter==le)&&(e={writable:An(e)}),e.size===ae&&(e.size=0),e}}function Co(e){return Boolean(e&&e.getData)}async function To(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}async function Oo(e){return e=new Do(e),await To(e),e.size!==ae&&e.readUint8Array||(e=new ro(await bn(e.readable)),await To(e)),e}function No(e,t,n){return e.readUint8Array(t,n)}function vo(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?$r.prototype.createReadable.call(e,t):e.readable}const Io="filename",ko="rawFilename",Mo="comment",Bo="rawComment",Uo="uncompressedSize",Wo="compressedSize",Lo="offset",Po="diskNumberStart",Vo="lastModDate",Ho="rawLastModDate",qo="lastAccessDate",Zo="rawLastAccessDate",Ko="creationDate",Yo="rawCreationDate",Go="internalFileAttributes",Xo="externalFileAttributes",jo="msdosAttributesRaw",Qo="msdosAttributes",Jo="msDosCompatible",_o="zip64",$o="encrypted",ei="version",ti="versionMadeBy",ni="zipCrypto",ri="directory",oi="executable",ii="compressionMethod",si="signature",ai="extraField",ci="unixMode",ui="setuid",li="setgid",fi="sticky",di=[Io,ko,Uo,Wo,Vo,Ho,Mo,Bo,qo,Zo,Ko,Yo,Lo,Po,Go,Xo,jo,Qo,Jo,_o,$o,ei,ti,ni,ri,oi,"symlink",ii,si,"crc32",ai,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ci,"unixExternalUpper",ui,li,fi,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class wi{constructor(e){di.forEach(t=>this[t]=e[t])}}const pi="File format is not recognized",mi="End of central directory not found",hi="End of Zip64 central directory locator not found",yi="Central directory header not found",gi="Local file header not found",Ei="Zip64 extra field not found",Si="File contains encrypted entry",bi="Encryption method not supported",Ai="Split zip file",zi="Overlapping entry found",Ri="Entry data out of bounds",Fi="Ambiguous archive",Di="Encrypted central directory is not supported",xi="Unsafe filename",Ci="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ti="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Oi="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Ni="64-bit value exceeds Number.MAX_SAFE_INTEGER",vi="unsorted central directory",Ii="unknown version needed to extract",ki="compressed patched data",Mi="malformed extra field",Bi="unknown zip64 extensible data",Ui="wrapped entries count",Wi="appended data",Li="prepended data",Pi="prepended central directory",Vi="trailing central directory data",Hi="duplicate filename",qi="mismatched zip64 end of central directory record",Zi="mismatched local file header (general purpose bit flag)",Ki="mismatched local file header (compression method)",Yi="mismatched local file header (crc32 or sizes)",Gi=/^[a-zA-Z]:/,Xi="utf-8",ji="cp437",Qi=[[Uo,B],[Wo,B],[Lo,B],[Po,U]],Ji={[U]:{Be:ks,bytes:4},[B]:{Be:Ms,bytes:8}},_i=i(o.MAX_SAFE_INTEGER);class $i{constructor(e,t={}){n.assign(this,{reader:new Do(e),options:t,Ue:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await To(r),r.size!==ae&&r.readUint8Array||(r=new ro(await bn(r.readable)),await To(r)),r.size<X)throw new d(pi);const o=t.warnings=[],i=hs(e,t.options),a=i==xe,c=i!=Te,l=Es(Cs(t,e,Re),i),f=function(e,t){if(e===ae)return t;if(!ms(e))throw new d(Ti);return e}(Cs(t,e,"filenameValidation"),i),w=Cs(t,e,"normalizeFilename"),{We:p,Le:m}=await Ss(r,c,l);if(!p)throw await async function(e){return await ps(e)==P}(r)?new d(Ai):new d(mi);c&&m>1&&xs("multiple end of central directory records");const h=pt(p);let y=ks(h,12),g=ks(h,16);const E=p.offset,S=Is(h,20),b=E+X+S,A=r.size-b;A>l&&xs(Wi),A>0&&Ds(o,Wi);let z=Is(h,4);const F=r.Ie||0;let D,x,C,T,O,N=Is(h,6),v=Is(h,10),I=0,k=Q;const M=g==B||y==B||v==U||N==U;if(g!=B&&N!=U&&(g+=ws(r,N)),M){const e=p.offset>=j?await No(r,p.offset-j,j):de,t=pt(e);if(e.length==j&&ks(t,0)==Y){g=ws(r,ks(t,4))+Ms(t,8);let e=await No(r,g,Q),i=pt(e);const c=p.offset-j-Q;if((e.length<Q||ks(i,0)!=K)&&g!=c&&c>=0){const t=g;g=c,g>t&&(I=g-t),e=await No(r,g,Q),i=pt(e)}if(e.length<Q||ks(i,0)!=K)throw new d(hi);if(C=!0,T=Ms(i,4)>44,T){const e=s.min(Ms(i,4)-44,r.size-g-Q);e>0&&(k+=e,O=function(e){const t={rawExtensibleData:e};if(e.length>=28){const r=pt(e),o=Is(r,26);n.assign(t,{compressionMethod:Is(r,0),compressedSize:Ms(r,2),uncompressedSize:Ms(r,10),encryptionAlgorithm:Is(r,18),bitLength:Is(r,20),flags:Is(r,22),hashAlgorithm:Is(r,24),hashData:e.subarray(28,28+o)})}return t}(await No(r,g+Q,e)))}z==U?z=ks(i,16):z!=ks(i,16)&&Fs(a,o,qi),N==U?N=ks(i,20):N!=ks(i,20)&&Fs(a,o,qi),v==U?v=Ms(i,32):v!=Ms(i,32)&&Fs(a,o,qi),y==B?y=Ms(i,40):y!=Ms(i,40)&&Fs(a,o,qi),g=ws(r,N)+Ms(i,48)+I}}let L=y;const V=p.offset-(C?k+j:0);if(g>=r.size&&(I=r.size-g-y-X,g=r.size-y-X),F!=z)throw new d(Ai);if(g<0)throw new d(pi);let H=0,Z=await No(r,g,y),J=pt(Z);if(y){if(Z.length<4)throw new d(pi);const e=V-y;if(g!=e&&N==z){const t=ks(J,H)==q||Boolean(O&&O.compressedSize)||rs(J);let n=!t;if(!n&&e>=0&&e+4<=r.size&&(n=ks(pt(await No(r,e,4)),0)==q),n){const n=g;g=e,g>n&&(I+=g-n,D=t),Z=await No(r,g,y),J=pt(Z)}}}const _=V-g;if(y!=_&&_>=0&&N==z&&(y=_,Z=await No(r,g,y),J=pt(Z)),g<0||g>=r.size)throw new d(pi);t.directoryOffset=g,t.directoryLength=L;const oe=Ts(t,e,"decryptCentralDirectory");let ie,se;if(oe&&v&&Z.length>=4&&ks(J,0)!=q&&(T||rs(J))){const e=function(e,t,n){const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n}(O,L,Z.length);se=Z.subarray(e),Z=await oe(Z.subarray(0,e),O),J=pt(Z),L=Z.length,ie=!0}O&&!ie&&(Z.length<4||ks(J,0)==q)&&Ds(o,Bi),x=g;const ce=Cs(t,e,"filenameEncoding"),ue=Cs(t,e,"commentEncoding"),le=new u;let fe,we=-1;const pe=!a&&!C;!v&&pe&&(v=os(J,Z,H),v&&Ds(o,Ui));for(let i=0;i<v;i++){const a=new ns(r,t.options);if(H+G>Z.length||ks(J,H)!=q){if(0==i&&!ie&&(T||rs(J)))throw new d(Di);throw new d(yi)}ss(a,J,H+6);const c=Boolean(a.bitFlag.languageEncodingFlag),u=H+G,l=u+a.filenameLength,p=l+a.extraFieldLength,m=Is(J,H+4),h=!(m>>8),y=m>>8==3,g=Z.subarray(u,l),E=Is(J,H+32),S=p+E,b=Z.subarray(p,S),A=c,z=c,F=ks(J,H+38),D=F&W,C={readOnly:Boolean(1&D),hidden:Boolean(2&D),system:Boolean(4&D),directory:Boolean(16&D),archive:Boolean(32&D)},O=ks(J,H+42),N=Ts(t,e,"decodeText")||Wr,k=A?Xi:ce||ji,M=z?Xi:ue||ji;let B=N(g,k,Fe);if(B===ae&&(B=Wr(g,k)),w){const e=w(B);e!==ae&&(B=e)}if(gs(B,f)){const e=new d(xi);throw e.filename=B,e}let L=N(b,M,De);L===ae&&(L=Wr(b,M)),n.assign(a,{index:i,Pe:ie,versionMadeBy:m,msDosCompatible:h,zip64:!1,compressedSize:0,uncompressedSize:0,Ve:E,offset:O,diskNumberStart:Is(J,H+34),internalFileAttributes:Is(J,H+36),externalFileAttributes:F,msdosAttributesRaw:D,msdosAttributes:C,rawFilename:g,filenameUTF8:A,commentUTF8:z,rawExtraField:Z.subarray(l,p),rawComment:b,filename:B,comment:L}),as(a,a,J,H+6)&&Ds(o,Mi,B),a.offset+=I;const P=ws(r,a.diskNumberStart)+a.offset;x=s.min(P,x),P<we&&Ds(o,vi,B),we=P,(a.version&W)>63&&Ds(o,Ii,B),32&~a.rawBitFlag||Ds(o,ki,B),le.has(a.filename)&&(fe=!0),le.add(a.filename);const V=a.externalFileAttributes>>16&U;a.unixMode===ae&&16877&V&&(a.unixMode=V);const K=Boolean(a.unixMode&te),Y=Boolean(a.unixMode&ne),X=Boolean(512&a.unixMode),j=40960==((a.unixMode===ae?V:a.unixMode)&$),Q=!j&&(a.unixMode!==ae?!!(73&a.unixMode):y&&!!(73&V)),_=a.unixMode!==ae&&(a.unixMode&$)==ee,oe=(V&$)==ee;n.assign(a,{setuid:K,setgid:Y,sticky:X,symlink:j,unixExternalUpper:V,executable:Q,directory:_||oe||h&&C.directory||a.filename.endsWith(re),zipCrypto:a.encrypted&&!a.extraFieldAES});const se=new wi(a);if(se.getData=(e,n)=>a.getData(e,se,t.Ue,n),se.arrayBuffer=async e=>{const n=new R,r=bn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,se,t.Ue,e),r},H=S,i==v-1&&pe){const e=os(J,Z,H);e&&(v+=e,Ds(o,Ui))}const{onprogress:de}=e;if(de)try{await de(i+1,v,new wi(a))}catch{}yield se}let me=H,he=is(Z.subarray(H))||(ie?is(se):ae);if(!he&&!ie){const e=g+H,t=s.min(V-e,65541);t>=6&&(he=is(await No(r,e,t)))}he&&(t.digitalSignature=he,me=H+6+he.length),(H!=L&&me!=L||!ie&&H!=y&&me!=y)&&Fs(a,o,Vi),fe&&Fs(a,o,Hi);const ye=Cs(t,e,"extractPrependedData"),ge=Cs(t,e,"extractAppendedData"),Ee=(a||ye)&&v&&4==x&&await async function(e){const t=await ps(e);return t==P||808471376==t}(r)?4:0;return a&&(I||v&&x>Ee)&&xs(Li),(I||v&&x>4)&&Ds(o,Li),D&&Ds(o,Pi),ye&&(t.prependedData=x>Ee?await No(r,Ee,x-Ee):de),t.comment=S?await No(r,E+X,S):de,ge&&(t.appendedData=b<r.size?await No(r,b,r.size-b):de),!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 es{constructor(e={}){const{readable:t,writable:n}=new R,r=new $i(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const o=function(){const{readable:e,writable:t}=new R;if(n.getData)return async function(){try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}}(),e}(),i={...n,readable:o};delete i.getData,e.enqueue(i)}}),this.writable=n}}async function ts(e,t={}){if(e=new Do(e),await To(e),e.size!==ae&&e.readUint8Array||(e=new ro(await bn(e.readable)),await To(e)),e.size<X)return!1;const n=hs(t,{}),r=n!=Te,o=Es(t[Re],n),{We:i,Le:s}=await Ss(e,r,o);if(!i||n==xe&&s>1)return!1;const a=Is(pt(i),20),c=i.offset+X+a;return e.size-c<=o}class ns{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const o=this,i=Xe(),{reader:a,index:c,offset:u,diskNumberStart:l,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,bitFlag:m,rawBitFlag:h,crc32:y,rawLastModDate:g,uncompressedSize:E,compressedSize:S}=o,{dataDescriptor:b}=m,A=t.localDirectory={},z=t.warnings=[],R=ws(a,l)+u,F=await No(a,R,oe),x=pt(F);let C=Cs(o,r,we),T=Cs(o,r,pe);const O=Cs(o,r,me);if(Be(C,T),C=C&&C.length&&C,T=T&&T.length&&T,f&&99!=f.originalCompressionMethod)throw new d(Dn);if(F.length<oe||ks(x,0)!=L)throw new d(gi);ss(A,x,4);const{extraFieldLength:N,filenameLength:v}=A,I=A.dataOffset=R+oe+v+N,k=Cs(o,r,"checkLocalDirectory"),M=hs(r,o.options),B=function(e,t){return e===ae?t!=Te:Boolean(e)}(k,M),U=function(e,t){return e===ae?t==xe:Boolean(e)}(k,M);let P=de;if(U&&(v||N)){const e=await No(a,R+oe,v+N);P=e.subarray(0,v),A.rawExtraField=e.subarray(v)}else A.rawExtraField=N?await No(a,R+oe+v,N):de;U&&(A.rawFilename=P),as(o,A,x,4,!0)&&Ds(z,Mi),function(e,t,n,r,o){const{rawFilename:i}=e,s=!o,a=e.Pe&&!(8192&~t.rawBitFlag);!r||a||n.length==i.length&&!n.some((e,t)=>e!=i[t])||Fs(s,o,"mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Fs(s,o,Zi),t.compressionMethod!=e.compressionMethod&&Fs(s,o,Ki),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Fs(s,o,Yi)}(o,A,P,U,B?ae:z);const{lastAccessDate:H,creationDate:q,uid:Z,gid:K}=A;H&&(t.lastAccessDate=H),q&&(t.creationDate=q),Z!==ae&&t.uid===ae&&(t.uid=Z),K!==ae&&t.gid===ae&&(t.gid=K);const Y=o.encrypted&&A.encrypted&&!O,G=Y&&!f;if(O||(t.zipCrypto=G),Y&&!(64&~A.rawBitFlag))throw new d(bi);const X=O?ae:On(p);if(0!=p&&8!=p&&9!=p&&!X&&!O)throw new d(Dn);if(Y){if(!G&&(f.strength<1||f.strength>3))throw new d(bi);if(!C&&!T)throw new d(Si)}if(I+S>a.size)throw new d(Ri);const j=S,Q=Sn(a.createReadable({offset:I,size:j})),J=ke(Cs(o,r,he));Me(J);const _=Cs(o,r,"checkPasswordOnly");let $=Cs(o,r,"checkOverlappingEntry");const ee=Cs(o,r,"checkOverlappingEntryOnly");ee&&($=!0);const{onstart:te,onprogress:ne,onend:re}=r,ie=0!=p&&!O,se=O?S:E,ce=9==p;let ue=Cs(o,r,ge);ce&&(ue=!1);const le=Cs(o,r,"checkCrc32"),fe=(le===ae?Cs(o,r,"checkSignature"):le)&&!O&&(!Y||G||f&&1==f.vendorVersion),be={options:{codecType:er,password:C,rawPassword:T,zipCrypto:G,encryptionStrength:f&&f.strength,checkCrc32:fe,checkAuthenticationCode:Cs(o,r,"checkAuthenticationCode"),passwordVerification:G&&(b?g>>>8&W:y>>>24&W),outputSize:se,crc32:y,compressed:ie,encrypted:Y,useWebWorkers:Cs(o,r,ye),useCompressionStream:ue,transferStreams:Cs(o,r,Ee),deflate64:ce,format:X?X.format:ae,codecURI:X?X.codecURI:ae,compressionMethod:p,rawBitFlag:h,checkPasswordOnly:_},config:i,ce:{signal:J,size:j,onstart:te,onprogress:ne,onend:re}};let Ae,ze;$&&await async function({reader:e,He:t,index:n,offset:r,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:a,dataDescriptor:c,extraFieldZip64:u,Ue:l}){let f=0;if(c&&(f=u?20:12),f){const n=await No(e,a+i,f+4),r=pt(n);let c=n.length==f+4&&ks(r,0)==V;if(c){const e=ds(r,4,u);(t.encrypted&&!t.zipCrypto||e.crc32==o)&&e.compressedSize==i&&e.uncompressedSize==s?f+=4:c=!1}if(n.length>=f){const e=ds(r,c?4:0,u);e.signature=c,t.localDirectory.dataDescriptor=e}}const w={start:r,end:a+i+f,He:t};for(const[e,t]of l)if(e!=n&&w.start<t.end&&t.start<w.end){const e=new d(zi);throw e.overlappingEntry=t.He,e}l.set(n,w)}({reader:a,He:t,index:c,offset:R,crc32:y,compressedSize:S,uncompressedSize:E,dataOffset:I,dataDescriptor:b||A.bitFlag.dataDescriptor,extraFieldZip64:w||A.extraFieldZip64,Ue:n});try{if(!ee){_&&(e=new D),e=new xo(e),await To(e,function(e,t,n){return s.min(e,n?1032*t:t)}(se,S,ie)),({writable:Ae}=e);const{outputSize:t}=await Nr({readable:Q,writable:Ae},be);if(e.size+=t,t!=se)throw new d(kn)}}catch(t){if(t.outputSize!==ae&&(e.size+=t.outputSize),!_||t.message!=kt)throw ze=t,t}finally{if((Co(e)||!Cs(o,r,Se))&&Ae&&!Ae.locked){const e=Ae.getWriter();if(ze)try{await e.abort(ze)}catch{}else await e.close()}}return _||ee?ae:e.getData?e.getData():Ae}}function rs(e){const t=s.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==ks(e,n))return!0;return!1}function os(e,t,n){let r=0;for(;n+G<=t.length&&ks(e,n)==q;)n+=G+Is(e,n+28)+Is(e,n+30)+Is(e,n+32),r++;return r%65536?0:r}function is(e){if(e.length>=6){const t=pt(e);if(ks(t,0)==H){const n=Is(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function ss(e,t,r){const o=e.rawBitFlag=Is(t,r+2),i=!(1&~o),s=ks(t,r+6);n.assign(e,{encrypted:i,version:Is(t,r),bitFlag:{level:(6&o)>>1,dataDescriptor:!(8&~o),languageEncodingFlag:(o&_)==_},rawLastModDate:s,lastModDate:Os(s),filenameLength:Is(t,r+22),extraFieldLength:Is(t,r+24)})}function as(e,t,r,o,i){const{rawExtraField:s}=t,u=t.extraField=new c,l=pt(s);let f=0,w=!1;try{for(;f<s.length;){const e=Is(l,f),t=Is(l,f+2);u.set(e,{type:e,data:s.slice(f+4,f+4+t)}),f+=4+t}}catch{w=!0}f>s.length&&(w=!0);const p=Is(r,o+4);n.assign(t,{signature:ks(r,o+10),crc32:ks(r,o+10),compressedSize:ks(r,o+14),uncompressedSize:ks(r,o+18)});const m=u.get(1);m&&(function(e,t){t.zip64=!0;const n=pt(e.data),r=Qi.filter(([e,n])=>t[e]==n),o=r.reduce((e,[,t])=>e+Ji[t].bytes,0);if(e.data.length<o)throw new d(Ei);for(let o=0,i=0;o<r.length;o++){const[s,a]=r[o],c=Ji[a];t[s]=e[s]=c.Be(n,i),i+=c.bytes}}(m,t),t.extraFieldZip64=m);const h=u.get(28789);h&&(cs(h,Io,ko,t,e),t.extraFieldUnicodePath=h);const y=u.get(25461);y&&(cs(y,Mo,Bo,t,e),t.extraFieldUnicodeComment=y);const g=u.get(39169);g&&g.data.length>=7?(function(e,t,r){const o=pt(e.data),i=vs(o,4);n.assign(e,{vendorVersion:vs(o,0),vendorId:vs(o,2),strength:i,originalCompressionMethod:r,compressionMethod:Is(o,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ae)}(g,t,p),t.extraFieldAES=g):t.compressionMethod=p;const E=u.get(13);E&&(us(E,t),t.extraFieldPkwareUnix=E);const S=u.get(22613);S&&(us(S,t),t.extraFieldUnixType1=S);const b=u.get(10);b&&(function(e,t){const r=pt(e.data);let o,i=4;try{for(;i<e.data.length&&!o;){const t=Is(r,i),n=Is(r,i+2);1==t&&(o=e.data.slice(i+4,i+4+n)),i+=4+n}}catch{}if(o&&24==o.length){const r=pt(o),i=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),a=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:i,rawLastAccessDate:s,rawCreationDate:a});const c={lastModDate:Ns(i),lastAccessDate:Ns(s),creationDate:Ns(a)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:s,rawCreationDate:a})}}(b,t),t.extraFieldNTFS=b);const A=u.get(30805);let z;if(A&&(z=ls(A,t,!1),t.extraFieldUnix=A),!z){const e=u.get(30837);e&&(ls(e,t,!0),t.extraFieldInfoZip=e)}const R=u.get(J);R&&(function(e,t,n){if(!e.data.length)return;const r=pt(e.data),o=vs(r,0),i=[],s=[];n?(1&~o||(i.push(Vo),s.push(Ho)),2&~o||(i.push(qo),s.push(Zo)),4&~o||(i.push(Ko),s.push(Yo))):e.data.length>=5&&(i.push(Vo),s.push(Ho));let c=1;i.forEach((n,o)=>{if(e.data.length>=c+4){const i=ks(r,c);t[n]=e[n]=new a(1e3*(0|i));const u=s[o];e[u]=i}c+=4})}(R,t,i),t.extraFieldExtendedTimestamp=R);const F=u.get(6534);return F&&(t.extraFieldUSDZ=F),w}function cs(e,t,r,o,i){if(e.data.length<5)return void(e.valid=!1);const s=pt(e.data),a=new Rt;a.append(i[r]);const c=pt(new w(4));c.setUint32(0,a.get(),!0);const u=ks(s,1),l=vs(s,0);n.assign(e,{version:l,[t]:Wr(e.data.subarray(5)),valid:1==l&&!i.bitFlag.languageEncodingFlag&&u==ks(c,0)}),e.valid&&(o[t]=e[t],o[t+"UTF8"]=!0)}function us(e,t){if(e.data.length<8)return;const r=pt(e.data),o={lastAccessDate:new a(1e3*(0|ks(r,0))),lastModDate:new a(1e3*(0|ks(r,4)))};e.data.length>=12&&(o.uid=Is(r,8),o.gid=Is(r,10)),n.assign(e,o),n.assign(t,o)}function ls(e,t,r){try{const o=pt(e.data);let i,s;if(r){let t=0;const r=vs(o,t++),a=vs(o,t++);i=fs(e.data.subarray(t,t+a)),t+=a;const c=vs(o,t++);s=fs(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:i,gid:s})}else e.data.length>=4&&(i=Is(o,0),s=Is(o,2),n.assign(e,{uid:i,gid:s}));return i!==ae&&(t.uid=i),s!==ae&&(t.gid=s),i!==ae||s!==ae}catch{}}function fs(e){const t=new w(4);return t.set(e,0),new h(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ds(e,t,n){const r=ks(e,t);let o,i;return n?(o=Ms(e,t+4),i=Ms(e,t+12)):(o=ks(e,t+4),i=ks(e,t+8)),{crc32:r,compressedSize:o,uncompressedSize:i}}function ws(e,t){return e.Me?e.Me(t):0}async function ps(e){return ks(pt(await No(e,0,4)))}function ms(e){return e===xe||e===Ce||e===Te}function hs(e,t){return ys(e,ys(t,Ce))}function ys(e,t){const n=e.strictness;if(n!==ae){if(!ms(n))throw new d(Ci);return n}const r=e.checkAmbiguity;return r===ae?t:r?xe:t==Te?Te:Ce}function gs(e,t){if(t==Te)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Gi.test(e))||t==xe&&(n.includes(".")||n.includes(""))}function Es(e,t){if(e!==ae){const t=Le(e);if("number"!=typeof t||o.isNaN(t)||t<0)throw new d(Oi);return t}return t==xe?0:t==Te?1/0:U}async function Ss(e,t,n){const{size:r}=e,o=s.min(r,65557),i={count:64};let a,c,u=0;for await(const[n,s,l,f,d]of bs(e,o)){const o=Is(n,f+20);if(d+X+o==r){const o=await zs(e,n,s,f,d,r,i);if(2==o){if(a||(a=As(l,f,d)),u++,!t||u>1)break}else 1!=o||c||(c=As(l,f,d))}}return a||(a=c),a||(a=await async function(e,t,n){const{size:r}=e,o=s.min(r,t==1/0?r:65557+t);let i,a;for await(const[t,s,c,u,l]of bs(e,o)){const o=As(c,u,l);i||(i=o);const f=await zs(e,t,s,u,l,r,n);if(2==f)return o;1!=f||a||(a=o)}return a||i}(e,n,i)),{We:a,Le:u}}async function*bs(e,t){const n=e.size-t,r=await No(e,n,t),o=pt(r);for(let e=r.length-X;e>=0;e--)ks(o,e)==Z&&(yield[o,n,r,e,n+e])}function As(e,t,n){return{offset:n,buffer:e.slice(t,t+X).buffer}}async function zs(e,t,n,r,o,i,s){const a=Is(t,r+10),c=ks(t,r+12),u=ks(t,r+16);if(a==U||c==B||u==B)return await Rs(e,t,n,o-j,i,s)==Y?2:0;if(!a&&!c)return 1;const l=Is(t,r+6);for(const r of[o-c,ws(e,l)+u])if(await Rs(e,t,n,r,i,s)==q)return 2;return 0}async function Rs(e,t,n,r,o,i){return r<0||r+4>o?ae:r>=n?ks(t,r-n):i.count>0?(i.count--,ks(pt(await No(e,r,4)),0)):ae}function Fs(e,t,n){e?xs(n):Ds(t,n)}function Ds(e,t,n){if(!e.some(e=>e.reason==t)){const r={reason:t};n!==ae&&(r.filename=n),e.push(r)}}function xs(e){const t=new d(Fi);throw t.reason=e,t}function Cs(e,t,n){return t[n]===ae?e.options[n]:t[n]}function Ts(e,t,n){return Ie(Cs(e,t,n))}function Os(e){const t=(4294901760&e)>>16,n=e&U,r=new a(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return r<se?se:r}function Ns(e){return new a(o(e/i(1e4)-i(116444736e5)))}function vs(e,t){return e.getUint8(t)}function Is(e,t){return e.getUint16(t,!0)}function ks(e,t){return e.getUint32(t,!0)}function Ms(e,t){const n=e.getBigUint64(t,!0);if(n>_i)throw new d(Ni);return o(n)}var Bs=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Fi,ERR_BAD_FORMAT:pi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:yi,ERR_ENCRYPTED:Si,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Di,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ri,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:hi,ERR_EOCDR_NOT_FOUND:mi,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ei,ERR_INVALID_AUTHENTICATION_CODE:It,ERR_INVALID_COMPRESSED_DATA:Mn,ERR_INVALID_CRC32:Bn,ERR_INVALID_FILENAME_VALIDATION:Ti,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Oi,ERR_INVALID_PASSWORD:vt,ERR_INVALID_STRICTNESS:Ci,ERR_INVALID_UNCOMPRESSED_SIZE:kn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:gi,ERR_OVERLAPPING_ENTRY:zi,ERR_SPLIT_ZIP_FILE:Ai,ERR_UNSAFE_FILENAME:xi,ERR_UNSUPPORTED_COMPRESSION:Dn,ERR_UNSUPPORTED_ENCRYPTION:bi,ERR_UNSUPPORTED_UINT64:Ni,ERR_WORKER_STARTUP_TIMEOUT:rr,WARNING_APPENDED_DATA:Wi,WARNING_COMPRESSED_PATCHED_DATA:ki,WARNING_DUPLICATE_FILENAME:Hi,WARNING_MALFORMED_EXTRA_FIELD:Mi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Zi,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Ki,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Yi,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:qi,WARNING_PREPENDED_CENTRAL_DIRECTORY:Pi,WARNING_PREPENDED_DATA:Li,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Vi,WARNING_UNKNOWN_VERSION:Ii,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Bi,WARNING_UNSORTED_CENTRAL_DIRECTORY:vi,WARNING_WRAPPED_ENTRIES_COUNT:Ui,ZipReader:$i,ZipReaderStream:es,isZipFile:ts});const Us="File already exists",Ws="Zip file comment exceeds 64KB",Ls="Invalid zip file comment (must be a Uint8Array)",Ps="File entry comment exceeds 64KB",Vs="Invalid file entry comment (must be a string)",Hs="Invalid date (must be a valid Date instance)",qs="File entry name exceeds 64KB",Zs="Version exceeds 65535",Ks="The strength must equal 1, 2, or 3",Ys="Encryption is not supported in USDZ files",Gs="Split zip files are not supported in USDZ files",Xs="Encryption is not supported when the 'passThrough' option is set",js="Invalid extra field (must be a Map)",Qs="Invalid extra field type (must be integer 0..65535)",Js="Invalid extra field data (must be a Uint8Array)",_s="Extra field data exceeds 64KB",$s=-2147483648,ea=2147483647,ta=i(0),na=i("0x7fffffffffffffff"),ra="Zip64 is not supported (set the 'zip64' option to 'true')",oa="Undefined uncompressed size",ia="Undefined compression method",sa="Undefined reader",aa="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",ca="Zip file not empty",ua="Invalid uid (must be integer 0..2^32-1)",la="Invalid gid (must be integer 0..2^32-1)",fa="Invalid UNIX mode (must be integer 0..65535)",da="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",wa="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",pa="Invalid msdosAttributesRaw (must be integer 0..255)",ma="Invalid msdosAttributes (must be an object with boolean flags)",ha="Invalid level (must be integer 0..9)",ya="Signature data exceeds 64KB",ga=new w([7,0,2,0,65,69,3,0,0]),Ea="infozip",Sa="unix";let ba=0;const Aa=[];class za{constructor(e,t={}){e=new xo(e);const{availableSize:r=ce,maxSize:o=ce}=e,i=r>0&&r!==ce&&o>0&&o!==ce;if(i&&t[ze])throw new d(Gs);n.assign(this,{writer:e,qe:i,options:t,Ze:new c,Ke:new u,offset:t[Ae]===ae?e.size||e.writable.size||0:t[Ae],Ye:t[Ae]===ae?0:t[Ae]-(e.size||e.writable.size||0),Ge:new u,Xe:[],je:0,Qe:0,Je:ae})}prependZip(e){return Fa(this,async function(e,t){if(e.Ke.size)throw new d(ca);await e._e(t)}(this,e))}appendZip(e){return Fa(this,this._e(e))}async _e(e){const r=this,{Ge:o,Ke:i,Ze:s}=r;for(;o.size;)await g.allSettled(t.from(o));let a;const u=new g(e=>a=e);o.add(u);const l=[];let f;try{e=new Do(e),await To(e),e.size!==ae&&e.readUint8Array||(e=new ro(await bn(e.readable)),await To(e));const{ZipReader:o}=await g.resolve().then(function(){return Bs}),a=new o(e),u=await a.getEntries();await a.close(),await To(r.writer);const{directoryOffset:w}=a;u.forEach(({filename:e})=>{if(i.has(e))throw new d(Us);i.add(e),l.push(e)}),r.$e=!0;const{et:p}=r;r.et=new g(e=>f=()=>{r.$e=!1,e()}),await p,r.qe&&(delete r.qe,await async function(e){return pt(await No(e,0,4)).getUint32(0,!0)==P}(e)||(await Ha(r.writer,Pa()),r.offset+=4));const m=await async function(e,n,r,o){const{writer:i}=e,s=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>La(n,e)-La(n,t));let c=0;for(const t of a){const r=La(n,t);await Ua(e,n,c,r-c),ka(i,await Wa(n,r))&&await i.closeDisk(),s.set(t,{offset:Ma(e,i),diskNumberStart:va(i)}),c=r}await Ua(e,n,c,o-c)}else{const t=e.offset;await Ua(e,n,0,o),r.forEach(e=>s.set(e,{offset:t+La(n,e),diskNumberStart:0}))}return s}(r,e,u,w);u.forEach(e=>{const{version:t,rawLastModDate:r,rawFilename:o,bitFlag:i,encrypted:a,uncompressedSize:c,compressedSize:u,extraFieldZip64:l}=e;let{compressionMethod:f,rawExtraField:d}=e;const{level:w,languageEncodingFlag:p,dataDescriptor:h}=i;d=Ba(d||de),e.extraFieldAES&&(f=99);const y=ic(d),g=Boolean(l)&&l.uncompressedSize!==ae,E=Boolean(l)&&l.compressedSize!==ae,S=-7&ac(w,p,h,a,f)|w<<1,{nt:b,ot:A}=sc({version:t,bitFlag:S,compressionMethod:f,uncompressedSize:c,compressedSize:u,rawLastModDate:r,rawFilename:o,it:E,st:g,extraFieldLength:y}),{crc32:z}=e;z!==ae&&nc(A,10,z);const{offset:R,diskNumberStart:F}=m.get(e);n.assign(e,{ct:!0,st:g,it:E,offset:R,diskNumberStart:F,ut:!1,lt:de,ft:de,wt:de,ht:de,yt:de,rawExtraField:d,gt:de,extendedTimestamp:!1,nt:b,ot:A}),s.set(e.filename,e)})}catch(e){throw l.forEach(e=>i.delete(e)),e}finally{a(),o.delete(u),f&&f()}}add(e="",r,c={}){const u=this,{Ge:l}=u,f=async function(e,r,c,u){if(Xa(e,u=n.assign({},u),ri)&&!r.endsWith(re)&&(r+=re),e.Ke.has(r))throw new d(Us);e.Ke.add(r),ba<Xe().maxWorkers?ba++:await new g(e=>Aa.push(e));try{return await async function(e,r,c,u){const l=function(e,n,r){let o=Xa(e,r,Jo),i=Xa(e,r,ti,o?20:768);const s=Xa(e,r,oi),a=Ja(e,r,"uid"),c=Ja(e,r,"gid");let u=Ja(e,r,ci),l=Xa(e,r,"unixExtraFieldType"),f=Xa(e,r,ui),w=Xa(e,r,li),p=Xa(e,r,fi);if(We(a,B,ua),We(c,B,la),We(u,U,fa),l!==ae&&l!==Ea&&l!==Sa)throw new d(da);if(l===Sa&&(a!==ae&&a>U||c!==ae&&c>U))throw new d(wa);l!==ae||a===ae&&c===ae||(l=Ea);let m=Ja(e,r,jo),h=Xa(e,r,Qo);const y=m!==ae||h!==ae;if(a!==ae||c!==ae||u!==ae||l||s?(o=!1,i=i&W|768):y&&(o=!0,i&=W),We(m,W,pa),h&&("object"!=typeof h||t.isArray(h)))throw new d(ma);if(i>U)throw new d(Zs);let g=Xa(e,r,Xo);const E=g!==ae;E||(g=0),!r[ri]&&n.endsWith(re)&&(r[ri]=!0);const S=Xa(e,r,ri);if(S?(n.endsWith(re)||(n+=re),E||(g=16,o||(g|=16877<<16))):o||E||(g=s?493<<16:27525120),!o){const e=u!==ae||Boolean(f||w||p);u=u===ae?g>>16&U:u&U,f?u|=te:f=Boolean(u&te),w?u|=ne:w=Boolean(u&ne),p?u|=512:p=Boolean(512&u),E&&!e||(S?u=-61441&u|ee:u&$||(u|=32768),g=(u&U)<<16|g&U)}({msdosAttributesRaw:m,msdosAttributes:h}=function(e,t){if(e!==ae)e&=W;else if(t!==ae){const{readOnly:n,hidden:r,system:o,directory:i,archive:s}=t;let a=0;n&&(a|=1),r&&(a|=2),o&&(a|=4),i&&(a|=16),s&&(a|=32),e=a&W}return t===ae&&(t={readOnly:Boolean(1&e),hidden:Boolean(2&e),system:Boolean(4&e),directory:Boolean(16&e),archive:Boolean(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}}(m,h)),y&&(g=g&B|m&W);const b=g>>16&U,A=u!==ae&&40960==(u&$);return{name:n,Et:{versionMadeBy:i,msDosCompatible:Boolean(o),externalFileAttributes:g,unixExternalUpper:b,uid:a,gid:c,unixMode:u,unixExtraFieldType:l,symlink:A,setuid:f,setgid:w,sticky:p,msdosAttributesRaw:m,msdosAttributes:h}}}(e,r,u);({name:r}=l);const f=function(e,t,n){const r=Qa(e,n,"encodeText")||Dt;let i=r(t,Fe);if(i===ae&&(i=Dt(t)),ic(i)>U)throw new d(qs);const s=n[Mo]||"";if(typeof s!=fe)throw new d(Vs);let c=r(s,De);if(c===ae&&(c=Dt(s)),ic(c)>U)throw new d(Ps);const u=Xa(e,n,ei);if(u!==ae&&u>U)throw new d(Zs);const l=ja(e,n,Vo,new a),f=Xa(e,n,Ho),w=ja(e,n,qo),p=ja(e,n,Ko),m=Xa(e,n,Go,0),h=Xa(e,n,me),y=Xa(e,n,we),g=Xa(e,n,pe);Be(y,g);const E=Ja(e,n,"encryptionStrength",3),S=Xa(e,n,ni),b=Xa(e,n,"extendedTimestamp",!0),A=Xa(e,n,"ntfsTimestamp"),z=Xa(e,n,"keepOrder",!0),R=Xa(e,n,ye),F=Xa(e,n,Ee),D=Xa(e,n,"bufferedWrite"),x=Qa(e,n,"createTempStream"),C=Xa(e,n,"dataDescriptorSignature",!0),T=ke(Xa(e,n,he));Me(T);const O=Xa(e,n,"useUnicodeFileNames",!0),N=Xa(e,n,ii),v=h||N===ae?ae:On(N);if(!h&&N!==ae&&0!==N&&8!==N&&!v)throw new d(Dn);let I=Ja(e,n,"level");if(We(I,9,ha),e.options[ze]){if(y!==ae||g!==ae)throw new d(Ys);I===ae&&N===ae&&(I=0)}h&&(I=ae);let k=Xa(e,n,ge),M=Xa(e,n,be);D&&M===ae&&(M=!1),(M===ae||S&&!h)&&(M=!0),I!==ae&&6!=I&&(k=!1);const B=Xa(e,n,_o);if(!(S||y===ae&&g===ae||o.isInteger(E)&&E>=1&&E<=3))throw new d(Ks);const W=Ca(n[ai]),L=Ca(n.localExtraField),P=Ca(n.centralExtraField);return{comment:s,Et:{rawFilename:i,rawComment:c,version:u,lastModDate:l,rawLastModDate:f,lastAccessDate:w,creationDate:p,internalFileAttributes:m,passThrough:h,password:y,rawPassword:g,encryptionStrength:E,zipCrypto:S,extendedTimestamp:b,ntfsTimestamp:A,keepOrder:z,useWebWorkers:R,transferStreams:F,bufferedWrite:D,createTempStream:x,dataDescriptorSignature:C,signal:T,useUnicodeFileNames:O,compressionMethod:N,format:v?v.format:ae,codecURI:v?v.codecURI:ae,St:v?v.versionNeeded:ae,level:I,useCompressionStream:k,dataDescriptor:M,zip64:B,rawExtraField:W,bt:L,gt:P}}}(e,r,u),{comment:p}=f,m=u[ai];e.Ze.set(r,ae);const h=e.Je,y={};let E,S;f.Et.keepOrder&&(y.At=new g(e=>E=e)),e.Je=y;try{const{Et:t}=f;0==t.level||t.compressionMethod!==ae||t.passThrough||await async function(e){const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.he)return!0;if(Yn(t)||Kn(t,Ln))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1}(Xe())||(t.level=0);const o=await async function(e,t,{Et:r},o){if(r.passThrough&&!t&&!Xa(e,o,ri))throw new d(sa);let i;if(t){if(t=new Do(t),await To(t),!t.readable&&!t.readUint8Array)throw new d(aa);({size:i}=t)}return n.assign({reader:t},function(e,t,n,r,o){const{passThrough:i,zipCrypto:s,password:a,rawPassword:c,encryptionStrength:u}=r;let{dataDescriptor:l,zip64:f,level:w,compressionMethod:p}=r,m=0,h=0,y=!1;if(i&&t){if(h=o[Uo],h===ae)throw new d(oa);if(p===ae)throw new d(ia)}const g=!0===f,E=Xa(e,o,$o);if(t&&i&&!E&&ic(a,c))throw new d(Xs);const S=t&&(Boolean(a&&ic(a)||c&&ic(c))||i&&E);t||(w=0,p=0);const b=S?s?12:16+4*u:0;t&&(i?(o.uncompressedSize=h,m=n===ae?_a(h)+b:n):n===ae?(l=!0,(f||f===ae)&&(f=y=!0,m=4294967296)):(o.uncompressedSize=h=n,m=($a(p,w)?_a(h):h)+b));const A=!(S||t&&(0!==n||i)||$a(p,w));A&&!s&&Xa(e,o,be)===ae&&(l=!1);const z=g||y||h>=B,R=g||m>=B;if(z||R){if(!1===f)throw new d(ra);f=!0}return f=f||!1,{zt:m,Et:{dataDescriptor:l,Rt:A,zip64:f,ct:g,Ft:y,st:z,it:R,uncompressedSize:h,level:w,compressionMethod:p,encrypted:S}}}(e,Boolean(t),i,r,o))}(e,c,f,u);({reader:c}=o);const p=Ia(e.writer),m=va(e.writer),b=function(e){const{rawFilename:t,lastModDate:n,rawLastModDate:r,lastAccessDate:o,creationDate:i,level:c,zip64:u,zipCrypto:l,useUnicodeFileNames:f,dataDescriptor:w,directory:p,rawExtraField:m,bt:h,encryptionStrength:y,extendedTimestamp:g,ntfsTimestamp:E,passThrough:S,encrypted:b,st:A,it:z,uncompressedSize:R,Ft:F,crc32:D}=e;let{version:x,compressionMethod:C}=e;const T=!p&&$a(C,c);let O;const N=S||!T,v=u&&(e.bufferedWrite||!w||!A&&!z||N&&!F),I=v||u&&w&&(A||z);if(u&&(A||z)){const e=20,t=Na(e);if(t.Dt(1),t.Dt(e-4),O=t.xt,v&&(t.Ct(R),N)){const e=b?l?12:16+4*y:0;t.Ct(S?0:R+e)}}else O=de;let k,M,B,W,P;if(b&&!l){const e=Na(ic(ga)+2);e.Dt(39169),e.Tt(ga),k=e.xt,k[8]=y}else k=de;if(g){const e=Ka(n),t=Ya(e);if(t){const t=9+(o?4:0)+(i?4:0),n=Na(t);W=1+(o?2:0)+(i?4:0),n.Dt(J),n.Dt(t-4),n.Ot(W),n.Nt(e),o&&n.Nt(Ga(Ka(o))),i&&n.Nt(Ga(Ka(i))),B=n.xt}else B=de;if(E===ae?!t||Boolean(o||i):E)try{const e=Za(n),t=Na(36);t.Dt(10),t.Dt(32),t.vt(4),t.Dt(1),t.Dt(24),t.Ct(e),t.Ct(o?Za(o):e),t.Ct(i?Za(i):e),M=t.xt}catch{M=de}else M=de}else M=B=de;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Ea||t===ae&&n===ae)if(r!=Sa||t===ae&&n===ae)P=de;else{const e=Na(8);e.Dt(30805),e.Dt(4),e.Dt((t===ae?0:t)&U),e.Dt((n===ae?0:n)&U),P=e.xt}else{const e=Oa(t===ae?0:t),r=Oa(n===ae?0:n),o=3+e.length+r.length,i=Na(4+o);i.Dt(30837),i.Dt(o),i.Ot(1),i.Ot(e.length),i.Tt(e),i.Ot(r.length),i.Tt(r),P=i.xt}}catch{P=de}C===ae&&(C=T?8:0),x===ae&&(x=0!=C||p||b?20:10);const{St:V}=e;T&&V!==ae&&(x=x>V?x:V),u&&(x=x>45?x:45),b&&!l&&(x=x>51?x:51,S&&D!==ae&&(k[4]=1),tc(pt(k),9,C),C=99);const H=I?ic(O):0,q=H+ic(k,B,M,P,m,h);if(q+(e[ze]?67:0)>U)throw new d(_s);const Z=new a(2e3*s.ceil(s.floor(n.getTime()/1e3)/2)),K=Z<se?se:Z>ie?ie:Z,Y=ic(B)?new a(1e3*Ka(n)):ic(M)?n:K,{nt:G,ot:X,rawLastModDate:j}=sc({version:x,bitFlag:ac(c,f,w,b,C),compressionMethod:C,uncompressedSize:R,lastModDate:K,rawLastModDate:r,rawFilename:t,it:z,st:A,extraFieldLength:q}),Q=Na(oe+ic(t)+q),_=Q.xt,$=pt(_);return Q.Nt(L),Q.Tt(G),Q.Tt(t),I&&Q.Tt(O),Q.Tt(k),Q.Tt(B),Q.Tt(M),Q.Tt(P),Q.Tt(m),Q.Tt(h),w&&(z||nc($,18,0),A||nc($,22,0)),{It:_,kt:$,nt:G,ot:X,lastModDate:Y,rawLastModDate:j,encrypted:b,compressed:T,version:x,compressionMethod:C,Mt:W,lt:de,Bt:H,wt:B,ht:M,yt:P,ft:k,extraFieldLength:q}}(u=n.assign({},u,l.Et,f.Et,o.Et,{signature:u[si],crc32:u.crc32===ae?u[si]:u.crc32,offset:e.offset-p,diskNumberStart:m,[ze]:e.options[ze]})),A=function({zip64:e,dataDescriptor:t,dataDescriptorSignature:n}){let r,o=de,i=0,s=e?20:12;return n&&(s+=4),t&&(o=new w(s),r=pt(o),n&&(i=4,nc(r,0,V))),{Ut:o,Wt:r,Lt:i}}(u),z=ic(b.It,A.Ut);S=await async function(e,t,r,o,s){const{Ze:a,writer:c}=e,{keepOrder:u,dataDescriptor:l,Rt:f,signal:w}=s,{Pt:p,He:m,Vt:h,Ht:y}=o,E=e.options[ze];let S,b,A,z,F,D,x,C=m,T=0;const O=u&&h?h.At:ae;a.set(t,C);try{s.bufferedWrite||!u||e.$e||e.je||e.Qe||!l&&!f?(S=!0,e.je++,x=s.createTempStream?await s.createTempStream():new R(ae,ae,{highWaterMark:ce}),x.size=0,await To(c)):(b=!0,e.Qe++,x=c,await O,await N()),await To(x);const m=Ia(c);e.qe&&!S&&await Va(e,c),E&&!S&&Ta(o,e.offset-m);const{It:h}=p;S||await v();const y=va(c),A=Ma(e,c);if(C.diskNumberStart=y,S||(F=!0,D=c.size,await Ha(x,h)),C=await async function(e,t,{diskNumberStart:r,At:o},s,a,c){const{Pt:u,qt:l,Zt:f}=s,{nt:w,ot:p,lastModDate:m,rawLastModDate:h,encrypted:y,compressed:g,version:E,compressionMethod:S,lt:b,Bt:A,wt:z,Mt:R,ht:F,yt:D,ft:x}=u,{Ut:C}=l,{rawFilename:T,lastAccessDate:O,creationDate:N,password:v,rawPassword:I,level:k,zip64:M,ct:U,st:L,it:P,zipCrypto:V,dataDescriptor:H,directory:q,executable:Z,versionMadeBy:K,rawComment:Y,rawExtraField:G,gt:X,useWebWorkers:j,transferStreams:Q,onstart:J,onprogress:_,onend:$,signal:ee,encryptionStrength:te,extendedTimestamp:ne,msDosCompatible:re,internalFileAttributes:oe,externalFileAttributes:ie,uid:se,gid:ce,unixMode:ue,symlink:le,setuid:fe,setgid:de,sticky:we,unixExternalUpper:pe,msdosAttributesRaw:me,msdosAttributes:he,useCompressionStream:ye,passThrough:ge,format:Ee,codecURI:Se}=c,be={At:o,versionMadeBy:K,zip64:M,ct:U,directory:Boolean(q),executable:Boolean(Z),filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:Y,lt:b,Bt:A,wt:z,ht:F,yt:D,ft:x,rawExtraField:G,gt:X,extendedTimestamp:ne,msDosCompatible:re,internalFileAttributes:oe,externalFileAttributes:ie,diskNumberStart:r,uid:se,gid:ce,unixMode:ue,symlink:Boolean(le),setuid:fe,setgid:de,sticky:we,unixExternalUpper:pe,msdosAttributesRaw:me,msdosAttributes:he};let{crc32:Ae,uncompressedSize:ze}=c,Re=0;ge||(ze=0);const{writable:Fe}=t;if(e){const n=e.size,r=Sn(vo(e,{size:n})),o={options:{codecType:$n,inputSize:n,level:k,rawPassword:I,password:v,encryptionStrength:te,zipCrypto:y&&V,passwordVerification:y&&V&&h>>8&W,computeCrc32:!ge,compressed:g&&!ge,encrypted:y&&!ge,useWebWorkers:j,useCompressionStream:ye,transferStreams:Q,format:Ee,codecURI:Se,compressionMethod:S},config:a,ce:{signal:ee,size:n,onstart:J,onprogress:_,onend:$}};try{const e=await Nr({readable:r,writable:Fe},o);if(Re=e.outputSize,t.size+=Re,ge||(ze=e.inputSize,y&&!V||(Ae=e.crc32)),!P&&Re>=B||!L&&ze>=B)throw new d(ra)}catch(e){throw e.outputSize!==ae&&(t.size+=e.outputSize),e}}return function({crc32:e,compressedSize:t,uncompressedSize:n,Pt:r,qt:o},{zip64:s,zipCrypto:a,passThrough:c,dataDescriptor:u}){const{ot:l,encrypted:f}=r,{Wt:d,Lt:w}=o;f&&!a&&!c||e===ae||(nc(l,10,e),u&&nc(d,w,e)),s?u&&(rc(d,w+4,i(t)),rc(d,w+12,i(n))):(nc(l,14,t),nc(l,18,n),u&&(nc(d,w+4,t),nc(d,w+8,n)))}({crc32:Ae,compressedSize:Re,uncompressedSize:ze,Pt:u,qt:l},c),H&&await Ha(t,C),n.assign(be,{uncompressedSize:ze,compressedSize:Re,lastModDate:m,rawLastModDate:h,creationDate:N,lastAccessDate:O,encrypted:Boolean(y),zipCrypto:Boolean(V),size:f+Re,compressionMethod:S,version:E,nt:w,ot:p,signature:Ae,crc32:!y||V||ge?Ae:ae,Mt:R,st:L,it:P}),be}(r,x,C,o,Xe(),s),S||(F=!1),a.set(t,C),C.filename=t,S){if(await g.all([x.writable.getWriter().close(),O]),await N(),e.qe&&await Va(e,c),z=!0,D=c.size,await v(),C.diskNumberStart=va(c),C.offset=Ma(e,c),E){const t=o.Zt;Ta(o,e.offset-Ia(c)),C.size+=o.Zt-t}!function({rawFilename:e,encrypted:t,zip64:n,Bt:r,crc32:o,compressedSize:s,uncompressedSize:a,st:c,it:u},l,{dataDescriptor:f,passThrough:d}){if(f||((!t||d&&o!==ae)&&nc(l,14,o),u||nc(l,18,s),c||nc(l,22,a)),n&&r){const t=oe+ic(e)+4;rc(l,t,i(a)),rc(l,t+8,i(s))}}(C,p.kt,s),await Ha(c,p.It),await qa(x.readable,c,w,e=>T+=e),c.size+=x.size,z=!1}else C.diskNumberStart=y,C.offset=A;return e.offset+=C.size,C}catch(n){if(z||F){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-D,S&&(e.offset+=T)}throw a.delete(t),n}finally{if(S&&e.je--,b&&e.Qe--,y&&y(O),A&&A(),S&&x&&x.dispose)try{await x.dispose()}catch{}}async function N(){e.$e=!0;const{et:t}=e;e.et=new g(t=>A=()=>{e.$e=!1,t()}),await t}async function v(){ka(c,ic(p.It))&&await c.closeDisk()}}(e,r,c,{Pt:b,qt:A,Zt:z,He:y,Vt:h,Ht:E},u)}catch(t){throw e.Ze.delete(r),t}finally{E&&E(h&&h.At)}return n.assign(S,{name:r,comment:p,extraField:m}),new wi(S)}(e,r,c,u)}catch(t){throw e.Ke.delete(r),t}finally{const e=Aa.shift();e?e():ba--}}(u,e,r,c);l.add(f);const p=()=>l.delete(f);return g.prototype.then.call(f,p,p),Fa(u,f)}remove(e){const{Ke:t,Ze:n}=this;if(typeof e==fe&&(e=n.get(e)),e&&e.filename!==ae){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=de,n={}){const r=this,{Ge:o,writer:s}=this,{writable:a}=s;if(!(e instanceof w))throw new d(Ls);if(ic(e)>U)throw new d(Ws);for(;o.size;)await g.allSettled(t.from(o));await g.allSettled(r.Xe.map(e=>e.Kt));const c=r.Xe.filter(e=>e.error&&!e.Yt);if(c.length){const e=c.map(e=>e.error);c.forEach(e=>e.Yt=!0);const[t]=e;try{t.entryErrors=e}catch{}throw t}return await async function(e,n,r){const{Gt:o,Xt:s}=function(e){let t=0,n=!1;for(const[,r]of e){const{rawFilename:e,ft:o,rawComment:i,ht:s,yt:a,rawExtraField:c,gt:u,extendedTimestamp:l,Mt:f,lastModDate:w,ct:p,uncompressedSize:m,compressedSize:h}=r;let{st:y,it:g}=r;p||(y&&m<B&&(y=r.st=!1),g&&h<B&&(g=r.it=!1)),n=n||y||g;const E=r.offset>=B,S=r.diskNumberStart>=U;let b,A;if(E||S||y||g){const e=4+(y?8:0)+(g?8:0)+(E?8:0)+(S?4:0),t=Na(e);t.Dt(1),t.Dt(e-4),y&&t.Ct(m),g&&t.Ct(h),E&&t.Ct(r.offset),S&&t.Nt(r.diskNumberStart),b=t.xt}else b=de;r.lt=b,r.jt=E,r.ut=S;const z=Ka(w);if(l&&Ya(z)){const e=Na(9);e.Dt(J),e.Dt(5),e.Ot(f),e.Nt(z),A=e.xt}else A=de;r.wt=A;const R=ic(b,o,s,a,A,c,u);if(R>U)throw new d(_s);t+=G+ic(e,i)+R}return{Gt:t,Xt:n}}(e.Ze),{Qt:a,Jt:c,_t:u}=await async function(e,n,r){const{Ze:o,writer:i}=e,s=new w(n);await To(i);let a=0,c=0,u=va(i),l=Ia(i),f=0;for(const[e,n]of t.from(o.values()).entries()){const{offset:t,rawFilename:d,lt:w,ft:p,wt:m,ht:h,yt:y,rawExtraField:g,gt:E,rawComment:S,versionMadeBy:b,nt:A,ot:z,st:R,it:F,ut:D,jt:x,internalFileAttributes:C,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:N,compressedSize:v}=n,I=ic(w,p,m,h,y,g,E),k=G+ic(d,S)+I;ka(i,a+k-c)&&(await Ha(i,s.slice(c,a)),c=a,f=0,await i.closeDisk()),0==e&&(u=va(i),l=Ia(i)),R||nc(z,18,N),F||nc(z,14,v),(x||D)&&n.version<45&&tc(z,0,45);const M=Na(k);if(M.Nt(q),M.Dt(b),M.Tt(A.subarray(0,24)),M.Dt(I),M.Dt(ic(S)),M.Dt(D?U:O),M.Dt(C),M.Nt(T),M.Nt(x?B:t),M.Tt(d),M.Tt(w),M.Tt(p),M.Tt(m),M.Tt(h),M.Tt(y),M.Tt(g),M.Tt(E),M.Tt(S),oc(s,M.xt,a),a+=k,f++,r.onprogress)try{await r.onprogress(e+1,o.size,new wi(n))}catch{}}return await Ha(i,c?s.slice(c):s),{Qt:{diskNumber:u,diskOffset:l},Jt:{diskNumber:va(i),$t:f},_t:s}}(e,o,r),l=await async function(e,t,n){const r=Qa(e,n,"signCentralDirectory");if(r){const n=await r(t),o=ic(n);if(o>U)throw new d(ya);const i=Na(6+o);i.Nt(H),i.Dt(o),i.Tt(n);const{writer:s}=e;return ka(s,ic(i.xt))&&await s.closeDisk(),await Ha(s,i.xt),6+o}return 0}(e,u,r);await async function(e,t,n,r){const{writer:o}=e,{Qt:s,Jt:a,en:c,Xt:u}=r;let{Gt:l}=r,f=e.Ze.size,w=s.diskNumber,p=Ma(e,s);const m=ic(t);if(m>U)throw new d(Ws);let h=Xa(e,n,_o),y=va(o);if(ka(o,(h?98:X)+m)&&y++,p>=B||l>=B||f>=U||y>=U){if(!1===h)throw new d(ra);h=!0}else h===ae&&u&&(h=!0);const g=Na(h?98:X);ka(o,ic(g.xt)+m)&&await o.closeDisk(),y=va(o);let E=y==a.diskNumber?a.$t:0;h&&(g.Nt(K),g.Ct(44),g.Dt(45),g.Dt(45),g.Nt(y),g.Nt(w),g.Ct(E),g.Ct(f),g.Ct(l),g.Ct(p),g.Nt(Y),g.Nt(y),g.Ct(i(Ma(e,o))+i(l)+i(c)),g.Nt(y+1),Xa(e,n,"supportZip64SplitFile",!0)&&(y=U,w=U),E=U,f=U,p=B,l=B),g.Nt(Z),g.Dt(y),g.Dt(w),g.Dt(E),g.Dt(f),g.Nt(l),g.Nt(p),g.Dt(m),await Ha(o,g.xt),m&&await Ha(o,t)}(e,n,r,{Qt:a,Jt:c,Gt:o,en:l,Xt:s})}(r,e,n),!Co(s)&&Xa(r,n,Se)||await a.getWriter().close(),s.getData?s.getData():a}}class Ra extends g{then(e,t){const{tn:n}=this;return n&&(n.Yt=!0),super.then(e,t)}}function Fa(e,t){const n=new Ra((e,n)=>g.prototype.then.call(t,e,n)),r={};return n.tn=r,r.Kt=g.prototype.then.call(n,ae,e=>r.error=e),e.Xe.push(r),n}async function Da(e,t){try{await e.writer.writable.abort(t)}catch{}}function xa(e,t,n){e.Ge.add(t),t.catch(e=>{try{n(e)}catch{}})}function Ca(e){if(!e)return de;if(!(e instanceof c))throw new d(js);let t=0,n=0;e.forEach((e,n)=>{if(Ue(n,U,Qs),!(e instanceof w))throw new d(Js);if(ic(e)>U)throw new d(_s);t+=4+ic(e)});const r=new w(t),o=pt(r);return e.forEach((e,t)=>{tc(o,n,t),tc(o,n+2,ic(e)),oc(r,e,n+4),n+=4+ic(e)}),r}function Ta(e,t){const{Pt:n}=e;let{It:r,extraFieldLength:o}=n,i=64-(t+ic(r))%64;i<4&&(i+=64);const s=new w(i),a=pt(s);tc(a,0,6534),tc(a,2,i-4);const c=r;n.It=r=new w(ic(c)+i),oc(r,c),oc(r,s,ic(c));const u=pt(r);tc(u,28,o+i),n.kt=u,e.Zt+=i}function Oa(e){const t=new w(4);pt(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}function Na(e){const t=new w(e),n=pt(t);let r=0;return{xt:t,Ot:e=>{!function(e,t,n){e.setUint8(t,n)}(n,r,e),r+=1},Dt:e=>{tc(n,r,e),r+=2},Nt:e=>{nc(n,r,e),r+=4},Ct:e=>{rc(n,r,i(e)),r+=8},Tt:e=>{oc(t,e,r),r+=ic(e)},vt:e=>r+=e}}function va(e){const{diskNumber:t=0}=e;return t}function Ia(e){const{diskOffset:t=0}=e;return t}function ka(e,t){const{availableSize:n=ce}=e;return t>n}function Ma(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Ye:0)}function Ba(e){const t=pt(e);let n=0;for(;n+4<=ic(e);){const r=4+ec(t,n+2);if(1==ec(t,n))return Ba(dt(e.subarray(0,n),e.subarray(s.min(n+r,ic(e)))));n+=r}return e}async function Ua(e,t,n,r){if(r>0){const{writer:o}=e;let i=0;try{await qa(vo(t,{offset:n,size:r}),o,ae,e=>i+=e)}catch(t){e.hasCorruptedEntries=!0;try{t.corruptedEntry=!0}catch{}throw t}finally{o.size+=i,e.offset+=i}}}async function Wa(e,t){const n=await No(e,t,oe);if(ic(n)<oe)return oe;const r=pt(n);return oe+ec(r,26)+ec(r,28)}function La(e,{offset:t,diskNumberStart:n}){return t+(e.Me?e.Me(n):0)}function Pa(){const e=new w(4);return nc(pt(e),0,P),e}async function Va(e,t){delete e.qe,await Ha(t,Pa()),e.offset+=4}async function Ha(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=ic(t),await r.write(t)}finally{r.releaseLock()}}async function qa(e,t,n,r){const o=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){await o.ready,await o.write(e),r(ic(e))}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{o.releaseLock()}}function Za(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return t<ta?ta:t>na?na:t}}function Ka(e){return s.floor(e.getTime()/1e3)}function Ya(e){return e>=$s&&e<=ea}function Ga(e){return s.min(ea,s.max($s,e))}function Xa(e,t,n,r){const o=t[n]===ae?e.options[n]:t[n];return o===ae?r:o}function ja(e,t,n,r){const i=Xa(e,t,n,r);if(null===i)return r;if(i!==ae&&(typeof i.getTime!=le||o.isNaN(i.getTime())))throw new d(Hs);return i}function Qa(e,t,n){return Ie(Xa(e,t,n))}function Ja(e,t,n,r){return Le(Xa(e,t,n,r))}function _a(e){return e+5*(s.floor(e/16383)+1)}function $a(e,t){return e===ae?t===ae||t>0:0!==e}function ec(e,t){return e.getUint16(t,!0)}function tc(e,t,n){e.setUint16(t,n,!0)}function nc(e,t,n){e.setUint32(t,n,!0)}function rc(e,t,n){e.setBigUint64(t,n,!0)}function oc(e,t,n){e.set(t,n)}function ic(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function sc({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:o,lastModDate:i,rawLastModDate:s,rawFilename:a,it:c,st:u,extraFieldLength:l}){const f=Na(26),d=f.xt,w=pt(d);if(f.Dt(e),f.Dt(t),f.Dt(n),s===ae){const e=new m(1),t=pt(e);tc(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),tc(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=e[0]}return f.Nt(s),f.vt(4),c||o!==ae?f.Nt(c?B:o):f.vt(4),u||r!==ae?f.Nt(u?B:r):f.vt(4),f.Dt(ic(a)),f.Dt(l),{nt:d,ot:w,rawLastModDate:s}}function ac(e,t,n,r,o){let i=0;return t&&(i|=_),n&&(i|=8),8!=o&&9!=o||(e>=0&&e<=3&&(i|=6),e>3&&e<=5&&(i|=4),9==e&&(i|=2)),r&&(i|=1),i}function cc(e,t){if(!e)return!1;const{nn:n}=e;return n?n.includes(t):Kn(e,t)}const uc=1048576,lc=".zip.js-temp",fc=1048576,dc=1048576,wc=".zip.js-temp",pc="createSyncAccessHandle is only available in dedicated workers";try{et({baseURI:void 0===b&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===b?location.href:M&&"SCRIPT"===M.tagName.toUpperCase()&&M.src||new f("zip-legacy.min.js",b.baseURI).href})}catch{}lt(et),e.BlobReader=ro,e.BlobWriter=oo,e.Data64URIReader=class extends $r{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{rn:e,sn:r,size:s.floor(.75*(t-r))})}readUint8Array(e,t){const{sn:n,rn:r}=this,o=new w(t),i=4*s.floor(e/3),a=atob(r.substring(i+n,4*s.ceil((e+t)/3)+n)),c=e-3*s.floor(i/4);let u=0;for(let e=c;e<c+t&&e<a.length;e++)o[e-c]=a.charCodeAt(e),u++;return u<o.length?o.subarray(0,u):o}},e.Data64URIWriter=class extends eo{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",an:""})}writeUint8Array(e){const t=this;let n,o=t.an;const i=t.an.length;for(t.an="",n=0;n<3*s.floor((i+e.length)/3)-i;n++)o+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.an+=r.fromCharCode(e[n]);o.length>2?t.data+=z(o):t.an=o+t.an}getData(){return this.data+z(this.an)}},e.ERR_AMBIGUOUS_ARCHIVE=Fi,e.ERR_BAD_FORMAT=pi,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=yi,e.ERR_DUPLICATED_NAME=Us,e.ERR_ENCRYPTED=Si,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=Di,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=Ri,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=hi,e.ERR_EOCDR_NOT_FOUND=mi,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Ei,e.ERR_HTTP_RANGE=Vr,e.ERR_HTTP_RESOURCE_CHANGED=Hr,e.ERR_INVALID_AUTHENTICATION_CODE=It,e.ERR_INVALID_CODEC_DEFINITION=zn,e.ERR_INVALID_CODEC_MODULE=Fn,e.ERR_INVALID_COMMENT=Ws,e.ERR_INVALID_COMMENT_TYPE=Ls,e.ERR_INVALID_COMPRESSED_DATA=Mn,e.ERR_INVALID_CRC32=Bn,e.ERR_INVALID_DATE=Hs,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ks,e.ERR_INVALID_ENTRY_COMMENT=Ps,e.ERR_INVALID_ENTRY_COMMENT_TYPE=Vs,e.ERR_INVALID_ENTRY_NAME=qs,e.ERR_INVALID_EXTRAFIELD=js,e.ERR_INVALID_EXTRAFIELD_DATA=_s,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=Js,e.ERR_INVALID_EXTRAFIELD_TYPE=Qs,e.ERR_INVALID_FILENAME_VALIDATION=Ti,e.ERR_INVALID_FUNCTION_OPTION=Oe,e.ERR_INVALID_GID=la,e.ERR_INVALID_LEVEL=ha,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Oi,e.ERR_INVALID_MAX_WORKERS=Pe,e.ERR_INVALID_MSDOS_ATTRIBUTES=pa,e.ERR_INVALID_MSDOS_DATA=ma,e.ERR_INVALID_PASSWORD=vt,e.ERR_INVALID_PASSWORD_TYPE=ve,e.ERR_INVALID_READER=aa,e.ERR_INVALID_SIGNAL=Ne,e.ERR_INVALID_SIGNATURE_DATA=ya,e.ERR_INVALID_STRICTNESS=Ci,e.ERR_INVALID_UID=ua,e.ERR_INVALID_UNCOMPRESSED_SIZE=kn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=da,e.ERR_INVALID_UNIX_ID_SIZE=wa,e.ERR_INVALID_UNIX_MODE=fa,e.ERR_INVALID_VERSION=Zs,e.ERR_ITERATOR_COMPLETED_TOO_SOON=qr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=gi,e.ERR_OVERLAPPING_ENTRY=zi,e.ERR_RESERVED_COMPRESSION_METHOD=Rn,e.ERR_SPLIT_ZIP_FILE=Ai,e.ERR_UNDEFINED_COMPRESSION_METHOD=ia,e.ERR_UNDEFINED_READER=sa,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=oa,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=xi,e.ERR_UNSUPPORTED_COMPRESSION=Dn,e.ERR_UNSUPPORTED_CONTEXT=pc,e.ERR_UNSUPPORTED_CRYPTO_API=Mt,e.ERR_UNSUPPORTED_ENCRYPTION=bi,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Xs,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ys,e.ERR_UNSUPPORTED_FORMAT=ra,e.ERR_UNSUPPORTED_SPLIT_USDZ=Gs,e.ERR_UNSUPPORTED_UINT64=Ni,e.ERR_WORKER_STARTUP_TIMEOUT=rr,e.ERR_WRITER_NOT_INITIALIZED=Zr,e.ERR_ZIP_NOT_EMPTY=ca,e.HttpRangeReader=class extends zo{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=zo,e.Reader=$r,e.SplitDataReader=Ro,e.SplitDataWriter=Fo,e.TextReader=class extends ro{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends oo{constructor(e){super(),n.assign(this,{encoding:e,cn:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,cn:t}=this,n=await super.getData();return n.text&&t?n.text():function(e,t){return Lr(e,t,!1)}(new w(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends $r{constructor(e){super(),e=new w(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{xt:e,size:e.length})}readUint8Array(e,t){return this.xt.slice(e,e+t)}},e.Uint8ArrayWriter=class extends eo{constructor(e){super(),this.un=e||262144}init(e=0){n.assign(this,{offset:0,xt:new w(e>0?e:this.un)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.xt.length){let e=t.xt.length?2*t.xt.length:t.un;for(;e<n;)e*=2;const r=t.xt;t.xt=new w(e),t.xt.set(r)}t.xt.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.xt.length?this.xt:this.xt.slice(0,this.offset)}},e.VERSION="2.11.4",e.WARNING_APPENDED_DATA=Wi,e.WARNING_COMPRESSED_PATCHED_DATA=ki,e.WARNING_DUPLICATE_FILENAME=Hi,e.WARNING_MALFORMED_EXTRA_FIELD=Mi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG=Zi,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD=Ki,e.WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES=Yi,e.WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY=qi,e.WARNING_PREPENDED_CENTRAL_DIRECTORY=Pi,e.WARNING_PREPENDED_DATA=Li,e.WARNING_TRAILING_CENTRAL_DIRECTORY_DATA=Vi,e.WARNING_UNKNOWN_VERSION=Ii,e.WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA=Bi,e.WARNING_UNSORTED_CENTRAL_DIRECTORY=vi,e.WARNING_WRAPPED_ENTRIES_COUNT=Ui,e.Writer=eo,e.ZipReader=$i,e.ZipReaderStream=es,e.ZipWriter=za,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new R;this.readable=t,this.zipWriter=new za(n,e),this.Ge=new u}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:o}=new R({start(e){n=e},flush:()=>{!async function(){try{await t.close()}catch(e){await Da(t,e)}}()}});return xa(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:o}}writable(e){let t;const{readable:n,writable:r}=new R({start(e){t=e}});return xa(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){const{zipWriter:r}=this,o=(await g.allSettled(t.from(this.Ge))).filter(e=>"rejected"==e.status).map(e=>e.reason);if(o.length){const[e]=o;try{e.entryErrors=o}catch{}throw await Da(r,e),e}try{return await r.close(e,n)}catch(e){throw await Da(r,e),e}}},e.configure=function(e){n.assign(Ge,Je($e(e)))},e.createBlobTempStream=function(e={}){const{thresholdBytes:t=fc}=e;return function(){const e=[];let n,r,o,i=0,s=!1;const a=new D({async write(o){s?await n.write(o):(e.push(o),i+=o.length,i>t&&await async function(){const t=new R;r=bn(t.readable),n=t.writable.getWriter(),s=!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:a,readable:new F({async pull(t){if(s){if(!o){const e=await r;o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=function(e={}){const{thresholdBytes:n=uc,directoryName:r=lc,getDirectory:o=()=>T.storage.getDirectory()}=e;let i;function s(){return i||(i=g.resolve(o()).then(e=>e.getDirectoryHandle(r,{create:!0}))),i}return function(){const e=[];let r,o,i,a,c=0,u=!1;const l=new D({async write(a){u?await i.write(a):(e.push(a),c+=a.length,c>n&&await async function(){const n=await s();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join(""),o=await n.getFileHandle(r,{create:!0}),i=(await o.createWritable()).getWriter(),u=!0;for(const t of e)await i.write(t);e.length=0}())},async close(){i&&(await i.close(),i=null)}});let f=0;return{writable:l,readable:new F({async pull(t){if(u){if(!a){const e=await o.getFile();a=e.stream().getReader()}const{value:e,done:n}=await a.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){a&&await a.cancel(e)}},{highWaterMark:0}),dispose:async function(){if(i){try{await i.close()}catch{}i=null}if(r){try{const e=await s();await e.removeEntry(r)}catch{}o=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=function(e={}){const{thresholdBytes:n=dc,directoryName:r=wc,getDirectory:o}=e;if(!(o||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new d(pc);const i=o||(()=>T.storage.getDirectory());let a;function c(){return a||(a=g.resolve(i()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return function(){const e=[];let r,o,i=0,a=!1,u=0,l=0;const f=new D({async write(s){a?(o.write(s,{at:u}),u+=s.length):(e.push(s),i+=s.length,i>n&&await async function(){const n=await c();r=A.randomUUID?A.randomUUID():t.from(A.getRandomValues(new w(16)),e=>e.toString(16).padStart(2,"0")).join("");const i=await n.getFileHandle(r,{create:!0});o=await i.createSyncAccessHandle(),a=!0;for(const t of e)o.write(t,{at:u}),u+=t.length;e.length=0}())},close(){o&&o.flush()}});let d=0;return{writable:f,readable:new F({pull(t){if(a){const e=u-l;if(e<=0)return void t.close();const n=new w(s.min(524288,e)),r=o.read(n,{at:l});r?(l+=r,t.enqueue(n.subarray(0,r))):t.close()}else d<e.length?t.enqueue(e[d++]):t.close()}},{highWaterMark:0}),dispose:async function(){if(o){try{o.close()}catch{}o=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=function(){return"application/octet-stream"},e.getRegisteredCodecs=Nn,e.getSupportedCompressionMethods=function(){const{CompressionStream:e,DecompressionStream:t,CompressionStreamFallback:n,DecompressionStreamFallback:r}=Xe(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:cc(n,Un)||cc(e,Un)||cc(e,Ln),decompression:cc(r,Un)||cc(t,Un)||cc(t,Ln),registered:!1},{compressionMethod:9,compression:!1,decompression:cc(r,Wn)||cc(t,Wn),registered:!1}];for(const e of Nn()){const t=vn(e.format);o.push({compressionMethod:e.compressionMethod,compression:t?typeof t.CompressionStream==le:ae,decompression:t?typeof t.DecompressionStream==le:ae,registered:!0})}return o},e.isZipFile=ts,e.registerCodec=function(e={}){const{compressionMethod:t,format:n,codecURI:r,CompressionStream:i,DecompressionStream:s,versionNeeded:a}=e;if(!o.isInteger(t)||t<0||t>U||typeof n!=fe||!n.length)throw new d(zn);if(xn.includes(t))throw new d(Rn);const c=typeof i==le||typeof s==le;if(!(c||typeof r==fe&&r.length))throw new d(zn);Cn.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:a}),c&&In(n,{CompressionStream:i,DecompressionStream:s})},e.resetConfiguration=function(){for(const e of Ye)delete Ge[e];n.assign(Ge,He)},e.terminateWorkers=async function(){await g.allSettled(Dr.map(e=>(Br(e),e.terminate()))),or=ae,ir=!1},e.unregisterCodec=function(e){const t=Cn.get(e);if(t){let n;Cn.delete(e),Cn.forEach(e=>n=n||e.format==t.format),n||Tn.delete(t.format)}}});
|