@gmod/tabix 3.6.1 → 3.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tabix-bundle.js +1 -1
- package/dist/tabixIndexedFile.d.ts +31 -1
- package/dist/tabixIndexedFile.js +2 -1
- package/dist/tabixIndexedFile.js.map +1 -1
- package/esm/tabixIndexedFile.d.ts +31 -1
- package/esm/tabixIndexedFile.js +2 -1
- package/esm/tabixIndexedFile.js.map +1 -1
- package/package.json +3 -3
- package/src/tabixIndexedFile.ts +32 -0
package/dist/tabix-bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var A={538(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{minv;maxv;bin;endPosition;constructor(A,e,t,i=e.blockPosition+65536){this.minv=A,this.maxv=e,this.bin=t,this.endPosition=i}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}fetchedSize(){return this.endPosition-this.minv.blockPosition}}},178(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=i(t(538)),a=i(t(689)),g=t(951),s=t(483);function r(A,e){return A*2**e}function o(A,e){return Math.floor(A/2**e)}class I extends a.default{async _parse(A={}){const{bytes:e,dataView:t}=await this.readIndexBytes(A),i=t.getUint32(0,!0);let a;if(21582659===i)a=1;else{if(38359875!==i)throw new Error(`Not a CSI file (magic=${i})`);a=2}const r=t.getInt32(4,!0),o=t.getInt32(8,!0),I=((1<<3*(o+1))-1)/7,Q=2**(r+3*o),B=t.getInt32(12,!0),C=B>=30?(0,g.parseAuxData)(e,16):{refIdToName:[],refNameToId:{},metaChar:void 0,columnNumbers:{ref:0,start:1,end:2},coordinateType:"zero-based-half-open",format:"generic"},E=t.getInt32(16+B,!0);let h,l=16+B+4;const c=[];for(let A=0;A<E;A++){c.push(l);const A=t.getInt32(l,!0);l+=4;for(let i=0;i<A;i++){const A=t.getUint32(l,!0);l+=4,A>I?l+=44:(h=(0,g.minVirtualOffset)(e,l,1,h),l+=8,l+=4+16*t.getInt32(l,!0))}}return{...C,csi:!0,refCount:E,maxBlockSize:65536,firstDataLine:h,csiVersion:a,indices:(0,g.memoizeByRefId)(function(A){const i=c[A];if(void 0===i)return;let a=i;const r=t.getInt32(a,!0);a+=4;const o={},Q={};let B;for(let A=0;A<r;A++){const A=t.getUint32(a,!0);if(a+=4,A>I)B=(0,g.parsePseudoBin)(e,a+28),a+=44;else{Q[A]=(0,s.fromBytes)(e,a),a+=8;const i=t.getInt32(a,!0);a+=4;const g=Array.from({length:i});for(let t=0;t<i;t++)g[t]=new n.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;o[A]=g}}return(0,g.clampChunkEnds)(Object.values(o).flat()),{binIndex:o,loffsets:Q,stats:B}}),minShift:r,depth:o,maxBinNumber:I,maxRefLength:Q}}lowestOffset(A,e,{minShift:t,depth:i}){const{loffsets:n}=A;let a;if(n){let A=(r(1,3*i)-1)/7+o(Math.max(e,0),t);for(;void 0===a&&A>0;)if(a=n[A],void 0===a){const e=Math.floor((A-1)/8);A=A>8*e+1?A-1:e}a??=n[0]}return a}reg2bins(A,e,{minShift:t,depth:i,maxBinNumber:n}){A=Math.max(A,0);const a=2**(t+3*i);e>a&&(e=a),e-=1;let g=0,s=0,I=t+3*i;const Q=[];for(;g<=i;I-=3,s+=r(1,3*g),g+=1){const a=s+o(A,I),g=s+o(e,I);if(g-a+Q.length>n)throw new Error(`query ${A}-${e} is too large for current binning scheme (shift ${t}, depth ${i}), try a smaller query or a coarser index binning scheme`);Q.push([a,g])}return Q}}e.default=I},159(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.VirtualOffset=e.TBI=e.CSI=e.TabixIndexedFile=void 0;var n=t(522);Object.defineProperty(e,"TabixIndexedFile",{enumerable:!0,get:function(){return i(n).default}});var a=t(178);Object.defineProperty(e,"CSI",{enumerable:!0,get:function(){return i(a).default}});var g=t(552);Object.defineProperty(e,"TBI",{enumerable:!0,get:function(){return i(g).default}});var s=t(483);Object.defineProperty(e,"VirtualOffset",{enumerable:!0,get:function(){return i(s).default}})},689(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(322),n=t(586),a=t(951);e.default=class{filehandle;parseCache=new n.SharedReadCache({});constructor({filehandle:A}){this.filehandle=A}async readIndexBytes(A){const e=await this.filehandle.readFile({signal:A.signal,onProgress:A.onProgress}),t=await(0,i.unzip)(e);return{bytes:t,dataView:new DataView(t.buffer,t.byteOffset,t.byteLength)}}async lineCount(A,e={}){const t=await this.parse(e),i=t.refNameToId[A];return void 0===i?-1:t.indices(i)?.stats?.lineCount??-1}async getMetadata(A={}){const{indices:e,...t}=await this.parse(A);return t}async blocksForRange(A,e,t,i={}){const n=await this.parse(i),g=n.refNameToId[A];if(void 0===g)return[];const s=n.indices(g);if(!s)return[];const r=[];for(const[A,i]of this.reg2bins(e,t,n))for(let e=A;e<=i;e++){const A=s.binIndex[e];if(A)for(const e of A)r.push(e)}return(0,a.optimizeChunks)(r,this.lowestOffset(s,e,n))}parse(A={}){return this.parseCache.get("index",A.signal,e=>this._parse({...A,signal:e}))}async hasRefSeq(A,e={}){const t=await this.parse(e);return!!t.indices(A)?.binIndex}}},85(A,e){e.longFromBytesToUnsigned=function(A,e=0){const i=A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24;return((A[e+4]|A[e+5]<<8|A[e+6]<<16|A[e+7]<<24)>>>0)*t+(i>>>0)};const t=2**32},522(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(322),a=t(586),g=t(252),s=i(t(178)),r=i(t(552)),o=t(951);function I(A,e,t,i,n){return 256*A[t]+(i-e[t])+n+1}function Q(A,e,t,i,n,a){let g=e+(i-t);if(46===A[n])return g;let s=n;for(let t=n;t<=a;t++)if(t===a||59===A[t]){const i=t-s;if(i>=10&&83===A[s]&&86===A[s+1]&&84===A[s+2]&&89===A[s+3]&&80===A[s+4]&&69===A[s+5]&&61===A[s+6]&&84===A[s+7]&&82===A[s+8]&&65===A[s+9])return e+1;i>=4&&69===A[s]&&78===A[s+1]&&68===A[s+2]&&61===A[s+3]&&(g=h(A,s+4,t)),s=t+1}return g}const B=new TextDecoder;function C(A,e){let t=-1;const i=e.charCodeAt(0);for(let e=0,n=A.length;e<n;e++){const n=A[e];if(e===t+1&&n!==i)break;10===n&&(t=e)}return A.subarray(0,t+1)}function E(A,e){let t=0;for(let i=0;i<e;i++){const e=A.indexOf(10,t);if(-1===e){t=A.length;break}t=e+1}return B.decode(A.subarray(0,t)).split(/\r?\n/).slice(0,e)}function h(A,e,t){let i=0;for(let n=e;n<t;n++){const e=A[n];if(!(e>=48&&e<=57))break;i=10*i+(e-48)}return i}e.default=class{filehandle;index;chunkCache;headerCache=new a.SharedReadCache({});constructor({path:A,filehandle:e,url:t,tbiPath:i,tbiUrl:n,tbiFilehandle:o,csiPath:I,csiUrl:Q,csiFilehandle:B,chunkCacheSize:C=1073741824,chunkCacheIdleTimeoutMs:E=18e4}){this.filehandle=function(A,e,t){if(A)return A;if(e)return new g.LocalFile(e);if(t)return new g.RemoteFile(t);throw new TypeError("must provide either filehandle, path, or url")}(e,A,t),this.index=function({tbiFilehandle:A,csiFilehandle:e,tbiPath:t,csiPath:i,tbiUrl:n,csiUrl:a,path:o,url:I}){if(A)return new r.default({filehandle:A});if(e)return new s.default({filehandle:e});if(t)return new r.default({filehandle:new g.LocalFile(t)});if(i)return new s.default({filehandle:new g.LocalFile(i)});if(a)return new s.default({filehandle:new g.RemoteFile(a)});if(n)return new r.default({filehandle:new g.RemoteFile(n)});if(o)return new r.default({filehandle:new g.LocalFile(`${o}.tbi`)});if(I)return new r.default({filehandle:new g.RemoteFile(`${I}.tbi`)});throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl")}({tbiFilehandle:o,csiFilehandle:B,tbiPath:i,csiPath:I,tbiUrl:n,csiUrl:Q,path:A,url:t}),this.chunkCache=new a.SharedReadCache({maxSize:C,sizeOf:A=>A.buffer.byteLength,cacheKey:A=>A.toString(),idleTimeoutMs:E,fill:(A,e)=>this.readChunk(A,{signal:e})})}clearChunkCache(){this.chunkCache.clear()}async bytesForRegions(A,e={}){const t=[];for(const{refName:i,start:n,end:a}of A){const A=await this.index.blocksForRange(i,n,a,e);for(const e of A)t.push(e)}let i=0;for(const A of(0,o.optimizeChunks)(t))i+=A.fetchedSize();return i}async getLines(A,e,t,i){let n,a,g,s={};"function"==typeof i?a=i:(s=i,a=i.lineCallback,n=i.signal,g=i.onProgress);const r=await this.index.getMetadata(s),o=e??0,B=t??r.maxRefLength;if(o>B)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(o===B)return;const C=await this.index.blocksForRange(A,o,B,s),E="VCF"===r.format,l=r.columnNumbers.ref||0,c=r.columnNumbers.start||0,d=E?8:r.columnNumbers.end||0,f=Math.max(l,c,d),u=r.metaChar?.charCodeAt(0),w="1-based-closed"===r.coordinateType?-1:0,_=new TextEncoder,k=new TextDecoder,y=_.encode(A),D=new Int32Array(f+1);let m=0;for(const A of C)m+=A.fetchedSize();let b=0;g?.(0,m);let N=1;const p=[],F=A=>{for(;p.length<Math.min(A,C.length);){const A=C[p.length],e=this.chunkCache.get(A,n);e.catch(()=>{}),p.push(e)}};F(1);for(let A=0,e=C.length;A<e;A++){const e=C[A],{buffer:t,cpositions:i,dpositions:n}=await p[A];b+=e.fetchedSize(),g?.(b,m);const s=e.minv.dataPosition;let r=0,_=0;for(;r<t.length;){const A=t.indexOf(10,r);if(-1===A)break;const e=r+s;for(;_<n.length&&e>=n[_];)_++;if(void 0!==u&&t[r]===u){r=A+1;continue}D[0]=r-1;for(let e=0;e<f;e++){const i=D[e],n=i<A?t.indexOf(9,i+1):-1;D[e+1]=-1===n||n>=A?A:n}const g=D[l-1]+1,C=D[l]-g;if(C!==y.length){r=A+1;continue}let m=!0;for(let A=0;A<C;A++)if(t[g+A]!==y[A]){m=!1;break}if(!m){r=A+1;continue}const b=h(t,D[c-1]+1,D[c])+w;if(b>=B)return;let N;if(N=0===d||d===c?b+1:E?Q(t,b,D[3]+1,D[4],D[d-1]+1,D[d]):h(t,D[d-1]+1,D[d]),N>o){const e=13===t[A-1]?A-1:A;a(k.decode(t.subarray(r,e)),I(i,n,_,r,s),b,N)}r=A+1}N=Math.min(2*N,6),F(A+1+N)}}async getMetadata(A={}){return this.index.getMetadata(A)}async readHeaderBytes(A){const{firstDataLine:e,maxBlockSize:t}=await this.getMetadata(A),i=(e?.blockPosition??0)+t,a=await this.filehandle.read(i,0,A);return(0,n.unzip)(a)}async parseHeader(A){const{metaChar:e,skipLines:t=0}=await this.getMetadata(A),i=await this.readHeaderBytes(A);return{header:B.decode(e?C(i,e):i),skippedLines:t>0?E(i,t):[]}}getParsedHeader(A={}){return this.headerCache.get("header",A.signal,e=>this.parseHeader({...A,signal:e}))}async getHeaderBuffer(A={}){const{metaChar:e}=await this.getMetadata(A),t=await this.readHeaderBytes(A);return e?C(t,e):t}async getSkippedLines(A={}){const{skipLines:e=0}=await this.getMetadata(A);return e<=0?[]:(await this.getParsedHeader(A)).skippedLines}async getHeader(A={}){return(await this.getParsedHeader(A)).header}async getHeaderLines(A={}){const{header:e,skippedLines:t}=await this.getParsedHeader(A);return(e?e.split(/\r?\n/):t).filter(Boolean)}async getReferenceSequenceNames(A={}){return(await this.getMetadata(A)).refIdToName}async lineCount(A,e={}){return this.index.lineCount(A,e)}async readChunk(A,e={}){const t=await this.filehandle.read(A.fetchedSize(),A.minv.blockPosition,e);return(0,n.unzipChunkSlice)(t,A)}}},552(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=i(t(538)),a=i(t(689)),g=t(951),s=t(483),r=2**29;function o(A){return Math.min(Math.max(A,0),r)}class I extends a.default{reg2bins(A,e){A>r&&console.warn("querying outside of possible tabix range");const t=o(A),i=Math.min(e,r)-1,n=[];return t<=i&&n.push([0,0],[1+(t>>26),1+(i>>26)],[9+(t>>23),9+(i>>23)],[73+(t>>20),73+(i>>20)],[585+(t>>17),585+(i>>17)],[4681+(t>>14),4681+(i>>14)]),n}lowestOffset(A,e){const t=A.linearIndex;return t?.[Math.min(o(e)>>14,t.length-1)]}async _parse(A={}){const{bytes:e,dataView:t}=await this.readIndexBytes(A);if(21578324!==t.getUint32(0,!0))throw new Error("Not a TBI file");const i=t.getUint32(4,!0),{refNameToId:a,refIdToName:o,coordinateType:I,format:Q,columnNumbers:B,metaChar:C,skipLines:E}=(0,g.parseAuxData)(e,8);let h,l=36+t.getInt32(32,!0);const c=[];for(let A=0;A<i;A++){c.push(l);const A=t.getInt32(l,!0);l+=4;for(let e=0;e<A;e++){const A=t.getUint32(l,!0);l+=4;const e=t.getInt32(l,!0);if(l+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");l+=16*e}const i=t.getInt32(l,!0);l+=4,h=(0,g.minVirtualOffset)(e,l,i,h),l+=8*i}return{indices:(0,g.memoizeByRefId)(function(A){const i=c[A];if(void 0===i)return;let a=i;const r=t.getInt32(a,!0);a+=4;const o={};let I;for(let A=0;A<r;A++){const A=t.getUint32(a,!0);if(a+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A){const A=t.getInt32(a,!0);a+=4,2===A&&(I=(0,g.parsePseudoBin)(e,a+16)),a+=16*A}else{const i=t.getInt32(a,!0);a+=4;const g=Array.from({length:i});for(let t=0;t<i;t++)g[t]=new n.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;o[A]=g}}const Q=t.getInt32(a,!0);a+=4;const B=Array.from({length:Q});for(let A=0;A<Q;A++)B[A]=(0,s.fromBytes)(e,a),a+=8;return(0,g.clampChunkEnds)(Object.values(o).flat(),B.map(A=>A.blockPosition)),{binIndex:o,linearIndex:B,stats:I}}),metaChar:C,minShift:14,depth:5,maxBinNumber:37449,maxRefLength:r,skipLines:E,firstDataLine:h,columnNumbers:B,coordinateType:I,format:Q,refIdToName:o,refNameToId:a,maxBlockSize:65536}}}e.default=I},951(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=void 0,e.optimizeChunks=function(A,e){const t=A.length;if(0===t)return A;let i;if(e){const n=e.blockPosition,a=e.dataPosition;i=[];for(let e=0;e<t;e++){const t=A[e];(t.maxv.blockPosition-n||t.maxv.dataPosition-a)>0&&i.push(t)}if(0===i.length)return i}else i=A;i.sort((A,e)=>{const t=A.minv.blockPosition-e.minv.blockPosition;return 0===t?A.minv.dataPosition-e.minv.dataPosition:t});const n=[i[0]];let g=i[0].minv.blockPosition,s=i[0].maxv.blockPosition;for(let A=1;A<i.length;A++){const e=i[A],t=e.minv.blockPosition,r=e.maxv.blockPosition;if(t-s<65e3&&r-g<5e6){const A=n.at(-1);(r-s||e.maxv.dataPosition-A.maxv.dataPosition)>0&&(n[n.length-1]=new a.default(A.minv,e.maxv,A.bin,e.endPosition),s=r)}else n.push(e),g=t,s=r}return function(A){const e=[A[0]];for(let t=1;t<A.length;t++){const i=A[t],n=e.at(-1).maxv;(i.minv.blockPosition-n.blockPosition||i.minv.dataPosition-n.dataPosition)>=0?e.push(i):(i.maxv.blockPosition-n.blockPosition||i.maxv.dataPosition-n.dataPosition)>0&&e.push(new a.default(n,i.maxv,i.bin,i.endPosition))}return e}(n)},e.clampChunkEnds=function(A,e=[]){const t=[...e];for(const e of A)t.push(e.minv.blockPosition,e.maxv.blockPosition);t.sort((A,e)=>A-e);for(const e of A){const A=e.maxv.blockPosition;let i=0,n=t.length;for(;i<n;){const e=i+n>>>1;t[e]>A?n=e:i=e+1}i<t.length&&(e.endPosition=Math.min(e.endPosition,t[i]))}},e.minVirtualOffset=function(A,e,t,i){let n=i?i.blockPosition:1/0,a=i?i.dataPosition:0,g=!1;for(let i=0;i<t;i++){const t=e+8*i,s=1099511627776*A[t+7]+4294967296*A[t+6]+16777216*A[t+5]+65536*A[t+4]+256*A[t+3]+A[t+2],r=A[t+1]<<8|A[t];(s<n||s===n&&r<a)&&(n=s,a=r,g=!0)}return g?new s.default(n,a):i},e.parseNameBytes=o,e.parseAuxData=function(A,e){const t=new DataView(A.buffer,A.byteOffset,A.byteLength),i=t.getInt32(e,!0),n=65536&i?"zero-based-half-open":"1-based-closed",a=I[15&i];if(!a)throw new Error(`invalid Tabix preset format flags ${i}`);const g={ref:t.getInt32(e+4,!0),start:t.getInt32(e+8,!0),end:t.getInt32(e+12,!0)},s=t.getInt32(e+16,!0),r=s?String.fromCharCode(s):void 0,Q=t.getInt32(e+20,!0),B=t.getInt32(e+24,!0),{refIdToName:C,refNameToId:E}=o(A.subarray(e+28,e+28+B));return{refIdToName:C,refNameToId:E,skipLines:Q,metaChar:r,columnNumbers:g,format:a,coordinateType:n}},e.parsePseudoBin=function(A,e){return{lineCount:(0,g.longFromBytesToUnsigned)(A,e)}},e.memoizeByRefId=function(A,e=5){const t=new n.default({maxSize:e});return e=>{const i=t.get(e);if(void 0!==i)return i;const n=A(e);return void 0!==n&&t.set(e,n),n}};const n=i(t(830)),a=i(t(538)),g=t(85),s=i(t(483));var r=t(586);function o(A){const e=new TextDecoder("utf-8"),t=[],i={};let n=0,a=0;for(;a<A.length;){const g=A.indexOf(0,a);if(-1===g)break;if(g>a){const s=e.decode(A.subarray(a,g));t[n]=s,i[s]=n}a=g+1,n++}return{refNameToId:i,refIdToName:t}}Object.defineProperty(e,"throwIfAborted",{enumerable:!0,get:function(){return r.throwIfAborted}});const I={0:"generic",1:"SAM",2:"VCF"}},483(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromBytes=function(A,e=0){return new t(1099511627776*A[e+7]+4294967296*A[e+6]+16777216*A[e+5]+65536*A[e+4]+256*A[e+3]+A[e+2],A[e+1]<<8|A[e])};class t{blockPosition;dataPosition;constructor(A,e){this.blockPosition=A,this.dataPosition=e}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(A){return this.blockPosition-A.blockPosition||this.dataPosition-A.dataPosition}}e.default=t},973(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(331),a=i(t(76)),g=t(952),s=t(508);e.default=class{filehandle;gzi;limit;constructor({filehandle:A,gziFilehandle:e,blockConcurrency:t=10}){this.filehandle=A,this.gzi=new a.default({filehandle:e}),this.limit=function(A){let e=0;const t=[];return async i=>{e>=A&&await new Promise(A=>{t.push(A)}),e++;try{return await i()}finally{e--,t.shift()?.()}}}(t)}async read(A,e){const{compressed:t,uncompressed:i,nextCompressedPosition:a}=await this.gzi.getRelevantBlocksForRead(A,e);if(0===t.length)return new Uint8Array(0);const r=e+A,o=function(A,e,t){const i=[],a=A.length;let g=0;for(;g<a;){let s=g+1;for(;s<a&&e[s]-e[g]<33554432;)s+=1;i.push({compressedStart:A[g],compressedEnd:s<a?A[s]:t??A[a-1]+n.MAX_BGZF_BLOCK_SIZE,uncompressedStart:e[g]}),g=s}return i}(t,i,a),I=await Promise.all(o.map(A=>this.limit(async()=>{const t=await this.filehandle.read(A.compressedEnd-A.compressedStart,A.compressedStart);return function(A,e,t,i){const n=Math.max(0,t-e),a=Math.min(i,e+A.length)-e;return n<A.length?A.subarray(n,a):new Uint8Array(0)}(await(0,g.unzip)(t),A.uncompressedStart,e,r)})));return(0,s.concatUint8Array)(I)}}},331(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MAX_BGZF_BLOCK_SIZE=void 0,e.MAX_BGZF_BLOCK_SIZE=65536},76(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(790),n={compressed:new Float64Array(0),uncompressed:new Float64Array(0)};function a(A,e){const t=new Float64Array(e+1),n=new Float64Array(e+1),a=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A<e;A+=1){const e=16*A;t[A+1]=(0,i.readUint64LE)(a,e),n[A+1]=(0,i.readUint64LE)(a,e+8)}return{compressed:t,uncompressed:n}}function g(A,e){let t=0,i=A.length;for(;t<i;){const n=t+i>>>1;A[n]<=e?t=n+1:i=n}return t}e.default=class{filehandle;index;constructor({filehandle:A}){this.filehandle=A}_getIndex(){return this.index||(this.index=this._readIndex().catch(A=>{throw this.index=void 0,A})),this.index}async _readIndex(){const A=await this.filehandle.read(8,0),e=(0,i.readUint64LE)(new DataView(A.buffer,A.byteOffset,A.byteLength));if(0===e)return a(new Uint8Array(0),0);if(e>Number.MAX_SAFE_INTEGER/16)throw new TypeError("integer overflow");return a(await this.filehandle.read(16*e,8),e)}async getRelevantBlocksForRead(A,e){if(0===A)return{...n,nextCompressedPosition:void 0};const{compressed:t,uncompressed:i}=await this._getIndex(),a=g(i,e)-1,s=g(i,e+A-1);return{compressed:t.subarray(a,s),uncompressed:i.subarray(a,s),nextCompressedPosition:s<t.length?t[s]:void 0}}}},322(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.unzipChunkSlice=e.unzip=e.MAX_BGZF_BLOCK_SIZE=e.BgzfFilehandle=void 0;var n=t(973);Object.defineProperty(e,"BgzfFilehandle",{enumerable:!0,get:function(){return i(n).default}});var a=t(331);Object.defineProperty(e,"MAX_BGZF_BLOCK_SIZE",{enumerable:!0,get:function(){return a.MAX_BGZF_BLOCK_SIZE}});var g=t(952);Object.defineProperty(e,"unzip",{enumerable:!0,get:function(){return g.unzip}}),Object.defineProperty(e,"unzipChunkSlice",{enumerable:!0,get:function(){return g.unzipChunkSlice}})},790(A,e){e.readUint64LE=function(A,e=0){const t=A.getUint32(e,!0);return 4294967296*A.getUint32(e+4,!0)+t}},952(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.unzip=async function(A){if(0===A.length)return new Uint8Array(0);if(!((e=A).length>=26&&a(e)&&8===e[2]&&4===e[3]&&6===e[10]&&66===e[12]&&67===e[13])){if(a(A))return s(A);throw new Error("problem decompressing block: not a valid bgzf or gzip block")}var e;try{return await(0,n.decompressAll)(A)}catch(e){if(g(e).includes("invalid bgzf header"))return s(A);throw r(e)}},e.unzipChunkSlice=async function(A,e){const{minv:t,maxv:i}=e;try{const e=await(0,n.decompressChunkSlice)(A,t.blockPosition,t.dataPosition,i.blockPosition,i.dataPosition);return{buffer:e.buffer,cpositions:e.cpositions,dpositions:e.dpositions}}catch(A){throw r(A)}};const i=t(196),n=t(431);function a(A){return 31===A[0]&&139===A[1]}function g(A){return A instanceof Error?A.message:`${A}`}async function s(A){if("undefined"!=typeof DecompressionStream){const e=new Blob([A]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(e).arrayBuffer())}return(0,i.ungzip)(A,void 0)}function r(A){return g(A).includes("invalid gzip header")?new Error("problem decompressing block: incorrect gzip header check",{cause:A}):A}},508(A,e){e.concatUint8Array=function(A){let e=0;for(const t of A)e+=t.length;const t=new Uint8Array(e);let i=0;for(const e of A)t.set(e,i),i+=e.length;return t}},431(A,e){e.decompressAll=async function(A){return N||await F(),a(A)},e.decompressChunkSlice=async function(A,e,t,i,n){N||await F();const a=g(A,e,t,i,n),s=a.take_buffer(),r=a.take_cpositions(),o=a.take_dpositions();return a.free(),{buffer:s,cpositions:r,dpositions:o}};var t={d:(A,e)=>{for(var i in e)t.o(e,i)&&!t.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:e[i]})},o:(A,e)=>Object.prototype.hasOwnProperty.call(A,e),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},i={};t.r(i),t.d(i,{ChunkSliceResult:()=>n,__wbg_Error_ef53bc310eb298a0:()=>s,__wbg___wbindgen_throw_1506f2235d1bdba0:()=>r,__wbg_set_wasm:()=>b,decompress_all:()=>a,decompress_chunk_slice:()=>g});class n{static __wrap(A){const e=Object.create(n.prototype);return e.__wbg_ptr=A,o.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,o.unregister(this),A}free(){const A=this.__destroy_into_raw();y.__wbg_chunksliceresult_free(A,0)}take_buffer(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_buffer(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=Q(A,e).slice();return y.__wbindgen_export(A,1*e,1),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_cpositions(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=I(A,e).slice();return y.__wbindgen_export(A,8*e,8),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_dpositions(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=I(A,e).slice();return y.__wbindgen_export(A,8*e,8),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}}function a(A){try{const a=y.__wbindgen_add_to_stack_pointer(-16),g=u(A,y.__wbindgen_export2),s=m;y.decompress_all(a,g,s);var e=C().getInt32(a+0,!0),t=C().getInt32(a+4,!0),i=C().getInt32(a+8,!0);if(C().getInt32(a+12,!0))throw w(i);var n=Q(e,t).slice();return y.__wbindgen_export(e,1*t,1),n}finally{y.__wbindgen_add_to_stack_pointer(16)}}function g(A,e,t,i,a){try{const r=y.__wbindgen_add_to_stack_pointer(-16),o=u(A,y.__wbindgen_export2),I=m;y.decompress_chunk_slice(r,o,I,e,t,i,a);var g=C().getInt32(r+0,!0),s=C().getInt32(r+4,!0);if(C().getInt32(r+8,!0))throw w(s);return n.__wrap(g)}finally{y.__wbindgen_add_to_stack_pointer(16)}}function s(A,e){return function(A){f===d.length&&d.push(d.length+1);const e=f;return f=d[e],d[e]=A,e}(Error(h(A,e)))}function r(A,e){throw new Error(h(A,e))}Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);const o="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>y.__wbg_chunksliceresult_free(A,1));function I(A,e){return A>>>=0,(null!==E&&0!==E.byteLength||(E=new Float64Array(y.memory.buffer)),E).subarray(A/8,A/8+e)}function Q(A,e){return A>>>=0,c().subarray(A/1,A/1+e)}let B=null;function C(){return(null===B||!0===B.buffer.detached||void 0===B.buffer.detached&&B.buffer!==y.memory.buffer)&&(B=new DataView(y.memory.buffer)),B}let E=null;function h(A,e){return function(A,e){return D+=e,D>=k&&(_=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),_.decode(),D=e),_.decode(c().subarray(A,A+e))}(A>>>0,e)}let l=null;function c(){return null!==l&&0!==l.byteLength||(l=new Uint8Array(y.memory.buffer)),l}let d=new Array(1024).fill(void 0);d.push(void 0,null,!0,!1);let f=d.length;function u(A,e){const t=e(1*A.length,1)>>>0;return c().set(A,t/1),m=A.length,t}function w(A){const e=function(A){return d[A]}(A);return function(A){A<1028||(d[A]=f,f=A)}(A),e}let _=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_.decode();const k=2146435072;let y,D=0,m=0;function b(A){y=A}let N=null,p=null;async function F(){return N||(p||(p=(async()=>{const A=await fetch("data:application/wasm;base64,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AEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEGUACyAAAkAgASgCAEUNACAAQbiXwAA2AgQgACABNgIADwsACx4BAX8CQCAAKAIAIgJFDQAgASACIAAoAgQQTQ8LAAsbAQF/EGogAEEEakEEEFgiASAANgIAIAFBBGoLHgEBfwJAIAAoAgAiAUEBSA0AIAAoAgQgAUEBEFMLCx4AIAAoAgAgACgCBEEAKALgmkAiAEEDIAAbEQQAAAsjAQF/AkBBhIrAABAtIgANAEG4icAAQTpB9InAABA4AAsgAAsXAAJAIABBf2pBfk8NACABIABBARBTCwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEFMLCxcAAkAgAUEJSQ0AIAEgABAODwsgABACCxUAIABBfGoiACAAKAIAQQRqQQQQUwsUAAJAIABFDQAgACABEF8ACxBWAAsRACAAIAFBAXRBAXIgAhAxAAsSAAJAIAFFDQAgACABIAIQUwsLEgAgACABIAIgAyAEQQAgBRADCxUAAkAgAEUNACAAIAAoAqhaEQIACwsaACAAQQApAoSWQDcCCCAAQQApAvyVQDcCAAsaACAAQQApAvSVQDcCCCAAQQApAuyVQDcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQcACw0AIAAgASACIAMQBw8LFABBACAANgK4mkBBAEEBNgK0mkALEwAgAEG4l8AANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBNCxAAIAEgACgCACAAKAIEEAoLCwAgACABIAIQKg8LCgAgACABEGkaAAsPACAAQZyVwAAgASACEAwLEQBBkJjAAEEjQaSYwAAQMQALCwAgACMAaiQAIwALCQAgACABEEQPCwkAIAAgARAuDwsJACAAIAEQYQALDABBr4fAAEEbEFoACw0AQcqHwABBzwAQWgALCQAgASAAEDsACwwAIAAgASkCADcDAAsJACABIAAQXQALDQAgAUH8mcAAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEEoLBwAgABA5AAsHACAAEEAACwcAIAAQJgALCwBBAEEBOgC4nkALCQAgAEEANgIACwUAEGsACwMADwsDAAALC7oaAgBBgIDAAAuUGkF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyMi9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjEzL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAA1gAQAF4AAABrAAAADQAAAMwCEAAKAAAAHAAAACQAAADMAhAACgAAAMIAAAApAAAAzAIQAAoAAAC2AAAAJwAAAMwCEAAKAAAAcQAAABwAAADMAhAACgAAAG0AAABBAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRpbnZhbGlkIGJnemYgaGVhZGVyAMwCEAAKAAAATAAAAD0AAABhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93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"),e=await A.arrayBuffer(),{instance:t}=await WebAssembly.instantiate(e,{"./bgzf_wasm_bg.js":i});return N=t.exports,b(N),N})()),p)}},703(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedReadCache=void 0;const i=t(186);e.SharedReadCache=class{entries=new Map;total=0;limit;fill;sizeOf;toCacheKey;evictionPolicy;pending=0;idleTimeoutMs;sweepTimer;constructor({fill:A,maxSize:e=1/0,sizeOf:t=()=>1,cacheKey:i=A=>String(A),evictionPolicy:n="lru",idleTimeoutMs:a=0}){this.fill=A,this.evictionPolicy=n,this.limit=e,this.sizeOf=t,this.toCacheKey=i,this.idleTimeoutMs=a>0?a:void 0}get size(){return this.entries.size}get totalSize(){return this.total}get maxSize(){return this.limit}set maxSize(A){this.limit=A,this.evict()}waiterCount(A){return this.entries.get(this.toCacheKey(A))?.signals.size??0}async get(A,e,t){(0,i.throwIfAborted)(e);const n=this.toCacheKey(A);let a=this.entries.get(n);a&&(this.entries.delete(n),this.entries.set(n,a),a.touched=!0,a.lastTouched=Date.now(),!a.settled&&a.controller.signal.aborted&&(this.delete(A),a=void 0)),a??=this.start(n,A,t),a.settled||this.join(a,e);try{const A=await a.promise;return(0,i.throwIfAborted)(e),A}catch(A){throw(0,i.throwIfAborted)(e),A}}getIfCached(A){const e=this.toCacheKey(A),t=this.entries.get(e);if(t)return this.entries.delete(e),this.entries.set(e,t),t.touched=!0,t.lastTouched=Date.now(),t.promise}has(A){return this.entries.has(this.toCacheKey(A))}delete(A){this.deleteKey(this.toCacheKey(A))}clear(){this.entries.clear(),this.total=0,this.stopSweep()}sweepIdle(){const A=this.idleTimeoutMs;if(void 0===A)return;const e=Date.now()-A;for(const[A,t]of this.entries)t.settled&&t.lastTouched<=e&&this.deleteKey(A);0===this.entries.size&&this.stopSweep()}startSweep(){const A=this.idleTimeoutMs;if(void 0===A||void 0!==this.sweepTimer)return;const e=Math.max(1e3,Math.floor(A/4));var t;this.sweepTimer=setInterval(()=>{this.sweepIdle()},e),"object"==typeof(t=this.sweepTimer)&&null!==t&&"unref"in t&&"function"==typeof t.unref&&t.unref()}stopSweep(){void 0!==this.sweepTimer&&(clearInterval(this.sweepTimer),this.sweepTimer=void 0)}start(A,e,t){const i=t??(this.fill&&(A=>this.fill(e,A)));if(!i)throw new Error("SharedReadCache needs a fill, either on the cache or on the get() call");const n=new AbortController,a={promise:i(n.signal),signals:new Set,pinned:!1,controller:n,dispose:new AbortController,settled:!1,size:0,touched:!0,lastTouched:Date.now()};this.entries.set(A,a),this.startSweep(),this.pending++;const g=()=>{a.settled=!0,this.pending--,a.dispose.abort(),a.signals.clear()};return a.promise.then(e=>{g(),this.entries.get(A)===a&&(a.size=this.sizeOf(e),this.total+=a.size),this.maybeEvict()},()=>{g(),this.entries.get(A)===a&&this.entries.delete(A),this.maybeEvict()}),a}join(A,e){void 0===e?A.pinned=!0:e.aborted?A.pinned||0!==A.signals.size||A.controller.abort(e.reason):"function"!=typeof e.addEventListener?A.pinned=!0:A.signals.has(e)||(A.signals.add(e),e.addEventListener("abort",()=>{A.signals.delete(e),A.pinned||0!==A.signals.size||A.controller.abort(e.reason)},{once:!0,signal:A.dispose.signal}))}deleteKey(A){const e=this.entries.get(A);e&&(this.entries.delete(A),this.total-=e.size)}maybeEvict(){"lru"!==this.evictionPolicy&&0!==this.pending||this.evict()}evict(){if(this.limit===1/0)return;if("batch"===this.evictionPolicy){for(const[A,e]of this.entries){if(this.total<=this.limit)break;!e.touched&&e.settled&&this.deleteKey(A)}for(const A of this.entries.values())A.touched=!1;return}let A=0;for(const e of this.entries.values())e.settled&&A++;for(const[e,t]of this.entries){if(this.total<=this.limit||A<=1)break;t.settled&&(this.deleteKey(e),A--)}}}},586(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=e.SharedReadCache=void 0;var i=t(703);Object.defineProperty(e,"SharedReadCache",{enumerable:!0,get:function(){return i.SharedReadCache}});var n=t(186);Object.defineProperty(e,"throwIfAborted",{enumerable:!0,get:function(){return n.throwIfAborted}})},186(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=function(A){if(A?.aborted){const e=A.reason;throw void 0===e?new DOMException("This operation was aborted","AbortError"):e}}},830(A,e){var t,i,n,a,g,s,r,o,I,Q,B,C,E,h,l,c=this&&this.__classPrivateFieldSet||function(A,e,t,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?A!==e||!n:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(A,t):n?n.value=t:e.set(A,t),t},d=this&&this.__classPrivateFieldGet||function(A,e,t,i){if("a"===t&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?A!==e||!i:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?i:"a"===t?i.call(A):i?i.value:e.get(A)};Object.defineProperty(e,"__esModule",{value:!0});class f extends Map{constructor(A={}){if(super(),t.add(this),i.set(this,0),n.set(this,new Map),a.set(this,new Map),g.set(this,void 0),s.set(this,void 0),r.set(this,void 0),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");c(this,g,A.maxSize,"f"),c(this,s,A.maxAge||Number.POSITIVE_INFINITY,"f"),c(this,r,A.onEviction,"f")}get __oldCache(){return d(this,a,"f")}get(A){if(d(this,n,"f").has(A)){const e=d(this,n,"f").get(A);return d(this,t,"m",B).call(this,A,e)}if(d(this,a,"f").has(A)){const e=d(this,a,"f").get(A);if(!d(this,t,"m",I).call(this,A,e))return d(this,t,"m",h).call(this,A,e),e.value}}set(A,e,{maxAge:i=d(this,s,"f")}={}){const a="number"==typeof i&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return d(this,n,"f").has(A)?d(this,n,"f").set(A,{value:e,expiry:a}):d(this,t,"m",E).call(this,A,{value:e,expiry:a}),this}has(A){return d(this,n,"f").has(A)?!d(this,t,"m",I).call(this,A,d(this,n,"f").get(A)):!!d(this,a,"f").has(A)&&!d(this,t,"m",I).call(this,A,d(this,a,"f").get(A))}peek(A){return d(this,n,"f").has(A)?d(this,t,"m",C).call(this,A,d(this,n,"f")):d(this,a,"f").has(A)?d(this,t,"m",C).call(this,A,d(this,a,"f")):void 0}expiresIn(A){const e=d(this,n,"f").get(A)??d(this,a,"f").get(A);if(e)return e.expiry?e.expiry-Date.now():Number.POSITIVE_INFINITY}delete(A){var e;const t=d(this,n,"f").delete(A);return t&&c(this,i,(e=d(this,i,"f"),--e),"f"),d(this,a,"f").delete(A)||t}clear(){d(this,n,"f").clear(),d(this,a,"f").clear(),c(this,i,0,"f")}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const e=[...d(this,t,"m",l).call(this)],s=e.length-A;s<0?(c(this,n,new Map(e),"f"),c(this,a,new Map,"f"),c(this,i,e.length,"f")):(s>0&&d(this,t,"m",o).call(this,e.slice(0,s)),c(this,a,new Map(e.slice(s)),"f"),c(this,n,new Map,"f"),c(this,i,0,"f")),c(this,g,A,"f")}evict(A=1){const e=A;if(!e||e<=0)return;const g=[...d(this,t,"m",l).call(this)],s=Math.trunc(Math.min(e,Math.max(g.length-1,0)));s<=0||(d(this,t,"m",o).call(this,g.slice(0,s)),c(this,a,new Map(g.slice(s)),"f"),c(this,n,new Map,"f"),c(this,i,0,"f"))}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[(i=new WeakMap,n=new WeakMap,a=new WeakMap,g=new WeakMap,s=new WeakMap,r=new WeakMap,t=new WeakSet,o=function(A){if("function"==typeof d(this,r,"f"))for(const[e,t]of A)d(this,r,"f").call(this,e,t.value)},I=function(A,e){return"number"==typeof e.expiry&&e.expiry<=Date.now()&&("function"==typeof d(this,r,"f")&&d(this,r,"f").call(this,A,e.value),this.delete(A))},Q=function(A,e){if(!d(this,t,"m",I).call(this,A,e))return e.value},B=function(A,e){return e.expiry?d(this,t,"m",Q).call(this,A,e):e.value},C=function(A,e){const i=e.get(A);return d(this,t,"m",B).call(this,A,i)},E=function(A,e){var s;d(this,n,"f").set(A,e),c(this,i,(s=d(this,i,"f"),++s),"f"),d(this,i,"f")>=d(this,g,"f")&&(c(this,i,0,"f"),d(this,t,"m",o).call(this,d(this,a,"f")),c(this,a,d(this,n,"f"),"f"),c(this,n,new Map,"f"))},h=function(A,e){d(this,a,"f").delete(A),d(this,t,"m",E).call(this,A,e)},l=function*(){for(const A of d(this,a,"f")){const[e,i]=A;d(this,n,"f").has(e)||d(this,t,"m",I).call(this,e,i)||(yield A)}for(const A of d(this,n,"f")){const[e,i]=A;d(this,t,"m",I).call(this,e,i)||(yield A)}},Symbol.iterator)](){for(const A of d(this,n,"f")){const[e,i]=A;d(this,t,"m",I).call(this,e,i)||(yield[e,i.value])}for(const A of d(this,a,"f")){const[e,i]=A;d(this,n,"f").has(e)||d(this,t,"m",I).call(this,e,i)||(yield[e,i.value])}}*entriesDescending(){let A=[...d(this,n,"f")];for(let e=A.length-1;e>=0;--e){const i=A[e],[n,a]=i;d(this,t,"m",I).call(this,n,a)||(yield[n,a.value])}A=[...d(this,a,"f")];for(let e=A.length-1;e>=0;--e){const i=A[e],[a,g]=i;d(this,n,"f").has(a)||d(this,t,"m",I).call(this,a,g)||(yield[a,g.value])}}*entriesAscending(){for(const[A,e]of d(this,t,"m",l).call(this))yield[A,e.value]}get size(){if(!d(this,i,"f"))return d(this,a,"f").size;let A=0;for(const e of d(this,a,"f").keys())d(this,n,"f").has(e)||A++;return Math.min(d(this,i,"f")+A,d(this,g,"f"))}get maxSize(){return d(this,g,"f")}get maxAge(){return d(this,s,"f")}entries(){return this.entriesAscending()}forEach(A,e=this){for(const[t,i]of this.entriesAscending())A.call(e,i,t,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}e.default=f},379(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(98);e.default=class{blob;constructor(A){this.blob=A}async read(A,e=0){return 0===A?new Uint8Array(0):(0,i.toBytes)(this.blob.slice(e,e+A))}async readFile(A){const e="string"==typeof A?A:A?.encoding;if("utf8"===e)return this.blob.text();if(e)throw new Error(`unsupported encoding: ${e}`);return(0,i.toBytes)(this.blob)}stat(){return Promise.resolve({size:this.blob.size})}close(){return Promise.resolve()}}},252(A,e,t){var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){void 0===i&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,i,n)}:function(A,e,t,i){void 0===i&&(i=t),A[i]=e[t]}),n=this&&this.__exportStar||function(A,e){for(var t in A)"default"===t||Object.prototype.hasOwnProperty.call(e,t)||i(e,A,t)},a=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.LocalFile=e.RemoteFile=e.BlobFile=void 0,n(t(262),e);var g=t(379);Object.defineProperty(e,"BlobFile",{enumerable:!0,get:function(){return a(g).default}});var s=t(206);Object.defineProperty(e,"RemoteFile",{enumerable:!0,get:function(){return a(s).default}}),e.LocalFile=class{readFile(){return Promise.reject(new Error("unimplemented"))}read(){return Promise.reject(new Error("unimplemented"))}stat(){return Promise.reject(new Error("unimplemented"))}close(){return Promise.reject(new Error("unimplemented"))}}},262(A,e){Object.defineProperty(e,"__esModule",{value:!0})},206(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(98);e.default=class{url;_stat;fetchImplementation;baseHeaders;baseOverrides;constructor(A,e={}){this.url=A,this.baseHeaders=e.headers??{},this.baseOverrides=e.overrides??{},this.fetchImplementation=e.fetch??globalThis.fetch.bind(globalThis)}buildRequest(A,e){return{...this.baseOverrides,...A.overrides,headers:{...this.baseHeaders,...A.headers,...e},method:"GET",redirect:"follow",mode:"cors",signal:A.signal}}async fetch(A,e){const t=e=>new Error(`${function(A){return("object"==typeof A&&null!==A&&"message"in A&&"string"==typeof A.message?A.message:`${A}`).replace(/\.$/,"")}(e)} fetching ${A}`,{cause:e});let i;try{i=await this.fetchImplementation(A,e)}catch(n){if(!`${n}`.includes("Failed to fetch"))throw t(n);console.warn(`generic-filehandle: refetching ${A} to attempt to work around chrome CORS header caching bug`);try{i=await this.fetchImplementation(A,{...e,cache:"reload"})}catch(A){throw t(A)}}return i}async read(A,e,t={}){if(0===A)return new Uint8Array(0);if(Number.isNaN(A)||Number.isNaN(e))throw new TypeError(`read() called with NaN length or position (length=${A}, position=${e}). The index file may be corrupt.`);const n=await this.fetch(this.url,this.buildRequest(t,{range:`bytes=${e}-${e+A-1}`}));if(416===n.status)return new Uint8Array(0);if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if(200===n.status&&0===e||206===n.status){const e=n.headers.get("content-range"),a=/\/(\d+)$/.exec(e??"");a?.[1]&&(this._stat={size:parseInt(a[1],10)});const g=t.onProgress?await(0,i.toBytesWithProgress)(n,t.onProgress):await(0,i.toBytes)(n);return this._stat||200!==n.status||(this._stat={size:g.byteLength}),g.byteLength<=A?g:g.subarray(0,A)}throw new Error(200===n.status?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}async readFile(A={}){const e="string"==typeof A?A:A.encoding,t="string"==typeof A?{}:A,n=await this.fetch(this.url,this.buildRequest(t));if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if("utf8"===e)return n.text();if(e)throw new Error(`unsupported encoding: ${e}`);return t.onProgress?(0,i.toBytesWithProgress)(n,t.onProgress):(0,i.toBytes)(n)}async stat(){return this._stat||await this.read(10,0),this._stat??{size:0}}close(){return Promise.resolve()}}},98(A,e){async function t(A){return A.bytes?A.bytes():new Uint8Array(await A.arrayBuffer())}e.toBytes=t,e.toBytesWithProgress=async function(A,e){const i=A.headers.get("content-length"),n=i?parseInt(i,10):void 0,a=A.body;if(!a||void 0===n){const i=await t(A);return e(i.byteLength,n??i.byteLength),i}const g=a.getReader();let s=new Uint8Array(n),r=0,o=0;e(0,n);for(let A=await g.read();!A.done;A=await g.read()){if(r+A.value.byteLength>s.length){const e=new Uint8Array(Math.max(r+A.value.byteLength,2*s.length));e.set(s.subarray(0,r)),s=e}s.set(A.value,r),r+=A.value.byteLength;const t=Date.now();t-o>=50&&(o=t,e(r,n))}return e(r,n),r===s.length?s:s.subarray(0,r)}},850(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.Deflate=void 0,e.deflate=B,e.deflateRaw=function(A,e){return(e=e||{}).raw=!0,B(A,e)},e.gzip=function(A,e){return(e=e||{}).gzip=!0,B(A,e)};const n=t(409),a=t(581),g=t(978),s=t(708),r=i(t(263)),o=i(t(877));var I=Object.prototype.toString;class Q{constructor(A){this.options=(0,n.assign)({level:g.Z_DEFAULT_COMPRESSION,method:g.Z_DEFLATED,chunkSize:16384,windowBits:15,memLevel:8,strategy:g.Z_DEFAULT_STRATEGY,to:""},A||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o.default,this.strm.avail_out=0;var t=(0,s.deflateInit2)(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==g.Z_OK)throw new Error(r.default[t]);if(e.header&&(0,s.deflateSetHeader)(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?(0,a.string2buf)(e.dictionary):"[object ArrayBuffer]"===I.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(t=(0,s.deflateSetDictionary)(this.strm,i))!==g.Z_OK)throw new Error(r.default[t]);this._dict_set=!0}}push(A,e){var t,i,r=this.strm,o=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof A?r.input=(0,a.string2buf)(A):"[object ArrayBuffer]"===I.call(A)?r.input=new Uint8Array(A):r.input=A,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=(0,n.Buf8)(o),r.next_out=0,r.avail_out=o),(t=(0,s.deflate)(r,i))!==g.Z_STREAM_END&&t!==g.Z_OK)return this.onEnd(t),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||i!==g.Z_FINISH&&i!==g.Z_SYNC_FLUSH)||("string"===this.options.to?this.onData((0,a.buf2binstring)((0,n.shrinkBuf)(r.output,r.next_out))):this.onData((0,n.shrinkBuf)(r.output,r.next_out)))}while((r.avail_in>0||0===r.avail_out)&&t!==g.Z_STREAM_END);return i===g.Z_FINISH?(t=(0,s.deflateEnd)(this.strm),this.onEnd(t),this.ended=!0,t===g.Z_OK):i!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),r.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,n.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function B(A,e){var t=new Q(e);if(t.push(A,!0),t.err)throw t.msg||r.default[t.err];return t.result}e.Deflate=Q},426(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.ungzip=e.Inflate=void 0,e.inflate=C,e.inflateRaw=function(A,e){return(e=e||{}).raw=!0,C(A,e)};const n=t(409),a=t(581),g=t(978),s=i(t(547)),r=t(184),o=i(t(263)),I=i(t(877));var Q=Object.prototype.toString;class B{constructor(A){if(!(this instanceof B))return new B(A);this.options=(0,n.assign)({chunkSize:16384,windowBits:0,to:""},A||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||A&&A.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I.default,this.strm.avail_out=0;var t=(0,r.inflateInit2)(this.strm,e.windowBits);if(t!==g.Z_OK)throw new Error(o.default[t]);if(this.header=new s.default,(0,r.inflateGetHeader)(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=(0,a.string2buf)(e.dictionary):"[object ArrayBuffer]"===Q.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=(0,r.inflateSetDictionary)(this.strm,e.dictionary))!==g.Z_OK))throw new Error(o.default[t])}push(A,e){var t,i,s,o,I,B,C=this.strm,E=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof A?C.input=(0,a.binstring2buf)(A):"[object ArrayBuffer]"===Q.call(A)?C.input=new Uint8Array(A):C.input=A,C.next_in=0,C.avail_in=C.input.length;do{if(0===C.avail_out&&(C.output=(0,n.Buf8)(E),C.next_out=0,C.avail_out=E),(t=(0,r.inflate)(C,g.Z_NO_FLUSH))===g.Z_NEED_DICT&&h&&(B="string"==typeof h?(0,a.string2buf)(h):"[object ArrayBuffer]"===Q.call(h)?new Uint8Array(h):h,t=(0,r.inflateSetDictionary)(this.strm,B)),t===g.Z_BUF_ERROR&&!0===l&&(t=g.Z_OK,l=!1),t!==g.Z_STREAM_END&&t!==g.Z_OK)return this.onEnd(t),this.ended=!0,!1;C.next_out&&(0!==C.avail_out&&t!==g.Z_STREAM_END&&(0!==C.avail_in||i!==g.Z_FINISH&&i!==g.Z_SYNC_FLUSH)||("string"===this.options.to?(s=(0,a.utf8border)(C.output,C.next_out),o=C.next_out-s,I=(0,a.buf2string)(C.output,s),C.next_out=o,C.avail_out=E-o,o&&(0,n.arraySet)(C.output,C.output,s,o,0),this.onData(I)):this.onData((0,n.shrinkBuf)(C.output,C.next_out)))),0===C.avail_in&&0===C.avail_out&&(l=!0)}while((C.avail_in>0||0===C.avail_out)&&t!==g.Z_STREAM_END);return t===g.Z_STREAM_END&&(i=g.Z_FINISH),i===g.Z_FINISH?(t=(0,r.inflateEnd)(this.strm),this.onEnd(t),this.ended=!0,t===g.Z_OK):i!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),C.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,n.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function C(A,e){var t=new B(e);if(t.push(A,!0),t.err)throw t.msg||o.default[t.err];return t.result}e.Inflate=B,e.ungzip=C},196(A,e,t){var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){void 0===i&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,i,n)}:function(A,e,t,i){void 0===i&&(i=t),A[i]=e[t]}),n=this&&this.__exportStar||function(A,e){for(var t in A)"default"===t||Object.prototype.hasOwnProperty.call(e,t)||i(e,A,t)};Object.defineProperty(e,"__esModule",{value:!0}),n(t(978),e),n(t(426),e),n(t(850),e)},409(A,e){function t(A,e){return Object.prototype.hasOwnProperty.call(A,e)}e.Buf32=e.Buf16=e.Buf8=e.flattenChunks=e.arraySet=void 0,e.assign=function(A){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)t(i,n)&&(A[n]=i[n])}}return A},e.shrinkBuf=function(A,e){return A.length===e?A:A.subarray?A.subarray(0,e):(A.length=e,A)};var i={arraySet:function(A,e,t,i,n){if(e.subarray&&A.subarray)A.set(e.subarray(t,t+i),n);else for(var a=0;a<i;a++)A[n+a]=e[t+a]},flattenChunks:function(A){var e,t,i,n,a,g;for(i=0,e=0,t=A.length;e<t;e++)i+=A[e].length;for(g=new Uint8Array(i),n=0,e=0,t=A.length;e<t;e++)a=A[e],g.set(a,n),n+=a.length;return g},Buf8:function(A){return new Uint8Array(A)},Buf16:function(A){return new Uint16Array(A)},Buf32:function(A){return new Int32Array(A)}},n={arraySet:function(A,e,t,i,n){for(var a=0;a<i;a++)A[n+a]=e[t+a]},flattenChunks:function(A){return[].concat.apply([],A)},Buf8:function(A){return new Array(A)},Buf16:function(A){return new Array(A)},Buf32:function(A){return new Array(A)}};let a=()=>{const A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;return a=()=>A,A};e.arraySet=(A,t,g,s,r)=>(e.arraySet=a()?i.arraySet:n.arraySet,(0,e.arraySet)(A,t,g,s,r)),e.flattenChunks=A=>(e.flattenChunks=a()?i.flattenChunks:n.flattenChunks,(0,e.flattenChunks)(A)),e.Buf8=A=>(e.Buf8=a()?i.Buf8:n.Buf8,(0,e.Buf8)(A)),e.Buf16=A=>(e.Buf16=a()?i.Buf16:n.Buf16,(0,e.Buf16)(A)),e.Buf32=A=>(e.Buf32=a()?i.Buf32:n.Buf32,(0,e.Buf32)(A))},581(A,e,t){e.string2buf=function(A){var e,t,i,n,a,g=A.length,s=0;for(n=0;n<g;n++)55296==(64512&(t=A.charCodeAt(n)))&&n+1<g&&56320==(64512&(i=A.charCodeAt(n+1)))&&(t=65536+(t-55296<<10)+(i-56320),n++),s+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(s),a=0,n=0;a<s;n++)55296==(64512&(t=A.charCodeAt(n)))&&n+1<g&&56320==(64512&(i=A.charCodeAt(n+1)))&&(t=65536+(t-55296<<10)+(i-56320),n++),t<128?e[a++]=t:t<2048?(e[a++]=192|t>>>6,e[a++]=128|63&t):t<65536?(e[a++]=224|t>>>12,e[a++]=128|t>>>6&63,e[a++]=128|63&t):(e[a++]=240|t>>>18,e[a++]=128|t>>>12&63,e[a++]=128|t>>>6&63,e[a++]=128|63&t);return e},e.buf2binstring=function(A){return s(A,A.length)},e.binstring2buf=function(A){for(var e=new Uint8Array(A.length),t=0,i=e.length;t<i;t++)e[t]=A.charCodeAt(t);return e},e.buf2string=function(A,e){var t,i,n,a,r=e||A.length,o=new Array(2*r);for(i=0,t=0;t<r;)if((n=A[t++])<128)o[i++]=n;else if((a=g(n))>4)o[i++]=65533,t+=a-1;else{for(n&=2===a?31:3===a?15:7;a>1&&t<r;)n=n<<6|63&A[t++],a--;a>1?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return s(o,i)},e.utf8border=function(A,e){var t;for((e=e||A.length)>A.length&&(e=A.length),t=e-1;t>=0&&128==(192&A[t]);)t--;return t<0||0===t?e:t+g(A[t])>e?t:e};const i=t(409);let n=function(){let A=!0;try{String.fromCharCode.apply(null,[0])}catch(e){A=!1}return n=()=>A,A},a=function(){let A=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){A=!1}return a=()=>A,A},g=function(A){for(var e=(0,i.Buf8)(256),t=0;t<256;t++)e[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;return e[254]=e[254]=1,g=A=>e[A],e[A]};function s(A,e){if(e<65534&&(A.subarray&&a()||!A.subarray&&n()))return String.fromCharCode.apply(null,(0,i.shrinkBuf)(A,e));for(var t="",g=0;g<e;g++)t+=String.fromCharCode(A[g]);return t}},654(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,t,i){for(var n=65535&A,a=A>>>16&65535,g=0;0!==t;){t-=g=t>2e3?2e3:t;do{a=a+(n=n+e[i++]|0)|0}while(--g);n%=65521,a%=65521}return n|a<<16}},978(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Z_DEFLATED=e.Z_UNKNOWN=e.Z_TEXT=e.Z_BINARY=e.Z_DEFAULT_STRATEGY=e.Z_FIXED=e.Z_RLE=e.Z_HUFFMAN_ONLY=e.Z_FILTERED=e.Z_DEFAULT_COMPRESSION=e.Z_BEST_COMPRESSION=e.Z_BEST_SPEED=e.Z_NO_COMPRESSION=e.Z_BUF_ERROR=e.Z_DATA_ERROR=e.Z_STREAM_ERROR=e.Z_ERRNO=e.Z_NEED_DICT=e.Z_STREAM_END=e.Z_OK=e.Z_TREES=e.Z_BLOCK=e.Z_FINISH=e.Z_FULL_FLUSH=e.Z_SYNC_FLUSH=e.Z_PARTIAL_FLUSH=e.Z_NO_FLUSH=void 0,e.Z_NO_FLUSH=0,e.Z_PARTIAL_FLUSH=1,e.Z_SYNC_FLUSH=2,e.Z_FULL_FLUSH=3,e.Z_FINISH=4,e.Z_BLOCK=5,e.Z_TREES=6,e.Z_OK=0,e.Z_STREAM_END=1,e.Z_NEED_DICT=2,e.Z_ERRNO=-1,e.Z_STREAM_ERROR=-2,e.Z_DATA_ERROR=-3,e.Z_BUF_ERROR=-5,e.Z_NO_COMPRESSION=0,e.Z_BEST_SPEED=1,e.Z_BEST_COMPRESSION=9,e.Z_DEFAULT_COMPRESSION=-1,e.Z_FILTERED=1,e.Z_HUFFMAN_ONLY=2,e.Z_RLE=3,e.Z_FIXED=4,e.Z_DEFAULT_STRATEGY=0,e.Z_BINARY=0,e.Z_TEXT=1,e.Z_UNKNOWN=2,e.Z_DEFLATED=8},896(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,i,n){var a=t(),g=n+i;A^=-1;for(var s=n;s<g;s++)A=A>>>8^a[255&(A^e[s])];return-1^A};let t=function(){const A=function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}();return t=()=>A,A}},708(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.deflateInfo=void 0,e.deflateResetKeep=S,e.deflateReset=J,e.deflateSetHeader=function(A,e){return A&&A.state?2!==A.state.wrap?a.Z_STREAM_ERROR:(A.state.gzhead=e,a.Z_OK):a.Z_STREAM_ERROR},e.deflateInit2=R,e.deflateInit=function(A,e){return R(A,e,a.Z_DEFLATED,15,8,a.Z_DEFAULT_STRATEGY)},e.deflate=function(A,e){var t,i,n,s;if(!A||!A.state||e>a.Z_BLOCK||e<0)return A?h(A,a.Z_STREAM_ERROR):a.Z_STREAM_ERROR;if(i=A.state,!A.output||!A.input&&0!==A.avail_in||i.status===E&&e!==a.Z_FINISH)return h(A,0===A.avail_out?a.Z_BUF_ERROR:a.Z_STREAM_ERROR);if(i.strm=A,t=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)A.adler=0,u(i,31),u(i,139),u(i,8),i.gzhead?(u(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),u(i,255&i.gzhead.time),u(i,i.gzhead.time>>8&255),u(i,i.gzhead.time>>16&255),u(i,i.gzhead.time>>24&255),u(i,9===i.level?2:i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(u(i,255&i.gzhead.extra.length),u(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(u(i,0),u(i,0),u(i,0),u(i,0),u(i,0),u(i,9===i.level?2:i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,3),i.status=C);else{var o=a.Z_DEFLATED+(i.w_bits-8<<4)<<8;o|=(i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(o|=32),o+=31-o%31,i.status=C,w(i,o),0!==i.strstart&&(w(i,A.adler>>>16),w(i,65535&A.adler)),A.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending!==i.pending_buf_size));)u(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,u(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,u(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=B)}else i.status=B;if(i.status===B&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&d(A),i.pending+2<=i.pending_buf_size&&(u(i,255&A.adler),u(i,A.adler>>8&255),A.adler=0,i.status=C)):i.status=C),0!==i.pending){if(d(A),0===A.avail_out)return i.last_flush=-1,a.Z_OK}else if(0===A.avail_in&&l(e)<=l(t)&&e!==a.Z_FINISH)return h(A,a.Z_BUF_ERROR);if(i.status===E&&0!==A.avail_in)return h(A,a.Z_BUF_ERROR);if(0!==A.avail_in||0!==i.lookahead||e!==a.Z_NO_FLUSH&&i.status!==E){var Q=i.strategy===a.Z_HUFFMAN_ONLY?function(A,e){for(var t;;){if(0===A.lookahead&&(y(A),0===A.lookahead)){if(e===a.Z_NO_FLUSH)return 1;break}if(A.match_length=0,t=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,t&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,e):i.strategy===a.Z_RLE?function(A,e){for(var t,i,n,g,s=A.window;;){if(A.lookahead<=I){if(y(A),A.lookahead<=I&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(i=s[n=A.strstart-1])===s[++n]&&i===s[++n]&&i===s[++n]){g=A.strstart+I;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<g);A.match_length=I-(g-n),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(t=(0,r._tr_tally)(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(t=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),t&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,e):p()[i.level].func(i,e);if(3!==Q&&4!==Q||(i.status=E),1===Q||3===Q)return 0===A.avail_out&&(i.last_flush=-1),a.Z_OK;if(2===Q&&(e===a.Z_PARTIAL_FLUSH?(0,r._tr_align)(i):e!==a.Z_BLOCK&&((0,r._tr_stored_block)(i,0,0,!1),e===a.Z_FULL_FLUSH&&(c(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),d(A),0===A.avail_out))return i.last_flush=-1,a.Z_OK}return e!==a.Z_FINISH?a.Z_OK:i.wrap<=0?a.Z_STREAM_END:(2===i.wrap?(u(i,255&A.adler),u(i,A.adler>>8&255),u(i,A.adler>>16&255),u(i,A.adler>>24&255),u(i,255&A.total_in),u(i,A.total_in>>8&255),u(i,A.total_in>>16&255),u(i,A.total_in>>24&255)):(w(i,A.adler>>>16),w(i,65535&A.adler)),d(A),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?a.Z_OK:a.Z_STREAM_END)},e.deflateEnd=function(A){var e;return A&&A.state?42!==(e=A.state.status)&&69!==e&&73!==e&&91!==e&&e!==B&&e!==C&&e!==E?h(A,a.Z_STREAM_ERROR):(A.state=null,e===C?h(A,a.Z_DATA_ERROR):a.Z_OK):a.Z_STREAM_ERROR},e.deflateSetDictionary=function(A,e){var t,i,g,s,r,I,Q,B,C=e.length;if(!A||!A.state)return a.Z_STREAM_ERROR;if(2===(s=(t=A.state).wrap)||1===s&&42!==t.status||t.lookahead)return a.Z_STREAM_ERROR;for(1===s&&(A.adler=(0,n.default)(A.adler,e,C,0)),t.wrap=0,C>=t.w_size&&(0===s&&(c(t.head),t.strstart=0,t.block_start=0,t.insert=0),B=(0,o.Buf8)(t.w_size),(0,o.arraySet)(B,e,C-t.w_size,t.w_size,0),e=B,C=t.w_size),r=A.avail_in,I=A.next_in,Q=A.input,A.avail_in=C,A.next_in=0,A.input=e,y(t);t.lookahead>=3;){i=t.strstart,g=t.lookahead-2;do{t.ins_h=(t.ins_h<<t.hash_shift^t.window[i+3-1])&t.hash_mask,t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++}while(--g);t.strstart=i,t.lookahead=2,y(t)}return t.strstart+=t.lookahead,t.block_start=t.strstart,t.insert=t.lookahead,t.lookahead=0,t.match_length=t.prev_length=2,t.match_available=0,A.next_in=I,A.input=Q,A.avail_in=r,t.wrap=s,a.Z_OK};const n=i(t(654)),a=t(978),g=i(t(896)),s=i(t(263)),r=t(926),o=t(409);var I=258,Q=262,B=103,C=113,E=666;function h(A,e){return A.msg=s.default[e],e}function l(A){return(A<<1)-(A>4?9:0)}function c(A){for(var e=A.length;--e>=0;)A[e]=0}function d(A){var e=A.state,t=e.pending;t>A.avail_out&&(t=A.avail_out),0!==t&&((0,o.arraySet)(A.output,e.pending_buf,e.pending_out,t,A.next_out),A.next_out+=t,e.pending_out+=t,A.total_out+=t,A.avail_out-=t,e.pending-=t,0===e.pending&&(e.pending_out=0))}function f(A,e){(0,r._tr_flush_block)(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,e),A.block_start=A.strstart,d(A.strm)}function u(A,e){A.pending_buf[A.pending++]=e}function w(A,e){A.pending_buf[A.pending++]=e>>>8&255,A.pending_buf[A.pending++]=255&e}function _(A,e,t,i){var a=A.avail_in;return a>i&&(a=i),0===a?0:(A.avail_in-=a,(0,o.arraySet)(e,A.input,A.next_in,a,t),1===A.state.wrap?A.adler=(0,n.default)(A.adler,e,a,t):2===A.state.wrap&&(A.adler=(0,g.default)(A.adler,e,a,t)),A.next_in+=a,A.total_in+=a,a)}function k(A,e){var t,i,n=A.max_chain_length,a=A.strstart,g=A.prev_length,s=A.nice_match,r=A.strstart>A.w_size-Q?A.strstart-(A.w_size-Q):0,o=A.window,B=A.w_mask,C=A.prev,E=A.strstart+I,h=o[a+g-1],l=o[a+g];A.prev_length>=A.good_match&&(n>>=2),s>A.lookahead&&(s=A.lookahead);do{if(o[(t=e)+g]===l&&o[t+g-1]===h&&o[t]===o[a]&&o[++t]===o[a+1]){a+=2,t++;do{}while(o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&a<E);if(i=I-(E-a),a=E-I,i>g){if(A.match_start=e,g=i,i>=s)break;h=o[a+g-1],l=o[a+g]}}}while((e=C[e&B])>r&&0!==--n);return g<=A.lookahead?g:A.lookahead}function y(A){var e,t,i,n,a,g=A.w_size;do{if(n=A.window_size-A.lookahead-A.strstart,A.strstart>=g+(g-Q)){(0,o.arraySet)(A.window,A.window,g,g,0),A.match_start-=g,A.strstart-=g,A.block_start-=g,e=t=A.hash_size;do{i=A.head[--e],A.head[e]=i>=g?i-g:0}while(--t);e=t=g;do{i=A.prev[--e],A.prev[e]=i>=g?i-g:0}while(--t);n+=g}if(0===A.strm.avail_in)break;if(t=_(A.strm,A.window,A.strstart+A.lookahead,n),A.lookahead+=t,A.lookahead+A.insert>=3)for(a=A.strstart-A.insert,A.ins_h=A.window[a],A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+1])&A.hash_mask;A.insert&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+3-1])&A.hash_mask,A.prev[a&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=a,a++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<Q&&0!==A.strm.avail_in)}function D(A,e){var t=65535;for(t>A.pending_buf_size-5&&(t=A.pending_buf_size-5);;){if(A.lookahead<=1){if(y(A),0===A.lookahead&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var i=A.block_start+t;if((0===A.strstart||A.strstart>=i)&&(A.lookahead=A.strstart-i,A.strstart=i,f(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-Q&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(f(A,!1),A.strm.avail_out),1)}function m(A,e){for(var t,i;;){if(A.lookahead<Q){if(y(A),A.lookahead<Q&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==t&&A.strstart-t<=A.w_size-Q&&(A.match_length=k(A,t)),A.match_length>=3)if(i=(0,r._tr_tally)(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+1])&A.hash_mask;else i=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function b(A,e){for(var t,i,n;;){if(A.lookahead<Q){if(y(A),A.lookahead<Q&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==t&&A.prev_length<A.max_lazy_match&&A.strstart-t<=A.w_size-Q&&(A.match_length=k(A,t),A.match_length<=5&&(A.strategy===a.Z_FILTERED||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){n=A.strstart+A.lookahead-3,i=(0,r._tr_tally)(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=n&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(f(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if((i=(0,r._tr_tally)(A,0,A.window[A.strstart-1]))&&f(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=(0,r._tr_tally)(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function N(A,e,t,i,n){this.good_length=A,this.max_lazy=e,this.nice_length=t,this.max_chain=i,this.func=n}let p=function(){const A=[new N(0,0,0,0,D),new N(4,4,8,4,m),new N(4,5,16,8,m),new N(4,6,32,32,m),new N(4,4,16,16,b),new N(8,16,32,32,b),new N(8,16,128,128,b),new N(8,32,128,256,b),new N(32,128,258,1024,b),new N(32,258,258,4096,b)];return p=()=>A,A};function F(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=a.Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=(0,o.Buf16)(1146),this.dyn_dtree=(0,o.Buf16)(122),this.bl_tree=(0,o.Buf16)(78),c(this.dyn_ltree),c(this.dyn_dtree),c(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=(0,o.Buf16)(16),this.heap=(0,o.Buf16)(573),c(this.heap),this.heap_len=0,this.heap_max=0,this.depth=(0,o.Buf16)(573),c(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function S(A){var e;return A&&A.state?(A.total_in=A.total_out=0,A.data_type=a.Z_UNKNOWN,(e=A.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:C,A.adler=2===e.wrap?0:1,e.last_flush=a.Z_NO_FLUSH,(0,r._tr_init)(e),a.Z_OK):h(A,a.Z_STREAM_ERROR)}function J(A){var e=S(A);return e===a.Z_OK&&function(A){A.window_size=2*A.w_size,c(A.head);const e=p();A.max_lazy_match=e[A.level].max_lazy,A.good_match=e[A.level].good_length,A.nice_match=e[A.level].nice_length,A.max_chain_length=e[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=2,A.match_available=0,A.ins_h=0}(A.state),e}function R(A,e,t,i,n,g){if(!A)return a.Z_STREAM_ERROR;var s=1;if(e===a.Z_DEFAULT_COMPRESSION&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||t!==a.Z_DEFLATED||i<8||i>15||e<0||e>9||g<0||g>a.Z_FIXED)return h(A,a.Z_STREAM_ERROR);8===i&&(i=9);var r=new F;return A.state=r,r.strm=A,r.wrap=s,r.gzhead=null,r.w_bits=i,r.w_size=1<<r.w_bits,r.w_mask=r.w_size-1,r.hash_bits=n+7,r.hash_size=1<<r.hash_bits,r.hash_mask=r.hash_size-1,r.hash_shift=~~((r.hash_bits+3-1)/3),r.window=(0,o.Buf8)(2*r.w_size),r.head=(0,o.Buf16)(r.hash_size),r.prev=(0,o.Buf16)(r.w_size),r.lit_bufsize=1<<n+6,r.pending_buf_size=4*r.lit_bufsize,r.pending_buf=(0,o.Buf8)(r.pending_buf_size),r.d_buf=1*r.lit_bufsize,r.l_buf=3*r.lit_bufsize,r.level=e,r.strategy=g,r.method=t,J(A)}e.deflateInfo="pako deflate (from Nodeca project)"},547(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},778(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e){var t,i,n,a,g,s,r,o,I,Q,B,C,E,h,l,c,d,f,u,w,_,k,y,D,m;t=A.state,i=A.next_in,D=A.input,n=i+(A.avail_in-5),a=A.next_out,m=A.output,g=a-(e-A.avail_out),s=a+(A.avail_out-257),r=t.dmax,o=t.wsize,I=t.whave,Q=t.wnext,B=t.window,C=t.hold,E=t.bits,h=t.lencode,l=t.distcode,c=(1<<t.lenbits)-1,d=(1<<t.distbits)-1;A:do{E<15&&(C+=D[i++]<<E,E+=8,C+=D[i++]<<E,E+=8),f=h[C&c];e:for(;;){if(C>>>=u=f>>>24,E-=u,0==(u=f>>>16&255))m[a++]=65535&f;else{if(!(16&u)){if(64&u){if(32&u){t.mode=12;break A}A.msg="invalid literal/length code",t.mode=30;break A}f=h[(65535&f)+(C&(1<<u)-1)];continue e}for(w=65535&f,(u&=15)&&(E<u&&(C+=D[i++]<<E,E+=8),w+=C&(1<<u)-1,C>>>=u,E-=u),E<15&&(C+=D[i++]<<E,E+=8,C+=D[i++]<<E,E+=8),f=l[C&d];;){if(C>>>=u=f>>>24,E-=u,16&(u=f>>>16&255)){if(_=65535&f,E<(u&=15)&&(C+=D[i++]<<E,(E+=8)<u&&(C+=D[i++]<<E,E+=8)),(_+=C&(1<<u)-1)>r){A.msg="invalid distance too far back",t.mode=30;break A}if(C>>>=u,E-=u,_>(u=a-g)){if((u=_-u)>I&&t.sane){A.msg="invalid distance too far back",t.mode=30;break A}if(k=0,y=B,0===Q){if(k+=o-u,u<w){w-=u;do{m[a++]=B[k++]}while(--u);k=a-_,y=m}}else if(Q<u){if(k+=o+Q-u,(u-=Q)<w){w-=u;do{m[a++]=B[k++]}while(--u);if(k=0,Q<w){w-=u=Q;do{m[a++]=B[k++]}while(--u);k=a-_,y=m}}}else if(k+=Q-u,u<w){w-=u;do{m[a++]=B[k++]}while(--u);k=a-_,y=m}for(;w>2;)m[a++]=y[k++],m[a++]=y[k++],m[a++]=y[k++],w-=3;w&&(m[a++]=y[k++],w>1&&(m[a++]=y[k++]))}else{k=a-_;do{m[a++]=m[k++],m[a++]=m[k++],m[a++]=m[k++],w-=3}while(w>2);w&&(m[a++]=m[k++],w>1&&(m[a++]=m[k++]))}break}if(64&u){A.msg="invalid distance code",t.mode=30;break A}f=l[(65535&f)+(C&(1<<u)-1)]}}break}}while(i<n&&a<s);return i-=w=E>>3,C&=(1<<(E-=w<<3))-1,A.next_in=i,A.next_out=a,A.avail_in=i<n?n-i+5:5-(i-n),A.avail_out=a<s?s-a+257:257-(a-s),t.hold=C,void(t.bits=E)}},184(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.inflateInfo=void 0,e.inflateResetKeep=E,e.inflateReset=h,e.inflateReset2=l,e.inflateInit2=c,e.inflateInit=function(A){return c(A,15)},e.inflate=function(A,e){var t,i,C,E,h,l,c,d,f,u,k,y,D,m,b,N,p,F,S,J,R,v,G,M,U=0,L=(0,r.Buf8)(4),Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return o;(t=A.state).mode===I&&(t.mode=13),h=A.next_out,C=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=t.hold,f=t.bits,u=l,k=c,v=0;A:for(;;)switch(t.mode){case 1:if(0===t.wrap){t.mode=13;break}for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(2&t.wrap&&35615===d){t.check=0,L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0),d=0,f=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&d)<<8)+(d>>8))%31){A.msg="incorrect header check",t.mode=Q;break}if(8!=(15&d)){A.msg="unknown compression method",t.mode=Q;break}if(f-=4,R=8+(15&(d>>>=4)),0===t.wbits)t.wbits=R;else if(R>t.wbits){A.msg="invalid window size",t.mode=Q;break}t.dmax=1<<R,A.adler=t.check=1,t.mode=512&d?10:I,d=0,f=0;break;case 2:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(t.flags=d,8!=(255&t.flags)){A.msg="unknown compression method",t.mode=Q;break}if(57344&t.flags){A.msg="unknown header flags set",t.mode=Q;break}t.head&&(t.head.text=d>>8&1),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0,t.mode=3;case 3:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.head&&(t.head.time=d),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,L[2]=d>>>16&255,L[3]=d>>>24&255,t.check=(0,a.default)(t.check,L,4,0)),d=0,f=0,t.mode=4;case 4:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.head&&(t.head.xflags=255&d,t.head.os=d>>8),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0,t.mode=5;case 5:if(1024&t.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.length=d,t.head&&(t.head.extra_len=d),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&((y=t.length)>l&&(y=l),y&&(t.head&&(R=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),(0,r.arraySet)(t.head.extra,i,E,y,R)),512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,t.length-=y),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===l)break A;y=0;do{R=i[E+y++],t.head&&R&&t.length<65536&&(t.head.name+=String.fromCharCode(R))}while(R&&y<l);if(512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,R)break A}else t.head&&(t.head.name=null);t.length=0,t.mode=8;case 8:if(4096&t.flags){if(0===l)break A;y=0;do{R=i[E+y++],t.head&&R&&t.length<65536&&(t.head.comment+=String.fromCharCode(R))}while(R&&y<l);if(512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,R)break A}else t.head&&(t.head.comment=null);t.mode=9;case 9:if(512&t.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(65535&t.check)){A.msg="header crc mismatch",t.mode=Q;break}d=0,f=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=I;break;case 10:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}A.adler=t.check=B(d),d=0,f=0,t.mode=11;case 11:if(0===t.havedict)return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,2;A.adler=t.check=1,t.mode=I;case I:if(5===e||6===e)break A;case 13:if(t.last){d>>>=7&f,f-=7&f,t.mode=27;break}for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}switch(t.last=1&d,f-=1,3&(d>>>=1)){case 0:t.mode=14;break;case 1:if(w(t),t.mode=20,6===e){d>>>=2,f-=2;break A}break;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=Q}d>>>=2,f-=2;break;case 14:for(d>>>=7&f,f-=7&f;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if((65535&d)!=(d>>>16^65535)){A.msg="invalid stored block lengths",t.mode=Q;break}if(t.length=65535&d,d=0,f=0,t.mode=15,6===e)break A;case 15:t.mode=16;case 16:if(y=t.length){if(y>l&&(y=l),y>c&&(y=c),0===y)break A;(0,r.arraySet)(C,i,E,y,h),l-=y,E+=y,c-=y,h+=y,t.length-=y;break}t.mode=I;break;case 17:for(;f<14;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(t.nlen=257+(31&d),d>>>=5,f-=5,t.ndist=1+(31&d),d>>>=5,f-=5,t.ncode=4+(15&d),d>>>=4,f-=4,t.nlen>286||t.ndist>30){A.msg="too many length or distance symbols",t.mode=Q;break}t.have=0,t.mode=18;case 18:for(;t.have<t.ncode;){for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.lens[Y[t.have++]]=7&d,d>>>=3,f-=3}for(;t.have<19;)t.lens[Y[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,G={bits:t.lenbits},v=(0,s.default)(0,t.lens,0,19,t.lencode,0,t.work,G),t.lenbits=G.bits,v){A.msg="invalid code lengths set",t.mode=Q;break}t.have=0,t.mode=19;case 19:for(;t.have<t.nlen+t.ndist;){for(;N=(U=t.lencode[d&(1<<t.lenbits)-1])>>>16&255,p=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(p<16)d>>>=b,f-=b,t.lens[t.have++]=p;else{if(16===p){for(M=b+2;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d>>>=b,f-=b,0===t.have){A.msg="invalid bit length repeat",t.mode=Q;break}R=t.lens[t.have-1],y=3+(3&d),d>>>=2,f-=2}else if(17===p){for(M=b+3;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=b,R=0,y=3+(7&(d>>>=b)),d>>>=3,f-=3}else{for(M=b+7;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=b,R=0,y=11+(127&(d>>>=b)),d>>>=7,f-=7}if(t.have+y>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=Q;break}for(;y--;)t.lens[t.have++]=R}}if(t.mode===Q)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=Q;break}if(t.lenbits=9,G={bits:t.lenbits},v=(0,s.default)(1,t.lens,0,t.nlen,t.lencode,0,t.work,G),t.lenbits=G.bits,v){A.msg="invalid literal/lengths set",t.mode=Q;break}if(t.distbits=6,t.distcode=t.distdyn,G={bits:t.distbits},v=(0,s.default)(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,G),t.distbits=G.bits,v){A.msg="invalid distances set",t.mode=Q;break}if(t.mode=20,6===e)break A;case 20:t.mode=21;case 21:if(l>=6&&c>=258){A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,(0,g.default)(A,k),h=A.next_out,C=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=t.hold,f=t.bits,t.mode===I&&(t.back=-1);break}for(t.back=0;N=(U=t.lencode[d&(1<<t.lenbits)-1])>>>16&255,p=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(N&&!(240&N)){for(F=b,S=N,J=p;N=(U=t.lencode[J+((d&(1<<F+S)-1)>>F)])>>>16&255,p=65535&U,!(F+(b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,t.back+=F}if(d>>>=b,f-=b,t.back+=b,t.length=p,0===N){t.mode=26;break}if(32&N){t.back=-1,t.mode=I;break}if(64&N){A.msg="invalid literal/length code",t.mode=Q;break}t.extra=15&N,t.mode=22;case 22:if(t.extra){for(M=t.extra;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.length+=d&(1<<t.extra)-1,d>>>=t.extra,f-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;N=(U=t.distcode[d&(1<<t.distbits)-1])>>>16&255,p=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(!(240&N)){for(F=b,S=N,J=p;N=(U=t.distcode[J+((d&(1<<F+S)-1)>>F)])>>>16&255,p=65535&U,!(F+(b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,t.back+=F}if(d>>>=b,f-=b,t.back+=b,64&N){A.msg="invalid distance code",t.mode=Q;break}t.offset=p,t.extra=15&N,t.mode=24;case 24:if(t.extra){for(M=t.extra;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.offset+=d&(1<<t.extra)-1,d>>>=t.extra,f-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=Q;break}t.mode=25;case 25:if(0===c)break A;if(y=k-c,t.offset>y){if((y=t.offset-y)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=Q;break}y>t.wnext?(y-=t.wnext,D=t.wsize-y):D=t.wnext-y,y>t.length&&(y=t.length),m=t.window}else m=C,D=h-t.offset,y=t.length;y>c&&(y=c),c-=y,t.length-=y;do{C[h++]=m[D++]}while(--y);0===t.length&&(t.mode=21);break;case 26:if(0===c)break A;C[h++]=t.length,c--,t.mode=21;break;case 27:if(t.wrap){for(;f<32;){if(0===l)break A;l--,d|=i[E++]<<f,f+=8}if(k-=c,A.total_out+=k,t.total+=k,k&&(A.adler=t.check=t.flags?(0,a.default)(t.check,C,k,h-k):(0,n.default)(t.check,C,k,h-k)),k=c,(t.flags?d:B(d))!==t.check){A.msg="incorrect data check",t.mode=Q;break}d=0,f=0}t.mode=28;case 28:if(t.wrap&&t.flags){for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(4294967295&t.total)){A.msg="incorrect length check",t.mode=Q;break}d=0,f=0}t.mode=29;case 29:v=1;break A;case Q:v=-3;break A;case 31:return-4;default:return o}return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,(t.wsize||k!==A.avail_out&&t.mode<Q&&(t.mode<27||4!==e))&&_(A,A.output,A.next_out,k-A.avail_out)?(t.mode=31,-4):(u-=A.avail_in,k-=A.avail_out,A.total_in+=u,A.total_out+=k,t.total+=k,t.wrap&&k&&(A.adler=t.check=t.flags?(0,a.default)(t.check,C,k,A.next_out-k):(0,n.default)(t.check,C,k,A.next_out-k)),A.data_type=t.bits+(t.last?64:0)+(t.mode===I?128:0)+(20===t.mode||15===t.mode?256:0),(0===u&&0===k||4===e)&&0===v&&(v=-5),v)},e.inflateEnd=function(A){if(!A||!A.state)return o;var e=A.state;return e.window&&(e.window=null),A.state=null,0},e.inflateGetHeader=function(A,e){var t;return A&&A.state&&2&(t=A.state).wrap?(t.head=e,e.done=!1,0):o},e.inflateSetDictionary=function(A,e){var t,i,a=e.length;return A&&A.state?0!==(t=A.state).wrap&&11!==t.mode?o:11===t.mode&&(i=1,(i=(0,n.default)(i,e,a,0))!==t.check)?-3:_(A,e,a,a)?(t.mode=31,-4):(t.havedict=1,0):o};const n=i(t(654)),a=i(t(896)),g=i(t(778)),s=i(t(407)),r=t(409);var o=-2,I=12,Q=30;function B(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function C(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=(0,r.Buf16)(320),this.work=(0,r.Buf16)(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(A){var e;return A&&A.state?(e=A.state,A.total_in=A.total_out=e.total=0,A.msg="",e.wrap&&(A.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=(0,r.Buf32)(852),e.distcode=e.distdyn=(0,r.Buf32)(592),e.sane=1,e.back=-1,0):o}function h(A){var e;return A&&A.state?((e=A.state).wsize=0,e.whave=0,e.wnext=0,E(A)):o}function l(A,e){var t,i;return A&&A.state?(i=A.state,e<0?(t=0,e=-e):(t=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?o:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,h(A))):o}function c(A,e){var t,i;return A?(i=new C,A.state=i,i.window=null,0!==(t=l(A,e))&&(A.state=null),t):o}var d,f,u=!0;function w(A){if(u){var e;for(d=(0,r.Buf32)(512),f=(0,r.Buf32)(32),e=0;e<144;)A.lens[e++]=8;for(;e<256;)A.lens[e++]=9;for(;e<280;)A.lens[e++]=7;for(;e<288;)A.lens[e++]=8;for((0,s.default)(1,A.lens,0,288,d,0,A.work,{bits:9}),e=0;e<32;)A.lens[e++]=5;(0,s.default)(2,A.lens,0,32,f,0,A.work,{bits:5}),u=!1}A.lencode=d,A.lenbits=9,A.distcode=f,A.distbits=5}function _(A,e,t,i){var n,a=A.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=(0,r.Buf8)(a.wsize)),i>=a.wsize?((0,r.arraySet)(a.window,e,t-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((n=a.wsize-a.wnext)>i&&(n=i),(0,r.arraySet)(a.window,e,t-i,n,a.wnext),(i-=n)?((0,r.arraySet)(a.window,e,t-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}e.inflateInfo="pako inflate (from Nodeca project)"},407(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,t,o,I,Q,B,C){var E,h,l,c,d,f,u,w,_,k=C.bits,y=0,D=0,m=0,b=0,N=0,p=0,F=0,S=0,J=0,R=0,v=null,G=0,M=(0,i.Buf16)(16),U=(0,i.Buf16)(16),L=null,Y=0;for(y=0;y<=n;y++)M[y]=0;for(D=0;D<o;D++)M[e[t+D]]++;for(N=k,b=n;b>=1&&0===M[b];b--);if(N>b&&(N=b),0===b)return I[Q++]=20971520,I[Q++]=20971520,C.bits=1,0;for(m=1;m<b&&0===M[m];m++);for(N<m&&(N=m),S=1,y=1;y<=n;y++)if(S<<=1,(S-=M[y])<0)return-1;if(S>0&&(0===A||1!==b))return-1;for(U[1]=0,y=1;y<n;y++)U[y+1]=U[y]+M[y];for(D=0;D<o;D++)0!==e[t+D]&&(B[U[e[t+D]]++]=D);if(0===A?(v=L=B,f=19):1===A?(v=a,G-=257,L=g,Y-=257,f=256):(v=s,L=r,f=-1),R=0,D=0,y=m,d=Q,p=N,F=0,l=-1,c=(J=1<<N)-1,1===A&&J>852||2===A&&J>592)return 1;for(;;){u=y-F,B[D]<f?(w=0,_=B[D]):B[D]>f?(w=L[Y+B[D]],_=v[G+B[D]]):(w=96,_=0),E=1<<y-F,m=h=1<<p;do{I[d+(R>>F)+(h-=E)]=u<<24|w<<16|_}while(0!==h);for(E=1<<y-1;R&E;)E>>=1;if(0!==E?(R&=E-1,R+=E):R=0,D++,0===--M[y]){if(y===b)break;y=e[t+B[D]]}if(y>N&&(R&c)!==l){for(0===F&&(F=N),d+=m,S=1<<(p=y-F);p+F<b&&!((S-=M[p+F])<=0);)p++,S<<=1;if(J+=1<<p,1===A&&J>852||2===A&&J>592)return 1;I[l=R&c]=N<<24|p<<16|d-Q}}return 0!==R&&(I[d+R]=y-F<<24|64<<16),C.bits=N,0};const i=t(409);var n=15,a=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],r=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]},263(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},926(A,e,t){e._tr_init=function(A){Y||(function(){var A,e,t,i,n,h=new Array(16);for(a(g=new Array(576)),a(s=new Array(60)),a(r=new Array(512)),a(o=new Array(256)),a(I=new Array(29)),a(Q=new Array(c)),t=0,i=0;i<28;i++)for(I[i]=t,A=0;A<1<<f[i];A++)o[t++]=i;for(o[t-1]=i,n=0,i=0;i<16;i++)for(Q[i]=n,A=0;A<1<<u[i];A++)r[n++]=i;for(n>>=7;i<c;i++)for(Q[i]=n<<7,A=0;A<1<<u[i]-7;A++)r[256+n++]=i;for(e=0;e<=d;e++)h[e]=0;for(A=0;A<=143;)g[2*A+1]=8,A++,h[8]++;for(;A<=255;)g[2*A+1]=9,A++,h[9]++;for(;A<=279;)g[2*A+1]=7,A++,h[7]++;for(;A<=287;)g[2*A+1]=8,A++,h[8]++;for(F(g,287,h),A=0;A<c;A++)s[2*A+1]=5,s[2*A]=p(A,5);B=new k(g,f,257,l,d),C=new k(s,u,0,c,d),E=new k(new Array(0),w,0,19,7)}(),Y=!0),A.l_desc=new y(A.dyn_ltree,B),A.d_desc=new y(A.dyn_dtree,C),A.bl_desc=new y(A.bl_tree,E),A.bi_buf=0,A.bi_valid=0,S(A)},e._tr_stored_block=x,e._tr_align=function(A){b(A,2,3),N(A,256,g),function(A){16===A.bi_valid?(m(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)},e._tr_flush_block=function(A,e,t,n){var a,r,o=0;A.level>0?(A.strm.data_type===i.Z_UNKNOWN&&(A.strm.data_type=function(A){var e,t=4093624447;for(e=0;e<=31;e++,t>>>=1)if(1&t&&0!==A.dyn_ltree[2*e])return i.Z_BINARY;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return i.Z_TEXT;for(e=32;e<h;e++)if(0!==A.dyn_ltree[2*e])return i.Z_TEXT;return i.Z_BINARY}(A)),M(A,A.l_desc),M(A,A.d_desc),o=function(A){var e;for(U(A,A.dyn_ltree,A.l_desc.max_code),U(A,A.dyn_dtree,A.d_desc.max_code),M(A,A.bl_desc),e=18;e>=3&&0===A.bl_tree[2*_[e]+1];e--);return A.opt_len+=3*(e+1)+5+5+4,e}(A),a=A.opt_len+3+7>>>3,(r=A.static_len+3+7>>>3)<=a&&(a=r)):a=r=t+5,t+4<=a&&-1!==e?x(A,e,t,n):A.strategy===i.Z_FIXED||r===a?(b(A,2+(n?1:0),3),G(A,g,s)):(b(A,4+(n?1:0),3),function(A,e,t,i){var n;for(b(A,e-257,5),b(A,t-1,5),b(A,i-4,4),n=0;n<i;n++)b(A,A.bl_tree[2*_[n]+1],3);L(A,A.dyn_ltree,e-1),L(A,A.dyn_dtree,t-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,o+1),G(A,A.dyn_ltree,A.dyn_dtree)),S(A),n&&J(A)},e._tr_tally=function(A,e,t){return A.pending_buf[A.d_buf+2*A.last_lit]=e>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&e,A.pending_buf[A.l_buf+A.last_lit]=255&t,A.last_lit++,0===e?A.dyn_ltree[2*t]++:(A.matches++,e--,A.dyn_ltree[2*(o[t]+h+1)]++,A.dyn_dtree[2*D(e)]++),A.last_lit===A.lit_bufsize-1};const i=t(978),n=t(409);function a(A){for(var e=A.length;--e>=0;)A[e]=0}var g,s,r,o,I,Q,B,C,E,h=256,l=286,c=30,d=15,f=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],w=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function k(A,e,t,i,n){this.static_tree=A,this.extra_bits=e,this.extra_base=t,this.elems=i,this.max_length=n,this.has_stree=A&&A.length}function y(A,e){this.dyn_tree=A,this.max_code=0,this.stat_desc=e}function D(A){return A<256?r[A]:r[256+(A>>>7)]}function m(A,e){A.pending_buf[A.pending++]=255&e,A.pending_buf[A.pending++]=e>>>8&255}function b(A,e,t){A.bi_valid>16-t?(A.bi_buf|=e<<A.bi_valid&65535,m(A,A.bi_buf),A.bi_buf=e>>16-A.bi_valid,A.bi_valid+=t-16):(A.bi_buf|=e<<A.bi_valid&65535,A.bi_valid+=t)}function N(A,e,t){b(A,t[2*e],t[2*e+1])}function p(A,e){var t=0;do{t|=1&A,A>>>=1,t<<=1}while(--e>0);return t>>>1}function F(A,e,t){var i,n,a=new Array(16),g=0;for(i=1;i<=d;i++)a[i]=g=g+t[i-1]<<1;for(n=0;n<=e;n++){var s=A[2*n+1];0!==s&&(A[2*n]=p(a[s]++,s))}}function S(A){var e;for(e=0;e<l;e++)A.dyn_ltree[2*e]=0;for(e=0;e<c;e++)A.dyn_dtree[2*e]=0;for(e=0;e<19;e++)A.bl_tree[2*e]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function J(A){A.bi_valid>8?m(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function R(A,e,t,i){var n=2*e,a=2*t;return A[n]<A[a]||A[n]===A[a]&&i[e]<=i[t]}function v(A,e,t){for(var i=A.heap[t],n=t<<1;n<=A.heap_len&&(n<A.heap_len&&R(e,A.heap[n+1],A.heap[n],A.depth)&&n++,!R(e,i,A.heap[n],A.depth));)A.heap[t]=A.heap[n],t=n,n<<=1;A.heap[t]=i}function G(A,e,t){var i,n,a,g,s=0;if(0!==A.last_lit)do{i=A.pending_buf[A.d_buf+2*s]<<8|A.pending_buf[A.d_buf+2*s+1],n=A.pending_buf[A.l_buf+s],s++,0===i?N(A,n,e):(N(A,(a=o[n])+h+1,e),0!==(g=f[a])&&b(A,n-=I[a],g),N(A,a=D(--i),t),0!==(g=u[a])&&b(A,i-=Q[a],g))}while(s<A.last_lit);N(A,256,e)}function M(A,e){var t,i,n,a=e.dyn_tree,g=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.elems,o=-1;for(A.heap_len=0,A.heap_max=573,t=0;t<r;t++)0!==a[2*t]?(A.heap[++A.heap_len]=o=t,A.depth[t]=0):a[2*t+1]=0;for(;A.heap_len<2;)a[2*(n=A.heap[++A.heap_len]=o<2?++o:0)]=1,A.depth[n]=0,A.opt_len--,s&&(A.static_len-=g[2*n+1]);for(e.max_code=o,t=A.heap_len>>1;t>=1;t--)v(A,a,t);n=r;do{t=A.heap[1],A.heap[1]=A.heap[A.heap_len--],v(A,a,1),i=A.heap[1],A.heap[--A.heap_max]=t,A.heap[--A.heap_max]=i,a[2*n]=a[2*t]+a[2*i],A.depth[n]=(A.depth[t]>=A.depth[i]?A.depth[t]:A.depth[i])+1,a[2*t+1]=a[2*i+1]=n,A.heap[1]=n++,v(A,a,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],function(A,e){var t,i,n,a,g,s,r=e.dyn_tree,o=e.max_code,I=e.stat_desc.static_tree,Q=e.stat_desc.has_stree,B=e.stat_desc.extra_bits,C=e.stat_desc.extra_base,E=e.stat_desc.max_length,h=0;for(a=0;a<=d;a++)A.bl_count[a]=0;for(r[2*A.heap[A.heap_max]+1]=0,t=A.heap_max+1;t<573;t++)(a=r[2*r[2*(i=A.heap[t])+1]+1]+1)>E&&(a=E,h++),r[2*i+1]=a,i>o||(A.bl_count[a]++,g=0,i>=C&&(g=B[i-C]),s=r[2*i],A.opt_len+=s*(a+g),Q&&(A.static_len+=s*(I[2*i+1]+g)));if(0!==h){do{for(a=E-1;0===A.bl_count[a];)a--;A.bl_count[a]--,A.bl_count[a+1]+=2,A.bl_count[E]--,h-=2}while(h>0);for(a=E;0!==a;a--)for(i=A.bl_count[a];0!==i;)(n=A.heap[--t])>o||(r[2*n+1]!==a&&(A.opt_len+=(a-r[2*n+1])*r[2*n],r[2*n+1]=a),i--)}}(A,e),F(a,o,A.bl_count)}function U(A,e,t){var i,n,a=-1,g=e[1],s=0,r=7,o=4;for(0===g&&(r=138,o=3),e[2*(t+1)+1]=65535,i=0;i<=t;i++)n=g,g=e[2*(i+1)+1],++s<r&&n===g||(s<o?A.bl_tree[2*n]+=s:0!==n?(n!==a&&A.bl_tree[2*n]++,A.bl_tree[32]++):s<=10?A.bl_tree[34]++:A.bl_tree[36]++,s=0,a=n,0===g?(r=138,o=3):n===g?(r=6,o=3):(r=7,o=4))}function L(A,e,t){var i,n,a=-1,g=e[1],s=0,r=7,o=4;for(0===g&&(r=138,o=3),i=0;i<=t;i++)if(n=g,g=e[2*(i+1)+1],!(++s<r&&n===g)){if(s<o)do{N(A,n,A.bl_tree)}while(0!==--s);else 0!==n?(n!==a&&(N(A,n,A.bl_tree),s--),N(A,16,A.bl_tree),b(A,s-3,2)):s<=10?(N(A,17,A.bl_tree),b(A,s-3,3)):(N(A,18,A.bl_tree),b(A,s-11,7));s=0,a=n,0===g?(r=138,o=3):n===g?(r=6,o=3):(r=7,o=4)}}var Y=!1;function x(A,e,t,i){b(A,0+(i?1:0),3),function(A,e,t){J(A),m(A,t),m(A,~t),(0,n.arraySet)(A.pending_buf,A.window,e,t,A.pending),A.pending+=t}(A,e,t)}},877(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}};const e={};let t=function t(i){const n=e[i];if(void 0!==n)return n.exports;const a=e[i]={exports:{}};return A[i].call(a.exports,a,a.exports,t),a.exports}(159);window.gmodTABIX=t})();
|
|
1
|
+
(()=>{"use strict";var A={538(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{minv;maxv;bin;endPosition;constructor(A,e,t,i=e.blockPosition+65536){this.minv=A,this.maxv=e,this.bin=t,this.endPosition=i}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}fetchedSize(){return this.endPosition-this.minv.blockPosition}}},178(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=i(t(538)),a=i(t(689)),g=t(951),s=t(483);function r(A,e){return A*2**e}function o(A,e){return Math.floor(A/2**e)}class I extends a.default{async _parse(A={}){const{bytes:e,dataView:t}=await this.readIndexBytes(A),i=t.getUint32(0,!0);let a;if(21582659===i)a=1;else{if(38359875!==i)throw new Error(`Not a CSI file (magic=${i})`);a=2}const r=t.getInt32(4,!0),o=t.getInt32(8,!0),I=((1<<3*(o+1))-1)/7,Q=2**(r+3*o),B=t.getInt32(12,!0),C=B>=30?(0,g.parseAuxData)(e,16):{refIdToName:[],refNameToId:{},metaChar:void 0,columnNumbers:{ref:0,start:1,end:2},coordinateType:"zero-based-half-open",format:"generic"},E=t.getInt32(16+B,!0);let h,l=16+B+4;const c=[];for(let A=0;A<E;A++){c.push(l);const A=t.getInt32(l,!0);l+=4;for(let i=0;i<A;i++){const A=t.getUint32(l,!0);l+=4,A>I?l+=44:(h=(0,g.minVirtualOffset)(e,l,1,h),l+=8,l+=4+16*t.getInt32(l,!0))}}return{...C,csi:!0,refCount:E,maxBlockSize:65536,firstDataLine:h,csiVersion:a,indices:(0,g.memoizeByRefId)(function(A){const i=c[A];if(void 0===i)return;let a=i;const r=t.getInt32(a,!0);a+=4;const o={},Q={};let B;for(let A=0;A<r;A++){const A=t.getUint32(a,!0);if(a+=4,A>I)B=(0,g.parsePseudoBin)(e,a+28),a+=44;else{Q[A]=(0,s.fromBytes)(e,a),a+=8;const i=t.getInt32(a,!0);a+=4;const g=Array.from({length:i});for(let t=0;t<i;t++)g[t]=new n.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;o[A]=g}}return(0,g.clampChunkEnds)(Object.values(o).flat()),{binIndex:o,loffsets:Q,stats:B}}),minShift:r,depth:o,maxBinNumber:I,maxRefLength:Q}}lowestOffset(A,e,{minShift:t,depth:i}){const{loffsets:n}=A;let a;if(n){let A=(r(1,3*i)-1)/7+o(Math.max(e,0),t);for(;void 0===a&&A>0;)if(a=n[A],void 0===a){const e=Math.floor((A-1)/8);A=A>8*e+1?A-1:e}a??=n[0]}return a}reg2bins(A,e,{minShift:t,depth:i,maxBinNumber:n}){A=Math.max(A,0);const a=2**(t+3*i);e>a&&(e=a),e-=1;let g=0,s=0,I=t+3*i;const Q=[];for(;g<=i;I-=3,s+=r(1,3*g),g+=1){const a=s+o(A,I),g=s+o(e,I);if(g-a+Q.length>n)throw new Error(`query ${A}-${e} is too large for current binning scheme (shift ${t}, depth ${i}), try a smaller query or a coarser index binning scheme`);Q.push([a,g])}return Q}}e.default=I},159(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.VirtualOffset=e.TBI=e.CSI=e.TabixIndexedFile=void 0;var n=t(522);Object.defineProperty(e,"TabixIndexedFile",{enumerable:!0,get:function(){return i(n).default}});var a=t(178);Object.defineProperty(e,"CSI",{enumerable:!0,get:function(){return i(a).default}});var g=t(552);Object.defineProperty(e,"TBI",{enumerable:!0,get:function(){return i(g).default}});var s=t(483);Object.defineProperty(e,"VirtualOffset",{enumerable:!0,get:function(){return i(s).default}})},689(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(322),n=t(257),a=t(951);e.default=class{filehandle;parseCache=new n.SharedReadCache({});constructor({filehandle:A}){this.filehandle=A}async readIndexBytes(A){const e=await this.filehandle.readFile({signal:A.signal,onProgress:A.onProgress}),t=await(0,i.unzip)(e);return{bytes:t,dataView:new DataView(t.buffer,t.byteOffset,t.byteLength)}}async lineCount(A,e={}){const t=await this.parse(e),i=t.refNameToId[A];return void 0===i?-1:t.indices(i)?.stats?.lineCount??-1}async getMetadata(A={}){const{indices:e,...t}=await this.parse(A);return t}async blocksForRange(A,e,t,i={}){const n=await this.parse(i),g=n.refNameToId[A];if(void 0===g)return[];const s=n.indices(g);if(!s)return[];const r=[];for(const[A,i]of this.reg2bins(e,t,n))for(let e=A;e<=i;e++){const A=s.binIndex[e];if(A)for(const e of A)r.push(e)}return(0,a.optimizeChunks)(r,this.lowestOffset(s,e,n))}parse(A={}){return this.parseCache.get("index",A.signal,e=>this._parse({...A,signal:e}))}async hasRefSeq(A,e={}){const t=await this.parse(e);return!!t.indices(A)?.binIndex}}},85(A,e){e.longFromBytesToUnsigned=function(A,e=0){const i=A[e]|A[e+1]<<8|A[e+2]<<16|A[e+3]<<24;return((A[e+4]|A[e+5]<<8|A[e+6]<<16|A[e+7]<<24)>>>0)*t+(i>>>0)};const t=2**32},522(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(322),a=t(257),g=t(252),s=i(t(178)),r=i(t(552)),o=t(951);function I(A,e,t,i,n){return 256*A[t]+(i-e[t])+n+1}function Q(A,e,t,i,n,a){let g=e+(i-t);if(46===A[n])return g;let s=n;for(let t=n;t<=a;t++)if(t===a||59===A[t]){const i=t-s;if(i>=10&&83===A[s]&&86===A[s+1]&&84===A[s+2]&&89===A[s+3]&&80===A[s+4]&&69===A[s+5]&&61===A[s+6]&&84===A[s+7]&&82===A[s+8]&&65===A[s+9])return e+1;i>=4&&69===A[s]&&78===A[s+1]&&68===A[s+2]&&61===A[s+3]&&(g=h(A,s+4,t)),s=t+1}return g}const B=new TextDecoder;function C(A,e){let t=-1;const i=e.charCodeAt(0);for(let e=0,n=A.length;e<n;e++){const n=A[e];if(e===t+1&&n!==i)break;10===n&&(t=e)}return A.subarray(0,t+1)}function E(A,e){let t=0;for(let i=0;i<e;i++){const e=A.indexOf(10,t);if(-1===e){t=A.length;break}t=e+1}return B.decode(A.subarray(0,t)).split(/\r?\n/).slice(0,e)}function h(A,e,t){let i=0;for(let n=e;n<t;n++){const e=A[n];if(!(e>=48&&e<=57))break;i=10*i+(e-48)}return i}e.default=class{filehandle;index;chunkCache;headerCache=new a.SharedReadCache({});constructor({path:A,filehandle:e,url:t,tbiPath:i,tbiUrl:n,tbiFilehandle:o,csiPath:I,csiUrl:Q,csiFilehandle:B,chunkCacheSize:C=1073741824,chunkCacheIdleTimeoutMs:E=18e4,chunkCacheBudget:h}){this.filehandle=function(A,e,t){if(A)return A;if(e)return new g.LocalFile(e);if(t)return new g.RemoteFile(t);throw new TypeError("must provide either filehandle, path, or url")}(e,A,t),this.index=function({tbiFilehandle:A,csiFilehandle:e,tbiPath:t,csiPath:i,tbiUrl:n,csiUrl:a,path:o,url:I}){if(A)return new r.default({filehandle:A});if(e)return new s.default({filehandle:e});if(t)return new r.default({filehandle:new g.LocalFile(t)});if(i)return new s.default({filehandle:new g.LocalFile(i)});if(a)return new s.default({filehandle:new g.RemoteFile(a)});if(n)return new r.default({filehandle:new g.RemoteFile(n)});if(o)return new r.default({filehandle:new g.LocalFile(`${o}.tbi`)});if(I)return new r.default({filehandle:new g.RemoteFile(`${I}.tbi`)});throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl")}({tbiFilehandle:o,csiFilehandle:B,tbiPath:i,csiPath:I,tbiUrl:n,csiUrl:Q,path:A,url:t}),this.chunkCache=new a.SharedReadCache({maxSize:C,sizeOf:A=>A.buffer.byteLength,cacheKey:A=>A.toString(),idleTimeoutMs:E,budget:h,fill:(A,e)=>this.readChunk(A,{signal:e})})}clearChunkCache(){this.chunkCache.clear()}async bytesForRegions(A,e={}){const t=[];for(const{refName:i,start:n,end:a}of A){const A=await this.index.blocksForRange(i,n,a,e);for(const e of A)t.push(e)}let i=0;for(const A of(0,o.optimizeChunks)(t))i+=A.fetchedSize();return i}async getLines(A,e,t,i){let n,a,g,s={};"function"==typeof i?a=i:(s=i,a=i.lineCallback,n=i.signal,g=i.onProgress);const r=await this.index.getMetadata(s),o=e??0,B=t??r.maxRefLength;if(o>B)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(o===B)return;const C=await this.index.blocksForRange(A,o,B,s),E="VCF"===r.format,l=r.columnNumbers.ref||0,c=r.columnNumbers.start||0,d=E?8:r.columnNumbers.end||0,f=Math.max(l,c,d),u=r.metaChar?.charCodeAt(0),w="1-based-closed"===r.coordinateType?-1:0,_=new TextEncoder,k=new TextDecoder,y=_.encode(A),m=new Int32Array(f+1);let D=0;for(const A of C)D+=A.fetchedSize();let b=0;g?.(0,D);let p=1;const N=[],F=A=>{for(;N.length<Math.min(A,C.length);){const A=C[N.length],e=this.chunkCache.get(A,n);e.catch(()=>{}),N.push(e)}};F(1);for(let A=0,e=C.length;A<e;A++){const e=C[A],{buffer:t,cpositions:i,dpositions:n}=await N[A];b+=e.fetchedSize(),g?.(b,D);const s=e.minv.dataPosition;let r=0,_=0;for(;r<t.length;){const A=t.indexOf(10,r);if(-1===A)break;const e=r+s;for(;_<n.length&&e>=n[_];)_++;if(void 0!==u&&t[r]===u){r=A+1;continue}m[0]=r-1;for(let e=0;e<f;e++){const i=m[e],n=i<A?t.indexOf(9,i+1):-1;m[e+1]=-1===n||n>=A?A:n}const g=m[l-1]+1,C=m[l]-g;if(C!==y.length){r=A+1;continue}let D=!0;for(let A=0;A<C;A++)if(t[g+A]!==y[A]){D=!1;break}if(!D){r=A+1;continue}const b=h(t,m[c-1]+1,m[c])+w;if(b>=B)return;let p;if(p=0===d||d===c?b+1:E?Q(t,b,m[3]+1,m[4],m[d-1]+1,m[d]):h(t,m[d-1]+1,m[d]),p>o){const e=13===t[A-1]?A-1:A;a(k.decode(t.subarray(r,e)),I(i,n,_,r,s),b,p)}r=A+1}p=Math.min(2*p,6),F(A+1+p)}}async getMetadata(A={}){return this.index.getMetadata(A)}async readHeaderBytes(A){const{firstDataLine:e,maxBlockSize:t}=await this.getMetadata(A),i=(e?.blockPosition??0)+t,a=await this.filehandle.read(i,0,A);return(0,n.unzip)(a)}async parseHeader(A){const{metaChar:e,skipLines:t=0}=await this.getMetadata(A),i=await this.readHeaderBytes(A);return{header:B.decode(e?C(i,e):i),skippedLines:t>0?E(i,t):[]}}getParsedHeader(A={}){return this.headerCache.get("header",A.signal,e=>this.parseHeader({...A,signal:e}))}async getHeaderBuffer(A={}){const{metaChar:e}=await this.getMetadata(A),t=await this.readHeaderBytes(A);return e?C(t,e):t}async getSkippedLines(A={}){const{skipLines:e=0}=await this.getMetadata(A);return e<=0?[]:(await this.getParsedHeader(A)).skippedLines}async getHeader(A={}){return(await this.getParsedHeader(A)).header}async getHeaderLines(A={}){const{header:e,skippedLines:t}=await this.getParsedHeader(A);return(e?e.split(/\r?\n/):t).filter(Boolean)}async getReferenceSequenceNames(A={}){return(await this.getMetadata(A)).refIdToName}async lineCount(A,e={}){return this.index.lineCount(A,e)}async readChunk(A,e={}){const t=await this.filehandle.read(A.fetchedSize(),A.minv.blockPosition,e);return(0,n.unzipChunkSlice)(t,A)}}},552(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=i(t(538)),a=i(t(689)),g=t(951),s=t(483),r=2**29;function o(A){return Math.min(Math.max(A,0),r)}class I extends a.default{reg2bins(A,e){A>r&&console.warn("querying outside of possible tabix range");const t=o(A),i=Math.min(e,r)-1,n=[];return t<=i&&n.push([0,0],[1+(t>>26),1+(i>>26)],[9+(t>>23),9+(i>>23)],[73+(t>>20),73+(i>>20)],[585+(t>>17),585+(i>>17)],[4681+(t>>14),4681+(i>>14)]),n}lowestOffset(A,e){const t=A.linearIndex;return t?.[Math.min(o(e)>>14,t.length-1)]}async _parse(A={}){const{bytes:e,dataView:t}=await this.readIndexBytes(A);if(21578324!==t.getUint32(0,!0))throw new Error("Not a TBI file");const i=t.getUint32(4,!0),{refNameToId:a,refIdToName:o,coordinateType:I,format:Q,columnNumbers:B,metaChar:C,skipLines:E}=(0,g.parseAuxData)(e,8);let h,l=36+t.getInt32(32,!0);const c=[];for(let A=0;A<i;A++){c.push(l);const A=t.getInt32(l,!0);l+=4;for(let e=0;e<A;e++){const A=t.getUint32(l,!0);l+=4;const e=t.getInt32(l,!0);if(l+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");l+=16*e}const i=t.getInt32(l,!0);l+=4,h=(0,g.minVirtualOffset)(e,l,i,h),l+=8*i}return{indices:(0,g.memoizeByRefId)(function(A){const i=c[A];if(void 0===i)return;let a=i;const r=t.getInt32(a,!0);a+=4;const o={};let I;for(let A=0;A<r;A++){const A=t.getUint32(a,!0);if(a+=4,A>37450)throw new Error("tabix index contains too many bins, please use a CSI index");if(37450===A){const A=t.getInt32(a,!0);a+=4,2===A&&(I=(0,g.parsePseudoBin)(e,a+16)),a+=16*A}else{const i=t.getInt32(a,!0);a+=4;const g=Array.from({length:i});for(let t=0;t<i;t++)g[t]=new n.default((0,s.fromBytes)(e,a),(0,s.fromBytes)(e,a+8),A),a+=16;o[A]=g}}const Q=t.getInt32(a,!0);a+=4;const B=Array.from({length:Q});for(let A=0;A<Q;A++)B[A]=(0,s.fromBytes)(e,a),a+=8;return(0,g.clampChunkEnds)(Object.values(o).flat(),B.map(A=>A.blockPosition)),{binIndex:o,linearIndex:B,stats:I}}),metaChar:C,minShift:14,depth:5,maxBinNumber:37449,maxRefLength:r,skipLines:E,firstDataLine:h,columnNumbers:B,coordinateType:I,format:Q,refIdToName:o,refNameToId:a,maxBlockSize:65536}}}e.default=I},951(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=void 0,e.optimizeChunks=function(A,e){const t=A.length;if(0===t)return A;let i;if(e){const n=e.blockPosition,a=e.dataPosition;i=[];for(let e=0;e<t;e++){const t=A[e];(t.maxv.blockPosition-n||t.maxv.dataPosition-a)>0&&i.push(t)}if(0===i.length)return i}else i=A;i.sort((A,e)=>{const t=A.minv.blockPosition-e.minv.blockPosition;return 0===t?A.minv.dataPosition-e.minv.dataPosition:t});const n=[i[0]];let g=i[0].minv.blockPosition,s=i[0].maxv.blockPosition;for(let A=1;A<i.length;A++){const e=i[A],t=e.minv.blockPosition,r=e.maxv.blockPosition;if(t-s<65e3&&r-g<5e6){const A=n.at(-1);(r-s||e.maxv.dataPosition-A.maxv.dataPosition)>0&&(n[n.length-1]=new a.default(A.minv,e.maxv,A.bin,e.endPosition),s=r)}else n.push(e),g=t,s=r}return function(A){const e=[A[0]];for(let t=1;t<A.length;t++){const i=A[t],n=e.at(-1).maxv;(i.minv.blockPosition-n.blockPosition||i.minv.dataPosition-n.dataPosition)>=0?e.push(i):(i.maxv.blockPosition-n.blockPosition||i.maxv.dataPosition-n.dataPosition)>0&&e.push(new a.default(n,i.maxv,i.bin,i.endPosition))}return e}(n)},e.clampChunkEnds=function(A,e=[]){const t=[...e];for(const e of A)t.push(e.minv.blockPosition,e.maxv.blockPosition);t.sort((A,e)=>A-e);for(const e of A){const A=e.maxv.blockPosition;let i=0,n=t.length;for(;i<n;){const e=i+n>>>1;t[e]>A?n=e:i=e+1}i<t.length&&(e.endPosition=Math.min(e.endPosition,t[i]))}},e.minVirtualOffset=function(A,e,t,i){let n=i?i.blockPosition:1/0,a=i?i.dataPosition:0,g=!1;for(let i=0;i<t;i++){const t=e+8*i,s=1099511627776*A[t+7]+4294967296*A[t+6]+16777216*A[t+5]+65536*A[t+4]+256*A[t+3]+A[t+2],r=A[t+1]<<8|A[t];(s<n||s===n&&r<a)&&(n=s,a=r,g=!0)}return g?new s.default(n,a):i},e.parseNameBytes=o,e.parseAuxData=function(A,e){const t=new DataView(A.buffer,A.byteOffset,A.byteLength),i=t.getInt32(e,!0),n=65536&i?"zero-based-half-open":"1-based-closed",a=I[15&i];if(!a)throw new Error(`invalid Tabix preset format flags ${i}`);const g={ref:t.getInt32(e+4,!0),start:t.getInt32(e+8,!0),end:t.getInt32(e+12,!0)},s=t.getInt32(e+16,!0),r=s?String.fromCharCode(s):void 0,Q=t.getInt32(e+20,!0),B=t.getInt32(e+24,!0),{refIdToName:C,refNameToId:E}=o(A.subarray(e+28,e+28+B));return{refIdToName:C,refNameToId:E,skipLines:Q,metaChar:r,columnNumbers:g,format:a,coordinateType:n}},e.parsePseudoBin=function(A,e){return{lineCount:(0,g.longFromBytesToUnsigned)(A,e)}},e.memoizeByRefId=function(A,e=5){const t=new n.default({maxSize:e});return e=>{const i=t.get(e);if(void 0!==i)return i;const n=A(e);return void 0!==n&&t.set(e,n),n}};const n=i(t(830)),a=i(t(538)),g=t(85),s=i(t(483));var r=t(257);function o(A){const e=new TextDecoder("utf-8"),t=[],i={};let n=0,a=0;for(;a<A.length;){const g=A.indexOf(0,a);if(-1===g)break;if(g>a){const s=e.decode(A.subarray(a,g));t[n]=s,i[s]=n}a=g+1,n++}return{refNameToId:i,refIdToName:t}}Object.defineProperty(e,"throwIfAborted",{enumerable:!0,get:function(){return r.throwIfAborted}});const I={0:"generic",1:"SAM",2:"VCF"}},483(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromBytes=function(A,e=0){return new t(1099511627776*A[e+7]+4294967296*A[e+6]+16777216*A[e+5]+65536*A[e+4]+256*A[e+3]+A[e+2],A[e+1]<<8|A[e])};class t{blockPosition;dataPosition;constructor(A,e){this.blockPosition=A,this.dataPosition=e}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(A){return this.blockPosition-A.blockPosition||this.dataPosition-A.dataPosition}}e.default=t},973(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0});const n=t(331),a=i(t(76)),g=t(952),s=t(508);e.default=class{filehandle;gzi;limit;constructor({filehandle:A,gziFilehandle:e,blockConcurrency:t=10}){this.filehandle=A,this.gzi=new a.default({filehandle:e}),this.limit=function(A){let e=0;const t=[];return async i=>{e>=A&&await new Promise(A=>{t.push(A)}),e++;try{return await i()}finally{e--,t.shift()?.()}}}(t)}async read(A,e){const{compressed:t,uncompressed:i,nextCompressedPosition:a}=await this.gzi.getRelevantBlocksForRead(A,e);if(0===t.length)return new Uint8Array(0);const r=e+A,o=function(A,e,t){const i=[],a=A.length;let g=0;for(;g<a;){let s=g+1;for(;s<a&&e[s]-e[g]<33554432;)s+=1;i.push({compressedStart:A[g],compressedEnd:s<a?A[s]:t??A[a-1]+n.MAX_BGZF_BLOCK_SIZE,uncompressedStart:e[g]}),g=s}return i}(t,i,a),I=await Promise.all(o.map(A=>this.limit(async()=>{const t=await this.filehandle.read(A.compressedEnd-A.compressedStart,A.compressedStart);return function(A,e,t,i){const n=Math.max(0,t-e),a=Math.min(i,e+A.length)-e;return n<A.length?A.subarray(n,a):new Uint8Array(0)}(await(0,g.unzip)(t),A.uncompressedStart,e,r)})));return(0,s.concatUint8Array)(I)}}},331(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.MAX_BGZF_BLOCK_SIZE=void 0,e.MAX_BGZF_BLOCK_SIZE=65536},76(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(790),n={compressed:new Float64Array(0),uncompressed:new Float64Array(0)};function a(A,e){const t=new Float64Array(e+1),n=new Float64Array(e+1),a=new DataView(A.buffer,A.byteOffset,A.byteLength);for(let A=0;A<e;A+=1){const e=16*A;t[A+1]=(0,i.readUint64LE)(a,e),n[A+1]=(0,i.readUint64LE)(a,e+8)}return{compressed:t,uncompressed:n}}function g(A,e){let t=0,i=A.length;for(;t<i;){const n=t+i>>>1;A[n]<=e?t=n+1:i=n}return t}e.default=class{filehandle;index;constructor({filehandle:A}){this.filehandle=A}_getIndex(){return this.index||(this.index=this._readIndex().catch(A=>{throw this.index=void 0,A})),this.index}async _readIndex(){const A=await this.filehandle.read(8,0),e=(0,i.readUint64LE)(new DataView(A.buffer,A.byteOffset,A.byteLength));if(0===e)return a(new Uint8Array(0),0);if(e>Number.MAX_SAFE_INTEGER/16)throw new TypeError("integer overflow");return a(await this.filehandle.read(16*e,8),e)}async getRelevantBlocksForRead(A,e){if(0===A)return{...n,nextCompressedPosition:void 0};const{compressed:t,uncompressed:i}=await this._getIndex(),a=g(i,e)-1,s=g(i,e+A-1);return{compressed:t.subarray(a,s),uncompressed:i.subarray(a,s),nextCompressedPosition:s<t.length?t[s]:void 0}}}},322(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.unzipChunkSlice=e.unzip=e.MAX_BGZF_BLOCK_SIZE=e.BgzfFilehandle=void 0;var n=t(973);Object.defineProperty(e,"BgzfFilehandle",{enumerable:!0,get:function(){return i(n).default}});var a=t(331);Object.defineProperty(e,"MAX_BGZF_BLOCK_SIZE",{enumerable:!0,get:function(){return a.MAX_BGZF_BLOCK_SIZE}});var g=t(952);Object.defineProperty(e,"unzip",{enumerable:!0,get:function(){return g.unzip}}),Object.defineProperty(e,"unzipChunkSlice",{enumerable:!0,get:function(){return g.unzipChunkSlice}})},790(A,e){e.readUint64LE=function(A,e=0){const t=A.getUint32(e,!0);return 4294967296*A.getUint32(e+4,!0)+t}},952(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.unzip=async function(A){if(0===A.length)return new Uint8Array(0);if(!((e=A).length>=26&&a(e)&&8===e[2]&&4===e[3]&&6===e[10]&&66===e[12]&&67===e[13])){if(a(A))return s(A);throw new Error("problem decompressing block: not a valid bgzf or gzip block")}var e;try{return await(0,n.decompressAll)(A)}catch(e){if(g(e).includes("invalid bgzf header"))return s(A);throw r(e)}},e.unzipChunkSlice=async function(A,e){const{minv:t,maxv:i}=e;try{const e=await(0,n.decompressChunkSlice)(A,t.blockPosition,t.dataPosition,i.blockPosition,i.dataPosition);return{buffer:e.buffer,cpositions:e.cpositions,dpositions:e.dpositions}}catch(A){throw r(A)}};const i=t(196),n=t(431);function a(A){return 31===A[0]&&139===A[1]}function g(A){return A instanceof Error?A.message:`${A}`}async function s(A){if("undefined"!=typeof DecompressionStream){const e=new Blob([A]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(e).arrayBuffer())}return(0,i.ungzip)(A,void 0)}function r(A){return g(A).includes("invalid gzip header")?new Error("problem decompressing block: incorrect gzip header check",{cause:A}):A}},508(A,e){e.concatUint8Array=function(A){let e=0;for(const t of A)e+=t.length;const t=new Uint8Array(e);let i=0;for(const e of A)t.set(e,i),i+=e.length;return t}},431(A,e){e.decompressAll=async function(A){return p||await F(),a(A)},e.decompressChunkSlice=async function(A,e,t,i,n){p||await F();const a=g(A,e,t,i,n),s=a.take_buffer(),r=a.take_cpositions(),o=a.take_dpositions();return a.free(),{buffer:s,cpositions:r,dpositions:o}};var t={d:(A,e)=>{for(var i in e)t.o(e,i)&&!t.o(A,i)&&Object.defineProperty(A,i,{enumerable:!0,get:e[i]})},o:(A,e)=>Object.prototype.hasOwnProperty.call(A,e),r:A=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})}},i={};t.r(i),t.d(i,{ChunkSliceResult:()=>n,__wbg_Error_ef53bc310eb298a0:()=>s,__wbg___wbindgen_throw_1506f2235d1bdba0:()=>r,__wbg_set_wasm:()=>b,decompress_all:()=>a,decompress_chunk_slice:()=>g});class n{static __wrap(A){const e=Object.create(n.prototype);return e.__wbg_ptr=A,o.register(e,e.__wbg_ptr,e),e}__destroy_into_raw(){const A=this.__wbg_ptr;return this.__wbg_ptr=0,o.unregister(this),A}free(){const A=this.__destroy_into_raw();y.__wbg_chunksliceresult_free(A,0)}take_buffer(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_buffer(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=Q(A,e).slice();return y.__wbindgen_export(A,1*e,1),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_cpositions(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=I(A,e).slice();return y.__wbindgen_export(A,8*e,8),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{const i=y.__wbindgen_add_to_stack_pointer(-16);y.chunksliceresult_take_dpositions(i,this.__wbg_ptr);var A=C().getInt32(i+0,!0),e=C().getInt32(i+4,!0),t=I(A,e).slice();return y.__wbindgen_export(A,8*e,8),t}finally{y.__wbindgen_add_to_stack_pointer(16)}}}function a(A){try{const a=y.__wbindgen_add_to_stack_pointer(-16),g=u(A,y.__wbindgen_export2),s=D;y.decompress_all(a,g,s);var e=C().getInt32(a+0,!0),t=C().getInt32(a+4,!0),i=C().getInt32(a+8,!0);if(C().getInt32(a+12,!0))throw w(i);var n=Q(e,t).slice();return y.__wbindgen_export(e,1*t,1),n}finally{y.__wbindgen_add_to_stack_pointer(16)}}function g(A,e,t,i,a){try{const r=y.__wbindgen_add_to_stack_pointer(-16),o=u(A,y.__wbindgen_export2),I=D;y.decompress_chunk_slice(r,o,I,e,t,i,a);var g=C().getInt32(r+0,!0),s=C().getInt32(r+4,!0);if(C().getInt32(r+8,!0))throw w(s);return n.__wrap(g)}finally{y.__wbindgen_add_to_stack_pointer(16)}}function s(A,e){return function(A){f===d.length&&d.push(d.length+1);const e=f;return f=d[e],d[e]=A,e}(Error(h(A,e)))}function r(A,e){throw new Error(h(A,e))}Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free);const o="undefined"==typeof FinalizationRegistry?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(A=>y.__wbg_chunksliceresult_free(A,1));function I(A,e){return A>>>=0,(null!==E&&0!==E.byteLength||(E=new Float64Array(y.memory.buffer)),E).subarray(A/8,A/8+e)}function Q(A,e){return A>>>=0,c().subarray(A/1,A/1+e)}let B=null;function C(){return(null===B||!0===B.buffer.detached||void 0===B.buffer.detached&&B.buffer!==y.memory.buffer)&&(B=new DataView(y.memory.buffer)),B}let E=null;function h(A,e){return function(A,e){return m+=e,m>=k&&(_=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),_.decode(),m=e),_.decode(c().subarray(A,A+e))}(A>>>0,e)}let l=null;function c(){return null!==l&&0!==l.byteLength||(l=new Uint8Array(y.memory.buffer)),l}let d=new Array(1024).fill(void 0);d.push(void 0,null,!0,!1);let f=d.length;function u(A,e){const t=e(1*A.length,1)>>>0;return c().set(A,t/1),D=A.length,t}function w(A){const e=function(A){return d[A]}(A);return function(A){A<1028||(d[A]=f,f=A)}(A),e}let _=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_.decode();const k=2146435072;let y,m=0,D=0;function b(A){y=A}let p=null,N=null;async function F(){return p||(N||(N=(async()=>{const A=await fetch("data:application/wasm;base64,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AEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEGUACyAAAkAgASgCAEUNACAAQbiXwAA2AgQgACABNgIADwsACx4BAX8CQCAAKAIAIgJFDQAgASACIAAoAgQQTQ8LAAsbAQF/EGogAEEEakEEEFgiASAANgIAIAFBBGoLHgEBfwJAIAAoAgAiAUEBSA0AIAAoAgQgAUEBEFMLCx4AIAAoAgAgACgCBEEAKALgmkAiAEEDIAAbEQQAAAsjAQF/AkBBhIrAABAtIgANAEG4icAAQTpB9InAABA4AAsgAAsXAAJAIABBf2pBfk8NACABIABBARBTCwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEFMLCxcAAkAgAUEJSQ0AIAEgABAODwsgABACCxUAIABBfGoiACAAKAIAQQRqQQQQUwsUAAJAIABFDQAgACABEF8ACxBWAAsRACAAIAFBAXRBAXIgAhAxAAsSAAJAIAFFDQAgACABIAIQUwsLEgAgACABIAIgAyAEQQAgBRADCxUAAkAgAEUNACAAIAAoAqhaEQIACwsaACAAQQApAoSWQDcCCCAAQQApAvyVQDcCAAsaACAAQQApAvSVQDcCCCAAQQApAuyVQDcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQcACw0AIAAgASACIAMQBw8LFABBACAANgK4mkBBAEEBNgK0mkALEwAgAEG4l8AANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBNCxAAIAEgACgCACAAKAIEEAoLCwAgACABIAIQKg8LCgAgACABEGkaAAsPACAAQZyVwAAgASACEAwLEQBBkJjAAEEjQaSYwAAQMQALCwAgACMAaiQAIwALCQAgACABEEQPCwkAIAAgARAuDwsJACAAIAEQYQALDABBr4fAAEEbEFoACw0AQcqHwABBzwAQWgALCQAgASAAEDsACwwAIAAgASkCADcDAAsJACABIAAQXQALDQAgAUH8mcAAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEEoLBwAgABA5AAsHACAAEEAACwcAIAAQJgALCwBBAEEBOgC4nkALCQAgAEEANgIACwUAEGsACwMADwsDAAALC7oaAgBBgIDAAAuUGkF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvcnVzdGMvOGJhYjI2ZjRmNjhlMGUyNmYwYmI3OTYwYmUzMzRkNWI1MjBlYTQ1Mi9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyMi9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy84YmFiMjZmNGY2OGUwZTI2ZjBiYjc5NjBiZTMzNGQ1YjUyMGVhNDUyL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjEzL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAA1gAQAF4AAABrAAAADQAAAMwCEAAKAAAAHAAAACQAAADMAhAACgAAAMIAAAApAAAAzAIQAAoAAAC2AAAAJwAAAMwCEAAKAAAAcQAAABwAAADMAhAACgAAAG0AAABBAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRpbnZhbGlkIGJnemYgaGVhZGVyAMwCEAAKAAAATAAAAD0AAABhdHRlbXB0ZWQgdG8gdGFrZSBvd25lcnNoaXAgb2YgUnVzdCB2YWx1ZSB3aGlsZSBpdCB3YXMgYm9ycm93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"),e=await A.arrayBuffer(),{instance:t}=await WebAssembly.instantiate(e,{"./bgzf_wasm_bg.js":i});return p=t.exports,b(p),p})()),N)}},829(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedBudget=void 0;class t{held=0;ref;constructor(A){this.ref=new WeakRef(A)}}e.SharedBudget=class{members=new Set;budgetLimit;total=0;constructor(A){this.budgetLimit=A}get limit(){return this.budgetLimit}set limit(A){this.budgetLimit=A,this.evict()}get size(){return this.prune(),this.members.size}register(A){const e=new t(A);return this.members.add(e),e}charge(A,e){A.held+=e,this.total+=e}evict(){if(this.budgetLimit!==1/0)for(this.prune();this.total>this.budgetLimit;){let A,e,t=1/0;for(const i of this.members){const n=i.ref.deref(),a=n?.lruSpare();a&&a.seq<t&&(t=a.seq,A=a.cacheKey,e=n)}if(!e||void 0===A)break;e.release(A)}}prune(){for(const A of this.members)void 0===A.ref.deref()&&(this.total-=A.held,this.members.delete(A))}}},332(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.SharedReadCache=void 0;const i=t(735);let n=0;e.SharedReadCache=class{entries=new Map;total=0;limit;budget;membership;fill;sizeOf;toCacheKey;evictionPolicy;pending=0;idleTimeoutMs;sweepTimer;constructor({fill:A,maxSize:e=1/0,sizeOf:t=()=>1,cacheKey:i=A=>String(A),evictionPolicy:n="lru",idleTimeoutMs:a=0,budget:g}){this.fill=A,this.evictionPolicy=n,this.limit=e,this.budget=g,this.membership=g?.register(this),this.sizeOf=t,this.toCacheKey=i,this.idleTimeoutMs=a>0?a:void 0}get size(){return this.entries.size}get totalSize(){return this.total}get maxSize(){return this.limit}set maxSize(A){this.limit=A,this.evict()}waiterCount(A){return this.entries.get(this.toCacheKey(A))?.signals.size??0}async get(A,e,t){(0,i.throwIfAborted)(e);const a=this.toCacheKey(A);let g=this.entries.get(a);g&&(this.entries.delete(a),this.entries.set(a,g),g.touched=!0,g.lastTouched=Date.now(),g.seq=n++,!g.settled&&g.controller.signal.aborted&&(this.delete(A),g=void 0)),g??=this.start(a,A,t),g.settled||this.join(g,e);try{const A=await g.promise;return(0,i.throwIfAborted)(e),A}catch(A){throw(0,i.throwIfAborted)(e),A}}getIfCached(A){const e=this.toCacheKey(A),t=this.entries.get(e);if(t)return this.entries.delete(e),this.entries.set(e,t),t.touched=!0,t.lastTouched=Date.now(),t.seq=n++,t.promise}has(A){return this.entries.has(this.toCacheKey(A))}delete(A){this.deleteKey(this.toCacheKey(A))}clear(){this.entries.clear(),this.charge(-this.total),this.total=0,this.stopSweep()}sweepIdle(){const A=this.idleTimeoutMs;if(void 0===A)return;const e=Date.now()-A;let t=0;for(const[A,i]of this.entries)i.settled&&(i.lastTouched<=e?this.deleteKey(A):t++);0===t&&this.stopSweep()}startSweep(){const A=this.idleTimeoutMs;if(void 0===A||void 0!==this.sweepTimer)return;const e=Math.max(1e3,Math.floor(A/4));var t;this.sweepTimer=setInterval(()=>{this.sweepIdle()},e),"object"==typeof(t=this.sweepTimer)&&null!==t&&"unref"in t&&"function"==typeof t.unref&&t.unref()}stopSweep(){void 0!==this.sweepTimer&&(clearInterval(this.sweepTimer),this.sweepTimer=void 0)}start(A,e,t){const i=t??(this.fill&&(A=>this.fill(e,A)));if(!i)throw new Error("SharedReadCache needs a fill, either on the cache or on the get() call");const a=new AbortController,g={promise:i(a.signal),signals:new Set,pinned:!1,controller:a,dispose:new AbortController,settled:!1,size:0,touched:!0,lastTouched:Date.now(),seq:n++};this.entries.set(A,g),this.pending++;const s=()=>{g.settled=!0,g.lastTouched=Date.now(),g.seq=n++,this.pending--,g.dispose.abort(),g.signals.clear()};return g.promise.then(e=>{s(),this.entries.get(A)===g&&(g.size=this.sizeOf(e),this.total+=g.size,this.charge(g.size),this.startSweep()),this.maybeEvict()},()=>{s(),this.entries.get(A)===g&&this.entries.delete(A),this.maybeEvict()}),g}join(A,e){void 0===e?A.pinned=!0:e.aborted?A.pinned||0!==A.signals.size||A.controller.abort(e.reason):"function"!=typeof e.addEventListener?A.pinned=!0:A.signals.has(e)||(A.signals.add(e),e.addEventListener("abort",()=>{A.signals.delete(e),A.pinned||0!==A.signals.size||A.controller.abort(e.reason)},{once:!0,signal:A.dispose.signal}))}deleteKey(A){const e=this.entries.get(A);e&&(this.entries.delete(A),this.total-=e.size,this.charge(-e.size))}charge(A){this.budget&&this.membership&&this.budget.charge(this.membership,A)}lruSpare(){let A;for(const[e,t]of this.entries)if(t.settled){if(void 0!==A)return A;A={cacheKey:e,seq:t.seq}}}release(A){this.deleteKey(A)}maybeEvict(){"lru"!==this.evictionPolicy&&0!==this.pending||(this.evict(),this.budget?.evict())}evict(){if(this.limit===1/0)return;if("batch"===this.evictionPolicy){for(const[A,e]of this.entries){if(this.total<=this.limit)break;!e.touched&&e.settled&&this.deleteKey(A)}for(const A of this.entries.values())A.touched=!1;return}if(this.total<=this.limit)return;let A=0;for(const e of this.entries.values())e.settled&&A++;for(const[e,t]of this.entries){if(this.total<=this.limit||A<=1)break;t.settled&&(this.deleteKey(e),A--)}}}},257(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=e.SharedReadCache=e.SharedBudget=void 0;var i=t(829);Object.defineProperty(e,"SharedBudget",{enumerable:!0,get:function(){return i.SharedBudget}});var n=t(332);Object.defineProperty(e,"SharedReadCache",{enumerable:!0,get:function(){return n.SharedReadCache}});var a=t(735);Object.defineProperty(e,"throwIfAborted",{enumerable:!0,get:function(){return a.throwIfAborted}})},735(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.throwIfAborted=function(A){if(A?.aborted){const e=A.reason;throw void 0===e?new DOMException("This operation was aborted","AbortError"):e}}},830(A,e){var t,i,n,a,g,s,r,o,I,Q,B,C,E,h,l,c=this&&this.__classPrivateFieldSet||function(A,e,t,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?A!==e||!n:!e.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(A,t):n?n.value=t:e.set(A,t),t},d=this&&this.__classPrivateFieldGet||function(A,e,t,i){if("a"===t&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?A!==e||!i:!e.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?i:"a"===t?i.call(A):i?i.value:e.get(A)};Object.defineProperty(e,"__esModule",{value:!0});class f extends Map{constructor(A={}){if(super(),t.add(this),i.set(this,0),n.set(this,new Map),a.set(this,new Map),g.set(this,void 0),s.set(this,void 0),r.set(this,void 0),!(A.maxSize&&A.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if("number"==typeof A.maxAge&&0===A.maxAge)throw new TypeError("`maxAge` must be a number greater than 0");c(this,g,A.maxSize,"f"),c(this,s,A.maxAge||Number.POSITIVE_INFINITY,"f"),c(this,r,A.onEviction,"f")}get __oldCache(){return d(this,a,"f")}get(A){if(d(this,n,"f").has(A)){const e=d(this,n,"f").get(A);return d(this,t,"m",B).call(this,A,e)}if(d(this,a,"f").has(A)){const e=d(this,a,"f").get(A);if(!d(this,t,"m",I).call(this,A,e))return d(this,t,"m",h).call(this,A,e),e.value}}set(A,e,{maxAge:i=d(this,s,"f")}={}){const a="number"==typeof i&&i!==Number.POSITIVE_INFINITY?Date.now()+i:void 0;return d(this,n,"f").has(A)?d(this,n,"f").set(A,{value:e,expiry:a}):d(this,t,"m",E).call(this,A,{value:e,expiry:a}),this}has(A){return d(this,n,"f").has(A)?!d(this,t,"m",I).call(this,A,d(this,n,"f").get(A)):!!d(this,a,"f").has(A)&&!d(this,t,"m",I).call(this,A,d(this,a,"f").get(A))}peek(A){return d(this,n,"f").has(A)?d(this,t,"m",C).call(this,A,d(this,n,"f")):d(this,a,"f").has(A)?d(this,t,"m",C).call(this,A,d(this,a,"f")):void 0}expiresIn(A){const e=d(this,n,"f").get(A)??d(this,a,"f").get(A);if(e)return e.expiry?e.expiry-Date.now():Number.POSITIVE_INFINITY}delete(A){var e;const t=d(this,n,"f").delete(A);return t&&c(this,i,(e=d(this,i,"f"),--e),"f"),d(this,a,"f").delete(A)||t}clear(){d(this,n,"f").clear(),d(this,a,"f").clear(),c(this,i,0,"f")}resize(A){if(!(A&&A>0))throw new TypeError("`maxSize` must be a number greater than 0");const e=[...d(this,t,"m",l).call(this)],s=e.length-A;s<0?(c(this,n,new Map(e),"f"),c(this,a,new Map,"f"),c(this,i,e.length,"f")):(s>0&&d(this,t,"m",o).call(this,e.slice(0,s)),c(this,a,new Map(e.slice(s)),"f"),c(this,n,new Map,"f"),c(this,i,0,"f")),c(this,g,A,"f")}evict(A=1){const e=A;if(!e||e<=0)return;const g=[...d(this,t,"m",l).call(this)],s=Math.trunc(Math.min(e,Math.max(g.length-1,0)));s<=0||(d(this,t,"m",o).call(this,g.slice(0,s)),c(this,a,new Map(g.slice(s)),"f"),c(this,n,new Map,"f"),c(this,i,0,"f"))}*keys(){for(const[A]of this)yield A}*values(){for(const[,A]of this)yield A}*[(i=new WeakMap,n=new WeakMap,a=new WeakMap,g=new WeakMap,s=new WeakMap,r=new WeakMap,t=new WeakSet,o=function(A){if("function"==typeof d(this,r,"f"))for(const[e,t]of A)d(this,r,"f").call(this,e,t.value)},I=function(A,e){return"number"==typeof e.expiry&&e.expiry<=Date.now()&&("function"==typeof d(this,r,"f")&&d(this,r,"f").call(this,A,e.value),this.delete(A))},Q=function(A,e){if(!d(this,t,"m",I).call(this,A,e))return e.value},B=function(A,e){return e.expiry?d(this,t,"m",Q).call(this,A,e):e.value},C=function(A,e){const i=e.get(A);return d(this,t,"m",B).call(this,A,i)},E=function(A,e){var s;d(this,n,"f").set(A,e),c(this,i,(s=d(this,i,"f"),++s),"f"),d(this,i,"f")>=d(this,g,"f")&&(c(this,i,0,"f"),d(this,t,"m",o).call(this,d(this,a,"f")),c(this,a,d(this,n,"f"),"f"),c(this,n,new Map,"f"))},h=function(A,e){d(this,a,"f").delete(A),d(this,t,"m",E).call(this,A,e)},l=function*(){for(const A of d(this,a,"f")){const[e,i]=A;d(this,n,"f").has(e)||d(this,t,"m",I).call(this,e,i)||(yield A)}for(const A of d(this,n,"f")){const[e,i]=A;d(this,t,"m",I).call(this,e,i)||(yield A)}},Symbol.iterator)](){for(const A of d(this,n,"f")){const[e,i]=A;d(this,t,"m",I).call(this,e,i)||(yield[e,i.value])}for(const A of d(this,a,"f")){const[e,i]=A;d(this,n,"f").has(e)||d(this,t,"m",I).call(this,e,i)||(yield[e,i.value])}}*entriesDescending(){let A=[...d(this,n,"f")];for(let e=A.length-1;e>=0;--e){const i=A[e],[n,a]=i;d(this,t,"m",I).call(this,n,a)||(yield[n,a.value])}A=[...d(this,a,"f")];for(let e=A.length-1;e>=0;--e){const i=A[e],[a,g]=i;d(this,n,"f").has(a)||d(this,t,"m",I).call(this,a,g)||(yield[a,g.value])}}*entriesAscending(){for(const[A,e]of d(this,t,"m",l).call(this))yield[A,e.value]}get size(){if(!d(this,i,"f"))return d(this,a,"f").size;let A=0;for(const e of d(this,a,"f").keys())d(this,n,"f").has(e)||A++;return Math.min(d(this,i,"f")+A,d(this,g,"f"))}get maxSize(){return d(this,g,"f")}get maxAge(){return d(this,s,"f")}entries(){return this.entriesAscending()}forEach(A,e=this){for(const[t,i]of this.entriesAscending())A.call(e,i,t,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}e.default=f},379(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(98);e.default=class{blob;constructor(A){this.blob=A}async read(A,e=0){return 0===A?new Uint8Array(0):(0,i.toBytes)(this.blob.slice(e,e+A))}async readFile(A){const e="string"==typeof A?A:A?.encoding;if("utf8"===e)return this.blob.text();if(e)throw new Error(`unsupported encoding: ${e}`);return(0,i.toBytes)(this.blob)}stat(){return Promise.resolve({size:this.blob.size})}close(){return Promise.resolve()}}},252(A,e,t){var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){void 0===i&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,i,n)}:function(A,e,t,i){void 0===i&&(i=t),A[i]=e[t]}),n=this&&this.__exportStar||function(A,e){for(var t in A)"default"===t||Object.prototype.hasOwnProperty.call(e,t)||i(e,A,t)},a=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.LocalFile=e.RemoteFile=e.BlobFile=void 0,n(t(262),e);var g=t(379);Object.defineProperty(e,"BlobFile",{enumerable:!0,get:function(){return a(g).default}});var s=t(206);Object.defineProperty(e,"RemoteFile",{enumerable:!0,get:function(){return a(s).default}}),e.LocalFile=class{readFile(){return Promise.reject(new Error("unimplemented"))}read(){return Promise.reject(new Error("unimplemented"))}stat(){return Promise.reject(new Error("unimplemented"))}close(){return Promise.reject(new Error("unimplemented"))}}},262(A,e){Object.defineProperty(e,"__esModule",{value:!0})},206(A,e,t){Object.defineProperty(e,"__esModule",{value:!0});const i=t(98);e.default=class{url;_stat;fetchImplementation;baseHeaders;baseOverrides;constructor(A,e={}){this.url=A,this.baseHeaders=e.headers??{},this.baseOverrides=e.overrides??{},this.fetchImplementation=e.fetch??globalThis.fetch.bind(globalThis)}buildRequest(A,e){return{...this.baseOverrides,...A.overrides,headers:{...this.baseHeaders,...A.headers,...e},method:"GET",redirect:"follow",mode:"cors",signal:A.signal}}async fetch(A,e){const t=e=>new Error(`${function(A){return("object"==typeof A&&null!==A&&"message"in A&&"string"==typeof A.message?A.message:`${A}`).replace(/\.$/,"")}(e)} fetching ${A}`,{cause:e});let i;try{i=await this.fetchImplementation(A,e)}catch(n){if(!`${n}`.includes("Failed to fetch"))throw t(n);console.warn(`generic-filehandle: refetching ${A} to attempt to work around chrome CORS header caching bug`);try{i=await this.fetchImplementation(A,{...e,cache:"reload"})}catch(A){throw t(A)}}return i}async read(A,e,t={}){if(0===A)return new Uint8Array(0);if(Number.isNaN(A)||Number.isNaN(e))throw new TypeError(`read() called with NaN length or position (length=${A}, position=${e}). The index file may be corrupt.`);const n=await this.fetch(this.url,this.buildRequest(t,{range:`bytes=${e}-${e+A-1}`}));if(416===n.status)return new Uint8Array(0);if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if(200===n.status&&0===e||206===n.status){const e=n.headers.get("content-range"),a=/\/(\d+)$/.exec(e??"");a?.[1]&&(this._stat={size:parseInt(a[1],10)});const g=t.onProgress?await(0,i.toBytesWithProgress)(n,t.onProgress):await(0,i.toBytes)(n);return this._stat||200!==n.status||(this._stat={size:g.byteLength}),g.byteLength<=A?g:g.subarray(0,A)}throw new Error(200===n.status?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}async readFile(A={}){const e="string"==typeof A?A:A.encoding,t="string"==typeof A?{}:A,n=await this.fetch(this.url,this.buildRequest(t));if(!n.ok)throw new Error(`HTTP ${n.status} fetching ${this.url}`);if("utf8"===e)return n.text();if(e)throw new Error(`unsupported encoding: ${e}`);return t.onProgress?(0,i.toBytesWithProgress)(n,t.onProgress):(0,i.toBytes)(n)}async stat(){return this._stat||await this.read(10,0),this._stat??{size:0}}close(){return Promise.resolve()}}},98(A,e){async function t(A){return A.bytes?A.bytes():new Uint8Array(await A.arrayBuffer())}e.toBytes=t,e.toBytesWithProgress=async function(A,e){const i=A.headers.get("content-length"),n=i?parseInt(i,10):void 0,a=A.body;if(!a||void 0===n){const i=await t(A);return e(i.byteLength,n??i.byteLength),i}const g=a.getReader();let s=new Uint8Array(n),r=0,o=0;e(0,n);for(let A=await g.read();!A.done;A=await g.read()){if(r+A.value.byteLength>s.length){const e=new Uint8Array(Math.max(r+A.value.byteLength,2*s.length));e.set(s.subarray(0,r)),s=e}s.set(A.value,r),r+=A.value.byteLength;const t=Date.now();t-o>=50&&(o=t,e(r,n))}return e(r,n),r===s.length?s:s.subarray(0,r)}},850(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.Deflate=void 0,e.deflate=B,e.deflateRaw=function(A,e){return(e=e||{}).raw=!0,B(A,e)},e.gzip=function(A,e){return(e=e||{}).gzip=!0,B(A,e)};const n=t(409),a=t(581),g=t(978),s=t(708),r=i(t(263)),o=i(t(877));var I=Object.prototype.toString;class Q{constructor(A){this.options=(0,n.assign)({level:g.Z_DEFAULT_COMPRESSION,method:g.Z_DEFLATED,chunkSize:16384,windowBits:15,memLevel:8,strategy:g.Z_DEFAULT_STRATEGY,to:""},A||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new o.default,this.strm.avail_out=0;var t=(0,s.deflateInit2)(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==g.Z_OK)throw new Error(r.default[t]);if(e.header&&(0,s.deflateSetHeader)(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?(0,a.string2buf)(e.dictionary):"[object ArrayBuffer]"===I.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(t=(0,s.deflateSetDictionary)(this.strm,i))!==g.Z_OK)throw new Error(r.default[t]);this._dict_set=!0}}push(A,e){var t,i,r=this.strm,o=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:!0===e?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof A?r.input=(0,a.string2buf)(A):"[object ArrayBuffer]"===I.call(A)?r.input=new Uint8Array(A):r.input=A,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=(0,n.Buf8)(o),r.next_out=0,r.avail_out=o),(t=(0,s.deflate)(r,i))!==g.Z_STREAM_END&&t!==g.Z_OK)return this.onEnd(t),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||i!==g.Z_FINISH&&i!==g.Z_SYNC_FLUSH)||("string"===this.options.to?this.onData((0,a.buf2binstring)((0,n.shrinkBuf)(r.output,r.next_out))):this.onData((0,n.shrinkBuf)(r.output,r.next_out)))}while((r.avail_in>0||0===r.avail_out)&&t!==g.Z_STREAM_END);return i===g.Z_FINISH?(t=(0,s.deflateEnd)(this.strm),this.onEnd(t),this.ended=!0,t===g.Z_OK):i!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),r.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,n.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function B(A,e){var t=new Q(e);if(t.push(A,!0),t.err)throw t.msg||r.default[t.err];return t.result}e.Deflate=Q},426(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.ungzip=e.Inflate=void 0,e.inflate=C,e.inflateRaw=function(A,e){return(e=e||{}).raw=!0,C(A,e)};const n=t(409),a=t(581),g=t(978),s=i(t(547)),r=t(184),o=i(t(263)),I=i(t(877));var Q=Object.prototype.toString;class B{constructor(A){if(!(this instanceof B))return new B(A);this.options=(0,n.assign)({chunkSize:16384,windowBits:0,to:""},A||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||A&&A.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new I.default,this.strm.avail_out=0;var t=(0,r.inflateInit2)(this.strm,e.windowBits);if(t!==g.Z_OK)throw new Error(o.default[t]);if(this.header=new s.default,(0,r.inflateGetHeader)(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=(0,a.string2buf)(e.dictionary):"[object ArrayBuffer]"===Q.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=(0,r.inflateSetDictionary)(this.strm,e.dictionary))!==g.Z_OK))throw new Error(o.default[t])}push(A,e){var t,i,s,o,I,B,C=this.strm,E=this.options.chunkSize,h=this.options.dictionary,l=!1;if(this.ended)return!1;i=e===~~e?e:!0===e?g.Z_FINISH:g.Z_NO_FLUSH,"string"==typeof A?C.input=(0,a.binstring2buf)(A):"[object ArrayBuffer]"===Q.call(A)?C.input=new Uint8Array(A):C.input=A,C.next_in=0,C.avail_in=C.input.length;do{if(0===C.avail_out&&(C.output=(0,n.Buf8)(E),C.next_out=0,C.avail_out=E),(t=(0,r.inflate)(C,g.Z_NO_FLUSH))===g.Z_NEED_DICT&&h&&(B="string"==typeof h?(0,a.string2buf)(h):"[object ArrayBuffer]"===Q.call(h)?new Uint8Array(h):h,t=(0,r.inflateSetDictionary)(this.strm,B)),t===g.Z_BUF_ERROR&&!0===l&&(t=g.Z_OK,l=!1),t!==g.Z_STREAM_END&&t!==g.Z_OK)return this.onEnd(t),this.ended=!0,!1;C.next_out&&(0!==C.avail_out&&t!==g.Z_STREAM_END&&(0!==C.avail_in||i!==g.Z_FINISH&&i!==g.Z_SYNC_FLUSH)||("string"===this.options.to?(s=(0,a.utf8border)(C.output,C.next_out),o=C.next_out-s,I=(0,a.buf2string)(C.output,s),C.next_out=o,C.avail_out=E-o,o&&(0,n.arraySet)(C.output,C.output,s,o,0),this.onData(I)):this.onData((0,n.shrinkBuf)(C.output,C.next_out)))),0===C.avail_in&&0===C.avail_out&&(l=!0)}while((C.avail_in>0||0===C.avail_out)&&t!==g.Z_STREAM_END);return t===g.Z_STREAM_END&&(i=g.Z_FINISH),i===g.Z_FINISH?(t=(0,r.inflateEnd)(this.strm),this.onEnd(t),this.ended=!0,t===g.Z_OK):i!==g.Z_SYNC_FLUSH||(this.onEnd(g.Z_OK),C.avail_out=0,!0)}onData(A){this.chunks.push(A)}onEnd(A){A===g.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=(0,n.flattenChunks)(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg}}function C(A,e){var t=new B(e);if(t.push(A,!0),t.err)throw t.msg||o.default[t.err];return t.result}e.Inflate=B,e.ungzip=C},196(A,e,t){var i=this&&this.__createBinding||(Object.create?function(A,e,t,i){void 0===i&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);n&&!("get"in n?!e.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,i,n)}:function(A,e,t,i){void 0===i&&(i=t),A[i]=e[t]}),n=this&&this.__exportStar||function(A,e){for(var t in A)"default"===t||Object.prototype.hasOwnProperty.call(e,t)||i(e,A,t)};Object.defineProperty(e,"__esModule",{value:!0}),n(t(978),e),n(t(426),e),n(t(850),e)},409(A,e){function t(A,e){return Object.prototype.hasOwnProperty.call(A,e)}e.Buf32=e.Buf16=e.Buf8=e.flattenChunks=e.arraySet=void 0,e.assign=function(A){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var n in i)t(i,n)&&(A[n]=i[n])}}return A},e.shrinkBuf=function(A,e){return A.length===e?A:A.subarray?A.subarray(0,e):(A.length=e,A)};var i={arraySet:function(A,e,t,i,n){if(e.subarray&&A.subarray)A.set(e.subarray(t,t+i),n);else for(var a=0;a<i;a++)A[n+a]=e[t+a]},flattenChunks:function(A){var e,t,i,n,a,g;for(i=0,e=0,t=A.length;e<t;e++)i+=A[e].length;for(g=new Uint8Array(i),n=0,e=0,t=A.length;e<t;e++)a=A[e],g.set(a,n),n+=a.length;return g},Buf8:function(A){return new Uint8Array(A)},Buf16:function(A){return new Uint16Array(A)},Buf32:function(A){return new Int32Array(A)}},n={arraySet:function(A,e,t,i,n){for(var a=0;a<i;a++)A[n+a]=e[t+a]},flattenChunks:function(A){return[].concat.apply([],A)},Buf8:function(A){return new Array(A)},Buf16:function(A){return new Array(A)},Buf32:function(A){return new Array(A)}};let a=()=>{const A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;return a=()=>A,A};e.arraySet=(A,t,g,s,r)=>(e.arraySet=a()?i.arraySet:n.arraySet,(0,e.arraySet)(A,t,g,s,r)),e.flattenChunks=A=>(e.flattenChunks=a()?i.flattenChunks:n.flattenChunks,(0,e.flattenChunks)(A)),e.Buf8=A=>(e.Buf8=a()?i.Buf8:n.Buf8,(0,e.Buf8)(A)),e.Buf16=A=>(e.Buf16=a()?i.Buf16:n.Buf16,(0,e.Buf16)(A)),e.Buf32=A=>(e.Buf32=a()?i.Buf32:n.Buf32,(0,e.Buf32)(A))},581(A,e,t){e.string2buf=function(A){var e,t,i,n,a,g=A.length,s=0;for(n=0;n<g;n++)55296==(64512&(t=A.charCodeAt(n)))&&n+1<g&&56320==(64512&(i=A.charCodeAt(n+1)))&&(t=65536+(t-55296<<10)+(i-56320),n++),s+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(s),a=0,n=0;a<s;n++)55296==(64512&(t=A.charCodeAt(n)))&&n+1<g&&56320==(64512&(i=A.charCodeAt(n+1)))&&(t=65536+(t-55296<<10)+(i-56320),n++),t<128?e[a++]=t:t<2048?(e[a++]=192|t>>>6,e[a++]=128|63&t):t<65536?(e[a++]=224|t>>>12,e[a++]=128|t>>>6&63,e[a++]=128|63&t):(e[a++]=240|t>>>18,e[a++]=128|t>>>12&63,e[a++]=128|t>>>6&63,e[a++]=128|63&t);return e},e.buf2binstring=function(A){return s(A,A.length)},e.binstring2buf=function(A){for(var e=new Uint8Array(A.length),t=0,i=e.length;t<i;t++)e[t]=A.charCodeAt(t);return e},e.buf2string=function(A,e){var t,i,n,a,r=e||A.length,o=new Array(2*r);for(i=0,t=0;t<r;)if((n=A[t++])<128)o[i++]=n;else if((a=g(n))>4)o[i++]=65533,t+=a-1;else{for(n&=2===a?31:3===a?15:7;a>1&&t<r;)n=n<<6|63&A[t++],a--;a>1?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n)}return s(o,i)},e.utf8border=function(A,e){var t;for((e=e||A.length)>A.length&&(e=A.length),t=e-1;t>=0&&128==(192&A[t]);)t--;return t<0||0===t?e:t+g(A[t])>e?t:e};const i=t(409);let n=function(){let A=!0;try{String.fromCharCode.apply(null,[0])}catch(e){A=!1}return n=()=>A,A},a=function(){let A=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){A=!1}return a=()=>A,A},g=function(A){for(var e=(0,i.Buf8)(256),t=0;t<256;t++)e[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;return e[254]=e[254]=1,g=A=>e[A],e[A]};function s(A,e){if(e<65534&&(A.subarray&&a()||!A.subarray&&n()))return String.fromCharCode.apply(null,(0,i.shrinkBuf)(A,e));for(var t="",g=0;g<e;g++)t+=String.fromCharCode(A[g]);return t}},654(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,t,i){for(var n=65535&A,a=A>>>16&65535,g=0;0!==t;){t-=g=t>2e3?2e3:t;do{a=a+(n=n+e[i++]|0)|0}while(--g);n%=65521,a%=65521}return n|a<<16}},978(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Z_DEFLATED=e.Z_UNKNOWN=e.Z_TEXT=e.Z_BINARY=e.Z_DEFAULT_STRATEGY=e.Z_FIXED=e.Z_RLE=e.Z_HUFFMAN_ONLY=e.Z_FILTERED=e.Z_DEFAULT_COMPRESSION=e.Z_BEST_COMPRESSION=e.Z_BEST_SPEED=e.Z_NO_COMPRESSION=e.Z_BUF_ERROR=e.Z_DATA_ERROR=e.Z_STREAM_ERROR=e.Z_ERRNO=e.Z_NEED_DICT=e.Z_STREAM_END=e.Z_OK=e.Z_TREES=e.Z_BLOCK=e.Z_FINISH=e.Z_FULL_FLUSH=e.Z_SYNC_FLUSH=e.Z_PARTIAL_FLUSH=e.Z_NO_FLUSH=void 0,e.Z_NO_FLUSH=0,e.Z_PARTIAL_FLUSH=1,e.Z_SYNC_FLUSH=2,e.Z_FULL_FLUSH=3,e.Z_FINISH=4,e.Z_BLOCK=5,e.Z_TREES=6,e.Z_OK=0,e.Z_STREAM_END=1,e.Z_NEED_DICT=2,e.Z_ERRNO=-1,e.Z_STREAM_ERROR=-2,e.Z_DATA_ERROR=-3,e.Z_BUF_ERROR=-5,e.Z_NO_COMPRESSION=0,e.Z_BEST_SPEED=1,e.Z_BEST_COMPRESSION=9,e.Z_DEFAULT_COMPRESSION=-1,e.Z_FILTERED=1,e.Z_HUFFMAN_ONLY=2,e.Z_RLE=3,e.Z_FIXED=4,e.Z_DEFAULT_STRATEGY=0,e.Z_BINARY=0,e.Z_TEXT=1,e.Z_UNKNOWN=2,e.Z_DEFLATED=8},896(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,i,n){var a=t(),g=n+i;A^=-1;for(var s=n;s<g;s++)A=A>>>8^a[255&(A^e[s])];return-1^A};let t=function(){const A=function(){for(var A,e=[],t=0;t<256;t++){A=t;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;e[t]=A}return e}();return t=()=>A,A}},708(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.deflateInfo=void 0,e.deflateResetKeep=S,e.deflateReset=J,e.deflateSetHeader=function(A,e){return A&&A.state?2!==A.state.wrap?a.Z_STREAM_ERROR:(A.state.gzhead=e,a.Z_OK):a.Z_STREAM_ERROR},e.deflateInit2=R,e.deflateInit=function(A,e){return R(A,e,a.Z_DEFLATED,15,8,a.Z_DEFAULT_STRATEGY)},e.deflate=function(A,e){var t,i,n,s;if(!A||!A.state||e>a.Z_BLOCK||e<0)return A?h(A,a.Z_STREAM_ERROR):a.Z_STREAM_ERROR;if(i=A.state,!A.output||!A.input&&0!==A.avail_in||i.status===E&&e!==a.Z_FINISH)return h(A,0===A.avail_out?a.Z_BUF_ERROR:a.Z_STREAM_ERROR);if(i.strm=A,t=i.last_flush,i.last_flush=e,42===i.status)if(2===i.wrap)A.adler=0,u(i,31),u(i,139),u(i,8),i.gzhead?(u(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),u(i,255&i.gzhead.time),u(i,i.gzhead.time>>8&255),u(i,i.gzhead.time>>16&255),u(i,i.gzhead.time>>24&255),u(i,9===i.level?2:i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(u(i,255&i.gzhead.extra.length),u(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(u(i,0),u(i,0),u(i,0),u(i,0),u(i,0),u(i,9===i.level?2:i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?4:0),u(i,3),i.status=C);else{var o=a.Z_DEFLATED+(i.w_bits-8<<4)<<8;o|=(i.strategy>=a.Z_HUFFMAN_ONLY||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(o|=32),o+=31-o%31,i.status=C,w(i,o),0!==i.strstart&&(w(i,A.adler>>>16),w(i,65535&A.adler)),A.adler=1}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending!==i.pending_buf_size));)u(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,u(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),d(A),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,u(i,s)}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(A.adler=(0,g.default)(A.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=B)}else i.status=B;if(i.status===B&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&d(A),i.pending+2<=i.pending_buf_size&&(u(i,255&A.adler),u(i,A.adler>>8&255),A.adler=0,i.status=C)):i.status=C),0!==i.pending){if(d(A),0===A.avail_out)return i.last_flush=-1,a.Z_OK}else if(0===A.avail_in&&l(e)<=l(t)&&e!==a.Z_FINISH)return h(A,a.Z_BUF_ERROR);if(i.status===E&&0!==A.avail_in)return h(A,a.Z_BUF_ERROR);if(0!==A.avail_in||0!==i.lookahead||e!==a.Z_NO_FLUSH&&i.status!==E){var Q=i.strategy===a.Z_HUFFMAN_ONLY?function(A,e){for(var t;;){if(0===A.lookahead&&(y(A),0===A.lookahead)){if(e===a.Z_NO_FLUSH)return 1;break}if(A.match_length=0,t=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,t&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,e):i.strategy===a.Z_RLE?function(A,e){for(var t,i,n,g,s=A.window;;){if(A.lookahead<=I){if(y(A),A.lookahead<=I&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(i=s[n=A.strstart-1])===s[++n]&&i===s[++n]&&i===s[++n]){g=A.strstart+I;do{}while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<g);A.match_length=I-(g-n),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(t=(0,r._tr_tally)(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(t=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),t&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}(i,e):N()[i.level].func(i,e);if(3!==Q&&4!==Q||(i.status=E),1===Q||3===Q)return 0===A.avail_out&&(i.last_flush=-1),a.Z_OK;if(2===Q&&(e===a.Z_PARTIAL_FLUSH?(0,r._tr_align)(i):e!==a.Z_BLOCK&&((0,r._tr_stored_block)(i,0,0,!1),e===a.Z_FULL_FLUSH&&(c(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),d(A),0===A.avail_out))return i.last_flush=-1,a.Z_OK}return e!==a.Z_FINISH?a.Z_OK:i.wrap<=0?a.Z_STREAM_END:(2===i.wrap?(u(i,255&A.adler),u(i,A.adler>>8&255),u(i,A.adler>>16&255),u(i,A.adler>>24&255),u(i,255&A.total_in),u(i,A.total_in>>8&255),u(i,A.total_in>>16&255),u(i,A.total_in>>24&255)):(w(i,A.adler>>>16),w(i,65535&A.adler)),d(A),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?a.Z_OK:a.Z_STREAM_END)},e.deflateEnd=function(A){var e;return A&&A.state?42!==(e=A.state.status)&&69!==e&&73!==e&&91!==e&&e!==B&&e!==C&&e!==E?h(A,a.Z_STREAM_ERROR):(A.state=null,e===C?h(A,a.Z_DATA_ERROR):a.Z_OK):a.Z_STREAM_ERROR},e.deflateSetDictionary=function(A,e){var t,i,g,s,r,I,Q,B,C=e.length;if(!A||!A.state)return a.Z_STREAM_ERROR;if(2===(s=(t=A.state).wrap)||1===s&&42!==t.status||t.lookahead)return a.Z_STREAM_ERROR;for(1===s&&(A.adler=(0,n.default)(A.adler,e,C,0)),t.wrap=0,C>=t.w_size&&(0===s&&(c(t.head),t.strstart=0,t.block_start=0,t.insert=0),B=(0,o.Buf8)(t.w_size),(0,o.arraySet)(B,e,C-t.w_size,t.w_size,0),e=B,C=t.w_size),r=A.avail_in,I=A.next_in,Q=A.input,A.avail_in=C,A.next_in=0,A.input=e,y(t);t.lookahead>=3;){i=t.strstart,g=t.lookahead-2;do{t.ins_h=(t.ins_h<<t.hash_shift^t.window[i+3-1])&t.hash_mask,t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++}while(--g);t.strstart=i,t.lookahead=2,y(t)}return t.strstart+=t.lookahead,t.block_start=t.strstart,t.insert=t.lookahead,t.lookahead=0,t.match_length=t.prev_length=2,t.match_available=0,A.next_in=I,A.input=Q,A.avail_in=r,t.wrap=s,a.Z_OK};const n=i(t(654)),a=t(978),g=i(t(896)),s=i(t(263)),r=t(926),o=t(409);var I=258,Q=262,B=103,C=113,E=666;function h(A,e){return A.msg=s.default[e],e}function l(A){return(A<<1)-(A>4?9:0)}function c(A){for(var e=A.length;--e>=0;)A[e]=0}function d(A){var e=A.state,t=e.pending;t>A.avail_out&&(t=A.avail_out),0!==t&&((0,o.arraySet)(A.output,e.pending_buf,e.pending_out,t,A.next_out),A.next_out+=t,e.pending_out+=t,A.total_out+=t,A.avail_out-=t,e.pending-=t,0===e.pending&&(e.pending_out=0))}function f(A,e){(0,r._tr_flush_block)(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,e),A.block_start=A.strstart,d(A.strm)}function u(A,e){A.pending_buf[A.pending++]=e}function w(A,e){A.pending_buf[A.pending++]=e>>>8&255,A.pending_buf[A.pending++]=255&e}function _(A,e,t,i){var a=A.avail_in;return a>i&&(a=i),0===a?0:(A.avail_in-=a,(0,o.arraySet)(e,A.input,A.next_in,a,t),1===A.state.wrap?A.adler=(0,n.default)(A.adler,e,a,t):2===A.state.wrap&&(A.adler=(0,g.default)(A.adler,e,a,t)),A.next_in+=a,A.total_in+=a,a)}function k(A,e){var t,i,n=A.max_chain_length,a=A.strstart,g=A.prev_length,s=A.nice_match,r=A.strstart>A.w_size-Q?A.strstart-(A.w_size-Q):0,o=A.window,B=A.w_mask,C=A.prev,E=A.strstart+I,h=o[a+g-1],l=o[a+g];A.prev_length>=A.good_match&&(n>>=2),s>A.lookahead&&(s=A.lookahead);do{if(o[(t=e)+g]===l&&o[t+g-1]===h&&o[t]===o[a]&&o[++t]===o[a+1]){a+=2,t++;do{}while(o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&o[++a]===o[++t]&&a<E);if(i=I-(E-a),a=E-I,i>g){if(A.match_start=e,g=i,i>=s)break;h=o[a+g-1],l=o[a+g]}}}while((e=C[e&B])>r&&0!==--n);return g<=A.lookahead?g:A.lookahead}function y(A){var e,t,i,n,a,g=A.w_size;do{if(n=A.window_size-A.lookahead-A.strstart,A.strstart>=g+(g-Q)){(0,o.arraySet)(A.window,A.window,g,g,0),A.match_start-=g,A.strstart-=g,A.block_start-=g,e=t=A.hash_size;do{i=A.head[--e],A.head[e]=i>=g?i-g:0}while(--t);e=t=g;do{i=A.prev[--e],A.prev[e]=i>=g?i-g:0}while(--t);n+=g}if(0===A.strm.avail_in)break;if(t=_(A.strm,A.window,A.strstart+A.lookahead,n),A.lookahead+=t,A.lookahead+A.insert>=3)for(a=A.strstart-A.insert,A.ins_h=A.window[a],A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+1])&A.hash_mask;A.insert&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[a+3-1])&A.hash_mask,A.prev[a&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=a,a++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<Q&&0!==A.strm.avail_in)}function m(A,e){var t=65535;for(t>A.pending_buf_size-5&&(t=A.pending_buf_size-5);;){if(A.lookahead<=1){if(y(A),0===A.lookahead&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}A.strstart+=A.lookahead,A.lookahead=0;var i=A.block_start+t;if((0===A.strstart||A.strstart>=i)&&(A.lookahead=A.strstart-i,A.strstart=i,f(A,!1),0===A.strm.avail_out))return 1;if(A.strstart-A.block_start>=A.w_size-Q&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):(A.strstart>A.block_start&&(f(A,!1),A.strm.avail_out),1)}function D(A,e){for(var t,i;;){if(A.lookahead<Q){if(y(A),A.lookahead<Q&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==t&&A.strstart-t<=A.w_size-Q&&(A.match_length=k(A,t)),A.match_length>=3)if(i=(0,r._tr_tally)(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!==--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+1])&A.hash_mask;else i=(0,r._tr_tally)(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(f(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function b(A,e){for(var t,i,n;;){if(A.lookahead<Q){if(y(A),A.lookahead<Q&&e===a.Z_NO_FLUSH)return 1;if(0===A.lookahead)break}if(t=0,A.lookahead>=3&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==t&&A.prev_length<A.max_lazy_match&&A.strstart-t<=A.w_size-Q&&(A.match_length=k(A,t),A.match_length<=5&&(A.strategy===a.Z_FILTERED||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){n=A.strstart+A.lookahead-3,i=(0,r._tr_tally)(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=n&&(A.ins_h=(A.ins_h<<A.hash_shift^A.window[A.strstart+3-1])&A.hash_mask,t=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!==--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(f(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if((i=(0,r._tr_tally)(A,0,A.window[A.strstart-1]))&&f(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=(0,r._tr_tally)(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,e===a.Z_FINISH?(f(A,!0),0===A.strm.avail_out?3:4):A.last_lit&&(f(A,!1),0===A.strm.avail_out)?1:2}function p(A,e,t,i,n){this.good_length=A,this.max_lazy=e,this.nice_length=t,this.max_chain=i,this.func=n}let N=function(){const A=[new p(0,0,0,0,m),new p(4,4,8,4,D),new p(4,5,16,8,D),new p(4,6,32,32,D),new p(4,4,16,16,b),new p(8,16,32,32,b),new p(8,16,128,128,b),new p(8,32,128,256,b),new p(32,128,258,1024,b),new p(32,258,258,4096,b)];return N=()=>A,A};function F(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=a.Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=(0,o.Buf16)(1146),this.dyn_dtree=(0,o.Buf16)(122),this.bl_tree=(0,o.Buf16)(78),c(this.dyn_ltree),c(this.dyn_dtree),c(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=(0,o.Buf16)(16),this.heap=(0,o.Buf16)(573),c(this.heap),this.heap_len=0,this.heap_max=0,this.depth=(0,o.Buf16)(573),c(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function S(A){var e;return A&&A.state?(A.total_in=A.total_out=0,A.data_type=a.Z_UNKNOWN,(e=A.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:C,A.adler=2===e.wrap?0:1,e.last_flush=a.Z_NO_FLUSH,(0,r._tr_init)(e),a.Z_OK):h(A,a.Z_STREAM_ERROR)}function J(A){var e=S(A);return e===a.Z_OK&&function(A){A.window_size=2*A.w_size,c(A.head);const e=N();A.max_lazy_match=e[A.level].max_lazy,A.good_match=e[A.level].good_length,A.nice_match=e[A.level].nice_length,A.max_chain_length=e[A.level].max_chain,A.strstart=0,A.block_start=0,A.lookahead=0,A.insert=0,A.match_length=A.prev_length=2,A.match_available=0,A.ins_h=0}(A.state),e}function R(A,e,t,i,n,g){if(!A)return a.Z_STREAM_ERROR;var s=1;if(e===a.Z_DEFAULT_COMPRESSION&&(e=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),n<1||n>9||t!==a.Z_DEFLATED||i<8||i>15||e<0||e>9||g<0||g>a.Z_FIXED)return h(A,a.Z_STREAM_ERROR);8===i&&(i=9);var r=new F;return A.state=r,r.strm=A,r.wrap=s,r.gzhead=null,r.w_bits=i,r.w_size=1<<r.w_bits,r.w_mask=r.w_size-1,r.hash_bits=n+7,r.hash_size=1<<r.hash_bits,r.hash_mask=r.hash_size-1,r.hash_shift=~~((r.hash_bits+3-1)/3),r.window=(0,o.Buf8)(2*r.w_size),r.head=(0,o.Buf16)(r.hash_size),r.prev=(0,o.Buf16)(r.w_size),r.lit_bufsize=1<<n+6,r.pending_buf_size=4*r.lit_bufsize,r.pending_buf=(0,o.Buf8)(r.pending_buf_size),r.d_buf=1*r.lit_bufsize,r.l_buf=3*r.lit_bufsize,r.level=e,r.strategy=g,r.method=t,J(A)}e.deflateInfo="pako deflate (from Nodeca project)"},547(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},778(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e){var t,i,n,a,g,s,r,o,I,Q,B,C,E,h,l,c,d,f,u,w,_,k,y,m,D;t=A.state,i=A.next_in,m=A.input,n=i+(A.avail_in-5),a=A.next_out,D=A.output,g=a-(e-A.avail_out),s=a+(A.avail_out-257),r=t.dmax,o=t.wsize,I=t.whave,Q=t.wnext,B=t.window,C=t.hold,E=t.bits,h=t.lencode,l=t.distcode,c=(1<<t.lenbits)-1,d=(1<<t.distbits)-1;A:do{E<15&&(C+=m[i++]<<E,E+=8,C+=m[i++]<<E,E+=8),f=h[C&c];e:for(;;){if(C>>>=u=f>>>24,E-=u,0==(u=f>>>16&255))D[a++]=65535&f;else{if(!(16&u)){if(64&u){if(32&u){t.mode=12;break A}A.msg="invalid literal/length code",t.mode=30;break A}f=h[(65535&f)+(C&(1<<u)-1)];continue e}for(w=65535&f,(u&=15)&&(E<u&&(C+=m[i++]<<E,E+=8),w+=C&(1<<u)-1,C>>>=u,E-=u),E<15&&(C+=m[i++]<<E,E+=8,C+=m[i++]<<E,E+=8),f=l[C&d];;){if(C>>>=u=f>>>24,E-=u,16&(u=f>>>16&255)){if(_=65535&f,E<(u&=15)&&(C+=m[i++]<<E,(E+=8)<u&&(C+=m[i++]<<E,E+=8)),(_+=C&(1<<u)-1)>r){A.msg="invalid distance too far back",t.mode=30;break A}if(C>>>=u,E-=u,_>(u=a-g)){if((u=_-u)>I&&t.sane){A.msg="invalid distance too far back",t.mode=30;break A}if(k=0,y=B,0===Q){if(k+=o-u,u<w){w-=u;do{D[a++]=B[k++]}while(--u);k=a-_,y=D}}else if(Q<u){if(k+=o+Q-u,(u-=Q)<w){w-=u;do{D[a++]=B[k++]}while(--u);if(k=0,Q<w){w-=u=Q;do{D[a++]=B[k++]}while(--u);k=a-_,y=D}}}else if(k+=Q-u,u<w){w-=u;do{D[a++]=B[k++]}while(--u);k=a-_,y=D}for(;w>2;)D[a++]=y[k++],D[a++]=y[k++],D[a++]=y[k++],w-=3;w&&(D[a++]=y[k++],w>1&&(D[a++]=y[k++]))}else{k=a-_;do{D[a++]=D[k++],D[a++]=D[k++],D[a++]=D[k++],w-=3}while(w>2);w&&(D[a++]=D[k++],w>1&&(D[a++]=D[k++]))}break}if(64&u){A.msg="invalid distance code",t.mode=30;break A}f=l[(65535&f)+(C&(1<<u)-1)]}}break}}while(i<n&&a<s);return i-=w=E>>3,C&=(1<<(E-=w<<3))-1,A.next_in=i,A.next_out=a,A.avail_in=i<n?n-i+5:5-(i-n),A.avail_out=a<s?s-a+257:257-(a-s),t.hold=C,void(t.bits=E)}},184(A,e,t){var i=this&&this.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(e,"__esModule",{value:!0}),e.inflateInfo=void 0,e.inflateResetKeep=E,e.inflateReset=h,e.inflateReset2=l,e.inflateInit2=c,e.inflateInit=function(A){return c(A,15)},e.inflate=function(A,e){var t,i,C,E,h,l,c,d,f,u,k,y,m,D,b,p,N,F,S,J,R,v,G,M,U=0,L=(0,r.Buf8)(4),Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!A||!A.state||!A.output||!A.input&&0!==A.avail_in)return o;(t=A.state).mode===I&&(t.mode=13),h=A.next_out,C=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=t.hold,f=t.bits,u=l,k=c,v=0;A:for(;;)switch(t.mode){case 1:if(0===t.wrap){t.mode=13;break}for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(2&t.wrap&&35615===d){t.check=0,L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0),d=0,f=0,t.mode=2;break}if(t.flags=0,t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&d)<<8)+(d>>8))%31){A.msg="incorrect header check",t.mode=Q;break}if(8!=(15&d)){A.msg="unknown compression method",t.mode=Q;break}if(f-=4,R=8+(15&(d>>>=4)),0===t.wbits)t.wbits=R;else if(R>t.wbits){A.msg="invalid window size",t.mode=Q;break}t.dmax=1<<R,A.adler=t.check=1,t.mode=512&d?10:I,d=0,f=0;break;case 2:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(t.flags=d,8!=(255&t.flags)){A.msg="unknown compression method",t.mode=Q;break}if(57344&t.flags){A.msg="unknown header flags set",t.mode=Q;break}t.head&&(t.head.text=d>>8&1),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0,t.mode=3;case 3:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.head&&(t.head.time=d),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,L[2]=d>>>16&255,L[3]=d>>>24&255,t.check=(0,a.default)(t.check,L,4,0)),d=0,f=0,t.mode=4;case 4:for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.head&&(t.head.xflags=255&d,t.head.os=d>>8),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0,t.mode=5;case 5:if(1024&t.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.length=d,t.head&&(t.head.extra_len=d),512&t.flags&&(L[0]=255&d,L[1]=d>>>8&255,t.check=(0,a.default)(t.check,L,2,0)),d=0,f=0}else t.head&&(t.head.extra=null);t.mode=6;case 6:if(1024&t.flags&&((y=t.length)>l&&(y=l),y&&(t.head&&(R=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Array(t.head.extra_len)),(0,r.arraySet)(t.head.extra,i,E,y,R)),512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,t.length-=y),t.length))break A;t.length=0,t.mode=7;case 7:if(2048&t.flags){if(0===l)break A;y=0;do{R=i[E+y++],t.head&&R&&t.length<65536&&(t.head.name+=String.fromCharCode(R))}while(R&&y<l);if(512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,R)break A}else t.head&&(t.head.name=null);t.length=0,t.mode=8;case 8:if(4096&t.flags){if(0===l)break A;y=0;do{R=i[E+y++],t.head&&R&&t.length<65536&&(t.head.comment+=String.fromCharCode(R))}while(R&&y<l);if(512&t.flags&&(t.check=(0,a.default)(t.check,i,y,E)),l-=y,E+=y,R)break A}else t.head&&(t.head.comment=null);t.mode=9;case 9:if(512&t.flags){for(;f<16;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(65535&t.check)){A.msg="header crc mismatch",t.mode=Q;break}d=0,f=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),A.adler=t.check=0,t.mode=I;break;case 10:for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}A.adler=t.check=B(d),d=0,f=0,t.mode=11;case 11:if(0===t.havedict)return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,2;A.adler=t.check=1,t.mode=I;case I:if(5===e||6===e)break A;case 13:if(t.last){d>>>=7&f,f-=7&f,t.mode=27;break}for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}switch(t.last=1&d,f-=1,3&(d>>>=1)){case 0:t.mode=14;break;case 1:if(w(t),t.mode=20,6===e){d>>>=2,f-=2;break A}break;case 2:t.mode=17;break;case 3:A.msg="invalid block type",t.mode=Q}d>>>=2,f-=2;break;case 14:for(d>>>=7&f,f-=7&f;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if((65535&d)!=(d>>>16^65535)){A.msg="invalid stored block lengths",t.mode=Q;break}if(t.length=65535&d,d=0,f=0,t.mode=15,6===e)break A;case 15:t.mode=16;case 16:if(y=t.length){if(y>l&&(y=l),y>c&&(y=c),0===y)break A;(0,r.arraySet)(C,i,E,y,h),l-=y,E+=y,c-=y,h+=y,t.length-=y;break}t.mode=I;break;case 17:for(;f<14;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(t.nlen=257+(31&d),d>>>=5,f-=5,t.ndist=1+(31&d),d>>>=5,f-=5,t.ncode=4+(15&d),d>>>=4,f-=4,t.nlen>286||t.ndist>30){A.msg="too many length or distance symbols",t.mode=Q;break}t.have=0,t.mode=18;case 18:for(;t.have<t.ncode;){for(;f<3;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.lens[Y[t.have++]]=7&d,d>>>=3,f-=3}for(;t.have<19;)t.lens[Y[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,G={bits:t.lenbits},v=(0,s.default)(0,t.lens,0,19,t.lencode,0,t.work,G),t.lenbits=G.bits,v){A.msg="invalid code lengths set",t.mode=Q;break}t.have=0,t.mode=19;case 19:for(;t.have<t.nlen+t.ndist;){for(;p=(U=t.lencode[d&(1<<t.lenbits)-1])>>>16&255,N=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(N<16)d>>>=b,f-=b,t.lens[t.have++]=N;else{if(16===N){for(M=b+2;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d>>>=b,f-=b,0===t.have){A.msg="invalid bit length repeat",t.mode=Q;break}R=t.lens[t.have-1],y=3+(3&d),d>>>=2,f-=2}else if(17===N){for(M=b+3;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=b,R=0,y=3+(7&(d>>>=b)),d>>>=3,f-=3}else{for(M=b+7;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}f-=b,R=0,y=11+(127&(d>>>=b)),d>>>=7,f-=7}if(t.have+y>t.nlen+t.ndist){A.msg="invalid bit length repeat",t.mode=Q;break}for(;y--;)t.lens[t.have++]=R}}if(t.mode===Q)break;if(0===t.lens[256]){A.msg="invalid code -- missing end-of-block",t.mode=Q;break}if(t.lenbits=9,G={bits:t.lenbits},v=(0,s.default)(1,t.lens,0,t.nlen,t.lencode,0,t.work,G),t.lenbits=G.bits,v){A.msg="invalid literal/lengths set",t.mode=Q;break}if(t.distbits=6,t.distcode=t.distdyn,G={bits:t.distbits},v=(0,s.default)(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,G),t.distbits=G.bits,v){A.msg="invalid distances set",t.mode=Q;break}if(t.mode=20,6===e)break A;case 20:t.mode=21;case 21:if(l>=6&&c>=258){A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,(0,g.default)(A,k),h=A.next_out,C=A.output,c=A.avail_out,E=A.next_in,i=A.input,l=A.avail_in,d=t.hold,f=t.bits,t.mode===I&&(t.back=-1);break}for(t.back=0;p=(U=t.lencode[d&(1<<t.lenbits)-1])>>>16&255,N=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(p&&!(240&p)){for(F=b,S=p,J=N;p=(U=t.lencode[J+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&U,!(F+(b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,t.back+=F}if(d>>>=b,f-=b,t.back+=b,t.length=N,0===p){t.mode=26;break}if(32&p){t.back=-1,t.mode=I;break}if(64&p){A.msg="invalid literal/length code",t.mode=Q;break}t.extra=15&p,t.mode=22;case 22:if(t.extra){for(M=t.extra;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.length+=d&(1<<t.extra)-1,d>>>=t.extra,f-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=23;case 23:for(;p=(U=t.distcode[d&(1<<t.distbits)-1])>>>16&255,N=65535&U,!((b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(!(240&p)){for(F=b,S=p,J=N;p=(U=t.distcode[J+((d&(1<<F+S)-1)>>F)])>>>16&255,N=65535&U,!(F+(b=U>>>24)<=f);){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}d>>>=F,f-=F,t.back+=F}if(d>>>=b,f-=b,t.back+=b,64&p){A.msg="invalid distance code",t.mode=Q;break}t.offset=N,t.extra=15&p,t.mode=24;case 24:if(t.extra){for(M=t.extra;f<M;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}t.offset+=d&(1<<t.extra)-1,d>>>=t.extra,f-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){A.msg="invalid distance too far back",t.mode=Q;break}t.mode=25;case 25:if(0===c)break A;if(y=k-c,t.offset>y){if((y=t.offset-y)>t.whave&&t.sane){A.msg="invalid distance too far back",t.mode=Q;break}y>t.wnext?(y-=t.wnext,m=t.wsize-y):m=t.wnext-y,y>t.length&&(y=t.length),D=t.window}else D=C,m=h-t.offset,y=t.length;y>c&&(y=c),c-=y,t.length-=y;do{C[h++]=D[m++]}while(--y);0===t.length&&(t.mode=21);break;case 26:if(0===c)break A;C[h++]=t.length,c--,t.mode=21;break;case 27:if(t.wrap){for(;f<32;){if(0===l)break A;l--,d|=i[E++]<<f,f+=8}if(k-=c,A.total_out+=k,t.total+=k,k&&(A.adler=t.check=t.flags?(0,a.default)(t.check,C,k,h-k):(0,n.default)(t.check,C,k,h-k)),k=c,(t.flags?d:B(d))!==t.check){A.msg="incorrect data check",t.mode=Q;break}d=0,f=0}t.mode=28;case 28:if(t.wrap&&t.flags){for(;f<32;){if(0===l)break A;l--,d+=i[E++]<<f,f+=8}if(d!==(4294967295&t.total)){A.msg="incorrect length check",t.mode=Q;break}d=0,f=0}t.mode=29;case 29:v=1;break A;case Q:v=-3;break A;case 31:return-4;default:return o}return A.next_out=h,A.avail_out=c,A.next_in=E,A.avail_in=l,t.hold=d,t.bits=f,(t.wsize||k!==A.avail_out&&t.mode<Q&&(t.mode<27||4!==e))&&_(A,A.output,A.next_out,k-A.avail_out)?(t.mode=31,-4):(u-=A.avail_in,k-=A.avail_out,A.total_in+=u,A.total_out+=k,t.total+=k,t.wrap&&k&&(A.adler=t.check=t.flags?(0,a.default)(t.check,C,k,A.next_out-k):(0,n.default)(t.check,C,k,A.next_out-k)),A.data_type=t.bits+(t.last?64:0)+(t.mode===I?128:0)+(20===t.mode||15===t.mode?256:0),(0===u&&0===k||4===e)&&0===v&&(v=-5),v)},e.inflateEnd=function(A){if(!A||!A.state)return o;var e=A.state;return e.window&&(e.window=null),A.state=null,0},e.inflateGetHeader=function(A,e){var t;return A&&A.state&&2&(t=A.state).wrap?(t.head=e,e.done=!1,0):o},e.inflateSetDictionary=function(A,e){var t,i,a=e.length;return A&&A.state?0!==(t=A.state).wrap&&11!==t.mode?o:11===t.mode&&(i=1,(i=(0,n.default)(i,e,a,0))!==t.check)?-3:_(A,e,a,a)?(t.mode=31,-4):(t.havedict=1,0):o};const n=i(t(654)),a=i(t(896)),g=i(t(778)),s=i(t(407)),r=t(409);var o=-2,I=12,Q=30;function B(A){return(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24)}function C(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=(0,r.Buf16)(320),this.work=(0,r.Buf16)(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function E(A){var e;return A&&A.state?(e=A.state,A.total_in=A.total_out=e.total=0,A.msg="",e.wrap&&(A.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=(0,r.Buf32)(852),e.distcode=e.distdyn=(0,r.Buf32)(592),e.sane=1,e.back=-1,0):o}function h(A){var e;return A&&A.state?((e=A.state).wsize=0,e.whave=0,e.wnext=0,E(A)):o}function l(A,e){var t,i;return A&&A.state?(i=A.state,e<0?(t=0,e=-e):(t=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?o:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=t,i.wbits=e,h(A))):o}function c(A,e){var t,i;return A?(i=new C,A.state=i,i.window=null,0!==(t=l(A,e))&&(A.state=null),t):o}var d,f,u=!0;function w(A){if(u){var e;for(d=(0,r.Buf32)(512),f=(0,r.Buf32)(32),e=0;e<144;)A.lens[e++]=8;for(;e<256;)A.lens[e++]=9;for(;e<280;)A.lens[e++]=7;for(;e<288;)A.lens[e++]=8;for((0,s.default)(1,A.lens,0,288,d,0,A.work,{bits:9}),e=0;e<32;)A.lens[e++]=5;(0,s.default)(2,A.lens,0,32,f,0,A.work,{bits:5}),u=!1}A.lencode=d,A.lenbits=9,A.distcode=f,A.distbits=5}function _(A,e,t,i){var n,a=A.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=(0,r.Buf8)(a.wsize)),i>=a.wsize?((0,r.arraySet)(a.window,e,t-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((n=a.wsize-a.wnext)>i&&(n=i),(0,r.arraySet)(a.window,e,t-i,n,a.wnext),(i-=n)?((0,r.arraySet)(a.window,e,t-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=n,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=n))),0}e.inflateInfo="pako inflate (from Nodeca project)"},407(A,e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(A,e,t,o,I,Q,B,C){var E,h,l,c,d,f,u,w,_,k=C.bits,y=0,m=0,D=0,b=0,p=0,N=0,F=0,S=0,J=0,R=0,v=null,G=0,M=(0,i.Buf16)(16),U=(0,i.Buf16)(16),L=null,Y=0;for(y=0;y<=n;y++)M[y]=0;for(m=0;m<o;m++)M[e[t+m]]++;for(p=k,b=n;b>=1&&0===M[b];b--);if(p>b&&(p=b),0===b)return I[Q++]=20971520,I[Q++]=20971520,C.bits=1,0;for(D=1;D<b&&0===M[D];D++);for(p<D&&(p=D),S=1,y=1;y<=n;y++)if(S<<=1,(S-=M[y])<0)return-1;if(S>0&&(0===A||1!==b))return-1;for(U[1]=0,y=1;y<n;y++)U[y+1]=U[y]+M[y];for(m=0;m<o;m++)0!==e[t+m]&&(B[U[e[t+m]]++]=m);if(0===A?(v=L=B,f=19):1===A?(v=a,G-=257,L=g,Y-=257,f=256):(v=s,L=r,f=-1),R=0,m=0,y=D,d=Q,N=p,F=0,l=-1,c=(J=1<<p)-1,1===A&&J>852||2===A&&J>592)return 1;for(;;){u=y-F,B[m]<f?(w=0,_=B[m]):B[m]>f?(w=L[Y+B[m]],_=v[G+B[m]]):(w=96,_=0),E=1<<y-F,D=h=1<<N;do{I[d+(R>>F)+(h-=E)]=u<<24|w<<16|_}while(0!==h);for(E=1<<y-1;R&E;)E>>=1;if(0!==E?(R&=E-1,R+=E):R=0,m++,0===--M[y]){if(y===b)break;y=e[t+B[m]]}if(y>p&&(R&c)!==l){for(0===F&&(F=p),d+=D,S=1<<(N=y-F);N+F<b&&!((S-=M[N+F])<=0);)N++,S<<=1;if(J+=1<<N,1===A&&J>852||2===A&&J>592)return 1;I[l=R&c]=p<<24|N<<16|d-Q}}return 0!==R&&(I[d+R]=y-F<<24|64<<16),C.bits=p,0};const i=t(409);var n=15,a=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],r=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]},263(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},926(A,e,t){e._tr_init=function(A){Y||(function(){var A,e,t,i,n,h=new Array(16);for(a(g=new Array(576)),a(s=new Array(60)),a(r=new Array(512)),a(o=new Array(256)),a(I=new Array(29)),a(Q=new Array(c)),t=0,i=0;i<28;i++)for(I[i]=t,A=0;A<1<<f[i];A++)o[t++]=i;for(o[t-1]=i,n=0,i=0;i<16;i++)for(Q[i]=n,A=0;A<1<<u[i];A++)r[n++]=i;for(n>>=7;i<c;i++)for(Q[i]=n<<7,A=0;A<1<<u[i]-7;A++)r[256+n++]=i;for(e=0;e<=d;e++)h[e]=0;for(A=0;A<=143;)g[2*A+1]=8,A++,h[8]++;for(;A<=255;)g[2*A+1]=9,A++,h[9]++;for(;A<=279;)g[2*A+1]=7,A++,h[7]++;for(;A<=287;)g[2*A+1]=8,A++,h[8]++;for(F(g,287,h),A=0;A<c;A++)s[2*A+1]=5,s[2*A]=N(A,5);B=new k(g,f,257,l,d),C=new k(s,u,0,c,d),E=new k(new Array(0),w,0,19,7)}(),Y=!0),A.l_desc=new y(A.dyn_ltree,B),A.d_desc=new y(A.dyn_dtree,C),A.bl_desc=new y(A.bl_tree,E),A.bi_buf=0,A.bi_valid=0,S(A)},e._tr_stored_block=x,e._tr_align=function(A){b(A,2,3),p(A,256,g),function(A){16===A.bi_valid?(D(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)}(A)},e._tr_flush_block=function(A,e,t,n){var a,r,o=0;A.level>0?(A.strm.data_type===i.Z_UNKNOWN&&(A.strm.data_type=function(A){var e,t=4093624447;for(e=0;e<=31;e++,t>>>=1)if(1&t&&0!==A.dyn_ltree[2*e])return i.Z_BINARY;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return i.Z_TEXT;for(e=32;e<h;e++)if(0!==A.dyn_ltree[2*e])return i.Z_TEXT;return i.Z_BINARY}(A)),M(A,A.l_desc),M(A,A.d_desc),o=function(A){var e;for(U(A,A.dyn_ltree,A.l_desc.max_code),U(A,A.dyn_dtree,A.d_desc.max_code),M(A,A.bl_desc),e=18;e>=3&&0===A.bl_tree[2*_[e]+1];e--);return A.opt_len+=3*(e+1)+5+5+4,e}(A),a=A.opt_len+3+7>>>3,(r=A.static_len+3+7>>>3)<=a&&(a=r)):a=r=t+5,t+4<=a&&-1!==e?x(A,e,t,n):A.strategy===i.Z_FIXED||r===a?(b(A,2+(n?1:0),3),G(A,g,s)):(b(A,4+(n?1:0),3),function(A,e,t,i){var n;for(b(A,e-257,5),b(A,t-1,5),b(A,i-4,4),n=0;n<i;n++)b(A,A.bl_tree[2*_[n]+1],3);L(A,A.dyn_ltree,e-1),L(A,A.dyn_dtree,t-1)}(A,A.l_desc.max_code+1,A.d_desc.max_code+1,o+1),G(A,A.dyn_ltree,A.dyn_dtree)),S(A),n&&J(A)},e._tr_tally=function(A,e,t){return A.pending_buf[A.d_buf+2*A.last_lit]=e>>>8&255,A.pending_buf[A.d_buf+2*A.last_lit+1]=255&e,A.pending_buf[A.l_buf+A.last_lit]=255&t,A.last_lit++,0===e?A.dyn_ltree[2*t]++:(A.matches++,e--,A.dyn_ltree[2*(o[t]+h+1)]++,A.dyn_dtree[2*m(e)]++),A.last_lit===A.lit_bufsize-1};const i=t(978),n=t(409);function a(A){for(var e=A.length;--e>=0;)A[e]=0}var g,s,r,o,I,Q,B,C,E,h=256,l=286,c=30,d=15,f=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],u=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],w=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],_=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function k(A,e,t,i,n){this.static_tree=A,this.extra_bits=e,this.extra_base=t,this.elems=i,this.max_length=n,this.has_stree=A&&A.length}function y(A,e){this.dyn_tree=A,this.max_code=0,this.stat_desc=e}function m(A){return A<256?r[A]:r[256+(A>>>7)]}function D(A,e){A.pending_buf[A.pending++]=255&e,A.pending_buf[A.pending++]=e>>>8&255}function b(A,e,t){A.bi_valid>16-t?(A.bi_buf|=e<<A.bi_valid&65535,D(A,A.bi_buf),A.bi_buf=e>>16-A.bi_valid,A.bi_valid+=t-16):(A.bi_buf|=e<<A.bi_valid&65535,A.bi_valid+=t)}function p(A,e,t){b(A,t[2*e],t[2*e+1])}function N(A,e){var t=0;do{t|=1&A,A>>>=1,t<<=1}while(--e>0);return t>>>1}function F(A,e,t){var i,n,a=new Array(16),g=0;for(i=1;i<=d;i++)a[i]=g=g+t[i-1]<<1;for(n=0;n<=e;n++){var s=A[2*n+1];0!==s&&(A[2*n]=N(a[s]++,s))}}function S(A){var e;for(e=0;e<l;e++)A.dyn_ltree[2*e]=0;for(e=0;e<c;e++)A.dyn_dtree[2*e]=0;for(e=0;e<19;e++)A.bl_tree[2*e]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.last_lit=A.matches=0}function J(A){A.bi_valid>8?D(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0}function R(A,e,t,i){var n=2*e,a=2*t;return A[n]<A[a]||A[n]===A[a]&&i[e]<=i[t]}function v(A,e,t){for(var i=A.heap[t],n=t<<1;n<=A.heap_len&&(n<A.heap_len&&R(e,A.heap[n+1],A.heap[n],A.depth)&&n++,!R(e,i,A.heap[n],A.depth));)A.heap[t]=A.heap[n],t=n,n<<=1;A.heap[t]=i}function G(A,e,t){var i,n,a,g,s=0;if(0!==A.last_lit)do{i=A.pending_buf[A.d_buf+2*s]<<8|A.pending_buf[A.d_buf+2*s+1],n=A.pending_buf[A.l_buf+s],s++,0===i?p(A,n,e):(p(A,(a=o[n])+h+1,e),0!==(g=f[a])&&b(A,n-=I[a],g),p(A,a=m(--i),t),0!==(g=u[a])&&b(A,i-=Q[a],g))}while(s<A.last_lit);p(A,256,e)}function M(A,e){var t,i,n,a=e.dyn_tree,g=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.elems,o=-1;for(A.heap_len=0,A.heap_max=573,t=0;t<r;t++)0!==a[2*t]?(A.heap[++A.heap_len]=o=t,A.depth[t]=0):a[2*t+1]=0;for(;A.heap_len<2;)a[2*(n=A.heap[++A.heap_len]=o<2?++o:0)]=1,A.depth[n]=0,A.opt_len--,s&&(A.static_len-=g[2*n+1]);for(e.max_code=o,t=A.heap_len>>1;t>=1;t--)v(A,a,t);n=r;do{t=A.heap[1],A.heap[1]=A.heap[A.heap_len--],v(A,a,1),i=A.heap[1],A.heap[--A.heap_max]=t,A.heap[--A.heap_max]=i,a[2*n]=a[2*t]+a[2*i],A.depth[n]=(A.depth[t]>=A.depth[i]?A.depth[t]:A.depth[i])+1,a[2*t+1]=a[2*i+1]=n,A.heap[1]=n++,v(A,a,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],function(A,e){var t,i,n,a,g,s,r=e.dyn_tree,o=e.max_code,I=e.stat_desc.static_tree,Q=e.stat_desc.has_stree,B=e.stat_desc.extra_bits,C=e.stat_desc.extra_base,E=e.stat_desc.max_length,h=0;for(a=0;a<=d;a++)A.bl_count[a]=0;for(r[2*A.heap[A.heap_max]+1]=0,t=A.heap_max+1;t<573;t++)(a=r[2*r[2*(i=A.heap[t])+1]+1]+1)>E&&(a=E,h++),r[2*i+1]=a,i>o||(A.bl_count[a]++,g=0,i>=C&&(g=B[i-C]),s=r[2*i],A.opt_len+=s*(a+g),Q&&(A.static_len+=s*(I[2*i+1]+g)));if(0!==h){do{for(a=E-1;0===A.bl_count[a];)a--;A.bl_count[a]--,A.bl_count[a+1]+=2,A.bl_count[E]--,h-=2}while(h>0);for(a=E;0!==a;a--)for(i=A.bl_count[a];0!==i;)(n=A.heap[--t])>o||(r[2*n+1]!==a&&(A.opt_len+=(a-r[2*n+1])*r[2*n],r[2*n+1]=a),i--)}}(A,e),F(a,o,A.bl_count)}function U(A,e,t){var i,n,a=-1,g=e[1],s=0,r=7,o=4;for(0===g&&(r=138,o=3),e[2*(t+1)+1]=65535,i=0;i<=t;i++)n=g,g=e[2*(i+1)+1],++s<r&&n===g||(s<o?A.bl_tree[2*n]+=s:0!==n?(n!==a&&A.bl_tree[2*n]++,A.bl_tree[32]++):s<=10?A.bl_tree[34]++:A.bl_tree[36]++,s=0,a=n,0===g?(r=138,o=3):n===g?(r=6,o=3):(r=7,o=4))}function L(A,e,t){var i,n,a=-1,g=e[1],s=0,r=7,o=4;for(0===g&&(r=138,o=3),i=0;i<=t;i++)if(n=g,g=e[2*(i+1)+1],!(++s<r&&n===g)){if(s<o)do{p(A,n,A.bl_tree)}while(0!==--s);else 0!==n?(n!==a&&(p(A,n,A.bl_tree),s--),p(A,16,A.bl_tree),b(A,s-3,2)):s<=10?(p(A,17,A.bl_tree),b(A,s-3,3)):(p(A,18,A.bl_tree),b(A,s-11,7));s=0,a=n,0===g?(r=138,o=3):n===g?(r=6,o=3):(r=7,o=4)}}var Y=!1;function x(A,e,t,i){b(A,0+(i?1:0),3),function(A,e,t){J(A),D(A,t),D(A,~t),(0,n.arraySet)(A.pending_buf,A.window,e,t,A.pending),A.pending+=t}(A,e,t)}},877(A,e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}}};const e={};let t=function t(i){const n=e[i];if(void 0!==n)return n.exports;const a=e[i]={exports:{}};return A[i].call(a.exports,a,a.exports,t),a.exports}(159);window.gmodTABIX=t})();
|
|
@@ -2,6 +2,7 @@ import { SharedReadCache } from '@gmod/shared-read-cache';
|
|
|
2
2
|
import type Chunk from './chunk.ts';
|
|
3
3
|
import type { Options } from './indexFile.ts';
|
|
4
4
|
import type { ChunkSlice } from '@gmod/bgzf-filehandle';
|
|
5
|
+
import type { SharedBudget } from '@gmod/shared-read-cache';
|
|
5
6
|
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
6
7
|
type GetLinesCallback = (line: string, fileOffset: number, start: number, end: number) => void;
|
|
7
8
|
interface GetLinesOpts {
|
|
@@ -29,7 +30,7 @@ export default class TabixIndexedFile {
|
|
|
29
30
|
* entry, never evicted, which is what a memo is.
|
|
30
31
|
*/
|
|
31
32
|
private headerCache;
|
|
32
|
-
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize, chunkCacheIdleTimeoutMs, }: {
|
|
33
|
+
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize, chunkCacheIdleTimeoutMs, chunkCacheBudget, }: {
|
|
33
34
|
path?: string;
|
|
34
35
|
filehandle?: GenericFilehandle;
|
|
35
36
|
url?: string;
|
|
@@ -42,6 +43,17 @@ export default class TabixIndexedFile {
|
|
|
42
43
|
/**
|
|
43
44
|
* Budget for the decompressed chunk cache, in bytes. Default 1GB.
|
|
44
45
|
*
|
|
46
|
+
* **The unit changed in v3.5.2** (ADR 0001). Before that this was divided
|
|
47
|
+
* by 64KB to get an entry count, so a caller passing `50 * 2**20` was
|
|
48
|
+
* asking for 800 whole decompressed chunks — unbounded in practice. It now
|
|
49
|
+
* means 50MB, twenty times under the default, and the name did not change
|
|
50
|
+
* so nothing warns. jbrowse still passes exactly that in nine adapters:
|
|
51
|
+
* measured on `test/data/1kg.chr1.subset.vcf.gz` it is a **total miss**,
|
|
52
|
+
* 47 refills out of 47 on the warm pass against 0 at the default, holding
|
|
53
|
+
* 82.7MB in a single entry — over the budget it was given, because the last
|
|
54
|
+
* settled entry is kept whatever the budget. If you pinned a value here
|
|
55
|
+
* before v3.5.2, it does not mean what it did.
|
|
56
|
+
*
|
|
45
57
|
* A retention bound, not a bound on peak memory: reads in flight are never
|
|
46
58
|
* evicted and the last settled entry is kept whatever the budget. Size it
|
|
47
59
|
* to hold several queries — below one query's working set the hit rate
|
|
@@ -57,6 +69,24 @@ export default class TabixIndexedFile {
|
|
|
57
69
|
* makes the budget above a peak rather than a resting level.
|
|
58
70
|
*/
|
|
59
71
|
chunkCacheIdleTimeoutMs?: number;
|
|
72
|
+
/**
|
|
73
|
+
* A budget shared with other files — any `@gmod/shared-read-cache`
|
|
74
|
+
* consumer, so `@gmod/bam` and `@gmod/cram` can join the same one — so
|
|
75
|
+
* that the ceiling applies to their sum rather than to each of them.
|
|
76
|
+
*
|
|
77
|
+
* {@link chunkCacheSize} is per file, which is not a bound on a consumer
|
|
78
|
+
* that opens one file per track. @gmod/bam measured the shape: six tracks
|
|
79
|
+
* browsing six windows retained 1442 MB with every cache still under its
|
|
80
|
+
* own ceiling, so the ceiling was not holding the line and nothing else
|
|
81
|
+
* was. The idle timeout cannot help there — it does nothing while the
|
|
82
|
+
* reader is browsing, which is the whole case.
|
|
83
|
+
*
|
|
84
|
+
* Dividing {@link chunkCacheSize} by the track count instead reintroduces
|
|
85
|
+
* the cliff it exists to avoid. A shared budget does not, because a member
|
|
86
|
+
* yields only what is globally least-recently-used: files nobody is
|
|
87
|
+
* reading hand their space to the one being panned.
|
|
88
|
+
*/
|
|
89
|
+
chunkCacheBudget?: SharedBudget;
|
|
60
90
|
});
|
|
61
91
|
/**
|
|
62
92
|
* Drops every decompressed chunk held by the cache, and stops the idle sweep
|
package/dist/tabixIndexedFile.js
CHANGED
|
@@ -198,7 +198,7 @@ class TabixIndexedFile {
|
|
|
198
198
|
* entry, never evicted, which is what a memo is.
|
|
199
199
|
*/
|
|
200
200
|
headerCache = new shared_read_cache_1.SharedReadCache({});
|
|
201
|
-
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize = DEFAULT_CHUNK_CACHE_BYTES, chunkCacheIdleTimeoutMs = DEFAULT_CHUNK_CACHE_IDLE_TIMEOUT_MS, }) {
|
|
201
|
+
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize = DEFAULT_CHUNK_CACHE_BYTES, chunkCacheIdleTimeoutMs = DEFAULT_CHUNK_CACHE_IDLE_TIMEOUT_MS, chunkCacheBudget, }) {
|
|
202
202
|
this.filehandle = resolveFilehandle(filehandle, path, url);
|
|
203
203
|
this.index = resolveIndex({
|
|
204
204
|
tbiFilehandle,
|
|
@@ -217,6 +217,7 @@ class TabixIndexedFile {
|
|
|
217
217
|
sizeOf: read => read.buffer.byteLength,
|
|
218
218
|
cacheKey: chunk => chunk.toString(),
|
|
219
219
|
idleTimeoutMs: chunkCacheIdleTimeoutMs,
|
|
220
|
+
budget: chunkCacheBudget,
|
|
220
221
|
fill: (chunk, signal) => this.readChunk(chunk, { signal }),
|
|
221
222
|
});
|
|
222
223
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { SharedReadCache } from '@gmod/shared-read-cache';
|
|
|
2
2
|
import type Chunk from './chunk.ts';
|
|
3
3
|
import type { Options } from './indexFile.ts';
|
|
4
4
|
import type { ChunkSlice } from '@gmod/bgzf-filehandle';
|
|
5
|
+
import type { SharedBudget } from '@gmod/shared-read-cache';
|
|
5
6
|
import type { GenericFilehandle } from 'generic-filehandle2';
|
|
6
7
|
type GetLinesCallback = (line: string, fileOffset: number, start: number, end: number) => void;
|
|
7
8
|
interface GetLinesOpts {
|
|
@@ -29,7 +30,7 @@ export default class TabixIndexedFile {
|
|
|
29
30
|
* entry, never evicted, which is what a memo is.
|
|
30
31
|
*/
|
|
31
32
|
private headerCache;
|
|
32
|
-
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize, chunkCacheIdleTimeoutMs, }: {
|
|
33
|
+
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize, chunkCacheIdleTimeoutMs, chunkCacheBudget, }: {
|
|
33
34
|
path?: string;
|
|
34
35
|
filehandle?: GenericFilehandle;
|
|
35
36
|
url?: string;
|
|
@@ -42,6 +43,17 @@ export default class TabixIndexedFile {
|
|
|
42
43
|
/**
|
|
43
44
|
* Budget for the decompressed chunk cache, in bytes. Default 1GB.
|
|
44
45
|
*
|
|
46
|
+
* **The unit changed in v3.5.2** (ADR 0001). Before that this was divided
|
|
47
|
+
* by 64KB to get an entry count, so a caller passing `50 * 2**20` was
|
|
48
|
+
* asking for 800 whole decompressed chunks — unbounded in practice. It now
|
|
49
|
+
* means 50MB, twenty times under the default, and the name did not change
|
|
50
|
+
* so nothing warns. jbrowse still passes exactly that in nine adapters:
|
|
51
|
+
* measured on `test/data/1kg.chr1.subset.vcf.gz` it is a **total miss**,
|
|
52
|
+
* 47 refills out of 47 on the warm pass against 0 at the default, holding
|
|
53
|
+
* 82.7MB in a single entry — over the budget it was given, because the last
|
|
54
|
+
* settled entry is kept whatever the budget. If you pinned a value here
|
|
55
|
+
* before v3.5.2, it does not mean what it did.
|
|
56
|
+
*
|
|
45
57
|
* A retention bound, not a bound on peak memory: reads in flight are never
|
|
46
58
|
* evicted and the last settled entry is kept whatever the budget. Size it
|
|
47
59
|
* to hold several queries — below one query's working set the hit rate
|
|
@@ -57,6 +69,24 @@ export default class TabixIndexedFile {
|
|
|
57
69
|
* makes the budget above a peak rather than a resting level.
|
|
58
70
|
*/
|
|
59
71
|
chunkCacheIdleTimeoutMs?: number;
|
|
72
|
+
/**
|
|
73
|
+
* A budget shared with other files — any `@gmod/shared-read-cache`
|
|
74
|
+
* consumer, so `@gmod/bam` and `@gmod/cram` can join the same one — so
|
|
75
|
+
* that the ceiling applies to their sum rather than to each of them.
|
|
76
|
+
*
|
|
77
|
+
* {@link chunkCacheSize} is per file, which is not a bound on a consumer
|
|
78
|
+
* that opens one file per track. @gmod/bam measured the shape: six tracks
|
|
79
|
+
* browsing six windows retained 1442 MB with every cache still under its
|
|
80
|
+
* own ceiling, so the ceiling was not holding the line and nothing else
|
|
81
|
+
* was. The idle timeout cannot help there — it does nothing while the
|
|
82
|
+
* reader is browsing, which is the whole case.
|
|
83
|
+
*
|
|
84
|
+
* Dividing {@link chunkCacheSize} by the track count instead reintroduces
|
|
85
|
+
* the cliff it exists to avoid. A shared budget does not, because a member
|
|
86
|
+
* yields only what is globally least-recently-used: files nobody is
|
|
87
|
+
* reading hand their space to the one being panned.
|
|
88
|
+
*/
|
|
89
|
+
chunkCacheBudget?: SharedBudget;
|
|
60
90
|
});
|
|
61
91
|
/**
|
|
62
92
|
* Drops every decompressed chunk held by the cache, and stops the idle sweep
|
package/esm/tabixIndexedFile.js
CHANGED
|
@@ -193,7 +193,7 @@ export default class TabixIndexedFile {
|
|
|
193
193
|
* entry, never evicted, which is what a memo is.
|
|
194
194
|
*/
|
|
195
195
|
headerCache = new SharedReadCache({});
|
|
196
|
-
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize = DEFAULT_CHUNK_CACHE_BYTES, chunkCacheIdleTimeoutMs = DEFAULT_CHUNK_CACHE_IDLE_TIMEOUT_MS, }) {
|
|
196
|
+
constructor({ path, filehandle, url, tbiPath, tbiUrl, tbiFilehandle, csiPath, csiUrl, csiFilehandle, chunkCacheSize = DEFAULT_CHUNK_CACHE_BYTES, chunkCacheIdleTimeoutMs = DEFAULT_CHUNK_CACHE_IDLE_TIMEOUT_MS, chunkCacheBudget, }) {
|
|
197
197
|
this.filehandle = resolveFilehandle(filehandle, path, url);
|
|
198
198
|
this.index = resolveIndex({
|
|
199
199
|
tbiFilehandle,
|
|
@@ -212,6 +212,7 @@ export default class TabixIndexedFile {
|
|
|
212
212
|
sizeOf: read => read.buffer.byteLength,
|
|
213
213
|
cacheKey: chunk => chunk.toString(),
|
|
214
214
|
idleTimeoutMs: chunkCacheIdleTimeoutMs,
|
|
215
|
+
budget: chunkCacheBudget,
|
|
215
216
|
fill: (chunk, signal) => this.readChunk(chunk, { signal }),
|
|
216
217
|
});
|
|
217
218
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabixIndexedFile.js","sourceRoot":"","sources":["../src/tabixIndexedFile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gmod/tabix",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.2",
|
|
4
4
|
"packageManager": "pnpm@11.15.1",
|
|
5
5
|
"description": "Read Tabix-indexed files, supports both .tbi and .csi indexes",
|
|
6
6
|
"type": "module",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"build:esm": "tsc --outDir esm",
|
|
37
37
|
"build:es5": "tsc --module commonjs --moduleResolution bundler --outDir dist",
|
|
38
38
|
"postbuild:es5": "echo '{\"type\": \"commonjs\"}' > dist/package.json",
|
|
39
|
-
"preversion": "pnpm lint && pnpm test --run && pnpm build",
|
|
39
|
+
"preversion": "pnpm lint && pnpm format:check && pnpm typecheck && pnpm test --run && pnpm build",
|
|
40
40
|
"postversion": "git push --follow-tags",
|
|
41
41
|
"build": "pnpm build:esm && pnpm build:es5",
|
|
42
42
|
"differential": "vite-node scripts/differential.mjs",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
],
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@gmod/bgzf-filehandle": "^6.3.2",
|
|
55
|
-
"@gmod/shared-read-cache": "^1.
|
|
55
|
+
"@gmod/shared-read-cache": "^1.5.0",
|
|
56
56
|
"@jbrowse/quick-lru": "^7.3.5",
|
|
57
57
|
"generic-filehandle2": "^2.2.1"
|
|
58
58
|
},
|
package/src/tabixIndexedFile.ts
CHANGED
|
@@ -10,6 +10,7 @@ import type Chunk from './chunk.ts'
|
|
|
10
10
|
import type IndexFile from './indexFile.ts'
|
|
11
11
|
import type { Options } from './indexFile.ts'
|
|
12
12
|
import type { ChunkSlice } from '@gmod/bgzf-filehandle'
|
|
13
|
+
import type { SharedBudget } from '@gmod/shared-read-cache'
|
|
13
14
|
import type { GenericFilehandle } from 'generic-filehandle2'
|
|
14
15
|
|
|
15
16
|
const TAB = 9
|
|
@@ -298,6 +299,7 @@ export default class TabixIndexedFile {
|
|
|
298
299
|
csiFilehandle,
|
|
299
300
|
chunkCacheSize = DEFAULT_CHUNK_CACHE_BYTES,
|
|
300
301
|
chunkCacheIdleTimeoutMs = DEFAULT_CHUNK_CACHE_IDLE_TIMEOUT_MS,
|
|
302
|
+
chunkCacheBudget,
|
|
301
303
|
}: {
|
|
302
304
|
path?: string
|
|
303
305
|
filehandle?: GenericFilehandle
|
|
@@ -311,6 +313,17 @@ export default class TabixIndexedFile {
|
|
|
311
313
|
/**
|
|
312
314
|
* Budget for the decompressed chunk cache, in bytes. Default 1GB.
|
|
313
315
|
*
|
|
316
|
+
* **The unit changed in v3.5.2** (ADR 0001). Before that this was divided
|
|
317
|
+
* by 64KB to get an entry count, so a caller passing `50 * 2**20` was
|
|
318
|
+
* asking for 800 whole decompressed chunks — unbounded in practice. It now
|
|
319
|
+
* means 50MB, twenty times under the default, and the name did not change
|
|
320
|
+
* so nothing warns. jbrowse still passes exactly that in nine adapters:
|
|
321
|
+
* measured on `test/data/1kg.chr1.subset.vcf.gz` it is a **total miss**,
|
|
322
|
+
* 47 refills out of 47 on the warm pass against 0 at the default, holding
|
|
323
|
+
* 82.7MB in a single entry — over the budget it was given, because the last
|
|
324
|
+
* settled entry is kept whatever the budget. If you pinned a value here
|
|
325
|
+
* before v3.5.2, it does not mean what it did.
|
|
326
|
+
*
|
|
314
327
|
* A retention bound, not a bound on peak memory: reads in flight are never
|
|
315
328
|
* evicted and the last settled entry is kept whatever the budget. Size it
|
|
316
329
|
* to hold several queries — below one query's working set the hit rate
|
|
@@ -326,6 +339,24 @@ export default class TabixIndexedFile {
|
|
|
326
339
|
* makes the budget above a peak rather than a resting level.
|
|
327
340
|
*/
|
|
328
341
|
chunkCacheIdleTimeoutMs?: number
|
|
342
|
+
/**
|
|
343
|
+
* A budget shared with other files — any `@gmod/shared-read-cache`
|
|
344
|
+
* consumer, so `@gmod/bam` and `@gmod/cram` can join the same one — so
|
|
345
|
+
* that the ceiling applies to their sum rather than to each of them.
|
|
346
|
+
*
|
|
347
|
+
* {@link chunkCacheSize} is per file, which is not a bound on a consumer
|
|
348
|
+
* that opens one file per track. @gmod/bam measured the shape: six tracks
|
|
349
|
+
* browsing six windows retained 1442 MB with every cache still under its
|
|
350
|
+
* own ceiling, so the ceiling was not holding the line and nothing else
|
|
351
|
+
* was. The idle timeout cannot help there — it does nothing while the
|
|
352
|
+
* reader is browsing, which is the whole case.
|
|
353
|
+
*
|
|
354
|
+
* Dividing {@link chunkCacheSize} by the track count instead reintroduces
|
|
355
|
+
* the cliff it exists to avoid. A shared budget does not, because a member
|
|
356
|
+
* yields only what is globally least-recently-used: files nobody is
|
|
357
|
+
* reading hand their space to the one being panned.
|
|
358
|
+
*/
|
|
359
|
+
chunkCacheBudget?: SharedBudget
|
|
329
360
|
}) {
|
|
330
361
|
this.filehandle = resolveFilehandle(filehandle, path, url)
|
|
331
362
|
this.index = resolveIndex({
|
|
@@ -346,6 +377,7 @@ export default class TabixIndexedFile {
|
|
|
346
377
|
sizeOf: read => read.buffer.byteLength,
|
|
347
378
|
cacheKey: chunk => chunk.toString(),
|
|
348
379
|
idleTimeoutMs: chunkCacheIdleTimeoutMs,
|
|
380
|
+
budget: chunkCacheBudget,
|
|
349
381
|
fill: (chunk, signal) => this.readChunk(chunk, { signal }),
|
|
350
382
|
})
|
|
351
383
|
}
|