w-orm-lowdb 1.0.35 → 1.0.37

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 CHANGED
@@ -67,6 +67,30 @@ Date:本套件以 JSON 存檔,Date 存入後為 ISO 字串(`toISOString()`)
67
67
 
68
68
  語意為 MongoDB 式:`{ f: null }` 命中 `f` 為 `null` 或缺欄之數據,`$ne: x`(x 非 `null`)與 `$nin` 亦命中欄位為 `null` 或缺欄之數據,`$ne: null` 則排除之。欄名同於 `Object.prototype` 成員者(`constructor`、`toString`、`hasOwnProperty` 等),數據無此自有欄位時視為缺欄。欄位值為陣列時,純量與 `$in` 條件仍以元素比對(`{ tags: 'x' }` 命中 `tags: ['x', 'y']`)。欲在 `w-orm-*` 各後端得到相同結果,請明確寫出:排除 null/缺欄用 `{ $and: [{ f: { $ne: null } }, { f: { $ne: x } }] }`,含 null/缺欄用 `{ $or: [{ f: null }, { f: { $ne: x } }] }`。
69
69
 
70
+ ### 字串良構 (Well-formed strings)
71
+
72
+ JavaScript 字串可含孤立代理字元(lone surrogate,即成對代理被拆開後只剩一半,如 `'a\uD800'`,`isWellFormed()` 為 `false`)。lowdb 以 JSON 檔存放,孤立代理字元可保真(寫入以 `\ud800` 轉義,讀回仍為孤立代理),本身不會造成主鍵相撞;但 w-orm 系列其他後端(UTF-8、BSON 儲存)會把它改寫為 U+FFFD,使不同主鍵寫成同一鍵、文件內相異鍵名撞鍵、寫入值與讀回值不同。為使同一應用更換後端時資料行為一致,系列規則為一律拒收,本套件亦同,於任何讀取與寫入之前檢核,檢核為 `wsemi` 之 `chkOrmStr`、`chkOrmData`(w-orm 系列共用):
73
+
74
+ - **主鍵 `id`**:不得含孤立代理字元,亦不得含 NUL 字元(U+0000),與 `find` 同標準;不隨 `autoGenPk` 改變。
75
+ - **寫入資料**(`insert`、`insertBulk`、`save`):任何字串值與鍵名(含巢狀物件、陣列元素、`Map`/`Set` 項目、`Error`/`RegExp` 之文字)不得含孤立代理字元;值與鍵名內之 NUL 不在此規則拒收範圍。
76
+ - **`opt.url`、`opt.db`、`opt.cl`**:含孤立代理字元者建構時 throw `invalid opt.<名>: string contains lone surrogate`,不建立任何檔案。
77
+ - U+FFFD 本身與成對代理(emoji、CJK 擴充 B 區以後之罕用字)為良構,照常接受。
78
+
79
+ 拒收之處置與既有「無效主鍵」同形,訊息為固定詞彙、不回顯值:
80
+
81
+ | 呼叫 | 結果 |
82
+ |---|---|
83
+ | `insert`、`insertBulk` | 整批 reject,不寫入任何一筆;於 reject 之前發出一次 `error` 事件 |
84
+ | `save`、`del` | 該筆 `ok: 0` 附 `err`,同批其他筆照常處理 |
85
+ | `selectByPk` | 回傳 `null`(不 reject、不發事件) |
86
+ | `select`、`delAll` | 不變:`invalid find: <原因> at [<路徑>]` |
87
+
88
+ 訊息為 `invalid id: <原因> at [data[<k>].id]` 與 `invalid data: <原因> at [data[<k>].<路徑>]`(`<k>` 為批次索引,單一物件呼叫為 `data[0]`;不合格之鍵名以 `<invalid key>` 表示),`<原因>` 為 `string contains lone surrogate`、`string contains NUL`(僅主鍵)、`not a string` 或 `string is empty`(`del` 之 `id` 未給、非字串或空字串;取代原本回顯值之 `can not delete by invalid id[...]`)。同批以索引最小之不合格筆為準,同一筆內主鍵先於資料;與 Date 範圍檢核並存時,Date 範圍檢核先於良構檢核。
89
+
90
+ **既有資料不遷移、不改讀取**:本規則實施前以孤立代理字元為主鍵寫入者,因本套件保真而仍留在檔案內,`select` 仍讀得到。檢出:`(await wo.select()).filter((r) => typeof r.id === 'string' && !r.id.isWellFormed())`。因孤立 `id` 本身已不可作為 `del`、`selectByPk` 之參數(被拒),清除須依該列之其他欄位 `delAll({ 欄: 值 })`,或 `delAll()` 清空整表,或直接改檔;若該列只有 `id` 欄,則僅能 `delAll()` 或改檔。已存入之值內孤立代理字元仍保真,對該列未含該欄之 `save` 更新照常成功(只檢核本次寫入之內容,不連坐檢核既有內容)。**主鍵含 NUL 之舊列**(原可保真存入)亦不再可由主鍵定址(`selectByPk` 回 `null`、`del` 該筆 `ok: 0`);其 `id` 為良構故上述 `isWellFormed` 檢出法不涵蓋,可改以 `r.id.includes('\u0000')` 檢出,清除同樣須依其他欄位 `delAll({ 欄: 值 })`、`delAll()` 或改檔。
91
+
92
+ 已知限制:`String` 包裝物件(`new String('...')`)僅檢核其字串值、不解包;`toJSON` 或自訂序列化之輸出不檢核。
93
+
70
94
  ### 破壞性變更 (Breaking changes)
71
95
 
72
96
  原本被接受或被靜默放行之條件,現改為 reject,不設過渡期。
@@ -77,6 +101,8 @@ Date:本套件以 JSON 存檔,Date 存入後為 ISO 字串(`toISOString()`)
77
101
  - 改為 reject(Date 範圍):條件內任何位置之 `Date` 年份小於 0 或大於 9999(如 `new Date(8.64e15)`),原本轉為帶正負號之 ISO 字串後以字典序比較,結果與時間序顛倒(`$gt` 哨兵命中所有帶日期之數據、`$lt` 哨兵恆無命中),現整批 reject;數據側見下一條。
78
102
  - 改為 reject(寫入 Date 範圍,1.0.34 起):`insert`、`insertBulk`、`save` 寫入之數據內任何深度之 `Date` 年份小於 0 或大於 9999(如以 `new Date(8.64e15)` 作「永不過期」哨兵),原本照存為 `+yyyyyy-…`、`-yyyyyy-…` 字串(其後會被 `{ t: { $lt: 現在 } }` 因字典序命中而遭 `delAll` 刪除),現整批 reject,訊息為 `invalid data: Date year is out of range 0000-9999 at [<路徑>]`;請改用 `null` 或 `new Date('9999-12-31T23:59:59.999Z')`。既有資料不遷移,仍有字典序風險,請自行清理或改寫(見上方「寫入數據之 Date」)。
79
103
  - 錯誤訊息為 `invalid find: <原因> at [<路徑>]`;原本由 `mingo` 拋出錯誤者,現統一為此訊息。
104
+ - 改為 reject(字串良構):主鍵含孤立代理字元或 NUL;寫入資料之字串值或鍵名含孤立代理字元;`opt.url`、`opt.db`、`opt.cl` 含孤立代理字元(建構時 throw)。原本 lowdb 以 JSON 保真而照存,現為系列一致而拒收,見上節「字串良構」。`del` 未給有效 `id` 之 `err` 由 `can not delete by invalid id[<值>]` 改為 `invalid id: <原因> at [data[<k>].id]`(不回顯值)。
105
+ - 修正(主鍵為 `Object.prototype` 成員名):主鍵為 `constructor`、`toString`、`valueOf`、`hasOwnProperty`、`__proto__` 等時,原本 `insert` 回 `{ n: 1, nInserted: 0, ok: 1 }` 而靜默不寫入,`insertBulk` 誤報 `can not insertBulk by existed id[...]`,以 `__proto__` 為主鍵之紀錄其欄位名(及 `k`、`v`)還會被誤認為其他主鍵(同批之後筆被判已存在、`del` 誤報已刪);現主鍵存在與否以 `Map` 判定,與一般字串主鍵行為相同。
80
106
 
81
107
  ## Documentation
