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