genosdb 0.15.1 → 0.15.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -12
- package/dist/gdb.min.js +1 -1
- package/dist/gdb.min.js.gz +0 -0
- package/dist/index.js +1 -1
- package/dist/index.js.gz +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,13 +12,13 @@ A lightweight, decentralized graph database designed for modern web applications
|
|
|
12
12
|
[](https://github.com/estebanrfp/gdb/blob/main/docs/index.md)
|
|
13
13
|
|
|
14
14
|

|
|
15
|
-
[](https://estebanrfp.github.io/gdb/tests/report.html)
|
|
15
|
+
[](https://www.jsdelivr.com/package/npm/genosdb)
|
|
17
16
|
|
|
17
|
+
[](https://estebanrfp.github.io/gdb/tests/report.html)
|
|
18
|
+
[](https://socket.dev/npm/package/genosdb)
|
|
18
19
|

|
|
19
20
|
|
|
20
21
|

|
|
21
|
-
|
|
22
22
|

|
|
23
23
|
|
|
24
24
|
|
|
@@ -41,15 +41,23 @@ A lightweight, decentralized graph database designed for modern web applications
|
|
|
41
41
|
|
|
42
42
|
GenosDB runs **entirely in your browser** — there is no central database server. The Security Manager signs every operation with your key, nodes are stored locally in OPFS, and changes replicate **peer-to-peer over WebRTC**. Nostr relays only help peers discover each other — they never see your data.
|
|
43
43
|
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
```ascii
|
|
45
|
+
Nostr Relays
|
|
46
|
+
│
|
|
47
|
+
│ peer discovery only
|
|
48
|
+
▼
|
|
49
|
+
|
|
50
|
+
Browser + GenosDB
|
|
51
|
+
│
|
|
52
|
+
├─► Security Manager (signs operations)
|
|
53
|
+
│
|
|
54
|
+
├─► Graph Store (OPFS) (stores nodes)
|
|
55
|
+
│ │
|
|
56
|
+
│ ├─► Other Peers (WebRTC sync)
|
|
57
|
+
│ │
|
|
58
|
+
│ └─► BroadcastChannel (cross-tab)
|
|
59
|
+
│
|
|
60
|
+
└─► db.map subscriptions (reactive queries)
|
|
53
61
|
```
|
|
54
62
|
|
|
55
63
|
## Main Features
|
package/dist/gdb.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function H8(J){let Q=J.length,W=0,V=0;while(V<Q){let G=J.charCodeAt(V++);if((G&4294967168)===0){W++;continue}else if((G&4294965248)===0)W+=2;else{if(G>=55296&&G<=56319){if(V<Q){let q=J.charCodeAt(V);if((q&64512)===56320)++V,G=((G&1023)<<10)+(q&1023)+65536}}if((G&4294901760)===0)W+=3;else W+=4}}return W}function sJ(J,Q,W){let V=J.length,G=W,q=0;while(q<V){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[G++]=P;continue}else if((P&4294965248)===0)Q[G++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<V){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[G++]=P>>12&15|224,Q[G++]=P>>6&63|128;else Q[G++]=P>>18&7|240,Q[G++]=P>>12&63|128,Q[G++]=P>>6&63|128}Q[G++]=P&63|128}}var tJ=new TextEncoder,eJ=50;function J5(J,Q,W){tJ.encodeInto(J,Q.subarray(W))}function $8(J,Q,W){if(J.length>eJ)J5(J,Q,W);else sJ(J,Q,W)}var W5=4096;function S0(J,Q,W){let V=Q,G=V+W,q=[],P="";while(V<G){let X=J[V++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[V++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[V++]&63,Y=J[V++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[V++]&63,Y=J[V++]&63,U=J[V++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=W5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var Q5=new TextDecoder,V5=200;function G5(J,Q,W){let V=J.subarray(Q,Q+W);return Q5.decode(V)}function k8(J,Q,W){if(W>V5)return G5(J,Q,W);else return S0(J,Q,W)}class N6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var w6=4294967295;function B8(J,Q,W){let V=W/4294967296,G=W;J.setUint32(Q,V),J.setUint32(Q+4,G)}function K0(J,Q,W){let V=Math.floor(W/4294967296),G=W;J.setUint32(Q,V),J.setUint32(Q+4,G)}function F0(J,Q){let W=J.getInt32(Q),V=J.getUint32(Q+4);return W*4294967296+V}function j8(J,Q){let W=J.getUint32(Q),V=J.getUint32(Q+4);return W*4294967296+V}var q5=-1,X5=4294967295,Y5=17179869183;function P5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=Y5)if(Q===0&&J<=X5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,V=J&4294967295,G=new Uint8Array(8),q=new DataView(G.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,V),G}else{let W=new Uint8Array(12),V=new DataView(W.buffer);return V.setUint32(0,Q),K0(V,4,J),W}}function U5(J){let Q=J.getTime(),W=Math.floor(Q/1000),V=(Q-W*1000)*1e6,G=Math.floor(V/1e9);return{sec:W+G,nsec:V-G*1e9}}function K5(J){if(J instanceof Date){let Q=U5(J);return P5(Q)}else return null}function F5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),V=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),V=Q.getUint32(4),G=(W&3)*4294967296+V,q=W>>>2;return{sec:G,nsec:q}}case 12:{let W=F0(Q,4),V=Q.getUint32(0);return{sec:W,nsec:V}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function Z5(J){let Q=F5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var C8={type:q5,encode:K5,decode:Z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(C8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let V=-1-J;this.builtInEncoders[V]=Q,this.builtInDecoders[V]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let V=this.builtInEncoders[W];if(V!=null){let G=V(J,Q);if(G!=null){let q=-1-W;return new N6(q,G)}}}for(let W=0;W<this.encoders.length;W++){let V=this.encoders[W];if(V!=null){let G=V(J,Q);if(G!=null)return new N6(W,G)}}if(J instanceof N6)return J;return null}decode(J,Q,W){let V=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(V)return V(J,Q,W);else return new N6(Q,J)}}k6.defaultCodec=new k6;function z5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(z5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var H5=100,$5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??H5,this.initialBufferSize=J?.initialBufferSize??$5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),V=new DataView(Q);W.set(this.bytes),this.view=V,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=H8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),$8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let V of J)this.doEncode(V,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let V of Q)if(J[V]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let V=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(V<16)this.writeU8(128+V);else if(V<65536)this.writeU8(222),this.writeU16(V);else if(V<4294967296)this.writeU8(223),this.writeU32(V);else throw Error(`Too large map object: ${V}`);for(let G of W){let q=J[G];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(G),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),V=W.length;if(V>=4294967296)throw Error(`Too large extension object: ${V}`);this.writeU8(201),this.writeU32(V),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),B8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var k5=16,B5=16;class T0{constructor(J=k5,Q=B5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let V=this.caches[W-1];J:for(let G of V){let q=G.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return G.str}return null}store(J,Q){let W=this.caches[J.length-1],V={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=V;else W.push(V)}decode(J,Q,W){let V=this.find(J,Q,W);if(V!=null)return this.hit++,V;this.miss++;let G=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,G),G}}var v0="array",_6="map_key",L8="map_value",j5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class R8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===L8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var M8=RangeError("Insufficient data"),M5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new R8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??w6,this.maxBinLength=J?.maxBinLength??w6,this.maxArrayLength=J?.maxArrayLength??w6,this.maxMapLength=J?.maxMapLength??w6,this.maxExtLength=J?.maxExtLength??w6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:M5,this.mapKeyConverter=J?.mapKeyConverter??j5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),V=new Uint8Array(Q.length+W.length);V.set(Q),V.set(W,Q.length),this.setBuffer(V)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:V,pos:G,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(V)} at ${q} (${G} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,V=-1;for await(let G of J){if(Q&&V===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(G),W)V=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--V===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let V=J-128;if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J<160){let V=J-144;if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else{let V=J-160;Q=this.decodeString(V,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let V=this.lookU8();Q=this.decodeString(V,1)}else if(J===218){let V=this.lookU16();Q=this.decodeString(V,2)}else if(J===219){let V=this.lookU32();Q=this.decodeString(V,4)}else if(J===220){let V=this.readU16();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===221){let V=this.readU32();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===222){let V=this.readU16();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===223){let V=this.readU32();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===196){let V=this.lookU8();Q=this.decodeBinary(V,1)}else if(J===197){let V=this.lookU16();Q=this.decodeBinary(V,2)}else if(J===198){let V=this.lookU32();Q=this.decodeBinary(V,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let V=this.lookU8();Q=this.decodeExtension(V,1)}else if(J===200){let V=this.lookU16();Q=this.decodeExtension(V,2)}else if(J===201){let V=this.lookU32();Q=this.decodeExtension(V,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let V=W.top();if(V.type===v0)if(V.array[V.position]=Q,V.position++,V.position===V.size)Q=V.array,W.release(V);else continue J;else if(V.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");V.key=this.mapKeyConverter(Q),V.type=L8;continue J}else if(V.map[V.key]=Q,V.readCount++,V.readCount===V.size)Q=V.map,W.release(V);else{V.key=null,V.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw M8;let W=this.pos+Q,V;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))V=this.keyDecoder.decode(this.bytes,W,J);else V=k8(this.bytes,W,J);return this.pos+=Q+J,V}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw M8;let W=this.pos+Q,V=this.bytes.subarray(W,W+J);return this.pos+=Q+J,V}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),V=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(V,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=j8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,YJ=1,R5=2,I5=3,O5=258,V8=29,V0=256,o6=V0+1+V8,v6=30,G8=19,PJ=2*o6+1,j6=15,E0=16,x5=7,q8=256,UJ=16,KJ=17,FJ=18,r0=new Uint8Array([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]),M0=new Uint8Array([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]),D5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ZJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),A5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(A5);y6(a6);var s6=Array(O5-I5+1);y6(s6);var X8=Array(V8);y6(X8);var L0=Array(v6);y6(L0);function y0(J,Q,W,V,G){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=V,this.max_length=G,this.has_stree=J&&J.length}var zJ,HJ,$J;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var kJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},BJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},w5=(J,Q)=>{let{dyn_tree:W,max_code:V}=Q,G=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<PJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>V)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(G[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>V)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},jJ=(J,Q,W)=>{let V=Array(j6+1),G=0,q,P;for(q=1;q<=j6;q++)G=G+W[q-1]<<1,V[q]=G;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=BJ(V[X]++,X)}},S5=()=>{let J,Q,W,V,G,q=Array(j6+1);W=0;for(V=0;V<V8-1;V++){X8[V]=W;for(J=0;J<1<<r0[V];J++)s6[W++]=V}s6[W-1]=V,G=0;for(V=0;V<16;V++){L0[V]=G;for(J=0;J<1<<M0[V];J++)a6[G++]=V}G>>=7;for(;V<v6;V++){L0[V]=G<<7;for(J=0;J<1<<M0[V]-7;J++)a6[256+G++]=V}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;jJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=BJ(J,5);zJ=new y0(X6,r0,V0+1,o6,j6),HJ=new y0(i6,M0,0,v6,j6),$J=new y0([],D5,0,G8,x5)},CJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<G8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},MJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},I8=(J,Q,W,V)=>{let G=Q*2,q=W*2;return J[G]<J[q]||J[G]===J[q]&&V[Q]<=V[W]},b0=(J,Q,W)=>{let V=J.heap[W],G=W<<1;while(G<=J.heap_len){if(G<J.heap_len&&I8(Q,J.heap[G+1],J.heap[G],J.depth))G++;if(I8(Q,V,J.heap[G],J.depth))break;J.heap[W]=J.heap[G],W=G,G<<=1}J.heap[W]=V},O8=(J,Q,W)=>{let V,G,q=0,P,X;if(J.sym_next!==0)do if(V=J.pending_buf[J.sym_buf+q++]&255,V+=(J.pending_buf[J.sym_buf+q++]&255)<<8,G=J.pending_buf[J.sym_buf+q++],V===0)W6(J,G,Q);else{if(P=s6[G],W6(J,P+V0+1,Q),X=r0[P],X!==0)G-=X8[P],n(J,G,X);if(V--,P=kJ(V),W6(J,P,W),X=M0[P],X!==0)V-=L0[P],n(J,V,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,V=Q.stat_desc.static_tree,G=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=PJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,G)J.static_len-=V[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],w5(J,Q),jJ(W,Z,J.bl_count)},x8=(J,Q,W)=>{let V,G=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(V=0;V<=W;V++){if(q=P,P=Q[(V+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==G)J.bl_tree[q*2]++;J.bl_tree[UJ*2]++}else if(X<=10)J.bl_tree[KJ*2]++;else J.bl_tree[FJ*2]++;if(X=0,G=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},D8=(J,Q,W)=>{let V,G=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(V=0;V<=W;V++){if(q=P,P=Q[(V+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==G)W6(J,q,J.bl_tree),X--;W6(J,UJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,KJ,J.bl_tree),n(J,X-3,3);else W6(J,FJ,J.bl_tree),n(J,X-11,7);if(X=0,G=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},T5=(J)=>{let Q;x8(J,J.dyn_ltree,J.l_desc.max_code),x8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=G8-1;Q>=3;Q--)if(J.bl_tree[ZJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},v5=(J,Q,W,V)=>{let G;n(J,Q-257,5),n(J,W-1,5),n(J,V-4,4);for(G=0;G<V;G++)n(J,J.bl_tree[ZJ[G]*2+1],3);D8(J,J.dyn_ltree,Q-1),D8(J,J.dyn_dtree,W-1)},g5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<V0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},A8=!1,E5=(J)=>{if(!A8)S5(),A8=!0;J.l_desc=new f0(J.dyn_ltree,zJ),J.d_desc=new f0(J.dyn_dtree,HJ),J.bl_desc=new f0(J.bl_tree,$J),J.bi_buf=0,J.bi_valid=0,CJ(J)},LJ=(J,Q,W,V)=>{if(n(J,(L5<<1)+(V?1:0),3),MJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},y5=(J)=>{n(J,YJ<<1,3),W6(J,q8,X6),N5(J)},f5=(J,Q,W,V)=>{let G,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=g5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=T5(J),G=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=G)G=q}else G=q=W+5;if(W+4<=G&&Q!==-1)LJ(J,Q,W,V);else if(J.strategy===4||q===G)n(J,(YJ<<1)+(V?1:0),3),O8(J,X6,i6);else n(J,(R5<<1)+(V?1:0),3),v5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),O8(J,J.dyn_ltree,J.dyn_dtree);if(CJ(J),V)MJ(J)},b5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+V0+1)*2]++,J.dyn_dtree[kJ(Q)*2]++;return J.sym_next===J.sym_end},h5=E5,p5=LJ,u5=f5,m5=b5,_5=y5,c5={_tr_init:h5,_tr_stored_block:p5,_tr_flush_block:u5,_tr_tally:m5,_tr_align:_5},d5=(J,Q,W,V)=>{let G=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do G=G+Q[V++]|0,q=q+G|0;while(--P);G%=65521,q%=65521}return G|q<<16|0},e6=d5,l5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var V=0;V<8;V++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},i5=new Uint32Array(l5()),n5=(J,Q,W,V)=>{let G=i5,q=V+W;J^=-1;for(let P=V;P<q;P++)J=J>>>8^G[(J^Q[P])&255];return J^-1},c=n5,L6={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"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:r5,_tr_stored_block:a0,_tr_flush_block:o5,_tr_tally:z6,_tr_align:a5}=c5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:s5,Z_FULL_FLUSH:t5,Z_FINISH:a,Z_BLOCK:N8,Z_OK:d,Z_STREAM_END:w8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:e5,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:J1,Z_FILTERED:W1,Z_HUFFMAN_ONLY:$0,Z_RLE:Q1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:G1,Z_UNKNOWN:q1,Z_DEFLATED:O0}=O6,X1=9,Y1=15,P1=8,U1=29,K1=256,s0=K1+1+U1,F1=30,Z1=19,z1=2*s0+1,H1=15,v=3,Z6=258,V6=Z6+v+1,$1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,C6=113,d6=666,i=1,f6=2,R6=3,b6=4,k1=3,M6=(J,Q)=>{return J.msg=L6[Q],Q},S8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},B1=(J)=>{let Q,W,V,G=J.w_size;Q=J.hash_size,V=Q;do W=J.head[--V],J.head[V]=W>=G?W-G:0;while(--Q);Q=G,V=Q;do W=J.prev[--V],J.prev[V]=W>=G?W-G:0;while(--Q)},j1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=j1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{o5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,V)=>{let G=J.avail_in;if(G>V)G=V;if(G===0)return 0;if(J.avail_in-=G,Q.set(J.input.subarray(J.next_in,J.next_in+G),W),J.state.wrap===1)J.adler=e6(J.adler,Q,G,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,G,W);return J.next_in+=G,J.total_in+=G,G},RJ=(J,Q)=>{let{max_chain_length:W,strstart:V}=J,G,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-V6?J.strstart-(J.w_size-V6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[V+P-1],z=Y[V+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(G=Q,Y[G+P]!==z||Y[G+P-1]!==K||Y[G]!==Y[V]||Y[++G]!==Y[V+1])continue;V+=2,G++;do;while(Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&V<F);if(q=Z6-(F-V),V=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[V+P-1],z=Y[V+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,V,G;do{if(V=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-V6)){if(J.window.set(J.window.subarray(Q,Q+Q-V),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;B1(J),V+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,V),J.lookahead+=W,J.lookahead+J.insert>=v){G=J.strstart-J.insert,J.ins_h=J.window[G],J.ins_h=$6(J,J.ins_h,J.window[G+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[G+v-1]),J.prev[G&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=G,G++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<V6&&J.strm.avail_in!==0)},IJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,V,G,q,P=0,X=J.strm.avail_in;do{if(V=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,G=J.strstart-J.block_start,V>G+J.strm.avail_in)V=G+J.strm.avail_in;if(V>q)V=q;if(V<W&&(V===0&&Q!==a||Q===H6||V!==G+J.strm.avail_in))break;if(P=Q===a&&V===G+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=V,J.pending_buf[J.pending-3]=V>>8,J.pending_buf[J.pending-2]=~V,J.pending_buf[J.pending-1]=~V>>8,r(J.strm),G){if(G>V)G=V;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+G),J.strm.next_out),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G,J.block_start+=G,V-=G}if(V)Q8(J.strm,J.strm.output,J.strm.next_out,V),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,G=J.strstart-J.block_start,G>=W||(G||Q===a)&&Q!==H6&&J.strm.avail_in===0&&G<=q)V=G>q?q:G,P=Q===a&&J.strm.avail_in===0&&V===G?1:0,a0(J,J.block_start,V,P),J.block_start+=V,r(J.strm);return P?R6:i},p0=(J,Q)=>{let W,V;for(;;){if(J.lookahead<V6){if(E6(J),J.lookahead<V6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-V6)J.match_length=RJ(J,W);if(J.match_length>=v)if(V=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else V=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(V){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,V,G;for(;;){if(J.lookahead<V6){if(E6(J),J.lookahead<V6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-V6){if(J.match_length=RJ(J,W),J.match_length<=5&&(J.strategy===W1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){G=J.strstart+J.lookahead-v,V=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=G)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,V){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(V=z6(J,0,J.window[J.strstart-1]),V)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)V=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,V,G,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(G=J.strstart-1,V=P[G],V===P[++G]&&V===P[++G]&&V===P[++G]){q=J.strstart+Z6;do;while(V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&G<q);if(J.match_length=Z6-(q-G),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},M1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,V,G){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=V,this.func=G}var l6=[new J6(0,0,0,0,IJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function R1(){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=O0,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=new Uint16Array(z1*2),this.dyn_dtree=new Uint16Array((2*F1+1)*2),this.bl_tree=new Uint16Array((2*Z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(H1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var G0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==C6&&Q.status!==d6)return 1;return 0},OJ=(J)=>{if(G0(J))return M6(J,Q6);J.total_in=J.total_out=0,J.data_type=q1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:C6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,r5(Q),d},xJ=(J)=>{let Q=OJ(J);if(Q===d)L1(J.state);return Q},I1=(J,Q)=>{if(G0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},DJ=(J,Q,W,V,G,q)=>{if(!J)return Q6;let P=1;if(Q===J1)Q=6;if(V<0)P=0,V=-V;else if(V>15)P=2,V-=16;if(G<1||G>X1||W!==O0||V<8||V>15||Q<0||Q>9||q<0||q>V1||V===8&&P!==1)return M6(J,Q6);if(V===8)V=9;let X=new R1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=V,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=G+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<G+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,xJ(J)},O1=(J,Q)=>{return DJ(J,Q,O0,Y1,P1,G1)},x1=(J,Q)=>{if(G0(J)||Q>N8||Q<0)return J?M6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return M6(J,J.avail_out===0?h0:Q6);let V=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&S8(Q)<=S8(V)&&Q!==a)return M6(J,h0);if(W.status===d6&&J.avail_in!==0)return M6(J,h0);if(W.status===g6&&W.wrap===0)W.status=C6;if(W.status===g6){let G=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(G|=q<<6,W.strstart!==0)G|=$1;if(G+=31-G%31,c6(W,G),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,k1),W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let G=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;G=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let G=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(r(J),W.pending!==0)return W.last_flush=-1,d;G=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let G=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(r(J),W.pending!==0)return W.last_flush=-1,d;G=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let G=W.level===0?IJ(W,Q):W.strategy===$0?M1(W,Q):W.strategy===Q1?C1(W,Q):l6[W.level].func(W,Q);if(G===R6||G===b6)W.status=d6;if(G===i||G===R6){if(J.avail_out===0)W.last_flush=-1;return d}if(G===f6){if(Q===s5)a5(W);else if(Q!==N8){if(a0(W,0,0,!1),Q===t5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return w8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:w8},D1=(J)=>{if(G0(J))return Q6;let Q=J.state.status;return J.state=null,Q===C6?M6(J,e5):d},A1=(J,Q)=>{let W=Q.length;if(G0(J))return Q6;let V=J.state,G=V.wrap;if(G===2||G===1&&V.status!==g6||V.lookahead)return Q6;if(G===1)J.adler=e6(J.adler,Q,W,0);if(V.wrap=0,W>=V.w_size){if(G===0)F6(V.head),V.strstart=0,V.block_start=0,V.insert=0;let Z=new Uint8Array(V.w_size);Z.set(Q.subarray(W-V.w_size,W),0),Q=Z,W=V.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(V);while(V.lookahead>=v){let Z=V.strstart,Y=V.lookahead-(v-1);do V.ins_h=$6(V,V.ins_h,V.window[Z+v-1]),V.prev[Z&V.w_mask]=V.head[V.ins_h],V.head[V.ins_h]=Z,Z++;while(--Y);V.strstart=Z,V.lookahead=v-1,E6(V)}return V.strstart+=V.lookahead,V.block_start=V.strstart,V.insert=V.lookahead,V.lookahead=0,V.match_length=V.prev_length=v-1,V.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,V.wrap=G,d},N1=O1,w1=DJ,S1=xJ,T1=OJ,v1=I1,g1=x1,E1=D1,y1=A1,f1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:w1,deflateReset:S1,deflateResetKeep:T1,deflateSetHeader:v1,deflate:g1,deflateEnd:E1,deflateSetDictionary:y1,deflateInfo:f1},b1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},h1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let V in W)if(b1(W,V))J[V]=W[V]}return J},p1=(J)=>{let Q=0;for(let V=0,G=J.length;V<G;V++)Q+=J[V].length;let W=new Uint8Array(Q);for(let V=0,G=0,q=J.length;V<q;V++){let P=J[V];W.set(P,G),G+=P.length}return W},x0={assign:h1,flattenChunks:p1},AJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){AJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var u1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,V,G,q,P=J.length,X=0;for(G=0;G<P;G++){if(W=J.charCodeAt(G),(W&64512)===55296&&G+1<P){if(V=J.charCodeAt(G+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),G++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,G=0;q<X;G++){if(W=J.charCodeAt(G),(W&64512)===55296&&G+1<P){if(V=J.charCodeAt(G+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),G++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},m1=(J,Q)=>{if(Q<65534){if(J.subarray&&AJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let V=0;V<Q;V++)W+=String.fromCharCode(J[V]);return W},_1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let V,G,q=Array(W*2);for(G=0,V=0;V<W;){let P=J[V++];if(P<128){q[G++]=P;continue}let X=J0[P];if(X>4){q[G++]=65533,V+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&V<W)P=P<<6|J[V++]&63,X--;if(X>1){q[G++]=65533;continue}if(P<65536)q[G++]=P;else P-=65536,q[G++]=55296|P>>10&1023,q[G++]=56320|P&1023}return m1(q,G)},c1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:u1,buf2string:_1,utf8border:c1};function d1(){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}var NJ=d1,wJ=Object.prototype.toString,{Z_NO_FLUSH:l1,Z_SYNC_FLUSH:i1,Z_FULL_FLUSH:n1,Z_FINISH:r1,Z_OK:R0,Z_STREAM_END:o1,Z_DEFAULT_COMPRESSION:a1,Z_DEFAULT_STRATEGY:s1,Z_DEFLATED:t1}=O6;function q0(J){this.options=x0.assign({level:a1,method:t1,chunkSize:16384,windowBits:15,memLevel:8,strategy:s1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==R0)throw Error(L6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let V;if(typeof Q.dictionary==="string")V=W0.string2buf(Q.dictionary);else if(wJ.call(Q.dictionary)==="[object ArrayBuffer]")V=new Uint8Array(Q.dictionary);else V=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,V),W!==R0)throw Error(L6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,G,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?r1:l1;if(typeof J==="string")W.input=W0.string2buf(J);else if(wJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if((q===i1||q===n1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(G=n6.deflate(W,q),G===o1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return G=n6.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===R0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===R0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||L6[W.err];return W.result}function e1(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function JW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var WW=q0,QW=P8,VW=e1,GW=JW,qW=O6,XW={Deflate:WW,deflate:QW,deflateRaw:VW,gzip:GW,constants:qW},k0=16209,YW=16191,PW=function(Q,W){let V,G,q,P,X,Z,Y,U,k,F,K,z,I,C,j,L,R,$,S,p,M,T,A,x,w=Q.state;V=Q.next_in,A=Q.input,G=V+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=w.dmax,Y=w.wsize,U=w.whave,k=w.wnext,F=w.window,K=w.hold,z=w.bits,I=w.lencode,C=w.distcode,j=(1<<w.lenbits)-1,L=(1<<w.distbits)-1;J:do{if(z<15)K+=A[V++]<<z,z+=8,K+=A[V++]<<z,z+=8;R=I[K&j];W:for(;;){if($=R>>>24,K>>>=$,z-=$,$=R>>>16&255,$===0)x[q++]=R&65535;else if($&16){if(S=R&65535,$&=15,$){if(z<$)K+=A[V++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[V++]<<z,z+=8,K+=A[V++]<<z,z+=8;R=C[K&L];Q:for(;;){if($=R>>>24,K>>>=$,z-=$,$=R>>>16&255,$&16){if(p=R&65535,$&=15,z<$){if(K+=A[V++]<<z,z+=8,z<$)K+=A[V++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",w.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(w.sane){Q.msg="invalid distance too far back",w.mode=k0;break J}}if(M=0,T=F,k===0){if(M+=Y-$,$<S){S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}}else if(k<$){if(M+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[M++];while(--$);if(M=0,k<S){$=k,S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}}}else if(M+=k-$,$<S){S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}while(S>2)x[q++]=T[M++],x[q++]=T[M++],x[q++]=T[M++],S-=3;if(S){if(x[q++]=T[M++],S>1)x[q++]=T[M++]}}else{M=q-p;do x[q++]=x[M++],x[q++]=x[M++],x[q++]=x[M++],S-=3;while(S>2);if(S){if(x[q++]=x[M++],S>1)x[q++]=x[M++]}}}else if(($&64)===0){R=C[(R&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",w.mode=k0;break J}break}}else if(($&64)===0){R=I[(R&65535)+(K&(1<<$)-1)];continue W}else if($&32){w.mode=YW;break J}else{Q.msg="invalid literal/length code",w.mode=k0;break J}break}}while(V<G&&q<X);S=z>>3,V-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=V,Q.next_out=q,Q.avail_in=V<G?5+(G-V):5-(V-G),Q.avail_out=q<X?257+(X-q):257-(q-X),w.hold=K,w.bits=z;return},T6=15,T8=852,v8=592,g8=0,u0=1,E8=2,UW=new Uint16Array([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]),KW=new Uint8Array([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]),FW=new Uint16Array([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]),ZW=new Uint8Array([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]),zW=(J,Q,W,V,G,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,C=0,j=0,L=0,R,$,S,p,M,T=null,A,x=new Uint16Array(T6+1),w=new Uint16Array(T6+1),G6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<V;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return G[q++]=20971520,G[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;C=1;for(Y=1;Y<=T6;Y++)if(C<<=1,C-=x[Y],C<0)return-1;if(C>0&&(J===g8||F!==1))return-1;w[1]=0;for(Y=1;Y<T6;Y++)w[Y+1]=w[Y]+x[Y];for(U=0;U<V;U++)if(Q[W+U]!==0)P[w[Q[W+U]]++]=U;if(J===g8)T=G6=P,A=20;else if(J===u0)T=UW,G6=KW,A=257;else T=FW,G6=ZW,A=0;if(L=0,U=0,Y=k,M=q,z=K,I=0,S=-1,j=1<<K,p=j-1,J===u0&&j>T8||J===E8&&j>v8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=G6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;R=1<<Y-I,$=1<<z,k=$;do $-=R,G[M+(L>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);R=1<<Y-1;while(L&R)R>>=1;if(R!==0)L&=R-1,L+=R;else L=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(L&p)!==S){if(I===0)I=K;M+=k,z=Y-I,C=1<<z;while(z+I<F){if(C-=x[z+I],C<=0)break;z++,C<<=1}if(j+=1<<z,J===u0&&j>T8||J===E8&&j>v8)return 1;S=L&p,G[S]=K<<24|z<<16|M-q|0}}if(L!==0)G[M+L]=Y-I<<24|4194304|0;return X.bits=K,0},r6=zW,HW=0,SJ=1,TJ=2,{Z_FINISH:y8,Z_BLOCK:$W,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:kW,Z_NEED_DICT:BW,Z_STREAM_ERROR:s,Z_DATA_ERROR:vJ,Z_MEM_ERROR:gJ,Z_BUF_ERROR:jW,Z_DEFLATED:f8}=O6,D0=16180,b8=16181,h8=16182,p8=16183,u8=16184,m8=16185,_8=16186,c8=16187,d8=16188,l8=16189,I0=16190,q6=16191,m0=16192,i8=16193,_0=16194,n8=16195,r8=16196,o8=16197,a8=16198,j0=16199,C0=16200,s8=16201,t8=16202,e8=16203,JJ=16204,WJ=16205,c0=16206,QJ=16207,VJ=16208,h=16209,EJ=16210,yJ=16211,CW=852,MW=592,LW=15,RW=LW,GJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function IW(){this.strm=null,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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>yJ)return 1;return 0},fJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(MW),Q.sane=1,Q.back=-1,I6},bJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,fJ(J)},hJ=(J,Q)=>{let W;if(x6(J))return s;let V=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(V.window!==null&&V.wbits!==Q)V.window=null;return V.wrap=W,V.wbits=Q,bJ(J)},pJ=(J,Q)=>{if(!J)return s;let W=new IW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let V=hJ(J,Q);if(V!==I6)J.state=null;return V},OW=(J)=>{return pJ(J,RW)},qJ=!0,d0,l0,xW=(J)=>{if(qJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(SJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(TJ,J.lens,0,32,l0,0,J.work,{bits:5}),qJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},uJ=(J,Q,W,V)=>{let G,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(V>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>V)G=V;if(q.window.set(Q.subarray(W-V,W-V+G),q.wnext),V-=G,V)q.window.set(Q.subarray(W-V,W),0),q.wnext=V,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},DW=(J,Q)=>{let W,V,G,q,P,X,Z,Y,U,k,F,K,z,I,C=0,j,L,R,$,S,p,M,T,A=new Uint8Array(4),x,w,G6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,G=J.output,Z=J.avail_out,q=J.next_in,V=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=b8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==f8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,M=(Y&15)+8,W.wbits===0)W.wbits=M;if(M>15||M>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?l8:q6,Y=0,U=0;break;case b8:while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==f8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=h8;case h8:while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=p8;case p8:while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=u8;case u8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=m8;case m8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(M=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(V.subarray(q,q+K),M)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=_8;case _8:if(W.flags&2048){if(X===0)break J;K=0;do if(M=V[q+K++],W.head&&M&&W.length<65536)W.head.name+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=c8;case c8:if(W.flags&4096){if(X===0)break J;K=0;do if(M=V[q+K++],W.head&&M&&W.length<65536)W.head.comment+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.comment=null;W.mode=d8;case d8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case l8:while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}J.adler=W.check=GJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,BW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===$W||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=i8;break;case 1:if(xW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=r8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case i8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=n8;case n8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;G.set(V.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case r8:while(U<14){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=o8;case o8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.lens[G6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[G6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6(HW,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.nlen+W.ndist){for(;;){if(C=W.lencode[Y&(1<<W.lenbits)-1],j=C>>>24,L=C>>>16&255,R=C&65535,j<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(R<16)Y>>>=j,U-=j,W.lens[W.have++]=R;else{if(R===16){w=j+2;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(Y>>>=j,U-=j,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}M=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(R===17){w=j+3;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=j,U-=j,M=0,K=3+(Y&7),Y>>>=3,U-=3}else{w=j+7;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=j,U-=j,M=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=M}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(SJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(TJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=C0;case C0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,PW(J,F),P=J.next_out,G=J.output,Z=J.avail_out,q=J.next_in,V=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(C=W.lencode[Y&(1<<W.lenbits)-1],j=C>>>24,L=C>>>16&255,R=C&65535,j<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(L&&(L&240)===0){$=j,S=L,p=R;for(;;){if(C=W.lencode[p+((Y&(1<<$+S)-1)>>$)],j=C>>>24,L=C>>>16&255,R=C&65535,$+j<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,W.length=R,L===0){W.mode=WJ;break}if(L&32){W.back=-1,W.mode=q6;break}if(L&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=L&15,W.mode=s8;case s8:if(W.extra){w=W.extra;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=t8;case t8:for(;;){if(C=W.distcode[Y&(1<<W.distbits)-1],j=C>>>24,L=C>>>16&255,R=C&65535,j<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if((L&240)===0){$=j,S=L,p=R;for(;;){if(C=W.distcode[p+((Y&(1<<$+S)-1)>>$)],j=C>>>24,L=C>>>16&255,R=C&65535,$+j<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,L&64){J.msg="invalid distance code",W.mode=h;break}W.offset=R,W.extra=L&15,W.mode=e8;case e8:if(W.extra){w=W.extra;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=JJ;case JJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=G,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do G[P++]=I[z++];while(--K);if(W.length===0)W.mode=C0;break;case WJ:if(Z===0)break J;G[P++]=W.length,Z--,W.mode=C0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=V[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,G,F,P-F):e6(W.check,G,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:GJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=QJ;case QJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=VJ;case VJ:T=kW;break J;case h:T=vJ;break J;case EJ:return gJ;case yJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==y8)){if(uJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,G,F,J.next_out-F):e6(W.check,G,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===y8)&&T===I6)T=jW;return T},AW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},wW=(J,Q)=>{let W=Q.length,V,G,q;if(x6(J))return s;if(V=J.state,V.wrap!==0&&V.mode!==I0)return s;if(V.mode===I0){if(G=1,G=e6(G,Q,W,0),G!==V.check)return vJ}if(q=uJ(J,Q,W,W),q)return V.mode=EJ,gJ;return V.havedict=1,I6},SW=bJ,TW=hJ,vW=fJ,gW=OW,EW=pJ,yW=DW,fW=AW,bW=NW,hW=wW,pW="pako inflate (from Nodeca project)",Y6={inflateReset:SW,inflateReset2:TW,inflateResetKeep:vW,inflateInit:gW,inflateInit2:EW,inflate:yW,inflateEnd:fW,inflateGetHeader:bW,inflateSetDictionary:hW,inflateInfo:pW};function uW(){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}var mW=uW,mJ=Object.prototype.toString,{Z_NO_FLUSH:_W,Z_FINISH:cW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:dW,Z_DATA_ERROR:XJ,Z_MEM_ERROR:lW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(L6[W]);if(this.header=new mW,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(mJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(L6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,G=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?cW:_W;if(mJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if(q=Y6.inflate(W,P),q===n0&&G){if(q=Y6.inflateSetDictionary(W,G),q===Q0)q=Y6.inflate(W,P);else if(q===XJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case dW:case XJ:case n0:case lW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=V-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||L6[W.err];return W.result}function iW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var nW=X0,rW=U8,oW=iW,aW=U8,sW=O6,tW={Inflate:nW,inflate:rW,inflateRaw:oW,ungzip:aW,constants:sW},{Deflate:eW,deflate:J7,deflateRaw:W7,gzip:Q7}=XW,{Inflate:V7,inflate:G7,inflateRaw:q7,ungzip:X7}=tW,Y7=eW,P7=J7,U7=W7,K7=Q7,F7=V7,Z7=G7,z7=q7,H7=X7,$7=O6,D6={Deflate:Y7,deflate:P7,deflateRaw:U7,gzip:K7,Inflate:F7,inflate:Z7,inflateRaw:z7,ungzip:H7,constants:$7};function _J(J,Q,W){let V=Q.timestamp;if(V?.physical>Date.now()+7200000)V={physical:Date.now()+7200000,logical:V.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:G,...q}=Q.value;return{resolved:!0,value:q,timestamp:V}}if(Q?.value?.priority!==void 0){let{priority:G,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:V};if(W.compare(V,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:V}}function cJ(J,Q=50){let W=`gdb_oplog_${J}`,V=[];function G(){try{let P=localStorage.getItem(W);V=P?JSON.parse(P):[]}catch(P){V=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(V))}catch(P){}}return G(),{remove(P){V=V.filter((X)=>X.id!==P),q()},add(P){if(V.push(P),V.length>Q)V.shift();q()},getDelta(P,X){if(!P)return[...V];return V.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return V[0]},clear(){V=[],localStorage.removeItem(W)}}}var k7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((C)=>z=C);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),V=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},G="idb",q=(async()=>{if(await V()){G="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),G=F?"async":"idb"}catch{G="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let j=K.transaction("files","readonly").objectStore("files").get(F);j.onsuccess=()=>z(j.result||new Uint8Array),j.onerror=()=>I(j.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,C)=>{let L=z.transaction("files","readwrite").objectStore("files").put(K,F);L.onsuccess=()=>I(),L.onerror=()=>C(L.error)})}}})(),Z=async(U)=>{await q;try{if(G==="idb"){let C=await X.get(U);self.postMessage({type:"loaded",name:U,data:C},[C.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let C=new Uint8Array;self.postMessage({type:"loaded",name:U,data:C},[C.buffer]);return}let K=async()=>{try{let C=await F.createSyncAccessHandle();try{let j=C.getSize(),L=new Uint8Array(j),R=C.read(L,{at:0}),$=L.slice(0,R);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{C.close()}}catch(C){if(C?.name==="NoModificationAllowedError"){let j=await F.getFile(),L=new Uint8Array(await j.arrayBuffer());self.postMessage({type:"loaded",name:U,data:L},[L.buffer])}else throw C}};if(G==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(G==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(G==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],C=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(C&&C.type)self.postMessage(C)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},dJ=k7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(G)=>String(G).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Object.values(J).some((G)=>typeof G==="object"?null.fieldSearch(G,V):W(G).includes(V))},field:(J,Q)=>{let W=(G)=>String(G).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Array.isArray(J)?J.some((G)=>W(G).includes(V)):W(J).includes(V)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((V)=>W.createFilter(V,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((V)=>W.createFilter(V,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let V=W.createFilter(Q,W.allNodes),G=[...J.edges],q=new Set(G).add(J.id),P=[];while(G.length){let X=G.shift(),Z=W.allNodes[X];if(!Z)continue;if(V(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&G.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,V)=>W&&typeof W==="object"&&(V in W)?W[V]:void 0,J),N0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([V,G])=>{if(V.startsWith("$"))return Y0[V](W,G,{createFilter:N0,allNodes:Q});let q=A0(W.value,V);if(q===void 0)q=A0(W,V);if(typeof G!=="object"||G===null)return Y0.$eq(q,G);return Object.entries(G).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:N0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...V}=Q.query||{},G=N0(V,J),q=Object.values(J).filter(G),X=[...W?(()=>{let Z=N0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function lJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,V){if(!W&&!V)return 0;if(!W)return-1;if(!V)return 1;if(W.physical>V.physical)return 1;if(W.physical<V.physical)return-1;if(W.logical>V.logical)return 1;if(W.logical<V.logical)return-1;return 0}}}var B7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},iJ=(J,Q)=>J.length===Q.length&&J.every((W,V)=>W===Q[V]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,nJ=(J,Q=16)=>{let W=null,V=null;return(...G)=>{if(!V)V={},V.promise=new Promise((P,X)=>(V.resolve=P,V.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=V;V=null;try{P.resolve(await J(...G))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),V.promise}},j7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function M7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,V){let G=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:G?.edges?[...G.edges]:[],timestamp:V}},get(Q){return J.nodes[Q]||null},link(Q,W,V){let G=J.nodes[Q],q=J.nodes[W];if(G&&q&&!G.edges.includes(W))J.nodes[Q]={...G,edges:[...G.edges,W],timestamp:V}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function fQ(J,Q={}){let{rtc:W=!1,password:V,sm:G=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=M7(),z=lJ(),I=cJ(J,F),C=[],j=null,L=[],R=null,$=null,S=null,p=null,M=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(B)=>K.get(B)})},worker:{get:()=>R},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(B,N){try{let O=await B7[B](),f=N&&typeof N==="object"?N:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let B=localStorage.getItem(`${J}_time`);j=B?JSON.parse(B):null}function w(B){j=B,localStorage.setItem(`${J}_time`,JSON.stringify(B))}function G6(){try{let B=URL.createObjectURL(new Blob([`(${dJ.toString()})()`],{type:"application/javascript"}));R=new Worker(B),URL.revokeObjectURL(B),R.addEventListener("message",({data:N})=>{return})}catch({message:B}){}}function h6(){let B={...K.nodes};L.forEach((N)=>N(B))}let e=j7(()=>h6()),P6=nJ(async()=>{let B=M.splice(0,M.length);if(!B.length)return!1;return await $.send(B),!0},16);async function Z8(){try{let N=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)R.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")R.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};R.addEventListener("message",b),R.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);N.byteLength>0&&K.deserialize(N)}catch({message:B}){}}async function rJ(){try{let B=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)R.removeEventListener("message",H),_();else if(D.type==="error")R.removeEventListener("message",H),b(Error(D.message||"Save error"))};R.addEventListener("message",H),R.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,B),S.postMessage("update"),!0}catch({message:B}){throw Error("Save failed")}}let P0=nJ(()=>rJ(),k);async function oJ(B){let N=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=_J(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),N=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),N=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),N=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:j}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:j}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(j&&D&&z.compare(j,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),N=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of B)if(b[H.type])await b[H.type](H);if(O&&(!j||z.compare(O,j)>0))w(O);if(N)await P0(),e()}Object.assign(T,{use(B){if(typeof B==="function")C.push(B)},async put(B,N){let O=z.now();w(O),N=N??crypto.randomUUID(),K.upsert(N,B,O),I.add({type:"upsert",id:N,timestamp:O}),P0();try{M.push({type:"upsert",id:N,value:B,timestamp:O}),P6().catch(()=>{})}finally{e()}return N},async link(B,N){let O=z.now();if(!K.nodes[B]||!K.nodes[N])return;K.link(B,N,O),I.add({type:"link",sourceId:B,targetId:N,timestamp:O}),P0(),w(O);try{M.push({type:"link",sourceId:B,targetId:N,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(B){let N=z.now(),O=K.get(B);if(!O)return;delete K.nodes[B],I.add({type:"remove",id:B,timestamp:N}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==B)),P0(),w(N);try{M.push({type:"remove",id:B,value:O.value,timestamp:N}),P6().catch(()=>{})}finally{e()}},async get(B,N=null){if(typeof B!=="string")return{result:null};let O=K.get(B);if(!O){if(N)N(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!N)return{result:f(O)};let _=O.timestamp;N(f(O));let b=(H)=>{let D=H[B];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,N(f(D))}else N(null),L.splice(L.indexOf(b),1)};return L.push(b),{result:f(O),unsubscribe:()=>{let H=L.indexOf(b);if(H>-1)L.splice(H,1)}}},async map(...B){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;B.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],z8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!iJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))z8.push(y.get(m));let w0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>w0(m,"added")),z8.forEach((m)=>w0(m,"removed")),A6.forEach((m)=>w0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!iJ(t,A6))D(u),b=u}},L.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=L.indexOf(H);g>-1&&L.splice(g,1)}}}},async clear(){K.nodes={};try{await(await navigator.storage.getDirectory()).removeEntry(`${J}_graph.msgpack`)}catch({message:B}){}h6()}}),G6(),x(),await C7(),await Z8();let U6=[];if(G)U6.push(A("sm",G));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let aJ=`graph-sync-room-${J}`;if(W){let B=W?.constructor===Object?W:{},N=B.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(N),_={appId:"1234",...V&&{password:V},...B.relayUrls&&{relayUrls:B.relayUrls},...B.turnConfig&&{turnConfig:B.turnConfig},...B.cells&&B.cells!==!0&&{overlay:B.cells}},b=O(_,aJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:j}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of C)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await oJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(B)=>{if(B.data==="update")await Z8(),x(),e()},T}export{fQ as gdb};
|
|
1
|
+
function $8(J){let Q=J.length,W=0,V=0;while(V<Q){let G=J.charCodeAt(V++);if((G&4294967168)===0){W++;continue}else if((G&4294965248)===0)W+=2;else{if(G>=55296&&G<=56319){if(V<Q){let q=J.charCodeAt(V);if((q&64512)===56320)++V,G=((G&1023)<<10)+(q&1023)+65536}}if((G&4294901760)===0)W+=3;else W+=4}}return W}function sJ(J,Q,W){let V=J.length,G=W,q=0;while(q<V){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[G++]=P;continue}else if((P&4294965248)===0)Q[G++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<V){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[G++]=P>>12&15|224,Q[G++]=P>>6&63|128;else Q[G++]=P>>18&7|240,Q[G++]=P>>12&63|128,Q[G++]=P>>6&63|128}Q[G++]=P&63|128}}var tJ=new TextEncoder,eJ=50;function J5(J,Q,W){tJ.encodeInto(J,Q.subarray(W))}function k8(J,Q,W){if(J.length>eJ)J5(J,Q,W);else sJ(J,Q,W)}var W5=4096;function S0(J,Q,W){let V=Q,G=V+W,q=[],P="";while(V<G){let X=J[V++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[V++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[V++]&63,Y=J[V++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[V++]&63,Y=J[V++]&63,U=J[V++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=W5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var Q5=new TextDecoder,V5=200;function G5(J,Q,W){let V=J.subarray(Q,Q+W);return Q5.decode(V)}function B8(J,Q,W){if(W>V5)return G5(J,Q,W);else return S0(J,Q,W)}class N6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var w6=4294967295;function j8(J,Q,W){let V=W/4294967296,G=W;J.setUint32(Q,V),J.setUint32(Q+4,G)}function K0(J,Q,W){let V=Math.floor(W/4294967296),G=W;J.setUint32(Q,V),J.setUint32(Q+4,G)}function F0(J,Q){let W=J.getInt32(Q),V=J.getUint32(Q+4);return W*4294967296+V}function C8(J,Q){let W=J.getUint32(Q),V=J.getUint32(Q+4);return W*4294967296+V}var q5=-1,X5=4294967295,Y5=17179869183;function P5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=Y5)if(Q===0&&J<=X5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,V=J&4294967295,G=new Uint8Array(8),q=new DataView(G.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,V),G}else{let W=new Uint8Array(12),V=new DataView(W.buffer);return V.setUint32(0,Q),K0(V,4,J),W}}function U5(J){let Q=J.getTime(),W=Math.floor(Q/1000),V=(Q-W*1000)*1e6,G=Math.floor(V/1e9);return{sec:W+G,nsec:V-G*1e9}}function K5(J){if(J instanceof Date){let Q=U5(J);return P5(Q)}else return null}function F5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),V=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),V=Q.getUint32(4),G=(W&3)*4294967296+V,q=W>>>2;return{sec:G,nsec:q}}case 12:{let W=F0(Q,4),V=Q.getUint32(0);return{sec:W,nsec:V}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function Z5(J){let Q=F5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var M8={type:q5,encode:K5,decode:Z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(M8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let V=-1-J;this.builtInEncoders[V]=Q,this.builtInDecoders[V]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let V=this.builtInEncoders[W];if(V!=null){let G=V(J,Q);if(G!=null){let q=-1-W;return new N6(q,G)}}}for(let W=0;W<this.encoders.length;W++){let V=this.encoders[W];if(V!=null){let G=V(J,Q);if(G!=null)return new N6(W,G)}}if(J instanceof N6)return J;return null}decode(J,Q,W){let V=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(V)return V(J,Q,W);else return new N6(Q,J)}}k6.defaultCodec=new k6;function z5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(z5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var H5=100,$5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??H5,this.initialBufferSize=J?.initialBufferSize??$5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),V=new DataView(Q);W.set(this.bytes),this.view=V,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=$8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let V of J)this.doEncode(V,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let V of Q)if(J[V]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let V=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(V<16)this.writeU8(128+V);else if(V<65536)this.writeU8(222),this.writeU16(V);else if(V<4294967296)this.writeU8(223),this.writeU32(V);else throw Error(`Too large map object: ${V}`);for(let G of W){let q=J[G];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(G),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),V=W.length;if(V>=4294967296)throw Error(`Too large extension object: ${V}`);this.writeU8(201),this.writeU32(V),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),j8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var k5=16,B5=16;class T0{constructor(J=k5,Q=B5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let V=this.caches[W-1];J:for(let G of V){let q=G.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return G.str}return null}store(J,Q){let W=this.caches[J.length-1],V={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=V;else W.push(V)}decode(J,Q,W){let V=this.find(J,Q,W);if(V!=null)return this.hit++,V;this.miss++;let G=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,G),G}}var v0="array",_6="map_key",R8="map_value",j5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class I8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===R8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var L8=RangeError("Insufficient data"),M5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new I8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??w6,this.maxBinLength=J?.maxBinLength??w6,this.maxArrayLength=J?.maxArrayLength??w6,this.maxMapLength=J?.maxMapLength??w6,this.maxExtLength=J?.maxExtLength??w6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:M5,this.mapKeyConverter=J?.mapKeyConverter??j5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),V=new Uint8Array(Q.length+W.length);V.set(Q),V.set(W,Q.length),this.setBuffer(V)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:V,pos:G,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(V)} at ${q} (${G} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,V=-1;for await(let G of J){if(Q&&V===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(G),W)V=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--V===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let V=J-128;if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J<160){let V=J-144;if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else{let V=J-160;Q=this.decodeString(V,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let V=this.lookU8();Q=this.decodeString(V,1)}else if(J===218){let V=this.lookU16();Q=this.decodeString(V,2)}else if(J===219){let V=this.lookU32();Q=this.decodeString(V,4)}else if(J===220){let V=this.readU16();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===221){let V=this.readU32();if(V!==0){this.pushArrayState(V),this.complete();continue J}else Q=[]}else if(J===222){let V=this.readU16();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===223){let V=this.readU32();if(V!==0){this.pushMapState(V),this.complete();continue J}else Q={}}else if(J===196){let V=this.lookU8();Q=this.decodeBinary(V,1)}else if(J===197){let V=this.lookU16();Q=this.decodeBinary(V,2)}else if(J===198){let V=this.lookU32();Q=this.decodeBinary(V,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let V=this.lookU8();Q=this.decodeExtension(V,1)}else if(J===200){let V=this.lookU16();Q=this.decodeExtension(V,2)}else if(J===201){let V=this.lookU32();Q=this.decodeExtension(V,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let V=W.top();if(V.type===v0)if(V.array[V.position]=Q,V.position++,V.position===V.size)Q=V.array,W.release(V);else continue J;else if(V.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");V.key=this.mapKeyConverter(Q),V.type=R8;continue J}else if(V.map[V.key]=Q,V.readCount++,V.readCount===V.size)Q=V.map,W.release(V);else{V.key=null,V.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw L8;let W=this.pos+Q,V;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))V=this.keyDecoder.decode(this.bytes,W,J);else V=B8(this.bytes,W,J);return this.pos+=Q+J,V}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw L8;let W=this.pos+Q,V=this.bytes.subarray(W,W+J);return this.pos+=Q+J,V}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),V=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(V,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=C8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,PJ=1,R5=2,I5=3,O5=258,V8=29,V0=256,o6=V0+1+V8,v6=30,G8=19,UJ=2*o6+1,j6=15,E0=16,x5=7,q8=256,KJ=16,FJ=17,ZJ=18,r0=new Uint8Array([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]),M0=new Uint8Array([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]),D5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),zJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),A5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(A5);y6(a6);var s6=Array(O5-I5+1);y6(s6);var X8=Array(V8);y6(X8);var L0=Array(v6);y6(L0);function y0(J,Q,W,V,G){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=V,this.max_length=G,this.has_stree=J&&J.length}var HJ,$J,kJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var BJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},jJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},w5=(J,Q)=>{let{dyn_tree:W,max_code:V}=Q,G=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<UJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>V)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(G[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>V)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},CJ=(J,Q,W)=>{let V=Array(j6+1),G=0,q,P;for(q=1;q<=j6;q++)G=G+W[q-1]<<1,V[q]=G;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=jJ(V[X]++,X)}},S5=()=>{let J,Q,W,V,G,q=Array(j6+1);W=0;for(V=0;V<V8-1;V++){X8[V]=W;for(J=0;J<1<<r0[V];J++)s6[W++]=V}s6[W-1]=V,G=0;for(V=0;V<16;V++){L0[V]=G;for(J=0;J<1<<M0[V];J++)a6[G++]=V}G>>=7;for(;V<v6;V++){L0[V]=G<<7;for(J=0;J<1<<M0[V]-7;J++)a6[256+G++]=V}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;CJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=jJ(J,5);HJ=new y0(X6,r0,V0+1,o6,j6),$J=new y0(i6,M0,0,v6,j6),kJ=new y0([],D5,0,G8,x5)},MJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<G8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},LJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},O8=(J,Q,W,V)=>{let G=Q*2,q=W*2;return J[G]<J[q]||J[G]===J[q]&&V[Q]<=V[W]},b0=(J,Q,W)=>{let V=J.heap[W],G=W<<1;while(G<=J.heap_len){if(G<J.heap_len&&O8(Q,J.heap[G+1],J.heap[G],J.depth))G++;if(O8(Q,V,J.heap[G],J.depth))break;J.heap[W]=J.heap[G],W=G,G<<=1}J.heap[W]=V},x8=(J,Q,W)=>{let V,G,q=0,P,X;if(J.sym_next!==0)do if(V=J.pending_buf[J.sym_buf+q++]&255,V+=(J.pending_buf[J.sym_buf+q++]&255)<<8,G=J.pending_buf[J.sym_buf+q++],V===0)W6(J,G,Q);else{if(P=s6[G],W6(J,P+V0+1,Q),X=r0[P],X!==0)G-=X8[P],n(J,G,X);if(V--,P=BJ(V),W6(J,P,W),X=M0[P],X!==0)V-=L0[P],n(J,V,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,V=Q.stat_desc.static_tree,G=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=UJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,G)J.static_len-=V[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],w5(J,Q),CJ(W,Z,J.bl_count)},D8=(J,Q,W)=>{let V,G=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(V=0;V<=W;V++){if(q=P,P=Q[(V+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==G)J.bl_tree[q*2]++;J.bl_tree[KJ*2]++}else if(X<=10)J.bl_tree[FJ*2]++;else J.bl_tree[ZJ*2]++;if(X=0,G=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},A8=(J,Q,W)=>{let V,G=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(V=0;V<=W;V++){if(q=P,P=Q[(V+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==G)W6(J,q,J.bl_tree),X--;W6(J,KJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,FJ,J.bl_tree),n(J,X-3,3);else W6(J,ZJ,J.bl_tree),n(J,X-11,7);if(X=0,G=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},T5=(J)=>{let Q;D8(J,J.dyn_ltree,J.l_desc.max_code),D8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=G8-1;Q>=3;Q--)if(J.bl_tree[zJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},v5=(J,Q,W,V)=>{let G;n(J,Q-257,5),n(J,W-1,5),n(J,V-4,4);for(G=0;G<V;G++)n(J,J.bl_tree[zJ[G]*2+1],3);A8(J,J.dyn_ltree,Q-1),A8(J,J.dyn_dtree,W-1)},g5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<V0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},N8=!1,E5=(J)=>{if(!N8)S5(),N8=!0;J.l_desc=new f0(J.dyn_ltree,HJ),J.d_desc=new f0(J.dyn_dtree,$J),J.bl_desc=new f0(J.bl_tree,kJ),J.bi_buf=0,J.bi_valid=0,MJ(J)},RJ=(J,Q,W,V)=>{if(n(J,(L5<<1)+(V?1:0),3),LJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},y5=(J)=>{n(J,PJ<<1,3),W6(J,q8,X6),N5(J)},f5=(J,Q,W,V)=>{let G,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=g5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=T5(J),G=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=G)G=q}else G=q=W+5;if(W+4<=G&&Q!==-1)RJ(J,Q,W,V);else if(J.strategy===4||q===G)n(J,(PJ<<1)+(V?1:0),3),x8(J,X6,i6);else n(J,(R5<<1)+(V?1:0),3),v5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),x8(J,J.dyn_ltree,J.dyn_dtree);if(MJ(J),V)LJ(J)},b5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+V0+1)*2]++,J.dyn_dtree[BJ(Q)*2]++;return J.sym_next===J.sym_end},h5=E5,p5=RJ,u5=f5,m5=b5,_5=y5,c5={_tr_init:h5,_tr_stored_block:p5,_tr_flush_block:u5,_tr_tally:m5,_tr_align:_5},d5=(J,Q,W,V)=>{let G=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do G=G+Q[V++]|0,q=q+G|0;while(--P);G%=65521,q%=65521}return G|q<<16|0},e6=d5,l5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var V=0;V<8;V++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},i5=new Uint32Array(l5()),n5=(J,Q,W,V)=>{let G=i5,q=V+W;J^=-1;for(let P=V;P<q;P++)J=J>>>8^G[(J^Q[P])&255];return J^-1},c=n5,L6={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"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:r5,_tr_stored_block:a0,_tr_flush_block:o5,_tr_tally:z6,_tr_align:a5}=c5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:s5,Z_FULL_FLUSH:t5,Z_FINISH:a,Z_BLOCK:w8,Z_OK:d,Z_STREAM_END:S8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:e5,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:J1,Z_FILTERED:W1,Z_HUFFMAN_ONLY:$0,Z_RLE:Q1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:G1,Z_UNKNOWN:q1,Z_DEFLATED:O0}=O6,X1=9,Y1=15,P1=8,U1=29,K1=256,s0=K1+1+U1,F1=30,Z1=19,z1=2*s0+1,H1=15,v=3,Z6=258,V6=Z6+v+1,$1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,C6=113,d6=666,i=1,f6=2,R6=3,b6=4,k1=3,M6=(J,Q)=>{return J.msg=L6[Q],Q},T8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},B1=(J)=>{let Q,W,V,G=J.w_size;Q=J.hash_size,V=Q;do W=J.head[--V],J.head[V]=W>=G?W-G:0;while(--Q);Q=G,V=Q;do W=J.prev[--V],J.prev[V]=W>=G?W-G:0;while(--Q)},j1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=j1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{o5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,V)=>{let G=J.avail_in;if(G>V)G=V;if(G===0)return 0;if(J.avail_in-=G,Q.set(J.input.subarray(J.next_in,J.next_in+G),W),J.state.wrap===1)J.adler=e6(J.adler,Q,G,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,G,W);return J.next_in+=G,J.total_in+=G,G},IJ=(J,Q)=>{let{max_chain_length:W,strstart:V}=J,G,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-V6?J.strstart-(J.w_size-V6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[V+P-1],z=Y[V+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(G=Q,Y[G+P]!==z||Y[G+P-1]!==K||Y[G]!==Y[V]||Y[++G]!==Y[V+1])continue;V+=2,G++;do;while(Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&Y[++V]===Y[++G]&&V<F);if(q=Z6-(F-V),V=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[V+P-1],z=Y[V+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,V,G;do{if(V=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-V6)){if(J.window.set(J.window.subarray(Q,Q+Q-V),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;B1(J),V+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,V),J.lookahead+=W,J.lookahead+J.insert>=v){G=J.strstart-J.insert,J.ins_h=J.window[G],J.ins_h=$6(J,J.ins_h,J.window[G+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[G+v-1]),J.prev[G&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=G,G++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<V6&&J.strm.avail_in!==0)},OJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,V,G,q,P=0,X=J.strm.avail_in;do{if(V=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,G=J.strstart-J.block_start,V>G+J.strm.avail_in)V=G+J.strm.avail_in;if(V>q)V=q;if(V<W&&(V===0&&Q!==a||Q===H6||V!==G+J.strm.avail_in))break;if(P=Q===a&&V===G+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=V,J.pending_buf[J.pending-3]=V>>8,J.pending_buf[J.pending-2]=~V,J.pending_buf[J.pending-1]=~V>>8,r(J.strm),G){if(G>V)G=V;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+G),J.strm.next_out),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G,J.block_start+=G,V-=G}if(V)Q8(J.strm,J.strm.output,J.strm.next_out,V),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,G=J.strstart-J.block_start,G>=W||(G||Q===a)&&Q!==H6&&J.strm.avail_in===0&&G<=q)V=G>q?q:G,P=Q===a&&J.strm.avail_in===0&&V===G?1:0,a0(J,J.block_start,V,P),J.block_start+=V,r(J.strm);return P?R6:i},p0=(J,Q)=>{let W,V;for(;;){if(J.lookahead<V6){if(E6(J),J.lookahead<V6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-V6)J.match_length=IJ(J,W);if(J.match_length>=v)if(V=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else V=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(V){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,V,G;for(;;){if(J.lookahead<V6){if(E6(J),J.lookahead<V6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-V6){if(J.match_length=IJ(J,W),J.match_length<=5&&(J.strategy===W1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){G=J.strstart+J.lookahead-v,V=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=G)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,V){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(V=z6(J,0,J.window[J.strstart-1]),V)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)V=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,V,G,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(G=J.strstart-1,V=P[G],V===P[++G]&&V===P[++G]&&V===P[++G]){q=J.strstart+Z6;do;while(V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&V===P[++G]&&G<q);if(J.match_length=Z6-(q-G),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},M1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return R6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,V,G){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=V,this.func=G}var l6=[new J6(0,0,0,0,OJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function R1(){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=O0,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=new Uint16Array(z1*2),this.dyn_dtree=new Uint16Array((2*F1+1)*2),this.bl_tree=new Uint16Array((2*Z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(H1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var G0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==C6&&Q.status!==d6)return 1;return 0},xJ=(J)=>{if(G0(J))return M6(J,Q6);J.total_in=J.total_out=0,J.data_type=q1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:C6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,r5(Q),d},DJ=(J)=>{let Q=xJ(J);if(Q===d)L1(J.state);return Q},I1=(J,Q)=>{if(G0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},AJ=(J,Q,W,V,G,q)=>{if(!J)return Q6;let P=1;if(Q===J1)Q=6;if(V<0)P=0,V=-V;else if(V>15)P=2,V-=16;if(G<1||G>X1||W!==O0||V<8||V>15||Q<0||Q>9||q<0||q>V1||V===8&&P!==1)return M6(J,Q6);if(V===8)V=9;let X=new R1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=V,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=G+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<G+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,DJ(J)},O1=(J,Q)=>{return AJ(J,Q,O0,Y1,P1,G1)},x1=(J,Q)=>{if(G0(J)||Q>w8||Q<0)return J?M6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return M6(J,J.avail_out===0?h0:Q6);let V=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&T8(Q)<=T8(V)&&Q!==a)return M6(J,h0);if(W.status===d6&&J.avail_in!==0)return M6(J,h0);if(W.status===g6&&W.wrap===0)W.status=C6;if(W.status===g6){let G=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(G|=q<<6,W.strstart!==0)G|=$1;if(G+=31-G%31,c6(W,G),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,k1),W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let G=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;G=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let G=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(r(J),W.pending!==0)return W.last_flush=-1,d;G=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let G=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G);if(r(J),W.pending!==0)return W.last_flush=-1,d;G=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>G)J.adler=c(J.adler,W.pending_buf,W.pending-G,G)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=C6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let G=W.level===0?OJ(W,Q):W.strategy===$0?M1(W,Q):W.strategy===Q1?C1(W,Q):l6[W.level].func(W,Q);if(G===R6||G===b6)W.status=d6;if(G===i||G===R6){if(J.avail_out===0)W.last_flush=-1;return d}if(G===f6){if(Q===s5)a5(W);else if(Q!==w8){if(a0(W,0,0,!1),Q===t5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return S8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:S8},D1=(J)=>{if(G0(J))return Q6;let Q=J.state.status;return J.state=null,Q===C6?M6(J,e5):d},A1=(J,Q)=>{let W=Q.length;if(G0(J))return Q6;let V=J.state,G=V.wrap;if(G===2||G===1&&V.status!==g6||V.lookahead)return Q6;if(G===1)J.adler=e6(J.adler,Q,W,0);if(V.wrap=0,W>=V.w_size){if(G===0)F6(V.head),V.strstart=0,V.block_start=0,V.insert=0;let Z=new Uint8Array(V.w_size);Z.set(Q.subarray(W-V.w_size,W),0),Q=Z,W=V.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(V);while(V.lookahead>=v){let Z=V.strstart,Y=V.lookahead-(v-1);do V.ins_h=$6(V,V.ins_h,V.window[Z+v-1]),V.prev[Z&V.w_mask]=V.head[V.ins_h],V.head[V.ins_h]=Z,Z++;while(--Y);V.strstart=Z,V.lookahead=v-1,E6(V)}return V.strstart+=V.lookahead,V.block_start=V.strstart,V.insert=V.lookahead,V.lookahead=0,V.match_length=V.prev_length=v-1,V.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,V.wrap=G,d},N1=O1,w1=AJ,S1=DJ,T1=xJ,v1=I1,g1=x1,E1=D1,y1=A1,f1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:w1,deflateReset:S1,deflateResetKeep:T1,deflateSetHeader:v1,deflate:g1,deflateEnd:E1,deflateSetDictionary:y1,deflateInfo:f1},b1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},h1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let V in W)if(b1(W,V))J[V]=W[V]}return J},p1=(J)=>{let Q=0;for(let V=0,G=J.length;V<G;V++)Q+=J[V].length;let W=new Uint8Array(Q);for(let V=0,G=0,q=J.length;V<q;V++){let P=J[V];W.set(P,G),G+=P.length}return W},x0={assign:h1,flattenChunks:p1},NJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){NJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var u1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,V,G,q,P=J.length,X=0;for(G=0;G<P;G++){if(W=J.charCodeAt(G),(W&64512)===55296&&G+1<P){if(V=J.charCodeAt(G+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),G++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,G=0;q<X;G++){if(W=J.charCodeAt(G),(W&64512)===55296&&G+1<P){if(V=J.charCodeAt(G+1),(V&64512)===56320)W=65536+(W-55296<<10)+(V-56320),G++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},m1=(J,Q)=>{if(Q<65534){if(J.subarray&&NJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let V=0;V<Q;V++)W+=String.fromCharCode(J[V]);return W},_1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let V,G,q=Array(W*2);for(G=0,V=0;V<W;){let P=J[V++];if(P<128){q[G++]=P;continue}let X=J0[P];if(X>4){q[G++]=65533,V+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&V<W)P=P<<6|J[V++]&63,X--;if(X>1){q[G++]=65533;continue}if(P<65536)q[G++]=P;else P-=65536,q[G++]=55296|P>>10&1023,q[G++]=56320|P&1023}return m1(q,G)},c1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:u1,buf2string:_1,utf8border:c1};function d1(){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}var wJ=d1,SJ=Object.prototype.toString,{Z_NO_FLUSH:l1,Z_SYNC_FLUSH:i1,Z_FULL_FLUSH:n1,Z_FINISH:r1,Z_OK:R0,Z_STREAM_END:o1,Z_DEFAULT_COMPRESSION:a1,Z_DEFAULT_STRATEGY:s1,Z_DEFLATED:t1}=O6;function q0(J){this.options=x0.assign({level:a1,method:t1,chunkSize:16384,windowBits:15,memLevel:8,strategy:s1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==R0)throw Error(L6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let V;if(typeof Q.dictionary==="string")V=W0.string2buf(Q.dictionary);else if(SJ.call(Q.dictionary)==="[object ArrayBuffer]")V=new Uint8Array(Q.dictionary);else V=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,V),W!==R0)throw Error(L6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,G,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?r1:l1;if(typeof J==="string")W.input=W0.string2buf(J);else if(SJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if((q===i1||q===n1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(G=n6.deflate(W,q),G===o1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return G=n6.deflateEnd(this.strm),this.onEnd(G),this.ended=!0,G===R0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===R0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||L6[W.err];return W.result}function e1(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function JW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var WW=q0,QW=P8,VW=e1,GW=JW,qW=O6,XW={Deflate:WW,deflate:QW,deflateRaw:VW,gzip:GW,constants:qW},k0=16209,YW=16191,PW=function(Q,W){let V,G,q,P,X,Z,Y,U,k,F,K,z,I,j,B,L,R,$,S,p,M,T,A,x,w=Q.state;V=Q.next_in,A=Q.input,G=V+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=w.dmax,Y=w.wsize,U=w.whave,k=w.wnext,F=w.window,K=w.hold,z=w.bits,I=w.lencode,j=w.distcode,B=(1<<w.lenbits)-1,L=(1<<w.distbits)-1;J:do{if(z<15)K+=A[V++]<<z,z+=8,K+=A[V++]<<z,z+=8;R=I[K&B];W:for(;;){if($=R>>>24,K>>>=$,z-=$,$=R>>>16&255,$===0)x[q++]=R&65535;else if($&16){if(S=R&65535,$&=15,$){if(z<$)K+=A[V++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[V++]<<z,z+=8,K+=A[V++]<<z,z+=8;R=j[K&L];Q:for(;;){if($=R>>>24,K>>>=$,z-=$,$=R>>>16&255,$&16){if(p=R&65535,$&=15,z<$){if(K+=A[V++]<<z,z+=8,z<$)K+=A[V++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",w.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(w.sane){Q.msg="invalid distance too far back",w.mode=k0;break J}}if(M=0,T=F,k===0){if(M+=Y-$,$<S){S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}}else if(k<$){if(M+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[M++];while(--$);if(M=0,k<S){$=k,S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}}}else if(M+=k-$,$<S){S-=$;do x[q++]=F[M++];while(--$);M=q-p,T=x}while(S>2)x[q++]=T[M++],x[q++]=T[M++],x[q++]=T[M++],S-=3;if(S){if(x[q++]=T[M++],S>1)x[q++]=T[M++]}}else{M=q-p;do x[q++]=x[M++],x[q++]=x[M++],x[q++]=x[M++],S-=3;while(S>2);if(S){if(x[q++]=x[M++],S>1)x[q++]=x[M++]}}}else if(($&64)===0){R=j[(R&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",w.mode=k0;break J}break}}else if(($&64)===0){R=I[(R&65535)+(K&(1<<$)-1)];continue W}else if($&32){w.mode=YW;break J}else{Q.msg="invalid literal/length code",w.mode=k0;break J}break}}while(V<G&&q<X);S=z>>3,V-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=V,Q.next_out=q,Q.avail_in=V<G?5+(G-V):5-(V-G),Q.avail_out=q<X?257+(X-q):257-(q-X),w.hold=K,w.bits=z;return},T6=15,v8=852,g8=592,E8=0,u0=1,y8=2,UW=new Uint16Array([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]),KW=new Uint8Array([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]),FW=new Uint16Array([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]),ZW=new Uint8Array([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]),zW=(J,Q,W,V,G,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,j=0,B=0,L=0,R,$,S,p,M,T=null,A,x=new Uint16Array(T6+1),w=new Uint16Array(T6+1),G6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<V;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return G[q++]=20971520,G[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;j=1;for(Y=1;Y<=T6;Y++)if(j<<=1,j-=x[Y],j<0)return-1;if(j>0&&(J===E8||F!==1))return-1;w[1]=0;for(Y=1;Y<T6;Y++)w[Y+1]=w[Y]+x[Y];for(U=0;U<V;U++)if(Q[W+U]!==0)P[w[Q[W+U]]++]=U;if(J===E8)T=G6=P,A=20;else if(J===u0)T=UW,G6=KW,A=257;else T=FW,G6=ZW,A=0;if(L=0,U=0,Y=k,M=q,z=K,I=0,S=-1,B=1<<K,p=B-1,J===u0&&B>v8||J===y8&&B>g8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=G6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;R=1<<Y-I,$=1<<z,k=$;do $-=R,G[M+(L>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);R=1<<Y-1;while(L&R)R>>=1;if(R!==0)L&=R-1,L+=R;else L=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(L&p)!==S){if(I===0)I=K;M+=k,z=Y-I,j=1<<z;while(z+I<F){if(j-=x[z+I],j<=0)break;z++,j<<=1}if(B+=1<<z,J===u0&&B>v8||J===y8&&B>g8)return 1;S=L&p,G[S]=K<<24|z<<16|M-q|0}}if(L!==0)G[M+L]=Y-I<<24|4194304|0;return X.bits=K,0},r6=zW,HW=0,TJ=1,vJ=2,{Z_FINISH:f8,Z_BLOCK:$W,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:kW,Z_NEED_DICT:BW,Z_STREAM_ERROR:s,Z_DATA_ERROR:gJ,Z_MEM_ERROR:EJ,Z_BUF_ERROR:jW,Z_DEFLATED:b8}=O6,D0=16180,h8=16181,p8=16182,u8=16183,m8=16184,_8=16185,c8=16186,d8=16187,l8=16188,i8=16189,I0=16190,q6=16191,m0=16192,n8=16193,_0=16194,r8=16195,o8=16196,a8=16197,s8=16198,j0=16199,C0=16200,t8=16201,e8=16202,JJ=16203,WJ=16204,QJ=16205,c0=16206,VJ=16207,GJ=16208,h=16209,yJ=16210,fJ=16211,CW=852,MW=592,LW=15,RW=LW,qJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function IW(){this.strm=null,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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>fJ)return 1;return 0},bJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(MW),Q.sane=1,Q.back=-1,I6},hJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,bJ(J)},pJ=(J,Q)=>{let W;if(x6(J))return s;let V=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(V.window!==null&&V.wbits!==Q)V.window=null;return V.wrap=W,V.wbits=Q,hJ(J)},uJ=(J,Q)=>{if(!J)return s;let W=new IW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let V=pJ(J,Q);if(V!==I6)J.state=null;return V},OW=(J)=>{return uJ(J,RW)},XJ=!0,d0,l0,xW=(J)=>{if(XJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(TJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(vJ,J.lens,0,32,l0,0,J.work,{bits:5}),XJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},mJ=(J,Q,W,V)=>{let G,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(V>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(G=q.wsize-q.wnext,G>V)G=V;if(q.window.set(Q.subarray(W-V,W-V+G),q.wnext),V-=G,V)q.window.set(Q.subarray(W-V,W),0),q.wnext=V,q.whave=q.wsize;else{if(q.wnext+=G,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=G}}return 0},DW=(J,Q)=>{let W,V,G,q,P,X,Z,Y,U,k,F,K,z,I,j=0,B,L,R,$,S,p,M,T,A=new Uint8Array(4),x,w,G6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,G=J.output,Z=J.avail_out,q=J.next_in,V=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=h8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==b8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,M=(Y&15)+8,W.wbits===0)W.wbits=M;if(M>15||M>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?i8:q6,Y=0,U=0;break;case h8:while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==b8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=p8;case p8:while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=u8;case u8:while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=m8;case m8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=_8;case _8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(M=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(V.subarray(q,q+K),M)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=c8;case c8:if(W.flags&2048){if(X===0)break J;K=0;do if(M=V[q+K++],W.head&&M&&W.length<65536)W.head.name+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=d8;case d8:if(W.flags&4096){if(X===0)break J;K=0;do if(M=V[q+K++],W.head&&M&&W.length<65536)W.head.comment+=String.fromCharCode(M);while(M&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,V,K,q);if(X-=K,q+=K,M)break J}else if(W.head)W.head.comment=null;W.mode=l8;case l8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case i8:while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}J.adler=W.check=qJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,BW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===$W||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=n8;break;case 1:if(xW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=o8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case n8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=r8;case r8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;G.set(V.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case o8:while(U<14){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.lens[G6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[G6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6(HW,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=s8;case s8:while(W.have<W.nlen+W.ndist){for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,L=j>>>16&255,R=j&65535,B<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(R<16)Y>>>=B,U-=B,W.lens[W.have++]=R;else{if(R===16){w=B+2;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(Y>>>=B,U-=B,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}M=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(R===17){w=B+3;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=B,U-=B,M=0,K=3+(Y&7),Y>>>=3,U-=3}else{w=B+7;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=B,U-=B,M=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=M}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(TJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(vJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=C0;case C0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,PW(J,F),P=J.next_out,G=J.output,Z=J.avail_out,q=J.next_in,V=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,L=j>>>16&255,R=j&65535,B<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(L&&(L&240)===0){$=B,S=L,p=R;for(;;){if(j=W.lencode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,L=j>>>16&255,R=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,W.length=R,L===0){W.mode=QJ;break}if(L&32){W.back=-1,W.mode=q6;break}if(L&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=L&15,W.mode=t8;case t8:if(W.extra){w=W.extra;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=e8;case e8:for(;;){if(j=W.distcode[Y&(1<<W.distbits)-1],B=j>>>24,L=j>>>16&255,R=j&65535,B<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if((L&240)===0){$=B,S=L,p=R;for(;;){if(j=W.distcode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,L=j>>>16&255,R=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,L&64){J.msg="invalid distance code",W.mode=h;break}W.offset=R,W.extra=L&15,W.mode=JJ;case JJ:if(W.extra){w=W.extra;while(U<w){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=WJ;case WJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=G,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do G[P++]=I[z++];while(--K);if(W.length===0)W.mode=C0;break;case QJ:if(Z===0)break J;G[P++]=W.length,Z--,W.mode=C0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=V[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,G,F,P-F):e6(W.check,G,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:qJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=VJ;case VJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=V[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:T=kW;break J;case h:T=gJ;break J;case yJ:return EJ;case fJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==f8)){if(mJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,G,F,J.next_out-F):e6(W.check,G,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===f8)&&T===I6)T=jW;return T},AW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},wW=(J,Q)=>{let W=Q.length,V,G,q;if(x6(J))return s;if(V=J.state,V.wrap!==0&&V.mode!==I0)return s;if(V.mode===I0){if(G=1,G=e6(G,Q,W,0),G!==V.check)return gJ}if(q=mJ(J,Q,W,W),q)return V.mode=yJ,EJ;return V.havedict=1,I6},SW=hJ,TW=pJ,vW=bJ,gW=OW,EW=uJ,yW=DW,fW=AW,bW=NW,hW=wW,pW="pako inflate (from Nodeca project)",Y6={inflateReset:SW,inflateReset2:TW,inflateResetKeep:vW,inflateInit:gW,inflateInit2:EW,inflate:yW,inflateEnd:fW,inflateGetHeader:bW,inflateSetDictionary:hW,inflateInfo:pW};function uW(){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}var mW=uW,_J=Object.prototype.toString,{Z_NO_FLUSH:_W,Z_FINISH:cW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:dW,Z_DATA_ERROR:YJ,Z_MEM_ERROR:lW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(L6[W]);if(this.header=new mW,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(_J.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(L6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,V=this.options.chunkSize,G=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?cW:_W;if(_J.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(V),W.next_out=0,W.avail_out=V;if(q=Y6.inflate(W,P),q===n0&&G){if(q=Y6.inflateSetDictionary(W,G),q===Q0)q=Y6.inflate(W,P);else if(q===YJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case dW:case YJ:case n0:case lW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=V-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||L6[W.err];return W.result}function iW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var nW=X0,rW=U8,oW=iW,aW=U8,sW=O6,tW={Inflate:nW,inflate:rW,inflateRaw:oW,ungzip:aW,constants:sW},{Deflate:eW,deflate:J7,deflateRaw:W7,gzip:Q7}=XW,{Inflate:V7,inflate:G7,inflateRaw:q7,ungzip:X7}=tW,Y7=eW,P7=J7,U7=W7,K7=Q7,F7=V7,Z7=G7,z7=q7,H7=X7,$7=O6,D6={Deflate:Y7,deflate:P7,deflateRaw:U7,gzip:K7,Inflate:F7,inflate:Z7,inflateRaw:z7,ungzip:H7,constants:$7};function cJ(J,Q,W){let V=Q.timestamp;if(V?.physical>Date.now()+7200000)V={physical:Date.now()+7200000,logical:V.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:G,...q}=Q.value;return{resolved:!0,value:q,timestamp:V}}if(Q?.value?.priority!==void 0){let{priority:G,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:V};if(W.compare(V,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:V}}function dJ(J,Q=50){let W=`gdb_oplog_${J}`,V=[];function G(){try{let P=localStorage.getItem(W);V=P?JSON.parse(P):[]}catch(P){V=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(V))}catch(P){}}return G(),{remove(P){V=V.filter((X)=>X.id!==P),q()},add(P){if(V.push(P),V.length>Q)V.shift();q()},getDelta(P,X){if(!P)return[...V];return V.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return V[0]},clear(){V=[],localStorage.removeItem(W)}}}var k7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((j)=>z=j);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),V=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},G="idb",q=(async()=>{if(await V()){G="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),G=F?"async":"idb"}catch{G="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let B=K.transaction("files","readonly").objectStore("files").get(F);B.onsuccess=()=>z(B.result||new Uint8Array),B.onerror=()=>I(B.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,j)=>{let L=z.transaction("files","readwrite").objectStore("files").put(K,F);L.onsuccess=()=>I(),L.onerror=()=>j(L.error)})}}})(),Z=async(U)=>{await q;try{if(G==="idb"){let j=await X.get(U);self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let j=new Uint8Array;self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let K=async()=>{try{let j=await F.createSyncAccessHandle();try{let B=j.getSize(),L=new Uint8Array(B),R=j.read(L,{at:0}),$=L.slice(0,R);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{j.close()}}catch(j){if(j?.name==="NoModificationAllowedError"){let B=await F.getFile(),L=new Uint8Array(await B.arrayBuffer());self.postMessage({type:"loaded",name:U,data:L},[L.buffer])}else throw j}};if(G==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(G==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(G==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],j=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(j&&j.type)self.postMessage(j)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},lJ=k7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(G)=>String(G).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Object.values(J).some((G)=>typeof G==="object"?null.fieldSearch(G,V):W(G).includes(V))},field:(J,Q)=>{let W=(G)=>String(G).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),V=W(Q);return Array.isArray(J)?J.some((G)=>W(G).includes(V)):W(J).includes(V)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((V)=>W.createFilter(V,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((V)=>W.createFilter(V,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let V=W.createFilter(Q,W.allNodes),G=[...J.edges],q=new Set(G).add(J.id),P=[];while(G.length){let X=G.shift(),Z=W.allNodes[X];if(!Z)continue;if(V(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&G.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,V)=>W&&typeof W==="object"&&(V in W)?W[V]:void 0,J),N0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([V,G])=>{if(V.startsWith("$"))return Y0[V](W,G,{createFilter:N0,allNodes:Q});let q=A0(W.value,V);if(q===void 0)q=A0(W,V);if(typeof G!=="object"||G===null)return Y0.$eq(q,G);return Object.entries(G).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:N0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...V}=Q.query||{},G=N0(V,J),q=Object.values(J).filter(G),X=[...W?(()=>{let Z=N0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function iJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,V){if(!W&&!V)return 0;if(!W)return-1;if(!V)return 1;if(W.physical>V.physical)return 1;if(W.physical<V.physical)return-1;if(W.logical>V.logical)return 1;if(W.logical<V.logical)return-1;return 0}}}var B7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},nJ=(J,Q)=>J.length===Q.length&&J.every((W,V)=>W===Q[V]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,rJ=(J,Q=16)=>{let W=null,V=null;return(...G)=>{if(!V)V={},V.promise=new Promise((P,X)=>(V.resolve=P,V.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=V;V=null;try{P.resolve(await J(...G))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),V.promise}},j7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function M7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,V){let G=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:G?.edges?[...G.edges]:[],timestamp:V}},get(Q){return J.nodes[Q]||null},link(Q,W,V){let G=J.nodes[Q],q=J.nodes[W];if(G&&q&&!G.edges.includes(W))J.nodes[Q]={...G,edges:[...G.edges,W],timestamp:V}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function fQ(J,Q={}){let{rtc:W=!1,password:V,sm:G=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=M7(),z=iJ(),I=dJ(J,F),j=[],B=null,L=[],R=null,$=null,S=null,p=null,M=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(C)=>K.get(C)})},worker:{get:()=>R},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(C,N){try{let O=await B7[C](),f=N&&typeof N==="object"?N:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let C=localStorage.getItem(`${J}_time`);B=C?JSON.parse(C):null}function w(C){B=C,localStorage.setItem(`${J}_time`,JSON.stringify(C))}function G6(){try{let C=URL.createObjectURL(new Blob([`(${lJ.toString()})()`],{type:"application/javascript"}));R=new Worker(C),URL.revokeObjectURL(C),R.addEventListener("message",({data:N})=>{return})}catch({message:C}){}}function h6(){let C={...K.nodes};L.forEach((N)=>N(C))}let e=j7(()=>h6()),P6=rJ(async()=>{let C=M.splice(0,M.length);if(!C.length)return!1;return await $.send(C),!0},16);async function Z8(){try{let N=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)R.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")R.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};R.addEventListener("message",b),R.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);N.byteLength>0&&K.deserialize(N)}catch({message:C}){}}async function z8(){try{let C=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)R.removeEventListener("message",H),_();else if(D.type==="error")R.removeEventListener("message",H),b(Error(D.message||"Save error"))};R.addEventListener("message",H),R.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,C),S.postMessage("update"),!0}catch({message:C}){throw Error("Save failed")}}let P0=rJ(()=>z8(),k);async function oJ(C){let N=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=cJ(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),N=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),N=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),N=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:B}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:B}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(B&&D&&z.compare(B,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),N=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of C)if(b[H.type])await b[H.type](H);if(O&&(!B||z.compare(O,B)>0))w(O);if(N)await P0(),e()}Object.assign(T,{use(C){if(typeof C==="function")j.push(C)},async put(C,N){let O=z.now();w(O),N=N??crypto.randomUUID(),K.upsert(N,C,O),I.add({type:"upsert",id:N,timestamp:O}),P0();try{M.push({type:"upsert",id:N,value:C,timestamp:O}),P6().catch(()=>{})}finally{e()}return N},async link(C,N){let O=z.now();if(!K.nodes[C]||!K.nodes[N])return;K.link(C,N,O),I.add({type:"link",sourceId:C,targetId:N,timestamp:O}),P0(),w(O);try{M.push({type:"link",sourceId:C,targetId:N,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(C){let N=z.now(),O=K.get(C);if(!O)return;delete K.nodes[C],I.add({type:"remove",id:C,timestamp:N}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==C)),P0(),w(N);try{M.push({type:"remove",id:C,value:O.value,timestamp:N}),P6().catch(()=>{})}finally{e()}},async get(C,N=null){if(typeof C!=="string")return{result:null};let O=K.get(C);if(!O){if(N)N(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!N)return{result:f(O)};let _=O.timestamp;N(f(O));let b=(H)=>{let D=H[C];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,N(f(D))}else N(null),L.splice(L.indexOf(b),1)};return L.push(b),{result:f(O),unsubscribe:()=>{let H=L.indexOf(b);if(H>-1)L.splice(H,1)}}},async map(...C){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;C.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],H8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!nJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))H8.push(y.get(m));let w0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>w0(m,"added")),H8.forEach((m)=>w0(m,"removed")),A6.forEach((m)=>w0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!nJ(t,A6))D(u),b=u}},L.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=L.indexOf(H);g>-1&&L.splice(g,1)}}}},async clear(){K.nodes={},B=null,localStorage.removeItem(`${J}_time`),I.clear(),await z8(),h6()}}),G6(),x(),await C7(),await Z8();let U6=[];if(G)U6.push(A("sm",G));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let aJ=`graph-sync-room-${J}`;if(W){let C=W?.constructor===Object?W:{},N=C.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(N),_={appId:"1234",...V&&{password:V},...C.relayUrls&&{relayUrls:C.relayUrls},...C.turnConfig&&{turnConfig:C.turnConfig},...C.cells&&C.cells!==!0&&{overlay:C.cells}},b=O(_,aJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:B}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of j)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await oJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(C)=>{if(C.data==="update")await Z8(),x(),e()},T}export{fQ as gdb};
|
package/dist/gdb.min.js.gz
CHANGED
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function H8(J){let Q=J.length,W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){let q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function tJ(J,Q,W){let G=J.length,V=W,q=0;while(q<G){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[V++]=P;continue}else if((P&4294965248)===0)Q[V++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<G){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[V++]=P>>12&15|224,Q[V++]=P>>6&63|128;else Q[V++]=P>>18&7|240,Q[V++]=P>>12&63|128,Q[V++]=P>>6&63|128}Q[V++]=P&63|128}}var eJ=new TextEncoder,J5=50;function W5(J,Q,W){eJ.encodeInto(J,Q.subarray(W))}function $8(J,Q,W){if(J.length>J5)W5(J,Q,W);else tJ(J,Q,W)}var Q5=4096;function S0(J,Q,W){let G=Q,V=G+W,q=[],P="";while(G<V){let X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[G++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[G++]&63,Y=J[G++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[G++]&63,Y=J[G++]&63,U=J[G++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=Q5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var G5=new TextDecoder,V5=200;function q5(J,Q,W){let G=J.subarray(Q,Q+W);return G5.decode(G)}function k8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S0(J,Q,W)}class w6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var N6=4294967295;function B8(J,Q,W){let G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K0(J,Q,W){let G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F0(J,Q){let W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function j8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var X5=-1,Y5=4294967295,P5=17179869183;function U5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=P5)if(Q===0&&J<=Y5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{let W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K0(G,4,J),W}}function K5(J){let Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){let Q=K5(J);return U5(Q)}else return null}function Z5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),G=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{let W=F0(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function z5(J){let Q=Z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var M8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(M8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let G=this.builtInEncoders[W];if(G!=null){let V=G(J,Q);if(V!=null){let q=-1-W;return new w6(q,V)}}}for(let W=0;W<this.encoders.length;W++){let G=this.encoders[W];if(G!=null){let V=G(J,Q);if(V!=null)return new w6(W,V)}}if(J instanceof w6)return J;return null}decode(J,Q,W){let G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new w6(Q,J)}}k6.defaultCodec=new k6;function H5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var $5=100,k5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??$5,this.initialBufferSize=J?.initialBufferSize??k5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=H8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),$8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw Error(`Too large map object: ${G}`);for(let V of W){let q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),B8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class T0{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let G=this.caches[W-1];J:for(let V of G){let q=V.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return V.str}return null}store(J,Q){let W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){let G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;let V=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var v0="array",_6="map_key",R8="map_value",M5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class L8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===R8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var C8=RangeError("Insufficient data"),R5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new L8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N6,this.maxBinLength=J?.maxBinLength??N6,this.maxArrayLength=J?.maxArrayLength??N6,this.maxMapLength=J?.maxMapLength??N6,this.maxExtLength=J?.maxExtLength??N6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:R5,this.mapKeyConverter=J?.mapKeyConverter??M5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:G,pos:V,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){let G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{let G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){let G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){let G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){let G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){let G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){let G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){let G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){let G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){let G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){let G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){let G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){let G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let G=W.top();if(G.type===v0)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=R8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw C8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=k8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw C8;let W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=j8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,YJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,v6=30,V8=19,PJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,UJ=16,KJ=17,FJ=18,r0=new Uint8Array([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]),C0=new Uint8Array([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]),A5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ZJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(w5);y6(a6);var s6=Array(x5-O5+1);y6(s6);var X8=Array(G8);y6(X8);var R0=Array(v6);y6(R0);function y0(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length}var zJ,HJ,$J;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var kJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},BJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{let{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<PJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>G)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(V[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>G)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},jJ=(J,Q,W)=>{let G=Array(j6+1),V=0,q,P;for(q=1;q<=j6;q++)V=V+W[q-1]<<1,G[q]=V;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=BJ(G[X]++,X)}},T5=()=>{let J,Q,W,G,V,q=Array(j6+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r0[G];J++)s6[W++]=G}s6[W-1]=G,V=0;for(G=0;G<16;G++){R0[G]=V;for(J=0;J<1<<C0[G];J++)a6[V++]=G}V>>=7;for(;G<v6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;jJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=BJ(J,5);zJ=new y0(X6,r0,G0+1,o6,j6),HJ=new y0(i6,C0,0,v6,j6),$J=new y0([],A5,0,V8,D5)},MJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},CJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},I8=(J,Q,W,G)=>{let V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},b0=(J,Q,W)=>{let G=J.heap[W],V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&I8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(I8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},O8=(J,Q,W)=>{let G,V,q=0,P,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W6(J,V,Q);else{if(P=s6[V],W6(J,P+G0+1,Q),X=r0[P],X!==0)V-=X8[P],n(J,V,X);if(G--,P=kJ(G),W6(J,P,W),X=C0[P],X!==0)G-=R0[P],n(J,G,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=PJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,V)J.static_len-=G[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),jJ(W,Z,J.bl_count)},x8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[UJ*2]++}else if(X<=10)J.bl_tree[KJ*2]++;else J.bl_tree[FJ*2]++;if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},D8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W6(J,q,J.bl_tree),X--;W6(J,UJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,KJ,J.bl_tree),n(J,X-3,3);else W6(J,FJ,J.bl_tree),n(J,X-11,7);if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},v5=(J)=>{let Q;x8(J,J.dyn_ltree,J.l_desc.max_code),x8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[ZJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},g5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[ZJ[V]*2+1],3);D8(J,J.dyn_ltree,Q-1),D8(J,J.dyn_dtree,W-1)},E5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},A8=!1,y5=(J)=>{if(!A8)T5(),A8=!0;J.l_desc=new f0(J.dyn_ltree,zJ),J.d_desc=new f0(J.dyn_dtree,HJ),J.bl_desc=new f0(J.bl_tree,$J),J.bi_buf=0,J.bi_valid=0,MJ(J)},RJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),CJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,YJ<<1,3),W6(J,q8,X6),N5(J)},b5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=E5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=v5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)RJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(YJ<<1)+(G?1:0),3),O8(J,X6,i6);else n(J,(I5<<1)+(G?1:0),3),g5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),O8(J,J.dyn_ltree,J.dyn_dtree);if(MJ(J),G)CJ(J)},h5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+G0+1)*2]++,J.dyn_dtree[kJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=RJ,m5=b5,_5=h5,c5=f5,d5={_tr_init:p5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:_5,_tr_align:c5},l5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do V=V+Q[G++]|0,q=q+V|0;while(--P);V%=65521,q%=65521}return V|q<<16|0},e6=l5,i5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(i5()),r5=(J,Q,W,G)=>{let V=n5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=r5,R6={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"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a0,_tr_flush_block:a5,_tr_tally:z6,_tr_align:s5}=d5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:t5,Z_FULL_FLUSH:e5,Z_FINISH:a,Z_BLOCK:w8,Z_OK:d,Z_STREAM_END:N8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:J1,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:W1,Z_FILTERED:Q1,Z_HUFFMAN_ONLY:$0,Z_RLE:G1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:q1,Z_UNKNOWN:X1,Z_DEFLATED:O0}=O6,Y1=9,P1=15,U1=8,K1=29,F1=256,s0=F1+1+K1,Z1=30,z1=19,H1=2*s0+1,$1=15,v=3,Z6=258,G6=Z6+v+1,k1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,M6=113,d6=666,i=1,f6=2,L6=3,b6=4,B1=3,C6=(J,Q)=>{return J.msg=R6[Q],Q},S8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},j1=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},M1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=M1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=e6(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},LJ=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[G+P-1],z=Y[G+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,Y[V+P]!==z||Y[V+P-1]!==K||Y[V]!==Y[G]||Y[++V]!==Y[G+1])continue;G+=2,V++;do;while(Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&G<F);if(q=Z6-(F-G),G=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[G+P-1],z=Y[G+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;j1(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=v){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=$6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[V+v-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},IJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,P=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H6||G!==V+J.strm.avail_in))break;if(P=Q===a&&G===V+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===a&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,r(J.strm);return P?L6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=LJ(J,W);if(J.match_length>=v)if(G=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else G=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=LJ(J,W),J.match_length<=5&&(J.strategy===Q1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-v,G=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=z6(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+Z6;do;while(G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&V<q);if(J.match_length=Z6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},R1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V}var l6=[new J6(0,0,0,0,IJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function I1(){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=O0,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=new Uint16Array(H1*2),this.dyn_dtree=new Uint16Array((2*Z1+1)*2),this.bl_tree=new Uint16Array((2*z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var V0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==M6&&Q.status!==d6)return 1;return 0},OJ=(J)=>{if(V0(J))return C6(J,Q6);J.total_in=J.total_out=0,J.data_type=X1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:M6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},xJ=(J)=>{let Q=OJ(J);if(Q===d)L1(J.state);return Q},O1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},DJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===W1)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>Y1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>V1||G===8&&P!==1)return C6(J,Q6);if(G===8)G=9;let X=new I1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,xJ(J)},x1=(J,Q)=>{return DJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>w8||Q<0)return J?C6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return C6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&S8(Q)<=S8(G)&&Q!==a)return C6(J,h0);if(W.status===d6&&J.avail_in!==0)return C6(J,h0);if(W.status===g6&&W.wrap===0)W.status=M6;if(W.status===g6){let V=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=k1;if(V+=31-V%31,c6(W,V),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,B1),W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let V=W.level===0?IJ(W,Q):W.strategy===$0?R1(W,Q):W.strategy===G1?C1(W,Q):l6[W.level].func(W,Q);if(V===L6||V===b6)W.status=d6;if(V===i||V===L6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f6){if(Q===t5)s5(W);else if(Q!==w8){if(a0(W,0,0,!1),Q===e5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return N8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:N8},A1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===M6?C6(J,J1):d},w1=(J,Q)=>{let W=Q.length;if(V0(J))return Q6;let G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==g6||G.lookahead)return Q6;if(V===1)J.adler=e6(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F6(G.head),G.strstart=0,G.block_start=0,G.insert=0;let Z=new Uint8Array(G.w_size);Z.set(Q.subarray(W-G.w_size,W),0),Q=Z,W=G.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(G);while(G.lookahead>=v){let Z=G.strstart,Y=G.lookahead-(v-1);do G.ins_h=$6(G,G.ins_h,G.window[Z+v-1]),G.prev[Z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=Z,Z++;while(--Y);G.strstart=Z,G.lookahead=v-1,E6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=v-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},N1=x1,S1=DJ,T1=xJ,v1=OJ,g1=O1,E1=D1,y1=A1,f1=w1,b1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:S1,deflateReset:T1,deflateResetKeep:v1,deflateSetHeader:g1,deflate:E1,deflateEnd:y1,deflateSetDictionary:f1,deflateInfo:b1},h1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},p1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let G in W)if(h1(W,G))J[G]=W[G]}return J},u1=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;let W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let P=J[G];W.set(P,V),V+=P.length}return W},x0={assign:p1,flattenChunks:u1},AJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){AJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var m1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,G,V,q,P=J.length,X=0;for(V=0;V<P;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},_1=(J,Q)=>{if(Q<65534){if(J.subarray&&AJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},c1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let G,V,q=Array(W*2);for(V=0,G=0;G<W;){let P=J[G++];if(P<128){q[V++]=P;continue}let X=J0[P];if(X>4){q[V++]=65533,G+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&G<W)P=P<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(P<65536)q[V++]=P;else P-=65536,q[V++]=55296|P>>10&1023,q[V++]=56320|P&1023}return _1(q,V)},d1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:m1,buf2string:c1,utf8border:d1};function l1(){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}var wJ=l1,NJ=Object.prototype.toString,{Z_NO_FLUSH:i1,Z_SYNC_FLUSH:n1,Z_FULL_FLUSH:r1,Z_FINISH:o1,Z_OK:L0,Z_STREAM_END:a1,Z_DEFAULT_COMPRESSION:s1,Z_DEFAULT_STRATEGY:t1,Z_DEFLATED:e1}=O6;function q0(J){this.options=x0.assign({level:s1,method:e1,chunkSize:16384,windowBits:15,memLevel:8,strategy:t1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==L0)throw Error(R6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W0.string2buf(Q.dictionary);else if(NJ.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,G),W!==L0)throw Error(R6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?o1:i1;if(typeof J==="string")W.input=W0.string2buf(J);else if(NJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===n1||q===r1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n6.deflate(W,q),V===a1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n6.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===L0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===L0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||R6[W.err];return W.result}function JW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function WW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var QW=q0,GW=P8,VW=JW,qW=WW,XW=O6,YW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},k0=16209,PW=16191,UW=function(Q,W){let G,V,q,P,X,Z,Y,U,k,F,K,z,I,M,j,R,L,$,S,p,C,T,A,x,N=Q.state;G=Q.next_in,A=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=N.dmax,Y=N.wsize,U=N.whave,k=N.wnext,F=N.window,K=N.hold,z=N.bits,I=N.lencode,M=N.distcode,j=(1<<N.lenbits)-1,R=(1<<N.distbits)-1;J:do{if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=I[K&j];W:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$===0)x[q++]=L&65535;else if($&16){if(S=L&65535,$&=15,$){if(z<$)K+=A[G++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=M[K&R];Q:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$&16){if(p=L&65535,$&=15,z<$){if(K+=A[G++]<<z,z+=8,z<$)K+=A[G++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,T=F,k===0){if(C+=Y-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}else if(k<$){if(C+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[C++];while(--$);if(C=0,k<S){$=k,S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}}else if(C+=k-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}while(S>2)x[q++]=T[C++],x[q++]=T[C++],x[q++]=T[C++],S-=3;if(S){if(x[q++]=T[C++],S>1)x[q++]=T[C++]}}else{C=q-p;do x[q++]=x[C++],x[q++]=x[C++],x[q++]=x[C++],S-=3;while(S>2);if(S){if(x[q++]=x[C++],S>1)x[q++]=x[C++]}}}else if(($&64)===0){L=M[(L&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if(($&64)===0){L=I[(L&65535)+(K&(1<<$)-1)];continue W}else if($&32){N.mode=PW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=z>>3,G-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=z;return},T6=15,T8=852,v8=592,g8=0,u0=1,E8=2,KW=new Uint16Array([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]),FW=new Uint8Array([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]),ZW=new Uint16Array([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]),zW=new Uint8Array([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]),HW=(J,Q,W,G,V,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,M=0,j=0,R=0,L,$,S,p,C,T=null,A,x=new Uint16Array(T6+1),N=new Uint16Array(T6+1),V6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;M=1;for(Y=1;Y<=T6;Y++)if(M<<=1,M-=x[Y],M<0)return-1;if(M>0&&(J===g8||F!==1))return-1;N[1]=0;for(Y=1;Y<T6;Y++)N[Y+1]=N[Y]+x[Y];for(U=0;U<G;U++)if(Q[W+U]!==0)P[N[Q[W+U]]++]=U;if(J===g8)T=V6=P,A=20;else if(J===u0)T=KW,V6=FW,A=257;else T=ZW,V6=zW,A=0;if(R=0,U=0,Y=k,C=q,z=K,I=0,S=-1,j=1<<K,p=j-1,J===u0&&j>T8||J===E8&&j>v8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=V6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;L=1<<Y-I,$=1<<z,k=$;do $-=L,V[C+(R>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);L=1<<Y-1;while(R&L)L>>=1;if(L!==0)R&=L-1,R+=L;else R=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(R&p)!==S){if(I===0)I=K;C+=k,z=Y-I,M=1<<z;while(z+I<F){if(M-=x[z+I],M<=0)break;z++,M<<=1}if(j+=1<<z,J===u0&&j>T8||J===E8&&j>v8)return 1;S=R&p,V[S]=K<<24|z<<16|C-q|0}}if(R!==0)V[C+R]=Y-I<<24|4194304|0;return X.bits=K,0},r6=HW,$W=0,SJ=1,TJ=2,{Z_FINISH:y8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:vJ,Z_MEM_ERROR:gJ,Z_BUF_ERROR:MW,Z_DEFLATED:f8}=O6,D0=16180,b8=16181,h8=16182,p8=16183,u8=16184,m8=16185,_8=16186,c8=16187,d8=16188,l8=16189,I0=16190,q6=16191,m0=16192,i8=16193,_0=16194,n8=16195,r8=16196,o8=16197,a8=16198,j0=16199,M0=16200,s8=16201,t8=16202,e8=16203,JJ=16204,WJ=16205,c0=16206,QJ=16207,GJ=16208,h=16209,EJ=16210,yJ=16211,CW=852,RW=592,LW=15,IW=LW,VJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function OW(){this.strm=null,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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>yJ)return 1;return 0},fJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(RW),Q.sane=1,Q.back=-1,I6},bJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,fJ(J)},hJ=(J,Q)=>{let W;if(x6(J))return s;let G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,bJ(J)},pJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=hJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return pJ(J,IW)},qJ=!0,d0,l0,DW=(J)=>{if(qJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(SJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(TJ,J.lens,0,32,l0,0,J.work,{bits:5}),qJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},uJ=(J,Q,W,G)=>{let V,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},AW=(J,Q)=>{let W,G,V,q,P,X,Z,Y,U,k,F,K,z,I,M=0,j,R,L,$,S,p,C,T,A=new Uint8Array(4),x,N,V6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=b8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==f8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,C=(Y&15)+8,W.wbits===0)W.wbits=C;if(C>15||C>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?l8:q6,Y=0,U=0;break;case b8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==f8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=h8;case h8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=p8;case p8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=u8;case u8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=m8;case m8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(C=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=_8;case _8:if(W.flags&2048){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=c8;case c8:if(W.flags&4096){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.comment=null;W.mode=d8;case d8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case l8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=VJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,jW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===kW||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=i8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=r8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case i8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=n8;case n8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;V.set(G.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case r8:while(U<14){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=o8;case o8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[V6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[V6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6($W,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.nlen+W.ndist){for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=j,U-=j,W.lens[W.have++]=L;else{if(L===16){N=j+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=j,U-=j,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}C=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(L===17){N=j+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=j+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=j,U-=j,C=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=C}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(SJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(TJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=M0;case M0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,UW(J,F),P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(M=W.lencode[Y&(1<<W.lenbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=j,S=R,p=L;for(;;){if(M=W.lencode[p+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,W.length=L,R===0){W.mode=WJ;break}if(R&32){W.back=-1,W.mode=q6;break}if(R&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=R&15,W.mode=s8;case s8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=t8;case t8:for(;;){if(M=W.distcode[Y&(1<<W.distbits)-1],j=M>>>24,R=M>>>16&255,L=M&65535,j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=j,S=R,p=L;for(;;){if(M=W.distcode[p+((Y&(1<<$+S)-1)>>$)],j=M>>>24,R=M>>>16&255,L=M&65535,$+j<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=j,U-=j,W.back+=j,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=e8;case e8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=JJ;case JJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do V[P++]=I[z++];while(--K);if(W.length===0)W.mode=M0;break;case WJ:if(Z===0)break J;V[P++]=W.length,Z--,W.mode=M0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=G[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,P-F):e6(W.check,V,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:VJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=QJ;case QJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:T=BW;break J;case h:T=vJ;break J;case EJ:return gJ;case yJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==y8)){if(uJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,J.next_out-F):e6(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===y8)&&T===I6)T=MW;return T},wW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},SW=(J,Q)=>{let W=Q.length,G,V,q;if(x6(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I0)return s;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return vJ}if(q=uJ(J,Q,W,W),q)return G.mode=EJ,gJ;return G.havedict=1,I6},TW=bJ,vW=hJ,gW=fJ,EW=xW,yW=pJ,fW=AW,bW=wW,hW=NW,pW=SW,uW="pako inflate (from Nodeca project)",Y6={inflateReset:TW,inflateReset2:vW,inflateResetKeep:gW,inflateInit:EW,inflateInit2:yW,inflate:fW,inflateEnd:bW,inflateGetHeader:hW,inflateSetDictionary:pW,inflateInfo:uW};function mW(){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}var _W=mW,mJ=Object.prototype.toString,{Z_NO_FLUSH:cW,Z_FINISH:dW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:lW,Z_DATA_ERROR:XJ,Z_MEM_ERROR:iW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new wJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(R6[W]);if(this.header=new _W,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(mJ.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(R6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?dW:cW;if(mJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=Y6.inflate(W,P),q===n0&&V){if(q=Y6.inflateSetDictionary(W,V),q===Q0)q=Y6.inflate(W,P);else if(q===XJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case lW:case XJ:case n0:case iW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=G-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||R6[W.err];return W.result}function nW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var rW=X0,oW=U8,aW=nW,sW=U8,tW=O6,eW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:tW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=YW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:Y7}=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=X7,$7=Y7,k7=O6,D6={Deflate:P7,deflate:U7,deflateRaw:K7,gzip:F7,Inflate:Z7,inflate:z7,inflateRaw:H7,ungzip:$7,constants:k7};function _J(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){let{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function cJ(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){}}return V(),{remove(P){G=G.filter((X)=>X.id!==P),q()},add(P){if(G.push(P),G.length>Q)G.shift();q()},getDelta(P,X){if(!P)return[...G];return G.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((M)=>z=M);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),G=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let j=K.transaction("files","readonly").objectStore("files").get(F);j.onsuccess=()=>z(j.result||new Uint8Array),j.onerror=()=>I(j.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,M)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>M(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let M=await X.get(U);self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let M=new Uint8Array;self.postMessage({type:"loaded",name:U,data:M},[M.buffer]);return}let K=async()=>{try{let M=await F.createSyncAccessHandle();try{let j=M.getSize(),R=new Uint8Array(j),L=M.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{M.close()}}catch(M){if(M?.name==="NoModificationAllowedError"){let j=await F.getFile(),R=new Uint8Array(await j.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw M}};if(V==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(V==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],M=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(M&&M.type)self.postMessage(M)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},dJ=B7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),P=[];while(V.length){let X=V.shift(),Z=W.allNodes[X];if(!Z)continue;if(G(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&V.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),w0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return Y0[G](W,V,{createFilter:w0,allNodes:Q});let q=A0(W.value,G);if(q===void 0)q=A0(W,G);if(typeof V!=="object"||V===null)return Y0.$eq(q,V);return Object.entries(V).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:w0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...G}=Q.query||{},V=w0(G,J),q=Object.values(J).filter(V),X=[...W?(()=>{let Z=w0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function lJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},iJ=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,nJ=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((P,X)=>(G.resolve=P,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=G;G=null;try{P.resolve(await J(...V))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},M7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function R7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){let V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){let V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function rJ(J,Q={}){let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=R7(),z=lJ(),I=cJ(J,F),M=[],j=null,R=[],L=null,$=null,S=null,p=null,C=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(B)=>K.get(B)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(B,w){try{let O=await j7[B](),f=w&&typeof w==="object"?w:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let B=localStorage.getItem(`${J}_time`);j=B?JSON.parse(B):null}function N(B){j=B,localStorage.setItem(`${J}_time`,JSON.stringify(B))}function V6(){try{let B=URL.createObjectURL(new Blob([`(${dJ.toString()})()`],{type:"application/javascript"}));L=new Worker(B),URL.revokeObjectURL(B),L.addEventListener("message",({data:w})=>{return})}catch({message:B}){}}function h6(){let B={...K.nodes};R.forEach((w)=>w(B))}let e=M7(()=>h6()),P6=nJ(async()=>{let B=C.splice(0,C.length);if(!B.length)return!1;return await $.send(B),!0},16);async function Z8(){try{let w=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)L.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")L.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};L.addEventListener("message",b),L.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);w.byteLength>0&&K.deserialize(w)}catch({message:B}){}}async function oJ(){try{let B=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)L.removeEventListener("message",H),_();else if(D.type==="error")L.removeEventListener("message",H),b(Error(D.message||"Save error"))};L.addEventListener("message",H),L.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,B),S.postMessage("update"),!0}catch({message:B}){throw Error("Save failed")}}let P0=nJ(()=>oJ(),k);async function aJ(B){let w=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=_J(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),w=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),w=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),w=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:j}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:j}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(j&&D&&z.compare(j,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),w=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of B)if(b[H.type])await b[H.type](H);if(O&&(!j||z.compare(O,j)>0))N(O);if(w)await P0(),e()}Object.assign(T,{use(B){if(typeof B==="function")M.push(B)},async put(B,w){let O=z.now();N(O),w=w??crypto.randomUUID(),K.upsert(w,B,O),I.add({type:"upsert",id:w,timestamp:O}),P0();try{C.push({type:"upsert",id:w,value:B,timestamp:O}),P6().catch(()=>{})}finally{e()}return w},async link(B,w){let O=z.now();if(!K.nodes[B]||!K.nodes[w])return;K.link(B,w,O),I.add({type:"link",sourceId:B,targetId:w,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:B,targetId:w,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(B){let w=z.now(),O=K.get(B);if(!O)return;delete K.nodes[B],I.add({type:"remove",id:B,timestamp:w}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==B)),P0(),N(w);try{C.push({type:"remove",id:B,value:O.value,timestamp:w}),P6().catch(()=>{})}finally{e()}},async get(B,w=null){if(typeof B!=="string")return{result:null};let O=K.get(B);if(!O){if(w)w(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!w)return{result:f(O)};let _=O.timestamp;w(f(O));let b=(H)=>{let D=H[B];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,w(f(D))}else w(null),R.splice(R.indexOf(b),1)};return R.push(b),{result:f(O),unsubscribe:()=>{let H=R.indexOf(b);if(H>-1)R.splice(H,1)}}},async map(...B){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;B.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],z8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!iJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))z8.push(y.get(m));let N0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>N0(m,"added")),z8.forEach((m)=>N0(m,"removed")),A6.forEach((m)=>N0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!iJ(t,A6))D(u),b=u}},R.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=R.indexOf(H);g>-1&&R.splice(g,1)}}}},async clear(){K.nodes={};try{await(await navigator.storage.getDirectory()).removeEntry(`${J}_graph.msgpack`)}catch({message:B}){}h6()}}),V6(),x(),await C7(),await Z8();let U6=[];if(V)U6.push(A("sm",V));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let sJ=`graph-sync-room-${J}`;if(W){let B=W?.constructor===Object?W:{},w=B.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(w),_={appId:"1234",...G&&{password:G},...B.relayUrls&&{relayUrls:B.relayUrls},...B.turnConfig&&{turnConfig:B.turnConfig},...B.cells&&B.cells!==!0&&{overlay:B.cells}},b=O(_,sJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:j}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of M)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await aJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(B)=>{if(B.data==="update")await Z8(),x(),e()},T}var uQ=rJ;class L7{constructor(){throw Error("⚠️ WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{uQ as gdb,L7 as GDB};
|
|
1
|
+
function $8(J){let Q=J.length,W=0,G=0;while(G<Q){let V=J.charCodeAt(G++);if((V&4294967168)===0){W++;continue}else if((V&4294965248)===0)W+=2;else{if(V>=55296&&V<=56319){if(G<Q){let q=J.charCodeAt(G);if((q&64512)===56320)++G,V=((V&1023)<<10)+(q&1023)+65536}}if((V&4294901760)===0)W+=3;else W+=4}}return W}function tJ(J,Q,W){let G=J.length,V=W,q=0;while(q<G){let P=J.charCodeAt(q++);if((P&4294967168)===0){Q[V++]=P;continue}else if((P&4294965248)===0)Q[V++]=P>>6&31|192;else{if(P>=55296&&P<=56319){if(q<G){let X=J.charCodeAt(q);if((X&64512)===56320)++q,P=((P&1023)<<10)+(X&1023)+65536}}if((P&4294901760)===0)Q[V++]=P>>12&15|224,Q[V++]=P>>6&63|128;else Q[V++]=P>>18&7|240,Q[V++]=P>>12&63|128,Q[V++]=P>>6&63|128}Q[V++]=P&63|128}}var eJ=new TextEncoder,J5=50;function W5(J,Q,W){eJ.encodeInto(J,Q.subarray(W))}function k8(J,Q,W){if(J.length>J5)W5(J,Q,W);else tJ(J,Q,W)}var Q5=4096;function S0(J,Q,W){let G=Q,V=G+W,q=[],P="";while(G<V){let X=J[G++];if((X&128)===0)q.push(X);else if((X&224)===192){let Z=J[G++]&63;q.push((X&31)<<6|Z)}else if((X&240)===224){let Z=J[G++]&63,Y=J[G++]&63;q.push((X&31)<<12|Z<<6|Y)}else if((X&248)===240){let Z=J[G++]&63,Y=J[G++]&63,U=J[G++]&63,k=(X&7)<<18|Z<<12|Y<<6|U;if(k>65535)k-=65536,q.push(k>>>10&1023|55296),k=56320|k&1023;q.push(k)}else q.push(X);if(q.length>=Q5)P+=String.fromCharCode(...q),q.length=0}if(q.length>0)P+=String.fromCharCode(...q);return P}var G5=new TextDecoder,V5=200;function q5(J,Q,W){let G=J.subarray(Q,Q+W);return G5.decode(G)}function B8(J,Q,W){if(W>V5)return q5(J,Q,W);else return S0(J,Q,W)}class w6{constructor(J,Q){this.type=J,this.data=Q}}class l extends Error{constructor(J){super(J);let Q=Object.create(l.prototype);Object.setPrototypeOf(this,Q),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:l.name})}}var N6=4294967295;function j8(J,Q,W){let G=W/4294967296,V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function K0(J,Q,W){let G=Math.floor(W/4294967296),V=W;J.setUint32(Q,G),J.setUint32(Q+4,V)}function F0(J,Q){let W=J.getInt32(Q),G=J.getUint32(Q+4);return W*4294967296+G}function M8(J,Q){let W=J.getUint32(Q),G=J.getUint32(Q+4);return W*4294967296+G}var X5=-1,Y5=4294967295,P5=17179869183;function U5({sec:J,nsec:Q}){if(J>=0&&Q>=0&&J<=P5)if(Q===0&&J<=Y5){let W=new Uint8Array(4);return new DataView(W.buffer).setUint32(0,J),W}else{let W=J/4294967296,G=J&4294967295,V=new Uint8Array(8),q=new DataView(V.buffer);return q.setUint32(0,Q<<2|W&3),q.setUint32(4,G),V}else{let W=new Uint8Array(12),G=new DataView(W.buffer);return G.setUint32(0,Q),K0(G,4,J),W}}function K5(J){let Q=J.getTime(),W=Math.floor(Q/1000),G=(Q-W*1000)*1e6,V=Math.floor(G/1e9);return{sec:W+V,nsec:G-V*1e9}}function F5(J){if(J instanceof Date){let Q=K5(J);return U5(Q)}else return null}function Z5(J){let Q=new DataView(J.buffer,J.byteOffset,J.byteLength);switch(J.byteLength){case 4:{let W=Q.getUint32(0),G=0;return{sec:W,nsec:0}}case 8:{let W=Q.getUint32(0),G=Q.getUint32(4),V=(W&3)*4294967296+G,q=W>>>2;return{sec:V,nsec:q}}case 12:{let W=F0(Q,4),G=Q.getUint32(0);return{sec:W,nsec:G}}default:throw new l(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${J.length}`)}}function z5(J){let Q=Z5(J);return new Date(Q.sec*1000+Q.nsec/1e6)}var C8={type:X5,encode:F5,decode:z5};class k6{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(C8)}register({type:J,encode:Q,decode:W}){if(J>=0)this.encoders[J]=Q,this.decoders[J]=W;else{let G=-1-J;this.builtInEncoders[G]=Q,this.builtInDecoders[G]=W}}tryToEncode(J,Q){for(let W=0;W<this.builtInEncoders.length;W++){let G=this.builtInEncoders[W];if(G!=null){let V=G(J,Q);if(V!=null){let q=-1-W;return new w6(q,V)}}}for(let W=0;W<this.encoders.length;W++){let G=this.encoders[W];if(G!=null){let V=G(J,Q);if(V!=null)return new w6(W,V)}}if(J instanceof w6)return J;return null}decode(J,Q,W){let G=Q<0?this.builtInDecoders[-1-Q]:this.decoders[Q];if(G)return G(J,Q,W);else return new w6(Q,J)}}k6.defaultCodec=new k6;function H5(J){return J instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&J instanceof SharedArrayBuffer}function p6(J){if(J instanceof Uint8Array)return J;else if(ArrayBuffer.isView(J))return new Uint8Array(J.buffer,J.byteOffset,J.byteLength);else if(H5(J))return new Uint8Array(J);else return Uint8Array.from(J)}var $5=100,k5=2048;class Z0{constructor(J){this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.maxDepth=J?.maxDepth??$5,this.initialBufferSize=J?.initialBufferSize??k5,this.sortKeys=J?.sortKeys??!1,this.forceFloat32=J?.forceFloat32??!1,this.ignoreUndefined=J?.ignoreUndefined??!1,this.forceIntegerToFloat=J?.forceIntegerToFloat??!1,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}clone(){return new Z0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,maxDepth:this.maxDepth,initialBufferSize:this.initialBufferSize,sortKeys:this.sortKeys,forceFloat32:this.forceFloat32,ignoreUndefined:this.ignoreUndefined,forceIntegerToFloat:this.forceIntegerToFloat})}reinitializeState(){this.pos=0}encodeSharedRef(J){if(this.entered)return this.clone().encodeSharedRef(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.subarray(0,this.pos)}finally{this.entered=!1}}encode(J){if(this.entered)return this.clone().encode(J);try{return this.entered=!0,this.reinitializeState(),this.doEncode(J,1),this.bytes.slice(0,this.pos)}finally{this.entered=!1}}doEncode(J,Q){if(Q>this.maxDepth)throw Error(`Too deep objects in depth ${Q}`);if(J==null)this.encodeNil();else if(typeof J==="boolean")this.encodeBoolean(J);else if(typeof J==="number")if(!this.forceIntegerToFloat)this.encodeNumber(J);else this.encodeNumberAsFloat(J);else if(typeof J==="string")this.encodeString(J);else if(this.useBigInt64&&typeof J==="bigint")this.encodeBigInt64(J);else this.encodeObject(J,Q)}ensureBufferSizeToWrite(J){let Q=this.pos+J;if(this.view.byteLength<Q)this.resizeBuffer(Q*2)}resizeBuffer(J){let Q=new ArrayBuffer(J),W=new Uint8Array(Q),G=new DataView(Q);W.set(this.bytes),this.view=G,this.bytes=W}encodeNil(){this.writeU8(192)}encodeBoolean(J){if(J===!1)this.writeU8(194);else this.writeU8(195)}encodeNumber(J){if(!this.forceIntegerToFloat&&Number.isSafeInteger(J))if(J>=0)if(J<128)this.writeU8(J);else if(J<256)this.writeU8(204),this.writeU8(J);else if(J<65536)this.writeU8(205),this.writeU16(J);else if(J<4294967296)this.writeU8(206),this.writeU32(J);else if(!this.useBigInt64)this.writeU8(207),this.writeU64(J);else this.encodeNumberAsFloat(J);else if(J>=-32)this.writeU8(224|J+32);else if(J>=-128)this.writeU8(208),this.writeI8(J);else if(J>=-32768)this.writeU8(209),this.writeI16(J);else if(J>=-2147483648)this.writeU8(210),this.writeI32(J);else if(!this.useBigInt64)this.writeU8(211),this.writeI64(J);else this.encodeNumberAsFloat(J);else this.encodeNumberAsFloat(J)}encodeNumberAsFloat(J){if(this.forceFloat32)this.writeU8(202),this.writeF32(J);else this.writeU8(203),this.writeF64(J)}encodeBigInt64(J){if(J>=BigInt(0))this.writeU8(207),this.writeBigUint64(J);else this.writeU8(211),this.writeBigInt64(J)}writeStringHeader(J){if(J<32)this.writeU8(160+J);else if(J<256)this.writeU8(217),this.writeU8(J);else if(J<65536)this.writeU8(218),this.writeU16(J);else if(J<4294967296)this.writeU8(219),this.writeU32(J);else throw Error(`Too long string: ${J} bytes in UTF-8`)}encodeString(J){let W=$8(J);this.ensureBufferSizeToWrite(5+W),this.writeStringHeader(W),k8(J,this.bytes,this.pos),this.pos+=W}encodeObject(J,Q){let W=this.extensionCodec.tryToEncode(J,this.context);if(W!=null)this.encodeExtension(W);else if(Array.isArray(J))this.encodeArray(J,Q);else if(ArrayBuffer.isView(J))this.encodeBinary(J);else if(typeof J==="object")this.encodeMap(J,Q);else throw Error(`Unrecognized object: ${Object.prototype.toString.apply(J)}`)}encodeBinary(J){let Q=J.byteLength;if(Q<256)this.writeU8(196),this.writeU8(Q);else if(Q<65536)this.writeU8(197),this.writeU16(Q);else if(Q<4294967296)this.writeU8(198),this.writeU32(Q);else throw Error(`Too large binary: ${Q}`);let W=p6(J);this.writeU8a(W)}encodeArray(J,Q){let W=J.length;if(W<16)this.writeU8(144+W);else if(W<65536)this.writeU8(220),this.writeU16(W);else if(W<4294967296)this.writeU8(221),this.writeU32(W);else throw Error(`Too large array: ${W}`);for(let G of J)this.doEncode(G,Q+1)}countWithoutUndefined(J,Q){let W=0;for(let G of Q)if(J[G]!==void 0)W++;return W}encodeMap(J,Q){let W=Object.keys(J);if(this.sortKeys)W.sort();let G=this.ignoreUndefined?this.countWithoutUndefined(J,W):W.length;if(G<16)this.writeU8(128+G);else if(G<65536)this.writeU8(222),this.writeU16(G);else if(G<4294967296)this.writeU8(223),this.writeU32(G);else throw Error(`Too large map object: ${G}`);for(let V of W){let q=J[V];if(!(this.ignoreUndefined&&q===void 0))this.encodeString(V),this.doEncode(q,Q+1)}}encodeExtension(J){if(typeof J.data==="function"){let W=J.data(this.pos+6),G=W.length;if(G>=4294967296)throw Error(`Too large extension object: ${G}`);this.writeU8(201),this.writeU32(G),this.writeI8(J.type),this.writeU8a(W);return}let Q=J.data.length;if(Q===1)this.writeU8(212);else if(Q===2)this.writeU8(213);else if(Q===4)this.writeU8(214);else if(Q===8)this.writeU8(215);else if(Q===16)this.writeU8(216);else if(Q<256)this.writeU8(199),this.writeU8(Q);else if(Q<65536)this.writeU8(200),this.writeU16(Q);else if(Q<4294967296)this.writeU8(201),this.writeU32(Q);else throw Error(`Too large extension object: ${Q}`);this.writeI8(J.type),this.writeU8a(J.data)}writeU8(J){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,J),this.pos++}writeU8a(J){let Q=J.length;this.ensureBufferSizeToWrite(Q),this.bytes.set(J,this.pos),this.pos+=Q}writeI8(J){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,J),this.pos++}writeU16(J){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,J),this.pos+=2}writeI16(J){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,J),this.pos+=2}writeU32(J){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,J),this.pos+=4}writeI32(J){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,J),this.pos+=4}writeF32(J){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,J),this.pos+=4}writeF64(J){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,J),this.pos+=8}writeU64(J){this.ensureBufferSizeToWrite(8),j8(this.view,this.pos,J),this.pos+=8}writeI64(J){this.ensureBufferSizeToWrite(8),K0(this.view,this.pos,J),this.pos+=8}writeBigUint64(J){this.ensureBufferSizeToWrite(8),this.view.setBigUint64(this.pos,J),this.pos+=8}writeBigInt64(J){this.ensureBufferSizeToWrite(8),this.view.setBigInt64(this.pos,J),this.pos+=8}}function u6(J,Q){return new Z0(Q).encodeSharedRef(J)}function z0(J){return`${J<0?"-":""}0x${Math.abs(J).toString(16).padStart(2,"0")}`}var B5=16,j5=16;class T0{constructor(J=B5,Q=j5){this.hit=0,this.miss=0,this.maxKeyLength=J,this.maxLengthPerKey=Q,this.caches=[];for(let W=0;W<this.maxKeyLength;W++)this.caches.push([])}canBeCached(J){return J>0&&J<=this.maxKeyLength}find(J,Q,W){let G=this.caches[W-1];J:for(let V of G){let q=V.bytes;for(let P=0;P<W;P++)if(q[P]!==J[Q+P])continue J;return V.str}return null}store(J,Q){let W=this.caches[J.length-1],G={bytes:J,str:Q};if(W.length>=this.maxLengthPerKey)W[Math.random()*W.length|0]=G;else W.push(G)}decode(J,Q,W){let G=this.find(J,Q,W);if(G!=null)return this.hit++,G;this.miss++;let V=S0(J,Q,W),q=Uint8Array.prototype.slice.call(J,Q,Q+W);return this.store(q,V),V}}var v0="array",_6="map_key",L8="map_value",M5=(J)=>{if(typeof J==="string"||typeof J==="number")return J;throw new l("The type of key must be string or number but "+typeof J)};class I8{constructor(){this.stack=[],this.stackHeadPosition=-1}get length(){return this.stackHeadPosition+1}top(){return this.stack[this.stackHeadPosition]}pushArrayState(J){let Q=this.getUninitializedStateFromPool();Q.type=v0,Q.position=0,Q.size=J,Q.array=Array(J)}pushMapState(J){let Q=this.getUninitializedStateFromPool();Q.type=_6,Q.readCount=0,Q.size=J,Q.map={}}getUninitializedStateFromPool(){if(this.stackHeadPosition++,this.stackHeadPosition===this.stack.length){let J={type:void 0,size:0,array:void 0,position:0,readCount:0,map:void 0,key:null};this.stack.push(J)}return this.stack[this.stackHeadPosition]}release(J){if(this.stack[this.stackHeadPosition]!==J)throw Error("Invalid stack state. Released state is not on top of the stack.");if(J.type===v0){let W=J;W.size=0,W.array=void 0,W.position=0,W.type=void 0}if(J.type===_6||J.type===L8){let W=J;W.size=0,W.map=void 0,W.readCount=0,W.type=void 0}this.stackHeadPosition--}reset(){this.stack.length=0,this.stackHeadPosition=-1}}var m6=-1,g0=new DataView(new ArrayBuffer(0)),C5=new Uint8Array(g0.buffer);try{g0.getInt8(0)}catch(J){if(!(J instanceof RangeError))throw Error("This module is not supported in the current JavaScript engine because DataView does not throw RangeError on out-of-bounds access")}var R8=RangeError("Insufficient data"),R5=new T0;class H0{constructor(J){this.totalPos=0,this.pos=0,this.view=g0,this.bytes=C5,this.headByte=m6,this.stack=new I8,this.entered=!1,this.extensionCodec=J?.extensionCodec??k6.defaultCodec,this.context=J?.context,this.useBigInt64=J?.useBigInt64??!1,this.rawStrings=J?.rawStrings??!1,this.maxStrLength=J?.maxStrLength??N6,this.maxBinLength=J?.maxBinLength??N6,this.maxArrayLength=J?.maxArrayLength??N6,this.maxMapLength=J?.maxMapLength??N6,this.maxExtLength=J?.maxExtLength??N6,this.keyDecoder=J?.keyDecoder!==void 0?J.keyDecoder:R5,this.mapKeyConverter=J?.mapKeyConverter??M5}clone(){return new H0({extensionCodec:this.extensionCodec,context:this.context,useBigInt64:this.useBigInt64,rawStrings:this.rawStrings,maxStrLength:this.maxStrLength,maxBinLength:this.maxBinLength,maxArrayLength:this.maxArrayLength,maxMapLength:this.maxMapLength,maxExtLength:this.maxExtLength,keyDecoder:this.keyDecoder})}reinitializeState(){this.totalPos=0,this.headByte=m6,this.stack.reset()}setBuffer(J){let Q=p6(J);this.bytes=Q,this.view=new DataView(Q.buffer,Q.byteOffset,Q.byteLength),this.pos=0}appendBuffer(J){if(this.headByte===m6&&!this.hasRemaining(1))this.setBuffer(J);else{let Q=this.bytes.subarray(this.pos),W=p6(J),G=new Uint8Array(Q.length+W.length);G.set(Q),G.set(W,Q.length),this.setBuffer(G)}}hasRemaining(J){return this.view.byteLength-this.pos>=J}createExtraByteError(J){let{view:Q,pos:W}=this;return RangeError(`Extra ${Q.byteLength-W} of ${Q.byteLength} byte(s) found at buffer[${J}]`)}decode(J){if(this.entered)return this.clone().decode(J);try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);let Q=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return Q}finally{this.entered=!1}}*decodeMulti(J){if(this.entered){yield*this.clone().decodeMulti(J);return}try{this.entered=!0,this.reinitializeState(),this.setBuffer(J);while(this.hasRemaining(1))yield this.doDecodeSync()}finally{this.entered=!1}}async decodeAsync(J){if(this.entered)return this.clone().decodeAsync(J);try{this.entered=!0;let Q=!1,W;for await(let P of J){if(Q)throw this.entered=!1,this.createExtraByteError(this.totalPos);this.appendBuffer(P);try{W=this.doDecodeSync(),Q=!0}catch(X){if(!(X instanceof RangeError))throw X}this.totalPos+=this.pos}if(Q){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return W}let{headByte:G,pos:V,totalPos:q}=this;throw RangeError(`Insufficient data in parsing ${z0(G)} at ${q} (${V} in the current buffer)`)}finally{this.entered=!1}}decodeArrayStream(J){return this.decodeMultiAsync(J,!0)}decodeStream(J){return this.decodeMultiAsync(J,!1)}async*decodeMultiAsync(J,Q){if(this.entered){yield*this.clone().decodeMultiAsync(J,Q);return}try{this.entered=!0;let W=Q,G=-1;for await(let V of J){if(Q&&G===0)throw this.createExtraByteError(this.totalPos);if(this.appendBuffer(V),W)G=this.readArraySize(),W=!1,this.complete();try{while(!0)if(yield this.doDecodeSync(),--G===0)break}catch(q){if(!(q instanceof RangeError))throw q}this.totalPos+=this.pos}}finally{this.entered=!1}}doDecodeSync(){J:while(!0){let J=this.readHeadByte(),Q;if(J>=224)Q=J-256;else if(J<192)if(J<128)Q=J;else if(J<144){let G=J-128;if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J<160){let G=J-144;if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else{let G=J-160;Q=this.decodeString(G,0)}else if(J===192)Q=null;else if(J===194)Q=!1;else if(J===195)Q=!0;else if(J===202)Q=this.readF32();else if(J===203)Q=this.readF64();else if(J===204)Q=this.readU8();else if(J===205)Q=this.readU16();else if(J===206)Q=this.readU32();else if(J===207)if(this.useBigInt64)Q=this.readU64AsBigInt();else Q=this.readU64();else if(J===208)Q=this.readI8();else if(J===209)Q=this.readI16();else if(J===210)Q=this.readI32();else if(J===211)if(this.useBigInt64)Q=this.readI64AsBigInt();else Q=this.readI64();else if(J===217){let G=this.lookU8();Q=this.decodeString(G,1)}else if(J===218){let G=this.lookU16();Q=this.decodeString(G,2)}else if(J===219){let G=this.lookU32();Q=this.decodeString(G,4)}else if(J===220){let G=this.readU16();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===221){let G=this.readU32();if(G!==0){this.pushArrayState(G),this.complete();continue J}else Q=[]}else if(J===222){let G=this.readU16();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===223){let G=this.readU32();if(G!==0){this.pushMapState(G),this.complete();continue J}else Q={}}else if(J===196){let G=this.lookU8();Q=this.decodeBinary(G,1)}else if(J===197){let G=this.lookU16();Q=this.decodeBinary(G,2)}else if(J===198){let G=this.lookU32();Q=this.decodeBinary(G,4)}else if(J===212)Q=this.decodeExtension(1,0);else if(J===213)Q=this.decodeExtension(2,0);else if(J===214)Q=this.decodeExtension(4,0);else if(J===215)Q=this.decodeExtension(8,0);else if(J===216)Q=this.decodeExtension(16,0);else if(J===199){let G=this.lookU8();Q=this.decodeExtension(G,1)}else if(J===200){let G=this.lookU16();Q=this.decodeExtension(G,2)}else if(J===201){let G=this.lookU32();Q=this.decodeExtension(G,4)}else throw new l(`Unrecognized type byte: ${z0(J)}`);this.complete();let W=this.stack;while(W.length>0){let G=W.top();if(G.type===v0)if(G.array[G.position]=Q,G.position++,G.position===G.size)Q=G.array,W.release(G);else continue J;else if(G.type===_6){if(Q==="__proto__")throw new l("The key __proto__ is not allowed");G.key=this.mapKeyConverter(Q),G.type=L8;continue J}else if(G.map[G.key]=Q,G.readCount++,G.readCount===G.size)Q=G.map,W.release(G);else{G.key=null,G.type=_6;continue J}}return Q}}readHeadByte(){if(this.headByte===m6)this.headByte=this.readU8();return this.headByte}complete(){this.headByte=m6}readArraySize(){let J=this.readHeadByte();switch(J){case 220:return this.readU16();case 221:return this.readU32();default:if(J<160)return J-144;else throw new l(`Unrecognized array type byte: ${z0(J)}`)}}pushMapState(J){if(J>this.maxMapLength)throw new l(`Max length exceeded: map length (${J}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.pushMapState(J)}pushArrayState(J){if(J>this.maxArrayLength)throw new l(`Max length exceeded: array length (${J}) > maxArrayLength (${this.maxArrayLength})`);this.stack.pushArrayState(J)}decodeString(J,Q){if(!this.rawStrings||this.stateIsMapKey())return this.decodeUtf8String(J,Q);return this.decodeBinary(J,Q)}decodeUtf8String(J,Q){if(J>this.maxStrLength)throw new l(`Max length exceeded: UTF-8 byte length (${J}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+Q+J)throw R8;let W=this.pos+Q,G;if(this.stateIsMapKey()&&this.keyDecoder?.canBeCached(J))G=this.keyDecoder.decode(this.bytes,W,J);else G=B8(this.bytes,W,J);return this.pos+=Q+J,G}stateIsMapKey(){if(this.stack.length>0)return this.stack.top().type===_6;return!1}decodeBinary(J,Q){if(J>this.maxBinLength)throw new l(`Max length exceeded: bin length (${J}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(J+Q))throw R8;let W=this.pos+Q,G=this.bytes.subarray(W,W+J);return this.pos+=Q+J,G}decodeExtension(J,Q){if(J>this.maxExtLength)throw new l(`Max length exceeded: ext length (${J}) > maxExtLength (${this.maxExtLength})`);let W=this.view.getInt8(this.pos+Q),G=this.decodeBinary(J,Q+1);return this.extensionCodec.decode(G,W,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let J=this.view.getUint8(this.pos);return this.pos++,J}readI8(){let J=this.view.getInt8(this.pos);return this.pos++,J}readU16(){let J=this.view.getUint16(this.pos);return this.pos+=2,J}readI16(){let J=this.view.getInt16(this.pos);return this.pos+=2,J}readU32(){let J=this.view.getUint32(this.pos);return this.pos+=4,J}readI32(){let J=this.view.getInt32(this.pos);return this.pos+=4,J}readU64(){let J=M8(this.view,this.pos);return this.pos+=8,J}readI64(){let J=F0(this.view,this.pos);return this.pos+=8,J}readU64AsBigInt(){let J=this.view.getBigUint64(this.pos);return this.pos+=8,J}readI64AsBigInt(){let J=this.view.getBigInt64(this.pos);return this.pos+=8,J}readF32(){let J=this.view.getFloat32(this.pos);return this.pos+=4,J}readF64(){let J=this.view.getFloat64(this.pos);return this.pos+=8,J}}function B6(J,Q){return new H0(Q).decode(J)}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function y6(J){let Q=J.length;while(--Q>=0)J[Q]=0}var L5=0,PJ=1,I5=2,O5=3,x5=258,G8=29,G0=256,o6=G0+1+G8,v6=30,V8=19,UJ=2*o6+1,j6=15,E0=16,D5=7,q8=256,KJ=16,FJ=17,ZJ=18,r0=new Uint8Array([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]),C0=new Uint8Array([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]),A5=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),zJ=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),w5=512,X6=Array((o6+2)*2);y6(X6);var i6=Array(v6*2);y6(i6);var a6=Array(w5);y6(a6);var s6=Array(x5-O5+1);y6(s6);var X8=Array(G8);y6(X8);var R0=Array(v6);y6(R0);function y0(J,Q,W,G,V){this.static_tree=J,this.extra_bits=Q,this.extra_base=W,this.elems=G,this.max_length=V,this.has_stree=J&&J.length}var HJ,$J,kJ;function f0(J,Q){this.dyn_tree=J,this.max_code=0,this.stat_desc=Q}var BJ=(J)=>{return J<256?a6[J]:a6[256+(J>>>7)]},t6=(J,Q)=>{J.pending_buf[J.pending++]=Q&255,J.pending_buf[J.pending++]=Q>>>8&255},n=(J,Q,W)=>{if(J.bi_valid>E0-W)J.bi_buf|=Q<<J.bi_valid&65535,t6(J,J.bi_buf),J.bi_buf=Q>>E0-J.bi_valid,J.bi_valid+=W-E0;else J.bi_buf|=Q<<J.bi_valid&65535,J.bi_valid+=W},W6=(J,Q,W)=>{n(J,W[Q*2],W[Q*2+1])},jJ=(J,Q)=>{let W=0;do W|=J&1,J>>>=1,W<<=1;while(--Q>0);return W>>>1},N5=(J)=>{if(J.bi_valid===16)t6(J,J.bi_buf),J.bi_buf=0,J.bi_valid=0;else if(J.bi_valid>=8)J.pending_buf[J.pending++]=J.bi_buf&255,J.bi_buf>>=8,J.bi_valid-=8},S5=(J,Q)=>{let{dyn_tree:W,max_code:G}=Q,V=Q.stat_desc.static_tree,q=Q.stat_desc.has_stree,P=Q.stat_desc.extra_bits,X=Q.stat_desc.extra_base,Z=Q.stat_desc.max_length,Y,U,k,F,K,z,I=0;for(F=0;F<=j6;F++)J.bl_count[F]=0;W[J.heap[J.heap_max]*2+1]=0;for(Y=J.heap_max+1;Y<UJ;Y++){if(U=J.heap[Y],F=W[W[U*2+1]*2+1]+1,F>Z)F=Z,I++;if(W[U*2+1]=F,U>G)continue;if(J.bl_count[F]++,K=0,U>=X)K=P[U-X];if(z=W[U*2],J.opt_len+=z*(F+K),q)J.static_len+=z*(V[U*2+1]+K)}if(I===0)return;do{F=Z-1;while(J.bl_count[F]===0)F--;J.bl_count[F]--,J.bl_count[F+1]+=2,J.bl_count[Z]--,I-=2}while(I>0);for(F=Z;F!==0;F--){U=J.bl_count[F];while(U!==0){if(k=J.heap[--Y],k>G)continue;if(W[k*2+1]!==F)J.opt_len+=(F-W[k*2+1])*W[k*2],W[k*2+1]=F;U--}}},MJ=(J,Q,W)=>{let G=Array(j6+1),V=0,q,P;for(q=1;q<=j6;q++)V=V+W[q-1]<<1,G[q]=V;for(P=0;P<=Q;P++){let X=J[P*2+1];if(X===0)continue;J[P*2]=jJ(G[X]++,X)}},T5=()=>{let J,Q,W,G,V,q=Array(j6+1);W=0;for(G=0;G<G8-1;G++){X8[G]=W;for(J=0;J<1<<r0[G];J++)s6[W++]=G}s6[W-1]=G,V=0;for(G=0;G<16;G++){R0[G]=V;for(J=0;J<1<<C0[G];J++)a6[V++]=G}V>>=7;for(;G<v6;G++){R0[G]=V<<7;for(J=0;J<1<<C0[G]-7;J++)a6[256+V++]=G}for(Q=0;Q<=j6;Q++)q[Q]=0;J=0;while(J<=143)X6[J*2+1]=8,J++,q[8]++;while(J<=255)X6[J*2+1]=9,J++,q[9]++;while(J<=279)X6[J*2+1]=7,J++,q[7]++;while(J<=287)X6[J*2+1]=8,J++,q[8]++;MJ(X6,o6+1,q);for(J=0;J<v6;J++)i6[J*2+1]=5,i6[J*2]=jJ(J,5);HJ=new y0(X6,r0,G0+1,o6,j6),$J=new y0(i6,C0,0,v6,j6),kJ=new y0([],A5,0,V8,D5)},CJ=(J)=>{let Q;for(Q=0;Q<o6;Q++)J.dyn_ltree[Q*2]=0;for(Q=0;Q<v6;Q++)J.dyn_dtree[Q*2]=0;for(Q=0;Q<V8;Q++)J.bl_tree[Q*2]=0;J.dyn_ltree[q8*2]=1,J.opt_len=J.static_len=0,J.sym_next=J.matches=0},RJ=(J)=>{if(J.bi_valid>8)t6(J,J.bi_buf);else if(J.bi_valid>0)J.pending_buf[J.pending++]=J.bi_buf;J.bi_buf=0,J.bi_valid=0},O8=(J,Q,W,G)=>{let V=Q*2,q=W*2;return J[V]<J[q]||J[V]===J[q]&&G[Q]<=G[W]},b0=(J,Q,W)=>{let G=J.heap[W],V=W<<1;while(V<=J.heap_len){if(V<J.heap_len&&O8(Q,J.heap[V+1],J.heap[V],J.depth))V++;if(O8(Q,G,J.heap[V],J.depth))break;J.heap[W]=J.heap[V],W=V,V<<=1}J.heap[W]=G},x8=(J,Q,W)=>{let G,V,q=0,P,X;if(J.sym_next!==0)do if(G=J.pending_buf[J.sym_buf+q++]&255,G+=(J.pending_buf[J.sym_buf+q++]&255)<<8,V=J.pending_buf[J.sym_buf+q++],G===0)W6(J,V,Q);else{if(P=s6[V],W6(J,P+G0+1,Q),X=r0[P],X!==0)V-=X8[P],n(J,V,X);if(G--,P=BJ(G),W6(J,P,W),X=C0[P],X!==0)G-=R0[P],n(J,G,X)}while(q<J.sym_next);W6(J,q8,Q)},o0=(J,Q)=>{let W=Q.dyn_tree,G=Q.stat_desc.static_tree,V=Q.stat_desc.has_stree,q=Q.stat_desc.elems,P,X,Z=-1,Y;J.heap_len=0,J.heap_max=UJ;for(P=0;P<q;P++)if(W[P*2]!==0)J.heap[++J.heap_len]=Z=P,J.depth[P]=0;else W[P*2+1]=0;while(J.heap_len<2)if(Y=J.heap[++J.heap_len]=Z<2?++Z:0,W[Y*2]=1,J.depth[Y]=0,J.opt_len--,V)J.static_len-=G[Y*2+1];Q.max_code=Z;for(P=J.heap_len>>1;P>=1;P--)b0(J,W,P);Y=q;do P=J.heap[1],J.heap[1]=J.heap[J.heap_len--],b0(J,W,1),X=J.heap[1],J.heap[--J.heap_max]=P,J.heap[--J.heap_max]=X,W[Y*2]=W[P*2]+W[X*2],J.depth[Y]=(J.depth[P]>=J.depth[X]?J.depth[P]:J.depth[X])+1,W[P*2+1]=W[X*2+1]=Y,J.heap[1]=Y++,b0(J,W,1);while(J.heap_len>=2);J.heap[--J.heap_max]=J.heap[1],S5(J,Q),MJ(W,Z,J.bl_count)},D8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;Q[(W+1)*2+1]=65535;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)J.bl_tree[q*2]+=X;else if(q!==0){if(q!==V)J.bl_tree[q*2]++;J.bl_tree[KJ*2]++}else if(X<=10)J.bl_tree[FJ*2]++;else J.bl_tree[ZJ*2]++;if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},A8=(J,Q,W)=>{let G,V=-1,q,P=Q[1],X=0,Z=7,Y=4;if(P===0)Z=138,Y=3;for(G=0;G<=W;G++){if(q=P,P=Q[(G+1)*2+1],++X<Z&&q===P)continue;else if(X<Y)do W6(J,q,J.bl_tree);while(--X!==0);else if(q!==0){if(q!==V)W6(J,q,J.bl_tree),X--;W6(J,KJ,J.bl_tree),n(J,X-3,2)}else if(X<=10)W6(J,FJ,J.bl_tree),n(J,X-3,3);else W6(J,ZJ,J.bl_tree),n(J,X-11,7);if(X=0,V=q,P===0)Z=138,Y=3;else if(q===P)Z=6,Y=3;else Z=7,Y=4}},v5=(J)=>{let Q;D8(J,J.dyn_ltree,J.l_desc.max_code),D8(J,J.dyn_dtree,J.d_desc.max_code),o0(J,J.bl_desc);for(Q=V8-1;Q>=3;Q--)if(J.bl_tree[zJ[Q]*2+1]!==0)break;return J.opt_len+=3*(Q+1)+5+5+4,Q},g5=(J,Q,W,G)=>{let V;n(J,Q-257,5),n(J,W-1,5),n(J,G-4,4);for(V=0;V<G;V++)n(J,J.bl_tree[zJ[V]*2+1],3);A8(J,J.dyn_ltree,Q-1),A8(J,J.dyn_dtree,W-1)},E5=(J)=>{let Q=4093624447,W;for(W=0;W<=31;W++,Q>>>=1)if(Q&1&&J.dyn_ltree[W*2]!==0)return 0;if(J.dyn_ltree[18]!==0||J.dyn_ltree[20]!==0||J.dyn_ltree[26]!==0)return 1;for(W=32;W<G0;W++)if(J.dyn_ltree[W*2]!==0)return 1;return 0},w8=!1,y5=(J)=>{if(!w8)T5(),w8=!0;J.l_desc=new f0(J.dyn_ltree,HJ),J.d_desc=new f0(J.dyn_dtree,$J),J.bl_desc=new f0(J.bl_tree,kJ),J.bi_buf=0,J.bi_valid=0,CJ(J)},LJ=(J,Q,W,G)=>{if(n(J,(L5<<1)+(G?1:0),3),RJ(J),t6(J,W),t6(J,~W),W)J.pending_buf.set(J.window.subarray(Q,Q+W),J.pending);J.pending+=W},f5=(J)=>{n(J,PJ<<1,3),W6(J,q8,X6),N5(J)},b5=(J,Q,W,G)=>{let V,q,P=0;if(J.level>0){if(J.strm.data_type===2)J.strm.data_type=E5(J);if(o0(J,J.l_desc),o0(J,J.d_desc),P=v5(J),V=J.opt_len+3+7>>>3,q=J.static_len+3+7>>>3,q<=V)V=q}else V=q=W+5;if(W+4<=V&&Q!==-1)LJ(J,Q,W,G);else if(J.strategy===4||q===V)n(J,(PJ<<1)+(G?1:0),3),x8(J,X6,i6);else n(J,(I5<<1)+(G?1:0),3),g5(J,J.l_desc.max_code+1,J.d_desc.max_code+1,P+1),x8(J,J.dyn_ltree,J.dyn_dtree);if(CJ(J),G)RJ(J)},h5=(J,Q,W)=>{if(J.pending_buf[J.sym_buf+J.sym_next++]=Q,J.pending_buf[J.sym_buf+J.sym_next++]=Q>>8,J.pending_buf[J.sym_buf+J.sym_next++]=W,Q===0)J.dyn_ltree[W*2]++;else J.matches++,Q--,J.dyn_ltree[(s6[W]+G0+1)*2]++,J.dyn_dtree[BJ(Q)*2]++;return J.sym_next===J.sym_end},p5=y5,u5=LJ,m5=b5,_5=h5,c5=f5,d5={_tr_init:p5,_tr_stored_block:u5,_tr_flush_block:m5,_tr_tally:_5,_tr_align:c5},l5=(J,Q,W,G)=>{let V=J&65535|0,q=J>>>16&65535|0,P=0;while(W!==0){P=W>2000?2000:W,W-=P;do V=V+Q[G++]|0,q=q+V|0;while(--P);V%=65521,q%=65521}return V|q<<16|0},e6=l5,i5=()=>{let J,Q=[];for(var W=0;W<256;W++){J=W;for(var G=0;G<8;G++)J=J&1?3988292384^J>>>1:J>>>1;Q[W]=J}return Q},n5=new Uint32Array(i5()),r5=(J,Q,W,G)=>{let V=n5,q=G+W;J^=-1;for(let P=G;P<q;P++)J=J>>>8^V[(J^Q[P])&255];return J^-1},c=r5,R6={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"},O6={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:o5,_tr_stored_block:a0,_tr_flush_block:a5,_tr_tally:z6,_tr_align:s5}=d5,{Z_NO_FLUSH:H6,Z_PARTIAL_FLUSH:t5,Z_FULL_FLUSH:e5,Z_FINISH:a,Z_BLOCK:N8,Z_OK:d,Z_STREAM_END:S8,Z_STREAM_ERROR:Q6,Z_DATA_ERROR:J1,Z_BUF_ERROR:h0,Z_DEFAULT_COMPRESSION:W1,Z_FILTERED:Q1,Z_HUFFMAN_ONLY:$0,Z_RLE:G1,Z_FIXED:V1,Z_DEFAULT_STRATEGY:q1,Z_UNKNOWN:X1,Z_DEFLATED:O0}=O6,Y1=9,P1=15,U1=8,K1=29,F1=256,s0=F1+1+K1,Z1=30,z1=19,H1=2*s0+1,$1=15,v=3,Z6=258,G6=Z6+v+1,k1=32,g6=42,Y8=57,t0=69,e0=73,J8=91,W8=103,M6=113,d6=666,i=1,f6=2,L6=3,b6=4,B1=3,C6=(J,Q)=>{return J.msg=R6[Q],Q},T8=(J)=>{return J*2-(J>4?9:0)},F6=(J)=>{let Q=J.length;while(--Q>=0)J[Q]=0},j1=(J)=>{let Q,W,G,V=J.w_size;Q=J.hash_size,G=Q;do W=J.head[--G],J.head[G]=W>=V?W-V:0;while(--Q);Q=V,G=Q;do W=J.prev[--G],J.prev[G]=W>=V?W-V:0;while(--Q)},M1=(J,Q,W)=>(Q<<J.hash_shift^W)&J.hash_mask,$6=M1,r=(J)=>{let Q=J.state,W=Q.pending;if(W>J.avail_out)W=J.avail_out;if(W===0)return;if(J.output.set(Q.pending_buf.subarray(Q.pending_out,Q.pending_out+W),J.next_out),J.next_out+=W,Q.pending_out+=W,J.total_out+=W,J.avail_out-=W,Q.pending-=W,Q.pending===0)Q.pending_out=0},o=(J,Q)=>{a5(J,J.block_start>=0?J.block_start:-1,J.strstart-J.block_start,Q),J.block_start=J.strstart,r(J.strm)},E=(J,Q)=>{J.pending_buf[J.pending++]=Q},c6=(J,Q)=>{J.pending_buf[J.pending++]=Q>>>8&255,J.pending_buf[J.pending++]=Q&255},Q8=(J,Q,W,G)=>{let V=J.avail_in;if(V>G)V=G;if(V===0)return 0;if(J.avail_in-=V,Q.set(J.input.subarray(J.next_in,J.next_in+V),W),J.state.wrap===1)J.adler=e6(J.adler,Q,V,W);else if(J.state.wrap===2)J.adler=c(J.adler,Q,V,W);return J.next_in+=V,J.total_in+=V,V},IJ=(J,Q)=>{let{max_chain_length:W,strstart:G}=J,V,q,P=J.prev_length,X=J.nice_match,Z=J.strstart>J.w_size-G6?J.strstart-(J.w_size-G6):0,Y=J.window,U=J.w_mask,k=J.prev,F=J.strstart+Z6,K=Y[G+P-1],z=Y[G+P];if(J.prev_length>=J.good_match)W>>=2;if(X>J.lookahead)X=J.lookahead;do{if(V=Q,Y[V+P]!==z||Y[V+P-1]!==K||Y[V]!==Y[G]||Y[++V]!==Y[G+1])continue;G+=2,V++;do;while(Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&Y[++G]===Y[++V]&&G<F);if(q=Z6-(F-G),G=F-Z6,q>P){if(J.match_start=Q,P=q,q>=X)break;K=Y[G+P-1],z=Y[G+P]}}while((Q=k[Q&U])>Z&&--W!==0);if(P<=J.lookahead)return P;return J.lookahead},E6=(J)=>{let Q=J.w_size,W,G,V;do{if(G=J.window_size-J.lookahead-J.strstart,J.strstart>=Q+(Q-G6)){if(J.window.set(J.window.subarray(Q,Q+Q-G),0),J.match_start-=Q,J.strstart-=Q,J.block_start-=Q,J.insert>J.strstart)J.insert=J.strstart;j1(J),G+=Q}if(J.strm.avail_in===0)break;if(W=Q8(J.strm,J.window,J.strstart+J.lookahead,G),J.lookahead+=W,J.lookahead+J.insert>=v){V=J.strstart-J.insert,J.ins_h=J.window[V],J.ins_h=$6(J,J.ins_h,J.window[V+1]);while(J.insert)if(J.ins_h=$6(J,J.ins_h,J.window[V+v-1]),J.prev[V&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=V,V++,J.insert--,J.lookahead+J.insert<v)break}}while(J.lookahead<G6&&J.strm.avail_in!==0)},OJ=(J,Q)=>{let W=J.pending_buf_size-5>J.w_size?J.w_size:J.pending_buf_size-5,G,V,q,P=0,X=J.strm.avail_in;do{if(G=65535,q=J.bi_valid+42>>3,J.strm.avail_out<q)break;if(q=J.strm.avail_out-q,V=J.strstart-J.block_start,G>V+J.strm.avail_in)G=V+J.strm.avail_in;if(G>q)G=q;if(G<W&&(G===0&&Q!==a||Q===H6||G!==V+J.strm.avail_in))break;if(P=Q===a&&G===V+J.strm.avail_in?1:0,a0(J,0,0,P),J.pending_buf[J.pending-4]=G,J.pending_buf[J.pending-3]=G>>8,J.pending_buf[J.pending-2]=~G,J.pending_buf[J.pending-1]=~G>>8,r(J.strm),V){if(V>G)V=G;J.strm.output.set(J.window.subarray(J.block_start,J.block_start+V),J.strm.next_out),J.strm.next_out+=V,J.strm.avail_out-=V,J.strm.total_out+=V,J.block_start+=V,G-=V}if(G)Q8(J.strm,J.strm.output,J.strm.next_out,G),J.strm.next_out+=G,J.strm.avail_out-=G,J.strm.total_out+=G}while(P===0);if(X-=J.strm.avail_in,X){if(X>=J.w_size)J.matches=2,J.window.set(J.strm.input.subarray(J.strm.next_in-J.w_size,J.strm.next_in),0),J.strstart=J.w_size,J.insert=J.strstart;else{if(J.window_size-J.strstart<=X){if(J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(J.insert>J.strstart)J.insert=J.strstart}J.window.set(J.strm.input.subarray(J.strm.next_in-X,J.strm.next_in),J.strstart),J.strstart+=X,J.insert+=X>J.w_size-J.insert?J.w_size-J.insert:X}J.block_start=J.strstart}if(J.high_water<J.strstart)J.high_water=J.strstart;if(P)return b6;if(Q!==H6&&Q!==a&&J.strm.avail_in===0&&J.strstart===J.block_start)return f6;if(q=J.window_size-J.strstart,J.strm.avail_in>q&&J.block_start>=J.w_size){if(J.block_start-=J.w_size,J.strstart-=J.w_size,J.window.set(J.window.subarray(J.w_size,J.w_size+J.strstart),0),J.matches<2)J.matches++;if(q+=J.w_size,J.insert>J.strstart)J.insert=J.strstart}if(q>J.strm.avail_in)q=J.strm.avail_in;if(q)Q8(J.strm,J.window,J.strstart,q),J.strstart+=q,J.insert+=q>J.w_size-J.insert?J.w_size-J.insert:q;if(J.high_water<J.strstart)J.high_water=J.strstart;if(q=J.bi_valid+42>>3,q=J.pending_buf_size-q>65535?65535:J.pending_buf_size-q,W=q>J.w_size?J.w_size:q,V=J.strstart-J.block_start,V>=W||(V||Q===a)&&Q!==H6&&J.strm.avail_in===0&&V<=q)G=V>q?q:V,P=Q===a&&J.strm.avail_in===0&&G===V?1:0,a0(J,J.block_start,G,P),J.block_start+=G,r(J.strm);return P?L6:i},p0=(J,Q)=>{let W,G;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(W!==0&&J.strstart-W<=J.w_size-G6)J.match_length=IJ(J,W);if(J.match_length>=v)if(G=z6(J,J.strstart-J.match_start,J.match_length-v),J.lookahead-=J.match_length,J.match_length<=J.max_lazy_match&&J.lookahead>=v){J.match_length--;do J.strstart++,J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.match_length!==0);J.strstart++}else J.strstart+=J.match_length,J.match_length=0,J.ins_h=J.window[J.strstart],J.ins_h=$6(J,J.ins_h,J.window[J.strstart+1]);else G=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(G){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},S6=(J,Q)=>{let W,G,V;for(;;){if(J.lookahead<G6){if(E6(J),J.lookahead<G6&&Q===H6)return i;if(J.lookahead===0)break}if(W=0,J.lookahead>=v)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;if(J.prev_length=J.match_length,J.prev_match=J.match_start,J.match_length=v-1,W!==0&&J.prev_length<J.max_lazy_match&&J.strstart-W<=J.w_size-G6){if(J.match_length=IJ(J,W),J.match_length<=5&&(J.strategy===Q1||J.match_length===v&&J.strstart-J.match_start>4096))J.match_length=v-1}if(J.prev_length>=v&&J.match_length<=J.prev_length){V=J.strstart+J.lookahead-v,G=z6(J,J.strstart-1-J.prev_match,J.prev_length-v),J.lookahead-=J.prev_length-1,J.prev_length-=2;do if(++J.strstart<=V)J.ins_h=$6(J,J.ins_h,J.window[J.strstart+v-1]),W=J.prev[J.strstart&J.w_mask]=J.head[J.ins_h],J.head[J.ins_h]=J.strstart;while(--J.prev_length!==0);if(J.match_available=0,J.match_length=v-1,J.strstart++,G){if(o(J,!1),J.strm.avail_out===0)return i}}else if(J.match_available){if(G=z6(J,0,J.window[J.strstart-1]),G)o(J,!1);if(J.strstart++,J.lookahead--,J.strm.avail_out===0)return i}else J.match_available=1,J.strstart++,J.lookahead--}if(J.match_available)G=z6(J,0,J.window[J.strstart-1]),J.match_available=0;if(J.insert=J.strstart<v-1?J.strstart:v-1,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},C1=(J,Q)=>{let W,G,V,q,P=J.window;for(;;){if(J.lookahead<=Z6){if(E6(J),J.lookahead<=Z6&&Q===H6)return i;if(J.lookahead===0)break}if(J.match_length=0,J.lookahead>=v&&J.strstart>0){if(V=J.strstart-1,G=P[V],G===P[++V]&&G===P[++V]&&G===P[++V]){q=J.strstart+Z6;do;while(G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&G===P[++V]&&V<q);if(J.match_length=Z6-(q-V),J.match_length>J.lookahead)J.match_length=J.lookahead}}if(J.match_length>=v)W=z6(J,1,J.match_length-v),J.lookahead-=J.match_length,J.strstart+=J.match_length,J.match_length=0;else W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++;if(W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6},R1=(J,Q)=>{let W;for(;;){if(J.lookahead===0){if(E6(J),J.lookahead===0){if(Q===H6)return i;break}}if(J.match_length=0,W=z6(J,0,J.window[J.strstart]),J.lookahead--,J.strstart++,W){if(o(J,!1),J.strm.avail_out===0)return i}}if(J.insert=0,Q===a){if(o(J,!0),J.strm.avail_out===0)return L6;return b6}if(J.sym_next){if(o(J,!1),J.strm.avail_out===0)return i}return f6};function J6(J,Q,W,G,V){this.good_length=J,this.max_lazy=Q,this.nice_length=W,this.max_chain=G,this.func=V}var l6=[new J6(0,0,0,0,OJ),new J6(4,4,8,4,p0),new J6(4,5,16,8,p0),new J6(4,6,32,32,p0),new J6(4,4,16,16,S6),new J6(8,16,32,32,S6),new J6(8,16,128,128,S6),new J6(8,32,128,256,S6),new J6(32,128,258,1024,S6),new J6(32,258,258,4096,S6)],L1=(J)=>{J.window_size=2*J.w_size,F6(J.head),J.max_lazy_match=l6[J.level].max_lazy,J.good_match=l6[J.level].good_length,J.nice_match=l6[J.level].nice_length,J.max_chain_length=l6[J.level].max_chain,J.strstart=0,J.block_start=0,J.lookahead=0,J.insert=0,J.match_length=J.prev_length=v-1,J.match_available=0,J.ins_h=0};function I1(){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=O0,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=new Uint16Array(H1*2),this.dyn_dtree=new Uint16Array((2*Z1+1)*2),this.bl_tree=new Uint16Array((2*z1+1)*2),F6(this.dyn_ltree),F6(this.dyn_dtree),F6(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array($1+1),this.heap=new Uint16Array(2*s0+1),F6(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*s0+1),F6(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var V0=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.status!==g6&&Q.status!==Y8&&Q.status!==t0&&Q.status!==e0&&Q.status!==J8&&Q.status!==W8&&Q.status!==M6&&Q.status!==d6)return 1;return 0},xJ=(J)=>{if(V0(J))return C6(J,Q6);J.total_in=J.total_out=0,J.data_type=X1;let Q=J.state;if(Q.pending=0,Q.pending_out=0,Q.wrap<0)Q.wrap=-Q.wrap;return Q.status=Q.wrap===2?Y8:Q.wrap?g6:M6,J.adler=Q.wrap===2?0:1,Q.last_flush=-2,o5(Q),d},DJ=(J)=>{let Q=xJ(J);if(Q===d)L1(J.state);return Q},O1=(J,Q)=>{if(V0(J)||J.state.wrap!==2)return Q6;return J.state.gzhead=Q,d},AJ=(J,Q,W,G,V,q)=>{if(!J)return Q6;let P=1;if(Q===W1)Q=6;if(G<0)P=0,G=-G;else if(G>15)P=2,G-=16;if(V<1||V>Y1||W!==O0||G<8||G>15||Q<0||Q>9||q<0||q>V1||G===8&&P!==1)return C6(J,Q6);if(G===8)G=9;let X=new I1;return J.state=X,X.strm=J,X.status=g6,X.wrap=P,X.gzhead=null,X.w_bits=G,X.w_size=1<<X.w_bits,X.w_mask=X.w_size-1,X.hash_bits=V+7,X.hash_size=1<<X.hash_bits,X.hash_mask=X.hash_size-1,X.hash_shift=~~((X.hash_bits+v-1)/v),X.window=new Uint8Array(X.w_size*2),X.head=new Uint16Array(X.hash_size),X.prev=new Uint16Array(X.w_size),X.lit_bufsize=1<<V+6,X.pending_buf_size=X.lit_bufsize*4,X.pending_buf=new Uint8Array(X.pending_buf_size),X.sym_buf=X.lit_bufsize,X.sym_end=(X.lit_bufsize-1)*3,X.level=Q,X.strategy=q,X.method=W,DJ(J)},x1=(J,Q)=>{return AJ(J,Q,O0,P1,U1,q1)},D1=(J,Q)=>{if(V0(J)||Q>N8||Q<0)return J?C6(J,Q6):Q6;let W=J.state;if(!J.output||J.avail_in!==0&&!J.input||W.status===d6&&Q!==a)return C6(J,J.avail_out===0?h0:Q6);let G=W.last_flush;if(W.last_flush=Q,W.pending!==0){if(r(J),J.avail_out===0)return W.last_flush=-1,d}else if(J.avail_in===0&&T8(Q)<=T8(G)&&Q!==a)return C6(J,h0);if(W.status===d6&&J.avail_in!==0)return C6(J,h0);if(W.status===g6&&W.wrap===0)W.status=M6;if(W.status===g6){let V=O0+(W.w_bits-8<<4)<<8,q=-1;if(W.strategy>=$0||W.level<2)q=0;else if(W.level<6)q=1;else if(W.level===6)q=2;else q=3;if(V|=q<<6,W.strstart!==0)V|=k1;if(V+=31-V%31,c6(W,V),W.strstart!==0)c6(W,J.adler>>>16),c6(W,J.adler&65535);if(J.adler=1,W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(W.status===Y8)if(J.adler=0,E(W,31),E(W,139),E(W,8),!W.gzhead){if(E(W,0),E(W,0),E(W,0),E(W,0),E(W,0),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,B1),W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}else{if(E(W,(W.gzhead.text?1:0)+(W.gzhead.hcrc?2:0)+(!W.gzhead.extra?0:4)+(!W.gzhead.name?0:8)+(!W.gzhead.comment?0:16)),E(W,W.gzhead.time&255),E(W,W.gzhead.time>>8&255),E(W,W.gzhead.time>>16&255),E(W,W.gzhead.time>>24&255),E(W,W.level===9?2:W.strategy>=$0||W.level<2?4:0),E(W,W.gzhead.os&255),W.gzhead.extra&&W.gzhead.extra.length)E(W,W.gzhead.extra.length&255),E(W,W.gzhead.extra.length>>8&255);if(W.gzhead.hcrc)J.adler=c(J.adler,W.pending_buf,W.pending,0);W.gzindex=0,W.status=t0}if(W.status===t0){if(W.gzhead.extra){let V=W.pending,q=(W.gzhead.extra.length&65535)-W.gzindex;while(W.pending+q>W.pending_buf_size){let X=W.pending_buf_size-W.pending;if(W.pending_buf.set(W.gzhead.extra.subarray(W.gzindex,W.gzindex+X),W.pending),W.pending=W.pending_buf_size,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(W.gzindex+=X,r(J),W.pending!==0)return W.last_flush=-1,d;V=0,q-=X}let P=new Uint8Array(W.gzhead.extra);if(W.pending_buf.set(P.subarray(W.gzindex,W.gzindex+q),W.pending),W.pending+=q,W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=e0}if(W.status===e0){if(W.gzhead.name){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.name.length)q=W.gzhead.name.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);W.gzindex=0}W.status=J8}if(W.status===J8){if(W.gzhead.comment){let V=W.pending,q;do{if(W.pending===W.pending_buf_size){if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V);if(r(J),W.pending!==0)return W.last_flush=-1,d;V=0}if(W.gzindex<W.gzhead.comment.length)q=W.gzhead.comment.charCodeAt(W.gzindex++)&255;else q=0;E(W,q)}while(q!==0);if(W.gzhead.hcrc&&W.pending>V)J.adler=c(J.adler,W.pending_buf,W.pending-V,V)}W.status=W8}if(W.status===W8){if(W.gzhead.hcrc){if(W.pending+2>W.pending_buf_size){if(r(J),W.pending!==0)return W.last_flush=-1,d}E(W,J.adler&255),E(W,J.adler>>8&255),J.adler=0}if(W.status=M6,r(J),W.pending!==0)return W.last_flush=-1,d}if(J.avail_in!==0||W.lookahead!==0||Q!==H6&&W.status!==d6){let V=W.level===0?OJ(W,Q):W.strategy===$0?R1(W,Q):W.strategy===G1?C1(W,Q):l6[W.level].func(W,Q);if(V===L6||V===b6)W.status=d6;if(V===i||V===L6){if(J.avail_out===0)W.last_flush=-1;return d}if(V===f6){if(Q===t5)s5(W);else if(Q!==N8){if(a0(W,0,0,!1),Q===e5){if(F6(W.head),W.lookahead===0)W.strstart=0,W.block_start=0,W.insert=0}}if(r(J),J.avail_out===0)return W.last_flush=-1,d}}if(Q!==a)return d;if(W.wrap<=0)return S8;if(W.wrap===2)E(W,J.adler&255),E(W,J.adler>>8&255),E(W,J.adler>>16&255),E(W,J.adler>>24&255),E(W,J.total_in&255),E(W,J.total_in>>8&255),E(W,J.total_in>>16&255),E(W,J.total_in>>24&255);else c6(W,J.adler>>>16),c6(W,J.adler&65535);if(r(J),W.wrap>0)W.wrap=-W.wrap;return W.pending!==0?d:S8},A1=(J)=>{if(V0(J))return Q6;let Q=J.state.status;return J.state=null,Q===M6?C6(J,J1):d},w1=(J,Q)=>{let W=Q.length;if(V0(J))return Q6;let G=J.state,V=G.wrap;if(V===2||V===1&&G.status!==g6||G.lookahead)return Q6;if(V===1)J.adler=e6(J.adler,Q,W,0);if(G.wrap=0,W>=G.w_size){if(V===0)F6(G.head),G.strstart=0,G.block_start=0,G.insert=0;let Z=new Uint8Array(G.w_size);Z.set(Q.subarray(W-G.w_size,W),0),Q=Z,W=G.w_size}let{avail_in:q,next_in:P,input:X}=J;J.avail_in=W,J.next_in=0,J.input=Q,E6(G);while(G.lookahead>=v){let Z=G.strstart,Y=G.lookahead-(v-1);do G.ins_h=$6(G,G.ins_h,G.window[Z+v-1]),G.prev[Z&G.w_mask]=G.head[G.ins_h],G.head[G.ins_h]=Z,Z++;while(--Y);G.strstart=Z,G.lookahead=v-1,E6(G)}return G.strstart+=G.lookahead,G.block_start=G.strstart,G.insert=G.lookahead,G.lookahead=0,G.match_length=G.prev_length=v-1,G.match_available=0,J.next_in=P,J.input=X,J.avail_in=q,G.wrap=V,d},N1=x1,S1=AJ,T1=DJ,v1=xJ,g1=O1,E1=D1,y1=A1,f1=w1,b1="pako deflate (from Nodeca project)",n6={deflateInit:N1,deflateInit2:S1,deflateReset:T1,deflateResetKeep:v1,deflateSetHeader:g1,deflate:E1,deflateEnd:y1,deflateSetDictionary:f1,deflateInfo:b1},h1=(J,Q)=>{return Object.prototype.hasOwnProperty.call(J,Q)},p1=function(J){let Q=Array.prototype.slice.call(arguments,1);while(Q.length){let W=Q.shift();if(!W)continue;if(typeof W!=="object")throw TypeError(W+"must be non-object");for(let G in W)if(h1(W,G))J[G]=W[G]}return J},u1=(J)=>{let Q=0;for(let G=0,V=J.length;G<V;G++)Q+=J[G].length;let W=new Uint8Array(Q);for(let G=0,V=0,q=J.length;G<q;G++){let P=J[G];W.set(P,V),V+=P.length}return W},x0={assign:p1,flattenChunks:u1},wJ=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(J){wJ=!1}var J0=new Uint8Array(256);for(let J=0;J<256;J++)J0[J]=J>=252?6:J>=248?5:J>=240?4:J>=224?3:J>=192?2:1;J0[254]=J0[254]=1;var m1=(J)=>{if(typeof TextEncoder==="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(J);let Q,W,G,V,q,P=J.length,X=0;for(V=0;V<P;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}X+=W<128?1:W<2048?2:W<65536?3:4}Q=new Uint8Array(X);for(q=0,V=0;q<X;V++){if(W=J.charCodeAt(V),(W&64512)===55296&&V+1<P){if(G=J.charCodeAt(V+1),(G&64512)===56320)W=65536+(W-55296<<10)+(G-56320),V++}if(W<128)Q[q++]=W;else if(W<2048)Q[q++]=192|W>>>6,Q[q++]=128|W&63;else if(W<65536)Q[q++]=224|W>>>12,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63;else Q[q++]=240|W>>>18,Q[q++]=128|W>>>12&63,Q[q++]=128|W>>>6&63,Q[q++]=128|W&63}return Q},_1=(J,Q)=>{if(Q<65534){if(J.subarray&&wJ)return String.fromCharCode.apply(null,J.length===Q?J:J.subarray(0,Q))}let W="";for(let G=0;G<Q;G++)W+=String.fromCharCode(J[G]);return W},c1=(J,Q)=>{let W=Q||J.length;if(typeof TextDecoder==="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(J.subarray(0,Q));let G,V,q=Array(W*2);for(V=0,G=0;G<W;){let P=J[G++];if(P<128){q[V++]=P;continue}let X=J0[P];if(X>4){q[V++]=65533,G+=X-1;continue}P&=X===2?31:X===3?15:7;while(X>1&&G<W)P=P<<6|J[G++]&63,X--;if(X>1){q[V++]=65533;continue}if(P<65536)q[V++]=P;else P-=65536,q[V++]=55296|P>>10&1023,q[V++]=56320|P&1023}return _1(q,V)},d1=(J,Q)=>{if(Q=Q||J.length,Q>J.length)Q=J.length;let W=Q-1;while(W>=0&&(J[W]&192)===128)W--;if(W<0)return Q;if(W===0)return Q;return W+J0[J[W]]>Q?W:Q},W0={string2buf:m1,buf2string:c1,utf8border:d1};function l1(){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}var NJ=l1,SJ=Object.prototype.toString,{Z_NO_FLUSH:i1,Z_SYNC_FLUSH:n1,Z_FULL_FLUSH:r1,Z_FINISH:o1,Z_OK:L0,Z_STREAM_END:a1,Z_DEFAULT_COMPRESSION:s1,Z_DEFAULT_STRATEGY:t1,Z_DEFLATED:e1}=O6;function q0(J){this.options=x0.assign({level:s1,method:e1,chunkSize:16384,windowBits:15,memLevel:8,strategy:t1},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>0)Q.windowBits=-Q.windowBits;else if(Q.gzip&&Q.windowBits>0&&Q.windowBits<16)Q.windowBits+=16;this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=n6.deflateInit2(this.strm,Q.level,Q.method,Q.windowBits,Q.memLevel,Q.strategy);if(W!==L0)throw Error(R6[W]);if(Q.header)n6.deflateSetHeader(this.strm,Q.header);if(Q.dictionary){let G;if(typeof Q.dictionary==="string")G=W0.string2buf(Q.dictionary);else if(SJ.call(Q.dictionary)==="[object ArrayBuffer]")G=new Uint8Array(Q.dictionary);else G=Q.dictionary;if(W=n6.deflateSetDictionary(this.strm,G),W!==L0)throw Error(R6[W]);this._dict_set=!0}}q0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V,q;if(this.ended)return!1;if(Q===~~Q)q=Q;else q=Q===!0?o1:i1;if(typeof J==="string")W.input=W0.string2buf(J);else if(SJ.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if((q===n1||q===r1)&&W.avail_out<=6){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(V=n6.deflate(W,q),V===a1){if(W.next_out>0)this.onData(W.output.subarray(0,W.next_out));return V=n6.deflateEnd(this.strm),this.onEnd(V),this.ended=!0,V===L0}if(W.avail_out===0){this.onData(W.output);continue}if(q>0&&W.next_out>0){this.onData(W.output.subarray(0,W.next_out)),W.avail_out=0;continue}if(W.avail_in===0)break}return!0};q0.prototype.onData=function(J){this.chunks.push(J)};q0.prototype.onEnd=function(J){if(J===L0)this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function P8(J,Q){let W=new q0(Q);if(W.push(J,!0),W.err)throw W.msg||R6[W.err];return W.result}function JW(J,Q){return Q=Q||{},Q.raw=!0,P8(J,Q)}function WW(J,Q){return Q=Q||{},Q.gzip=!0,P8(J,Q)}var QW=q0,GW=P8,VW=JW,qW=WW,XW=O6,YW={Deflate:QW,deflate:GW,deflateRaw:VW,gzip:qW,constants:XW},k0=16209,PW=16191,UW=function(Q,W){let G,V,q,P,X,Z,Y,U,k,F,K,z,I,j,B,R,L,$,S,p,C,T,A,x,N=Q.state;G=Q.next_in,A=Q.input,V=G+(Q.avail_in-5),q=Q.next_out,x=Q.output,P=q-(W-Q.avail_out),X=q+(Q.avail_out-257),Z=N.dmax,Y=N.wsize,U=N.whave,k=N.wnext,F=N.window,K=N.hold,z=N.bits,I=N.lencode,j=N.distcode,B=(1<<N.lenbits)-1,R=(1<<N.distbits)-1;J:do{if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=I[K&B];W:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$===0)x[q++]=L&65535;else if($&16){if(S=L&65535,$&=15,$){if(z<$)K+=A[G++]<<z,z+=8;S+=K&(1<<$)-1,K>>>=$,z-=$}if(z<15)K+=A[G++]<<z,z+=8,K+=A[G++]<<z,z+=8;L=j[K&R];Q:for(;;){if($=L>>>24,K>>>=$,z-=$,$=L>>>16&255,$&16){if(p=L&65535,$&=15,z<$){if(K+=A[G++]<<z,z+=8,z<$)K+=A[G++]<<z,z+=8}if(p+=K&(1<<$)-1,p>Z){Q.msg="invalid distance too far back",N.mode=k0;break J}if(K>>>=$,z-=$,$=q-P,p>$){if($=p-$,$>U){if(N.sane){Q.msg="invalid distance too far back",N.mode=k0;break J}}if(C=0,T=F,k===0){if(C+=Y-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}else if(k<$){if(C+=Y+k-$,$-=k,$<S){S-=$;do x[q++]=F[C++];while(--$);if(C=0,k<S){$=k,S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}}}else if(C+=k-$,$<S){S-=$;do x[q++]=F[C++];while(--$);C=q-p,T=x}while(S>2)x[q++]=T[C++],x[q++]=T[C++],x[q++]=T[C++],S-=3;if(S){if(x[q++]=T[C++],S>1)x[q++]=T[C++]}}else{C=q-p;do x[q++]=x[C++],x[q++]=x[C++],x[q++]=x[C++],S-=3;while(S>2);if(S){if(x[q++]=x[C++],S>1)x[q++]=x[C++]}}}else if(($&64)===0){L=j[(L&65535)+(K&(1<<$)-1)];continue Q}else{Q.msg="invalid distance code",N.mode=k0;break J}break}}else if(($&64)===0){L=I[(L&65535)+(K&(1<<$)-1)];continue W}else if($&32){N.mode=PW;break J}else{Q.msg="invalid literal/length code",N.mode=k0;break J}break}}while(G<V&&q<X);S=z>>3,G-=S,z-=S<<3,K&=(1<<z)-1,Q.next_in=G,Q.next_out=q,Q.avail_in=G<V?5+(V-G):5-(G-V),Q.avail_out=q<X?257+(X-q):257-(q-X),N.hold=K,N.bits=z;return},T6=15,v8=852,g8=592,E8=0,u0=1,y8=2,KW=new Uint16Array([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]),FW=new Uint8Array([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]),ZW=new Uint16Array([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]),zW=new Uint8Array([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]),HW=(J,Q,W,G,V,q,P,X)=>{let Z=X.bits,Y=0,U=0,k=0,F=0,K=0,z=0,I=0,j=0,B=0,R=0,L,$,S,p,C,T=null,A,x=new Uint16Array(T6+1),N=new Uint16Array(T6+1),V6=null,h6,e,P6;for(Y=0;Y<=T6;Y++)x[Y]=0;for(U=0;U<G;U++)x[Q[W+U]]++;K=Z;for(F=T6;F>=1;F--)if(x[F]!==0)break;if(K>F)K=F;if(F===0)return V[q++]=20971520,V[q++]=20971520,X.bits=1,0;for(k=1;k<F;k++)if(x[k]!==0)break;if(K<k)K=k;j=1;for(Y=1;Y<=T6;Y++)if(j<<=1,j-=x[Y],j<0)return-1;if(j>0&&(J===E8||F!==1))return-1;N[1]=0;for(Y=1;Y<T6;Y++)N[Y+1]=N[Y]+x[Y];for(U=0;U<G;U++)if(Q[W+U]!==0)P[N[Q[W+U]]++]=U;if(J===E8)T=V6=P,A=20;else if(J===u0)T=KW,V6=FW,A=257;else T=ZW,V6=zW,A=0;if(R=0,U=0,Y=k,C=q,z=K,I=0,S=-1,B=1<<K,p=B-1,J===u0&&B>v8||J===y8&&B>g8)return 1;for(;;){if(h6=Y-I,P[U]+1<A)e=0,P6=P[U];else if(P[U]>=A)e=V6[P[U]-A],P6=T[P[U]-A];else e=96,P6=0;L=1<<Y-I,$=1<<z,k=$;do $-=L,V[C+(R>>I)+$]=h6<<24|e<<16|P6|0;while($!==0);L=1<<Y-1;while(R&L)L>>=1;if(L!==0)R&=L-1,R+=L;else R=0;if(U++,--x[Y]===0){if(Y===F)break;Y=Q[W+P[U]]}if(Y>K&&(R&p)!==S){if(I===0)I=K;C+=k,z=Y-I,j=1<<z;while(z+I<F){if(j-=x[z+I],j<=0)break;z++,j<<=1}if(B+=1<<z,J===u0&&B>v8||J===y8&&B>g8)return 1;S=R&p,V[S]=K<<24|z<<16|C-q|0}}if(R!==0)V[C+R]=Y-I<<24|4194304|0;return X.bits=K,0},r6=HW,$W=0,TJ=1,vJ=2,{Z_FINISH:f8,Z_BLOCK:kW,Z_TREES:B0,Z_OK:I6,Z_STREAM_END:BW,Z_NEED_DICT:jW,Z_STREAM_ERROR:s,Z_DATA_ERROR:gJ,Z_MEM_ERROR:EJ,Z_BUF_ERROR:MW,Z_DEFLATED:b8}=O6,D0=16180,h8=16181,p8=16182,u8=16183,m8=16184,_8=16185,c8=16186,d8=16187,l8=16188,i8=16189,I0=16190,q6=16191,m0=16192,n8=16193,_0=16194,r8=16195,o8=16196,a8=16197,s8=16198,j0=16199,M0=16200,t8=16201,e8=16202,JJ=16203,WJ=16204,QJ=16205,c0=16206,GJ=16207,VJ=16208,h=16209,yJ=16210,fJ=16211,CW=852,RW=592,LW=15,IW=LW,qJ=(J)=>{return(J>>>24&255)+(J>>>8&65280)+((J&65280)<<8)+((J&255)<<24)};function OW(){this.strm=null,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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var x6=(J)=>{if(!J)return 1;let Q=J.state;if(!Q||Q.strm!==J||Q.mode<D0||Q.mode>fJ)return 1;return 0},bJ=(J)=>{if(x6(J))return s;let Q=J.state;if(J.total_in=J.total_out=Q.total=0,J.msg="",Q.wrap)J.adler=Q.wrap&1;return Q.mode=D0,Q.last=0,Q.havedict=0,Q.flags=-1,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new Int32Array(CW),Q.distcode=Q.distdyn=new Int32Array(RW),Q.sane=1,Q.back=-1,I6},hJ=(J)=>{if(x6(J))return s;let Q=J.state;return Q.wsize=0,Q.whave=0,Q.wnext=0,bJ(J)},pJ=(J,Q)=>{let W;if(x6(J))return s;let G=J.state;if(Q<0)W=0,Q=-Q;else if(W=(Q>>4)+5,Q<48)Q&=15;if(Q&&(Q<8||Q>15))return s;if(G.window!==null&&G.wbits!==Q)G.window=null;return G.wrap=W,G.wbits=Q,hJ(J)},uJ=(J,Q)=>{if(!J)return s;let W=new OW;J.state=W,W.strm=J,W.window=null,W.mode=D0;let G=pJ(J,Q);if(G!==I6)J.state=null;return G},xW=(J)=>{return uJ(J,IW)},XJ=!0,d0,l0,DW=(J)=>{if(XJ){d0=new Int32Array(512),l0=new Int32Array(32);let Q=0;while(Q<144)J.lens[Q++]=8;while(Q<256)J.lens[Q++]=9;while(Q<280)J.lens[Q++]=7;while(Q<288)J.lens[Q++]=8;r6(TJ,J.lens,0,288,d0,0,J.work,{bits:9}),Q=0;while(Q<32)J.lens[Q++]=5;r6(vJ,J.lens,0,32,l0,0,J.work,{bits:5}),XJ=!1}J.lencode=d0,J.lenbits=9,J.distcode=l0,J.distbits=5},mJ=(J,Q,W,G)=>{let V,q=J.state;if(q.window===null)q.wsize=1<<q.wbits,q.wnext=0,q.whave=0,q.window=new Uint8Array(q.wsize);if(G>=q.wsize)q.window.set(Q.subarray(W-q.wsize,W),0),q.wnext=0,q.whave=q.wsize;else{if(V=q.wsize-q.wnext,V>G)V=G;if(q.window.set(Q.subarray(W-G,W-G+V),q.wnext),G-=V,G)q.window.set(Q.subarray(W-G,W),0),q.wnext=G,q.whave=q.wsize;else{if(q.wnext+=V,q.wnext===q.wsize)q.wnext=0;if(q.whave<q.wsize)q.whave+=V}}return 0},AW=(J,Q)=>{let W,G,V,q,P,X,Z,Y,U,k,F,K,z,I,j=0,B,R,L,$,S,p,C,T,A=new Uint8Array(4),x,N,V6=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(x6(J)||!J.output||!J.input&&J.avail_in!==0)return s;if(W=J.state,W.mode===q6)W.mode=m0;P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,k=X,F=Z,T=I6;J:for(;;)switch(W.mode){case D0:if(W.wrap===0){W.mode=m0;break}while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&2&&Y===35615){if(W.wbits===0)W.wbits=15;W.check=0,A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0),Y=0,U=0,W.mode=h8;break}if(W.head)W.head.done=!1;if(!(W.wrap&1)||(((Y&255)<<8)+(Y>>8))%31){J.msg="incorrect header check",W.mode=h;break}if((Y&15)!==b8){J.msg="unknown compression method",W.mode=h;break}if(Y>>>=4,U-=4,C=(Y&15)+8,W.wbits===0)W.wbits=C;if(C>15||C>W.wbits){J.msg="invalid window size",W.mode=h;break}W.dmax=1<<W.wbits,W.flags=0,J.adler=W.check=1,W.mode=Y&512?i8:q6,Y=0,U=0;break;case h8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.flags=Y,(W.flags&255)!==b8){J.msg="unknown compression method",W.mode=h;break}if(W.flags&57344){J.msg="unknown header flags set",W.mode=h;break}if(W.head)W.head.text=Y>>8&1;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=p8;case p8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.time=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,A[2]=Y>>>16&255,A[3]=Y>>>24&255,W.check=c(W.check,A,4,0);Y=0,U=0,W.mode=u8;case u8:while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.head)W.head.xflags=Y&255,W.head.os=Y>>8;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0,W.mode=m8;case m8:if(W.flags&1024){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.length=Y,W.head)W.head.extra_len=Y;if(W.flags&512&&W.wrap&4)A[0]=Y&255,A[1]=Y>>>8&255,W.check=c(W.check,A,2,0);Y=0,U=0}else if(W.head)W.head.extra=null;W.mode=_8;case _8:if(W.flags&1024){if(K=W.length,K>X)K=X;if(K){if(W.head){if(C=W.head.extra_len-W.length,!W.head.extra)W.head.extra=new Uint8Array(W.head.extra_len);W.head.extra.set(G.subarray(q,q+K),C)}if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);X-=K,q+=K,W.length-=K}if(W.length)break J}W.length=0,W.mode=c8;case c8:if(W.flags&2048){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.name+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.name=null;W.length=0,W.mode=d8;case d8:if(W.flags&4096){if(X===0)break J;K=0;do if(C=G[q+K++],W.head&&C&&W.length<65536)W.head.comment+=String.fromCharCode(C);while(C&&K<X);if(W.flags&512&&W.wrap&4)W.check=c(W.check,G,K,q);if(X-=K,q+=K,C)break J}else if(W.head)W.head.comment=null;W.mode=l8;case l8:if(W.flags&512){while(U<16){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.check&65535)){J.msg="header crc mismatch",W.mode=h;break}Y=0,U=0}if(W.head)W.head.hcrc=W.flags>>9&1,W.head.done=!0;J.adler=W.check=0,W.mode=q6;break;case i8:while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}J.adler=W.check=qJ(Y),Y=0,U=0,W.mode=I0;case I0:if(W.havedict===0)return J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,jW;J.adler=W.check=1,W.mode=q6;case q6:if(Q===kW||Q===B0)break J;case m0:if(W.last){Y>>>=U&7,U-=U&7,W.mode=c0;break}while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}switch(W.last=Y&1,Y>>>=1,U-=1,Y&3){case 0:W.mode=n8;break;case 1:if(DW(W),W.mode=j0,Q===B0){Y>>>=2,U-=2;break J}break;case 2:W.mode=o8;break;case 3:J.msg="invalid block type",W.mode=h}Y>>>=2,U-=2;break;case n8:Y>>>=U&7,U-=U&7;while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((Y&65535)!==(Y>>>16^65535)){J.msg="invalid stored block lengths",W.mode=h;break}if(W.length=Y&65535,Y=0,U=0,W.mode=_0,Q===B0)break J;case _0:W.mode=r8;case r8:if(K=W.length,K){if(K>X)K=X;if(K>Z)K=Z;if(K===0)break J;V.set(G.subarray(q,q+K),P),X-=K,q+=K,Z-=K,P+=K,W.length-=K;break}W.mode=q6;break;case o8:while(U<14){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.nlen=(Y&31)+257,Y>>>=5,U-=5,W.ndist=(Y&31)+1,Y>>>=5,U-=5,W.ncode=(Y&15)+4,Y>>>=4,U-=4,W.nlen>286||W.ndist>30){J.msg="too many length or distance symbols",W.mode=h;break}W.have=0,W.mode=a8;case a8:while(W.have<W.ncode){while(U<3){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.lens[V6[W.have++]]=Y&7,Y>>>=3,U-=3}while(W.have<19)W.lens[V6[W.have++]]=0;if(W.lencode=W.lendyn,W.lenbits=7,x={bits:W.lenbits},T=r6($W,W.lens,0,19,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid code lengths set",W.mode=h;break}W.have=0,W.mode=s8;case s8:while(W.have<W.nlen+W.ndist){for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(L<16)Y>>>=B,U-=B,W.lens[W.have++]=L;else{if(L===16){N=B+2;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(Y>>>=B,U-=B,W.have===0){J.msg="invalid bit length repeat",W.mode=h;break}C=W.lens[W.have-1],K=3+(Y&3),Y>>>=2,U-=2}else if(L===17){N=B+3;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,C=0,K=3+(Y&7),Y>>>=3,U-=3}else{N=B+7;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=B,U-=B,C=0,K=11+(Y&127),Y>>>=7,U-=7}if(W.have+K>W.nlen+W.ndist){J.msg="invalid bit length repeat",W.mode=h;break}while(K--)W.lens[W.have++]=C}}if(W.mode===h)break;if(W.lens[256]===0){J.msg="invalid code -- missing end-of-block",W.mode=h;break}if(W.lenbits=9,x={bits:W.lenbits},T=r6(TJ,W.lens,0,W.nlen,W.lencode,0,W.work,x),W.lenbits=x.bits,T){J.msg="invalid literal/lengths set",W.mode=h;break}if(W.distbits=6,W.distcode=W.distdyn,x={bits:W.distbits},T=r6(vJ,W.lens,W.nlen,W.ndist,W.distcode,0,W.work,x),W.distbits=x.bits,T){J.msg="invalid distances set",W.mode=h;break}if(W.mode=j0,Q===B0)break J;case j0:W.mode=M0;case M0:if(X>=6&&Z>=258){if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,UW(J,F),P=J.next_out,V=J.output,Z=J.avail_out,q=J.next_in,G=J.input,X=J.avail_in,Y=W.hold,U=W.bits,W.mode===q6)W.back=-1;break}W.back=0;for(;;){if(j=W.lencode[Y&(1<<W.lenbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(R&&(R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.lencode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,W.length=L,R===0){W.mode=QJ;break}if(R&32){W.back=-1,W.mode=q6;break}if(R&64){J.msg="invalid literal/length code",W.mode=h;break}W.extra=R&15,W.mode=t8;case t8:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.length+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}W.was=W.length,W.mode=e8;case e8:for(;;){if(j=W.distcode[Y&(1<<W.distbits)-1],B=j>>>24,R=j>>>16&255,L=j&65535,B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if((R&240)===0){$=B,S=R,p=L;for(;;){if(j=W.distcode[p+((Y&(1<<$+S)-1)>>$)],B=j>>>24,R=j>>>16&255,L=j&65535,$+B<=U)break;if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}Y>>>=$,U-=$,W.back+=$}if(Y>>>=B,U-=B,W.back+=B,R&64){J.msg="invalid distance code",W.mode=h;break}W.offset=L,W.extra=R&15,W.mode=JJ;case JJ:if(W.extra){N=W.extra;while(U<N){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}W.offset+=Y&(1<<W.extra)-1,Y>>>=W.extra,U-=W.extra,W.back+=W.extra}if(W.offset>W.dmax){J.msg="invalid distance too far back",W.mode=h;break}W.mode=WJ;case WJ:if(Z===0)break J;if(K=F-Z,W.offset>K){if(K=W.offset-K,K>W.whave){if(W.sane){J.msg="invalid distance too far back",W.mode=h;break}}if(K>W.wnext)K-=W.wnext,z=W.wsize-K;else z=W.wnext-K;if(K>W.length)K=W.length;I=W.window}else I=V,z=P-W.offset,K=W.length;if(K>Z)K=Z;Z-=K,W.length-=K;do V[P++]=I[z++];while(--K);if(W.length===0)W.mode=M0;break;case QJ:if(Z===0)break J;V[P++]=W.length,Z--,W.mode=M0;break;case c0:if(W.wrap){while(U<32){if(X===0)break J;X--,Y|=G[q++]<<U,U+=8}if(F-=Z,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,P-F):e6(W.check,V,F,P-F);if(F=Z,W.wrap&4&&(W.flags?Y:qJ(Y))!==W.check){J.msg="incorrect data check",W.mode=h;break}Y=0,U=0}W.mode=GJ;case GJ:if(W.wrap&&W.flags){while(U<32){if(X===0)break J;X--,Y+=G[q++]<<U,U+=8}if(W.wrap&4&&Y!==(W.total&4294967295)){J.msg="incorrect length check",W.mode=h;break}Y=0,U=0}W.mode=VJ;case VJ:T=BW;break J;case h:T=gJ;break J;case yJ:return EJ;case fJ:default:return s}if(J.next_out=P,J.avail_out=Z,J.next_in=q,J.avail_in=X,W.hold=Y,W.bits=U,W.wsize||F!==J.avail_out&&W.mode<h&&(W.mode<c0||Q!==f8)){if(mJ(J,J.output,J.next_out,F-J.avail_out));}if(k-=J.avail_in,F-=J.avail_out,J.total_in+=k,J.total_out+=F,W.total+=F,W.wrap&4&&F)J.adler=W.check=W.flags?c(W.check,V,F,J.next_out-F):e6(W.check,V,F,J.next_out-F);if(J.data_type=W.bits+(W.last?64:0)+(W.mode===q6?128:0)+(W.mode===j0||W.mode===_0?256:0),(k===0&&F===0||Q===f8)&&T===I6)T=MW;return T},wW=(J)=>{if(x6(J))return s;let Q=J.state;if(Q.window)Q.window=null;return J.state=null,I6},NW=(J,Q)=>{if(x6(J))return s;let W=J.state;if((W.wrap&2)===0)return s;return W.head=Q,Q.done=!1,I6},SW=(J,Q)=>{let W=Q.length,G,V,q;if(x6(J))return s;if(G=J.state,G.wrap!==0&&G.mode!==I0)return s;if(G.mode===I0){if(V=1,V=e6(V,Q,W,0),V!==G.check)return gJ}if(q=mJ(J,Q,W,W),q)return G.mode=yJ,EJ;return G.havedict=1,I6},TW=hJ,vW=pJ,gW=bJ,EW=xW,yW=uJ,fW=AW,bW=wW,hW=NW,pW=SW,uW="pako inflate (from Nodeca project)",Y6={inflateReset:TW,inflateReset2:vW,inflateResetKeep:gW,inflateInit:EW,inflateInit2:yW,inflate:fW,inflateEnd:bW,inflateGetHeader:hW,inflateSetDictionary:pW,inflateInfo:uW};function mW(){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}var _W=mW,_J=Object.prototype.toString,{Z_NO_FLUSH:cW,Z_FINISH:dW,Z_OK:Q0,Z_STREAM_END:i0,Z_NEED_DICT:n0,Z_STREAM_ERROR:lW,Z_DATA_ERROR:YJ,Z_MEM_ERROR:iW}=O6;function X0(J){this.options=x0.assign({chunkSize:65536,windowBits:15,to:""},J||{});let Q=this.options;if(Q.raw&&Q.windowBits>=0&&Q.windowBits<16){if(Q.windowBits=-Q.windowBits,Q.windowBits===0)Q.windowBits=-15}if(Q.windowBits>=0&&Q.windowBits<16&&!(J&&J.windowBits))Q.windowBits+=32;if(Q.windowBits>15&&Q.windowBits<48){if((Q.windowBits&15)===0)Q.windowBits|=15}this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new NJ,this.strm.avail_out=0;let W=Y6.inflateInit2(this.strm,Q.windowBits);if(W!==Q0)throw Error(R6[W]);if(this.header=new _W,Y6.inflateGetHeader(this.strm,this.header),Q.dictionary){if(typeof Q.dictionary==="string")Q.dictionary=W0.string2buf(Q.dictionary);else if(_J.call(Q.dictionary)==="[object ArrayBuffer]")Q.dictionary=new Uint8Array(Q.dictionary);if(Q.raw){if(W=Y6.inflateSetDictionary(this.strm,Q.dictionary),W!==Q0)throw Error(R6[W])}}}X0.prototype.push=function(J,Q){let W=this.strm,G=this.options.chunkSize,V=this.options.dictionary,q,P,X;if(this.ended)return!1;if(Q===~~Q)P=Q;else P=Q===!0?dW:cW;if(_J.call(J)==="[object ArrayBuffer]")W.input=new Uint8Array(J);else W.input=J;W.next_in=0,W.avail_in=W.input.length;for(;;){if(W.avail_out===0)W.output=new Uint8Array(G),W.next_out=0,W.avail_out=G;if(q=Y6.inflate(W,P),q===n0&&V){if(q=Y6.inflateSetDictionary(W,V),q===Q0)q=Y6.inflate(W,P);else if(q===YJ)q=n0}while(W.avail_in>0&&q===i0&&W.state.wrap>0&&J[W.next_in]!==0)Y6.inflateReset(W),q=Y6.inflate(W,P);switch(q){case lW:case YJ:case n0:case iW:return this.onEnd(q),this.ended=!0,!1}if(X=W.avail_out,W.next_out){if(W.avail_out===0||q===i0)if(this.options.to==="string"){let Z=W0.utf8border(W.output,W.next_out),Y=W.next_out-Z,U=W0.buf2string(W.output,Z);if(W.next_out=Y,W.avail_out=G-Y,Y)W.output.set(W.output.subarray(Z,Z+Y),0);this.onData(U)}else this.onData(W.output.length===W.next_out?W.output:W.output.subarray(0,W.next_out))}if(q===Q0&&X===0)continue;if(q===i0)return q=Y6.inflateEnd(this.strm),this.onEnd(q),this.ended=!0,!0;if(W.avail_in===0)break}return!0};X0.prototype.onData=function(J){this.chunks.push(J)};X0.prototype.onEnd=function(J){if(J===Q0)if(this.options.to==="string")this.result=this.chunks.join("");else this.result=x0.flattenChunks(this.chunks);this.chunks=[],this.err=J,this.msg=this.strm.msg};function U8(J,Q){let W=new X0(Q);if(W.push(J),W.err)throw W.msg||R6[W.err];return W.result}function nW(J,Q){return Q=Q||{},Q.raw=!0,U8(J,Q)}var rW=X0,oW=U8,aW=nW,sW=U8,tW=O6,eW={Inflate:rW,inflate:oW,inflateRaw:aW,ungzip:sW,constants:tW},{Deflate:J7,deflate:W7,deflateRaw:Q7,gzip:G7}=YW,{Inflate:V7,inflate:q7,inflateRaw:X7,ungzip:Y7}=eW,P7=J7,U7=W7,K7=Q7,F7=G7,Z7=V7,z7=q7,H7=X7,$7=Y7,k7=O6,D6={Deflate:P7,deflate:U7,deflateRaw:K7,gzip:F7,Inflate:Z7,inflate:z7,inflateRaw:H7,ungzip:$7,constants:k7};function cJ(J,Q,W){let G=Q.timestamp;if(G?.physical>Date.now()+7200000)G={physical:Date.now()+7200000,logical:G.logical};if(Q?.value?.priority===!0&&typeof Q.id==="string"&&Q.id.startsWith("user:")&&"role"in Q.value){let{priority:V,...q}=Q.value;return{resolved:!0,value:q,timestamp:G}}if(Q?.value?.priority!==void 0){let{priority:V,...q}=Q.value;Q={...Q,value:q}}if(!J?.timestamp)return{resolved:!0,value:Q.value,timestamp:G};if(W.compare(G,J.timestamp)<=0)return{resolved:!1};return{resolved:!0,value:Q.value,timestamp:G}}function dJ(J,Q=50){let W=`gdb_oplog_${J}`,G=[];function V(){try{let P=localStorage.getItem(W);G=P?JSON.parse(P):[]}catch(P){G=[]}}function q(){try{localStorage.setItem(W,JSON.stringify(G))}catch(P){}}return V(),{remove(P){G=G.filter((X)=>X.id!==P),q()},add(P){if(G.push(P),G.length>Q)G.shift();q()},getDelta(P,X){if(!P)return[...G];return G.filter((Z)=>X(Z.timestamp,P)>0)},getOldest(){return G[0]},clear(){G=[],localStorage.removeItem(W)}}}var B7=()=>{let J=new Map,Q=async(U,k)=>{let F=J.get(U)??[];J.set(U,F);let K=F[F.length-1]??Promise.resolve(),z,I=new Promise((j)=>z=j);F.push(I);try{return await K,await k()}finally{if(F.shift(),z(),!F.length)J.delete(U)}},W=(U,k)=>navigator.locks?.request?.(`opfs:${U}`,{mode:"exclusive"},k)??Q(U,k),G=async()=>{try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-sync-test",{create:!0})).createSyncAccessHandle?.();return await F?.close(),await U.removeEntry("~opfs-sync-test"),!!F}catch{return!1}},V="idb",q=(async()=>{if(await G()){V="sync";return}try{let U=await navigator.storage.getDirectory(),F=await(await U.getFileHandle("~opfs-async-test",{create:!0})).createWritable?.();await F?.close(),await U.removeEntry("~opfs-async-test"),V=F?"async":"idb"}catch{V="idb"}})(),P=navigator.storage.getDirectory(),X=(()=>{let U,k=()=>U??=new Promise((F,K)=>{let z=indexedDB.open("opfs-fallback-db",1);z.onupgradeneeded=()=>z.result.createObjectStore("files"),z.onsuccess=()=>F(z.result),z.onerror=()=>K(z.error)});return{get:async(F)=>{let K=await k();return new Promise((z,I)=>{let B=K.transaction("files","readonly").objectStore("files").get(F);B.onsuccess=()=>z(B.result||new Uint8Array),B.onerror=()=>I(B.error)})},set:async(F,K)=>{let z=await k();return new Promise((I,j)=>{let R=z.transaction("files","readwrite").objectStore("files").put(K,F);R.onsuccess=()=>I(),R.onerror=()=>j(R.error)})}}})(),Z=async(U)=>{await q;try{if(V==="idb"){let j=await X.get(U);self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let F=await(await P).getFileHandle(U).catch(()=>null);if(!F){let j=new Uint8Array;self.postMessage({type:"loaded",name:U,data:j},[j.buffer]);return}let K=async()=>{try{let j=await F.createSyncAccessHandle();try{let B=j.getSize(),R=new Uint8Array(B),L=j.read(R,{at:0}),$=R.slice(0,L);self.postMessage({type:"loaded",name:U,data:$},[$.buffer])}finally{j.close()}}catch(j){if(j?.name==="NoModificationAllowedError"){let B=await F.getFile(),R=new Uint8Array(await B.arrayBuffer());self.postMessage({type:"loaded",name:U,data:R},[R.buffer])}else throw j}};if(V==="sync"){await W(U,K);return}let z=await F.getFile(),I=new Uint8Array(await z.arrayBuffer());self.postMessage({type:"loaded",name:U,data:I},[I.buffer])}catch(k){if(k?.name==="NotFoundError"){let F=new Uint8Array;self.postMessage({type:"loaded",name:U,data:F},[F.buffer]);return}self.postMessage({type:"error",name:U,message:k?.message??"Error reading file"})}},Y=async(U,k)=>{if(await q,!(k instanceof Uint8Array))return{type:"error",name:U,message:"Content must be a Uint8Array"};return W(U,async()=>{try{if(V==="idb")return await X.set(U,k),{type:"saved",name:U};let K=await(await P).getFileHandle(U,{create:!0});if(V==="sync"){let z=await K.createSyncAccessHandle();try{z.truncate(0),z.write(k,{at:0}),z.flush()}finally{z.close()}}else{let z=await K.createWritable();try{await z.write(k)}finally{await z.close()}}return{type:"saved",name:U}}catch(F){return{type:"error",name:U,message:F?.message??"Error saving file"}}})};self.onmessage=async({data:U})=>{let{type:k,name:F,content:K}=U;await q;let z={load:()=>Z(F),save:()=>Y(F,K)};try{let I=z[k],j=I?await I():{type:"error",message:`Unrecognized action type: ${k}`};if(j&&j.type)self.postMessage(j)}catch(I){self.postMessage({type:"error",name:F,message:I?.message??"Unexpected worker error"})}}},lJ=B7;var Y0={$eq:(J,Q)=>J===Q,$ne:(J,Q)=>J!==Q,$gt:(J,Q)=>J>Q,$gte:(J,Q)=>J>=Q,$lt:(J,Q)=>J<Q,$lte:(J,Q)=>J<=Q,$in:(J,Q)=>Array.isArray(Q)&&(Array.isArray(J)?J.some((W)=>Q.includes(W)):Q.includes(J)),$between:(J,[Q,W])=>J>=Q&&J<=W,$exists:(J,Q)=>Q?J!==void 0:J===void 0,$startsWith:(J,Q)=>typeof J==="string"&&J.startsWith(Q),$endsWith:(J,Q)=>typeof J==="string"&&J.endsWith(Q),$contains:(J,Q)=>typeof J==="string"&&J.includes(Q),$text:{global:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Object.values(J).some((V)=>typeof V==="object"?null.fieldSearch(V,G):W(V).includes(G))},field:(J,Q)=>{let W=(V)=>String(V).normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^\w\s]/g,""),G=W(Q);return Array.isArray(J)?J.some((V)=>W(V).includes(G)):W(J).includes(G)}},$like:(J,Q)=>typeof J==="string"&&typeof Q==="string"&&new RegExp(`^${Q.replace(/%/g,".*").replace(/_/g,".")}$`,"i").test(J),$regex:(J,Q)=>typeof J==="string"&&new RegExp(Q.$regex||Q,"i").test(J),$and:(J,Q,W)=>Q.every((G)=>W.createFilter(G,W.allNodes)(J)),$or:(J,Q,W)=>Q.some((G)=>W.createFilter(G,W.allNodes)(J)),$not:(J,Q,W)=>!W.createFilter(Q,W.allNodes)(J),$edge:(J,Q,W)=>{if(!J.edges?.length||typeof Q!=="object"||Q===null)return!1;let G=W.createFilter(Q,W.allNodes),V=[...J.edges],q=new Set(V).add(J.id),P=[];while(V.length){let X=V.shift(),Z=W.allNodes[X];if(!Z)continue;if(G(Z))P.push(Z);Z.edges?.forEach((Y)=>!q.has(Y)&&q.add(Y)&&V.push(Y))}if(P.length)J._edgeResult=P;return P.length>0}},A0=(J,Q)=>Q.split(".").reduce((W,G)=>W&&typeof W==="object"&&(G in W)?W[G]:void 0,J),w0=(J,Q)=>{if(Object.keys(J).length===0)return()=>!0;return(W)=>Object.entries(J).every(([G,V])=>{if(G.startsWith("$"))return Y0[G](W,V,{createFilter:w0,allNodes:Q});let q=A0(W.value,G);if(q===void 0)q=A0(W,G);if(typeof V!=="object"||V===null)return Y0.$eq(q,V);return Object.entries(V).every(([P,X])=>{if(P==="$text")return Y0.$text.field(q,X);if(P==="$between"&&X.every((Z)=>Z instanceof Date))return Y0.$between(new Date(q),X);return Y0[P]?.(q,X,{createFilter:w0,allNodes:Q})??!1})})},K8=(J,Q)=>{let{$edge:W,...G}=Q.query||{},V=w0(G,J),q=Object.values(J).filter(V),X=[...W?(()=>{let Z=w0({$edge:W},J);q.forEach((U)=>Z(U));let Y=new Map;return q.forEach((U)=>{if(U._edgeResult)U._edgeResult.forEach((k)=>Y.set(k.id,k)),delete U._edgeResult}),Array.from(Y.values())})():q];if(Q.field){let Z=Q.order==="asc"?1:-1;X.sort((Y,U)=>{let k=A0(Y.value,Q.field),F=A0(U.value,Q.field);if(typeof k==="string"&&typeof F==="string")return k.localeCompare(F)*Z;return((k??0)-(F??0))*Z})}if(Q.$after){let Z=X.findIndex((Y)=>Y.id===Q.$after);X=Z>=0?X.slice(Z+1):[]}if(Q.$before){let Z=X.findIndex((Y)=>Y.id===Q.$before);X=Z>=0?X.slice(0,Z):[]}if(Q.$limit)X=X.slice(0,Q.$limit);return X};function iJ(){let J=Date.now(),Q=0;return{now(){let W=Date.now();return J=Math.max(J,W),Q++,{physical:J,logical:Q}},update(W){if(!W||typeof W.physical!=="number"||typeof W.logical!=="number")return;J=Math.max(J,W.physical),Q=Math.max(Q,W.logical)+1},compare(W,G){if(!W&&!G)return 0;if(!W)return-1;if(!G)return 1;if(W.physical>G.physical)return 1;if(W.physical<G.physical)return-1;if(W.logical>G.logical)return 1;if(W.logical<G.logical)return-1;return 0}}}var j7={sm:()=>import(new URL("./sm.min.js",import.meta.url).href),ai:()=>import(new URL("./ai.min.js",import.meta.url).href),rx:()=>import(new URL("./rx.min.js",import.meta.url).href),ii:()=>import(new URL("./ii.min.js",import.meta.url).href),audit:()=>import(new URL("./audit.min.js",import.meta.url).href),geo:()=>import(new URL("./geo.min.js",import.meta.url).href),nlq:()=>import(new URL("./nlq.min.js",import.meta.url).href),genosrtc:()=>import(new URL("./genosrtc.min.js",import.meta.url).href),"genosrtc-cells":()=>import(new URL("./genosrtc-cells.min.js",import.meta.url).href)},nJ=(J,Q)=>J.length===Q.length&&J.every((W,G)=>W===Q[G]),F8=(J)=>J&&typeof J==="object"?globalThis.structuredClone?.(J)??JSON.parse(JSON.stringify(J)):J,rJ=(J,Q=16)=>{let W=null,G=null;return(...V)=>{if(!G)G={},G.promise=new Promise((P,X)=>(G.resolve=P,G.reject=X));if(W)("cancelIdleCallback"in window?cancelIdleCallback:clearTimeout)(W);let q=async()=>{W=null;let P=G;G=null;try{P.resolve(await J(...V))}catch(X){P.reject(X)}};return W="requestIdleCallback"in window?requestIdleCallback(q,{timeout:Q}):setTimeout(q,Q),G.promise}},M7=(J)=>{let Q=null;return()=>{if(Q!==null)return;Q=requestAnimationFrame(()=>{Q=null,J()})}};async function C7(){if(navigator?.storage?.getDirectory)await navigator.storage.getDirectory()}function R7(){let J={nodes:{}};return{get nodes(){return J.nodes},set nodes(Q){J.nodes=Q||{}},upsert(Q,W,G){let V=J.nodes[Q];J.nodes[Q]={id:Q,value:W&&typeof W==="object"?F8(W):W,edges:V?.edges?[...V.edges]:[],timestamp:G}},get(Q){return J.nodes[Q]||null},link(Q,W,G){let V=J.nodes[Q],q=J.nodes[W];if(V&&q&&!V.edges.includes(W))J.nodes[Q]={...V,edges:[...V.edges,W],timestamp:G}},getAllNodes(){return Object.values(J.nodes)},serialize(){return D6.deflate(u6(J.nodes))},deserialize(Q){J.nodes=B6(D6.inflate(new Uint8Array(Q)))}}}async function oJ(J,Q={}){let{rtc:W=!1,password:G,sm:V=!1,audit:q=!1,ii:P=!1,rx:X=!1,ai:Z=!1,geo:Y=!1,nlq:U=!1,saveDelay:k=200,oplogSize:F=20}=Q,K=R7(),z=iJ(),I=dJ(J,F),j=[],B=null,R=[],L=null,$=null,S=null,p=null,C=[],T={};Object.defineProperties(T,{syncChannel:{get:()=>$},broadcastChannel:{get:()=>S},hybridClock:{get:()=>z},graph:{get:()=>({getAllNodes:()=>K.getAllNodes(),get:(M)=>K.get(M)})},worker:{get:()=>L},oplog:{get:()=>I},options:{get:()=>Q},pako:{get:()=>D6},encode:{get:()=>u6},decode:{get:()=>B6},deepClone:{get:()=>F8}});async function A(M,w){try{let O=await j7[M](),f=w&&typeof w==="object"?w:{},_=await O.init?.(T,O,f);if(_)Object.assign(T,_);return O}catch(O){throw O}}function x(){let M=localStorage.getItem(`${J}_time`);B=M?JSON.parse(M):null}function N(M){B=M,localStorage.setItem(`${J}_time`,JSON.stringify(M))}function V6(){try{let M=URL.createObjectURL(new Blob([`(${lJ.toString()})()`],{type:"application/javascript"}));L=new Worker(M),URL.revokeObjectURL(M),L.addEventListener("message",({data:w})=>{return})}catch({message:M}){}}function h6(){let M={...K.nodes};R.forEach((w)=>w(M))}let e=M7(()=>h6()),P6=rJ(async()=>{let M=C.splice(0,C.length);if(!M.length)return!1;return await $.send(M),!0},16);async function Z8(){try{let w=await((O)=>new Promise((f,_)=>{let b=async({data:H})=>{if(H.type==="loaded"&&H.name===O)L.removeEventListener("message",b),f(new Uint8Array(H.data));else if(H.type==="error")L.removeEventListener("message",b),_(Error(H.message||"Unknown error"))};L.addEventListener("message",b),L.postMessage({type:"load",name:O})}))(`${J}_graph.msgpack`).catch(()=>new Uint8Array);w.byteLength>0&&K.deserialize(w)}catch({message:M}){}}async function z8(){try{let M=K.serialize();return await((O,f)=>new Promise((_,b)=>{let H=({data:D})=>{if(D.type==="saved"&&D.name===O)L.removeEventListener("message",H),_();else if(D.type==="error")L.removeEventListener("message",H),b(Error(D.message||"Save error"))};L.addEventListener("message",H),L.postMessage({type:"save",name:O,content:f})}))(`${J}_graph.msgpack`,M),S.postMessage("update"),!0}catch({message:M}){throw Error("Save failed")}}let P0=rJ(()=>z8(),k);async function aJ(M){let w=!1,O=null,f=(H)=>{if(!O||z.compare(H,O)>0)O=H},_=(H)=>{try{if(H instanceof Uint8Array)return B6(D6.inflate(H));if(Array.isArray(H))return H;if(H&&typeof H==="object")return B6(D6.inflate(new Uint8Array(Object.values(H))))}catch(D){}return null},b={upsert:(H)=>{let D=K.get(H.id),{resolved:g,value:y,timestamp:u}=cJ(D,H,z);if(!g)return;K.upsert(H.id,y,u),z.update(u),I.add({type:"upsert",id:H.id,timestamp:u}),w=!0,f(u)},remove:(H)=>{let D=K.get(H.id);if(!D||z.compare(D.timestamp,H.timestamp)>=0)return;delete K.nodes[H.id],z.update(H.timestamp),I.add({type:"remove",id:H.id,timestamp:H.timestamp}),w=!0,f(H.timestamp)},link:(H)=>{let D=K.get(H.sourceId),g=K.get(H.targetId);if(!D||!g||z.compare(D.timestamp,H.timestamp)>=0)return;K.link(H.sourceId,H.targetId,H.timestamp),z.update(H.timestamp),I.add({type:"link",...H}),w=!0,f(H.timestamp)},sync:async({timestamp:H})=>{let D=I.getOldest();if(H==null||D&&z.compare(H,D.timestamp)<0)return $.send([{type:"fullStateSync",graphData:K.serialize(),timestamp:B}]);let y=I.getDelta(H,z.compare);if(!y.length)return;let u=y.map((t)=>t.type==="upsert"?{...t,value:K.get(t.id)?.value}:t);await $.send([{type:"deltaSync",operations:D6.deflate(u6(u)),timestamp:B}])},deltaSync:({operations:H})=>{let D=_(H);if(!Array.isArray(D))return;for(let g of D)if(g&&b[g.type])b[g.type](g)},fullStateSync:async({graphData:H,timestamp:D})=>{if(B&&D&&z.compare(B,D)>0)return;if(!(H instanceof Uint8Array))if(H&&typeof H==="object")H=new Uint8Array(Object.values(H));else return;try{if(K.deserialize(H),I.clear(),w=!0,D)f(D),z.update(D)}catch(g){}}};for(let H of M)if(b[H.type])await b[H.type](H);if(O&&(!B||z.compare(O,B)>0))N(O);if(w)await P0(),e()}Object.assign(T,{use(M){if(typeof M==="function")j.push(M)},async put(M,w){let O=z.now();N(O),w=w??crypto.randomUUID(),K.upsert(w,M,O),I.add({type:"upsert",id:w,timestamp:O}),P0();try{C.push({type:"upsert",id:w,value:M,timestamp:O}),P6().catch(()=>{})}finally{e()}return w},async link(M,w){let O=z.now();if(!K.nodes[M]||!K.nodes[w])return;K.link(M,w,O),I.add({type:"link",sourceId:M,targetId:w,timestamp:O}),P0(),N(O);try{C.push({type:"link",sourceId:M,targetId:w,timestamp:O}),P6().catch(()=>{})}finally{e()}},async remove(M){let w=z.now(),O=K.get(M);if(!O)return;delete K.nodes[M],I.add({type:"remove",id:M,timestamp:w}),Object.values(K.nodes).forEach((f)=>f.edges=f.edges.filter((_)=>_!==M)),P0(),N(w);try{C.push({type:"remove",id:M,value:O.value,timestamp:w}),P6().catch(()=>{})}finally{e()}},async get(M,w=null){if(typeof M!=="string")return{result:null};let O=K.get(M);if(!O){if(w)w(null);return{result:null}}let f=(H)=>{if(!H)return null;let D=H.value!==null&&typeof H.value==="object"?{...H.value}:H.value;return{...H,value:D}};if(!w)return{result:f(O)};let _=O.timestamp;w(f(O));let b=(H)=>{let D=H[M];if(D){if(z.compare(D.timestamp,_)>0)_=D.timestamp,w(f(D))}else w(null),R.splice(R.indexOf(b),1)};return R.push(b),{result:f(O),unsubscribe:()=>{let H=R.indexOf(b);if(H>-1)R.splice(H,1)}}},async map(...M){let O={...{realtime:!1,query:{},field:null,order:"asc",$limit:null,$after:null,$before:null}},f=null,_=!1;M.forEach((g)=>typeof g==="function"?f=g:g&&typeof g==="object"&&(_=_||("realtime"in g),Object.assign(O,g))),f&&!_&&(O.realtime=!0);let b=K8(K.nodes,O),H=null,D=(g)=>{let y=new Map(b.map((m)=>[m.id,m])),u=new Map(g.map((m)=>[m.id,m])),t=[],A6=[],H8=[];for(let[m,K6]of u){let U0=y.get(m);if(!U0)t.push(K6);else if((K6.timestamp?.physical||0)!==(U0.timestamp?.physical||0)||(K6.timestamp?.logical||0)!==(U0.timestamp?.logical||0)||!nJ(K6.edges||[],U0.edges||[]))A6.push(K6)}for(let[m]of y)if(!u.has(m))H8.push(y.get(m));let N0=(m,K6)=>f({id:m.id,value:K6==="removed"?null:m.value,edges:m.edges||[],timestamp:m.timestamp||null,action:K6});t.forEach((m)=>N0(m,"added")),H8.forEach((m)=>N0(m,"removed")),A6.forEach((m)=>N0(m,"updated"))};if(f){if(b.forEach((g)=>{f({id:g.id,value:g.value,edges:g.edges,timestamp:g.timestamp,action:"initial"})}),O.realtime){let g=(y)=>{let u=y.timestamp?.physical||0,t=y.timestamp?.logical||0,A6=(y.edges||[]).join(",");return`${y.id}:${u}:${t}:${A6}`};H=(y)=>{let u=K8(y,O);if(u.length!==b.length)D(u),b=u;else{let t=u.map(g),A6=b.map(g);if(!nJ(t,A6))D(u),b=u}},R.push(H)}}return{results:b,...O.realtime&&f&&H&&{unsubscribe:()=>{let g=R.indexOf(H);g>-1&&R.splice(g,1)}}}},async clear(){K.nodes={},B=null,localStorage.removeItem(`${J}_time`),I.clear(),await z8(),h6()}}),V6(),x(),await C7(),await Z8();let U6=[];if(V)U6.push(A("sm",V));if(Z)U6.push(A("ai",Z));if(X)U6.push(A("rx",X));if(P)U6.push(A("ii",P));if(q)U6.push(A("audit",q));if(Y)U6.push(A("geo",Y));if(U)U6.push(A("nlq",U));await Promise.all(U6);let sJ=`graph-sync-room-${J}`;if(W){let M=W?.constructor===Object?W:{},w=M.cells?"genosrtc-cells":"genosrtc",{join:O,selfId:f}=await A(w),_={appId:"1234",...G&&{password:G},...M.relayUrls&&{relayUrls:M.relayUrls},...M.turnConfig&&{turnConfig:M.turnConfig},...M.cells&&M.cells!==!0&&{overlay:M.cells}},b=O(_,sJ);$=b.channel("syncGraph"),p=O(_,`app-sync-${J}`),T.room=p,T.selfId=f,b.on("peer:join",async(H)=>{$.send([{type:"sync",timestamp:B}])}),b.on("peer:leave",(H)=>{}),$?.on("message",async(H)=>{let D;try{if(H instanceof Uint8Array||H instanceof ArrayBuffer){let y=B6(H);D=Array.isArray(y)?y:[y]}else D=Array.isArray(H)?H:[H]}catch(y){return}let g=new Map([...new Set(D.flatMap((y)=>["id","sourceId","targetId"].map((u)=>y&&y[u]).filter(Boolean)))].map((y)=>K.get(y)?[y,F8(K.get(y))]:null).filter(Boolean));for(let y of j)try{if(D=await y(D,g),!D||!D.length)return}catch(u){return}await aJ(D)})}return S=new BroadcastChannel(`graphdb_sync_${J}`),S.onmessage=async(M)=>{if(M.data==="update")await Z8(),x(),e()},T}var uQ=oJ;class L7{constructor(){throw Error("⚠️ WARNING: `new GDB()` is deprecated and will be removed. "+"Migrate to async factory function `const db = await gdb(...)`.\nMigration Guide: https://github.com/estebanrfp/gdb/wiki/Migration-Guide\nWiki: https://github.com/estebanrfp/gdb/wiki")}}export{uQ as gdb,L7 as GDB};
|
package/dist/index.js.gz
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genosdb",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.3",
|
|
4
4
|
"description": "GenosDB (GDB): distributed graph database in real-time, peer-to-peer, scalable storage - efficient querying of complex relationships.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|