82
108
  To view documentation or get support, visit [docs](https://yuda-lyu.github.io/w-orm-lowdbOrm.html).
@@ -351,9 +377,9 @@ test()
351
377
  // save then [ { n: 1, nInserted: 0, nModified: 1, ok: 1 } ]
352
378
  // change del
353
379
  // del then [ { n: 1, nDeleted: 1, ok: 1 } ]
354
- // error del can not delete by invalid id[]
380
+ // error del invalid id: not a string at [data[0].id]
355
381
  // change del
356
- // del(invalid id) then [ { n: 0, nDeleted: 0, ok: 0, err: 'can not delete by invalid id[]' } ]
382
+ // del(invalid id) then [ { n: 0, nDeleted: 0, ok: 0, err: 'invalid id: not a string at [data[0].id]' } ]
357
383
  // change delAll
358
384
  // delAll(find) then { n: 1, nDeleted: 1, ok: 1 }
359
385
  ```
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * w-orm-lowdb v1.0.35
2
+ * w-orm-lowdb v1.0.37
3
3
  * (c) 2018-2021 yuda-lyu(semisphere)
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("path"),require("lowdb"),require("node:fs"),require("node:fs/promises"),require("node:path"),require("node:url"),require("mingo")):"function"==typeof define&&define.amd?define(["path","lowdb","node:fs","node:fs/promises","node:path","node:url","mingo"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-lowdb"]=e(t.path,t.lowdb,null,t.promises,t.path,t.node_url,t.mingo)}(this,(function(t,e,r,n,o,i,a){"use strict";class u{#t;#e;#r=!1;#n=null;#o=null;#i=null;#a=null;#u(t){return this.#a=t,this.#i||=new Promise(((t,e)=>{this.#o=[t,e]})),new Promise(((t,e)=>{this.#i?.then(t).catch(e)}))}async#c(t){this.#r=!0;try{await n.writeFile(this.#e,t,"utf-8"),await async function(t,e,r){for(let n=0;n<e;n++)try{return await t()}catch(t){if(!(n<e-1))throw t;await new Promise((t=>setTimeout(t,r)))}}((async()=>{await n.rename(this.#e,this.#t)}),10,100),this.#n?.[0]()}catch(t){throw t instanceof Error&&this.#n?.[1](t),t}finally{if(this.#r=!1,this.#n=this.#o,this.#o=this.#i=null,null!==this.#a){const t=this.#a;this.#a=null,await this.write(t)}}}constructor(t){this.#t=t,this.#e=function(t){const e=t instanceof URL?i.fileURLToPath(t):t.toString();return o.join(o.dirname(e),`.${o.basename(e)}.tmp`)}(t)}async write(t){return this.#r?this.#u(t):this.#c(t)}}class c{#t;#l;constructor(t){this.#t=t,this.#l=new u(t)}async read(){let t;try{t=await n.readFile(this.#t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}return t}write(t){return this.#l.write(t)}}class l{#f;#s;#p;constructor(t,e){let{parse:r,stringify:n}=e;this.#f=new c(t),this.#s=r,this.#p=n}async read(){const t=await this.#f.read();return null===t?null:this.#s(t)}write(t){return this.#f.write(this.#p(t))}}class f extends l{constructor(t){super(t,{parse:JSON.parse,stringify:t=>JSON.stringify(t,null,2)})}}var s=Array.isArray,p="object"==typeof global&&global&&global.Object===Object&&global,h="object"==typeof self&&self&&self.Object===Object&&self,y=p||h||Function("return this")(),d=y.Symbol,b=Object.prototype,v=b.hasOwnProperty,g=b.toString,j=d?d.toStringTag:void 0;var w=Object.prototype.toString;var m=d?d.toStringTag:void 0;function _(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?function(t){var e=v.call(t,j),r=t[j];try{t[j]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(e?t[j]=r:delete t[j]),o}(t):function(t){return w.call(t)}(t)}function O(t){return null!=t&&"object"==typeof t}function x(t){return"symbol"==typeof t||O(t)&&"[object Symbol]"==_(t)}var A=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,$=/^\w*$/;function k(t,e){if(s(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!x(t))||($.test(t)||!A.test(t)||null!=e&&t in Object(e))}function S(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function P(t){if(!S(t))return!1;var e=_(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var D,I=y["__core-js_shared__"],N=(D=/[^.]+$/.exec(I&&I.keys&&I.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"";var E=Function.prototype.toString;function F(t){if(null!=t){try{return E.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var B=/^\[object .+?Constructor\]$/,L=Function.prototype,z=Object.prototype,M=L.toString,U=z.hasOwnProperty,C=RegExp("^"+M.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function R(t){return!(!S(t)||(e=t,N&&N in e))&&(P(t)?C:B).test(F(t));var e}function T(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return R(r)?r:void 0}var W=T(Object,"create");var q=Object.prototype.hasOwnProperty;var K=Object.prototype.hasOwnProperty;function V(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function J(t,e){return t===e||t!=t&&e!=e}function G(t,e){for(var r=t.length;r--;)if(J(t[r][0],e))return r;return-1}V.prototype.clear=function(){this.__data__=W?W(null):{},this.size=0},V.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},V.prototype.get=function(t){var e=this.__data__;if(W){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return q.call(e,t)?e[t]:void 0},V.prototype.has=function(t){var e=this.__data__;return W?void 0!==e[t]:K.call(e,t)},V.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=W&&void 0===e?"__lodash_hash_undefined__":e,this};var Z=Array.prototype.splice;function Q(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Q.prototype.clear=function(){this.__data__=[],this.size=0},Q.prototype.delete=function(t){var e=this.__data__,r=G(e,t);return!(r<0)&&(r==e.length-1?e.pop():Z.call(e,r,1),--this.size,!0)},Q.prototype.get=function(t){var e=this.__data__,r=G(e,t);return r<0?void 0:e[r][1]},Q.prototype.has=function(t){return G(this.__data__,t)>-1},Q.prototype.set=function(t,e){var r=this.__data__,n=G(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var H=T(y,"Map");function X(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function Y(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Y.prototype.clear=function(){this.size=0,this.__data__={hash:new V,map:new(H||Q),string:new V}},Y.prototype.delete=function(t){var e=X(this,t).delete(t);return this.size-=e?1:0,e},Y.prototype.get=function(t){return X(this,t).get(t)},Y.prototype.has=function(t){return X(this,t).has(t)},Y.prototype.set=function(t,e){var r=X(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function tt(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],i=r.cache;if(i.has(o))return i.get(o);var a=t.apply(this,n);return r.cache=i.set(o,a)||i,a};return r.cache=new(tt.Cache||Y),r}tt.Cache=Y;var et,rt,nt,ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,it=/\\(\\)?/g,at=(et=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ot,(function(t,r,n,o){e.push(n?o.replace(it,"$1"):r||t)})),e},rt=tt(et,(function(t){return 500===nt.size&&nt.clear(),t})),nt=rt.cache,rt),ut=at;function ct(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}var lt=d?d.prototype:void 0,ft=lt?lt.toString:void 0;function st(t){if("string"==typeof t)return t;if(s(t))return ct(t,st)+"";if(x(t))return ft?ft.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function pt(t,e){return s(t)?t:k(t,e)?[t]:ut(function(t){return null==t?"":st(t)}(t))}function ht(t){if("string"==typeof t||x(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function yt(t,e){for(var r=0,n=(e=pt(e,t)).length;null!=t&&r<n;)t=t[ht(e[r++])];return r&&r==n?t:void 0}function dt(t,e,r){var n=null==t?void 0:yt(t,e);return void 0===n?r:n}function bt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var vt,gt=function(t,e,r){for(var n=-1,o=Object(t),i=r(t),a=i.length;a--;){var u=i[vt?a:++n];if(!1===e(o[u],u,o))break}return t};function jt(t){return O(t)&&"[object Arguments]"==_(t)}var wt=Object.prototype,mt=wt.hasOwnProperty,_t=wt.propertyIsEnumerable,Ot=jt(function(){return arguments}())?jt:function(t){return O(t)&&mt.call(t,"callee")&&!_t.call(t,"callee")},xt=Ot;var At="object"==typeof exports&&exports&&!exports.nodeType&&exports,$t=At&&"object"==typeof module&&module&&!module.nodeType&&module,kt=$t&&$t.exports===At?y.Buffer:void 0,St=(kt?kt.isBuffer:void 0)||function(){return!1},Pt=/^(?:0|[1-9]\d*)$/;function Dt(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Pt.test(t))&&t>-1&&t%1==0&&t<e}function It(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Nt={};function Et(t){return function(e){return t(e)}}Nt["[object Float32Array]"]=Nt["[object Float64Array]"]=Nt["[object Int8Array]"]=Nt["[object Int16Array]"]=Nt["[object Int32Array]"]=Nt["[object Uint8Array]"]=Nt["[object Uint8ClampedArray]"]=Nt["[object Uint16Array]"]=Nt["[object Uint32Array]"]=!0,Nt["[object Arguments]"]=Nt["[object Array]"]=Nt["[object ArrayBuffer]"]=Nt["[object Boolean]"]=Nt["[object DataView]"]=Nt["[object Date]"]=Nt["[object Error]"]=Nt["[object Function]"]=Nt["[object Map]"]=Nt["[object Number]"]=Nt["[object Object]"]=Nt["[object RegExp]"]=Nt["[object Set]"]=Nt["[object String]"]=Nt["[object WeakMap]"]=!1;var Ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,Bt=Ft&&"object"==typeof module&&module&&!module.nodeType&&module,Lt=Bt&&Bt.exports===Ft&&p.process,zt=function(){try{var t=Bt&&Bt.require&&Bt.require("util").types;return t||Lt&&Lt.binding&&Lt.binding("util")}catch(t){}}(),Mt=zt&&zt.isTypedArray,Ut=Mt?Et(Mt):function(t){return O(t)&&It(t.length)&&!!Nt[_(t)]},Ct=Object.prototype.hasOwnProperty;function Rt(t,e){var r=s(t),n=!r&&xt(t),o=!r&&!n&&St(t),i=!r&&!n&&!o&&Ut(t),a=r||n||o||i,u=a?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],c=u.length;for(var l in t)!e&&!Ct.call(t,l)||a&&("length"==l||o&&("offset"==l||"parent"==l)||i&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Dt(l,c))||u.push(l);return u}var Tt=Object.prototype;function Wt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Tt)}function qt(t,e){return function(r){return t(e(r))}}var Kt=qt(Object.keys,Object),Vt=Object.prototype.hasOwnProperty;function Jt(t){if(!Wt(t))return Kt(t);var e=[];for(var r in Object(t))Vt.call(t,r)&&"constructor"!=r&&e.push(r);return e}function Gt(t){return null!=t&&It(t.length)&&!P(t)}function Zt(t){return Gt(t)?Rt(t):Jt(t)}var Qt=function(t,e){return function(r,n){if(null==r)return r;if(!Gt(r))return t(r,n);for(var o=r.length,i=e?o:-1,a=Object(r);(e?i--:++i<o)&&!1!==n(a[i],i,a););return r}}((function(t,e){return t&&gt(t,e,Zt)})),Ht=Qt;function Xt(t){return t}function Yt(t,e){var r;return(s(t)?bt:Ht)(t,"function"==typeof(r=e)?r:Xt)}function te(t){var e=this.__data__=new Q(t);this.size=e.size}te.prototype.clear=function(){this.__data__=new Q,this.size=0},te.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},te.prototype.get=function(t){return this.__data__.get(t)},te.prototype.has=function(t){return this.__data__.has(t)},te.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Q){var n=r.__data__;if(!H||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Y(n)}return r.set(t,e),this.size=r.size,this};function ee(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Y;++e<r;)this.add(t[e])}function re(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function ne(t,e){return t.has(e)}ee.prototype.add=ee.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ee.prototype.has=function(t){return this.__data__.has(t)};function oe(t,e,r,n,o,i){var a=1&r,u=t.length,c=e.length;if(u!=c&&!(a&&c>u))return!1;var l=i.get(t),f=i.get(e);if(l&&f)return l==e&&f==t;var s=-1,p=!0,h=2&r?new ee:void 0;for(i.set(t,e),i.set(e,t);++s<u;){var y=t[s],d=e[s];if(n)var b=a?n(d,y,s,e,t,i):n(y,d,s,t,e,i);if(void 0!==b){if(b)continue;p=!1;break}if(h){if(!re(e,(function(t,e){if(!ne(h,e)&&(y===t||o(y,t,r,n,i)))return h.push(e)}))){p=!1;break}}else if(y!==d&&!o(y,d,r,n,i)){p=!1;break}}return i.delete(t),i.delete(e),p}var ie=y.Uint8Array;function ae(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function ue(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var ce=d?d.prototype:void 0,le=ce?ce.valueOf:void 0;function fe(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function se(t,e,r){var n=e(t);return s(t)?n:fe(n,r(t))}function pe(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var a=t[r];e(a,r,t)&&(i[o++]=a)}return i}function he(){return[]}var ye=Object.prototype.propertyIsEnumerable,de=Object.getOwnPropertySymbols,be=de?function(t){return null==t?[]:(t=Object(t),pe(de(t),(function(e){return ye.call(t,e)})))}:he;function ve(t){return se(t,Zt,be)}var ge=Object.prototype.hasOwnProperty;var je=T(y,"DataView"),we=T(y,"Promise"),me=T(y,"Set"),_e=T(y,"WeakMap"),Oe="[object Map]",xe="[object Promise]",Ae="[object Set]",$e="[object WeakMap]",ke="[object DataView]",Se=F(je),Pe=F(H),De=F(we),Ie=F(me),Ne=F(_e),Ee=_;(je&&Ee(new je(new ArrayBuffer(1)))!=ke||H&&Ee(new H)!=Oe||we&&Ee(we.resolve())!=xe||me&&Ee(new me)!=Ae||_e&&Ee(new _e)!=$e)&&(Ee=function(t){var e=_(t),r="[object Object]"==e?t.constructor:void 0,n=r?F(r):"";if(n)switch(n){case Se:return ke;case Pe:return Oe;case De:return xe;case Ie:return Ae;case Ne:return $e}return e});var Fe=Ee,Be="[object Arguments]",Le="[object Array]",ze="[object Object]",Me=Object.prototype.hasOwnProperty;function Ue(t,e,r,n,o,i){var a=s(t),u=s(e),c=a?Le:Fe(t),l=u?Le:Fe(e),f=(c=c==Be?ze:c)==ze,p=(l=l==Be?ze:l)==ze,h=c==l;if(h&&St(t)){if(!St(e))return!1;a=!0,f=!1}if(h&&!f)return i||(i=new te),a||Ut(t)?oe(t,e,r,n,o,i):function(t,e,r,n,o,i,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new ie(t),new ie(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return J(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var u=ae;case"[object Set]":var c=1&n;if(u||(u=ue),t.size!=e.size&&!c)return!1;var l=a.get(t);if(l)return l==e;n|=2,a.set(t,e);var f=oe(u(t),u(e),n,o,i,a);return a.delete(t),f;case"[object Symbol]":if(le)return le.call(t)==le.call(e)}return!1}(t,e,c,r,n,o,i);if(!(1&r)){var y=f&&Me.call(t,"__wrapped__"),d=p&&Me.call(e,"__wrapped__");if(y||d){var b=y?t.value():t,v=d?e.value():e;return i||(i=new te),o(b,v,r,n,i)}}return!!h&&(i||(i=new te),function(t,e,r,n,o,i){var a=1&r,u=ve(t),c=u.length;if(c!=ve(e).length&&!a)return!1;for(var l=c;l--;){var f=u[l];if(!(a?f in e:ge.call(e,f)))return!1}var s=i.get(t),p=i.get(e);if(s&&p)return s==e&&p==t;var h=!0;i.set(t,e),i.set(e,t);for(var y=a;++l<c;){var d=t[f=u[l]],b=e[f];if(n)var v=a?n(b,d,f,e,t,i):n(d,b,f,t,e,i);if(!(void 0===v?d===b||o(d,b,r,n,i):v)){h=!1;break}y||(y="constructor"==f)}if(h&&!y){var g=t.constructor,j=e.constructor;g==j||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j||(h=!1)}return i.delete(t),i.delete(e),h}(t,e,r,n,o,i))}function Ce(t,e,r,n,o){return t===e||(null==t||null==e||!O(t)&&!O(e)?t!=t&&e!=e:Ue(t,e,r,n,Ce,o))}function Re(t){return t==t&&!S(t)}function Te(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function We(t){var e=function(t){for(var e=Zt(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Re(o)]}return e}(t);return 1==e.length&&e[0][2]?Te(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var o=r.length,i=o,a=!n;if(null==t)return!i;for(t=Object(t);o--;){var u=r[o];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++o<i;){var c=(u=r[o])[0],l=t[c],f=u[1];if(a&&u[2]){if(void 0===l&&!(c in t))return!1}else{var s=new te;if(n)var p=n(l,f,c,t,e,s);if(!(void 0===p?Ce(f,l,3,n,s):p))return!1}}return!0}(r,t,e)}}function qe(t,e){return null!=t&&e in Object(t)}function Ke(t,e){return null!=t&&function(t,e,r){for(var n=-1,o=(e=pt(e,t)).length,i=!1;++n<o;){var a=ht(e[n]);if(!(i=null!=t&&r(t,a)))break;t=t[a]}return i||++n!=o?i:!!(o=null==t?0:t.length)&&It(o)&&Dt(a,o)&&(s(t)||xt(t))}(t,e,qe)}function Ve(t){return function(e){return null==e?void 0:e[t]}}function Je(t){return k(t)?Ve(ht(t)):function(t){return function(e){return yt(e,t)}}(t)}function Ge(t){return"function"==typeof t?t:null==t?Xt:"object"==typeof t?s(t)?function(t,e){return k(t)&&Re(e)?Te(ht(t),e):function(r){var n=dt(r,t);return void 0===n&&n===e?Ke(r,t):Ce(e,n,3)}}(t[0],t[1]):We(t):Je(t)}function Ze(t,e){var r=-1,n=Gt(t)?Array(t.length):[];return Ht(t,(function(t,o,i){n[++r]=e(t,o,i)})),n}function Qe(t,e){return(s(t)?ct:Ze)(t,Ge(e))}function He(t,e){var r=[];return Ht(t,(function(t,n,o){e(t,n,o)&&r.push(t)})),r}function Xe(t,e){return(s(t)?pe:He)(t,Ge(e))}var Ye=function(){try{var t=T(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),tr=Ye;function er(t,e,r){"__proto__"==e&&tr?tr(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function rr(t,e,r){(void 0!==r&&!J(t[e],r)||void 0===r&&!(e in t))&&er(t,e,r)}var nr="object"==typeof exports&&exports&&!exports.nodeType&&exports,or=nr&&"object"==typeof module&&module&&!module.nodeType&&module,ir=or&&or.exports===nr?y.Buffer:void 0,ar=ir?ir.allocUnsafe:void 0;function ur(t,e){if(e)return t.slice();var r=t.length,n=ar?ar(r):new t.constructor(r);return t.copy(n),n}function cr(t){var e=new t.constructor(t.byteLength);return new ie(e).set(new ie(t)),e}function lr(t,e){var r=e?cr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function fr(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var sr=Object.create,pr=function(){function t(){}return function(e){if(!S(e))return{};if(sr)return sr(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),hr=pr,yr=qt(Object.getPrototypeOf,Object);function dr(t){return"function"!=typeof t.constructor||Wt(t)?{}:hr(yr(t))}var br=Function.prototype,vr=Object.prototype,gr=br.toString,jr=vr.hasOwnProperty,wr=gr.call(Object);function mr(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var _r=Object.prototype.hasOwnProperty;function Or(t,e,r){var n=t[e];_r.call(t,e)&&J(n,r)&&(void 0!==r||e in t)||er(t,e,r)}function xr(t,e,r,n){var o=!r;r||(r={});for(var i=-1,a=e.length;++i<a;){var u=e[i],c=n?n(r[u],t[u],u,r,t):void 0;void 0===c&&(c=t[u]),o?er(r,u,c):Or(r,u,c)}return r}var Ar=Object.prototype.hasOwnProperty;function $r(t){if(!S(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=Wt(t),r=[];for(var n in t)("constructor"!=n||!e&&Ar.call(t,n))&&r.push(n);return r}function kr(t){return Gt(t)?Rt(t,!0):$r(t)}function Sr(t,e,r,n,o,i,a){var u=mr(t,r),c=mr(e,r),l=a.get(c);if(l)rr(t,r,l);else{var f,p=i?i(u,c,r+"",t,e,a):void 0,h=void 0===p;if(h){var y=s(c),d=!y&&St(c),b=!y&&!d&&Ut(c);p=c,y||d||b?s(u)?p=u:O(f=u)&&Gt(f)?p=fr(u):d?(h=!1,p=ur(c,!0)):b?(h=!1,p=lr(c,!0)):p=[]:function(t){if(!O(t)||"[object Object]"!=_(t))return!1;var e=yr(t);if(null===e)return!0;var r=jr.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&gr.call(r)==wr}(c)||xt(c)?(p=u,xt(u)?p=function(t){return xr(t,kr(t))}(u):S(u)&&!P(u)||(p=dr(c))):h=!1}h&&(a.set(c,p),o(p,c,n,i,a),a.delete(c)),rr(t,r,p)}}function Pr(t,e,r,n,o){t!==e&&gt(e,(function(i,a){if(o||(o=new te),S(i))Sr(t,e,a,r,Pr,n,o);else{var u=n?n(mr(t,a),i,a+"",t,e,o):void 0;void 0===u&&(u=i),rr(t,a,u)}}),kr)}var Dr=Math.max;var Ir=tr?function(t,e){return tr(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:Xt,Nr=Ir,Er=Date.now;var Fr=function(t){var e=0,r=0;return function(){var n=Er(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Nr),Br=Fr;function Lr(t,e){return Br(function(t,e,r){return e=Dr(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,i=Dr(n.length-e,0),a=Array(i);++o<i;)a[o]=n[e+o];o=-1;for(var u=Array(e+1);++o<e;)u[o]=n[o];return u[e]=r(a),function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}(t,this,u)}}(t,e,Xt),t+"")}var zr,Mr=(zr=function(t,e,r){Pr(t,e,r)},Lr((function(t,e){var r=-1,n=e.length,o=n>1?e[n-1]:void 0,i=n>2?e[2]:void 0;for(o=zr.length>3&&"function"==typeof o?(n--,o):void 0,i&&function(t,e,r){if(!S(r))return!1;var n=typeof e;return!!("number"==n?Gt(r)&&Dt(e,r.length):"string"==n&&e in r)&&J(r[e],t)}(e[0],e[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++r<n;){var a=e[r];a&&zr(t,a,r,o)}return t})));var Ur=Ve("length"),Cr=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Rr="\\ud800-\\udfff",Tr="["+Rr+"]",Wr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",qr="\\ud83c[\\udffb-\\udfff]",Kr="[^"+Rr+"]",Vr="(?:\\ud83c[\\udde6-\\uddff]){2}",Jr="[\\ud800-\\udbff][\\udc00-\\udfff]",Gr="(?:"+Wr+"|"+qr+")"+"?",Zr="[\\ufe0e\\ufe0f]?",Qr=Zr+Gr+("(?:\\u200d(?:"+[Kr,Vr,Jr].join("|")+")"+Zr+Gr+")*"),Hr="(?:"+[Kr+Wr+"?",Wr,Vr,Jr,Tr].join("|")+")",Xr=RegExp(qr+"(?="+qr+")|"+Hr+Qr,"g");function Yr(t){return function(t){return Cr.test(t)}(t)?function(t){for(var e=Xr.lastIndex=0;Xr.test(t);)++e;return e}(t):Ur(t)}function tn(t){if(null==t)return 0;if(Gt(t))return"string"==typeof(e=t)||!s(e)&&O(e)&&"[object String]"==_(e)?Yr(t):t.length;var e,r=Fe(t);return"[object Map]"==r||"[object Set]"==r?t.size:Jt(t).length}var en=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)fe(e,be(t)),t=yr(t);return e}:he,rn=en;function nn(t){return se(t,kr,rn)}var on=Object.prototype.hasOwnProperty;var an=/\w*$/;var un=d?d.prototype:void 0,cn=un?un.valueOf:void 0;function ln(t,e,r){var n,o=t.constructor;switch(e){case"[object ArrayBuffer]":return cr(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var r=e?cr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return lr(t,r);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,an.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,cn?Object(cn.call(n)):{}}}var fn=zt&&zt.isMap,sn=fn?Et(fn):function(t){return O(t)&&"[object Map]"==Fe(t)};var pn=zt&&zt.isSet,hn=pn?Et(pn):function(t){return O(t)&&"[object Set]"==Fe(t)},yn="[object Arguments]",dn="[object Function]",bn="[object Object]",vn={};function gn(t,e,r,n,o,i){var a,u=1&e,c=2&e,l=4&e;if(r&&(a=o?r(t,n,o,i):r(t)),void 0!==a)return a;if(!S(t))return t;var f=s(t);if(f){if(a=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&on.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!u)return fr(t,a)}else{var p=Fe(t),h=p==dn||"[object GeneratorFunction]"==p;if(St(t))return ur(t,u);if(p==bn||p==yn||h&&!o){if(a=c||h?{}:dr(t),!u)return c?function(t,e){return xr(t,rn(t),e)}(t,function(t,e){return t&&xr(e,kr(e),t)}(a,t)):function(t,e){return xr(t,be(t),e)}(t,function(t,e){return t&&xr(e,Zt(e),t)}(a,t))}else{if(!vn[p])return o?t:{};a=ln(t,p,u)}}i||(i=new te);var y=i.get(t);if(y)return y;i.set(t,a),hn(t)?t.forEach((function(n){a.add(gn(n,e,r,n,t,i))})):sn(t)&&t.forEach((function(n,o){a.set(o,gn(n,e,r,o,t,i))}));var d=f?void 0:(l?c?nn:ve:c?kr:Zt)(t);return bt(d||t,(function(n,o){d&&(n=t[o=n]),Or(a,o,gn(n,e,r,o,t,i))})),a}vn[yn]=vn["[object Array]"]=vn["[object ArrayBuffer]"]=vn["[object DataView]"]=vn["[object Boolean]"]=vn["[object Date]"]=vn["[object Float32Array]"]=vn["[object Float64Array]"]=vn["[object Int8Array]"]=vn["[object Int16Array]"]=vn["[object Int32Array]"]=vn["[object Map]"]=vn["[object Number]"]=vn[bn]=vn["[object RegExp]"]=vn["[object Set]"]=vn["[object String]"]=vn["[object Symbol]"]=vn["[object Uint8Array]"]=vn["[object Uint8ClampedArray]"]=vn["[object Uint16Array]"]=vn["[object Uint32Array]"]=!0,vn["[object Error]"]=vn[dn]=vn["[object WeakMap]"]=!1;function jn(t){return gn(t,5)}function wn(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mn={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function o(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function i(t,e,n,i,a){if("function"!=typeof n)throw new TypeError("The listener must be a function");var u=new o(n,i||t,a),c=r?r+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],u]:t._events[c].push(u):(t._events[c]=u,t._eventsCount++),t}function a(t,e){0==--t._eventsCount?t._events=new n:delete t._events[e]}function u(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),u.prototype.eventNames=function(){var t,n,o=[];if(0===this._eventsCount)return o;for(n in t=this._events)e.call(t,n)&&o.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},u.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,a=new Array(i);o<i;o++)a[o]=n[o].fn;return a},u.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},u.prototype.emit=function(t,e,n,o,i,a){var u=r?r+t:t;if(!this._events[u])return!1;var c,l,f=this._events[u],s=arguments.length;if(f.fn){switch(f.once&&this.removeListener(t,f.fn,void 0,!0),s){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,e),!0;case 3:return f.fn.call(f.context,e,n),!0;case 4:return f.fn.call(f.context,e,n,o),!0;case 5:return f.fn.call(f.context,e,n,o,i),!0;case 6:return f.fn.call(f.context,e,n,o,i,a),!0}for(l=1,c=new Array(s-1);l<s;l++)c[l-1]=arguments[l];f.fn.apply(f.context,c)}else{var p,h=f.length;for(l=0;l<h;l++)switch(f[l].once&&this.removeListener(t,f[l].fn,void 0,!0),s){case 1:f[l].fn.call(f[l].context);break;case 2:f[l].fn.call(f[l].context,e);break;case 3:f[l].fn.call(f[l].context,e,n);break;case 4:f[l].fn.call(f[l].context,e,n,o);break;default:if(!c)for(p=1,c=new Array(s-1);p<s;p++)c[p-1]=arguments[p];f[l].fn.apply(f[l].context,c)}}return!0},u.prototype.on=function(t,e,r){return i(this,t,e,r,!1)},u.prototype.once=function(t,e,r){return i(this,t,e,r,!0)},u.prototype.removeListener=function(t,e,n,o){var i=r?r+t:t;if(!this._events[i])return this;if(!e)return a(this,i),this;var u=this._events[i];if(u.fn)u.fn!==e||o&&!u.once||n&&u.context!==n||a(this,i);else{for(var c=0,l=[],f=u.length;c<f;c++)(u[c].fn!==e||o&&!u[c].once||n&&u[c].context!==n)&&l.push(u[c]);l.length?this._events[i]=1===l.length?l[0]:l:a(this,i)}return this},u.prototype.removeAllListeners=function(t){var e;return t?(e=r?r+t:t,this._events[e]&&a(this,e)):(this._events=new n,this._eventsCount=0),this},u.prototype.off=u.prototype.removeListener,u.prototype.addListener=u.prototype.on,u.prefixed=r,u.EventEmitter=u,t.exports=u}(mn);var _n=wn(mn.exports);const On=[];for(let t=0;t<256;++t)On.push((t+256).toString(16).slice(1));const xn=new Uint8Array(16);function An(){return crypto.getRandomValues(xn)}const $n={};function kn(t,e,r){let n;if(t)n=Sn(t.random??t.rng?.()??An(),t.msecs,t.seq,e,r);else{const t=Date.now(),o=An();!function(t,e,r){t.msecs??=-1/0,t.seq??=0,e>t.msecs?(t.seq=Pn(r),t.msecs=e):(t.seq=t.seq+1|0,0===t.seq&&t.msecs++)}($n,t,o),n=Sn(o,$n.msecs,$n.seq,e,r)}return e??function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(On[t[e+0]]+On[t[e+1]]+On[t[e+2]]+On[t[e+3]]+"-"+On[t[e+4]]+On[t[e+5]]+"-"+On[t[e+6]]+On[t[e+7]]+"-"+On[t[e+8]]+On[t[e+9]]+"-"+On[t[e+10]]+On[t[e+11]]+On[t[e+12]]+On[t[e+13]]+On[t[e+14]]+On[t[e+15]]).toLowerCase()}(n)}function Sn(t,e,r,n){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(t.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;return e??=Date.now(),r??=Pn(t),n[o++]=e/1099511627776&255,n[o++]=e/4294967296&255,n[o++]=e/16777216&255,n[o++]=e/65536&255,n[o++]=e/256&255,n[o++]=255&e,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|3&t[10],n[o++]=t[11],n[o++]=t[12],n[o++]=t[13],n[o++]=t[14],n[o++]=t[15],n}function Pn(t){return(127&t[6])<<24|t[7]<<16|t[8]<<8|t[9]}var Dn=/\s/;var In=/^\s+/;function Nn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Dn.test(t.charAt(e)););return e}(t)+1).replace(In,""):t}var En=/^[-+]0x[0-9a-f]+$/i,Fn=/^0b[01]+$/i,Bn=/^0o[0-7]+$/i,Ln=parseInt;var zn=1/0;function Mn(t){return t?(t=function(t){if("number"==typeof t)return t;if(x(t))return NaN;if(S(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=S(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Nn(t);var r=Fn.test(t);return r||Bn.test(t)?Ln(t.slice(2),r?2:8):En.test(t)?NaN:+t}(t))===zn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Un(t,e,r){var n=null==t?0:t.length;return n?(e=r||void 0===e?1:function(t){var e=Mn(t),r=e%1;return e==e?r?e-r:e:0}(e),function(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var i=Array(o);++n<o;)i[n]=t[n+e];return i}(t,e<0?0:e,n)):[]}function Cn(t){return P(t)}function Rn(t){try{t instanceof Promise&&Promise.prototype.then.call(t,void 0,(()=>{}))}catch(t){}}function Tn(t){return"[object Array]"===Object.prototype.toString.call(t)}function Wn(t){return"[object Object]"===Object.prototype.toString.call(t)}function qn(t,e){let r=function(){let t,e,r=new Promise((function(){t=arguments[0],e=arguments[1]}));return r.resolve=t,r.reject=e,r}(),n=!1;try{let e=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[],n=!1;try{if(Array.isArray(t)){let e=t.length;r.length=e;for(let n=0;n<e;n++)n in t&&(r[n]=t[n])}else{if(e||!Wn(t)&&!Tn(t))return null;{n=!0;let e=Object.keys(t);for(let n=0;n<e.length;n++)r.push({k:e[n],v:t[e[n]]})}}}catch(t){throw r.forEach((t=>{Rn(n?t.v:t)})),t}return{items:r,useObj:n}}(t);if(null===e)return r.reject("rs is not an array or object"),r;t=e.items,n=e.useObj}catch(t){return r.reject(t),r}Cn(e)||(Yt(t,(t=>{Rn(n?t.v:t)})),e=function(t){return t});let o=Cn(e),i=-1,a=[];return t.reduce((function(t,r){return t.then((function(t){a.push(t),i+=1;let u=i,c=r;return n&&(u=r.k,c=r.v),o?e(c,u):c}))}),Promise.resolve()).then((function(t){a.push(t),a=Un(a),r.resolve(a)})).catch((function(t){r.reject(t)})),r}function Kn(t){return!0===(e=t)||!1===e||O(e)&&"[object Boolean]"==_(e);var e}function Vn(t){return"[object String]"===Object.prototype.toString.call(t)}function Jn(t){return!!(Vn(t)&&t.length>0)}function Gn(t){if(Wn(t)){for(let e in t)return!0;return!1}return!1}function Zn(t){if(t!=t)return!0;if(null!==t&&"object"==typeof t)try{let e=Number.prototype.valueOf.call(t);return Number.isNaN(e)}catch(t){return!1}return!1}function Qn(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Wn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!Vn(t)||0!==t.length)}(t)||(!!function(t){return!!Tn(t)&&0===t.length}(t)||!!Zn(t)))))}function Hn(t){return!!Tn(t)&&(0!==t.length&&(1!==t.length||!Qn(t[0])))}function Xn(t){let e=!1;if(Jn(t)){if(""===t.trim())return!1;e=!isNaN(Number(t))}else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Zn(t))return!1;e=!0}return e}function Yn(t,e){return!!Wn(t)&&(!(!Jn(e)&&!Xn(e))&&e in t)}let to={maxDepth:32,maxList:1e3,maxIn:1e4,maxNodes:1e5,maxKey:128},eo=Reflect.ownKeys,ro=Object.getOwnPropertyDescriptor,no=Object.getPrototypeOf,oo=Object.defineProperty,io=Object.create,ao=Object.setPrototypeOf,uo=Array.isArray,co=Number.isInteger,lo=Number.isFinite,fo=Number.isNaN,so=Number.isSafeInteger,po=Object.prototype,ho=Date,yo=Function.prototype.call,bo=yo.bind(Object.prototype.hasOwnProperty),vo=yo.bind(Object.prototype.toString),go=yo.bind(Date.prototype.getTime),jo=yo.bind(WeakSet.prototype.add),wo=yo.bind(WeakSet.prototype.has),mo=bo(String.prototype,"isWellFormed")?yo.bind(String.prototype.isWellFormed):null,_o=yo.bind(String.prototype.indexOf),Oo=yo.bind(String.prototype.charCodeAt),xo=yo.bind(String.prototype.slice),Ao=yo.bind(RegExp.prototype.exec),$o=String,ko=yo.bind(ro(no(Uint8Array.prototype),Symbol.toStringTag).get),So={},Po=()=>{},Do=yo.bind(Map.prototype.has),Io=yo.bind(Set.prototype.has),No=yo.bind(WeakMap.prototype.has),Eo=yo.bind(ro(ArrayBuffer.prototype,"byteLength").get),Fo=yo.bind(ro(DataView.prototype,"buffer").get),Bo=yo.bind(Symbol.prototype.valueOf),Lo=yo.bind(Promise.prototype.then),zo=[t=>Do(t,0),t=>Io(t,0),t=>No(t,So),t=>wo(t,So),t=>Eo(t),t=>Fo(t),t=>Bo(t),t=>Lo(t,Po,Po)];if("function"==typeof SharedArrayBuffer){let t=yo.bind(ro(SharedArrayBuffer.prototype,"byteLength").get);zo[zo.length]=e=>t(e)}if("function"==typeof WeakRef){let t=yo.bind(WeakRef.prototype.deref);zo[zo.length]=e=>t(e)}if("function"==typeof FinalizationRegistry){let t=yo.bind(FinalizationRegistry.prototype.unregister);zo[zo.length]=e=>t(e,So)}if("function"==typeof BigInt){let t=yo.bind(BigInt.prototype.valueOf);zo[zo.length]=e=>t(e)}let Mo=null,Uo=null;if("function"==typeof structuredClone)try{let t=structuredClone,e=!1;try{t(new Proxy({},{}))}catch(t){e=!0}let r=t({}),n=no(r);if(e&&"[object Map]"===vo(t(new Map))&&"[object Object]"===vo(r)&&0===eo(r).length&&null!==n&&null===no(n)&&bo(n,"hasOwnProperty")&&no(t({a:1}))===n){let e=!0,r=[()=>new Map,()=>new Set,()=>new WeakMap,()=>new WeakSet,()=>Promise.resolve(0),()=>new ArrayBuffer(1),()=>new DataView(new ArrayBuffer(1)),()=>Object(Symbol("s"))];"function"==typeof SharedArrayBuffer&&(r[r.length]=()=>new SharedArrayBuffer(1)),"function"==typeof WeakRef&&(r[r.length]=()=>new WeakRef(So)),"function"==typeof FinalizationRegistry&&(r[r.length]=()=>new FinalizationRegistry(Po)),"function"==typeof BigInt&&(r[r.length]=()=>Object(BigInt(1)));for(let o=0;o<r.length&&e;o++){let i=ao(r[o](),null);try{no(t(i))===n&&(e=!1)}catch(t){}}e&&(Mo=t,Uo=n)}}catch(t){}let Co="condition must be a plain object",Ro="symbol key is not allowed",To="non-enumerable property is not allowed",Wo="non-enumerable element is not allowed",qo="accessor property is not allowed",Ko="accessor element is not allowed",Vo="undefined is not allowed",Jo="null is not allowed here",Go="unsupported value type",Zo="number is not finite",Qo="invalid Date",Ho="string contains NUL",Xo="string contains lone surrogate",Yo="array value is not supported, use $in",ti="empty operator object",ei="empty condition",ri="$nin with empty array is always true",ni="value must be an array",oi="invalid array length",ii="array carries extra properties",ai="nesting is too deep",ui="condition is too large",ci="an exception was thrown while reading the condition",li="an empty find must be an ordinary object",fi=/^[\p{L}_][\p{L}\p{M}\p{N}_]*$/u,si=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]/,pi=/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Co}\p{Cs}[\]]/u,hi=/^\[object (Date|RegExp|Map|Set|WeakMap|WeakSet|Promise|Error|String|Number|Boolean|BigInt|Symbol|ArrayBuffer|SharedArrayBuffer|DataView|Arguments|(?:Int8|Uint8|Uint8Clamped|Int16|Uint16|Int32|Uint32|Float32|Float64|BigInt64|BigUint64)Array)\]$/,yi=new WeakSet,di=t=>{let e={reason:t};throw jo(yi,e),e},bi=(t,e)=>{let r=t.length>e?`${xo(t,0,e)}...`:t,n="";for(let t=0;t<r.length;t++){let e=r[t],o=Oo(r,t);if(o>=55296&&o<=56319&&t+1<r.length){let n=Oo(r,t+1);n>=56320&&n<=57343&&(e+=r[t+1],t++)}n+=null===Ao(pi,e)?e:"?"}return n},vi=t=>{if(null===t)return"null";let e=typeof t;if("object"!==e)return e;if(uo(t))return"array";let r=Ao(hi,vo(t));return r?r[1]:"object"},gi=t=>null===t?"find":gi(t.up)+("number"==typeof t.k?`[${t.k}]`:`.${bi(t.k,30)}`),ji=t=>{t.nodes+=1,t.nodes>t.maxNodes&&di(ui)},wi=(t,e,r)=>{oo(t,e,{__proto__:null,value:r,enumerable:!0,writable:!0,configurable:!0})},mi=t=>{try{return go(t)}catch(t){return}},_i=t=>{if(null===t||"object"!=typeof t||uo(t))return!1;let e=no(t);return(e===po||null===e)&&("[object Object]"===vo(t)&&void 0===ko(t))},Oi=t=>{for(let e=0;e<zo.length;e++)try{return zo[e](t),!0}catch(t){}return!1},xi=(t,e,r)=>{let n=t.nt;t.ob[n]=e,t.pa[n]=t.path,t.op[n]=r,t.nt=n+1},Ai=t=>{let e=t.nt;if(!(0===e||t.chars<=4e6&&((t,e)=>{if(null===Mo)return!1;try{let r=Mo(t);for(let t=0;t<e;t++)if(no(r[t])!==Uo)return!1;return!0}catch(t){return!1}})(t.ob,e)))for(let r=0;r<e;r++)Oi(t.ob[r])&&(t.path=t.pa[r],di(t.op[r]?`${Go} [object]`:`${Co}, got [object]`))},$i=(t,e,r)=>{"string"!=typeof r&&di(Ro),t.path={up:t.path,k:r};let n=ro(e,r);return void 0!==n&&n.enumerable||di(To),bo(n,"value")||di(qo),n.value},ki=t=>{let e=t.length;return("number"!=typeof e||!co(e)||e<0)&&di(oi),e},Si=(t,e,r)=>{t.path={up:t.path,k:r};let n=ro(e,r);return void 0===n&&(t.path=t.path.up,di(`sparse array hole at index ${r}`)),n.enumerable||di(Wo),bo(n,"value")||di(Ko),n.value},Pi=(t,e)=>{let r=eo(t),n=r.length;n>e+1&&di(ii);for(let t=0;t<n;t++){let n=r[t];if("string"!=typeof n&&di(ii),"length"===n)continue;let o=+n;co(o)&&o>=0&&o<e&&$o(o)===n||di(ii)}},Di=t=>(fo(t)&&di(Qo),new ho(t)),Ii=(t,e,r)=>{if(ji(t),null===e)return r||di(Jo),null;switch(typeof e){case"string":return-1!==_o(n=e,"\0")&&di(Ho),(null!==mo?mo(n):null===Ao(si,n))||di(Xo),t.chars+=e.length,e;case"number":return lo(e)||di(Zo),e;case"boolean":return e;case"undefined":return di(Vo);case"object":{let t=mi(e);return void 0!==t?Di(t):di(`${Go} [${vi(e)}]`)}default:return di(`${Go} [${vi(e)}]`)}var n},Ni=(t,e)=>{36===Oo(e,0)&&di(`unsupported operator [${bi(e,30)}]`),e.length>t.maxKey&&di(`column name is too long (> ${t.maxKey})`),null!==Ao(fi,e)&&"__proto__"!==e||di(`unsupported column name [${bi(e,30)}]`)},Ei=(t,e,r)=>{uo(r)||di(ni);let n=ki(r);n>t.maxIn&&di(`array is too large (> ${t.maxIn})`),0===n&&"$nin"===e&&di(ri);let o=[];for(let e=0;e<n;e++){let n=Si(t,r,e);wi(o,e,Ii(t,n,!1)),t.path=t.path.up}return Pi(r,n),o},Fi=(t,e)=>{if(null===e)return ji(t),null;if("object"==typeof e){let r=mi(e);return void 0!==r?(ji(t),Di(r)):(uo(e)&&di(Yo),((t,e)=>{_i(e)||di(`${Go} [${vi(e)}]`),ji(t);let r=eo(e),n=r.length;0===n&&di(ti),xi(t,e,!0);let o=io(null);for(let i=0;i<n;i++){let n=r[i],a=$i(t,e,n);switch(n){case"$eq":case"$ne":wi(o,n,Ii(t,a,!0));break;case"$gt":case"$gte":case"$lt":case"$lte":wi(o,n,Ii(t,a,!1));break;case"$in":case"$nin":wi(o,n,Ei(t,n,a));break;default:36===Oo(n,0)&&di(`unsupported operator [${bi(n,30)}]`),di(`unexpected key [${bi(n,30)}] in operator object (nested conditions are not supported)`)}t.path=t.path.up}return o})(t,e))}return Ii(t,e,!0)},Bi=(t,e,r,n)=>{uo(r)||di(ni);let o=ki(r);0===o&&di(`${e} with empty array`),o>t.maxList&&di(`array is too large (> ${t.maxList})`);let i=[];for(let e=0;e<o;e++){let o=Si(t,r,e);wi(i,e,Li(t,o,n,!1)),t.path=t.path.up}return Pi(r,o),i},Li=(t,e,r,n)=>{r>t.maxDepth&&di(ai),_i(e)||di(`${Co}, got [${vi(e)}]`),ji(t);let o=eo(e),i=o.length;if(0===i){if(n)return(t=>{if(null===Mo)return!1;try{let e=Mo(t);return no(e)===Uo&&0===eo(e).length}catch(t){return!1}})(e)||(Oi(e)&&di(`${Co}, got [object]`),null!==Mo&&di(li)),io(null);di(ei)}xi(t,e,!1);let a=io(null);for(let n=0;n<i;n++){let i=o[n],u=$i(t,e,i);"$and"===i||"$or"===i?wi(a,i,Bi(t,i,u,r+1)):(Ni(t,i),wi(a,i,Fi(t,u))),t.path=t.path.up}return a};function zi(t,e){let r=(t=>{let e,r={maxDepth:to.maxDepth,maxList:to.maxList,maxIn:to.maxIn,maxNodes:to.maxNodes,maxKey:to.maxKey};if(null==t)return r;if("object"!=typeof t)throw new Error("invalid opt: opt must be an object");try{e=eo(t)}catch(t){throw new Error("invalid opt: can not read opt")}for(let t=0;t<e.length;t++){let n=e[t];if("string"!=typeof n||!bo(r,n))throw new Error(`invalid opt: unknown option [${"string"==typeof n?bi(n,30):"symbol"}]`)}let n=["maxDepth","maxList","maxIn","maxNodes","maxKey"];for(let e=0;e<n.length;e++){let o,i=n[e];try{o=ro(t,i)}catch(t){throw new Error(`invalid opt: can not read option [${i}]`)}if(void 0===o)continue;if(!bo(o,"value"))throw new Error(`invalid opt: accessor option [${i}] is not allowed`);let a=o.value;if(void 0!==a){if("number"!=typeof a||!so(a)||a<1)throw new Error(`invalid opt: ${i} must be a positive integer`);r[i]=a<to[i]?a:to[i]}}return r})(e),n={nodes:0,path:null,maxDepth:r.maxDepth,maxList:r.maxList,maxIn:r.maxIn,maxNodes:r.maxNodes,maxKey:r.maxKey,chars:0,ob:ao([],null),pa:ao([],null),op:ao([],null),nt:0};try{if(void 0===t)return io(null);let e=Li(n,t,0,!0);return Ai(n),e}catch(t){let e=wo(yi,t)?t.reason:ci;throw new Error(`invalid find: ${e} at [${(t=>{let e=gi(t);return e.length>120?`...${xo(e,-100)}`:e})(n.path)}]`)}}let Mi={};return function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null,o=dt(r,"url");Jn(o)||(o="./db.json");let i=dt(r,"db");Jn(i)||(i="worm");let u=dt(r,"cl");Jn(u)||(u="test");let c=dt(r,"useCache");Kn(c)||(c=!1);let l=dt(r,"autoGenPk");Kn(l)||(l=!0);let s=`${i}:${u}`,p=new f(o),h=new e.Low(p,{}),y=new _n,d=t.resolve(o);Yn(Mi,d)||(Mi[d]=Promise.resolve());let b=t=>{let e=Mi[d].then((()=>t()));return Mi[d]=e.catch((()=>{})),e},v=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/,g=t=>{if(t.length<=30)return t;let e=t.slice(0,30),r=e.charCodeAt(29);return r>=55296&&r<=56319&&(e=`${e.slice(0,29)}?`),`${e}...`},j=t=>t.length>120?`...${t.slice(-100)}`:t,w=/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u,m=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new WeakSet;if(!(null===t||"object"!=typeof t||r.has(t)||ArrayBuffer.isView(t)&&"function"==typeof t.toJSON))if((t=>{if("function"!=typeof t.toJSON)return!1;try{return Date.prototype.getTime.call(t),!0}catch(t){return!1}})(t)){let r=JSON.stringify(t);if("string"==typeof r&&'"'===r.charAt(0)&&!v.test(r.slice(1,-1))){let t=`data${e.map((t=>"number"==typeof t?`[${t}]`:(t=>{let e=g(t);return w.test(t)?`.${e}`:`[${JSON.stringify(e)}]`})(t))).join("")}`;throw new Error(`invalid data: Date year is out of range 0000-9999 at [${j(t)}]`)}}else if(r.add(t),Array.isArray(t))for(let n=0;n<t.length;n++)e.push(n),m(t[n],e,r),e.pop();else for(let n of Object.keys(t))e.push(n),m(t[n],e,r),e.pop()},_=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"find";if(t instanceof Date){let r=t.toISOString();if(!v.test(r))throw new Error(`invalid find: Date year is out of range 0000-9999 at [${j(e)}]`);return r}if(null!==t&&"object"==typeof t){let r=Array.isArray(t);for(let n of Object.keys(t))t[n]=_(t[n],r?`${e}[${n}]`:`${e}.${g(n)}`)}return t},O=t=>{for(let e of Object.keys(t))if("$and"===e||"$or"===e){for(let r of t[e])if(O(r))return!0}else if(e in Object.prototype)return!0;return!1},x=t=>{let e=new a.Query(t);return O(t)?t=>e.test(null!==t&&"object"==typeof t?Object.assign(Object.create(null),t):t):t=>e.test(t)},A=(t,e)=>{try{return{fc:_(zi(e))}}catch(e){return k(t,null,e),{err:e}}},$=(t,e,r)=>{try{y.emit("change",t,e,r)}catch(t){console.log(t)}},k=(t,e,r)=>{try{y.emit("error",t,e,S(r))}catch(t){console.log(t)}},S=t=>{let e=dt(t,"message");return Jn(e)?e:String(t)},P=(t,e)=>l?Qe(t,(function(t){return Jn(t.id)||(t.id=kn()),t})):(Yt(t,(function(t,r){if(!Jn(dt(t,"id")))throw new Error(`can not ${e} by data[${r}] without valid id when autoGenPk is false`)})),t),D=async()=>(await h.read(),Yn(h.data,s)||(h.data[s]=[]),h.data[s]),I=async(t,e)=>{h.data[s]=e;try{await h.write()}catch(e){throw h.data[s]=t,e}},N=t=>{let e={};return Yt(t,((t,r)=>{let n=dt(t,"id");Jn(n)&&(e[n]={k:r,v:t})})),e},E=async()=>{if(c&&Tn(n))return jn(n);let t=await D();return t=jn(t),c?(n=t,jn(t)):t};async function F(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!1;if(!Gn(t)&&!Hn(t))return[];t=jn(t);let o=dt(e,"autoInsert",!0),i=null;try{Tn(t)||(t=[t]),t=P(t,"save"),m(t);let e=await D(),r=[...e],n=N(r),a=!1;i=await qn(t,(async t=>{let e=null;try{let i=dt(n,t.id,null);if(Gn(i)){let o=i.v,u=Mr({},o,t);Ce(u,o)?e={n:1,nInserted:0,nModified:0,ok:1}:(r[i.k]=u,n[t.id]={k:i.k,v:u},a=!0,e={n:1,nInserted:0,nModified:1,ok:1})}else if(o){let o=tn(r);r.push(t),n[t.id]={k:o,v:t},a=!0,e={n:1,nInserted:1,nModified:0,ok:1}}else e={n:0,nInserted:0,nModified:0,ok:1}}catch(t){e={n:1,nInserted:0,nModified:0,ok:0,err:S(t)}}return e})),a&&await I(e,r)}catch(t){r=!0,i=t}return n=null,r||(Yt(i,((e,r)=>{0===dt(e,"ok")&&k("save",[dt(t,r)],dt(e,"err"))})),Yt(i,((e,r)=>{1===dt(e,"nInserted")&&$("insert",[dt(t,r)],e)})),$("save",t,i)),r?(k("save",t,i),Promise.reject(i)):i}return y.select=async function(){let t=A("select",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return t.err?Promise.reject(t.err):b((()=>async function(t){let e=!1,r=null;try{let n=await E();r=Reflect.ownKeys(t).length>0?n.filter(x(t)):n,Tn(r)||(e=!0,r=new Error(`can not select by find[${JSON.stringify(t)}]`))}catch(t){e=!0,r=t}return e?(k("select",null,r),Promise.reject(r)):r}(t.fc)))},y.selectByPk=async function(t){return b((()=>async function(t){let e=!1,r=null;try{if(!Jn(t))return null;let e=await E(),n=dt(N(e),t,null);r=Gn(n)?n.v:null}catch(t){e=!0,r=t}return e?(k("selectByPk",null,r),Promise.reject(r)):r}(t)))},y.insert=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b((()=>async function(t){let e=!1,r=dt(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},"returnList");if(Kn(r)||(r=!1),!Gn(t)&&!Hn(t))return r?[]:{n:0,nInserted:0,ok:1};t=jn(t);let o=null;try{Tn(t)||(t=[t]),t=P(t,"insert"),m(t);let e=await D(),n=N(e),i=tn(t),a=[],u=[];Yt(t,(t=>{Yn(n,t.id)?a.push(!1):(u.push(t),n[t.id]={k:-1,v:t},a.push(!0))})),tn(u)>0&&await I(e,[...e,...u]),o=r?Qe(a,(function(t){return{n:1,nInserted:t?1:0,ok:1}})):{n:i,nInserted:tn(u),ok:1}}catch(t){e=!0,o=t}return n=null,e||$("insert",t,o),e?(k("insert",t,o),Promise.reject(o)):o}(t,e)))},y.insertBulk=async function(t){return b((()=>async function(t){let e=!1;if(!Gn(t)&&!Hn(t))return{n:0,nInserted:0,ok:1};t=jn(t);let r=null;try{Tn(t)||(t=[t]),t=P(t,"insertBulk"),m(t);let e=await D(),n=N(e),o=tn(t),i=null;if(Yt(t,(t=>{if(Yn(n,t.id))return i=t.id,!1;n[t.id]={k:-1,v:t}})),null!==i)throw new Error(`can not insertBulk by existed id[${i}]`);await I(e,[...e,...t]),r={n:o,nInserted:o,ok:1}}catch(t){e=!0,r=t}return n=null,e||$("insertBulk",t,r),e?(k("insertBulk",t,r),Promise.reject(r)):r}(t)))},y.save=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b((()=>F(t,e)))},y.del=async function(t){return b((()=>async function(t){let e=!1;if(!Gn(t)&&!Hn(t))return[];t=jn(t);let r=null;try{Tn(t)||(t=[t]);let e=await D(),n=N(e),o={},i=!1;if(r=await qn(t,(async t=>{let e=null;try{let r=dt(t,"id","");if(Jn(r)){let t=dt(n,r,null);Gn(t)?(o[t.k]=!0,delete n[r],i=!0,e={n:1,nDeleted:1,ok:1}):e={n:0,nDeleted:0,ok:1}}else e={n:0,nDeleted:0,ok:0,err:`can not delete by invalid id[${r}]`}}catch(t){e={n:1,nDeleted:0,ok:0,err:S(t)}}return e})),i){let t=Xe(e,((t,e)=>!Yn(o,e)));await I(e,t)}}catch(t){e=!0,r=t}return n=null,e||(Yt(r,((e,r)=>{0===dt(e,"ok")&&k("del",[dt(t,r)],dt(e,"err"))})),$("del",t,r)),e?(k("del",t,r),Promise.reject(r)):r}(t)))},y.delAll=async function(){let t=A("delAll",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return t.err?Promise.reject(t.err):b((()=>async function(t){let e=!1,r=null;try{let e=await D(),n=tn(e),o=0,i=null;if(Reflect.ownKeys(t).length>0){let r=x(t);i=Xe(e,(t=>!r(t))),o=n-tn(i)}else o=n,i=[];o>0&&await I(e,i),r={n:o,nDeleted:o,ok:1}}catch(t){e=!0,r=t}return n=null,e||$("delAll",null,r),e?(k("delAll",null,r),Promise.reject(r)):r}(t.fc)))},y}}));
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("path"),require("lowdb"),require("node:fs"),require("node:fs/promises"),require("node:path"),require("node:url"),require("mingo")):"function"==typeof define&&define.amd?define(["path","lowdb","node:fs","node:fs/promises","node:path","node:url","mingo"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-lowdb"]=e(t.path,t.lowdb,null,t.promises,t.path,t.node_url,t.mingo)}(this,(function(t,e,n,r,o,i,u){"use strict";class a{#t;#e;#n=!1;#r=null;#o=null;#i=null;#u=null;#a(t){return this.#u=t,this.#i||=new Promise(((t,e)=>{this.#o=[t,e]})),new Promise(((t,e)=>{this.#i?.then(t).catch(e)}))}async#l(t){this.#n=!0;try{await r.writeFile(this.#e,t,"utf-8"),await async function(t,e,n){for(let r=0;r<e;r++)try{return await t()}catch(t){if(!(r<e-1))throw t;await new Promise((t=>setTimeout(t,n)))}}((async()=>{await r.rename(this.#e,this.#t)}),10,100),this.#r?.[0]()}catch(t){throw t instanceof Error&&this.#r?.[1](t),t}finally{if(this.#n=!1,this.#r=this.#o,this.#o=this.#i=null,null!==this.#u){const t=this.#u;this.#u=null,await this.write(t)}}}constructor(t){this.#t=t,this.#e=function(t){const e=t instanceof URL?i.fileURLToPath(t):t.toString();return o.join(o.dirname(e),`.${o.basename(e)}.tmp`)}(t)}async write(t){return this.#n?this.#a(t):this.#l(t)}}class l{#t;#c;constructor(t){this.#t=t,this.#c=new a(t)}async read(){let t;try{t=await r.readFile(this.#t,"utf-8")}catch(t){if("ENOENT"===t.code)return null;throw t}return t}write(t){return this.#c.write(t)}}class c{#f;#s;#p;constructor(t,e){let{parse:n,stringify:r}=e;this.#f=new l(t),this.#s=n,this.#p=r}async read(){const t=await this.#f.read();return null===t?null:this.#s(t)}write(t){return this.#f.write(this.#p(t))}}class f extends c{constructor(t){super(t,{parse:JSON.parse,stringify:t=>JSON.stringify(t,null,2)})}}var s=Array.isArray,p="object"==typeof global&&global&&global.Object===Object&&global,y="object"==typeof self&&self&&self.Object===Object&&self,d=p||y||Function("return this")(),h=d.Symbol,v=Object.prototype,b=v.hasOwnProperty,g=v.toString,j=h?h.toStringTag:void 0;var w=Object.prototype.toString;var m=h?h.toStringTag:void 0;function _(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":m&&m in Object(t)?function(t){var e=b.call(t,j),n=t[j];try{t[j]=void 0;var r=!0}catch(t){}var o=g.call(t);return r&&(e?t[j]=n:delete t[j]),o}(t):function(t){return w.call(t)}(t)}function O(t){return null!=t&&"object"==typeof t}function x(t){return"symbol"==typeof t||O(t)&&"[object Symbol]"==_(t)}var k=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/;function $(t,e){if(s(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!x(t))||(S.test(t)||!k.test(t)||null!=e&&t in Object(e))}function A(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function P(t){if(!A(t))return!1;var e=_(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var D,E=d["__core-js_shared__"],I=(D=/[^.]+$/.exec(E&&E.keys&&E.keys.IE_PROTO||""))?"Symbol(src)_1."+D:"";var N=Function.prototype.toString;function F(t){if(null!=t){try{return N.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var B=/^\[object .+?Constructor\]$/,M=Function.prototype,L=Object.prototype,z=M.toString,R=L.hasOwnProperty,U=RegExp("^"+z.call(R).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function C(t){return!(!A(t)||(e=t,I&&I in e))&&(P(t)?U:B).test(F(t));var e}function W(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return C(n)?n:void 0}var T=W(Object,"create");var q=Object.prototype.hasOwnProperty;var K=Object.prototype.hasOwnProperty;function V(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function J(t,e){return t===e||t!=t&&e!=e}function G(t,e){for(var n=t.length;n--;)if(J(t[n][0],e))return n;return-1}V.prototype.clear=function(){this.__data__=T?T(null):{},this.size=0},V.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},V.prototype.get=function(t){var e=this.__data__;if(T){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return q.call(e,t)?e[t]:void 0},V.prototype.has=function(t){var e=this.__data__;return T?void 0!==e[t]:K.call(e,t)},V.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=T&&void 0===e?"__lodash_hash_undefined__":e,this};var Z=Array.prototype.splice;function Q(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Q.prototype.clear=function(){this.__data__=[],this.size=0},Q.prototype.delete=function(t){var e=this.__data__,n=G(e,t);return!(n<0)&&(n==e.length-1?e.pop():Z.call(e,n,1),--this.size,!0)},Q.prototype.get=function(t){var e=this.__data__,n=G(e,t);return n<0?void 0:e[n][1]},Q.prototype.has=function(t){return G(this.__data__,t)>-1},Q.prototype.set=function(t,e){var n=this.__data__,r=G(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var H=W(d,"Map");function X(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function Y(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}Y.prototype.clear=function(){this.size=0,this.__data__={hash:new V,map:new(H||Q),string:new V}},Y.prototype.delete=function(t){var e=X(this,t).delete(t);return this.size-=e?1:0,e},Y.prototype.get=function(t){return X(this,t).get(t)},Y.prototype.has=function(t){return X(this,t).has(t)},Y.prototype.set=function(t,e){var n=X(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function tt(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var u=t.apply(this,r);return n.cache=i.set(o,u)||i,u};return n.cache=new(tt.Cache||Y),n}tt.Cache=Y;var et,nt,rt,ot=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,it=/\\(\\)?/g,ut=(et=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(ot,(function(t,n,r,o){e.push(r?o.replace(it,"$1"):n||t)})),e},nt=tt(et,(function(t){return 500===rt.size&&rt.clear(),t})),rt=nt.cache,nt),at=ut;function lt(t,e){for(var n=-1,r=null==t?0:t.length,o=Array(r);++n<r;)o[n]=e(t[n],n,t);return o}var ct=h?h.prototype:void 0,ft=ct?ct.toString:void 0;function st(t){if("string"==typeof t)return t;if(s(t))return lt(t,st)+"";if(x(t))return ft?ft.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function pt(t,e){return s(t)?t:$(t,e)?[t]:at(function(t){return null==t?"":st(t)}(t))}function yt(t){if("string"==typeof t||x(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function dt(t,e){for(var n=0,r=(e=pt(e,t)).length;null!=t&&n<r;)t=t[yt(e[n++])];return n&&n==r?t:void 0}function ht(t,e,n){var r=null==t?void 0:dt(t,e);return void 0===r?n:r}function vt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var bt,gt=function(t,e,n){for(var r=-1,o=Object(t),i=n(t),u=i.length;u--;){var a=i[bt?u:++r];if(!1===e(o[a],a,o))break}return t};function jt(t){return O(t)&&"[object Arguments]"==_(t)}var wt=Object.prototype,mt=wt.hasOwnProperty,_t=wt.propertyIsEnumerable,Ot=jt(function(){return arguments}())?jt:function(t){return O(t)&&mt.call(t,"callee")&&!_t.call(t,"callee")},xt=Ot;var kt="object"==typeof exports&&exports&&!exports.nodeType&&exports,St=kt&&"object"==typeof module&&module&&!module.nodeType&&module,$t=St&&St.exports===kt?d.Buffer:void 0,At=($t?$t.isBuffer:void 0)||function(){return!1},Pt=/^(?:0|[1-9]\d*)$/;function Dt(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Pt.test(t))&&t>-1&&t%1==0&&t<e}function Et(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var It={};function Nt(t){return function(e){return t(e)}}It["[object Float32Array]"]=It["[object Float64Array]"]=It["[object Int8Array]"]=It["[object Int16Array]"]=It["[object Int32Array]"]=It["[object Uint8Array]"]=It["[object Uint8ClampedArray]"]=It["[object Uint16Array]"]=It["[object Uint32Array]"]=!0,It["[object Arguments]"]=It["[object Array]"]=It["[object ArrayBuffer]"]=It["[object Boolean]"]=It["[object DataView]"]=It["[object Date]"]=It["[object Error]"]=It["[object Function]"]=It["[object Map]"]=It["[object Number]"]=It["[object Object]"]=It["[object RegExp]"]=It["[object Set]"]=It["[object String]"]=It["[object WeakMap]"]=!1;var Ft="object"==typeof exports&&exports&&!exports.nodeType&&exports,Bt=Ft&&"object"==typeof module&&module&&!module.nodeType&&module,Mt=Bt&&Bt.exports===Ft&&p.process,Lt=function(){try{var t=Bt&&Bt.require&&Bt.require("util").types;return t||Mt&&Mt.binding&&Mt.binding("util")}catch(t){}}(),zt=Lt&&Lt.isTypedArray,Rt=zt?Nt(zt):function(t){return O(t)&&Et(t.length)&&!!It[_(t)]},Ut=Object.prototype.hasOwnProperty;function Ct(t,e){var n=s(t),r=!n&&xt(t),o=!n&&!r&&At(t),i=!n&&!r&&!o&&Rt(t),u=n||r||o||i,a=u?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],l=a.length;for(var c in t)!e&&!Ut.call(t,c)||u&&("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Dt(c,l))||a.push(c);return a}var Wt=Object.prototype;function Tt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Wt)}function qt(t,e){return function(n){return t(e(n))}}var Kt=qt(Object.keys,Object),Vt=Object.prototype.hasOwnProperty;function Jt(t){if(!Tt(t))return Kt(t);var e=[];for(var n in Object(t))Vt.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Gt(t){return null!=t&&Et(t.length)&&!P(t)}function Zt(t){return Gt(t)?Ct(t):Jt(t)}var Qt=function(t,e){return function(n,r){if(null==n)return n;if(!Gt(n))return t(n,r);for(var o=n.length,i=e?o:-1,u=Object(n);(e?i--:++i<o)&&!1!==r(u[i],i,u););return n}}((function(t,e){return t&&gt(t,e,Zt)})),Ht=Qt;function Xt(t){return t}function Yt(t,e){var n;return(s(t)?vt:Ht)(t,"function"==typeof(n=e)?n:Xt)}function te(t){var e=this.__data__=new Q(t);this.size=e.size}te.prototype.clear=function(){this.__data__=new Q,this.size=0},te.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},te.prototype.get=function(t){return this.__data__.get(t)},te.prototype.has=function(t){return this.__data__.has(t)},te.prototype.set=function(t,e){var n=this.__data__;if(n instanceof Q){var r=n.__data__;if(!H||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Y(r)}return n.set(t,e),this.size=n.size,this};function ee(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new Y;++e<n;)this.add(t[e])}function ne(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function re(t,e){return t.has(e)}ee.prototype.add=ee.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ee.prototype.has=function(t){return this.__data__.has(t)};function oe(t,e,n,r,o,i){var u=1&n,a=t.length,l=e.length;if(a!=l&&!(u&&l>a))return!1;var c=i.get(t),f=i.get(e);if(c&&f)return c==e&&f==t;var s=-1,p=!0,y=2&n?new ee:void 0;for(i.set(t,e),i.set(e,t);++s<a;){var d=t[s],h=e[s];if(r)var v=u?r(h,d,s,e,t,i):r(d,h,s,t,e,i);if(void 0!==v){if(v)continue;p=!1;break}if(y){if(!ne(e,(function(t,e){if(!re(y,e)&&(d===t||o(d,t,n,r,i)))return y.push(e)}))){p=!1;break}}else if(d!==h&&!o(d,h,n,r,i)){p=!1;break}}return i.delete(t),i.delete(e),p}var ie=d.Uint8Array;function ue(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function ae(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var le=h?h.prototype:void 0,ce=le?le.valueOf:void 0;function fe(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}function se(t,e,n){var r=e(t);return s(t)?r:fe(r,n(t))}function pe(t,e){for(var n=-1,r=null==t?0:t.length,o=0,i=[];++n<r;){var u=t[n];e(u,n,t)&&(i[o++]=u)}return i}function ye(){return[]}var de=Object.prototype.propertyIsEnumerable,he=Object.getOwnPropertySymbols,ve=he?function(t){return null==t?[]:(t=Object(t),pe(he(t),(function(e){return de.call(t,e)})))}:ye;function be(t){return se(t,Zt,ve)}var ge=Object.prototype.hasOwnProperty;var je=W(d,"DataView"),we=W(d,"Promise"),me=W(d,"Set"),_e=W(d,"WeakMap"),Oe="[object Map]",xe="[object Promise]",ke="[object Set]",Se="[object WeakMap]",$e="[object DataView]",Ae=F(je),Pe=F(H),De=F(we),Ee=F(me),Ie=F(_e),Ne=_;(je&&Ne(new je(new ArrayBuffer(1)))!=$e||H&&Ne(new H)!=Oe||we&&Ne(we.resolve())!=xe||me&&Ne(new me)!=ke||_e&&Ne(new _e)!=Se)&&(Ne=function(t){var e=_(t),n="[object Object]"==e?t.constructor:void 0,r=n?F(n):"";if(r)switch(r){case Ae:return $e;case Pe:return Oe;case De:return xe;case Ee:return ke;case Ie:return Se}return e});var Fe=Ne,Be="[object Arguments]",Me="[object Array]",Le="[object Object]",ze=Object.prototype.hasOwnProperty;function Re(t,e,n,r,o,i){var u=s(t),a=s(e),l=u?Me:Fe(t),c=a?Me:Fe(e),f=(l=l==Be?Le:l)==Le,p=(c=c==Be?Le:c)==Le,y=l==c;if(y&&At(t)){if(!At(e))return!1;u=!0,f=!1}if(y&&!f)return i||(i=new te),u||Rt(t)?oe(t,e,n,r,o,i):function(t,e,n,r,o,i,u){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new ie(t),new ie(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return J(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=ue;case"[object Set]":var l=1&r;if(a||(a=ae),t.size!=e.size&&!l)return!1;var c=u.get(t);if(c)return c==e;r|=2,u.set(t,e);var f=oe(a(t),a(e),r,o,i,u);return u.delete(t),f;case"[object Symbol]":if(ce)return ce.call(t)==ce.call(e)}return!1}(t,e,l,n,r,o,i);if(!(1&n)){var d=f&&ze.call(t,"__wrapped__"),h=p&&ze.call(e,"__wrapped__");if(d||h){var v=d?t.value():t,b=h?e.value():e;return i||(i=new te),o(v,b,n,r,i)}}return!!y&&(i||(i=new te),function(t,e,n,r,o,i){var u=1&n,a=be(t),l=a.length;if(l!=be(e).length&&!u)return!1;for(var c=l;c--;){var f=a[c];if(!(u?f in e:ge.call(e,f)))return!1}var s=i.get(t),p=i.get(e);if(s&&p)return s==e&&p==t;var y=!0;i.set(t,e),i.set(e,t);for(var d=u;++c<l;){var h=t[f=a[c]],v=e[f];if(r)var b=u?r(v,h,f,e,t,i):r(h,v,f,t,e,i);if(!(void 0===b?h===v||o(h,v,n,r,i):b)){y=!1;break}d||(d="constructor"==f)}if(y&&!d){var g=t.constructor,j=e.constructor;g==j||!("constructor"in t)||!("constructor"in e)||"function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j||(y=!1)}return i.delete(t),i.delete(e),y}(t,e,n,r,o,i))}function Ue(t,e,n,r,o){return t===e||(null==t||null==e||!O(t)&&!O(e)?t!=t&&e!=e:Re(t,e,n,r,Ue,o))}function Ce(t){return t==t&&!A(t)}function We(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function Te(t){var e=function(t){for(var e=Zt(t),n=e.length;n--;){var r=e[n],o=t[r];e[n]=[r,o,Ce(o)]}return e}(t);return 1==e.length&&e[0][2]?We(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var o=n.length,i=o,u=!r;if(null==t)return!i;for(t=Object(t);o--;){var a=n[o];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++o<i;){var l=(a=n[o])[0],c=t[l],f=a[1];if(u&&a[2]){if(void 0===c&&!(l in t))return!1}else{var s=new te;if(r)var p=r(c,f,l,t,e,s);if(!(void 0===p?Ue(f,c,3,r,s):p))return!1}}return!0}(n,t,e)}}function qe(t,e){return null!=t&&e in Object(t)}function Ke(t,e){return null!=t&&function(t,e,n){for(var r=-1,o=(e=pt(e,t)).length,i=!1;++r<o;){var u=yt(e[r]);if(!(i=null!=t&&n(t,u)))break;t=t[u]}return i||++r!=o?i:!!(o=null==t?0:t.length)&&Et(o)&&Dt(u,o)&&(s(t)||xt(t))}(t,e,qe)}function Ve(t){return function(e){return null==e?void 0:e[t]}}function Je(t){return $(t)?Ve(yt(t)):function(t){return function(e){return dt(e,t)}}(t)}function Ge(t){return"function"==typeof t?t:null==t?Xt:"object"==typeof t?s(t)?function(t,e){return $(t)&&Ce(e)?We(yt(t),e):function(n){var r=ht(n,t);return void 0===r&&r===e?Ke(n,t):Ue(e,r,3)}}(t[0],t[1]):Te(t):Je(t)}function Ze(t,e){var n=-1,r=Gt(t)?Array(t.length):[];return Ht(t,(function(t,o,i){r[++n]=e(t,o,i)})),r}function Qe(t,e){return(s(t)?lt:Ze)(t,Ge(e))}function He(t,e){var n=[];return Ht(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}function Xe(t,e){return(s(t)?pe:He)(t,Ge(e))}var Ye=function(){try{var t=W(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),tn=Ye;function en(t,e,n){"__proto__"==e&&tn?tn(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}function nn(t,e,n){(void 0!==n&&!J(t[e],n)||void 0===n&&!(e in t))&&en(t,e,n)}var rn="object"==typeof exports&&exports&&!exports.nodeType&&exports,on=rn&&"object"==typeof module&&module&&!module.nodeType&&module,un=on&&on.exports===rn?d.Buffer:void 0,an=un?un.allocUnsafe:void 0;function ln(t,e){if(e)return t.slice();var n=t.length,r=an?an(n):new t.constructor(n);return t.copy(r),r}function cn(t){var e=new t.constructor(t.byteLength);return new ie(e).set(new ie(t)),e}function fn(t,e){var n=e?cn(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function sn(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}var pn=Object.create,yn=function(){function t(){}return function(e){if(!A(e))return{};if(pn)return pn(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),dn=yn,hn=qt(Object.getPrototypeOf,Object);function vn(t){return"function"!=typeof t.constructor||Tt(t)?{}:dn(hn(t))}var bn=Function.prototype,gn=Object.prototype,jn=bn.toString,wn=gn.hasOwnProperty,mn=jn.call(Object);function _n(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var On=Object.prototype.hasOwnProperty;function xn(t,e,n){var r=t[e];On.call(t,e)&&J(r,n)&&(void 0!==n||e in t)||en(t,e,n)}function kn(t,e,n,r){var o=!n;n||(n={});for(var i=-1,u=e.length;++i<u;){var a=e[i],l=r?r(n[a],t[a],a,n,t):void 0;void 0===l&&(l=t[a]),o?en(n,a,l):xn(n,a,l)}return n}var Sn=Object.prototype.hasOwnProperty;function $n(t){if(!A(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Tt(t),n=[];for(var r in t)("constructor"!=r||!e&&Sn.call(t,r))&&n.push(r);return n}function An(t){return Gt(t)?Ct(t,!0):$n(t)}function Pn(t,e,n,r,o,i,u){var a=_n(t,n),l=_n(e,n),c=u.get(l);if(c)nn(t,n,c);else{var f,p=i?i(a,l,n+"",t,e,u):void 0,y=void 0===p;if(y){var d=s(l),h=!d&&At(l),v=!d&&!h&&Rt(l);p=l,d||h||v?s(a)?p=a:O(f=a)&&Gt(f)?p=sn(a):h?(y=!1,p=ln(l,!0)):v?(y=!1,p=fn(l,!0)):p=[]:function(t){if(!O(t)||"[object Object]"!=_(t))return!1;var e=hn(t);if(null===e)return!0;var n=wn.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&jn.call(n)==mn}(l)||xt(l)?(p=a,xt(a)?p=function(t){return kn(t,An(t))}(a):A(a)&&!P(a)||(p=vn(l))):y=!1}y&&(u.set(l,p),o(p,l,r,i,u),u.delete(l)),nn(t,n,p)}}function Dn(t,e,n,r,o){t!==e&&gt(e,(function(i,u){if(o||(o=new te),A(i))Pn(t,e,u,n,Dn,r,o);else{var a=r?r(_n(t,u),i,u+"",t,e,o):void 0;void 0===a&&(a=i),nn(t,u,a)}}),An)}var En=Math.max;var In=tn?function(t,e){return tn(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:Xt,Nn=In,Fn=Date.now;var Bn=function(t){var e=0,n=0;return function(){var r=Fn(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Nn),Mn=Bn;function Ln(t,e){return Mn(function(t,e,n){return e=En(void 0===e?t.length-1:e,0),function(){for(var r=arguments,o=-1,i=En(r.length-e,0),u=Array(i);++o<i;)u[o]=r[e+o];o=-1;for(var a=Array(e+1);++o<e;)a[o]=r[o];return a[e]=n(u),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,a)}}(t,e,Xt),t+"")}var zn,Rn=(zn=function(t,e,n){Dn(t,e,n)},Ln((function(t,e){var n=-1,r=e.length,o=r>1?e[r-1]:void 0,i=r>2?e[2]:void 0;for(o=zn.length>3&&"function"==typeof o?(r--,o):void 0,i&&function(t,e,n){if(!A(n))return!1;var r=typeof e;return!!("number"==r?Gt(n)&&Dt(e,n.length):"string"==r&&e in n)&&J(n[e],t)}(e[0],e[1],i)&&(o=r<3?void 0:o,r=1),t=Object(t);++n<r;){var u=e[n];u&&zn(t,u,n,o)}return t})));var Un=Ve("length"),Cn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var Wn="\\ud800-\\udfff",Tn="["+Wn+"]",qn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Kn="\\ud83c[\\udffb-\\udfff]",Vn="[^"+Wn+"]",Jn="(?:\\ud83c[\\udde6-\\uddff]){2}",Gn="[\\ud800-\\udbff][\\udc00-\\udfff]",Zn="(?:"+qn+"|"+Kn+")"+"?",Qn="[\\ufe0e\\ufe0f]?",Hn=Qn+Zn+("(?:\\u200d(?:"+[Vn,Jn,Gn].join("|")+")"+Qn+Zn+")*"),Xn="(?:"+[Vn+qn+"?",qn,Jn,Gn,Tn].join("|")+")",Yn=RegExp(Kn+"(?="+Kn+")|"+Xn+Hn,"g");function tr(t){return function(t){return Cn.test(t)}(t)?function(t){for(var e=Yn.lastIndex=0;Yn.test(t);)++e;return e}(t):Un(t)}function er(t){if(null==t)return 0;if(Gt(t))return"string"==typeof(e=t)||!s(e)&&O(e)&&"[object String]"==_(e)?tr(t):t.length;var e,n=Fe(t);return"[object Map]"==n||"[object Set]"==n?t.size:Jt(t).length}var nr=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)fe(e,ve(t)),t=hn(t);return e}:ye,rr=nr;function or(t){return se(t,An,rr)}var ir=Object.prototype.hasOwnProperty;var ur=/\w*$/;var ar=h?h.prototype:void 0,lr=ar?ar.valueOf:void 0;function cr(t,e,n){var r,o=t.constructor;switch(e){case"[object ArrayBuffer]":return cn(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var n=e?cn(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return fn(t,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,ur.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,lr?Object(lr.call(r)):{}}}var fr=Lt&&Lt.isMap,sr=fr?Nt(fr):function(t){return O(t)&&"[object Map]"==Fe(t)};var pr=Lt&&Lt.isSet,yr=pr?Nt(pr):function(t){return O(t)&&"[object Set]"==Fe(t)},dr="[object Arguments]",hr="[object Function]",vr="[object Object]",br={};function gr(t,e,n,r,o,i){var u,a=1&e,l=2&e,c=4&e;if(n&&(u=o?n(t,r,o,i):n(t)),void 0!==u)return u;if(!A(t))return t;var f=s(t);if(f){if(u=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&ir.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!a)return sn(t,u)}else{var p=Fe(t),y=p==hr||"[object GeneratorFunction]"==p;if(At(t))return ln(t,a);if(p==vr||p==dr||y&&!o){if(u=l||y?{}:vn(t),!a)return l?function(t,e){return kn(t,rr(t),e)}(t,function(t,e){return t&&kn(e,An(e),t)}(u,t)):function(t,e){return kn(t,ve(t),e)}(t,function(t,e){return t&&kn(e,Zt(e),t)}(u,t))}else{if(!br[p])return o?t:{};u=cr(t,p,a)}}i||(i=new te);var d=i.get(t);if(d)return d;i.set(t,u),yr(t)?t.forEach((function(r){u.add(gr(r,e,n,r,t,i))})):sr(t)&&t.forEach((function(r,o){u.set(o,gr(r,e,n,o,t,i))}));var h=f?void 0:(c?l?or:be:l?An:Zt)(t);return vt(h||t,(function(r,o){h&&(r=t[o=r]),xn(u,o,gr(r,e,n,o,t,i))})),u}br[dr]=br["[object Array]"]=br["[object ArrayBuffer]"]=br["[object DataView]"]=br["[object Boolean]"]=br["[object Date]"]=br["[object Float32Array]"]=br["[object Float64Array]"]=br["[object Int8Array]"]=br["[object Int16Array]"]=br["[object Int32Array]"]=br["[object Map]"]=br["[object Number]"]=br[vr]=br["[object RegExp]"]=br["[object Set]"]=br["[object String]"]=br["[object Symbol]"]=br["[object Uint8Array]"]=br["[object Uint8ClampedArray]"]=br["[object Uint16Array]"]=br["[object Uint32Array]"]=!0,br["[object Error]"]=br[hr]=br["[object WeakMap]"]=!1;function jr(t){return gr(t,5)}function wr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mr={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function i(t,e,r,i,u){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new o(r,i||t,u),l=n?n+e:e;return t._events[l]?t._events[l].fn?t._events[l]=[t._events[l],a]:t._events[l].push(a):(t._events[l]=a,t._eventsCount++),t}function u(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,o=[];if(0===this._eventsCount)return o;for(r in t=this._events)e.call(t,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,u=new Array(i);o<i;o++)u[o]=r[o].fn;return u},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,o,i,u){var a=n?n+t:t;if(!this._events[a])return!1;var l,c,f=this._events[a],s=arguments.length;if(f.fn){switch(f.once&&this.removeListener(t,f.fn,void 0,!0),s){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,e),!0;case 3:return f.fn.call(f.context,e,r),!0;case 4:return f.fn.call(f.context,e,r,o),!0;case 5:return f.fn.call(f.context,e,r,o,i),!0;case 6:return f.fn.call(f.context,e,r,o,i,u),!0}for(c=1,l=new Array(s-1);c<s;c++)l[c-1]=arguments[c];f.fn.apply(f.context,l)}else{var p,y=f.length;for(c=0;c<y;c++)switch(f[c].once&&this.removeListener(t,f[c].fn,void 0,!0),s){case 1:f[c].fn.call(f[c].context);break;case 2:f[c].fn.call(f[c].context,e);break;case 3:f[c].fn.call(f[c].context,e,r);break;case 4:f[c].fn.call(f[c].context,e,r,o);break;default:if(!l)for(p=1,l=new Array(s-1);p<s;p++)l[p-1]=arguments[p];f[c].fn.apply(f[c].context,l)}}return!0},a.prototype.on=function(t,e,n){return i(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return i(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,r,o){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return u(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||r&&a.context!==r||u(this,i);else{for(var l=0,c=[],f=a.length;l<f;l++)(a[l].fn!==e||o&&!a[l].once||r&&a[l].context!==r)&&c.push(a[l]);c.length?this._events[i]=1===c.length?c[0]:c:u(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&u(this,e)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a}(mr);var _r=wr(mr.exports);const Or=[];for(let t=0;t<256;++t)Or.push((t+256).toString(16).slice(1));const xr=new Uint8Array(16);function kr(){return crypto.getRandomValues(xr)}const Sr={};function $r(t,e,n){let r;if(t)r=Ar(t.random??t.rng?.()??kr(),t.msecs,t.seq,e,n);else{const t=Date.now(),o=kr();!function(t,e,n){t.msecs??=-1/0,t.seq??=0,e>t.msecs?(t.seq=Pr(n),t.msecs=e):(t.seq=t.seq+1|0,0===t.seq&&t.msecs++)}(Sr,t,o),r=Ar(o,Sr.msecs,Sr.seq,e,n)}return e??function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(Or[t[e+0]]+Or[t[e+1]]+Or[t[e+2]]+Or[t[e+3]]+"-"+Or[t[e+4]]+Or[t[e+5]]+"-"+Or[t[e+6]]+Or[t[e+7]]+"-"+Or[t[e+8]]+Or[t[e+9]]+"-"+Or[t[e+10]]+Or[t[e+11]]+Or[t[e+12]]+Or[t[e+13]]+Or[t[e+14]]+Or[t[e+15]]).toLowerCase()}(r)}function Ar(t,e,n,r){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(t.length<16)throw new Error("Random bytes length must be >= 16");if(r){if(o<0||o+16>r.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else r=new Uint8Array(16),o=0;return e??=Date.now(),n??=Pr(t),r[o++]=e/1099511627776&255,r[o++]=e/4294967296&255,r[o++]=e/16777216&255,r[o++]=e/65536&255,r[o++]=e/256&255,r[o++]=255&e,r[o++]=112|n>>>28&15,r[o++]=n>>>20&255,r[o++]=128|n>>>14&63,r[o++]=n>>>6&255,r[o++]=n<<2&255|3&t[10],r[o++]=t[11],r[o++]=t[12],r[o++]=t[13],r[o++]=t[14],r[o++]=t[15],r}function Pr(t){return(127&t[6])<<24|t[7]<<16|t[8]<<8|t[9]}var Dr=/\s/;var Er=/^\s+/;function Ir(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Dr.test(t.charAt(e)););return e}(t)+1).replace(Er,""):t}var Nr=/^[-+]0x[0-9a-f]+$/i,Fr=/^0b[01]+$/i,Br=/^0o[0-7]+$/i,Mr=parseInt;var Lr=1/0;function zr(t){return t?(t=function(t){if("number"==typeof t)return t;if(x(t))return NaN;if(A(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=A(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Ir(t);var n=Fr.test(t);return n||Br.test(t)?Mr(t.slice(2),n?2:8):Nr.test(t)?NaN:+t}(t))===Lr||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Rr(t,e,n){var r=null==t?0:t.length;return r?(e=n||void 0===e?1:function(t){var e=zr(t),n=e%1;return e==e?n?e-n:e:0}(e),function(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r<o;)i[r]=t[r+e];return i}(t,e<0?0:e,r)):[]}function Ur(t){return P(t)}function Cr(t){try{t instanceof Promise&&Promise.prototype.then.call(t,void 0,(()=>{}))}catch(t){}}function Wr(t){return"[object Array]"===Object.prototype.toString.call(t)}function Tr(t){return"[object Object]"===Object.prototype.toString.call(t)}function qr(t,e){let n=function(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}(),r=!1;try{let e=function(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!1;try{if(Array.isArray(t)){let e=t.length;n.length=e;for(let r=0;r<e;r++)r in t&&(n[r]=t[r])}else{if(e||!Tr(t)&&!Wr(t))return null;{r=!0;let e=Object.keys(t);for(let r=0;r<e.length;r++)n.push({k:e[r],v:t[e[r]]})}}}catch(t){throw n.forEach((t=>{Cr(r?t.v:t)})),t}return{items:n,useObj:r}}(t);if(null===e)return n.reject("rs is not an array or object"),n;t=e.items,r=e.useObj}catch(t){return n.reject(t),n}Ur(e)||(Yt(t,(t=>{Cr(r?t.v:t)})),e=function(t){return t});let o=Ur(e),i=-1,u=[];return t.reduce((function(t,n){return t.then((function(t){u.push(t),i+=1;let a=i,l=n;return r&&(a=n.k,l=n.v),o?e(l,a):l}))}),Promise.resolve()).then((function(t){u.push(t),u=Rr(u),n.resolve(u)})).catch((function(t){n.reject(t)})),n}function Kr(t){return!0===(e=t)||!1===e||O(e)&&"[object Boolean]"==_(e);var e}function Vr(t){return"[object String]"===Object.prototype.toString.call(t)}function Jr(t){return!!(Vr(t)&&t.length>0)}function Gr(t){if(Tr(t)){for(let e in t)return!0;return!1}return!1}function Zr(t){if(t!=t)return!0;if(null!==t&&"object"==typeof t)try{let e=Number.prototype.valueOf.call(t);return Number.isNaN(e)}catch(t){return!1}return!1}function Qr(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Tr(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!Vr(t)||0!==t.length)}(t)||(!!function(t){return!!Wr(t)&&0===t.length}(t)||!!Zr(t)))))}function Hr(t){return!!Wr(t)&&(0!==t.length&&(1!==t.length||!Qr(t[0])))}function Xr(t){let e=!1;if(Jr(t)){if(""===t.trim())return!1;e=!isNaN(Number(t))}else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Zr(t))return!1;e=!0}return e}function Yr(t,e){return!!Tr(t)&&(!(!Jr(e)&&!Xr(e))&&e in t)}let to=Function.prototype.call,eo=to.bind(Object.prototype.hasOwnProperty),no=Object.getOwnPropertyDescriptor,ro=eo(String.prototype,"isWellFormed")?to.bind(String.prototype.isWellFormed):null,oo=to.bind(String.prototype.indexOf),io=to.bind(RegExp.prototype.exec),uo=/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]/,ao="not a string",lo="string contains NUL",co="string contains lone surrogate";function fo(t,e){return"string"!=typeof t?ao:(t=>{if(null==t)return!0;let e=no(t,"nul");return!(void 0!==e&&eo(e,"value")&&!1===e.value)})(e)&&-1!==oo(t,"\0")?lo:(null!==ro?ro(t):null===io(uo,t))?null:co}let so=Function.prototype.call,po=so.bind(String.prototype.charCodeAt),yo=so.bind(String.prototype.slice),ho=so.bind(RegExp.prototype.exec),vo=/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Co}\p{Cs}[\]]/u,bo=(t,e)=>{let n=t.length>e?`${yo(t,0,e)}...`:t,r="";for(let t=0;t<n.length;t++){let e=n[t],o=po(n,t);if(o>=55296&&o<=56319&&t+1<n.length){let r=po(n,t+1);r>=56320&&r<=57343&&(e+=n[t+1],t++)}r+=null===ho(vo,e)?e:"?"}return r},go=Function.prototype.call,jo=go.bind(String.prototype.charCodeAt),wo=go.bind(String.prototype.slice),mo=t=>{if(t.length<=120)return t;let e=t.length-100,n=jo(t,e);return n>=56320&&n<=57343&&e++,`...${wo(t,e)}`},_o={maxDepth:32,maxList:1e3,maxIn:1e4,maxNodes:1e5,maxKey:128},Oo=Reflect.ownKeys,xo=Object.getOwnPropertyDescriptor,ko=Object.getPrototypeOf,So=Object.defineProperty,$o=Object.create,Ao=Object.setPrototypeOf,Po=Array.isArray,Do=Number.isInteger,Eo=Number.isFinite,Io=Number.isNaN,No=Number.isSafeInteger,Fo=Object.prototype,Bo=Date,Mo=Function.prototype.call,Lo=Mo.bind(Object.prototype.hasOwnProperty),zo=Mo.bind(Object.prototype.toString),Ro=Mo.bind(Date.prototype.getTime),Uo=Mo.bind(WeakSet.prototype.add),Co=Mo.bind(WeakSet.prototype.has),Wo=Mo.bind(String.prototype.charCodeAt),To=Mo.bind(RegExp.prototype.exec),qo=String,Ko=Mo.bind(xo(ko(Uint8Array.prototype),Symbol.toStringTag).get),Vo={},Jo=()=>{},Go=Mo.bind(Map.prototype.has),Zo=Mo.bind(Set.prototype.has),Qo=Mo.bind(WeakMap.prototype.has),Ho=Mo.bind(xo(ArrayBuffer.prototype,"byteLength").get),Xo=Mo.bind(xo(DataView.prototype,"buffer").get),Yo=Mo.bind(Symbol.prototype.valueOf),ti=Mo.bind(Promise.prototype.then),ei=[t=>Go(t,0),t=>Zo(t,0),t=>Qo(t,Vo),t=>Co(t,Vo),t=>Ho(t),t=>Xo(t),t=>Yo(t),t=>ti(t,Jo,Jo)];if("function"==typeof SharedArrayBuffer){let t=Mo.bind(xo(SharedArrayBuffer.prototype,"byteLength").get);ei[ei.length]=e=>t(e)}if("function"==typeof WeakRef){let t=Mo.bind(WeakRef.prototype.deref);ei[ei.length]=e=>t(e)}if("function"==typeof FinalizationRegistry){let t=Mo.bind(FinalizationRegistry.prototype.unregister);ei[ei.length]=e=>t(e,Vo)}if("function"==typeof BigInt){let t=Mo.bind(BigInt.prototype.valueOf);ei[ei.length]=e=>t(e)}let ni=null,ri=null;if("function"==typeof structuredClone)try{let t=structuredClone,e=!1;try{t(new Proxy({},{}))}catch(t){e=!0}let n=t({}),r=ko(n);if(e&&"[object Map]"===zo(t(new Map))&&"[object Object]"===zo(n)&&0===Oo(n).length&&null!==r&&null===ko(r)&&Lo(r,"hasOwnProperty")&&ko(t({a:1}))===r){let e=!0,n=[()=>new Map,()=>new Set,()=>new WeakMap,()=>new WeakSet,()=>Promise.resolve(0),()=>new ArrayBuffer(1),()=>new DataView(new ArrayBuffer(1)),()=>Object(Symbol("s"))];"function"==typeof SharedArrayBuffer&&(n[n.length]=()=>new SharedArrayBuffer(1)),"function"==typeof WeakRef&&(n[n.length]=()=>new WeakRef(Vo)),"function"==typeof FinalizationRegistry&&(n[n.length]=()=>new FinalizationRegistry(Jo)),"function"==typeof BigInt&&(n[n.length]=()=>Object(BigInt(1)));for(let o=0;o<n.length&&e;o++){let i=Ao(n[o](),null);try{ko(t(i))===r&&(e=!1)}catch(t){}}e&&(ni=t,ri=r)}}catch(t){}let oi="condition must be a plain object",ii="symbol key is not allowed",ui="non-enumerable property is not allowed",ai="non-enumerable element is not allowed",li="accessor property is not allowed",ci="accessor element is not allowed",fi="undefined is not allowed",si="null is not allowed here",pi="unsupported value type",yi="number is not finite",di="invalid Date",hi="array value is not supported, use $in",vi="empty operator object",bi="empty condition",gi="$nin with empty array is always true",ji="value must be an array",wi="invalid array length",mi="array carries extra properties",_i="nesting is too deep",Oi="condition is too large",xi="an exception was thrown while reading the condition",ki="an empty find must be an ordinary object",Si=/^[\p{L}_][\p{L}\p{M}\p{N}_]*$/u,$i=/^\[object (Date|RegExp|Map|Set|WeakMap|WeakSet|Promise|Error|String|Number|Boolean|BigInt|Symbol|ArrayBuffer|SharedArrayBuffer|DataView|Arguments|(?:Int8|Uint8|Uint8Clamped|Int16|Uint16|Int32|Uint32|Float32|Float64|BigInt64|BigUint64)Array)\]$/,Ai=new WeakSet,Pi=t=>{let e={reason:t};throw Uo(Ai,e),e},Di=t=>{if(null===t)return"null";let e=typeof t;if("object"!==e)return e;if(Po(t))return"array";let n=To($i,zo(t));return n?n[1]:"object"},Ei=t=>null===t?"find":Ei(t.up)+("number"==typeof t.k?`[${t.k}]`:`.${bo(t.k,30)}`),Ii=t=>{t.nodes+=1,t.nodes>t.maxNodes&&Pi(Oi)},Ni=(t,e,n)=>{So(t,e,{__proto__:null,value:n,enumerable:!0,writable:!0,configurable:!0})},Fi=t=>{try{return Ro(t)}catch(t){return}},Bi=t=>{if(null===t||"object"!=typeof t||Po(t))return!1;let e=ko(t);return(e===Fo||null===e)&&("[object Object]"===zo(t)&&void 0===Ko(t))},Mi=t=>{for(let e=0;e<ei.length;e++)try{return ei[e](t),!0}catch(t){}return!1},Li=(t,e,n)=>{let r=t.nt;t.ob[r]=e,t.pa[r]=t.path,t.op[r]=n,t.nt=r+1},zi=t=>{let e=t.nt;if(!(0===e||t.chars<=4e6&&((t,e)=>{if(null===ni)return!1;try{let n=ni(t);for(let t=0;t<e;t++)if(ko(n[t])!==ri)return!1;return!0}catch(t){return!1}})(t.ob,e)))for(let n=0;n<e;n++)Mi(t.ob[n])&&(t.path=t.pa[n],Pi(t.op[n]?`${pi} [object]`:`${oi}, got [object]`))},Ri=(t,e,n)=>{"string"!=typeof n&&Pi(ii),t.path={up:t.path,k:n};let r=xo(e,n);return void 0!==r&&r.enumerable||Pi(ui),Lo(r,"value")||Pi(li),r.value},Ui=t=>{let e=t.length;return("number"!=typeof e||!Do(e)||e<0)&&Pi(wi),e},Ci=(t,e,n)=>{t.path={up:t.path,k:n};let r=xo(e,n);return void 0===r&&(t.path=t.path.up,Pi(`sparse array hole at index ${n}`)),r.enumerable||Pi(ai),Lo(r,"value")||Pi(ci),r.value},Wi=(t,e)=>{let n=Oo(t),r=n.length;r>e+1&&Pi(mi);for(let t=0;t<r;t++){let r=n[t];if("string"!=typeof r&&Pi(mi),"length"===r)continue;let o=+r;Do(o)&&o>=0&&o<e&&qo(o)===r||Pi(mi)}},Ti=t=>(Io(t)&&Pi(di),new Bo(t)),qi=(t,e,n)=>{if(Ii(t),null===e)return n||Pi(si),null;switch(typeof e){case"string":return(t=>{let e=fo(t);null!==e&&Pi(e)})(e),t.chars+=e.length,e;case"number":return Eo(e)||Pi(yi),e;case"boolean":return e;case"undefined":return Pi(fi);case"object":{let t=Fi(e);return void 0!==t?Ti(t):Pi(`${pi} [${Di(e)}]`)}default:return Pi(`${pi} [${Di(e)}]`)}},Ki=(t,e)=>{36===Wo(e,0)&&Pi(`unsupported operator [${bo(e,30)}]`),e.length>t.maxKey&&Pi(`column name is too long (> ${t.maxKey})`),null!==To(Si,e)&&"__proto__"!==e||Pi(`unsupported column name [${bo(e,30)}]`)},Vi=(t,e,n)=>{Po(n)||Pi(ji);let r=Ui(n);r>t.maxIn&&Pi(`array is too large (> ${t.maxIn})`),0===r&&"$nin"===e&&Pi(gi);let o=[];for(let e=0;e<r;e++){let r=Ci(t,n,e);Ni(o,e,qi(t,r,!1)),t.path=t.path.up}return Wi(n,r),o},Ji=(t,e)=>{if(null===e)return Ii(t),null;if("object"==typeof e){let n=Fi(e);return void 0!==n?(Ii(t),Ti(n)):(Po(e)&&Pi(hi),((t,e)=>{Bi(e)||Pi(`${pi} [${Di(e)}]`),Ii(t);let n=Oo(e),r=n.length;0===r&&Pi(vi),Li(t,e,!0);let o=$o(null);for(let i=0;i<r;i++){let r=n[i],u=Ri(t,e,r);switch(r){case"$eq":case"$ne":Ni(o,r,qi(t,u,!0));break;case"$gt":case"$gte":case"$lt":case"$lte":Ni(o,r,qi(t,u,!1));break;case"$in":case"$nin":Ni(o,r,Vi(t,r,u));break;default:36===Wo(r,0)&&Pi(`unsupported operator [${bo(r,30)}]`),Pi(`unexpected key [${bo(r,30)}] in operator object (nested conditions are not supported)`)}t.path=t.path.up}return o})(t,e))}return qi(t,e,!0)},Gi=(t,e,n,r)=>{Po(n)||Pi(ji);let o=Ui(n);0===o&&Pi(`${e} with empty array`),o>t.maxList&&Pi(`array is too large (> ${t.maxList})`);let i=[];for(let e=0;e<o;e++){let o=Ci(t,n,e);Ni(i,e,Zi(t,o,r,!1)),t.path=t.path.up}return Wi(n,o),i},Zi=(t,e,n,r)=>{n>t.maxDepth&&Pi(_i),Bi(e)||Pi(`${oi}, got [${Di(e)}]`),Ii(t);let o=Oo(e),i=o.length;if(0===i){if(r)return(t=>{if(null===ni)return!1;try{let e=ni(t);return ko(e)===ri&&0===Oo(e).length}catch(t){return!1}})(e)||(Mi(e)&&Pi(`${oi}, got [object]`),null!==ni&&Pi(ki)),$o(null);Pi(bi)}Li(t,e,!1);let u=$o(null);for(let r=0;r<i;r++){let i=o[r],a=Ri(t,e,i);"$and"===i||"$or"===i?Ni(u,i,Gi(t,i,a,n+1)):(Ki(t,i),Ni(u,i,Ji(t,a))),t.path=t.path.up}return u};function Qi(t,e){let n=(t=>{let e,n={maxDepth:_o.maxDepth,maxList:_o.maxList,maxIn:_o.maxIn,maxNodes:_o.maxNodes,maxKey:_o.maxKey};if(null==t)return n;if("object"!=typeof t)throw new Error("invalid opt: opt must be an object");try{e=Oo(t)}catch(t){throw new Error("invalid opt: can not read opt")}for(let t=0;t<e.length;t++){let r=e[t];if("string"!=typeof r||!Lo(n,r))throw new Error(`invalid opt: unknown option [${"string"==typeof r?bo(r,30):"symbol"}]`)}let r=["maxDepth","maxList","maxIn","maxNodes","maxKey"];for(let e=0;e<r.length;e++){let o,i=r[e];try{o=xo(t,i)}catch(t){throw new Error(`invalid opt: can not read option [${i}]`)}if(void 0===o)continue;if(!Lo(o,"value"))throw new Error(`invalid opt: accessor option [${i}] is not allowed`);let u=o.value;if(void 0!==u){if("number"!=typeof u||!No(u)||u<1)throw new Error(`invalid opt: ${i} must be a positive integer`);n[i]=u<_o[i]?u:_o[i]}}return n})(e),r={nodes:0,path:null,maxDepth:n.maxDepth,maxList:n.maxList,maxIn:n.maxIn,maxNodes:n.maxNodes,maxKey:n.maxKey,chars:0,ob:Ao([],null),pa:Ao([],null),op:Ao([],null),nt:0};try{if(void 0===t)return $o(null);let e=Zi(r,t,0,!0);return zi(r),e}catch(t){let e=Co(Ai,t)?t.reason:xi;throw new Error(`invalid find: ${e} at [${o=r.path,mo(Ei(o))}]`)}var o}let Hi=Function.prototype.call,Xi=Reflect.apply,Yi=Reflect.ownKeys,tu=Object.getOwnPropertyDescriptor,eu=Object.getPrototypeOf,nu=Object.setPrototypeOf,ru=Array.isArray,ou=Object.prototype,iu=Hi.bind(Object.prototype.hasOwnProperty),uu=Hi.bind(WeakSet.prototype.add),au=Hi.bind(WeakSet.prototype.has),lu=WeakSet,cu=WeakMap,fu=Hi.bind(WeakMap.prototype.get),su=Hi.bind(WeakMap.prototype.set),pu=Set,yu=Hi.bind(Set.prototype.has),du=Hi.bind(Set.prototype.add),hu=Hi.bind(Date.prototype.getTime),vu=Hi.bind(tu(eu(Uint8Array.prototype),Symbol.toStringTag).get),bu=Hi.bind(tu(ArrayBuffer.prototype,"byteLength").get),gu=Hi.bind(tu(DataView.prototype,"buffer").get),ju="function"==typeof SharedArrayBuffer?Hi.bind(tu(SharedArrayBuffer.prototype,"byteLength").get):null,wu=Hi.bind(tu(Map.prototype,"size").get),mu=Hi.bind(tu(Set.prototype,"size").get),_u=Hi.bind(String.prototype.valueOf),Ou=Hi.bind(tu(RegExp.prototype,"source").get),xu=Hi.bind(Object.prototype.toString),ku="function"==typeof Error.isError?Error.isError:null,Su=Hi.bind(Map.prototype.entries),$u=Hi.bind(Set.prototype.values),Au=Hi.bind(eu((new Map).entries()).next),Pu=Hi.bind(eu((new Set).values()).next),Du=Hi.bind(Function.prototype.toString),Eu=Hi.bind(tu(Symbol.prototype,"description").get),Iu=Number.isInteger,Nu=String,Fu={nul:!1},Bu={nul:!0},Mu=(t,e)=>{let n=nu([],null),r=0;for(let t=e;null!==t;t=t.up)n[r]=1===t.t?`[${t.k}]`:2===t.t?".<invalid key>":3===t.t?".<key>":`.${bo(t.k,30)}`,r++;let o=t;for(let t=r-1;t>=0;t--)o+=n[t];return mo(o)},Lu=(t,e)=>{try{return t(e),!0}catch(t){return!1}},zu=(t,e)=>{switch(t){case 11:return Lu(hu,e);case 12:return Lu(bu,e);case 13:return Lu(gu,e);case 14:return null!==ju&&Lu(ju,e);case 2:return Lu(wu,e);case 3:return Lu(mu,e);case 4:return Lu(_u,e);case 5:return Lu(Ou,e);case 6:return null!==ku?!0===ku(e):"[object Error]"===xu(e);default:return!1}},Ru=[11,12,13,14,2,3,4,5,6],Uu=(t,e)=>void 0===t.get?void 0:Xi(t.get,e,[]),Cu=(t,e)=>{for(let n=t;null!==n;n=eu(n)){let r=tu(n,e);if(void 0!==r)return iu(r,"value")?r.value:Uu(r,t)}},Wu=(t,e)=>{let n=+t;return Iu(n)&&n>=0&&n<e&&Nu(n)===t},Tu=t=>{switch(typeof t){case"string":return t;case"function":try{return Du(t)}catch(t){return}case"symbol":{let e=Eu(t);return"string"==typeof e?e:void 0}default:return}};function qu(t,e){let n=!1,r="data";if(null!=e){let t=tu(e,"nul");void 0!==t&&iu(t,"value")&&!0===t.value&&(n=!0);let o=tu(e,"root");void 0!==o&&iu(o,"value")&&"string"==typeof o.value&&(t=>{if(0===t.length||t.length>200)return!1;let e="";for(let n=0;n<t.length;n++){let r=t[n];e+="["===r||"]"===r?"(":r}return bo(e,1e3)===e})(o.value)&&(r=o.value)}let o=n?Bu:Fu,i=Tu(t);if(void 0!==i){let t=fo(i,o);return null===t?null:{reason:t,path:r}}if("object"!=typeof t||null===t)return null;let u=new lu,a=nu([],null),l=0,c=(t,e,n,r,o,i)=>({kind:t,src:e,ks:null,vs:n,ns:r,i:0,n:o,p:i,it:null,idx:0,pend:!1,pv:void 0,pn:null}),f=null,s=t=>{null===f&&(f=new cu);let e=fu(f,t);if(void 0===e){let n=nu([],null),r=nu([],null),o=0,i=0,u=Yi(t);for(let e=0;e<u.length;e++){let a=u[e];if("string"!=typeof a)continue;n[o]=a,o++;let l=tu(t,a);void 0!==l&&l.enumerable&&(r[i]=a,i++)}e={all:n,na:o,en:r,ne:i},su(f,t,e)}return e},p=null,y=t=>{let e=eu(t);if(e===ou||null===e)return 0;if(void 0!==vu(t))return 1;null===p&&(p=new cu);let n=fu(p,e);if(0===n)return 0;if(void 0!==n&&zu(n,t))return n;let r=(t=>{for(let e=0;e<Ru.length;e++)if(zu(Ru[e],t))return Ru[e];return 0})(t);return su(p,e,r),r},d=(t,e,n)=>{let i=Yi(t),u=nu([],null),f=0;for(let a=0;a<i.length;a++){let l=i[a];if("string"!=typeof l)continue;let c=tu(t,l);if(void 0===c||!c.enumerable)continue;if(n>0&&Wu(l,n))continue;let s=fo(l,o);if(null!==s)return{reason:s,path:Mu(r,{up:e,k:null,t:2})};u[f]=l,u[f+1]=iu(c,"value")?c.value:Uu(c,t),f+=2}let p=eu(t);if(p!==ou&&null!==p){let n=null,a=null,l=0;for(let c=p;null!==c&&c!==ou;c=eu(c)){let p=s(c);if(null===n){if(0===p.ne){null===a&&(a=nu([],null)),a[l]=p,l++;continue}n=new pu;for(let t=0;t<i.length;t++)"string"==typeof i[t]&&du(n,i[t]);for(let t=0;t<l;t++)for(let e=0;e<a[t].na;e++)du(n,a[t].all[e])}for(let i=0;i<p.ne;i++){let a=p.en[i];if(yu(n,a))continue;let l=tu(c,a);if(void 0===l||!l.enumerable)continue;let s=fo(a,o);if(null!==s)return{reason:s,path:Mu(r,{up:e,k:null,t:2})};u[f]=a,u[f+1]=iu(l,"value")?l.value:Uu(l,t),f+=2}for(let t=0;t<p.na;t++)du(n,p.all[t])}}return a[l]=c(0,t,u,null,f,e),l++,null},h=(t,e)=>{if(au(u,t))return null;if(uu(u,t),ru(t)){let n=tu(t,"length"),r=void 0!==n&&iu(n,"value")&&Iu(n.value)&&n.value>=0?n.value:0;if(r<=4096)a[l]=c(1,t,null,null,r,e);else{let n=c(2,t,null,null,0,e);n.ks=Yi(t),n.n=n.ks.length,a[l]=n}return l++,null}let n=y(t);if(1===n||n>=11&&n<=14)return null;if(4===n){let n=_u(t),i=fo(n,o);return null!==i?{reason:i,path:Mu(r,e)}:d(t,e,n.length)}if(2===n||3===n){let r=d(t,e,0);if(null!==r)return r;let o=c(2===n?4:5,t,null,null,0,e);return o.it=2===n?Su(t):$u(t),a[l]=o,l++,null}if(5===n||6===n){let r=d(t,e,0);if(null!==r)return r;let o=5===n?["source"]:["message","name","cause"],i=nu([],null),u=nu([],null),f=0;for(let r=0;r<o.length;r++){let a=5===n?Ou(t):Cu(t,o[r]);void 0!==a&&(i[f]=a,u[f]={up:e,k:o[r],t:0},f++)}return a[l]=c(3,t,i,u,f,e),l++,null}return d(t,e,0)},v=h(t,null);if(null!==v)return v;for(;l>0;){let t,e,n,i=a[l-1],u=null;if(4===i.kind)if(i.pend)i.pend=!1,t=i.pv,u=i.pn,i.pv=void 0,i.pn=null;else{let e=Au(i.it);if(e.done){a[l-1]=void 0,l--;continue}let n={up:i.p,k:i.idx,t:1};i.idx++,i.pv=e.value[1],i.pn=n,i.pend=!0,t=e.value[0],u={up:n,k:null,t:3}}else if(5===i.kind){let e=Pu(i.it);if(e.done){a[l-1]=void 0,l--;continue}t=e.value,u={up:i.p,k:i.idx,t:1},i.idx++}else{if(i.i>=i.n){a[l-1]=void 0,l--;continue}if(0===i.kind)e=i.vs[i.i],n=0,t=i.vs[i.i+1],i.i+=2;else if(1===i.kind){let r=tu(i.src,i.i);if(e=i.i,n=1,i.i++,void 0===r||!r.enumerable)continue;t=iu(r,"value")?r.value:Uu(r,i.src)}else if(2===i.kind){let r=i.ks[i.i];i.i++;let o="string"==typeof r?+r:NaN;if(!(Iu(o)&&o>=0&&o<=4294967294&&Nu(o)===r))continue;let u=tu(i.src,r);if(void 0===u||!u.enumerable)continue;t=iu(u,"value")?u.value:Uu(u,i.src),e=o,n=1}else t=i.vs[i.i],u=i.ns[i.i],i.i++}if("object"==typeof t&&null!==t){let r=h(t,null!==u?u:{up:i.p,k:e,t:n});if(null!==r)return r}else{let a=Tu(t);if(void 0!==a){let t=fo(a,o);if(null!==t)return{reason:t,path:Mu(r,null!==u?u:{up:i.p,k:e,t:n})}}}}return null}let Ku={};return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=null,o=(t,e)=>{let n=fo(e,{nul:!1});if(null!==n)throw new Error(`invalid opt.${t}: ${n}`)},i=ht(n,"url");Jr(i)?o("url",i):i="./db.json";let a=ht(n,"db");Jr(a)?o("db",a):a="worm";let l=ht(n,"cl");Jr(l)?o("cl",l):l="test";let c=ht(n,"useCache");Kr(c)||(c=!1);let s=ht(n,"autoGenPk");Kr(s)||(s=!0);let p=`${a}:${l}`,y=new f(i),d=new e.Low(y,{}),h=new _r,v=t.resolve(i);Yr(Ku,v)||(Ku[v]=Promise.resolve());let b=t=>{let e=Ku[v].then((()=>t()));return Ku[v]=e.catch((()=>{})),e},g=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/,j=t=>{if(t.length<=30)return t;let e=t.slice(0,30),n=e.charCodeAt(29);return n>=55296&&n<=56319&&(e=`${e.slice(0,29)}?`),`${e}...`},w=t=>t.length>120?`...${t.slice(-100)}`:t,m=/^[\p{L}_$][\p{L}\p{M}\p{N}_$]*$/u,_=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new WeakSet;if(!(null===t||"object"!=typeof t||n.has(t)||ArrayBuffer.isView(t)&&"function"==typeof t.toJSON))if((t=>{if("function"!=typeof t.toJSON)return!1;try{return Date.prototype.getTime.call(t),!0}catch(t){return!1}})(t)){let n=JSON.stringify(t);if("string"==typeof n&&'"'===n.charAt(0)&&!g.test(n.slice(1,-1))){let t=`data${e.map((t=>"number"==typeof t?`[${t}]`:(t=>{let e=j(t);return m.test(t)?`.${e}`:`[${JSON.stringify(e)}]`})(t))).join("")}`;throw new Error(`invalid data: Date year is out of range 0000-9999 at [${w(t)}]`)}}else if(n.add(t),Array.isArray(t))for(let r=0;r<t.length;r++)e.push(r),_(t[r],e,n),e.pop();else for(let r of Object.keys(t))e.push(r),_(t[r],e,n),e.pop()},O=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"find";if(t instanceof Date){let n=t.toISOString();if(!g.test(n))throw new Error(`invalid find: Date year is out of range 0000-9999 at [${w(e)}]`);return n}if(null!==t&&"object"==typeof t){let n=Array.isArray(t);for(let r of Object.keys(t))t[r]=O(t[r],n?`${e}[${r}]`:`${e}.${j(r)}`)}return t},x=t=>{for(let e of Object.keys(t))if("$and"===e||"$or"===e){for(let n of t[e])if(x(n))return!0}else if(e in Object.prototype)return!0;return!1},k=t=>{let e=new u.Query(t);return x(t)?t=>e.test(null!==t&&"object"==typeof t?Object.assign(Object.create(null),t):t):t=>e.test(t)},S=(t,e)=>{try{return{fc:O(Qi(e))}}catch(e){return A(t,null,e),{err:e}}},$=(t,e,n)=>{try{h.emit("change",t,e,n)}catch(t){console.log(t)}},A=(t,e,n)=>{let r="unknown error";try{r=P(n)}catch(t){}try{h.emit("error",t,e,r)}catch(t){console.log(t)}},P=t=>{let e=ht(t,"message");return Jr(e)?e:String(t)},D=(t,e)=>s?Qe(t,(function(t){return Jr(t.id)||(t.id=$r()),t})):(Yt(t,(function(t,n){if(!Jr(ht(t,"id")))throw new Error(`can not ${e} by data[${n}] without valid id when autoGenPk is false`)})),t),E=t=>""===t?"string is empty":fo(t),I=(t,e)=>{let n=E(t.id);if(null!==n)return`invalid id: ${n} at [data[${e}].id]`;let r=qu(t,{root:`data[${e}]`});return null!==r?`invalid data: ${r.reason} at [${r.path}]`:null},N=t=>{Yt(t,(function(t,e){let n=I(t,e);if(null!==n)throw new Error(n)}))},F=async()=>(await d.read(),Yr(d.data,p)||(d.data[p]=[]),d.data[p]),B=async(t,e)=>{d.data[p]=e;try{await d.write()}catch(e){throw d.data[p]=t,e}},M=t=>{let e=new Map;return Yt(t,((t,n)=>{let r=ht(t,"id");Jr(r)&&e.set(r,{k:n,v:t})})),e},L=async()=>{if(c&&Wr(r))return jr(r);let t=await F();return t=jr(t),c?(r=t,jr(t)):t};async function z(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null;try{if(!Gr(t)&&!Hr(t))return[];t=jr(t);let n=ht(e,"autoInsert",!0);Wr(t)||(t=[t]),t=D(t,"save"),_(t);let r=Qe(t,(function(t,e){return I(t,e)})),i=await F(),u=[...i],a=M(u),l=!1;o=await qr(t,(async(t,e)=>{let o=null;try{if(null!==r[e])throw new Error(r[e]);let i=a.get(t.id);if(Gr(i)){let n=i.v,r=Rn({},t),c=qu(r,{root:`data[${e}]`});if(null!==c)throw new Error(`invalid data: ${c.reason} at [${c.path}]`);let f=Rn({},n,r);Ue(f,n)?o={n:1,nInserted:0,nModified:0,ok:1}:(u[i.k]=f,a.set(t.id,{k:i.k,v:f}),l=!0,o={n:1,nInserted:0,nModified:1,ok:1})}else if(n){let e=er(u);u.push(t),a.set(t.id,{k:e,v:t}),l=!0,o={n:1,nInserted:1,nModified:0,ok:1}}else o={n:0,nInserted:0,nModified:0,ok:1}}catch(t){o={n:1,nInserted:0,nModified:0,ok:0,err:P(t)}}return o})),l&&await B(i,u)}catch(t){n=!0,o=t}return r=null,n||(Yt(o,((e,n)=>{0===ht(e,"ok")&&A("save",[ht(t,n)],ht(e,"err"))})),Yt(o,((e,n)=>{1===ht(e,"nInserted")&&$("insert",[ht(t,n)],e)})),$("save",t,o)),n?(A("save",t,o),Promise.reject(o)):o}return h.select=async function(){let t=S("select",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return t.err?Promise.reject(t.err):b((()=>async function(t){let e=!1,n=null;try{let r=await L();n=Reflect.ownKeys(t).length>0?r.filter(k(t)):r,Wr(n)||(e=!0,n=new Error(`can not select by find[${JSON.stringify(t)}]`))}catch(t){e=!0,n=t}return e?(A("select",null,n),Promise.reject(n)):n}(t.fc)))},h.selectByPk=async function(t){return b((()=>async function(t){let e=!1,n=null;try{if(!Jr(t)||null!==E(t))return null;let e=await L(),r=M(e).get(t);n=Gr(r)?r.v:null}catch(t){e=!0,n=t}return e?(A("selectByPk",null,n),Promise.reject(n)):n}(t)))},h.insert=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b((()=>async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null;try{let n=ht(e,"returnList");if(Kr(n)||(n=!1),!Gr(t)&&!Hr(t))return n?[]:{n:0,nInserted:0,ok:1};Wr(t=jr(t))||(t=[t]),t=D(t,"insert"),_(t),N(t);let r=await F(),i=M(r),u=er(t),a=[],l=[];Yt(t,(t=>{i.has(t.id)?a.push(!1):(l.push(t),i.set(t.id,{k:-1,v:t}),a.push(!0))})),er(l)>0&&await B(r,[...r,...l]),o=n?Qe(a,(function(t){return{n:1,nInserted:t?1:0,ok:1}})):{n:u,nInserted:er(l),ok:1}}catch(t){n=!0,o=t}return r=null,n||$("insert",t,o),n?(A("insert",t,o),Promise.reject(o)):o}(t,e)))},h.insertBulk=async function(t){return b((()=>async function(t){let e=!1,n=null;try{if(!Gr(t)&&!Hr(t))return{n:0,nInserted:0,ok:1};Wr(t=jr(t))||(t=[t]),t=D(t,"insertBulk"),_(t),N(t);let e=await F(),r=M(e),o=er(t),i=null;if(Yt(t,(t=>{if(r.has(t.id))return i=t.id,!1;r.set(t.id,{k:-1,v:t})})),null!==i)throw new Error(`can not insertBulk by existed id[${i}]`);await B(e,[...e,...t]),n={n:o,nInserted:o,ok:1}}catch(t){e=!0,n=t}return r=null,e||$("insertBulk",t,n),e?(A("insertBulk",t,n),Promise.reject(n)):n}(t)))},h.save=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b((()=>z(t,e)))},h.del=async function(t){return b((()=>async function(t){let e=!1,n=null;try{if(!Gr(t)&&!Hr(t))return[];Wr(t=jr(t))||(t=[t]);let e=await F(),r=M(e),o={},i=!1;if(n=await qr(t,(async(t,e)=>{let n=null;try{let u=ht(t,"id"),a=E(u);if(null!==a)n={n:0,nDeleted:0,ok:0,err:`invalid id: ${a} at [data[${e}].id]`};else{let t=r.get(u);Gr(t)?(o[t.k]=!0,r.delete(u),i=!0,n={n:1,nDeleted:1,ok:1}):n={n:0,nDeleted:0,ok:1}}}catch(t){n={n:1,nDeleted:0,ok:0,err:P(t)}}return n})),i){let t=Xe(e,((t,e)=>!Yr(o,e)));await B(e,t)}}catch(t){e=!0,n=t}return r=null,e||(Yt(n,((e,n)=>{0===ht(e,"ok")&&A("del",[ht(t,n)],ht(e,"err"))})),$("del",t,n)),e?(A("del",t,n),Promise.reject(n)):n}(t)))},h.delAll=async function(){let t=S("delAll",arguments.length>0&&void 0!==arguments[0]?arguments[0]:{});return t.err?Promise.reject(t.err):b((()=>async function(t){let e=!1,n=null;try{let e=await F(),r=er(e),o=0,i=null;if(Reflect.ownKeys(t).length>0){let n=k(t);i=Xe(e,(t=>!n(t))),o=r-er(i)}else o=r,i=[];o>0&&await B(e,i),n={n:o,nDeleted:o,ok:1}}catch(t){e=!0,n=t}return r=null,e||$("delAll",null,n),e?(A("delAll",null,n),Promise.reject(n)):n}(t.fc)))},h}}));
7
7
  //# sourceMappingURL=w-orm-lowdb.umd.js.map