@zip.js/zip.js 2.8.48 → 2.8.49

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.
@@ -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:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,_=M,N=84233040,L=33639248,P=101010256,W=101075792,B=117853008,Z=22,V=20,H=56,j=39169,q=21589,K=6534,Y=30837,G=30805,X=2048,J=16384,Q=2048,$=1024,ee="/",te=30,re=new o(2107,11,31,23,59,58),ne=new o(1980,0,1),se=void 0,ie=1/0,ae="undefined",oe="function",ce=new f;let de=2;try{typeof T!=ae&&T.hardwareConcurrency&&(de=T.hardwareConcurrency)}catch{}const le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:de,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=ae&&A,DecompressionStream:typeof k!=ae&&k};function ue(){return le}function we(e){return a.max(e.chunkSize,64)}function fe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function pe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function he(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function me(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 ye(e,t){if(e=me(e),typeof y.prototype.stream!=oe||new y([]).stream()instanceof E){const r={};return t&&(r.headers=[["Content-Type",t]]),new l(e,r).blob()}const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function ge(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const xe="HTTP error ",Se="HTTP Range not supported",be="HTTP resource changed",ze="Content-Range",Fe="Range",Re="GET",Ee="bytes",De=16777216,Ae="writable",ke=Symbol();class Te{constructor(){this.size=0}init(){this.initialized=!0}}class Ce extends Te{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===se?r:a.min(r,t-s),c=await ut(n,e+s,o);i.enqueue(c),s+r>t||t===se&&!c.length&&o?i.close():s+=r}})}}class ve extends Te{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(pe(t))}});r.defineProperty(e,Ae,{get:()=>t})}writeUint8Array(){}}class Ue extends Ce{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o: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 d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ie extends ve{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+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Oe,Me;class _e extends Ce{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Me||(Me=(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();Oe=1==t}catch{Oe=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Oe?me(t.slice(n,n+s).stream()):super.createReadable(e):me(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 Ne extends Te{constructor(e){super();const t=this,n=new R;r.defineProperty(t,Ae,{get:()=>n.writable}),t.blob=ye(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class Le extends _e{constructor(e){super(new y([e],{type:"text/plain"}))}}class Pe extends Ne{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class We extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,tt,Je),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==se){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:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(Se);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=se,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await tt(Re,e,Ge(e,i,t));if(206!=r.status)throw new w(Se);const d=r.headers.get(ze);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(Se)}Ye(e,r),Ke(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 He(this,e,t,tt,Je)}}class Be extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,rt,Qe),super.init()}readUint8Array(e,t){return He(this,e,t,rt,Qe)}}function Ze(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=De,fetch:l}=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:d,fetch:l})}async function Ve(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(Re,e,Ge(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Ee))throw new w(Se);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}Ke(e,n);const s=je(n);s===se?await et(e,t,r):e.size=s}}else await et(e,t,r)}async function He(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(Re,e,Ge(e,t,r));if(206!=i.status)throw new w(Se);const a=i.headers.get(ze);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Se)}Ye(e,i),Ke(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(Se);return o}return ce}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function je(e){const t=e.headers.get(ze);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function qe({headers:e}){return{m:e.get("Etag")||se,lastModified:e.get("Last-Modified")||se}}function Ke(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=qe(t))}function Ye(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=je(t);if(e!==se&&i!==se&&e!=i)throw new w(be);if(s){const e=qe(t);if(r.entries(s).some(([t,r])=>r!==se&&e[t]!==se&&r!=e[t]))throw new w(be)}}}function Ge(e,t=0,n=1){return r.assign({},Xe(e),{[Fe]:Ee+"="+(0>t?t:t+"-"+(t+n-1))})}function Xe({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Je(e){await $e(e,tt)}async function Qe(e){await $e(e,rt)}async function $e(e,t){const r=await t(Re,e,Xe(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function et(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Xe(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function tt(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(Se):new w(xe+(a.statusText||a.status))}function rt(e,{url:t},n){return new g((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(Se):new w(xe+(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 nt extends Ce{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Be(e,t):new We(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 st extends Ce{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)}}class it extends ve{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)}}class at extends Ce{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>lt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===se?r:n}async readUint8Array(e,t){const r=this,{F: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=fe(await ut(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await ut(c,o,t)}else s=ce;return r.R=a.max(i,r.R),s}}class ot extends Te{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 D({async write(t){if(t===ke)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await lt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},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 d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,Ae,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(ke)}finally{e.releaseLock()}}}class ct{constructor(e){return t.isArray(e)&&(e=new at(e)),(e instanceof E||typeof e.getReader==oe)&&(e={readable:me(e)}),e}}class dt{constructor(e){return e.writable===se&&typeof e.next==oe&&(e=new ot(e)),(e instanceof D||typeof e.getWriter==oe)&&(e={writable:ge(e)}),e.size===se&&(e.size=0),e}}async function lt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function ut(e,t,r){return e.readUint8Array(t,r)}const wt=new c,ft=new c;function pt(e){return wt.get(e)}function ht(e){return ft.get(e)}const mt=[[],[],[],[],[],[],[],[]];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;mt[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=mt[t-1][e];mt[t][e]=r>>>8^mt[0][255&r]}const[yt,gt,xt,St,bt,zt,Ft,Rt]=mt;class Et{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(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=Rt[255&e]^Ft[e>>>8&255]^zt[e>>>16&255]^bt[e>>>24&255]^St[255&r]^xt[r>>>8&255]^gt[r>>>16&255]^yt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^yt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Dt extends R{constructor(){let e;const t=new Et;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 At(e){if(typeof x==ae){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 x).encode(e)}const kt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=kt.C(r);return 32===n?e.concat(t):kt.v(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)+kt.C(r)},U(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]=kt.I(t,e[r-1]&2147483648>>t-1,1)),e},I:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(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=kt.C(s);return n.push(kt.I(t+i&31,t+i>32?r:n.pop(),1)),n}},Tt={bytes:{O(e){const t=kt.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},M(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(kt.I(8*(3&r),n)),t}}},Ct=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.N=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.P=e.P.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.P=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=Tt.B.M(e));const r=t.P=kt.concat(t.P,e),n=t.W,s=t.W=n+kt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.Z(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}V(){const e=this;let t=e.P;const r=e.L;t=kt.concat(t,[kt.I(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.Z(t.splice(0,16));return e.reset(),r}H(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}j(e,t){return t<<e|t>>>32-e}Z(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.j(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.j(5,i)+r.H(e,o,c,d)+l+s[e]+r.N[a.floor(e/20)]|0;l=d,d=c,c=r.j(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]+d|0,n[4]=n[4]+l|0}},vt={importKey:e=>new vt.K(Tt.bytes.M(e)),Y(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,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=kt;for(t=Tt.bytes.M(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),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++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},K:class{constructor(e){const t=this,r=t.G=Ct,n=[[],[]];t.X=[new r,new r];const s=t.X[0].blockSize/32;e.length>s&&(e=(new r).update(e).V());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.X[0].update(n[0]),t.X[1].update(n[1]),t.J=new r(t.X[0])}reset(){const e=this;e.J=new e.G(e.X[0]),e.$=!1}update(e){this.$=!0,this.J.update(e)}digest(){const e=this,t=e.J.V(),r=new e.G(e.X[1]).update(t).V();return e.reset(),r}encrypt(e){if(this.$)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ut=typeof z!=ae&&typeof z.getRandomValues==oe,It="Invalid password",Ot="Invalid signature",Mt=Ot,_t="zipjs-abort-check-password";function Nt(e){if(Ut)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Lt=16,Pt={name:"PBKDF2"},Wt=r.assign({hash:{name:"HMAC"}},Pt),Bt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Pt),Zt=["deriveBits"],Vt=[8,12,16],Ht=[16,24,32],jt=10,qt=[0,0,0,0],Kt=typeof z!=ae,Yt=Kt&&z.subtle,Gt=Kt&&typeof Yt!=ae,Xt=Tt.bytes,Jt=class{constructor(e){const t=this;t.ee=[[[],[],[],[],[]],[[],[],[],[],[]]],t.ee[0][0][0]||t.te();const r=t.ee[0][4],n=t.ee[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.N=[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.re(e,0)}decrypt(e){return this.re(e,1)}te(){const e=this.ee[0],t=this.ee[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}re(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.N[t],n=r.length/4-2,s=[0,0,0,0],i=this.ee[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Qt=class{constructor(e,t){this.ne=e,this.se=t,this.ie=t}reset(){this.ie=this.se}update(e){return this.ae(this.ne,e,this.ie)}oe(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}ce(e){0===(e[0]=this.oe(e[0]))&&(e[1]=this.oe(e[1]))}ae(e,t,r){let n;if(!(n=t.length))return[];const s=kt.bitLength(t);for(let s=0;n>s;s+=4){this.ce(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 kt.U(t,s)}},$t=vt.K;let er=Kt&&Gt&&typeof Yt.importKey==oe,tr=Kt&&Gt&&typeof Yt.deriveBits==oe;class rr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,de:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ar(e,t,r,cr(n,0,Vt[t])),i=cr(n,Vt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(It)})(r,i,s,cr(e,0,Vt[i]+2)),e=cr(e,Vt[i]+2),n?t.error(new w(_t)):a()):await o;const c=new f(e.length-jt-(e.length-jt)%Lt);t.enqueue(ir(r,e,c,0,jt,!0))},async flush(e){const{le:t,ue:r,pending:n,ready:i}=this;if(r&&t){await i;const a=cr(n,0,n.length-jt),o=cr(n,n.length-jt);let c=ce;if(a.length){const e=lr(Xt,a);r.update(e);const n=t.update(e);c=dr(Xt,n)}const d=cr(dr(Xt,r.digest()),0,jt);let l=n.length<jt?1:0;for(let e=0;jt>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Mt);e.enqueue(c)}}})}}class nr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,de:i,ready:a}=r;let o=ce;n?(o=await(async(e,t,r)=>{const n=Nt(new f(Vt[t]));return fe(n,await ar(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Lt);c.set(o,0),t.enqueue(ir(r,e,c,o.length,0))},async flush(e){const{le:t,ue:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ce;if(n.length){const e=t.update(lr(Xt,n));r.update(e),i=dr(Xt,e)}const a=dr(Xt,r.digest()).slice(0,jt);e.enqueue(fe(i,a))}}})}}function sr(e,t,n,s){r.assign(e,{ready:new g(t=>e.de=t),password:or(t,n),strength:s-1,pending:ce})}function ir(e,t,r,n,s,i){const{le:a,ue:o,pending:c}=e;c.length&&(t=fe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Lt)),l=0;d-Lt>=l;l+=Lt){const e=lr(Xt,cr(t,l,l+Lt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(dr(Xt,s),l+n)}return e.pending=cr(t,l),r}async function ar(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!er)return vt.importKey(t);try{return await Yt.importKey("raw",t,r,!1,s)}catch{return er=!1,vt.importKey(t)}})(0,s,Wt,0,Zt),o=await(async(e,t,r)=>{if(!tr)return vt.Y(t,e.salt,Bt.iterations,r);try{return await Yt.deriveBits(e,t,r)}catch{return tr=!1,vt.Y(t,e.salt,Bt.iterations,r)}})(r.assign({salt:i},Bt),a,8*(2*Ht[n]+2)),c=new f(o),d=lr(Xt,cr(c,0,Ht[n])),l=lr(Xt,cr(c,Ht[n],2*Ht[n])),u=cr(c,2*Ht[n]);return r.assign(e,{keys:{key:d,we:l,passwordVerification:u},le:new Qt(new Jt(d),t.from(qt)),ue:new $t(l)}),u}function or(e,t){return t===se?At(e):t}function cr(e,t,r){return e.subarray(t,r)}function dr(e,t){return e.O(t)}function lr(e,t){return e.M(t)}class ur extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=pr(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(It);e=e.subarray(12)}n?t.error(new w(_t)):t.enqueue(pr(r,e))}})}}class wr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Nt(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(hr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(hr(r,e),s),t.enqueue(n)}})}}function fr(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,fe:new Et(s[0]),pe:new Et(s[2])}),n)for(let t=0;t<n.length;t++)mr(e,n[t]);else for(let r=0;r<t.length;r++)mr(e,t.charCodeAt(r))})(e,t,n)}function pr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,r[n]);return r}function hr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,t[n]);return r}function mr(e,t){let[,r]=e.keys;e.fe.append([t]);const n=~e.fe.get();r=xr(a.imul(xr(r+gr(n)),134775813)+1),e.pe.append([r>>>24]);const s=~e.pe.get();e.keys=[n,r,s]}function yr(e){const t=2|e.keys[2];return gr(a.imul(t,1^t)>>>8)}function gr(e){return 255&e}function xr(e){return 4294967295&e}const Sr="Invalid uncompressed size",br="Invalid compressed data",zr=Ot,Fr="deflate-raw",Rr="gzip",Er=[31,139,8];class Dr extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&ht(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Dt,g=Mr(g,p)),s)if(x)g=_r(g,Ir(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Ar,g=_r(g,new n(Rr)),g=Mr(g,y);else try{g=Or(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Rr)}catch{throw e}g=_r(g,t),g=Mr(g,new Ar)}i&&(o?g=Mr(g,new wr(e)):(h=new nr(e),g=Mr(g,h))),Ur(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Ar extends R{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=fe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(fe(r.subarray(0,o),e.subarray(0,i-o))),r=fe(r.subarray(o),e.subarray(i-o))},flush(){const t=he(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class kr extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Mr(b,new ur(e)):(S=new rr(e),b=Mr(b,S))),c){const e=u&&ht(u);if(e)b=_r(b,Ir(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Or(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===se)throw e;let t;try{t=new n(Rr)}catch{throw e}b=((e,t,r)=>{const n=new Et;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(Er),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=he(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Mr(e,l),Mr(e=_r(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(Sr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(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(br);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Dt,b=Mr(b,x)),Ur(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(zr)}})}}const Tr=new c;function Cr(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===se){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function vr(e){return Cr(e,Fr)}function Ur(e,t,n){t=Mr(t,new R({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 Or(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Fr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return _r(e,o)}function Mr(e,t){return me(e).pipeThrough(t)}function _r(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 Nr="data",Lr="deflate",Pr="inflate";class Wr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Lr)?i=Dr:s.startsWith(Pr)&&(i=kr),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==se&&n.outputSize>e.outputSize))throw new w(Sr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Br extends R{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 Zr={type:"module"},Vr="error",Hr="Worker startup timeout";let jr,qr,Kr,Yr,Gr,Xr=!0;try{Xr=typeof structuredClone==oe&&structuredClone(new DOMException("","AbortError")).code!==se}catch{}class Jr{constructor(e,{readable:t,writable:n},{options:s,config:i,he:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return Gr&&(l=se),r.assign(e,{me:!0,ye:(e.ye||0)+1,readable:t.pipeThrough(new Br(we(i))).pipeThrough(new Qr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{ge:r,me:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.Se=null):t()}),be(){if(e.me){const{xe:t}=e;t&&(e.xe=null,e.ze=!0,e.ge.terminate(),t()),e.me=!1,u(e)}}}),jr===se&&(jr=typeof C!=ae),(o&&(jr&&d||l)?tn:en)(e,i)}}class Qr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await $r(e,r)},async transform(e,n){s+=e.length,t&&await $r(t,s,r),n.enqueue(e)},async flush(){n&&await $r(n,s)}})}}async function $r(e,...t){try{await e(...t)}catch{}}function en(e,t){return{run:()=>rn(e,t)}}function tn(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.Se){let c;typeof o==oe&&(o=o());try{c=sn(e.workerURI,n,e)}catch{return e.createWorker?Gr=!0:jr=!1,en(e,t)}r.assign(e,{ge:c,Fe:!1,ze:!1,Se:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Re:n,Ee:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,De:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,De:()=>t.abort()}})(e.writable);let f;try{f=cn({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.be(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Fe||!s.isFinite(p)||0>p||(e.Ae=setTimeout(()=>(e=>{if(e.Ae=null,e.Fe)return;const{Ee:t,writer:r}=e;if(nn(e),e.ge=null,t){const e=new w(Hr);e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke){e.createWorker?Gr=!0:jr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,rn(e,t)}throw r}}}})}return e.Se}async function rn({options:e,readable:t,writable:r,be:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Lr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Te&&!vr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Te||(e.useCompressionStream=!0)}}i=new Wr(e,s),await t.pipeThrough(i).pipeThrough(new Br(we(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 nn(e){const{ge:t}=e;if(t)try{t.terminate()}catch{}e.Se=null}function sn(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(Kr===se||qr!==e){const r=typeof e==oe;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===se&&(s=!1),s&&(d=Zr);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return sn(e,t,n,s,!1);if(s)throw i;return sn(e,t,n,!0,!1)}}else{s===se&&(s=!0),s&&(d=Zr);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)throw r;return sn(e,t,n,!1,i)}}qr=e,Kr=c,Yr=d}else o=new C(Kr,Yr);return o.addEventListener("message",e=>{n.Fe=!0,an(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Re:l,Ee:u,be:p,ye:h}=t,m=()=>t.ye!=h;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();m()||cn({type:Nr,value:e,done:r,messageId:i},t)}n==Nr&&(await d.ready,await d.write(new f(s)),m()||cn({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(nn(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),o.addEventListener(Vr,e=>on(e,n)),o.addEventListener("messageerror",e=>on(e,n)),o}function an(e){const{Ae:t}=e;t&&(clearTimeout(t),e.Ae=null)}function on(e,t){e.preventDefault&&e.preventDefault(),an(t);const{Fe:n,Ee:s,writer:i,be:a}=t;if(nn(t),n||(t.ge=null),s){let t=e.error||new w(e.message||Vr);n||(t=r.assign(new w(t.message||Vr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function cn(e,{ge:t,writer:r,transferStreams:n,Fe:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=pe(r),o.push(e.value.buffer)),n&&Xr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Xr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let dn=[];const ln=[];let un,wn,fn=0;async function pn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!ft.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=oe&&typeof n!=oe)throw new w("Invalid codec module");ft.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===se&&n.transferStreams;const S=!(c||d||l||f),b=p===se||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===se&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:se,t.createWorker=t.useWebWorkers&&y?y:se,r.useCompressionStream=o||o===se&&n.useCompressionStream,(await(async()=>{const r=dn.find(e=>!e.me);if(r)return xn(r),new Jr(r,e,t,z);if(dn.length<x){const r={Ce:fn};return fn++,dn.push(r),new Jr(r,e,t,z)}return new g(r=>{ln.push({resolve:r,stream:e,ve:t}),wn=n.workerStarvationTimeout,hn()})})()).run();function z(e){if(mn(),ln.length){const[{resolve:t,stream:r,ve:n}]=ln.splice(0,1);t(new Jr(e,r,n,z)),hn()}else e.ge?(xn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.ze?e.ze=!1:e.Ue=setTimeout(async()=>{dn=dn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):dn=dn.filter(t=>t!=e)}}function hn(){!un&&ln.length&&s.isFinite(wn)&&wn>=0&&(un=setTimeout(yn,wn))}function mn(){un&&(clearTimeout(un),un=null)}function yn(){if(un=null,ln.length){const[{resolve:e,stream:t,ve:n}]=ln.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:se,createWorker:se});e(new Jr({},t,s,gn)),hn()}}function gn(){mn(),hn()}function xn(e){const{Ue:t}=e;t&&(clearTimeout(t),e.Ue=null)}const Sn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function bn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=Sn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const zn="filename",Fn="rawFilename",Rn="comment",En="rawComment",Dn="uncompressedSize",An="compressedSize",kn="offset",Tn="diskNumberStart",Cn="lastModDate",vn="rawLastModDate",Un="lastAccessDate",In="rawLastAccessDate",On="creationDate",Mn="rawCreationDate",_n="internalFileAttributes",Nn="externalFileAttributes",Ln="msdosAttributesRaw",Pn="msdosAttributes",Wn="msDosCompatible",Bn="zip64",Zn="encrypted",Vn="version",Hn="versionMadeBy",jn="zipCrypto",qn="directory",Kn="executable",Yn="compressionMethod",Gn="signature",Xn="extraField",Jn="unixMode",Qn="setuid",$n="setgid",es="sticky",ts=[zn,Fn,Dn,An,Cn,vn,Rn,En,Un,In,On,Mn,kn,Tn,_n,Nn,Ln,Pn,Wn,Bn,Zn,Vn,Hn,jn,qn,Kn,Yn,Gn,"crc32",Xn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Jn,Qn,$n,es,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class rs{constructor(e){ts.forEach(t=>this[t]=e[t])}}const ns="password",ss="rawPassword",is="passThrough",as="signal",os="checkAmbiguity",cs="useWebWorkers",ds="useCompressionStream",ls="transferStreams",us="preventClose",ws="offset",fs="usdz",ps="strictness",hs="strict",ms="tolerant",ys="File format is not recognized",gs="End of central directory not found",xs="End of Zip64 central directory locator not found",Ss="Central directory header not found",bs="Local file header not found",zs="Zip64 extra field not found",Fs="File contains encrypted entry",Rs="Encryption method not supported",Es="Compression method not supported",Ds="Split zip file",As="Overlapping entry found",ks="Ambiguous archive",Ts="Encrypted central directory is not supported",Cs="utf-8",vs="cp437",Us=[[Dn,v],[An,v],[kn,v],[Tn,U]],Is={[U]:{Ie:ii,bytes:4},[v]:{Ie:ai,bytes:8}};class Os{constructor(e,t={}){r.assign(this,{reader:new ct(e),options:t,config:ue(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await lt(n),n.size!==se&&n.readUint8Array||(n=new _e(await ye(n.readable)),await lt(n)),n.size<Z)throw new w(ys);const o=Hs(ei(t,e,ps),ei(t,e,os)),c=o==hs,l=o!=ms,u=((e,t)=>e!==se?e:t==hs?0:t==ms?1/0:U)(ei(t,e,"maxAppendedDataSize"),o),{Me:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:js};let o,c,d=0;for await(const[r,a,l,u,w]of Gs(e,s)){const s=si(r,u+20);if(w+Z+s==n){const s=await Js(e,r,a,u,w,n,i);if(s==Ys){if(o||(o=Xs(l,u,w)),d++,!t||d>1)break}else s!=Ks||c||(c=Xs(l,u,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,d,l]of Gs(e,s)){const s=Xs(c,d,l);i||(i=s);const u=await Js(e,t,a,d,l,n,r);if(u==Ys)return s;u!=Ks||o||(o=s)}return o||i})(e,r,i)),{Me:o,_e:d}})(n,l,u);if(!f)throw ii(he(await ut(n,0,4)))==M?new w(Ds):new w(gs);l&&p>1&&$s("multiple end of central directory records");const h=he(f);let m=ii(h,12),y=ii(h,16);const x=f.offset,S=si(h,20),b=x+Z+S;n.size-b>u&&$s("appended data");let z=si(h,4);const F=n.R||0;let E,D,A,k,T=si(h,6),C=si(h,10),O=0;const _=y==v||m==v||C==U||T==U;if(y!=v&&T!=U&&(y+=Vs(n,T)),_){const e=f.offset<V?ce:await ut(n,f.offset-V,V),t=he(e);if(e.length==V&&ii(t,0)==B){y=Vs(n,ii(t,4))+ai(t,8);let e=await ut(n,y,H),i=he(e);const o=f.offset-V-H;if((e.length<H||ii(i,0)!=W)&&y!=o&&o>=0){const t=y;y=o,y>t&&(O=y-t),e=await ut(n,y,H),i=he(e)}if(e.length<H||ii(i,0)!=W)throw new w(xs);if(D=!0,A=ai(i,4)>44,A){const e=a.min(s(ai(i,4))-44,n.size-y-H);e>0&&(k=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=he(e),i=si(n,26);r.assign(t,{compressionMethod:si(n,0),compressedSize:s(ai(n,2)),uncompressedSize:s(ai(n,10)),encryptionAlgorithm:si(n,18),bitLength:si(n,20),flags:si(n,22),hashAlgorithm:si(n,24),hashData:e.subarray(28,28+i)})}return t})(await ut(n,y+H,e)))}z==U?z=ii(i,16):c&&z!=ii(i,16)&&$s("mismatched zip64 end of central directory record"),T==U?T=ii(i,20):c&&T!=ii(i,20)&&$s("mismatched zip64 end of central directory record"),C==U?C=ai(i,32):c&&C!=ai(i,32)&&$s("mismatched zip64 end of central directory record"),m==v?m=ai(i,40):c&&m!=ai(i,40)&&$s("mismatched zip64 end of central directory record"),y=Vs(n,T)+ai(i,48)+O}}let P=m;const j=f.offset-(D?76:0);if(y<n.size||(O=n.size-y-m-Z,y=n.size-m-Z),F!=z)throw new w(Ds);if(0>y)throw new w(ys);let q=0,K=await ut(n,y,m),Y=he(K);if(m){if(4>K.length)throw new w(ys);const e=j-m;if(y!=e&&T==z){let t=!(ii(Y,q)==L);if(t||0>e||e+4>n.size||(t=ii(he(await ut(n,e,4)),0)==L),t){const t=y;y=e,y>t&&(O+=y-t),K=await ut(n,y,m),Y=he(K)}}}const G=j-y;if(m==G||0>G||T!=z||(m=G,K=await ut(n,y,m),Y=he(K)),0>y||y>=n.size)throw new w(ys);t.directoryOffset=y,t.directoryLength=P;const X=ei(t,e,"decryptCentralDirectory");let te;X&&C&&K.length>=4&&ii(Y,0)!=L&&(A||_s(Y))&&(K=await X(K,k),Y=he(K),P=K.length,te=!0),E=y;const re=ei(t,e,"filenameEncoding"),ne=ei(t,e,"commentEncoding"),ie=c?new d:se;let ae;for(let s=0;C>s;s++){const o=new Ms(n,i,t.options);if(q+46>K.length||ii(Y,q)!=L){if(0==s&&!te&&(A||_s(Y)))throw new w(Ts);throw new w(Ss)}Ns(o,Y,q+6);const d=!!o.bitFlag.languageEncodingFlag,l=q+46,u=l+o.filenameLength,f=u+o.extraFieldLength,p=si(Y,q+4),h=!(p>>8),m=p>>8==3,y=K.subarray(l,u),x=si(Y,q+32),S=f+x,b=K.subarray(f,S),z=d,F=d,D=ii(Y,q+38),k=D&I,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},v=ii(Y,q+42),M=ei(t,e,"decodeText")||bn,_=z?Cs:re||vs,N=F?Cs:ne||vs;let P=M(y,_);P===se&&(P=bn(y,_));let W=M(b,N);W===se&&(W=bn(b,N)),r.assign(o,{index:s,versionMadeBy:p,msDosCompatible:h,compressedSize:0,uncompressedSize:0,Ne:x,offset:v,diskNumberStart:si(Y,q+34),internalFileAttributes:si(Y,q+36),externalFileAttributes:D,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:y,filenameUTF8:z,commentUTF8:F,rawExtraField:K.subarray(u,f),rawComment:b,filename:P,comment:W}),Ls(o,o,Y,q+6),o.offset+=O,E=a.min(Vs(n,o.diskNumberStart)+o.offset,E),c&&(ie.has(o.filename)&&(ae=!0),ie.add(o.filename));const B=o.externalFileAttributes>>16&U;o.unixMode===se&&16877&B&&(o.unixMode=B);const Z=!!(o.unixMode&Q),V=!!(o.unixMode&$),H=!!(512&o.unixMode),j=o.unixMode!==se?!!(73&o.unixMode):m&&!!(73&B),G=o.unixMode!==se&&(61440&o.unixMode)==J,X=(61440&B)==J;r.assign(o,{setuid:Z,setgid:V,sticky:H,unixExternalUpper:B,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:j,directory:G||X||h&&T.directory||o.filename.endsWith(ee)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const oe=new rs(o);oe.getData=(e,r)=>o.getData(e,oe,t.Oe,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([ye(r.readable).then(e=>e.arrayBuffer()),o.getData(r,oe,t.Oe,e)]);return n},q=S;const{onprogress:ce}=e;if(ce)try{await ce(s+1,C,new rs(o))}catch{}yield oe}let oe=q;if(q+6<=K.length&&ii(Y,q)==N){const e=si(Y,q+4);q+6+e>K.length||(t.digitalSignature=K.subarray(q+6,q+6+e),oe=q+6+e)}c&&q!=P&&oe!=P&&$s("trailing central directory data"),ae&&$s("duplicate filename"),c&&(O||C&&E>0)&&$s("prepended data");const de=ei(t,e,"extractPrependedData"),le=ei(t,e,"extractAppendedData");return de&&(t.prependedData=E>0?await ut(n,0,E):ce),t.comment=S?await ut(n,x+Z,S):ce,le&&(t.appendedData=b<n.size?await ut(n,b,n.size-b):ce),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Ms=class{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:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Vs(i,c)+o,F=await ut(i,z,te),R=he(F);let E=ei(s,n,ns),A=ei(s,n,ss);const k=ei(s,n,is);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Es);if(F.length<te||ii(R,0)!=O)throw new w(bs);Ns(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=Hs(ei(s,n,ps),ei(s,n,os))==hs;let U=ce;if(v&&(C||T)){const e=await ut(i,z+te,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await ut(i,z+te+C,T):ce;Ls(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&$s("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&$s("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&$s("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||$s("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:N}=b;M&&(t.lastAccessDate=M),N&&(t.creationDate=N);const L=s.encrypted&&b.encrypted&&!k,P=L&&!d;if(k||(t.zipCrypto=P),L&&!(64&~b.rawBitFlag))throw new w(Rs);const W=k?se:pt(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(Es);if(L){if(!P&&(1>d.strength||d.strength>3))throw new w(Rs);if(!E&&!A)throw new w(Fs)}const B=z+te+C+T,Z=x,V=me(i.createReadable({offset:B,size:Z})),H=ei(s,n,as),j=ei(s,n,"checkPasswordOnly");let q=ei(s,n,"checkOverlappingEntry");const K=ei(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=ei(s,n,ds);J&&(Q=!1);const $=ei(s,n,"checkCrc32"),ee=($===se?ei(s,n,"checkSignature"):$)&&!k&&(!L||P||d&&1==d.vendorVersion),re={options:{codecType:Pr,password:E,rawPassword:A,zipCrypto:P,encryptionStrength:d&&d.strength,checkCrc32:ee,checkAuthenticationCode:ei(s,n,"checkAuthenticationCode"),passwordVerification:P&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:L,useWebWorkers:ei(s,n,cs),useCompressionStream:Q,transferStreams:ei(s,n,ls),deflate64:J,format:W?W.format:se,codecURI:W?W.codecURI:se,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,he:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Pe:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await ut(e,o+i,u+4);if(r.length==u+4&&ii(he(r),0)==_){const e=ii(he(r),4);let n,o;d?(n=ai(he(r),8),o=ai(he(r),16)):(n=ii(he(r),8),o=ii(he(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(As);throw e.We=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,Pe:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new dt(e),await lt(e,k?x:g),({writable:ne}=e);const{outputSize:t}=await pn({readable:V,writable:ne},re);if(e.size+=t,t!=(k?x:g))throw new w(Sr)}}catch(t){if(t.outputSize!==se&&(e.size+=t.outputSize),!j||t.message!=_t)throw t}finally{ei(s,n,us)||!ne||ne.locked||await ne.getWriter().close()}return j||K?se:e.getData?e.getData():ne}};function _s(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==ii(e,r))return!0;return!1}function Ns(e,t,n){const s=e.rawBitFlag=si(t,n+2),i=!(1&~s),a=ii(t,n+6);r.assign(e,{encrypted:i,version:si(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&X)==X},rawLastModDate:a,lastModDate:ti(a),filenameLength:si(t,n+22),extraFieldLength:si(t,n+24)})}function Ls(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=he(a);let u=0;try{for(;u<a.length;){const e=si(l,u),t=si(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=si(n,s+4);r.assign(t,{signature:ii(n,s+10),crc32:ii(n,s+10),compressedSize:ii(n,s+14),uncompressedSize:ii(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=he(e.data),n=Us.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Is[t].bytes,0);if(e.data.length<s)throw new w(zs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Is[o];t[a]=e[a]=c.Ie(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ps(h,zn,Fn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ps(m,Rn,En,t,e),t.extraFieldUnicodeComment=m);const y=d.get(j);y&&y.data.length>=7?(((e,t,n)=>{const s=he(e.data),i=ni(s,4);r.assign(e,{vendorVersion:ni(s,0),vendorId:ni(s,2),strength:i,originalCompressionMethod:n,compressionMethod:si(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=se)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ws(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ws(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=he(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=si(n,i),r=si(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=he(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:ri(i),lastAccessDate:ri(a),creationDate:ri(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(G);if(b)Bs(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(Y);e&&(Bs(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=he(e.data),s=ni(n,0),i=[],a=[];r?(1&~s||(i.push(Cn),a.push(vn)),2&~s||(i.push(Un),a.push(In)),4&~s||(i.push(On),a.push(Mn))):5>e.data.length||(i.push(Cn),a.push(vn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=ii(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(K);F&&(t.extraFieldUSDZ=F)}function Ps(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=he(e.data),o=new Et;o.append(i[n]);const c=he(new f(4));c.setUint32(0,o.get(),!0);const d=ii(a,1);r.assign(e,{version:ni(a,0),[t]:bn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==ii(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ws(e,t){if(8>e.data.length)return;const n=he(e.data),s={lastAccessDate:new o(1e3*ii(n,0)),lastModDate:new o(1e3*ii(n,4))};12>e.data.length||(s.uid=si(n,8),s.gid=si(n,10)),r.assign(e,s),r.assign(t,s)}function Bs(e,t,n){try{const s=he(e.data);let i,a;if(n){let t=0;const n=ni(s,t++),o=ni(s,t++);i=Zs(e.data.subarray(t,t+o)),t+=o;const c=ni(s,t++);a=Zs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=si(s,0),a=si(s,2),r.assign(e,{uid:i,gid:a}));i!==se&&(t.uid=i),a!==se&&(t.gid=a)}catch{}}function Zs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Vs(e,t){return e.A?e.A(t):0}function Hs(e,t){return e===se?t?hs:"balanced":e}const js=64,qs=0,Ks=1,Ys=2;async function*Gs(e,t){const r=e.size-t,n=await ut(e,r,t),s=he(n);for(let e=n.length-Z;e>=0;e--)ii(s,e)==P&&(yield[s,r,n,e,r+e])}function Xs(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function Js(e,t,r,n,s,i,a){const o=si(t,n+10),c=ii(t,n+12),d=ii(t,n+16);if(o==U||c==v||d==v)return await Qs(e,t,r,s-V,i,a)==B?Ys:qs;if(!o&&!c)return Ks;const l=si(t,n+6);for(const n of[s-c,Vs(e,l)+d])if(await Qs(e,t,r,n,i,a)==L)return Ys;return qs}async function Qs(e,t,r,n,s,i){return 0>n||n+4>s?se:r>n?i.count>0?(i.count--,ii(he(await ut(e,n,4)),0)):se:ii(t,n-r)}function $s(e){const t=new w(ks);throw t.reason=e,t}function ei(e,t,r){return t[r]===se?e.options[r]:t[r]}function ti(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ri(e){return new o(s(e/i(1e4)-i(116444736e5)))}function ni(e,t){return e.getUint8(t)}function si(e,t){return e.getUint16(t,!0)}function ii(e,t){return e.getUint32(t,!0)}function ai(e,t){return s(e.getBigUint64(t,!0))}var oi=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ks,ERR_BAD_FORMAT:ys,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ss,ERR_ENCRYPTED:Fs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Ts,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:xs,ERR_EOCDR_NOT_FOUND:gs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:zs,ERR_INVALID_AUTHENTICATION_CODE:Mt,ERR_INVALID_COMPRESSED_DATA:br,ERR_INVALID_CRC32:zr,ERR_INVALID_PASSWORD:It,ERR_INVALID_SIGNATURE:Ot,ERR_INVALID_UNCOMPRESSED_SIZE:Sr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:bs,ERR_OVERLAPPING_ENTRY:As,ERR_SPLIT_ZIP_FILE:Ds,ERR_UNSUPPORTED_COMPRESSION:Es,ERR_UNSUPPORTED_ENCRYPTION:Rs,ERR_WORKER_STARTUP_TIMEOUT:Hr,ZipReader:Os});const ci="Zip file comment exceeds 64KB",di="Version exceeds 65535",li="Extra field data exceeds 64KB",ui=-2147483648,wi=2147483647,fi=i(0),pi=i("0x7fffffffffffffff"),hi="Zip64 is not supported (set the 'zip64' option to 'true')",mi=new f([7,0,2,0,65,69,3,0,0]),yi="infozip",gi="unix";let xi=0;const Si=[];class bi{constructor(e,t={}){e=new dt(e);const{availableSize:n=ie,maxSize:s=ie}=e,i=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Be:i,options:t,config:ue(),files:new c,Ze:new d,offset:t[ws]===se?e.size||e.writable.size||0:t[ws],Ve:t[ws]===se?0:t[ws]-(e.size||e.writable.size||0),He:new d,je:0,qe:se})}async prependZip(e){if(this.Ze.size)throw new w("Zip file not empty");e=new ct(e),await lt(e);const{ZipReader:t}=await g.resolve().then(()=>oi),n=new t(e.readable),s=await n.getEntries();await n.close(),await lt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new d(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:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ce,p=p||ce,h=h||ce,m=m||ce,y=y||ce,g=g||ce,e.extraFieldAES&&(w=99);const z=Bi(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Vi(x,S,b,c,w)|x<<1,{Qe:D,$e:A}=Zi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,et:R,nt:F,extraFieldLength:z}),{crc32:k}=e;return k!==se&&Li(A,10,k),r.assign(e,{nt:F,et:R,st:u&&e.offset>=v,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(i?4:0),Qe:D,$e:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:d}=s;let l,u;xi<d.maxWorkers?xi++:await new g(e=>Si.push(e));try{if(e=e.trim(),Mi(s,n,qn)&&!e.endsWith(ee)&&(e+=ee),s.Ze.has(e))throw new w("File already exists");return s.Ze.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Mi(e,r,Wn),s=Mi(e,r,Hn,n?20:768);const i=Mi(e,r,Kn),a=Mi(e,r,"uid"),o=Mi(e,r,"gid");let c=Mi(e,r,Jn),d=Mi(e,r,"unixExtraFieldType"),l=Mi(e,r,Qn),u=Mi(e,r,$n),f=Mi(e,r,es);if(a!==se&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==se&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==se&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==se&&d!==yi&&d!==gi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===gi&&(a!==se&&a>U||o!==se&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==se||a===se&&o===se||(d=yi);let p=Mi(e,r,Ln),h=Mi(e,r,Pn);const m=p!==se||h!==se;if(a!==se||o!==se||c!==se||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==se&&(0>p||p>I))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>U)throw new w(di);let y=Mi(e,r,Nn);const g=y!==se;g||(y=0),!r[qn]&&t.endsWith(ee)&&(r[qn]=!0);const x=Mi(e,r,qn);let S;if(x?(t.endsWith(ee)||(t+=ee),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==se||!!(l||u||f);S=y>>16&U,c=c===se?S:c&U,l?c|=Q:l=!!(c&Q),u?c|=$:u=!!(c&$),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=J),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==se)e&=I;else if(t!==se){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&I}return t===se&&(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&v|p&I),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Mi(e,r,"encodeText",At);let s=n(t);if(s===se&&(s=At(t)),Bi(s)>U)throw new w("File entry name exceeds 64KB");const i=r[Rn]||"";let a=n(i);if(a===se&&(a=At(i)),Bi(a)>U)throw new w("File entry comment exceeds 64KB");const c=Mi(e,r,Vn,20);if(c>U)throw new w(di);const d=Mi(e,r,Cn,new o),l=Mi(e,r,Un),u=Mi(e,r,On),f=Mi(e,r,_n,0),p=Mi(e,r,is);let h,m;p||(h=Mi(e,r,ns),m=Mi(e,r,ss));const y=Mi(e,r,"encryptionStrength",3),g=Mi(e,r,jn),x=Mi(e,r,"extendedTimestamp",!0),S=Mi(e,r,"ntfsTimestamp"),b=Mi(e,r,"keepOrder",!0),z=Mi(e,r,cs),F=Mi(e,r,ls),R=Mi(e,r,"bufferedWrite"),E=Mi(e,r,"createTempStream"),D=Mi(e,r,"dataDescriptorSignature",!0),A=Mi(e,r,as),k=Mi(e,r,"useUnicodeFileNames",!0),T=Mi(e,r,Yn),C=p||T===se?se:pt(T);if(!p&&T!==se&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=Mi(e,r,"level");if(e.options[fs]){if(h!==se||m!==se)throw new w("Encryption is not supported in USDZ files");v===se&&T===se&&(v=0)}let I=Mi(e,r,ds),O=Mi(e,r,"dataDescriptor");R&&O===se&&(O=!1),(O===se||g)&&(O=!0),v!==se&&6!=v&&(I=!1);const M=Mi(e,r,Bn);if(!g&&(h!==se||m!==se)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const _=zi(r[Xn]),N=zi(r.localExtraField);return{comment:i,ct:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:se,codecURI:C?C.codecURI:se,lt:C?C.versionNeeded:se,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,ut:N}}})(e,t,s),{comment:l}=d,u=s[Xn];let p;e.files.set(t,se);try{const{ct:l}=d;0==l.level||l.compressionMethod!==se||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Te)return!0;if(vr(t)||Cr(t,Rr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[Dn],h===se)throw new w("Undefined uncompressed size")}const m=!0===l,y=Mi(e,n,Zn),g=!!t&&(!!(a&&Bi(a)||o&&Bi(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new ct(t),await lt(t),s?(n.uncompressedSize=h,p=_i(h)+x):t.size===se?(d=!0,(l||l===se)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=_i(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(hi);l=!0}return l=l||!1,{reader:t,ct:{dataDescriptor:d,zip64:l,nt:S,et:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=Ai(e.writer),m=Di(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,ut:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,nt:b,et:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===se?i===se||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Ei(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(F),T)){const e=S?d?12:16+4*m:0;t.wt(x?0:F+e)}}else k=ce;let I,M,_,N,L;if(S&&!d){const e=Ei(Bi(mi)+2);e.uint16(j),e.bytes(mi),I=e.array,I[8]=m}else I=ce;if(y){const e=Ui(r),t=Ii(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Ei(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(Oi(Ui(n))),s&&r.uint32(Oi(Ui(s))),_=r.array}else _=ce;if(g===se?!t||n||s:g)try{const e=vi(r),t=Ei(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?vi(n):e),t.wt(s?vi(s):e),M=t.array}catch{M=ce}else M=ce}else M=_=ce;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=yi||t===se&&r===se)if(n!=gi||t===se&&r===se)L=ce;else{const e=Ei(8);e.uint16(G),e.uint16(4),e.uint16((t===se?0:t)&U),e.uint16((r===se?0:r)&U),L=e.array}else{const e=Ri(t),n=Ri(r),s=3+e.length+n.length,i=Ei(4+s);i.uint16(Y),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),L=i.array}}catch{L=ce}D===se&&(D=A?8:0);const{lt:P}=e;A&&P!==se&&(E=E>P?E:P),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==se&&(I[4]=1),I[9]=D,D=99);const W=v?Bi(k):0,B=W+Bi(I,_,M,L,p,h);if(B>U)throw new w(li);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Qe:V,$e:H,rawLastModDate:K}=Zi({version:E,bitFlag:Vi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:ne>Z?ne:Z>re?re:Z,rawFilename:t,et:z,nt:b,extraFieldLength:B}),X=Ei(te+Bi(t)+B),J=X.array,Q=he(J);return X.uint32(O),X.bytes(V),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(_),X.bytes(M),X.bytes(L),X.bytes(p),X.bytes(h),u&&(z||Li(Q,18,0),b||Li(Q,22,0)),{ht:J,yt:Q,Qe:V,$e:H,lastModDate:r,rawLastModDate:K,encrypted:S,compressed:A,version:E,compressionMethod:D,ot:N,Ke:ce,gt:W,Ge:_,Xe:M,Je:L,Ye:I,extraFieldLength:B}})(s=r.assign({},s,c.ct,d.ct,u.ct,{internalFileAttribute:d.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Gn],crc32:s.crc32===se?s[Gn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ce,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=he(s),r&&(i=4,Li(n,0,_))),{xt:s,St:n,bt:i}})(s),S=Bi(y.ht,x.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{zt:p}=s,h=e.options[fs],m=e.qe;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.qe=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Ft||e.je||!l?(y=!0,e.je++,E=a.createTempStream?await a.createTempStream():new R(se,se,{highWaterMark:ie}),E.size=0,await lt(c)):(E=c,await T()),await lt(E);const U=Ai(c);if(e.Be){delete e.Be;const t=new f(4);Li(he(t),0,M),await Ci(c,t),e.offset+=4}h&&!y&&Fi(s,e.offset-U);const{ht:O}=p;y||(await x,await C());const _=Di(c),N=Ti(e,c);if(A.diskNumberStart=_,y||(z=!0,F=c.size,await Ci(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{zt:d,Rt:l,Et:u}=a,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ke:b,gt:z,Ge:F,ot:R,Xe:E,Je:D,Ye:A}=d,{xt:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:_,zip64:N,nt:L,et:P,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ke:b,gt:z,Ge:F,Xe:E,Je:D,Ye:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;he||(be=0);const{writable:Fe}=t;if(e){const r=me(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Lr,level:_,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,he:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await pn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(be=e.inputSize,y&&!W||(Se=e.crc32)),!P&&ze>=v||!L&&be>=v)throw new w(hi)}catch(e){throw e.outputSize!==se&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,zt:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{$e:l,encrypted:u}=n,{St:w,bt:f}=s;u&&!o&&!c||e===se||(Li(l,10,e),d&&Li(w,f,e)),a?d&&(Pi(w,f+4,i(t)),Pi(w,f+12,i(r))):(Li(l,14,t),Li(l,18,r),d&&(Li(w,f+4,t),Li(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,zt:d,Rt:l},c),B&&await Ci(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,Qe:f,$e:p,signature:Se,crc32:!y||W||he?Se:se,ot:R,nt:L,et:P}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=Di(c),A.offset=Ti(e,c),h){const t=s.Et;Fi(s,e.offset-Ai(c)),A.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,gt:n,crc32:s,compressedSize:a,uncompressedSize:o,nt:c,et:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==se)&&Li(l,14,s),d||Li(l,18,a),c||Li(l,22,o)),r&&n){const t=te+Bi(e)+4;Pi(l,t,i(o)),Pi(l,t+8,i(a))}})(A,p.yt,a),await Ci(c,p.ht),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Bi(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=_,A.offset=N;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.je--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Ft=!0;const{Dt:t}=e;e.Dt=new g(t=>x=()=>{e.Ft=!1,t()}),await t}async function C(){ki(c,Bi(p.ht))&&await c.closeDisk()}})(e,t,n,{zt:y,Rt:x,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new rs(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ze.delete(e),t}finally{c.delete(l);const e=Si.shift();e?e():xi--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==se){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ce,r={}){const{He:n,writer:s}=this,{writable:a}=s;if(Bi(e)>U)throw new w(ci);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:i,Je:a,rawExtraField:o,extendedTimestamp:c,ot:d,lastModDate:l,nt:u,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Ei(e);t.uint16(1),t.uint16(e-4),u&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ce;r.Ke=g,r.st=m,r.it=y;const S=Ui(l);if(c&&Ii(S)){const e=Ei(9);e.uint16(q),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ce;r.Ge=x;const b=Bi(g,n,i,a,x,o);if(b>U)throw new w(li);t+=46+Bi(e,s)+b}return t})(e.files),{At:a,kt:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await lt(i);let o=0,c=0,d=Di(i),l=Ai(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ke:w,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:x,Qe:S,$e:b,nt:z,et:F,it:R,st:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=Bi(w,f,p,h,m,y),O=46+Bi(u,g)+I;ki(i,o+O-c)&&(await Ci(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=Di(i),l=Ai(i)),z||Li(b,18,T),F||Li(b,14,C),(E||R)&&45>r.version&&Ni(b,0,45);const M=Ei(O);if(M.uint32(L),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Bi(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Wi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new rs(r))}catch{}}return await Ci(i,c?a.slice(c):a),{At:{diskNumber:d,diskOffset:l},kt:a}})(e,s,n),c=await(async(e,t,r)=>{const n=Mi(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Bi(r);if(s>U)throw new w("Signature data exceeds 64KB");const i=Ei(6+s);return i.uint32(N),i.uint16(s),i.bytes(r),await Ci(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{At:a,Tt:o}=n;let{Ct:c}=n,d=e.files.size,l=a.diskNumber,u=Ti(e,a),f=Di(s);ki(s,Z)&&f++;let p=Mi(e,r,Bn);if(!(v>u&&v>c&&U>d&&U>f)){if(!1===p)throw new w(hi);p=!0}const h=Bi(t);if(h>U)throw new w(ci);const m=Ei(p?98:Z);ki(s,Bi(m.array)+h)&&await s.closeDisk(),f=Di(s),p&&(m.uint32(W),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(l),m.wt(d),m.wt(d),m.wt(c),m.wt(u),m.uint32(B),m.uint32(f),m.wt(i(Ti(e,s))+i(c)+i(o)),m.uint32(f+1),Mi(e,r,"supportZip64SplitFile",!0)&&(f=U,l=U),d=U,u=v,c=v),m.uint32(P),m.uint16(f),m.uint16(l),m.uint16(d),m.uint16(d),m.uint32(c),m.uint32(u),m.uint16(h),await Ci(s,m.array),h&&await Ci(s,t)})(e,r,n,{At:a,Ct:s,Tt:c})})(this,e,r),Mi(this,r,us)||await a.getWriter().close(),s.getData?s.getData():a}}function zi(e){if(!e)return ce;let t=0,r=0;e.forEach(e=>t+=4+Bi(e));const n=new f(t),s=he(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Bi(e)>U)throw new w(li);Ni(s,r,t),Ni(s,r+2,Bi(e)),Wi(n,e,r+4),r+=4+Bi(e)}),n}function Fi(e,t){const{zt:r}=e;let{ht:n,extraFieldLength:s}=r,i=64-(t+Bi(n))%64;4>i&&(i+=64);const a=new f(i),o=he(a);Ni(o,0,K),Ni(o,2,i-4);const c=n;r.ht=n=new f(Bi(c)+i),Wi(n,c),Wi(n,a,Bi(c));const d=he(n);Ni(d,28,s+i),r.yt=d,e.Et+=i}function Ri(e){if(e===se)return ce;{const t=new f(4);he(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Ei(e){const t=new f(e),r=he(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Ni(r,n,e),n+=2},uint32:e=>{Li(r,n,e),n+=4},wt:e=>{Pi(r,n,i(e)),n+=8},bytes:e=>{Wi(t,e,n),n+=Bi(e)},ft:e=>n+=e}}function Di(e){const{diskNumber:t=0}=e;return t}function Ai(e){const{diskOffset:t=0}=e;return t}function ki(e,t){const{availableSize:r=ie}=e;return t>r}function Ti(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function Ci(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Bi(t),await n.write(t)}finally{n.releaseLock()}}function vi(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return fi>t?fi:t>pi?pi:t}}function Ui(e){return a.floor(e.getTime()/1e3)}function Ii(e){return e>=ui&&wi>=e}function Oi(e){return a.min(wi,a.max(ui,e))}function Mi(e,t,r,n){const s=t[r]===se?e.options[r]:t[r];return s===se?n:s}function _i(e){return e+5*(a.floor(e/16383)+1)}function Ni(e,t,r){e.setUint16(t,r,!0)}function Li(e,t,r){e.setUint32(t,r,!0)}function Pi(e,t,r){e.setBigUint64(t,r,!0)}function Wi(e,t,r){e.set(t,r)}function Bi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Zi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,et:c,nt:d,extraFieldLength:l}){const u=Ei(26),w=u.array,f=he(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===se){const e=new h(1),t=he(e);Ni(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ni(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ft(4),c||s!==se?u.uint32(c?v:s):u.ft(4),d||n!==se?u.uint32(d?v:n):u.ft(4),u.uint16(Bi(o)),u.uint16(l),{Qe:w,$e:f,rawLastModDate:a}}function Vi(e,t,r,n,s){let i=0;return t&&(i|=X),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 Hi="Entry filename already exists",ji="Readable stream already consumed",qi=new d([1,j,10,q,28789,25461,K,Y,G,22613,13]);class Ki{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Hi);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.vt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Hi);this.name=e}}class Yi extends Ki{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Yi(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=ea(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([lt(n),lt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await me(i).pipeTo(ge(e.writable)),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==It)return!1;throw e}}getText(e,t){return this.getData(new Pe(e),t)}getBlob(e,t){return this.getData(new Ne(e),t)}getData64URI(e,t){return this.getData(new Ie(e),t)}getUint8Array(e){return this.getData(new it,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return pe(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:_e,Writer:Ne,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Le,Writer:Pe,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:Ue,Writer:Ie,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:st,Writer:it,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Qi(e),Writer:null,reader:null})}}class Gi extends Ki{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Gi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return aa(this,e,{options:t},!0)}addText(e,t,r={}){return aa(this,e,{data:t,Reader:Le,Writer:Pe,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return aa(this,e,{data:t,Reader:_e,Writer:Ne,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return aa(this,e,{data:t,Reader:Ue,Writer:Ie,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return aa(this,e,{data:t,Reader:st,Writer:it,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return aa(this,e,{data:t,Reader:class extends nt{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return aa(this,e,{Reader:Qi(t),options:r})}addFileSystemEntry(e,t={}){return na(this,e,t)}addFileSystemHandle(e,t={}){return na(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),aa(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ut(e,t){return aa(this,e,t)}importBlob(e,t){return this.importZip(new _e(e),t)}importData64URI(e,t){return this.importZip(new Ue(e),t)}importUint8Array(e,t){return this.importZip(new st(e),t)}importHttpContent(e,t){return this.importZip(new nt(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new Ne(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ie(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new it,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Ji([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await lt(e);const n=new Os(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Hi)}else n=new Gi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Hi)}else t=new Gi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(aa(n,a,{data:e,Reader:$i(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===se&&(n.bufferedWrite=!0);const[i]=await g.all([ta(s,n.readerOptions),lt(e)]),a=new bi(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof rs){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{qi.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===se&&S===se||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,Ji([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Xi={FS:class{constructor(){ia(this)}get children(){return this.root.children}remove(e){ra(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=se}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Hi)}else ra(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ut(e,t){return this.root.Ut(e,t)}importBlob(e,t){return ia(this),this.root.importBlob(e,t)}importData64URI(e,t){return ia(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return ia(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return ia(this),this.root.importHttpContent(e,t)}importReadable(e,t){return ia(this),this.root.importReadable(e,t)}importZip(e,t){return ia(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Gi,ZipFileEntry:Yi};function Ji(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Qi(e){let t;return()=>{if(t)throw new w(ji);return t=!0,{readable:e}}}function $i(e){return class extends Ce{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new Ne,r.assign({},e,t.options));t.data=n,t.It=new _e(n),super.init()}readUint8Array(e,t){return this.It.readUint8Array(e,t)}}}function ea(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ta(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=ea(e.Reader,e.data,t);s.set(e,r);try{await lt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==se&&(e.uncompressedSize=r.size)})),s}function ra(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function na(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await sa(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ut(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function sa(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await sa(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function ia(e){e.entries=[],e.vt=0,e.root=new Gi(e)}function aa(e,t,r,n){if(e.directory)return n?new Gi(e.fs,t,r,e):new Yi(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.ERR_ENTRY_EXISTS=Hi,e.ERR_READABLE_CONSUMED=ji,e.fs=Xi});
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:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:k,navigator:T,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,_=M,N=84233040,L=33639248,P=101010256,W=101075792,B=117853008,Z=22,V=20,H=56,j=39169,q=21589,K=6534,Y=30837,G=30805,X=2048,J=16384,Q=2048,$=1024,ee="/",te=30,re=new o(2107,11,31,23,59,58),ne=new o(1980,0,1),se=void 0,ie=1/0,ae="undefined",oe="function",ce=new f;let de=2;try{typeof T!=ae&&T.hardwareConcurrency&&(de=T.hardwareConcurrency)}catch{}const le={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:de,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=ae&&A,DecompressionStream:typeof k!=ae&&k};function ue(){return le}function we(e){return a.max(e.chunkSize,64)}function fe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function pe(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function he(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function me(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 ye(e,t){if(e=me(e),typeof y.prototype.stream!=oe||new y([]).stream()instanceof E){const r={};return t&&(r.headers=[["Content-Type",t]]),new l(e,r).blob()}const r=[];return e.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,t?{type:t}:{}))}function ge(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const xe="HTTP error ",Se="HTTP Range not supported",be="HTTP resource changed",ze="Content-Range",Fe="Range",Re="GET",Ee="bytes",De=16777216,Ae="writable",ke=Symbol();class Te{constructor(){this.size=0}init(){this.initialized=!0}}class Ce extends Te{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=we(ue())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===se?r:a.min(r,t-s),c=await ut(n,e+s,o);i.enqueue(c),s+r>t||t===se&&!c.length&&o?i.close():s+=r}})}}class ve extends Te{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(pe(t))}});r.defineProperty(e,Ae,{get:()=>t})}writeUint8Array(){}}class Ue extends Ce{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o: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 d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ie extends ve{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+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Oe,Me;class _e extends Ce{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Me||(Me=(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();Oe=1==t}catch{Oe=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Oe?me(t.slice(n,n+s).stream()):super.createReadable(e):me(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 Ne extends Te{constructor(e){super();const t=this,n=new R;r.defineProperty(t,Ae,{get:()=>n.writable}),t.blob=ye(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class Le extends _e{constructor(e){super(new y([e],{type:"text/plain"}))}}class Pe extends Ne{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class We extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,tt,Je),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==se){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:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(Se);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=se,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await tt(Re,e,Ge(e,i,t));if(206!=r.status)throw new w(Se);const d=r.headers.get(ze);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(Se)}Ye(e,r),Ke(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 He(this,e,t,tt,Je)}}class Be extends Ce{constructor(e,t){super(),Ze(this,e,t)}async init(){await Ve(this,rt,Qe),super.init()}readUint8Array(e,t){return He(this,e,t,rt,Qe)}}function Ze(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=De,fetch:l}=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:d,fetch:l})}async function Ve(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ue(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(Re,e,Ge(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==Ee))throw new w(Se);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}Ke(e,n);const s=je(n);s===se?await et(e,t,r):e.size=s}}else await et(e,t,r)}async function He(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(Re,e,Ge(e,t,r));if(206!=i.status)throw new w(Se);const a=i.headers.get(ze);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Se)}Ye(e,i),Ke(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(Se);return o}return ce}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function je(e){const t=e.headers.get(ze);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function qe({headers:e}){return{m:e.get("Etag")||se,lastModified:e.get("Last-Modified")||se}}function Ke(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=qe(t))}function Ye(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=je(t);if(e!==se&&i!==se&&e!=i)throw new w(be);if(s){const e=qe(t);if(r.entries(s).some(([t,r])=>r!==se&&e[t]!==se&&r!=e[t]))throw new w(be)}}}function Ge(e,t=0,n=1){return r.assign({},Xe(e),{[Fe]:Ee+"="+(0>t?t:t+"-"+(t+n-1))})}function Xe({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Je(e){await $e(e,tt)}async function Qe(e){await $e(e,rt)}async function $e(e,t){const r=await t(Re,e,Xe(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function et(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Xe(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function tt(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(Se):new w(xe+(a.statusText||a.status))}function rt(e,{url:t},n){return new g((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(Se):new w(xe+(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 nt extends Ce{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Be(e,t):new We(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 st extends Ce{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)}}class it extends ve{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)}}class at extends Ce{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>lt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===se?r:n}async readUint8Array(e,t){const r=this,{F: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=fe(await ut(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await ut(c,o,t)}else s=ce;return r.R=a.max(i,r.R),s}}class ot extends Te{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 D({async write(t){if(t===ke)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await lt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},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 d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,Ae,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(ke)}finally{e.releaseLock()}}}class ct{constructor(e){return t.isArray(e)&&(e=new at(e)),(e instanceof E||typeof e.getReader==oe)&&(e={readable:me(e)}),e}}class dt{constructor(e){return e.writable===se&&typeof e.next==oe&&(e=new ot(e)),(e instanceof D||typeof e.getWriter==oe)&&(e={writable:ge(e)}),e.size===se&&(e.size=0),e}}async function lt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function ut(e,t,r){return e.readUint8Array(t,r)}const wt=new c,ft=new c;function pt(e){return wt.get(e)}function ht(e){return ft.get(e)}const mt=[[],[],[],[],[],[],[],[]];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;mt[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=mt[t-1][e];mt[t][e]=r>>>8^mt[0][255&r]}const[yt,gt,xt,St,bt,zt,Ft,Rt]=mt;class Et{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(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=Rt[255&e]^Ft[e>>>8&255]^zt[e>>>16&255]^bt[e>>>24&255]^St[255&r]^xt[r>>>8&255]^gt[r>>>16&255]^yt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^yt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Dt extends R{constructor(){let e;const t=new Et;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 At(e){if(typeof x==ae){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 x).encode(e)}const kt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=kt.C(r);return 32===n?e.concat(t):kt.v(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)+kt.C(r)},U(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]=kt.I(t,e[r-1]&2147483648>>t-1,1)),e},I:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(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=kt.C(s);return n.push(kt.I(t+i&31,t+i>32?r:n.pop(),1)),n}},Tt={bytes:{O(e){const t=kt.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},M(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(kt.I(8*(3&r),n)),t}}},Ct=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.N=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.P=e.P.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.P=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=Tt.B.M(e));const r=t.P=kt.concat(t.P,e),n=t.W,s=t.W=n+kt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.Z(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}V(){const e=this;let t=e.P;const r=e.L;t=kt.concat(t,[kt.I(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.Z(t.splice(0,16));return e.reset(),r}H(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}j(e,t){return t<<e|t>>>32-e}Z(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.j(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.j(5,i)+r.H(e,o,c,d)+l+s[e]+r.N[a.floor(e/20)]|0;l=d,d=c,c=r.j(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]+d|0,n[4]=n[4]+l|0}},vt={importKey:e=>new vt.K(Tt.bytes.M(e)),Y(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,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=kt;for(t=Tt.bytes.M(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),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++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},K:class{constructor(e){const t=this,r=t.G=Ct,n=[[],[]];t.X=[new r,new r];const s=t.X[0].blockSize/32;e.length>s&&(e=(new r).update(e).V());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.X[0].update(n[0]),t.X[1].update(n[1]),t.J=new r(t.X[0])}reset(){const e=this;e.J=new e.G(e.X[0]),e.$=!1}update(e){this.$=!0,this.J.update(e)}digest(){const e=this,t=e.J.V(),r=new e.G(e.X[1]).update(t).V();return e.reset(),r}encrypt(e){if(this.$)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ut=typeof z!=ae&&typeof z.getRandomValues==oe,It="Invalid password",Ot="Invalid signature",Mt=Ot,_t="zipjs-abort-check-password";function Nt(e){if(Ut)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Lt=16,Pt={name:"PBKDF2"},Wt=r.assign({hash:{name:"HMAC"}},Pt),Bt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Pt),Zt=["deriveBits"],Vt=[8,12,16],Ht=[16,24,32],jt=10,qt=[0,0,0,0],Kt=typeof z!=ae,Yt=Kt&&z.subtle,Gt=Kt&&typeof Yt!=ae,Xt=Tt.bytes,Jt=class{constructor(e){const t=this;t.ee=[[[],[],[],[],[]],[[],[],[],[],[]]],t.ee[0][0][0]||t.te();const r=t.ee[0][4],n=t.ee[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.N=[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.re(e,0)}decrypt(e){return this.re(e,1)}te(){const e=this.ee[0],t=this.ee[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}re(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.N[t],n=r.length/4-2,s=[0,0,0,0],i=this.ee[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Qt=class{constructor(e,t){this.ne=e,this.se=t,this.ie=t}reset(){this.ie=this.se}update(e){return this.ae(this.ne,e,this.ie)}oe(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}ce(e){0===(e[0]=this.oe(e[0]))&&(e[1]=this.oe(e[1]))}ae(e,t,r){let n;if(!(n=t.length))return[];const s=kt.bitLength(t);for(let s=0;n>s;s+=4){this.ce(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 kt.U(t,s)}},$t=vt.K;let er=Kt&&Gt&&typeof Yt.importKey==oe,tr=Kt&&Gt&&typeof Yt.deriveBits==oe;class rr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,de:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await ar(e,t,r,cr(n,0,Vt[t])),i=cr(n,Vt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(It)})(r,i,s,cr(e,0,Vt[i]+2)),e=cr(e,Vt[i]+2),n?t.error(new w(_t)):a()):await o;const c=new f(e.length-jt-(e.length-jt)%Lt);t.enqueue(ir(r,e,c,0,jt,!0))},async flush(e){const{le:t,ue:r,pending:n,ready:i}=this;if(r&&t){await i;const a=cr(n,0,n.length-jt),o=cr(n,n.length-jt);let c=ce;if(a.length){const e=lr(Xt,a);r.update(e);const n=t.update(e);c=dr(Xt,n)}const d=cr(dr(Xt,r.digest()),0,jt);let l=n.length<jt?1:0;for(let e=0;jt>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Mt);e.enqueue(c)}}})}}class nr extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){sr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,de:i,ready:a}=r;let o=ce;n?(o=await(async(e,t,r)=>{const n=Nt(new f(Vt[t]));return fe(n,await ar(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Lt);c.set(o,0),t.enqueue(ir(r,e,c,o.length,0))},async flush(e){const{le:t,ue:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ce;if(n.length){const e=t.update(lr(Xt,n));r.update(e),i=dr(Xt,e)}const a=dr(Xt,r.digest()).slice(0,jt);e.enqueue(fe(i,a))}}})}}function sr(e,t,n,s){r.assign(e,{ready:new g(t=>e.de=t),password:or(t,n),strength:s-1,pending:ce})}function ir(e,t,r,n,s,i){const{le:a,ue:o,pending:c}=e;c.length&&(t=fe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Lt)),l=0;d-Lt>=l;l+=Lt){const e=lr(Xt,cr(t,l,l+Lt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(dr(Xt,s),l+n)}return e.pending=cr(t,l),r}async function ar(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!er)return vt.importKey(t);try{return await Yt.importKey("raw",t,r,!1,s)}catch{return er=!1,vt.importKey(t)}})(0,s,Wt,0,Zt),o=await(async(e,t,r)=>{if(!tr)return vt.Y(t,e.salt,Bt.iterations,r);try{return await Yt.deriveBits(e,t,r)}catch{return tr=!1,vt.Y(t,e.salt,Bt.iterations,r)}})(r.assign({salt:i},Bt),a,8*(2*Ht[n]+2)),c=new f(o),d=lr(Xt,cr(c,0,Ht[n])),l=lr(Xt,cr(c,Ht[n],2*Ht[n])),u=cr(c,2*Ht[n]);return r.assign(e,{keys:{key:d,we:l,passwordVerification:u},le:new Qt(new Jt(d),t.from(qt)),ue:new $t(l)}),u}function or(e,t){return t===se?At(e):t}function cr(e,t,r){return e.subarray(t,r)}function dr(e,t){return e.O(t)}function lr(e,t){return e.M(t)}class ur extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=pr(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(It);e=e.subarray(12)}n?t.error(new w(_t)):t.enqueue(pr(r,e))}})}}class wr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){fr(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=Nt(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(hr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(hr(r,e),s),t.enqueue(n)}})}}function fr(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,fe:new Et(s[0]),pe:new Et(s[2])}),n)for(let t=0;t<n.length;t++)mr(e,n[t]);else for(let r=0;r<t.length;r++)mr(e,t.charCodeAt(r))})(e,t,n)}function pr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,r[n]);return r}function hr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=yr(e)^t[n],mr(e,t[n]);return r}function mr(e,t){let[,r]=e.keys;e.fe.append([t]);const n=~e.fe.get();r=xr(a.imul(xr(r+gr(n)),134775813)+1),e.pe.append([r>>>24]);const s=~e.pe.get();e.keys=[n,r,s]}function yr(e){const t=2|e.keys[2];return gr(a.imul(t,1^t)>>>8)}function gr(e){return 255&e}function xr(e){return 4294967295&e}const Sr="Invalid uncompressed size",br="Invalid compressed data",zr=Ot,Fr="deflate-raw",Rr="gzip",Er=[31,139,8];class Dr extends R{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&ht(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Dt,g=Mr(g,p)),s)if(x)g=_r(g,Ir(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Ar,g=_r(g,new n(Rr)),g=Mr(g,y);else try{g=Or(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(Rr)}catch{throw e}g=_r(g,t),g=Mr(g,new Ar)}i&&(o?g=Mr(g,new wr(e)):(h=new nr(e),g=Mr(g,h))),Ur(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Ar extends R{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=fe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(fe(r.subarray(0,o),e.subarray(0,i-o))),r=fe(r.subarray(o),e.subarray(i-o))},flush(){const t=he(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class kr extends R{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Mr(b,new ur(e)):(S=new rr(e),b=Mr(b,S))),c){const e=u&&ht(u);if(e)b=_r(b,Ir(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Or(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===se)throw e;let t;try{t=new n(Rr)}catch{throw e}b=((e,t,r)=>{const n=new Et;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(Er),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=he(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Mr(e,l),Mr(e=_r(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(Sr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(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(br);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Dt,b=Mr(b,x)),Ur(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(zr)}})}}const Tr=new c;function Cr(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===se){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function vr(e){return Cr(e,Fr)}function Ur(e,t,n){t=Mr(t,new R({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 Or(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Fr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return _r(e,o)}function Mr(e,t){return me(e).pipeThrough(t)}function _r(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 Nr="data",Lr="deflate",Pr="inflate";class Wr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Lr)?i=Dr:s.startsWith(Pr)&&(i=kr),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==se&&n.outputSize>e.outputSize))throw new w(Sr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Br extends R{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 Zr={type:"module"},Vr="error",Hr="Worker startup timeout";let jr,qr,Kr,Yr,Gr,Xr=!0;try{Xr=typeof structuredClone==oe&&structuredClone(new DOMException("","AbortError")).code!==se}catch{}class Jr{constructor(e,{readable:t,writable:n},{options:s,config:i,he:a,useWebWorkers:o,transferStreams:c,workerURI:d,createWorker:l},u){const{signal:w}=a;return Gr&&(l=se),r.assign(e,{me:!0,ye:(e.ye||0)+1,readable:t.pipeThrough(new Br(we(i))).pipeThrough(new Qr(a),{signal:w}),writable:n,options:r.assign({},s),workerURI:d,createWorker:l,transferStreams:c,terminate:()=>new g(t=>{const{ge:r,me:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.Se=null):t()}),be(){if(e.me){const{xe:t}=e;t&&(e.xe=null,e.ze=!0,e.ge.terminate(),t()),e.me=!1,u(e)}}}),jr===se&&(jr=typeof C!=ae),(o&&(jr&&d||l)?tn:en)(e,i)}}class Qr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await $r(e,r)},async transform(e,n){s+=e.length,t&&await $r(t,s,r),n.enqueue(e)},async flush(){n&&await $r(n,s)}})}}async function $r(e,...t){try{await e(...t)}catch{}}function en(e,t){return{run:()=>rn(e,t)}}function tn(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.Se){let c;typeof o==oe&&(o=o());try{c=an(e.workerURI,n,e)}catch{return e.createWorker?Gr=!0:jr=!1,en(e,t)}r.assign(e,{ge:c,Fe:!1,ze:!1,Se:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Re:n,Ee:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,De:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,De:()=>t.abort()}})(e.writable);let f;try{f=dn({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.be(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Fe||!s.isFinite(p)||0>p||(e.Ae=setTimeout(()=>(e=>{if(e.Ae=null,e.Fe)return;const{Ee:t,writer:r}=e;if(sn(e),e.ge=null,t){const e=new w(Hr);e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke)return e.createWorker?Gr=!0:jr=!1,nn(e),rn(e,t);if(r&&r.codecImportFailed){if(e.reader)return nn(e),rn(e,t);e.be()}throw r}}}})}return e.Se}async function rn({options:e,readable:t,writable:r,be:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Lr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Te&&!vr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Te||(e.useCompressionStream=!0)}}i=new Wr(e,s),await t.pipeThrough(i).pipeThrough(new Br(we(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 nn(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function sn(e){const{ge:t}=e;if(t)try{t.terminate()}catch{}e.Se=null}function an(e,t,n,s,i=!0){const{createWorker:a}=n;let o,c,d;if(a)o=a();else if(Kr===se||qr!==e){const r=typeof e==oe;c=r?e(i):e;const a=c.startsWith("data:"),l=c.startsWith("blob:");if(a||l){s===se&&(s=!1),s&&(d=Zr);try{o=new C(c,d)}catch(i){if(l)try{u.revokeObjectURL(c)}catch{}if(r&&l)return an(e,t,n,s,!1);if(s)throw i;return an(e,t,n,!0,!1)}}else{s===se&&(s=!0),s&&(d=Zr);try{c=new u(c,t)}catch{}try{o=new C(c,d)}catch(r){if(s)return an(e,t,n,!1,i);throw r}}qr=e,Kr=c,Yr=d}else o=new C(Kr,Yr);return o.addEventListener("message",e=>{n.Fe=!0,on(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Re:l,Ee:u,be:p,ye:h}=t,m=()=>t.ye!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a,codecImportFailed:c}=o,d=new w(e);r.assign(d,{stack:t,code:n,name:s,outputSize:i}),a&&(d.cause=r.assign(new w(a.message),{name:a.name})),c&&(d.codecImportFailed=!0),y(d)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||dn({type:Nr,value:e,done:r,messageId:i},t)}n==Nr&&(await d.ready,await d.write(new f(s)),m()||dn({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(sn(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),e&&e.codecImportFailed||p())}})(e,n)}),o.addEventListener(Vr,e=>cn(e,n)),o.addEventListener("messageerror",e=>cn(e,n)),o}function on(e){const{Ae:t}=e;t&&(clearTimeout(t),e.Ae=null)}function cn(e,t){e.preventDefault&&e.preventDefault(),on(t);const{Fe:n,Ee:s,writer:i,be:a}=t;if(sn(t),n||(t.ge=null),s){let t=e.error||new w(e.message||Vr);n||(t=r.assign(new w(t.message||Vr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function dn(e,{ge:t,writer:r,transferStreams:n,Fe:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=pe(r),o.push(e.value.buffer)),n&&Xr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Xr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let ln=[];const un=[];let wn,fn,pn=0;async function hn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,createWorker:y,maxWorkers:x}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!ft.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=oe&&typeof n!=oe)throw new w("Invalid codec module");ft.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=!p&&(i||i===se&&n.transferStreams);const S=!(c||d||l||f),b=p===se||!!r.codecURI;return t.useWebWorkers=!S&&b&&(a||a===se&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:se,t.createWorker=t.useWebWorkers&&y?y:se,r.useCompressionStream=o||o===se&&n.useCompressionStream,(await(async()=>{const r=ln.find(e=>!e.me);if(r)return Sn(r),new Jr(r,e,t,z);if(ln.length<x){const r={Ce:pn};return pn++,ln.push(r),new Jr(r,e,t,z)}return new g(r=>{un.push({resolve:r,stream:e,ve:t}),fn=n.workerStarvationTimeout,mn()})})()).run();function z(e){if(yn(),un.length){const[{resolve:t,stream:r,ve:n}]=un.splice(0,1);t(new Jr(e,r,n,z)),mn()}else e.ge?(Sn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.ze?e.ze=!1:e.Ue=setTimeout(async()=>{ln=ln.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):ln=ln.filter(t=>t!=e)}}function mn(){!wn&&un.length&&s.isFinite(fn)&&fn>=0&&(wn=setTimeout(gn,fn))}function yn(){wn&&(clearTimeout(wn),wn=null)}function gn(){if(wn=null,un.length){const[{resolve:e,stream:t,ve:n}]=un.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:se,createWorker:se});e(new Jr({},t,s,xn)),mn()}}function xn(){yn(),mn()}function Sn(e){const{Ue:t}=e;t&&(clearTimeout(t),e.Ue=null)}const bn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function zn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=bn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const Fn="filename",Rn="rawFilename",En="comment",Dn="rawComment",An="uncompressedSize",kn="compressedSize",Tn="offset",Cn="diskNumberStart",vn="lastModDate",Un="rawLastModDate",In="lastAccessDate",On="rawLastAccessDate",Mn="creationDate",_n="rawCreationDate",Nn="internalFileAttributes",Ln="externalFileAttributes",Pn="msdosAttributesRaw",Wn="msdosAttributes",Bn="msDosCompatible",Zn="zip64",Vn="encrypted",Hn="version",jn="versionMadeBy",qn="zipCrypto",Kn="directory",Yn="executable",Gn="compressionMethod",Xn="signature",Jn="extraField",Qn="unixMode",$n="setuid",es="setgid",ts="sticky",rs=[Fn,Rn,An,kn,vn,Un,En,Dn,In,On,Mn,_n,Tn,Cn,Nn,Ln,Pn,Wn,Bn,Zn,Vn,Hn,jn,qn,Kn,Yn,Gn,Xn,"crc32",Jn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Qn,$n,es,ts,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ns{constructor(e){rs.forEach(t=>this[t]=e[t])}}const ss="password",is="rawPassword",as="passThrough",os="signal",cs="checkAmbiguity",ds="useWebWorkers",ls="useCompressionStream",us="transferStreams",ws="preventClose",fs="offset",ps="usdz",hs="strictness",ms="strict",ys="tolerant",gs="File format is not recognized",xs="End of central directory not found",Ss="End of Zip64 central directory locator not found",bs="Central directory header not found",zs="Local file header not found",Fs="Zip64 extra field not found",Rs="File contains encrypted entry",Es="Encryption method not supported",Ds="Compression method not supported",As="Split zip file",ks="Overlapping entry found",Ts="Ambiguous archive",Cs="Encrypted central directory is not supported",vs="utf-8",Us="cp437",Is=[[An,v],[kn,v],[Tn,v],[Cn,U]],Os={[U]:{Ie:ai,bytes:4},[v]:{Ie:oi,bytes:8}};class Ms{constructor(e,t={}){r.assign(this,{reader:new ct(e),options:t,config:ue(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:i}=t;if(await lt(n),n.size!==se&&n.readUint8Array||(n=new _e(await ye(n.readable)),await lt(n)),n.size<Z)throw new w(gs);const o=js(ti(t,e,hs),ti(t,e,cs)),c=o==ms,l=o!=ys,u=((e,t)=>e!==se?e:t==ms?0:t==ys?1/0:U)(ti(t,e,"maxAppendedDataSize"),o),{Me:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:qs};let o,c,d=0;for await(const[r,a,l,u,w]of Xs(e,s)){const s=ii(r,u+20);if(w+Z+s==n){const s=await Qs(e,r,a,u,w,n,i);if(s==Gs){if(o||(o=Js(l,u,w)),d++,!t||d>1)break}else s!=Ys||c||(c=Js(l,u,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,d,l]of Xs(e,s)){const s=Js(c,d,l);i||(i=s);const u=await Qs(e,t,a,d,l,n,r);if(u==Gs)return s;u!=Ys||o||(o=s)}return o||i})(e,r,i)),{Me:o,_e:d}})(n,l,u);if(!f)throw ai(he(await ut(n,0,4)))==M?new w(As):new w(xs);l&&p>1&&ei("multiple end of central directory records");const h=he(f);let m=ai(h,12),y=ai(h,16);const x=f.offset,S=ii(h,20),b=x+Z+S;n.size-b>u&&ei("appended data");let z=ii(h,4);const F=n.R||0;let E,D,A,k,T=ii(h,6),C=ii(h,10),O=0;const _=y==v||m==v||C==U||T==U;if(y!=v&&T!=U&&(y+=Hs(n,T)),_){const e=f.offset<V?ce:await ut(n,f.offset-V,V),t=he(e);if(e.length==V&&ai(t,0)==B){y=Hs(n,ai(t,4))+oi(t,8);let e=await ut(n,y,H),i=he(e);const o=f.offset-V-H;if((e.length<H||ai(i,0)!=W)&&y!=o&&o>=0){const t=y;y=o,y>t&&(O=y-t),e=await ut(n,y,H),i=he(e)}if(e.length<H||ai(i,0)!=W)throw new w(Ss);if(D=!0,A=oi(i,4)>44,A){const e=a.min(s(oi(i,4))-44,n.size-y-H);e>0&&(k=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=he(e),i=ii(n,26);r.assign(t,{compressionMethod:ii(n,0),compressedSize:s(oi(n,2)),uncompressedSize:s(oi(n,10)),encryptionAlgorithm:ii(n,18),bitLength:ii(n,20),flags:ii(n,22),hashAlgorithm:ii(n,24),hashData:e.subarray(28,28+i)})}return t})(await ut(n,y+H,e)))}z==U?z=ai(i,16):c&&z!=ai(i,16)&&ei("mismatched zip64 end of central directory record"),T==U?T=ai(i,20):c&&T!=ai(i,20)&&ei("mismatched zip64 end of central directory record"),C==U?C=oi(i,32):c&&C!=oi(i,32)&&ei("mismatched zip64 end of central directory record"),m==v?m=oi(i,40):c&&m!=oi(i,40)&&ei("mismatched zip64 end of central directory record"),y=Hs(n,T)+oi(i,48)+O}}let P=m;const j=f.offset-(D?76:0);if(y<n.size||(O=n.size-y-m-Z,y=n.size-m-Z),F!=z)throw new w(As);if(0>y)throw new w(gs);let q=0,K=await ut(n,y,m),Y=he(K);if(m){if(4>K.length)throw new w(gs);const e=j-m;if(y!=e&&T==z){let t=!(ai(Y,q)==L);if(t||0>e||e+4>n.size||(t=ai(he(await ut(n,e,4)),0)==L),t){const t=y;y=e,y>t&&(O+=y-t),K=await ut(n,y,m),Y=he(K)}}}const G=j-y;if(m==G||0>G||T!=z||(m=G,K=await ut(n,y,m),Y=he(K)),0>y||y>=n.size)throw new w(gs);t.directoryOffset=y,t.directoryLength=P;const X=ti(t,e,"decryptCentralDirectory");let te;X&&C&&K.length>=4&&ai(Y,0)!=L&&(A||Ns(Y))&&(K=await X(K,k),Y=he(K),P=K.length,te=!0),E=y;const re=ti(t,e,"filenameEncoding"),ne=ti(t,e,"commentEncoding"),ie=c?new d:se;let ae;for(let s=0;C>s;s++){const o=new _s(n,i,t.options);if(q+46>K.length||ai(Y,q)!=L){if(0==s&&!te&&(A||Ns(Y)))throw new w(Cs);throw new w(bs)}Ls(o,Y,q+6);const d=!!o.bitFlag.languageEncodingFlag,l=q+46,u=l+o.filenameLength,f=u+o.extraFieldLength,p=ii(Y,q+4),h=!(p>>8),m=p>>8==3,y=K.subarray(l,u),x=ii(Y,q+32),S=f+x,b=K.subarray(f,S),z=d,F=d,D=ai(Y,q+38),k=D&I,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},v=ai(Y,q+42),M=ti(t,e,"decodeText")||zn,_=z?vs:re||Us,N=F?vs:ne||Us;let P=M(y,_);P===se&&(P=zn(y,_));let W=M(b,N);W===se&&(W=zn(b,N)),r.assign(o,{index:s,versionMadeBy:p,msDosCompatible:h,compressedSize:0,uncompressedSize:0,Ne:x,offset:v,diskNumberStart:ii(Y,q+34),internalFileAttributes:ii(Y,q+36),externalFileAttributes:D,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:y,filenameUTF8:z,commentUTF8:F,rawExtraField:K.subarray(u,f),rawComment:b,filename:P,comment:W}),Ps(o,o,Y,q+6),o.offset+=O,E=a.min(Hs(n,o.diskNumberStart)+o.offset,E),c&&(ie.has(o.filename)&&(ae=!0),ie.add(o.filename));const B=o.externalFileAttributes>>16&U;o.unixMode===se&&16877&B&&(o.unixMode=B);const Z=!!(o.unixMode&Q),V=!!(o.unixMode&$),H=!!(512&o.unixMode),j=o.unixMode!==se?!!(73&o.unixMode):m&&!!(73&B),G=o.unixMode!==se&&(61440&o.unixMode)==J,X=(61440&B)==J;r.assign(o,{setuid:Z,setgid:V,sticky:H,unixExternalUpper:B,internalFileAttribute:o.internalFileAttributes,externalFileAttribute:o.externalFileAttributes,executable:j,directory:G||X||h&&T.directory||o.filename.endsWith(ee)&&!o.uncompressedSize,zipCrypto:o.encrypted&&!o.extraFieldAES});const oe=new ns(o);oe.getData=(e,r)=>o.getData(e,oe,t.Oe,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([ye(r.readable).then(e=>e.arrayBuffer()),o.getData(r,oe,t.Oe,e)]);return n},q=S;const{onprogress:ce}=e;if(ce)try{await ce(s+1,C,new ns(o))}catch{}yield oe}let oe=q;if(q+6<=K.length&&ai(Y,q)==N){const e=ii(Y,q+4);q+6+e>K.length||(t.digitalSignature=K.subarray(q+6,q+6+e),oe=q+6+e)}c&&q!=P&&oe!=P&&ei("trailing central directory data"),ae&&ei("duplicate filename"),c&&(O||C&&E>0)&&ei("prepended data");const de=ti(t,e,"extractPrependedData"),le=ti(t,e,"extractAppendedData");return de&&(t.prependedData=E>0?await ut(n,0,E):ce),t.comment=S?await ut(n,x+Z,S):ce,le&&(t.appendedData=b<n.size?await ut(n,b,n.size-b):ce),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let _s=class{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:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Hs(i,c)+o,F=await ut(i,z,te),R=he(F);let E=ti(s,n,ss),A=ti(s,n,is);const k=ti(s,n,as);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Ds);if(F.length<te||ai(R,0)!=O)throw new w(zs);Ls(b,R,4);const{extraFieldLength:T,filenameLength:C}=b,v=js(ti(s,n,hs),ti(s,n,cs))==ms;let U=ce;if(v&&(C||T)){const e=await ut(i,z+te,C+T);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=T?await ut(i,z+te+C,T):ce;Ps(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&ei("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&ei("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&ei("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||ei("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:N}=b;M&&(t.lastAccessDate=M),N&&(t.creationDate=N);const L=s.encrypted&&b.encrypted&&!k,P=L&&!d;if(k||(t.zipCrypto=P),L&&!(64&~b.rawBitFlag))throw new w(Es);const W=k?se:pt(u);if(0!=u&&8!=u&&9!=u&&!W&&!k)throw new w(Ds);if(L){if(!P&&(1>d.strength||d.strength>3))throw new w(Es);if(!E&&!A)throw new w(Rs)}const B=z+te+C+T,Z=x,V=me(i.createReadable({offset:B,size:Z})),H=ti(s,n,os),j=ti(s,n,"checkPasswordOnly");let q=ti(s,n,"checkOverlappingEntry");const K=ti(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=ti(s,n,ls);J&&(Q=!1);const $=ti(s,n,"checkCrc32"),ee=($===se?ti(s,n,"checkSignature"):$)&&!k&&(!L||P||d&&1==d.vendorVersion),re={options:{codecType:Pr,password:E,rawPassword:A,zipCrypto:P,encryptionStrength:d&&d.strength,checkCrc32:ee,checkAuthenticationCode:ti(s,n,"checkAuthenticationCode"),passwordVerification:P&&(S?y>>>8&I:m>>>24&I),outputSize:k?x:g,crc32:m,compressed:0!=u&&!k,encrypted:L,useWebWorkers:ti(s,n,ds),useCompressionStream:Q,transferStreams:ti(s,n,us),deflate64:J,format:W?W.format:se,codecURI:W?W.codecURI:se,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,he:{signal:H,size:Z,onstart:Y,onprogress:G,onend:X}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,Pe:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await ut(e,o+i,u+4);if(r.length==u+4&&ai(he(r),0)==_){const e=ai(he(r),4);let n,o;d?(n=oi(he(r),8),o=oi(he(r),16)):(n=ai(he(r),8),o=ai(he(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(ks);throw e.We=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,Pe:B,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new dt(e),await lt(e,k?x:g),({writable:ne}=e);const{outputSize:t}=await hn({readable:V,writable:ne},re);if(e.size+=t,t!=(k?x:g))throw new w(Sr)}}catch(t){if(t.outputSize!==se&&(e.size+=t.outputSize),!j||t.message!=_t)throw t}finally{ti(s,n,ws)||!ne||ne.locked||await ne.getWriter().close()}return j||K?se:e.getData?e.getData():ne}};function Ns(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==ai(e,r))return!0;return!1}function Ls(e,t,n){const s=e.rawBitFlag=ii(t,n+2),i=!(1&~s),a=ai(t,n+6);r.assign(e,{encrypted:i,version:ii(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&X)==X},rawLastModDate:a,lastModDate:ri(a),filenameLength:ii(t,n+22),extraFieldLength:ii(t,n+24)})}function Ps(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=he(a);let u=0;try{for(;u<a.length;){const e=ii(l,u),t=ii(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=ii(n,s+4);r.assign(t,{signature:ai(n,s+10),crc32:ai(n,s+10),compressedSize:ai(n,s+14),uncompressedSize:ai(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=he(e.data),n=Is.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Os[t].bytes,0);if(e.data.length<s)throw new w(Fs);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Os[o];t[a]=e[a]=c.Ie(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Ws(h,Fn,Rn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Ws(m,En,Dn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(j);y&&y.data.length>=7?(((e,t,n)=>{const s=he(e.data),i=si(s,4);r.assign(e,{vendorVersion:si(s,0),vendorId:si(s,2),strength:i,originalCompressionMethod:n,compressionMethod:ii(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=se)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Bs(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Bs(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=he(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=ii(n,i),r=ii(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=he(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:ni(i),lastAccessDate:ni(a),creationDate:ni(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(G);if(b)Zs(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(Y);e&&(Zs(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(q);z&&(((e,t,r)=>{if(!e.data.length)return;const n=he(e.data),s=si(n,0),i=[],a=[];r?(1&~s||(i.push(vn),a.push(Un)),2&~s||(i.push(In),a.push(On)),4&~s||(i.push(Mn),a.push(_n))):5>e.data.length||(i.push(vn),a.push(Un));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=ai(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(K);F&&(t.extraFieldUSDZ=F)}function Ws(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=he(e.data),o=new Et;o.append(i[n]);const c=he(new f(4));c.setUint32(0,o.get(),!0);const d=ai(a,1);r.assign(e,{version:si(a,0),[t]:zn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==ai(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Bs(e,t){if(8>e.data.length)return;const n=he(e.data),s={lastAccessDate:new o(1e3*ai(n,0)),lastModDate:new o(1e3*ai(n,4))};12>e.data.length||(s.uid=ii(n,8),s.gid=ii(n,10)),r.assign(e,s),r.assign(t,s)}function Zs(e,t,n){try{const s=he(e.data);let i,a;if(n){let t=0;const n=si(s,t++),o=si(s,t++);i=Vs(e.data.subarray(t,t+o)),t+=o;const c=si(s,t++);a=Vs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=ii(s,0),a=ii(s,2),r.assign(e,{uid:i,gid:a}));i!==se&&(t.uid=i),a!==se&&(t.gid=a)}catch{}}function Vs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Hs(e,t){return e.A?e.A(t):0}function js(e,t){return e===se?t?ms:"balanced":e}const qs=64,Ks=0,Ys=1,Gs=2;async function*Xs(e,t){const r=e.size-t,n=await ut(e,r,t),s=he(n);for(let e=n.length-Z;e>=0;e--)ai(s,e)==P&&(yield[s,r,n,e,r+e])}function Js(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function Qs(e,t,r,n,s,i,a){const o=ii(t,n+10),c=ai(t,n+12),d=ai(t,n+16);if(o==U||c==v||d==v)return await $s(e,t,r,s-V,i,a)==B?Gs:Ks;if(!o&&!c)return Ys;const l=ii(t,n+6);for(const n of[s-c,Hs(e,l)+d])if(await $s(e,t,r,n,i,a)==L)return Gs;return Ks}async function $s(e,t,r,n,s,i){return 0>n||n+4>s?se:r>n?i.count>0?(i.count--,ai(he(await ut(e,n,4)),0)):se:ai(t,n-r)}function ei(e){const t=new w(Ts);throw t.reason=e,t}function ti(e,t,r){return t[r]===se?e.options[r]:t[r]}function ri(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function ni(e){return new o(s(e/i(1e4)-i(116444736e5)))}function si(e,t){return e.getUint8(t)}function ii(e,t){return e.getUint16(t,!0)}function ai(e,t){return e.getUint32(t,!0)}function oi(e,t){return s(e.getBigUint64(t,!0))}var ci=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Ts,ERR_BAD_FORMAT:gs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:bs,ERR_ENCRYPTED:Rs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Cs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ss,ERR_EOCDR_NOT_FOUND:xs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Fs,ERR_INVALID_AUTHENTICATION_CODE:Mt,ERR_INVALID_COMPRESSED_DATA:br,ERR_INVALID_CRC32:zr,ERR_INVALID_PASSWORD:It,ERR_INVALID_SIGNATURE:Ot,ERR_INVALID_UNCOMPRESSED_SIZE:Sr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:zs,ERR_OVERLAPPING_ENTRY:ks,ERR_SPLIT_ZIP_FILE:As,ERR_UNSUPPORTED_COMPRESSION:Ds,ERR_UNSUPPORTED_ENCRYPTION:Es,ERR_WORKER_STARTUP_TIMEOUT:Hr,ZipReader:Ms});const di="Zip file comment exceeds 64KB",li="Version exceeds 65535",ui="Extra field data exceeds 64KB",wi=-2147483648,fi=2147483647,pi=i(0),hi=i("0x7fffffffffffffff"),mi="Zip64 is not supported (set the 'zip64' option to 'true')",yi=new f([7,0,2,0,65,69,3,0,0]),gi="infozip",xi="unix";let Si=0;const bi=[];class zi{constructor(e,t={}){e=new dt(e);const{availableSize:n=ie,maxSize:s=ie}=e,i=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Be:i,options:t,config:ue(),files:new c,Ze:new d,offset:t[fs]===se?e.size||e.writable.size||0:t[fs],Ve:t[fs]===se?0:t[fs]-(e.size||e.writable.size||0),He:new d,je:0,qe:se})}async prependZip(e){if(this.Ze.size)throw new w("Zip file not empty");e=new ct(e),await lt(e);const{ZipReader:t}=await g.resolve().then(()=>ci),n=new t(e.readable),s=await n.getEntries();await n.close(),await lt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ze=new d(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:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ce,p=p||ce,h=h||ce,m=m||ce,y=y||ce,g=g||ce,e.extraFieldAES&&(w=99);const z=Zi(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Hi(x,S,b,c,w)|x<<1,{Qe:D,$e:A}=Vi({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,et:R,nt:F,extraFieldLength:z}),{crc32:k}=e;return k!==se&&Pi(A,10,k),r.assign(e,{nt:F,et:R,st:u&&e.offset>=v,diskNumberStart:0,it:!1,Ke:f,Ye:p,Ge:h,Xe:m,Je:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ot:1+(s?2:0)+(i?4:0),Qe:D,$e:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{He:c,config:d}=s;let l,u;Si<d.maxWorkers?Si++:await new g(e=>bi.push(e));try{if(e=e.trim(),_i(s,n,Kn)&&!e.endsWith(ee)&&(e+=ee),s.Ze.has(e))throw new w("File already exists");return s.Ze.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=_i(e,r,Bn),s=_i(e,r,jn,n?20:768);const i=_i(e,r,Yn),a=_i(e,r,"uid"),o=_i(e,r,"gid");let c=_i(e,r,Qn),d=_i(e,r,"unixExtraFieldType"),l=_i(e,r,$n),u=_i(e,r,es),f=_i(e,r,ts);if(a!==se&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==se&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==se&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==se&&d!==gi&&d!==xi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===xi&&(a!==se&&a>U||o!==se&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==se||a===se&&o===se||(d=gi);let p=_i(e,r,Pn),h=_i(e,r,Wn);const m=p!==se||h!==se;if(a!==se||o!==se||c!==se||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==se&&(0>p||p>I))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>U)throw new w(li);let y=_i(e,r,Ln);const g=y!==se;g||(y=0),!r[Kn]&&t.endsWith(ee)&&(r[Kn]=!0);const x=_i(e,r,Kn);let S;if(x?(t.endsWith(ee)||(t+=ee),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==se||!!(l||u||f);S=y>>16&U,c=c===se?S:c&U,l?c|=Q:l=!!(c&Q),u?c|=$:u=!!(c&$),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=J),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==se)e&=I;else if(t!==se){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&I}return t===se&&(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&v|p&I),{name:t,ct:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=_i(e,r,"encodeText",At);let s=n(t);if(s===se&&(s=At(t)),Zi(s)>U)throw new w("File entry name exceeds 64KB");const i=r[En]||"";let a=n(i);if(a===se&&(a=At(i)),Zi(a)>U)throw new w("File entry comment exceeds 64KB");const c=_i(e,r,Hn,20);if(c>U)throw new w(li);const d=_i(e,r,vn,new o),l=_i(e,r,In),u=_i(e,r,Mn),f=_i(e,r,Nn,0),p=_i(e,r,as);let h,m;p||(h=_i(e,r,ss),m=_i(e,r,is));const y=_i(e,r,"encryptionStrength",3),g=_i(e,r,qn),x=_i(e,r,"extendedTimestamp",!0),S=_i(e,r,"ntfsTimestamp"),b=_i(e,r,"keepOrder",!0),z=_i(e,r,ds),F=_i(e,r,us),R=_i(e,r,"bufferedWrite"),E=_i(e,r,"createTempStream"),D=_i(e,r,"dataDescriptorSignature",!0),A=_i(e,r,os),k=_i(e,r,"useUnicodeFileNames",!0),T=_i(e,r,Gn),C=p||T===se?se:pt(T);if(!p&&T!==se&&0!==T&&8!==T&&!C)throw new w("Compression method not supported");let v=_i(e,r,"level");if(e.options[ps]){if(h!==se||m!==se)throw new w("Encryption is not supported in USDZ files");v===se&&T===se&&(v=0)}let I=_i(e,r,ls),O=_i(e,r,"dataDescriptor");R&&O===se&&(O=!1),(O===se||g)&&(O=!0),v!==se&&6!=v&&(I=!1);const M=_i(e,r,Zn);if(!g&&(h!==se||m!==se)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const _=Fi(r[Jn]),N=Fi(r.localExtraField);return{comment:i,ct:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:k,compressionMethod:T,format:C?C.format:se,codecURI:C?C.codecURI:se,lt:C?C.versionNeeded:se,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:_,ut:N}}})(e,t,s),{comment:l}=d,u=s[Jn];let p;e.files.set(t,se);try{const{ct:l}=d;0==l.level||l.compressionMethod!==se||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.Te)return!0;if(vr(t)||Cr(t,Rr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ct:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[An],h===se)throw new w("Undefined uncompressed size")}const m=!0===l,y=_i(e,n,Vn),g=!!t&&(!!(a&&Zi(a)||o&&Zi(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new ct(t),await lt(t),s?(n.uncompressedSize=h,p=Ni(h)+x):t.size===se?(d=!0,(l||l===se)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=Ni(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(mi);l=!0}return l=l||!1,{reader:t,ct:{dataDescriptor:d,zip64:l,nt:S,et:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=ki(e.writer),m=Ai(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,ut:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,nt:b,et:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===se?i===se||i>0:0!==D);let k;const T=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||T),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Di(e);if(t.uint16(1),t.uint16(e-4),k=t.array,C&&(t.wt(F),T)){const e=S?d?12:16+4*m:0;t.wt(x?0:F+e)}}else k=ce;let I,M,_,N,L;if(S&&!d){const e=Di(Zi(yi)+2);e.uint16(j),e.bytes(yi),I=e.array,I[8]=m}else I=ce;if(y){const e=Ii(r),t=Oi(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Di(t);N=1+(n?2:0)+(s?4:0),r.uint16(q),r.uint16(t-4),r.uint8(N),r.uint32(e),n&&r.uint32(Mi(Ii(n))),s&&r.uint32(Mi(Ii(s))),_=r.array}else _=ce;if(g===se?!t||n||s:g)try{const e=Ui(r),t=Di(36);t.uint16(10),t.uint16(32),t.ft(4),t.uint16(1),t.uint16(24),t.wt(e),t.wt(n?Ui(n):e),t.wt(s?Ui(s):e),M=t.array}catch{M=ce}else M=ce}else M=_=ce;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=gi||t===se&&r===se)if(n!=xi||t===se&&r===se)L=ce;else{const e=Di(8);e.uint16(G),e.uint16(4),e.uint16((t===se?0:t)&U),e.uint16((r===se?0:r)&U),L=e.array}else{const e=Ei(t),n=Ei(r),s=3+e.length+n.length,i=Di(4+s);i.uint16(Y),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),L=i.array}}catch{L=ce}D===se&&(D=A?8:0);const{lt:P}=e;A&&P!==se&&(E=E>P?E:P),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==se&&(I[4]=1),I[9]=D,D=99);const W=v?Zi(k):0,B=W+Zi(I,_,M,L,p,h);if(B>U)throw new w(ui);const Z=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{Qe:V,$e:H,rawLastModDate:K}=Vi({version:E,bitFlag:Hi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:ne>Z?ne:Z>re?re:Z,rawFilename:t,et:z,nt:b,extraFieldLength:B}),X=Di(te+Zi(t)+B),J=X.array,Q=he(J);return X.uint32(O),X.bytes(V),X.bytes(t),v&&X.bytes(k),X.bytes(I),X.bytes(_),X.bytes(M),X.bytes(L),X.bytes(p),X.bytes(h),u&&(z||Pi(Q,18,0),b||Pi(Q,22,0)),{ht:J,yt:Q,Qe:V,$e:H,lastModDate:r,rawLastModDate:K,encrypted:S,compressed:A,version:E,compressionMethod:D,ot:N,Ke:ce,gt:W,Ge:_,Xe:M,Je:L,Ye:I,extraFieldLength:B}})(s=r.assign({},s,c.ct,d.ct,u.ct,{internalFileAttribute:d.ct.internalFileAttributes,externalFileAttribute:c.ct.externalFileAttributes,signature:s[Xn],crc32:s.crc32===se?s[Xn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ce,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=he(s),r&&(i=4,Pi(n,0,_))),{xt:s,St:n,bt:i}})(s),S=Zi(y.ht,x.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{zt:p}=s,h=e.options[ps],m=e.qe;let y,x,S,b,z,F,E,A={},k=0;o.set(t,A),e.qe=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Ft||e.je||!l?(y=!0,e.je++,E=a.createTempStream?await a.createTempStream():new R(se,se,{highWaterMark:ie}),E.size=0,await lt(c)):(E=c,await T()),await lt(E);const U=ki(c);if(e.Be){delete e.Be;const t=new f(4);Pi(he(t),0,M),await vi(c,t),e.offset+=4}h&&!y&&Ri(s,e.offset-U);const{ht:O}=p;y||(await x,await C());const _=Ai(c),N=Ci(e,c);if(A.diskNumberStart=_,y||(z=!0,F=c.size,await vi(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{zt:d,Rt:l,Et:u}=a,{Qe:f,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ke:b,gt:z,Ge:F,ot:R,Xe:E,Je:D,Ye:A}=d,{xt:k}=l,{rawFilename:T,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:_,zip64:N,nt:L,et:P,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:pe,passThrough:he,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:N,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:T,commentUTF8:!0,rawComment:j,Ke:b,gt:z,Ge:F,Xe:E,Je:D,Ye:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;he||(be=0);const{writable:Fe}=t;if(e){const r=me(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Lr,level:_,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!he,compressed:g&&!he,encrypted:y&&!he,useWebWorkers:K,useCompressionStream:pe,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,he:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await hn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,he||(be=e.inputSize,y&&!W||(Se=e.crc32)),!P&&ze>=v||!L&&be>=v)throw new w(mi)}catch(e){throw e.outputSize!==se&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,zt:n,Rt:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{$e:l,encrypted:u}=n,{St:w,bt:f}=s;u&&!o&&!c||e===se||(Pi(l,10,e),d&&Pi(w,f,e)),a?d&&(Wi(w,f+4,i(t)),Wi(w,f+12,i(r))):(Pi(l,14,t),Pi(l,18,r),d&&(Pi(w,f+4,t),Pi(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,zt:d,Rt:l},c),B&&await vi(t,k),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,Qe:f,$e:p,signature:Se,crc32:!y||W||he?Se:se,ot:R,nt:L,et:P}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await T(),b=!0,F=c.size,await C(),A.diskNumberStart=Ai(c),A.offset=Ci(e,c),h){const t=s.Et;Ri(s,e.offset-ki(c)),A.size+=s.Et-t}(({rawFilename:e,encrypted:t,zip64:r,gt:n,crc32:s,compressedSize:a,uncompressedSize:o,nt:c,et:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==se)&&Pi(l,14,s),d||Pi(l,18,a),c||Pi(l,22,o)),r&&n){const t=te+Zi(e)+4;Wi(l,t,i(o)),Wi(l,t+8,i(a))}})(A,p.yt,a),await vi(c,p.ht),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Zi(e),k+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=_,A.offset=N;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=k)}throw o.delete(t),r}finally{if(y&&e.je--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function T(){e.Ft=!0;const{Dt:t}=e;e.Dt=new g(t=>x=()=>{e.Ft=!1,t()}),await t}async function C(){Ti(c,Zi(p.ht))&&await c.closeDisk()}})(e,t,n,{zt:y,Rt:x,Et:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new ns(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ze.delete(e),t}finally{c.delete(l);const e=bi.shift();e?e():Si--}}remove(e){const{Ze:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==se){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ce,r={}){const{He:n,writer:s}=this,{writable:a}=s;if(Zi(e)>U)throw new w(di);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ye:n,rawComment:s,Xe:i,Je:a,rawExtraField:o,extendedTimestamp:c,ot:d,lastModDate:l,nt:u,et:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Di(e);t.uint16(1),t.uint16(e-4),u&&t.wt(p),f&&t.wt(h),m&&t.wt(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ce;r.Ke=g,r.st=m,r.it=y;const S=Ii(l);if(c&&Oi(S)){const e=Di(9);e.uint16(q),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ce;r.Ge=x;const b=Zi(g,n,i,a,x,o);if(b>U)throw new w(ui);t+=46+Zi(e,s)+b}return t})(e.files),{At:a,kt:o}=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await lt(i);let o=0,c=0,d=Ai(i),l=ki(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ke:w,Ye:f,Ge:p,Xe:h,Je:m,rawExtraField:y,rawComment:g,versionMadeBy:x,Qe:S,$e:b,nt:z,et:F,it:R,st:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:k,uncompressedSize:T,compressedSize:C}=r,I=Zi(w,f,p,h,m,y),O=46+Zi(u,g)+I;Ti(i,o+O-c)&&(await vi(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=Ai(i),l=ki(i)),z||Pi(b,18,T),F||Pi(b,14,C),(E||R)&&45>r.version&&Li(b,0,45);const M=Di(O);if(M.uint32(L),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Zi(g)),M.uint16(R?U:k),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Bi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new ns(r))}catch{}}return await vi(i,c?a.slice(c):a),{At:{diskNumber:d,diskOffset:l},kt:a}})(e,s,n),c=await(async(e,t,r)=>{const n=_i(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Zi(r);if(s>U)throw new w("Signature data exceeds 64KB");const i=Di(6+s);return i.uint32(N),i.uint16(s),i.bytes(r),await vi(e.writer,i.array),6+s}return 0})(e,o,n);await(async(e,t,r,n)=>{const{writer:s}=e,{At:a,Tt:o}=n;let{Ct:c}=n,d=e.files.size,l=a.diskNumber,u=Ci(e,a),f=Ai(s);Ti(s,Z)&&f++;let p=_i(e,r,Zn);if(!(v>u&&v>c&&U>d&&U>f)){if(!1===p)throw new w(mi);p=!0}const h=Zi(t);if(h>U)throw new w(di);const m=Di(p?98:Z);Ti(s,Zi(m.array)+h)&&await s.closeDisk(),f=Ai(s),p&&(m.uint32(W),m.wt(44),m.uint16(45),m.uint16(45),m.uint32(f),m.uint32(l),m.wt(d),m.wt(d),m.wt(c),m.wt(u),m.uint32(B),m.uint32(f),m.wt(i(Ci(e,s))+i(c)+i(o)),m.uint32(f+1),_i(e,r,"supportZip64SplitFile",!0)&&(f=U,l=U),d=U,u=v,c=v),m.uint32(P),m.uint16(f),m.uint16(l),m.uint16(d),m.uint16(d),m.uint32(c),m.uint32(u),m.uint16(h),await vi(s,m.array),h&&await vi(s,t)})(e,r,n,{At:a,Ct:s,Tt:c})})(this,e,r),_i(this,r,ws)||await a.getWriter().close(),s.getData?s.getData():a}}function Fi(e){if(!e)return ce;let t=0,r=0;e.forEach(e=>t+=4+Zi(e));const n=new f(t),s=he(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Zi(e)>U)throw new w(ui);Li(s,r,t),Li(s,r+2,Zi(e)),Bi(n,e,r+4),r+=4+Zi(e)}),n}function Ri(e,t){const{zt:r}=e;let{ht:n,extraFieldLength:s}=r,i=64-(t+Zi(n))%64;4>i&&(i+=64);const a=new f(i),o=he(a);Li(o,0,K),Li(o,2,i-4);const c=n;r.ht=n=new f(Zi(c)+i),Bi(n,c),Bi(n,a,Zi(c));const d=he(n);Li(d,28,s+i),r.yt=d,e.Et+=i}function Ei(e){if(e===se)return ce;{const t=new f(4);he(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Di(e){const t=new f(e),r=he(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Li(r,n,e),n+=2},uint32:e=>{Pi(r,n,e),n+=4},wt:e=>{Wi(r,n,i(e)),n+=8},bytes:e=>{Bi(t,e,n),n+=Zi(e)},ft:e=>n+=e}}function Ai(e){const{diskNumber:t=0}=e;return t}function ki(e){const{diskOffset:t=0}=e;return t}function Ti(e,t){const{availableSize:r=ie}=e;return t>r}function Ci(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ve:0)}async function vi(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Zi(t),await n.write(t)}finally{n.releaseLock()}}function Ui(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return pi>t?pi:t>hi?hi:t}}function Ii(e){return a.floor(e.getTime()/1e3)}function Oi(e){return e>=wi&&fi>=e}function Mi(e){return a.min(fi,a.max(wi,e))}function _i(e,t,r,n){const s=t[r]===se?e.options[r]:t[r];return s===se?n:s}function Ni(e){return e+5*(a.floor(e/16383)+1)}function Li(e,t,r){e.setUint16(t,r,!0)}function Pi(e,t,r){e.setUint32(t,r,!0)}function Wi(e,t,r){e.setBigUint64(t,r,!0)}function Bi(e,t,r){e.set(t,r)}function Zi(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Vi({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,et:c,nt:d,extraFieldLength:l}){const u=Di(26),w=u.array,f=he(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===se){const e=new h(1),t=he(e);Li(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Li(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ft(4),c||s!==se?u.uint32(c?v:s):u.ft(4),d||n!==se?u.uint32(d?v:n):u.ft(4),u.uint16(Zi(o)),u.uint16(l),{Qe:w,$e:f,rawLastModDate:a}}function Hi(e,t,r,n,s){let i=0;return t&&(i|=X),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 ji="Entry filename already exists",qi="Readable stream already consumed",Ki=new d([1,j,10,q,28789,25461,K,Y,G,22613,13]);class Yi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(ji);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.vt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(ji);this.name=e}}class Gi extends Yi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Gi(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=ta(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([lt(n),lt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await me(i).pipeTo(ge(e.writable)),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==It)return!1;throw e}}getText(e,t){return this.getData(new Pe(e),t)}getBlob(e,t){return this.getData(new Ne(e),t)}getData64URI(e,t){return this.getData(new Ie(e),t)}getUint8Array(e){return this.getData(new it,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return pe(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:_e,Writer:Ne,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Le,Writer:Pe,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:Ue,Writer:Ie,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:st,Writer:it,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:$i(e),Writer:null,reader:null})}}class Xi extends Yi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Xi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return oa(this,e,{options:t},!0)}addText(e,t,r={}){return oa(this,e,{data:t,Reader:Le,Writer:Pe,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return oa(this,e,{data:t,Reader:_e,Writer:Ne,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return oa(this,e,{data:t,Reader:Ue,Writer:Ie,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return oa(this,e,{data:t,Reader:st,Writer:it,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return oa(this,e,{data:t,Reader:class extends nt{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return oa(this,e,{Reader:$i(t),options:r})}addFileSystemEntry(e,t={}){return sa(this,e,t)}addFileSystemHandle(e,t={}){return sa(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),oa(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ut(e,t){return oa(this,e,t)}importBlob(e,t){return this.importZip(new _e(e),t)}importData64URI(e,t){return this.importZip(new Ue(e),t)}importUint8Array(e,t){return this.importZip(new st(e),t)}importHttpContent(e,t){return this.importZip(new nt(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new Ne(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ie(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new it,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Qi([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await lt(e);const n=new Ms(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(ji)}else n=new Xi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(ji)}else t=new Xi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(oa(n,a,{data:e,Reader:ea(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===se&&(n.bufferedWrite=!0);const[i]=await g.all([ra(s,n.readerOptions),lt(e)]),a=new zi(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof ns){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{Ki.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===se&&S===se||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,Qi([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Ji={FS:class{constructor(){aa(this)}get children(){return this.root.children}remove(e){na(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=se}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(ji)}else na(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ut(e,t){return this.root.Ut(e,t)}importBlob(e,t){return aa(this),this.root.importBlob(e,t)}importData64URI(e,t){return aa(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return aa(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return aa(this),this.root.importHttpContent(e,t)}importReadable(e,t){return aa(this),this.root.importReadable(e,t)}importZip(e,t){return aa(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Xi,ZipFileEntry:Gi};function Qi(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function $i(e){let t;return()=>{if(t)throw new w(qi);return t=!0,{readable:e}}}function ea(e){return class extends Ce{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new Ne,r.assign({},e,t.options));t.data=n,t.It=new _e(n),super.init()}readUint8Array(e,t){return this.It.readUint8Array(e,t)}}}function ta(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function ra(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=ta(e.Reader,e.data,t);s.set(e,r);try{await lt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==se&&(e.uncompressedSize=r.size)})),s}function na(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function sa(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await ia(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ut(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function ia(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await ia(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function aa(e){e.entries=[],e.vt=0,e.root=new Xi(e)}function oa(e,t,r,n){if(e.directory)return n?new Xi(e.fs,t,r,e):new Gi(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.ERR_ENTRY_EXISTS=ji,e.ERR_READABLE_CONSUMED=qi,e.fs=Ji});
@@ -2710,14 +2710,16 @@ function createWebWorkerInterface(workerData, config) {
2710
2710
  } else {
2711
2711
  webWorkerSupported = false;
2712
2712
  }
2713
- const { reader } = workerData;
2714
- if (reader) {
2715
- reader.releaseLock();
2716
- }
2717
- workerData.reader = null;
2718
- workerData.writer = null;
2713
+ releaseWorkerStreams(workerData);
2719
2714
  return runWorker$1(workerData, config);
2720
2715
  }
2716
+ if (error && error.codecImportFailed) {
2717
+ if (workerData.reader) {
2718
+ releaseWorkerStreams(workerData);
2719
+ return runWorker$1(workerData, config);
2720
+ }
2721
+ workerData.onTaskFinished();
2722
+ }
2721
2723
  throw error;
2722
2724
  }
2723
2725
  }
@@ -2854,6 +2856,15 @@ function watchClosedStream(writableSource) {
2854
2856
  return { writable, closed, abortPipe: () => abortController.abort() };
2855
2857
  }
2856
2858
 
2859
+ function releaseWorkerStreams(workerData) {
2860
+ const { reader } = workerData;
2861
+ if (reader) {
2862
+ reader.releaseLock();
2863
+ }
2864
+ workerData.reader = null;
2865
+ workerData.writer = null;
2866
+ }
2867
+
2857
2868
  function terminateWorker$1(workerData) {
2858
2869
  const { worker } = workerData;
2859
2870
  if (worker) {
@@ -2921,7 +2932,7 @@ function getWebWorker(url, baseURI, workerData, isModuleType, useBlobURI = true)
2921
2932
  try {
2922
2933
  worker = new Worker(resolvedURI, resolvedOptions);
2923
2934
  } catch (error) {
2924
- if (!isModuleType) {
2935
+ if (isModuleType) {
2925
2936
  return getWebWorker(url, baseURI, workerData, false, useBlobURI);
2926
2937
  } else {
2927
2938
  throw error;
@@ -3039,12 +3050,15 @@ async function onMessage({ data }, workerData) {
3039
3050
  const stale = () => workerData.generation != generation;
3040
3051
  try {
3041
3052
  if (error) {
3042
- const { message, stack, code, name, outputSize, cause } = error;
3053
+ const { message, stack, code, name, outputSize, cause, codecImportFailed } = error;
3043
3054
  const responseError = new Error(message);
3044
3055
  Object.assign(responseError, { stack, code, name, outputSize });
3045
3056
  if (cause) {
3046
3057
  responseError.cause = Object.assign(new Error(cause.message), { name: cause.name });
3047
3058
  }
3059
+ if (codecImportFailed) {
3060
+ responseError.codecImportFailed = true;
3061
+ }
3048
3062
  close(responseError);
3049
3063
  } else {
3050
3064
  if (type == MESSAGE_PULL) {
@@ -3083,7 +3097,9 @@ async function onMessage({ data }, workerData) {
3083
3097
  if (writer) {
3084
3098
  writer.releaseLock();
3085
3099
  }
3086
- onTaskFinished();
3100
+ if (!(error && error.codecImportFailed)) {
3101
+ onTaskFinished();
3102
+ }
3087
3103
  }
3088
3104
  }
3089
3105
 
@@ -3133,7 +3149,7 @@ async function runWorker(stream, workerOptions) {
3133
3149
  }
3134
3150
  await ensureCodecStreams(format, options.codecURI);
3135
3151
  }
3136
- workerOptions.transferStreams = transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams);
3152
+ workerOptions.transferStreams = !format && (transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams));
3137
3153
  const streamCopy = !compressed && !checkCrc32 && !computeCrc32 && !encrypted;
3138
3154
  const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
3139
3155
  workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));