gitoriaLog in with ident

mpackdb

All repositories: gitoria

ReadmeCodePull requestsReleasesTicketsSettings
Commitb8ffc1a0b8ffc1a0release 1.0.5caramboleyob8ffc1a0/dist/mpackdb.min.js

61.5 KB

  1. var re=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ee=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var gr=Ee((Gi,_r)=>{"use strict";var wr=()=>process.platform==="linux",Qe=null,Hn=()=>{if(!Qe)if(wr()&&process.report){let t=process.report.excludeNetwork;process.report.excludeNetwork=!0,Qe=process.report.getReport(),process.report.excludeNetwork=t}else Qe={};return Qe};_r.exports={isLinux:wr,getReport:Hn}});var Sr=Ee((Ji,br)=>{"use strict";var De=re("fs"),Gn="/usr/bin/ldd",Jn="/proc/self/exe",et=2048,Wn=t=>{let e=De.openSync(t,"r"),n=Buffer.alloc(et),r=De.readSync(e,n,0,et,0);return De.close(e,()=>{}),n.subarray(0,r)},Yn=t=>new Promise((e,n)=>{De.open(t,"r",(r,i)=>{if(r)n(r);else{let s=Buffer.alloc(et);De.read(i,s,0,et,0,(f,u)=>{e(s.subarray(0,u)),De.close(i,()=>{})})}})});br.exports={LDD_PATH:Gn,SELF_PATH:Jn,readFileSync:Wn,readFile:Yn}});var Ir=Ee((Wi,kr)=>{"use strict";var Xn=t=>{if(t.length<64||t.readUInt32BE(0)!==2135247942||t.readUInt8(4)!==2||t.readUInt8(5)!==1)return null;let e=t.readUInt32LE(32),n=t.readUInt16LE(54),r=t.readUInt16LE(56);for(let i=0;i<r;i++){let s=e+i*n;if(t.readUInt32LE(s)===3){let u=t.readUInt32LE(s+8),d=t.readUInt32LE(s+32);return t.subarray(u,u+d).toString().replace(/\0.*$/g,"")}}return null};kr.exports={interpreterPath:Xn}});var zr=Ee((Yi,jr)=>{"use strict";var Tr=re("child_process"),{isLinux:Ce,getReport:Ur}=gr(),{LDD_PATH:tt,SELF_PATH:Or,readFile:kt,readFileSync:It}=Sr(),{interpreterPath:vr}=Ir(),ue,de,he,Ar="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",Ie="",Pr=()=>Ie||new Promise(t=>{Tr.exec(Ar,(e,n)=>{Ie=e?" ":n,t(Ie)})}),Br=()=>{if(!Ie)try{Ie=Tr.execSync(Ar,{encoding:"utf8"})}catch{Ie=" "}return Ie},we="glibc",Lr=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,Pe="musl",Zn=t=>t.includes("libc.musl-")||t.includes("ld-musl-"),Mr=()=>{let t=Ur();return t.header&&t.header.glibcVersionRuntime?we:Array.isArray(t.sharedObjects)&&t.sharedObjects.some(Zn)?Pe:null},Nr=t=>{let[e,n]=t.split(/[\r\n]+/);return e&&e.includes(we)?we:n&&n.includes(Pe)?Pe:null},Rr=t=>{if(t){if(t.includes("/ld-musl-"))return Pe;if(t.includes("/ld-linux-"))return we}return null},Dr=t=>(t=t.toString(),t.includes("musl")?Pe:t.includes("GNU C Library")?we:null),Qn=async()=>{if(de!==void 0)return de;de=null;try{let t=await kt(tt);de=Dr(t)}catch{}return de},ei=()=>{if(de!==void 0)return de;de=null;try{let t=It(tt);de=Dr(t)}catch{}return de},ti=async()=>{if(ue!==void 0)return ue;ue=null;try{let t=await kt(Or),e=vr(t);ue=Rr(e)}catch{}return ue},ri=()=>{if(ue!==void 0)return ue;ue=null;try{let t=It(Or),e=vr(t);ue=Rr(e)}catch{}return ue},Cr=async()=>{let t=null;if(Ce()&&(t=await ti(),!t&&(t=await Qn(),t||(t=Mr()),!t))){let e=await Pr();t=Nr(e)}return t},Fr=()=>{let t=null;if(Ce()&&(t=ri(),!t&&(t=ei(),t||(t=Mr()),!t))){let e=Br();t=Nr(e)}return t},ni=async()=>Ce()&&await Cr()!==we,ii=()=>Ce()&&Fr()!==we,si=async()=>{if(he!==void 0)return he;he=null;try{let e=(await kt(tt)).match(Lr);e&&(he=e[1])}catch{}return he},ai=()=>{if(he!==void 0)return he;he=null;try{let e=It(tt).match(Lr);e&&(he=e[1])}catch{}return he},Kr=()=>{let t=Ur();return t.header&&t.header.glibcVersionRuntime?t.header.glibcVersionRuntime:null},Er=t=>t.trim().split(/\s+/)[1],Vr=t=>{let[e,n,r]=t.split(/[\r\n]+/);return e&&e.includes(we)?Er(e):n&&r&&n.includes(Pe)?Er(r):null},li=async()=>{let t=null;if(Ce()&&(t=await si(),t||(t=Kr()),!t)){let e=await Pr();t=Vr(e)}return t},fi=()=>{let t=null;if(Ce()&&(t=ai(),t||(t=Kr()),!t)){let e=Br();t=Vr(e)}return t};jr.exports={GLIBC:we,MUSL:Pe,family:Cr,familySync:Fr,isNonGlibcLinux:ni,isNonGlibcLinuxSync:ii,version:li,versionSync:fi}});var nn=Ee((Xi,rn)=>{var oi=re("fs"),le=re("path"),ci=re("url"),Hr=re("os"),Gr=typeof __webpack_require__=="function"?__non_webpack_require__:re,ui=process.config&&process.config.variables||{},di=!!process.env.PREBUILDS_ONLY,vt=process.versions,Tt=vt.modules;(vt.deno||process.isBun)&&(Tt="unsupported");var Et=xi()?"electron":yi()?"node-webkit":"node",rt=process.env.npm_config_arch||Hr.arch(),nt=process.env.npm_config_platform||Hr.platform(),Jr=process.env.LIBC||(pi(nt)?"musl":"glibc"),Ut=process.env.ARM_VERSION||(rt==="arm64"?"8":ui.arm_version)||"",Wr=(vt.uv||"").split(".")[0];rn.exports=ye;function ye(t){return Gr(ye.resolve(t))}ye.resolve=ye.path=function(t){t=le.resolve(t||".");var e="",n;try{e=Gr(le.join(t,"package.json")).name;var r=e.toUpperCase().replace(/-/g,"_");process.env[r+"_PREBUILD"]&&(t=process.env[r+"_PREBUILD"])}catch(p){n=p}if(!di){var i=qr(le.join(t,"build/Release"),$r);if(i)return i;var s=qr(le.join(t,"build/Debug"),$r);if(s)return s}var f=U(t);if(f)return f;var u=U(le.dirname(process.execPath));if(u)return u;var d=(e[0]=="@"?"":"@"+e+"/")+e+"-"+nt+"-"+rt,g;try{var w=le.dirname(re("module").createRequire(ci.pathToFileURL(le.join(t,"package.json"))).resolve(d));return k(w)}catch(p){g=p}var h=["platform="+nt,"arch="+rt,"runtime="+Et,"abi="+Tt,"uv="+Wr,Ut?"armv="+Ut:"","libc="+Jr,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");let b="No native build was found for "+h+`
  2. attempted loading from: `+t+" and package: "+d+`
  3. `;throw n&&(b+="Error finding package.json: "+n.message+`
  4. `),g&&(b+="Error resolving package: "+g.message+`
  5. `),new Error(b);function U(p){var N=Ot(le.join(p,"prebuilds")).map(Yr),R=N.filter(Xr(nt,rt)).sort(Zr)[0];if(R)return k(le.join(p,"prebuilds",R.name))}function k(p){var N=Ot(p).map(Qr),R=N.filter(en(Et,Tt)),O=R.sort(tn(Et))[0];if(O)return le.join(p,O.file)}};function Ot(t){try{return oi.readdirSync(t)}catch{return[]}}function qr(t,e){var n=Ot(t).filter(e);return n[0]&&le.join(t,n[0])}function $r(t){return/\.node$/.test(t)}function Yr(t){var e=t.split("-");if(e.length===2){var n=e[0],r=e[1].split("+");if(n&&r.length&&r.every(Boolean))return{name:t,platform:n,architectures:r}}}function Xr(t,e){return function(n){return n==null||n.platform!==t?!1:n.architectures.includes(e)}}function Zr(t,e){return t.architectures.length-e.architectures.length}function Qr(t){var e=t.split("."),n=e.pop(),r={file:t,specificity:0};if(n==="node"){for(var i=0;i<e.length;i++){var s=e[i];if(s==="node"||s==="electron"||s==="node-webkit")r.runtime=s;else if(s==="napi")r.napi=!0;else if(s.slice(0,3)==="abi")r.abi=s.slice(3);else if(s.slice(0,2)==="uv")r.uv=s.slice(2);else if(s.slice(0,4)==="armv")r.armv=s.slice(4);else if(s==="glibc"||s==="musl")r.libc=s;else continue;r.specificity++}return r}}function en(t,e){return function(n){return!(n==null||n.runtime!==t&&!hi(n)||n.abi!==e&&!n.napi||n.uv&&n.uv!==Wr||n.armv&&n.armv!==Ut||n.libc&&n.libc!==Jr)}}function hi(t){return t.runtime==="node"&&t.napi}function tn(t){return function(e,n){return e.runtime!==n.runtime?e.runtime===t?-1:1:e.abi!==n.abi?e.abi?-1:1:e.specificity!==n.specificity?e.specificity>n.specificity?-1:1:0}}function yi(){return!!(process.versions&&process.versions.nw)}function xi(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function pi(t){if(t!=="linux")return!1;let{familySync:e,MUSL:n}=zr();return e()===n}ye.parseTags=Qr;ye.matchTags=en;ye.compareTags=tn;ye.parseTuple=Yr;ye.matchTuple=Xr;ye.compareTuples=Zr});var sn=Ee((Qi,Pt)=>{var At=typeof __webpack_require__=="function"?__non_webpack_require__:re;typeof At.addon=="function"?Pt.exports=At.addon.bind(At):Pt.exports=nn()});var ln=Ee((ts,an)=>{an.exports=sn()(__dirname)});var be=class{#t;#r;#e;#n;constructor(e,n=()=>!0,r={}){this.#t=e,this.#r=n,this.#n=r}then(e,n){this.toArray().then(e,n)}async*[Symbol.asyncIterator](){this.#e||(this.#e=this.#t.recordGenerator(this.#r,this.#n)),yield*this.#e}next(){return this.#e||(this.#e=this.#t.recordGenerator(this.#r,this.#n)),this.#e.next()}async toArray(){let e=[];for await(let n of this)e.push(n);return e}};import{dirname as dn,basename as hn,extname as yn,resolve as Bt}from"path";import{createReadStream as Ii,createWriteStream as xn}from"fs";import{mkdir as Ei,open as Lt,stat as pn,readFile as mn,writeFile as wn,rename as Ti,unlink as Ui}from"fs/promises";var at;try{at=new TextDecoder}catch{}var _,ie,a=0;var ct=[],Ue=ct,Ke=0,$={},F,pe,ne=0,se=0,Y,me,Q=[],C,Dt={useRecords:!1,mapsAsObjects:!0},Ve=class{},ut=new Ve;ut.name="MessagePack 0xC1";var Se=!1,Ht=2,lt,ft,ot;try{new Function("")}catch{Ht=1/0}var ke=class t{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=!1&&(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,n){if(_)return nr(()=>(He(),this?this.unpack(e,n):t.prototype.unpack.call(Dt,e,n)));!e.buffer&&e.constructor===ArrayBuffer&&(e=typeof Buffer<"u"?Buffer.from(e):new Uint8Array(e)),typeof n=="object"?(ie=n.end||e.length,a=n.start||0):(a=0,ie=n>-1?n:e.length),Ke=0,se=0,pe=null,Ue=ct,Y=null,_=e;try{C=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(r){throw _=null,e instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(e&&typeof e=="object"?e.constructor.name:typeof e))}if(this instanceof t){if($=this,this.structures)return F=this.structures,qe(n);(!F||F.length>0)&&(F=[])}else $=Dt,(!F||F.length>0)&&(F=[]);return qe(n)}unpackMultiple(e,n){let r,i=0;try{Se=!0;let s=e.length,f=this?this.unpack(e,s):Ge.unpack(e,s);if(n){if(n(f,i,a)===!1)return;for(;a<s;)if(i=a,n(qe(),i,a)===!1)return}else{for(r=[f];a<s;)i=a,r.push(qe());return r}}catch(s){throw s.lastPosition=i,s.values=r,s}finally{Se=!1,He()}}_mergeStructures(e,n){ft&&(e=ft.call(this,e)),e=e||[],Object.isFrozen(e)&&(e=e.map(r=>r.slice(0)));for(let r=0,i=e.length;r<i;r++){let s=e[r];s&&(s.isShared=!0,r>=32&&(s.highByte=r-32>>5))}e.sharedLength=e.length;for(let r in n||[])if(r>=0){let i=e[r],s=n[r];s&&(i&&((e.restoreStructures||(e.restoreStructures=[]))[r]=i),e[r]=s)}return this.structures=e}decode(e,n){return this.unpack(e,n)}};function qe(t){try{if(!$.trusted&&!Se){let n=F.sharedLength||0;n<F.length&&(F.length=n)}let e;if($.randomAccessStructure&&_[a]<64&&_[a]>=32&&lt?(e=lt(_,a,ie,$),_=null,!(t&&t.lazy)&&e&&(e=e.toJSON()),a=ie):e=J(),Y&&(a=Y.postBundlePosition,Y=null),Se&&(F.restoreStructures=null),a==ie)F&&F.restoreStructures&&Ct(),F=null,_=null,me&&(me=null);else{if(a>ie)throw new Error("Unexpected end of MessagePack data");if(!Se){let n;try{n=JSON.stringify(e,(r,i)=>typeof i=="bigint"?`${i}n`:i).slice(0,100)}catch(r){n="(JSON view not available "+r+")"}throw new Error("Data read, but end of buffer not reached "+n)}}return e}catch(e){throw F&&F.restoreStructures&&Ct(),He(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||a>ie)&&(e.incomplete=!0),e}}function Ct(){for(let t in F.restoreStructures)F[t]=F.restoreStructures[t];F.restoreStructures=null}function J(){let t=_[a++];if(t<160)if(t<128){if(t<64)return t;{let e=F[t&63]||$.getStructures&&Gt()[t&63];return e?(e.read||(e.read=dt(e,t&63)),e.read()):t}}else if(t<144)if(t-=128,$.mapsAsObjects){let e={};for(let n=0;n<t;n++){let r=tr();r==="__proto__"&&(r="__proto_"),e[r]=J()}return e}else{let e=new Map;for(let n=0;n<t;n++)e.set(J(),J());return e}else{t-=144;let e=new Array(t);for(let n=0;n<t;n++)e[n]=J();return $.freezeData?Object.freeze(e):e}else if(t<192){let e=t-160;if(se>=a)return pe.slice(a-ne,(a+=e)-ne);if(se==0&&ie<140){let n=e<16?ht(e):er(e);if(n!=null)return n}return $e(e)}else{let e;switch(t){case 192:return null;case 193:return Y?(e=J(),e>0?Y[1].slice(Y.position1,Y.position1+=e):Y[0].slice(Y.position0,Y.position0-=e)):ut;case 194:return!1;case 195:return!0;case 196:if(e=_[a++],e===void 0)throw new Error("Unexpected end of buffer");return st(e);case 197:return e=C.getUint16(a),a+=2,st(e);case 198:return e=C.getUint32(a),a+=4,st(e);case 199:return Te(_[a++]);case 200:return e=C.getUint16(a),a+=2,Te(e);case 201:return e=C.getUint32(a),a+=4,Te(e);case 202:if(e=C.getFloat32(a),$.useFloat32>2){let n=ve[(_[a]&127)<<1|_[a+1]>>7];return a+=4,(n*e+(e>0?.5:-.5)>>0)/n}return a+=4,e;case 203:return e=C.getFloat64(a),a+=8,e;case 204:return _[a++];case 205:return e=C.getUint16(a),a+=2,e;case 206:return e=C.getUint32(a),a+=4,e;case 207:return $.int64AsType==="number"?(e=C.getUint32(a)*4294967296,e+=C.getUint32(a+4)):$.int64AsType==="string"?e=C.getBigUint64(a).toString():$.int64AsType==="auto"?(e=C.getBigUint64(a),e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=C.getBigUint64(a),a+=8,e;case 208:return C.getInt8(a++);case 209:return e=C.getInt16(a),a+=2,e;case 210:return e=C.getInt32(a),a+=4,e;case 211:return $.int64AsType==="number"?(e=C.getInt32(a)*4294967296,e+=C.getUint32(a+4)):$.int64AsType==="string"?e=C.getBigInt64(a).toString():$.int64AsType==="auto"?(e=C.getBigInt64(a),e>=BigInt(-2)<<BigInt(52)&&e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=C.getBigInt64(a),a+=8,e;case 212:if(e=_[a++],e==114)return qt(_[a++]&63);{let n=Q[e];if(n)return n.read?(a++,n.read(J())):n.noBuffer?(a++,n()):n(_.subarray(a,++a));throw new Error("Unknown extension "+e)}case 213:return e=_[a],e==114?(a++,qt(_[a++]&63,_[a++])):Te(2);case 214:return Te(4);case 215:return Te(8);case 216:return Te(16);case 217:return e=_[a++],se>=a?pe.slice(a-ne,(a+=e)-ne):Jt(e);case 218:return e=C.getUint16(a),a+=2,se>=a?pe.slice(a-ne,(a+=e)-ne):Wt(e);case 219:return e=C.getUint32(a),a+=4,se>=a?pe.slice(a-ne,(a+=e)-ne):Yt(e);case 220:return e=C.getUint16(a),a+=2,Kt(e);case 221:return e=C.getUint32(a),a+=4,Kt(e);case 222:return e=C.getUint16(a),a+=2,Vt(e);case 223:return e=C.getUint32(a),a+=4,Vt(e);default:if(t>=224)return t-256;if(t===void 0){let n=new Error("Unexpected end of MessagePack data");throw n.incomplete=!0,n}throw new Error("Unknown MessagePack token "+t)}}}var bn=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function dt(t,e){function n(){if(n.count++>Ht){let i=t.read=new Function("r","return function(){return "+($.freezeData?"Object.freeze":"")+"({"+t.map(s=>s==="__proto__"?"__proto_:r()":bn.test(s)?s+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"})}")(J);return t.highByte===0&&(t.read=Ft(e,t.read)),i()}let r={};for(let i=0,s=t.length;i<s;i++){let f=t[i];f==="__proto__"&&(f="__proto_"),r[f]=J()}return $.freezeData?Object.freeze(r):r}return n.count=0,t.highByte===0?Ft(e,n):n}var Ft=(t,e)=>function(){let n=_[a++];if(n===0)return e();let r=t<32?-(t+(n<<5)):t+(n<<5),i=F[r]||Gt()[r];if(!i)throw new Error("Record id is not defined for "+r);return i.read||(i.read=dt(i,t)),i.read()};function Gt(){let t=nr(()=>(_=null,$.getStructures()));return F=$._mergeStructures(t,F)}var $e=Oe,Jt=Oe,Wt=Oe,Yt=Oe,Xt=!1;function Zt(t){Xt=!0,$e=e(1),Jt=e(2),Wt=e(3),Yt=e(5);function e(n){return function(i){let s=Ue[Ke++];if(s==null){if(Y)return Oe(i);let u=_.byteOffset,d=t(a-n+u,ie+u,_.buffer);if(typeof d=="string")s=d,Ue=ct;else if(Ue=d,Ke=1,se=1,s=Ue[0],s===void 0)throw new Error("Unexpected end of buffer")}let f=s.length;return f<=i?(a+=i,s):(pe=s,ne=a,se=a+f,a+=i,s.slice(0,i))}}}function Oe(t){let e;if(t<16&&(e=ht(t)))return e;if(t>64&&at)return at.decode(_.subarray(a,a+=t));let n=a+t,r=[];for(e="";a<n;){let i=_[a++];if((i&128)===0)r.push(i);else if((i&224)===192){let s=_[a++]&63;r.push((i&31)<<6|s)}else if((i&240)===224){let s=_[a++]&63,f=_[a++]&63;r.push((i&31)<<12|s<<6|f)}else if((i&248)===240){let s=_[a++]&63,f=_[a++]&63,u=_[a++]&63,d=(i&7)<<18|s<<12|f<<6|u;d>65535&&(d-=65536,r.push(d>>>10&1023|55296),d=56320|d&1023),r.push(d)}else r.push(i);r.length>=4096&&(e+=X.apply(String,r),r.length=0)}return r.length>0&&(e+=X.apply(String,r)),e}function Qt(t,e,n){let r=_;_=t,a=e;try{return Oe(n)}finally{_=r}}function Kt(t){let e=new Array(t);for(let n=0;n<t;n++)e[n]=J();return $.freezeData?Object.freeze(e):e}function Vt(t){if($.mapsAsObjects){let e={};for(let n=0;n<t;n++){let r=tr();r==="__proto__"&&(r="__proto_"),e[r]=J()}return e}else{let e=new Map;for(let n=0;n<t;n++)e.set(J(),J());return e}}var X=String.fromCharCode;function er(t){let e=a,n=new Array(t);for(let r=0;r<t;r++){let i=_[a++];if((i&128)>0){a=e;return}n[r]=i}return X.apply(String,n)}function ht(t){if(t<4)if(t<2){if(t===0)return"";{let e=_[a++];if((e&128)>1){a-=1;return}return X(e)}}else{let e=_[a++],n=_[a++];if((e&128)>0||(n&128)>0){a-=2;return}if(t<3)return X(e,n);let r=_[a++];if((r&128)>0){a-=3;return}return X(e,n,r)}else{let e=_[a++],n=_[a++],r=_[a++],i=_[a++];if((e&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){a-=4;return}if(t<6){if(t===4)return X(e,n,r,i);{let s=_[a++];if((s&128)>0){a-=5;return}return X(e,n,r,i,s)}}else if(t<8){let s=_[a++],f=_[a++];if((s&128)>0||(f&128)>0){a-=6;return}if(t<7)return X(e,n,r,i,s,f);let u=_[a++];if((u&128)>0){a-=7;return}return X(e,n,r,i,s,f,u)}else{let s=_[a++],f=_[a++],u=_[a++],d=_[a++];if((s&128)>0||(f&128)>0||(u&128)>0||(d&128)>0){a-=8;return}if(t<10){if(t===8)return X(e,n,r,i,s,f,u,d);{let g=_[a++];if((g&128)>0){a-=9;return}return X(e,n,r,i,s,f,u,d,g)}}else if(t<12){let g=_[a++],w=_[a++];if((g&128)>0||(w&128)>0){a-=10;return}if(t<11)return X(e,n,r,i,s,f,u,d,g,w);let h=_[a++];if((h&128)>0){a-=11;return}return X(e,n,r,i,s,f,u,d,g,w,h)}else{let g=_[a++],w=_[a++],h=_[a++],b=_[a++];if((g&128)>0||(w&128)>0||(h&128)>0||(b&128)>0){a-=12;return}if(t<14){if(t===12)return X(e,n,r,i,s,f,u,d,g,w,h,b);{let U=_[a++];if((U&128)>0){a-=13;return}return X(e,n,r,i,s,f,u,d,g,w,h,b,U)}}else{let U=_[a++],k=_[a++];if((U&128)>0||(k&128)>0){a-=14;return}if(t<15)return X(e,n,r,i,s,f,u,d,g,w,h,b,U,k);let p=_[a++];if((p&128)>0){a-=15;return}return X(e,n,r,i,s,f,u,d,g,w,h,b,U,k,p)}}}}}function jt(){let t=_[a++],e;if(t<192)e=t-160;else switch(t){case 217:e=_[a++];break;case 218:e=C.getUint16(a),a+=2;break;case 219:e=C.getUint32(a),a+=4;break;default:throw new Error("Expected string")}return Oe(e)}function st(t){return $.copyBuffers?Uint8Array.prototype.slice.call(_,a,a+=t):_.subarray(a,a+=t)}function Te(t){let e=_[a++];if(Q[e]){let n;return Q[e](_.subarray(a,n=a+=t),r=>{a=r;try{return J()}finally{a=n}})}else throw new Error("Unknown extension type "+e)}var zt=new Array(4096);function tr(){let t=_[a++];if(t>=160&&t<192){if(t=t-160,se>=a)return pe.slice(a-ne,(a+=t)-ne);if(!(se==0&&ie<180))return $e(t)}else return a--,rr(J());let e=(t<<5^(t>1?C.getUint16(a):t>0?_[a]:0))&4095,n=zt[e],r=a,i=a+t-3,s,f=0;if(n&&n.bytes==t){for(;r<i;){if(s=C.getUint32(r),s!=n[f++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(s=_[r++],s!=n[f++]){r=1879048192;break}if(r===i)return a=r,n.string;i-=3,r=a}for(n=[],zt[e]=n,n.bytes=t;r<i;)s=C.getUint32(r),n.push(s),r+=4;for(i+=3;r<i;)s=_[r++],n.push(s);let u=t<16?ht(t):er(t);return u!=null?n.string=u:n.string=$e(t)}function rr(t){if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return t.toString();if(t==null)return t+"";if($.allowArraysInMapKeys&&Array.isArray(t)&&t.flat().every(e=>["string","number","boolean","bigint"].includes(typeof e)))return t.flat().toString();throw new Error(`Invalid property type for record: ${typeof t}`)}var qt=(t,e)=>{let n=J().map(rr),r=t;e!==void 0&&(t=t<32?-((e<<5)+t):(e<<5)+t,n.highByte=e);let i=F[t];return i&&(i.isShared||Se)&&((F.restoreStructures||(F.restoreStructures=[]))[t]=i),F[t]=n,n.read=dt(n,r),n.read()};Q[0]=()=>{};Q[0].noBuffer=!0;Q[66]=t=>{let e=t.byteLength%8||8,n=BigInt(t[0]&128?t[0]-256:t[0]);for(let r=1;r<e;r++)n<<=BigInt(8),n+=BigInt(t[r]);if(t.byteLength!==e){let r=new DataView(t.buffer,t.byteOffset,t.byteLength),i=(s,f)=>{let u=f-s;if(u<=40){let h=r.getBigUint64(s);for(let b=s+8;b<f;b+=8)h<<=64n,h|=r.getBigUint64(b);return h}let d=s+(u>>4<<3),g=i(s,d),w=i(d,f);return g<<BigInt((f-d)*8)|w};n=n<<BigInt((r.byteLength-e)*8)|i(e,r.byteLength)}return n};var $t={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError=="function"?AggregateError:null};Q[101]=()=>{let t=J();if(!$t[t[0]]){let e=Error(t[1],{cause:t[2]});return e.name=t[0],e}return $t[t[0]](t[1],{cause:t[2]})};Q[105]=t=>{if($.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=C.getUint32(a-4);me||(me=new Map);let n=_[a],r;n>=144&&n<160||n==220||n==221?r=[]:n>=128&&n<144||n==222||n==223?r=new Map:(n>=199&&n<=201||n>=212&&n<=216)&&_[a+1]===115?r=new Set:r={};let i={target:r};me.set(e,i);let s=J();if(i.used)Object.assign(r,s);else return i.target=s;if(r instanceof Map)for(let[f,u]of s.entries())r.set(f,u);if(r instanceof Set)for(let f of Array.from(s))r.add(f);return r};Q[112]=t=>{if($.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=C.getUint32(a-4),n=me.get(e);return n.used=!0,n.target};Q[115]=()=>new Set(J());var yt=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(t=>t+"Array"),Sn=typeof globalThis=="object"?globalThis:window;Q[116]=t=>{let e=t[0],n=Uint8Array.prototype.slice.call(t,1).buffer,r=yt[e];if(!r){if(e===16)return n;if(e===17)return new DataView(n);throw new Error("Could not find typed array for code "+e)}return new Sn[r](n)};Q[120]=()=>{let t=J();return new RegExp(t[0],t[1])};var kn=[];Q[98]=t=>{let e=(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3],n=a;return a+=e-t.length,Y=kn,Y=[jt(),jt()],Y.position0=0,Y.position1=0,Y.postBundlePosition=a,a=n,J()};Q[255]=t=>t.length==4?new Date((t[0]*16777216+(t[1]<<16)+(t[2]<<8)+t[3])*1e3):t.length==8?new Date(((t[0]<<22)+(t[1]<<14)+(t[2]<<6)+(t[3]>>2))/1e6+((t[3]&3)*4294967296+t[4]*16777216+(t[5]<<16)+(t[6]<<8)+t[7])*1e3):t.length==12?new Date(((t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3])/1e6+((t[4]&128?-281474976710656:0)+t[6]*1099511627776+t[7]*4294967296+t[8]*16777216+(t[9]<<16)+(t[10]<<8)+t[11])*1e3):new Date("invalid");function nr(t){ot&&ot();let e=ie,n=a,r=Ke,i=ne,s=se,f=pe,u=Ue,d=me,g=Y,w=new Uint8Array(_.slice(0,ie)),h=F,b=F.slice(0,F.length),U=$,k=Se,p=t();return ie=e,a=n,Ke=r,ne=i,se=s,pe=f,Ue=u,me=d,Y=g,_=w,Se=k,F=h,F.splice(0,F.length,...b),$=U,C=new DataView(_.buffer,_.byteOffset,_.byteLength),p}function He(){_=null,me=null,F=null}var ve=new Array(147);for(let t=0;t<256;t++)ve[t]=+("1e"+Math.floor(45.15-t*.30103));var Ge=new ke({useRecords:!1}),xt=Ge.unpack,In=Ge.unpackMultiple,En=Ge.unpack,Je={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},Tn=new Float32Array(1),Pi=new Uint8Array(Tn.buffer,0,4);function ir(t,e,n){lt=t,ft=e,ot=n}var Ye;try{Ye=new TextEncoder}catch{}var wt,fr,Le=typeof Buffer<"u",We=Le?function(t){return Buffer.allocUnsafeSlow(t)}:Uint8Array,or=Le?Buffer:Uint8Array,sr=Le?4294967296:2144337920,c,je,H,l=0,Z,G=null,cr,Un=21760,On=/[\u0080-\uFFFF]/,oe=Symbol("record-id"),Me=class extends ke{constructor(e){super(e),this.offset=0;let n,r,i,s,f,u=or.prototype.utf8Write?function(o,I){return c.utf8Write(o,I,c.byteLength-I)}:Ye&&Ye.encodeInto?function(o,I){return Ye.encodeInto(o,c.subarray(I)).written}:!1,d=this;e||(e={});let g=e&&e.sequential,w=e.structures||e.saveStructures,h=e.maxSharedStructures;if(h==null&&(h=w?32:0),h>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let b=e.maxOwnStructures;b==null&&(b=w?32:64),!this.structures&&e.useRecords!=!1&&(this.structures=[]);let U=h>32||b+h>64,k=h+64,p=h+b+64;if(p>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let N=[],R=0,O=0;this.pack=this.encode=function(o,I){if(c||(c=new We(8192),H=c.dataView||(c.dataView=new DataView(c.buffer,0,8192)),l=0),Z=c.length-10,Z-l<2048?(c=new We(c.length),H=c.dataView||(c.dataView=new DataView(c.buffer,0,c.length)),Z=c.length-10,l=0):l=l+7&2147483640,r=l,I&Dn&&(l+=I&255),f=d.structuredClone?new Map:null,d.bundleStrings&&typeof o!="string"?(G=[],G.size=1/0):G=null,s=d.structures,s){s.uninitialized&&(s=d._mergeStructures(d.getStructures()));let x=s.sharedLength||0;if(x>h)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+s.sharedLength);if(!s.transitions){s.transitions=Object.create(null);for(let m=0;m<x;m++){let B=s[m];if(!B)continue;let L,v=s.transitions;for(let z=0,q=B.length;z<q;z++){let fe=B[z];L=v[fe],L||(L=v[fe]=Object.create(null)),v=L}v[oe]=m+64}this.lastNamedStructuresLength=x}g||(s.nextId=x+64)}i&&(i=!1);let S;try{d.randomAccessStructure&&o&&o.constructor&&o.constructor===Object?j(o):A(o);let x=G;if(G&&lr(r,A,0),f&&f.idsToInsert){let m=f.idsToInsert.sort((z,q)=>z.offset>q.offset?1:-1),B=m.length,L=-1;for(;x&&B>0;){let z=m[--B].offset+r;z<x.stringsPosition+r&&L===-1&&(L=0),z>x.position+r?L>=0&&(L+=6):(L>=0&&(H.setUint32(x.position+r,H.getUint32(x.position+r)+L),L=-1),x=x.previous,B++)}L>=0&&x&&H.setUint32(x.position+r,H.getUint32(x.position+r)+L),l+=m.length*6,l>Z&&D(l),d.offset=l;let v=vn(c.subarray(r,l),m);return f=null,v}return d.offset=l,I&Nn?(c.start=r,c.end=l,c):c.subarray(r,l)}catch(x){throw S=x,x}finally{if(s&&(W(),i&&d.saveStructures)){let x=s.sharedLength||0,m=c.subarray(r,l),B=ur(s,d);if(!S)return d.saveStructures(B,B.isCompatible)===!1?d.pack(o,I):(d.lastNamedStructuresLength=x,c.length>1073741824&&(c=null),m)}c.length>1073741824&&(c=null),I&Rn&&(l=r)}};let W=()=>{O<10&&O++;let o=s.sharedLength||0;if(s.length>o&&!g&&(s.length=o),R>1e4)s.transitions=null,O=0,R=0,N.length>0&&(N=[]);else if(N.length>0&&!g){for(let I=0,S=N.length;I<S;I++)N[I][oe]=0;N=[]}},M=o=>{var I=o.length;I<16?c[l++]=144|I:I<65536?(c[l++]=220,c[l++]=I>>8,c[l++]=I&255):(c[l++]=221,H.setUint32(l,I),l+=4);for(let S=0;S<I;S++)A(o[S])},A=o=>{l>Z&&(c=D(l));var I=typeof o,S;if(I==="string"){let x=o.length;if(G&&x>=4&&x<4096){if((G.size+=x)>Un){let v,z=(G[0]?G[0].length*3+G[1].length:0)+10;l+z>Z&&(c=D(l+z));let q;G.position?(q=G,c[l]=200,l+=3,c[l++]=98,v=l-r,l+=4,lr(r,A,0),H.setUint16(v+r-3,l-r-v)):(c[l++]=214,c[l++]=98,v=l-r,l+=4),G=["",""],G.previous=q,G.size=0,G.position=v}let L=On.test(o);G[L?0:1]+=o,c[l++]=193,A(L?-x:x);return}let m;x<32?m=1:x<256?m=2:x<65536?m=3:m=5;let B=x*3;if(l+B>Z&&(c=D(l+B)),x<64||!u){let L,v,z,q=l+m;for(L=0;L<x;L++)v=o.charCodeAt(L),v<128?c[q++]=v:v<2048?(c[q++]=v>>6|192,c[q++]=v&63|128):(v&64512)===55296&&((z=o.charCodeAt(L+1))&64512)===56320?(v=65536+((v&1023)<<10)+(z&1023),L++,c[q++]=v>>18|240,c[q++]=v>>12&63|128,c[q++]=v>>6&63|128,c[q++]=v&63|128):(c[q++]=v>>12|224,c[q++]=v>>6&63|128,c[q++]=v&63|128);S=q-l-m}else S=u(o,l+m);S<32?c[l++]=160|S:S<256?(m<2&&c.copyWithin(l+2,l+1,l+1+S),c[l++]=217,c[l++]=S):S<65536?(m<3&&c.copyWithin(l+3,l+2,l+2+S),c[l++]=218,c[l++]=S>>8,c[l++]=S&255):(m<5&&c.copyWithin(l+5,l+3,l+3+S),c[l++]=219,H.setUint32(l,S),l+=4),l+=S}else if(I==="number")if(o>>>0===o)o<32||o<128&&this.useRecords===!1||o<64&&!this.randomAccessStructure?c[l++]=o:o<256?(c[l++]=204,c[l++]=o):o<65536?(c[l++]=205,c[l++]=o>>8,c[l++]=o&255):(c[l++]=206,H.setUint32(l,o),l+=4);else if(o>>0===o)o>=-32?c[l++]=256+o:o>=-128?(c[l++]=208,c[l++]=o+256):o>=-32768?(c[l++]=209,H.setInt16(l,o),l+=2):(c[l++]=210,H.setInt32(l,o),l+=4);else{let x;if((x=this.useFloat32)>0&&o<4294967296&&o>=-2147483648){c[l++]=202,H.setFloat32(l,o);let m;if(x<4||(m=o*ve[(c[l]&127)<<1|c[l+1]>>7])>>0===m){l+=4;return}else l--}c[l++]=203,H.setFloat64(l,o),l+=8}else if(I==="object"||I==="function")if(!o)c[l++]=192;else{if(f){let m=f.get(o);if(m){if(!m.id){let B=f.idsToInsert||(f.idsToInsert=[]);m.id=B.push(m)}c[l++]=214,c[l++]=112,H.setUint32(l,m.id),l+=4;return}else f.set(o,{offset:l-r})}let x=o.constructor;if(x===Object)T(o);else if(x===Array)M(o);else if(x===Map)if(this.mapAsEmptyObject)c[l++]=128;else{S=o.size,S<16?c[l++]=128|S:S<65536?(c[l++]=222,c[l++]=S>>8,c[l++]=S&255):(c[l++]=223,H.setUint32(l,S),l+=4);for(let[m,B]of o)A(m),A(B)}else{for(let m=0,B=wt.length;m<B;m++){let L=fr[m];if(o instanceof L){let v=wt[m];if(v.write){v.type&&(c[l++]=212,c[l++]=v.type,c[l++]=0);let Fe=v.write.call(this,o);Fe===o?Array.isArray(o)?M(o):T(o):A(Fe);return}let z=c,q=H,fe=l;c=null;let ge;try{ge=v.pack.call(this,o,Fe=>(c=z,z=null,l+=Fe,l>Z&&D(l),{target:c,targetView:H,position:l-Fe}),A)}finally{z&&(c=z,H=q,l=fe,Z=c.length-10)}ge&&(ge.length+l>Z&&D(ge.length+l),l=ar(ge,c,l,v.type));return}}if(Array.isArray(o))M(o);else{if(o.toJSON){let m=o.toJSON();if(m!==o)return A(m)}if(I==="function")return A(this.writeFunction&&this.writeFunction(o));T(o)}}}else if(I==="boolean")c[l++]=o?195:194;else if(I==="bigint"){if(o<9223372036854776e3&&o>=-9223372036854776e3)c[l++]=211,H.setBigInt64(l,o);else if(o<18446744073709552e3&&o>0)c[l++]=207,H.setBigUint64(l,o);else if(this.largeBigIntToFloat)c[l++]=203,H.setFloat64(l,Number(o));else{if(this.largeBigIntToString)return A(o.toString());if(this.useBigIntExtension||this.moreTypes){let x=o<0?BigInt(-1):BigInt(0),m;if(o>>BigInt(65536)===x){let B=BigInt(18446744073709552e3)-BigInt(1),L=[];for(;L.push(o&B),o>>BigInt(63)!==x;)o>>=BigInt(64);m=new Uint8Array(new BigUint64Array(L).buffer),m.reverse()}else{let B=o<0,L=(B?~o:o).toString(16);if(L.length%2?L="0"+L:parseInt(L.charAt(0),16)>=8&&(L="00"+L),Le)m=Buffer.from(L,"hex");else{m=new Uint8Array(L.length/2);for(let v=0;v<m.length;v++)m[v]=parseInt(L.slice(v*2,v*2+2),16)}if(B)for(let v=0;v<m.length;v++)m[v]=~m[v]}m.length+l>Z&&D(m.length+l),l=ar(m,c,l,66);return}else throw new RangeError(o+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string")}l+=8}else if(I==="undefined")this.encodeUndefinedAsNil?c[l++]=192:(c[l++]=212,c[l++]=0,c[l++]=0);else throw new Error("Unknown type: "+I)},K=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?o=>{let I;if(this.skipValues){I=[];for(let m in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(m))&&!this.skipValues.includes(o[m])&&I.push(m)}else I=Object.keys(o);let S=I.length;S<16?c[l++]=128|S:S<65536?(c[l++]=222,c[l++]=S>>8,c[l++]=S&255):(c[l++]=223,H.setUint32(l,S),l+=4);let x;if(this.coercibleKeyAsNumber)for(let m=0;m<S;m++){x=I[m];let B=Number(x);A(isNaN(B)?x:B),A(o[x])}else for(let m=0;m<S;m++)A(x=I[m]),A(o[x])}:o=>{c[l++]=222;let I=l-r;l+=2;let S=0;for(let x in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(x))&&(A(x),A(o[x]),S++);if(S>65535)throw new Error('Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object');c[I+++r]=S>>8,c[I+r]=S&255},E=this.useRecords===!1?K:e.progressiveRecords&&!U?o=>{let I,S=s.transitions||(s.transitions=Object.create(null)),x=l++-r,m;for(let B in o)if(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B)){if(I=S[B],I)S=I;else{let L=Object.keys(o),v=S;S=s.transitions;let z=0;for(let q=0,fe=L.length;q<fe;q++){let ge=L[q];I=S[ge],I||(I=S[ge]=Object.create(null),z++),S=I}x+r+1==l?(l--,P(S,L,z)):V(S,L,x,z),m=!0,S=v[B]}A(o[B])}if(!m){let B=S[oe];B?c[x+r]=B:V(S,Object.keys(o),x,0)}}:o=>{let I,S=s.transitions||(s.transitions=Object.create(null)),x=0;for(let B in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B))&&(I=S[B],I||(I=S[B]=Object.create(null),x++),S=I);let m=S[oe];m?m>=96&&U?(c[l++]=((m-=96)&31)+96,c[l++]=m>>5):c[l++]=m:P(S,S.__keys__||Object.keys(o),x);for(let B in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B))&&A(o[B])},y=typeof this.useRecords=="function"&&this.useRecords,T=y?o=>{y(o)?E(o):K(o)}:E,D=o=>{let I;if(o>16777216){if(o-r>sr)throw new Error("Packed buffer would be larger than maximum buffer size");I=Math.min(sr,Math.round(Math.max((o-r)*(o>67108864?1.25:2),4194304)/4096)*4096)}else I=(Math.max(o-r<<2,c.length-1)>>12)+1<<12;let S=new We(I);return H=S.dataView||(S.dataView=new DataView(S.buffer,0,I)),o=Math.min(o,c.length),c.copy?c.copy(S,0,r,o):S.set(c.slice(r,o)),l-=r,r=0,Z=S.length-10,c=S},P=(o,I,S)=>{let x=s.nextId;x||(x=64),x<k&&this.shouldShareStructure&&!this.shouldShareStructure(I)?(x=s.nextOwnId,x<p||(x=k),s.nextOwnId=x+1):(x>=p&&(x=k),s.nextId=x+1);let m=I.highByte=x>=96&&U?x-96>>5:-1;o[oe]=x,o.__keys__=I,s[x-64]=I,x<k?(I.isShared=!0,s.sharedLength=x-63,i=!0,m>=0?(c[l++]=(x&31)+96,c[l++]=m):c[l++]=x):(m>=0?(c[l++]=213,c[l++]=114,c[l++]=(x&31)+96,c[l++]=m):(c[l++]=212,c[l++]=114,c[l++]=x),S&&(R+=O*S),N.length>=b&&(N.shift()[oe]=0),N.push(o),A(I))},V=(o,I,S,x)=>{let m=c,B=l,L=Z,v=r;c=je,l=0,r=0,c||(je=c=new We(8192)),Z=c.length-10,P(o,I,x),je=c;let z=l;if(c=m,l=B,Z=L,r=v,z>1){let q=l+z-1;q>Z&&D(q);let fe=S+r;c.copyWithin(fe+z,fe+1,l),c.set(je.slice(0,z),fe),l=q}else c[S+r]=je[0]},j=o=>{let I=cr(o,c,r,l,s,D,(S,x,m)=>{if(m)return i=!0;l=x;let B=c;return A(S),W(),B!==c?{position:l,targetView:H,target:c}:l},this);if(I===0)return T(o);l=I}}useBuffer(e){c=e,c.dataView||(c.dataView=new DataView(c.buffer,c.byteOffset,c.byteLength)),H=c.dataView,l=0}set position(e){l=e}get position(){return l}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}};fr=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Ve];wt=[{pack(t,e,n){let r=t.getTime()/1e3;if((this.useTimestamp32||t.getMilliseconds()===0)&&r>=0&&r<4294967296){let{target:i,targetView:s,position:f}=e(6);i[f++]=214,i[f++]=255,s.setUint32(f,r)}else if(r>0&&r<4294967296){let{target:i,targetView:s,position:f}=e(10);i[f++]=215,i[f++]=255,s.setUint32(f,t.getMilliseconds()*4e6+(r/1e3/4294967296>>0)),s.setUint32(f+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return e(0),n(this.onInvalidDate());let{target:i,targetView:s,position:f}=e(3);i[f++]=212,i[f++]=255,i[f++]=255}else{let{target:i,targetView:s,position:f}=e(15);i[f++]=199,i[f++]=12,i[f++]=255,s.setUint32(f,t.getMilliseconds()*1e6),s.setBigInt64(f+4,BigInt(Math.floor(r)))}}},{pack(t,e,n){if(this.setAsEmptyObject)return e(0),n({});let r=Array.from(t),{target:i,position:s}=e(this.moreTypes?3:0);this.moreTypes&&(i[s++]=212,i[s++]=115,i[s++]=0),n(r)}},{pack(t,e,n){let{target:r,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=101,r[i++]=0),n([t.name,t.message,t.cause])}},{pack(t,e,n){let{target:r,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=120,r[i++]=0),n([t.source,t.flags])}},{pack(t,e){this.moreTypes?pt(t,16,e):mt(Le?Buffer.from(t):new Uint8Array(t),e)}},{pack(t,e){let n=t.constructor;n!==or&&this.moreTypes?pt(t,yt.indexOf(n.name),e):mt(t,e)}},{pack(t,e){this.moreTypes?pt(t,17,e):mt(Le?Buffer.from(t):new Uint8Array(t),e)}},{pack(t,e){let{target:n,position:r}=e(1);n[r]=193}}];function pt(t,e,n,r){let i=t.byteLength;if(i+1<256){var{target:s,position:f}=n(4+i);s[f++]=199,s[f++]=i+1}else if(i+1<65536){var{target:s,position:f}=n(5+i);s[f++]=200,s[f++]=i+1>>8,s[f++]=i+1&255}else{var{target:s,position:f,targetView:u}=n(7+i);s[f++]=201,u.setUint32(f,i+1),f+=4}s[f++]=116,s[f++]=e,t.buffer||(t=new Uint8Array(t)),s.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),f)}function mt(t,e){let n=t.byteLength;var r,i;if(n<256){var{target:r,position:i}=e(n+2);r[i++]=196,r[i++]=n}else if(n<65536){var{target:r,position:i}=e(n+3);r[i++]=197,r[i++]=n>>8,r[i++]=n&255}else{var{target:r,position:i,targetView:s}=e(n+5);r[i++]=198,s.setUint32(i,n),i+=4}r.set(t,i)}function ar(t,e,n,r){let i=t.length;switch(i){case 1:e[n++]=212;break;case 2:e[n++]=213;break;case 4:e[n++]=214;break;case 8:e[n++]=215;break;case 16:e[n++]=216;break;default:i<256?(e[n++]=199,e[n++]=i):i<65536?(e[n++]=200,e[n++]=i>>8,e[n++]=i&255):(e[n++]=201,e[n++]=i>>24,e[n++]=i>>16&255,e[n++]=i>>8&255,e[n++]=i&255)}return e[n++]=r,e.set(t,n),n+=i,n}function vn(t,e){let n,r=e.length*6,i=t.length-r;for(;n=e.pop();){let s=n.offset,f=n.id;t.copyWithin(s+r,s,i),r-=6;let u=s+r;t[u++]=214,t[u++]=105,t[u++]=f>>24,t[u++]=f>>16&255,t[u++]=f>>8&255,t[u++]=f&255,i=s}return t}function lr(t,e,n){if(G.length>0){H.setUint32(G.position+t,l+n-G.position-t),G.stringsPosition=l-t;let r=G;G=null,e(r[0]),e(r[1])}}function ur(t,e){return t.isCompatible=n=>{let r=!n||(e.lastNamedStructuresLength||0)===n.length;return r||e._mergeStructures(n),r},t}function dr(t,e){cr=t,ur=e}var hr=new Me({useRecords:!1}),_t=hr.pack,An=hr.pack;var{NEVER:Pn,ALWAYS:Bn,DECIMAL_ROUND:Ln,DECIMAL_FIT:Mn}=Je,Nn=512,Rn=1024,Dn=2048;var gt=3,Re=0,ze=2,Xe=1,St=16,xr=["num","object","string","ascii"];xr[St]="date";var Cn=[!1,!0,!0,!1,!1,!0,!0,!1],pr;try{new Function(""),pr=!0}catch{}var Ae,Fn=typeof Buffer<"u",Ze,ce;try{Ze=new TextEncoder}catch{}var Kn=Fn?function(t,e,n){return t.utf8Write(e,n,t.byteLength-n)}:Ze&&Ze.encodeInto?function(t,e,n){return Ze.encodeInto(e,t.subarray(n)).written}:!1;dr(mr,$n);function mr(t,e,n,r,i,s,f,u){let d=u.typedStructs||(u.typedStructs=[]),g=e.dataView,w=(d.lastStringStart||100)+r,h=e.length-10,b=r;r>h&&(e=s(r),g=e.dataView,r-=n,b-=n,w-=n,n=0,h=e.length-10);let U,k=w,p=d.transitions||(d.transitions=Object.create(null)),N=d.nextId||d.length,R=N<15?1:N<240?2:N<61440?3:N<15728640?4:0;if(R===0)return 0;r+=R;let O=[],W,M=0;for(let K in t){let E=t[K],y=p[K];switch(y||(p[K]=y={key:K,parent:p,enumerationOffset:0,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null,date64:null}),r>h&&(e=s(r),g=e.dataView,r-=n,b-=n,w-=n,k-=n,n=0,h=e.length-10),typeof E){case"number":let T=E;if(N<200||!y.num64){if(T>>0===T&&T<536870912&&T>-520093696){T<246&&T>=0&&(y.num8&&!(N>200&&y.num32)||T<32&&!y.num32)?(p=y.num8||ee(y,Re,1),e[r++]=T):(p=y.num32||ee(y,Re,4),g.setUint32(r,T,!0),r+=4);break}else if(T<4294967296&&T>=-2147483648&&(g.setFloat32(r,T,!0),Cn[e[r+3]>>>5])){let j;if((j=T*ve[(e[r+3]&127)<<1|e[r+2]>>7])>>0===j){p=y.num32||ee(y,Re,4),r+=4;break}}}p=y.num64||ee(y,Re,8),g.setFloat64(r,T,!0),r+=8;break;case"string":let D=E.length;if(U=k-w,(D<<2)+k>h&&(e=s((D<<2)+k),g=e.dataView,r-=n,b-=n,w-=n,k-=n,n=0,h=e.length-10),D>65280+U>>2){O.push(K,E,r-b);break}let P,V=k;if(D<64){let j,o,I;for(j=0;j<D;j++)o=E.charCodeAt(j),o<128?e[k++]=o:o<2048?(P=!0,e[k++]=o>>6|192,e[k++]=o&63|128):(o&64512)===55296&&((I=E.charCodeAt(j+1))&64512)===56320?(P=!0,o=65536+((o&1023)<<10)+(I&1023),j++,e[k++]=o>>18|240,e[k++]=o>>12&63|128,e[k++]=o>>6&63|128,e[k++]=o&63|128):(P=!0,e[k++]=o>>12|224,e[k++]=o>>6&63|128,e[k++]=o&63|128)}else k+=Kn(e,E,k),P=k-V>D;if(U<160||U<246&&(y.ascii8||y.string8)){if(P)(p=y.string8)||(d.length>10&&(p=y.ascii8)?(p.__type=ze,y.ascii8=null,y.string8=p,f(null,0,!0)):p=ee(y,ze,1));else if(U===0&&!W){W=!0,p=y.ascii0||ee(y,gt,0);break}else!(p=y.ascii8)&&!(d.length>10&&(p=y.string8))&&(p=ee(y,gt,1));e[r++]=U}else p=y.string16||ee(y,ze,2),g.setUint16(r,U,!0),r+=2;break;case"object":if(E){E.constructor===Date?(p=y.date64||ee(y,St,8),g.setFloat64(r,E.getTime(),!0),r+=8):O.push(K,E,M);break}else y=yr(y,r,g,-10),y?(p=y,r=Ae):O.push(K,E,M);break;case"boolean":p=y.num8||y.ascii8||ee(y,Re,1),e[r++]=E?249:248;break;case"undefined":y=yr(y,r,g,-9),y?(p=y,r=Ae):O.push(K,E,M);break;default:O.push(K,E,M)}M++}for(let K=0,E=O.length;K<E;){let y=O[K++],T=O[K++],D=O[K++],P=p[y];P||(p[y]=P={key:y,parent:p,enumerationOffset:D-M,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null});let V;if(T){let j;U=k-w,U<65280?(p=P.object16,p?j=2:(p=P.object32)?j=4:(p=ee(P,Xe,2),j=2)):(p=P.object32||ee(P,Xe,4),j=4),V=f(T,k),typeof V=="object"?(k=V.position,g=V.targetView,e=V.target,w-=n,r-=n,b-=n,n=0):k=V,j===2?(g.setUint16(r,U,!0),r+=2):(g.setUint32(r,U,!0),r+=4)}else p=P.object16||ee(P,Xe,2),g.setInt16(r,T===null?-10:-9,!0),r+=2;M++}let A=p[oe];if(A==null){A=u.typedStructs.length;let K=[],E=p,y,T;for(;(T=E.__type)!==void 0;){let D=E.__size;E=E.__parent,y=E.key;let P=[T,D,y];E.enumerationOffset&&P.push(E.enumerationOffset),K.push(P),E=E.parent}K.reverse(),p[oe]=A,u.typedStructs[A]=K,f(null,0,!0)}switch(R){case 1:if(A>=16)return 0;e[b]=A+32;break;case 2:if(A>=256)return 0;e[b]=56,e[b+1]=A;break;case 3:if(A>=65536)return 0;e[b]=57,g.setUint16(b+1,A,!0);break;case 4:if(A>=16777216)return 0;g.setUint32(b,(A<<8)+58,!0);break}if(r<w){if(w===k)return r;e.copyWithin(r,w,k),k+=r-w,d.lastStringStart=r-b}else if(r>w)return w===k?r:(d.lastStringStart=r-b,mr(t,e,n,b,i,s,f,u));return k}function yr(t,e,n,r){let i;if(i=t.ascii8||t.num8)return n.setInt8(e,r,!0),Ae=e+1,i;if(i=t.string16||t.object16)return n.setInt16(e,r,!0),Ae=e+2,i;if(i=t.num32)return n.setUint32(e,3758096640+r,!0),Ae=e+4,i;if(i=t.num64)return n.setFloat64(e,NaN,!0),n.setInt8(e,r),Ae=e+8,i;Ae=e}function ee(t,e,n){let r=xr[e]+(n<<3),i=t[r]||(t[r]=Object.create(null));return i.__type=e,i.__size=n,i.__parent=t,i}function Vn(t){if(!(t instanceof Map))return t;let e=t.get("typed")||[];Object.isFrozen(e)&&(e=e.map(i=>i.slice(0)));let n=t.get("named"),r=Object.create(null);for(let i=0,s=e.length;i<s;i++){let f=e[i],u=r;for(let[d,g,w]of f){let h=u[w];h||(u[w]=h={key:w,parent:u,enumerationOffset:0,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null,date64:null}),u=ee(h,d,g)}u[oe]=i}return e.transitions=r,this.typedStructs=e,this.lastTypedStructuresLength=e.length,n}var bt=Symbol.for("source");function jn(t,e,n,r){let i=t[e++]-32;if(i>=24)switch(i){case 24:i=t[e++];break;case 25:i=t[e++]+(t[e++]<<8);break;case 26:i=t[e++]+(t[e++]<<8)+(t[e++]<<16);break;case 27:i=t[e++]+(t[e++]<<8)+(t[e++]<<16)+(t[e++]<<24);break}let s=r.typedStructs&&r.typedStructs[i];if(!s){if(t=Uint8Array.prototype.slice.call(t,e,n),n-=e,e=0,!r.getStructures)throw new Error(`Reference to shared structure ${i} without getStructures method`);if(r._mergeStructures(r.getStructures()),!r.typedStructs)throw new Error("Could not find any shared typed structures");if(r.lastTypedStructuresLength=r.typedStructs.length,s=r.typedStructs[i],!s)throw new Error("Could not find typed structure "+i)}var f=s.construct,u=s.fullConstruct;if(!f){f=s.construct=function(){},u=s.fullConstruct=function(){},u.prototype=r.structPrototype||{};var d=f.prototype=r.structPrototype?Object.create(r.structPrototype):{};let w=[],h=0,b;for(let U=0,k=s.length;U<k;U++){let p=s[U],[N,R,O,W]=p;O==="__proto__"&&(O="__proto_");let M={key:O,offset:h};W?w.splice(U+W,0,M):w.push(M);let A;switch(R){case 0:A=()=>0;break;case 1:A=(E,y)=>{let T=E.bytes[y+M.offset];return T>=246?Ne(T):T};break;case 2:A=(E,y)=>{let T=E.bytes,P=(T.dataView||(T.dataView=new DataView(T.buffer,T.byteOffset,T.byteLength))).getUint16(y+M.offset,!0);return P>=65280?Ne(P&255):P};break;case 4:A=(E,y)=>{let T=E.bytes,P=(T.dataView||(T.dataView=new DataView(T.buffer,T.byteOffset,T.byteLength))).getUint32(y+M.offset,!0);return P>=4294967040?Ne(P&255):P};break}M.getRef=A,h+=R;let K;switch(N){case gt:b&&!b.next&&(b.next=M),b=M,M.multiGetCount=0,K=function(E){let y=E.bytes,T=E.position,D=h+T,P=A(E,T);if(typeof P!="number")return P;let V,j=M.next;for(;j&&(V=j.getRef(E,T),typeof V!="number");)V=null,j=j.next;return V==null&&(V=E.bytesEnd-D),E.srcString?E.srcString.slice(P,V):Qt(y,P+D,V-P)};break;case ze:case Xe:b&&!b.next&&(b.next=M),b=M,K=function(E){let y=E.position,T=h+y,D=A(E,y);if(typeof D!="number")return D;let P=E.bytes,V,j=M.next;for(;j&&(V=j.getRef(E,y),typeof V!="number");)V=null,j=j.next;if(V==null&&(V=E.bytesEnd-T),N===ze)return P.toString("utf8",D+T,V+T);ce=E;try{return r.unpack(P,{start:D+T,end:V+T})}finally{ce=null}};break;case Re:switch(R){case 4:K=function(E){let y=E.bytes,T=y.dataView||(y.dataView=new DataView(y.buffer,y.byteOffset,y.byteLength)),D=E.position+M.offset,P=T.getInt32(D,!0);if(P<536870912){if(P>-520093696)return P;if(P>-536870912)return Ne(P&255)}let V=T.getFloat32(D,!0),j=ve[(y[D+3]&127)<<1|y[D+2]>>7];return(j*V+(V>0?.5:-.5)>>0)/j};break;case 8:K=function(E){let y=E.bytes,D=(y.dataView||(y.dataView=new DataView(y.buffer,y.byteOffset,y.byteLength))).getFloat64(E.position+M.offset,!0);if(isNaN(D)){let P=y[E.position+M.offset];if(P>=246)return Ne(P)}return D};break;case 1:K=function(E){let T=E.bytes[E.position+M.offset];return T<246?T:Ne(T)};break}break;case St:K=function(E){let y=E.bytes,T=y.dataView||(y.dataView=new DataView(y.buffer,y.byteOffset,y.byteLength));return new Date(T.getFloat64(E.position+M.offset,!0))};break}M.get=K}if(pr){let U=[],k=[],p=0,N;for(let O of w){if(r.alwaysLazyProperty&&r.alwaysLazyProperty(O.key)){N=!0;continue}Object.defineProperty(d,O.key,{get:zn(O.get),enumerable:!0});let W="v"+p++;k.push(W),U.push("o["+JSON.stringify(O.key)+"]="+W+"(s)")}N&&U.push("__proto__:this");let R=new Function(...k,"var c=this;return function(s){var o=new c();"+U.join(";")+";return o;}").apply(u,w.map(O=>O.get));Object.defineProperty(d,"toJSON",{value(O){return R.call(this,this[bt])}})}else Object.defineProperty(d,"toJSON",{value(U){let k={};for(let p=0,N=w.length;p<N;p++){let R=w[p].key;k[R]=this[R]}return k}})}var g=new f;return g[bt]={bytes:t,position:e,srcString:"",bytesEnd:n},g}function Ne(t){switch(t){case 246:return null;case 247:return;case 248:return!1;case 249:return!0}throw new Error("Unknown constant")}function zn(t){return function(){return t(this[bt])}}function qn(){ce&&(ce.bytes=Uint8Array.prototype.slice.call(ce.bytes,ce.position,ce.bytesEnd),ce.position=0,ce.bytesEnd=ce.bytes.length)}function $n(t,e){if(e.typedStructs){let r=new Map;r.set("named",t),r.set("typed",e.typedStructs),t=r}let n=e.lastTypedStructuresLength||0;return t.isCompatible=r=>{let i=!0;return r instanceof Map?((r.get("named")||[]).length!==(e.lastNamedStructuresLength||0)&&(i=!1),(r.get("typed")||[]).length!==n&&(i=!1)):(r instanceof Array||Array.isArray(r))&&r.length!==(e.lastNamedStructuresLength||0)&&(i=!1),i||e._mergeStructures(r),i},e.lastTypedStructuresLength=e.typedStructs&&e.typedStructs.length,t}ir(jn,Vn,qn);import{createRequire as _i}from"module";var gi=process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!gi){let t;try{typeof re=="function"?t=ln():t=_i(import.meta.url)("msgpackr-extract"),t&&Zt(t.extractStrings)}catch{}}function fn(t){let e=_t(t),n=4+e.length,r=Buffer.allocUnsafe(n);return r.writeInt32LE(n,0),e.copy(r,4),r}function xe(t){return xt(t)}function on(){let t=Date.now().toString(36).padStart(9,"0"),e=Math.random().toString(36).slice(2,5).padStart(3,"0");return t+e}var te={NUMBER:0,UUID:1,STRING:2},_e={LEXICAL:0,NUMERIC:1};import{writeFile as cn,readFile as un,open as Be,rename as bi}from"fs/promises";import{createWriteStream as Si}from"fs";import{resolve as ki}from"path";var ae=4096,it=class{_dbDir;_dbName;_indexes;_indexTypes;_primaryKeyType;_persistIntervalId=null;_indexPaths={};_deltaIndexes={};_tombstones={};_persistThreshold=1e3;_totalDeltaCount=0;constructor(e,n,r,i,s){this._dbDir=e,this._dbName=n,this._indexes=r,this._indexTypes=i,this._primaryKeyType=s}async init(e,{forceRebuild:n=!1}={}){for(let r of this._indexes){this._deltaIndexes[r]=[],this._tombstones[r]=new Map;let i=ki(this._dbDir,`${this._dbName}.${r}.txt`);if(this._indexPaths[r]=i,n){await this._rebuildIndex(e,r);continue}try{let s=await Be(i,"r"),f=await s.stat();await s.close(),f.size===0&&await this._rebuildIndex(e,r)}catch(s){if(s.code==="ENOENT")await this._rebuildIndex(e,r);else throw s}}}async _rebuildIndex(e,n){let r=`${this._indexPaths[n]}.${Date.now()}.tmp`,i=Si(r,{flags:"w",encoding:"utf-8"}),s=this._getDocsAndLocationsFromDataFile(e),f=[];for await(let{doc:u,loc:d}of s)if(u&&u[n]!==void 0){let g=u[n];f.push({key:g,loc:d})}f.sort((u,d)=>this._compareKeys(u.key,d.key));for(let u of f)i.write(`${u.key},${u.loc[0]},${u.loc[1]}
  6. `);await new Promise(u=>i.end(u)),await bi(r,this._indexPaths[n])}async*_getDocsAndLocationsFromDataFile(e){let n;try{n=await Be(e,"r");let r=await n.stat(),i=0;for(;i<r.size;){let s=Buffer.alloc(4);await n.read(s,0,4,i);let f=s.readInt32LE(0);if(f<=0||i+f>r.size)break;let u=Buffer.alloc(f);await n.read(u,0,f,i),yield{doc:xe(u.subarray(4)),loc:[i,f]},i+=f}}catch(r){if(r.code!=="ENOENT")throw r}finally{await n?.close()}}_compareKeys(e,n){return typeof e=="number"&&typeof n=="number"?e-n:String(e).localeCompare(String(n))}startAutoPersist(e,n){this._persistThreshold=n,e>0&&(this._persistIntervalId=setInterval(async()=>{this._totalDeltaCount>0&&await this.persist()},e),this._persistIntervalId.unref())}async close(){this._persistIntervalId&&(clearInterval(this._persistIntervalId),this._persistIntervalId=null),await this.persist()}async persist(){for(let e of this._indexes){let n=[],r=this._indexPaths[e];try{n=(await un(r,"utf-8")).trim().split(`
  7. `).filter(Boolean).map(g=>{let[w,h,b]=g.split(",");return{key:this._parseKey(w,e),loc:[parseInt(h),parseInt(b)]}})}catch(d){if(d.code!=="ENOENT")throw d}let i=this._tombstones[e],s=n.filter(d=>!i.has(d.loc[0])),f=this._deltaIndexes[e]||[],u=[...s,...f];if(u.sort((d,g)=>this._compareKeys(d.key,g.key)),u.length>0){let d=u.map(g=>`${g.key},${g.loc[0]},${g.loc[1]}`).join(`
  8. `)+`
  9. `;await cn(r,d,"utf-8")}else await cn(r,"","utf-8");this._deltaIndexes[e]=[],this._tombstones[e].clear()}this._totalDeltaCount=0}_parseKey(e,n){let r=this._indexTypes[n];if(r===_e.NUMERIC){let i=parseInt(e,10);if(!isNaN(i))return i}else if(r===_e.LEXICAL)return e;if(this._primaryKeyType===te.NUMBER){let i=parseInt(e,10);if(!isNaN(i))return i}return e}async _binarySearchOnDisk(e,n){try{let r=await Be(this._indexPaths[e],"r"),i=await r.stat(),s=Math.ceil(i.size/ae),f=0,u=s-1,d=Buffer.alloc(1024);for(;f<=u;){let w=Math.floor((f+u)/2),h=w*ae,{bytesRead:b}=await r.read(d,0,1024,h);if(b===0)break;let k=d.subarray(0,b).toString("utf-8").split(`
  10. `),p=this._parseKey(k[0].split(",")[0],e),N=this._parseKey(k[k.length-2]?.split(",")[0]||p,e);this._compareKeys(N,n)<0?f=w+1:u=w-1}return await r.close(),Math.max(0,f-1)*ae}catch(r){if(r.code==="ENOENT")return-1;throw r}}async findLastEntry(e,n){let r=this._parseKey(n,e),i=this._deltaIndexes[e]||[];for(let u=i.length-1;u>=0;u--){let d=i[u];if(this._compareKeys(d.key,r)===0)return d}let s=await this._findLastEntryOnDisk(e,r);return s?this._tombstones[e].has(s.loc[0])?null:s:null}async _findLastEntryOnDisk(e,n){let r=await this._binarySearchOnDisk(e,n);if(r===-1)return null;let i=null,s=await Be(this._indexPaths[e],"r"),f=Buffer.alloc(ae),u=r;try{let d=await s.stat();for(;u<d.size;){let{bytesRead:g}=await s.read(f,0,ae,u);if(g===0)break;let h=f.slice(0,g).toString("utf-8").split(`
  11. `),b=!1;for(let U of h){if(!U)continue;let[k,p,N]=U.split(","),R=this._parseKey(k,e);this._compareKeys(R,n)===0&&(b=!0,i={key:R,loc:[parseInt(p),parseInt(N)]})}if(b)break;u+=ae}}finally{await s.close()}return i}insert(e,n){for(let r of this._indexes)e[r]!==void 0&&(this._deltaIndexes[r].push({key:e[r],loc:n}),this._totalDeltaCount++);this._totalDeltaCount>=this._persistThreshold&&this.persist().catch(r=>console.error("Index persist error:",r))}async remove(e,n){let r=e[n],i=this._deltaIndexes[n]||[],s=i.findIndex(f=>this._compareKeys(f.key,r)===0);if(s!==-1){let f=i[s].loc[0];for(let u of this._indexes)this._deltaIndexes[u]=(this._deltaIndexes[u]||[]).filter(d=>d.loc[0]!==f)}else{let f=await this._findLastEntryOnDisk(n,r);if(f)for(let u of this._indexes)e[u]!==void 0&&this._tombstones[u].set(f.loc[0],!0)}}async getAllLocations(){let e=this._indexes[0],n=this._indexPaths[e],r=[];try{r=(await un(n,"utf-8")).trim().split(`
  12. `).filter(Boolean).map(g=>{let[,w,h]=g.split(",");return{loc:[parseInt(w),parseInt(h)]}})}catch(d){if(d.code!=="ENOENT")throw d}let i=this._tombstones[e]||new Map,s=r.filter(d=>!i.has(d.loc[0])),f=this._deltaIndexes[e]||[],u=new Map;for(let d of s)u.set(`${d.loc[0]}:${d.loc[1]}`,d.loc);for(let d of f)u.set(`${d.loc[0]}:${d.loc[1]}`,d.loc);return Array.from(u.values())}async get(e,n){let r=this._parseKey(n,e),i=await this._getOnDisk(e,r),s=(this._deltaIndexes[e]||[]).filter(d=>this._compareKeys(d.key,r)===0),f=this._tombstones[e]||new Map,u=new Map;for(let d of i)f.has(d.loc[0])||u.set(`${d.loc[0]}:${d.loc[1]}`,d);for(let d of s)u.set(`${d.loc[0]}:${d.loc[1]}`,d);return Array.from(u.values())}async _getOnDisk(e,n){let r=await this._binarySearchOnDisk(e,n);if(r===-1)return[];let i=[],s=await Be(this._indexPaths[e],"r"),f=Buffer.alloc(ae),u=r;try{let d=await s.stat();for(;u<d.size;){let{bytesRead:g}=await s.read(f,0,ae,u);if(g===0)break;let h=f.subarray(0,g).toString("utf-8").split(`
  13. `),b,U=!1;for(let k of h){if(!k)continue;let[p,N,R]=k.split(",");b===void 0&&(b=this._parseKey(p,e));let O=this._parseKey(p,e);this._compareKeys(O,n)===0&&(U=!0,i.push({key:O,loc:[parseInt(N),parseInt(R)]}))}if(i.length>0&&!U||U===!1&&b&&this._compareKeys(b,n)>0)break;u+=ae}}finally{await s.close()}return i}async*entries(e,{from:n,limit:r}={}){let i=this._tombstones[e]||new Map,s=(this._deltaIndexes[e]||[]).filter(O=>!i.has(O.loc[0])).slice().sort((O,W)=>this._compareKeys(O.key,W.key)),f=0;if(n!==void 0)for(;f<s.length&&this._compareKeys(s[f].key,n)<0;)f++;let u,d=0,g=0;try{u=await Be(this._indexPaths[e],"r"),d=(await u.stat()).size,n!==void 0&&(g=await this._binarySearchOnDisk(e,n),g===-1&&(g=0))}catch(O){if(O.code!=="ENOENT")throw O}let w=Buffer.alloc(ae),h=g,b=0,U=new Set,k=this;async function*p(){if(u)try{for(;h<d;){let{bytesRead:O}=await u.read(w,0,ae,h);if(O===0)break;let W=w.subarray(0,O).toString("utf-8").split(`
  14. `);for(let M of W){if(!M)continue;let[A,K,E]=M.split(","),y=k._parseKey(A,e),T=[parseInt(K),parseInt(E)];i.has(T[0])||n!==void 0&&k._compareKeys(y,n)<0||(yield{key:y,loc:T})}h+=ae}}finally{await u.close()}}let N=p(),R=await N.next();for(;;){let O=!R.done,W=f<s.length;if(!O&&!W)break;let M;O?W?this._compareKeys(R.value.key,s[f].key)<=0?(M=R.value,R=await N.next()):M=s[f++]:(M=R.value,R=await N.next()):M=s[f++];let A=`${M.loc[0]}:${M.loc[1]}`;if(!U.has(A)&&(U.add(A),yield M,b++,r!==void 0&&b>=r)){R.done||await N.return();return}}}async*_getDocsByLocation(e,n){let r=await Be(e,"r");try{for(let i of n)if(i&&i.length===2&&i[1]>0){let[s,f]=i,u=Buffer.alloc(f);await r.read(u,0,f,s),yield xe(u.subarray(4))}}finally{await r.close()}}};var Mt=class{_dbFile=null;_primaryKeyType=null;_primaryKey=null;_classToUse=null;_indexes=[];_indexTypes={};_uniqueIndexes=new Set;_initPromise=null;_initState=0;_dataPath=null;_dataStream=null;_lockPath=null;_lockDepth=0;_indexManager=null;_meta={nextId:0,deleted:[]};_debug=!1;_indexPersistInterval=6e4;_indexPersistThreshold=1e3;_processExitHandler=null;_compact=!0;constructor(e,{primaryKey:n,primaryKeyType:r,indexes:i,debug:s,indexPersistInterval:f,indexPersistThreshold:u,compact:d}={}){this._dbFile=e||this._dbFile,this._debug=s||this._debug,d!==void 0&&(this._compact=d),f!==void 0&&(this._indexPersistInterval=f),u!==void 0&&(this._indexPersistThreshold=u),n&&(n.startsWith("*")?(this._primaryKey=n.slice(1),this._primaryKeyType=te.NUMBER):n.startsWith("@")?(this._primaryKey=n.slice(1),this._primaryKeyType=te.UUID):(this._primaryKey=n,this._primaryKeyType=te.STRING),r!==void 0&&(this._primaryKeyType=r)),this._primaryKey&&this._uniqueIndexes.add(this._primaryKey);let g=[...new Set([...this._primaryKey?[this._primaryKey]:[],...i||[],...this._indexes||[]])];this._indexes=[];for(let w of g){let h=w,b=!1;h.startsWith("!")&&(b=!0,h=h.slice(1)),h.startsWith("*")?(h=h.slice(1),this._indexTypes[h]=_e.NUMERIC):h.startsWith("@")?(h=h.slice(1),this._indexTypes[h]=_e.LEXICAL):h===this._primaryKey&&this._primaryKeyType===te.NUMBER?this._indexTypes[h]=_e.NUMERIC:this._indexTypes[h]=_e.LEXICAL,b&&this._uniqueIndexes.add(h),this._indexes.push(h)}}async init(){return this._initState===2?this:this._initState===1?this._initPromise:(this._initState=1,this._initPromise=new Promise(async e=>{if(!this._dbFile)throw new Error("No database file specified.");let n=dn(this._dbFile),r=hn(this._dbFile,yn(this._dbFile));await Ei(n,{recursive:!0}),this._dataPath=Bt(n,`${r}.mpack`),this._metaPath=Bt(n,`${r}.meta.json`),this._lockPath=Bt(n,`${r}.lock`);try{this._meta=JSON.parse(await mn(this._metaPath))}catch{this._meta={nextId:0,deleted:[]}}if(this._initState=2,this._compact&&await this.compact(),this._dataStream=xn(this._dataPath,{flags:"a"}),this._indexes.length>0){let i=dn(this._dbFile),s=hn(this._dbFile,yn(this._dbFile));this._indexManager=new it(i,s,this._indexes,this._indexTypes,this._primaryKeyType),await this._indexManager.init(this._dataPath),this._indexManager.startAutoPersist(this._indexPersistInterval,this._indexPersistThreshold),this._processExitHandler=async()=>{await this.close(),process.exit(0)},process.once("SIGINT",this._processExitHandler),process.once("SIGTERM",this._processExitHandler)}this._initPromise=null,e(this)}))}async insert(e,{skipPrimaryKey:n=!1}={}){await this.init(),await this._acquireLock("insert",e);try{let r=this._classToUse?Object.assign(new this._classToUse,e):{...e};if(this._primaryKey&&!n&&!r[this._primaryKey]&&(this._primaryKeyType===te.NUMBER?r[this._primaryKey]=this._meta.nextId++:this._primaryKeyType===te.UUID&&(r[this._primaryKey]=on())),this._indexManager&&this._uniqueIndexes.size>0){let d=this._primaryKey&&!n&&!e[this._primaryKey]&&(this._primaryKeyType===te.NUMBER||this._primaryKeyType===te.UUID),g=new Set(this._meta.deleted);for(let w of this._uniqueIndexes){if(d&&w===this._primaryKey)continue;let h=r[w];if(h===void 0)continue;if((await this._indexManager.get(w,h)).filter(k=>!g.has(k.loc[0])).length>0){let k=new Error(`Duplicate key: ${w}=${h}`);throw k.code="DUPLICATE_KEY",k.field=w,k.value=h,k}}}let i=fn(r),f=(await pn(this._dataPath).catch(()=>({size:0}))).size;await new Promise(d=>this._dataStream.write(i,d));let u=[f,i.length];return this._indexManager&&this._indexManager.insert(r,u),this._primaryKey&&this._primaryKeyType===te.NUMBER&&!n&&!e[this._primaryKey]&&await this.persistMeta(),this._primaryKey?r[this._primaryKey]:r}finally{await this._releaseLock()}}async update(e,n,{upsert:r=!1}={}){let i=await this.delete(e,async s=>this.insert(typeof n=="function"?await n(s):n,{skipPrimaryKey:!0}));return r&&i.length===0&&(i=await this.insert(typeof n=="function"?await n({}):n)),i}async upsert(e,n){return this.update(e,n,{upsert:!0})}async delete(e,n=async r=>r){await this.init(),await this._acquireLock("delete",e);try{let r=[];for await(let[i,s]of this.find(e,{mode:"mixed"}))this._meta.deleted.push(s),this._indexManager&&await this._indexManager.remove(i,this._primaryKey),r.push(n(i));return await this.persistMeta(),Promise.all(r)}finally{await this._releaseLock()}}find(e,n={}){if(typeof e>"u"||e===null||typeof e=="function")return new be(this,e,n);if(!this._primaryKey)throw new Error("No primary key specified.");return this._indexManager?new be(this,null,{...n,_indexLookup:{field:this._primaryKey,value:e}}):new be(this,r=>r[this._primaryKey]===e,n)}findByIndex(e,n={}){return new be(this,null,{...n,_indexWalk:{field:e}})}async withLock(e){await this.init(),await this._acquireLock("withLock");try{return await e()}finally{await this._releaseLock()}}async*recordGenerator(e=null,{mode:n="record",_indexLookup:r,_indexWalk:i,from:s,limit:f,filter:u}={}){if(await this.init(),await this.refresh(),r&&this._indexManager){yield*this._indexedLookup(r.field,r.value,n);return}if(i&&this._indexManager){yield*this._indexWalk(i.field,{from:s,limit:f,filter:u,mode:n});return}this._dataStream&&this._dataStream.writableLength>0&&await new Promise(U=>this._dataStream.once("drain",U));try{await pn(this._dataPath)}catch{return}let d=new Set(this._meta.deleted),g=Ii(this._dataPath),w=[],h=0,b=0;for await(let U of g)for(w.push(U),h+=U.length;!(h<4);){let k;w[0].length>=4?k=w[0]:k=Buffer.concat(w,4);let p=k.readInt32LE(0);if(p<=4)throw new Error(`Invalid record size read from stream: ${p}`);if(h<p)break;if(d.has(b)){[b,h]=_n(p,b,h,w);continue}switch(n){case"raw":yield Buffer.concat(w,p).subarray(0,p);break;case"mixed":case"record":let N=Buffer.concat(w,p).subarray(0,p),R=xe(N.subarray(4)),O=this._classToUse?Object.assign(new this._classToUse,R):R;e?e(O)&&(yield n==="mixed"?[O,b,p]:O):yield n==="mixed"?[O,b,p]:O;break;case"offset":if(e){let W=Buffer.concat(w,p).subarray(0,p),M=xe(W.subarray(4));e(M)&&(yield[b,p])}else yield[b,p];break;default:throw new Error(`Invalid mode: ${n}`)}[b,h]=_n(p,b,h,w)}}async*_indexedLookup(e,n,r="record"){let i=await this._indexManager.get(e,n);if(i.length===0)return;let s=new Set(this._meta.deleted),f=await Lt(this._dataPath,"r");try{for(let u of i){let[d,g]=u.loc;if(s.has(d))continue;let w=Buffer.alloc(g);switch(await f.read(w,0,g,d),r){case"raw":yield w;break;case"mixed":{let h=xe(w.subarray(4));yield[this._classToUse?Object.assign(new this._classToUse,h):h,d,g];break}default:{let h=xe(w.subarray(4));yield this._classToUse?Object.assign(new this._classToUse,h):h;break}}}}finally{await f.close()}}async*_indexWalk(e,{from:n,limit:r,filter:i,mode:s="record"}={}){let f=new Set(this._meta.deleted),u=await Lt(this._dataPath,"r"),d=0;try{for await(let g of this._indexManager.entries(e,{from:n})){let[w,h]=g.loc;if(f.has(w))continue;let b=Buffer.alloc(h);if(await u.read(b,0,h,w),s==="raw")yield b;else{let U=xe(b.subarray(4)),k=this._classToUse?Object.assign(new this._classToUse,U):U;if(i&&!i(k))continue;s==="mixed"?yield[k,w,h]:yield k}if(d++,r!==void 0&&d>=r)return}}finally{await u.close()}}async refresh(){try{this._meta=JSON.parse(await mn(this._metaPath))}catch{}}async persistMeta(){let e={...this._meta};this._primaryKeyType!==te.NUMBER&&delete e.nextId,await wn(this._metaPath,JSON.stringify(e))}async compact(){await this._acquireLock("compact");try{let e=xn(this._dataPath+".tmp",{flags:"w"});for await(let n of this.find(null,{mode:"raw"}))e.write(n);await new Promise((n,r)=>{e.end(i=>i?r(i):n())}),await Ti(this._dataPath+".tmp",this._dataPath),this._meta.deleted=[],await this.persistMeta(),this._indexManager&&await this._indexManager.init(this._dataPath,{forceRebuild:!0})}finally{await this._releaseLock()}}async _acquireLock(e,n,r=0){if(this._lockDepth>0){this._lockDepth++;return}try{await wn(this._lockPath,String(process.pid),{flag:"wx"}),this._lockDepth=1}catch(i){if(i.code==="EEXIST")return this.debug(`Waiting for lock file ${e} retry #${r}`,n),await new Promise(s=>setTimeout(s,100)),this._acquireLock(e,n,r+1);throw i}}async _releaseLock(){this._lockDepth--,this._lockDepth<=0&&(this._lockDepth=0,await Ui(this._lockPath).catch(()=>{}))}async _getDocByLocation([e,n]){if(!e||n===0)return null;let r=await Lt(this._dataPath,"r");try{let i=Buffer.alloc(n);return await r.read(i,0,n,e),xe(i)}finally{await r.close()}}async close(){this._indexManager&&await this._indexManager.close(),this._dataStream&&await new Promise((e,n)=>{this._dataStream.end(r=>r?n(r):e())}),this._processExitHandler&&(process.off("SIGINT",this._processExitHandler),process.off("SIGTERM",this._processExitHandler),this._processExitHandler=null)}debug(...e){this._debug&&console.log(...e)}};function _n(t,e,n,r){e+=t,n-=t;let i=t;for(;i>0&&r.length>0;){let s=r[0];i>=s.length?(i-=s.length,r.shift()):(r[0]=s.subarray(i),i=0)}return[e,n]}var gn=Mt;function Nt(t){return t&&t!==null&&typeof t=="object"&&!Array.isArray(t)}function Oi(t,...e){let n=new WeakSet,r=(i,s)=>{if(!(!Nt(i)||!Nt(s))&&!n.has(s)){n.add(s);for(let f in s)if(Nt(s[f])&&i[f])r(i[f],s[f]);else try{i[f]=s[f]}catch{}}};for(let i of e)r(t,i);return t}var Rt=class{constructor(e={},n=!0){n?Oi(this,e):Object.assign(this,e)}};export{be as Cursor,_e as IndexType,gn as MPackDB,Rt as Model,te as PrimaryKeyType,gn as default};
  15. //# sourceMappingURL=mpackdb.min.js.map

Branches

Latest commits

  • b8ffc1a0release 1.0.5caramboleyo
  • d47876a1reimplemented lost features like indexed find and more testscaramboleyo
  • 7f08da9afixed insert ignoring model definitioncaramboleyo
  • 705774a9added flush before findcaramboleyo
  • b4db6391initial commitcaramboleyo