vvvfs 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/vvvfs.min.js +3 -0
- package/index.ts +205 -1
- package/package.json +1 -1
- package/types/index.d.ts +52 -0
package/README.md
CHANGED
|
@@ -96,6 +96,16 @@ const vvvfs = new VVVFS("vvvfs", {
|
|
|
96
96
|
|
|
97
97
|
## 更新日志
|
|
98
98
|
|
|
99
|
+
### 0.2.0
|
|
100
|
+
|
|
101
|
+
- 新增 `registerMIMEType` 静态方法,用于注册自定义MIME类型
|
|
102
|
+
|
|
103
|
+
### 0.1.9
|
|
104
|
+
|
|
105
|
+
- 新增 `saveFile` 方法,用于保存文件
|
|
106
|
+
- 新增 `downloadFile` 方法,用于下载文件并保存到IndexedDB(支持`fetch`和`xhr`两种模式,以及下载进度、错误和成功事件)
|
|
107
|
+
- `VVVFS.File` 类新增 `save` 和 `download` 方法
|
|
108
|
+
|
|
99
109
|
### 0.1.8
|
|
100
110
|
|
|
101
111
|
- 新增 `writeJsonValue` 和 `readJsonValue` 方法,用于读取和写入JSON值(键支持字符串、数字数组下标以及嵌套路径,如 `["a", "b"]`)
|
|
@@ -273,6 +283,16 @@ Using the `VVVFS.File` class:
|
|
|
273
283
|
|
|
274
284
|
## Changelog
|
|
275
285
|
|
|
286
|
+
### 0.2.0
|
|
287
|
+
|
|
288
|
+
- Added the `registerMIMEType` static method for registering custom MIME types
|
|
289
|
+
|
|
290
|
+
### 0.1.9
|
|
291
|
+
|
|
292
|
+
- Added the `saveFile` method for saving files
|
|
293
|
+
- Added the `downloadFile` method for downloading files to IndexedDB (supports both `fetch` and `xhr` modes, as well as progress, error, and success callbacks)
|
|
294
|
+
- Added the `save` and `download` methods to the `VVVFS.File` class
|
|
295
|
+
|
|
276
296
|
### 0.1.8
|
|
277
297
|
|
|
278
298
|
- Added the `writeJsonValue` and `readJsonValue` methods for reading and writing JSON values (keys support strings, numeric array indexes, and nested paths such as `["a", "b"]`)
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(()=>{var Jr=Object.create;var ii=Object.defineProperty;var Hr=Object.getOwnPropertyDescriptor;var Yr=Object.getOwnPropertyNames;var Qr=Object.getPrototypeOf,Xr=Object.prototype.hasOwnProperty;var aa=I=>{throw TypeError(I)};var Gr=(I,l,u)=>l in I?ii(I,l,{enumerable:!0,configurable:!0,writable:!0,value:u}):I[l]=u;var Zr=(I,l)=>()=>(l||I((l={exports:{}}).exports,l),l.exports);var to=(I,l,u,v)=>{if(l&&typeof l=="object"||typeof l=="function")for(let y of Yr(l))!Xr.call(I,y)&&y!==u&&ii(I,y,{get:()=>l[y],enumerable:!(v=Hr(l,y))||v.enumerable});return I};var eo=(I,l,u)=>(u=I!=null?Jr(Qr(I)):{},to(l||!I||!I.__esModule?ii(u,"default",{value:I,enumerable:!0}):u,I));var mt=(I,l,u)=>Gr(I,typeof l!="symbol"?l+"":l,u),ai=(I,l,u)=>l.has(I)||aa("Cannot "+u);var q=(I,l,u)=>(ai(I,l,"read from private field"),u?u.call(I):l.get(I)),on=(I,l,u)=>l.has(I)?aa("Cannot add the same private member more than once"):l instanceof WeakSet?l.add(I):l.set(I,u),ri=(I,l,u,v)=>(ai(I,l,"write to private field"),v?v.call(I,u):l.set(I,u),u),M=(I,l,u)=>(ai(I,l,"access private method"),u);var ra=Zr((oi,si)=>{(function(I,l){typeof oi=="object"&&typeof si<"u"?si.exports=l():typeof define=="function"&&define.amd?define(l):(I=typeof globalThis<"u"?globalThis:I||self,I.Dexie=l())})(oi,(function(){"use strict";var I=function(t,e){return I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)Object.prototype.hasOwnProperty.call(i,a)&&(n[a]=i[a])},I(t,e)};function l(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");I(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}var u=function(){return u=Object.assign||function(e){for(var n,i=1,a=arguments.length;i<a;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u.apply(this,arguments)};function v(t,e,n){if(n||arguments.length===2)for(var i=0,a=e.length,r;i<a;i++)(r||!(i in e))&&(r||(r=Array.prototype.slice.call(e,0,i)),r[i]=e[i]);return t.concat(r||Array.prototype.slice.call(e))}typeof SuppressedError=="function"&&SuppressedError;var y=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,b=Object.keys,S=Array.isArray;typeof Promise<"u"&&!y.Promise&&(y.Promise=Promise);function O(t,e){return typeof e!="object"||b(e).forEach(function(n){t[n]=e[n]}),t}var L=Object.getPrototypeOf,J={}.hasOwnProperty;function X(t,e){return J.call(t,e)}function rt(t,e){typeof e=="function"&&(e=e(L(t))),(typeof Reflect>"u"?b:Reflect.ownKeys)(e).forEach(function(n){Pt(t,n,e[n])})}var le=Object.defineProperty;function Pt(t,e,n,i){le(t,e,O(n&&X(n,"get")&&typeof n.get=="function"?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},i))}function Xt(t){return{from:function(e){return t.prototype=Object.create(e.prototype),Pt(t.prototype,"constructor",t),{extend:rt.bind(null,t.prototype)}}}}var fa=Object.getOwnPropertyDescriptor;function ui(t,e){var n=fa(t,e),i;return n||(i=L(t))&&ui(i,e)}var da=[].slice;function De(t,e,n){return da.call(t,e,n)}function pi(t,e){return e(t)}function ue(t){if(!t)throw new Error("Assertion Failed")}function fi(t){y.setImmediate?setImmediate(t):setTimeout(t,0)}function ma(t,e){return t.reduce(function(n,i,a){var r=e(i,a);return r&&(n[r[0]]=r[1]),n},{})}function _t(t,e){if(typeof e=="string"&&X(t,e))return t[e];if(!e)return t;if(typeof e!="string"){for(var n=[],i=0,a=e.length;i<a;++i){var r=_t(t,e[i]);n.push(r)}return n}var o=e.indexOf(".");if(o!==-1){var s=t[e.substr(0,o)];return s==null?void 0:_t(s,e.substr(o+1))}}function lt(t,e,n){if(!(!t||e===void 0)&&!("isFrozen"in Object&&Object.isFrozen(t)))if(typeof e!="string"&&"length"in e){ue(typeof n!="string"&&"length"in n);for(var i=0,a=e.length;i<a;++i)lt(t,e[i],n[i])}else{var r=e.indexOf(".");if(r!==-1){var o=e.substr(0,r),s=e.substr(r+1);if(s==="")n===void 0?S(t)&&!isNaN(parseInt(o))?t.splice(o,1):delete t[o]:t[o]=n;else{var c=t[o];(!c||!X(t,o))&&(c=t[o]={}),lt(c,s,n)}}else n===void 0?S(t)&&!isNaN(parseInt(e))?t.splice(e,1):delete t[e]:t[e]=n}}function va(t,e){typeof e=="string"?lt(t,e,void 0):"length"in e&&[].map.call(e,function(n){lt(t,n,void 0)})}function di(t){var e={};for(var n in t)X(t,n)&&(e[n]=t[n]);return e}var ha=[].concat;function mi(t){return ha.apply([],t)}var ya="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(mi([8,16,32,64].map(function(t){return["Int","Uint","Float"].map(function(e){return e+t+"Array"})}))).filter(function(t){return y[t]}),vi=new Set(ya.map(function(t){return y[t]}));function hi(t){var e={};for(var n in t)if(X(t,n)){var i=t[n];e[n]=!i||typeof i!="object"||vi.has(i.constructor)?i:hi(i)}return e}function ga(t){for(var e in t)if(X(t,e))return!1;return!0}var pe=null;function Ft(t){pe=new WeakMap;var e=dn(t);return pe=null,e}function dn(t){if(!t||typeof t!="object")return t;var e=pe.get(t);if(e)return e;if(S(t)){e=[],pe.set(t,e);for(var n=0,i=t.length;n<i;++n)e.push(dn(t[n]))}else if(vi.has(t.constructor))e=t;else{var a=L(t);e=a===Object.prototype?{}:Object.create(a),pe.set(t,e);for(var r in t)X(t,r)&&(e[r]=dn(t[r]))}return e}var xa={}.toString;function mn(t){return xa.call(t).slice(8,-1)}var vn=typeof Symbol<"u"?Symbol.iterator:"@@iterator",wa=typeof vn=="symbol"?function(t){var e;return t!=null&&(e=t[vn])&&e.apply(t)}:function(){return null};function Mt(t,e){var n=t.indexOf(e);return n>=0&&t.splice(n,1),n>=0}var Gt={};function kt(t){var e,n,i,a;if(arguments.length===1){if(S(t))return t.slice();if(this===Gt&&typeof t=="string")return[t];if(a=wa(t)){for(n=[];i=a.next(),!i.done;)n.push(i.value);return n}if(t==null)return[t];if(e=t.length,typeof e=="number"){for(n=new Array(e);e--;)n[e]=t[e];return n}return[t]}for(e=arguments.length,n=new Array(e);e--;)n[e]=arguments[e];return n}var hn=typeof Symbol<"u"?function(t){return t[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},ba=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"],yi=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],yn=ba.concat(yi),_a={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function Zt(t,e){this.name=t,this.message=e}Xt(Zt).from(Error).extend({toString:function(){return this.name+": "+this.message}});function gi(t,e){return t+". Errors: "+Object.keys(e).map(function(n){return e[n].toString()}).filter(function(n,i,a){return a.indexOf(n)===i}).join(`
|
|
2
|
+
`)}function Oe(t,e,n,i){this.failures=e,this.failedKeys=i,this.successCount=n,this.message=gi(t,e)}Xt(Oe).from(Zt);function te(t,e){this.name="BulkError",this.failures=Object.keys(e).map(function(n){return e[n]}),this.failuresByPos=e,this.message=gi(t,this.failures)}Xt(te).from(Zt);var gn=yn.reduce(function(t,e){return t[e]=e+"Error",t},{}),ka=Zt,F=yn.reduce(function(t,e){var n=e+"Error";function i(a,r){this.name=n,a?typeof a=="string"?(this.message="".concat(a).concat(r?`
|
|
3
|
+
`+r:""),this.inner=r||null):typeof a=="object"&&(this.message="".concat(a.name," ").concat(a.message),this.inner=a):(this.message=_a[e]||n,this.inner=null)}return Xt(i).from(ka),t[e]=i,t},{});F.Syntax=SyntaxError,F.Type=TypeError,F.Range=RangeError;var xi=yi.reduce(function(t,e){return t[e+"Error"]=F[e],t},{});function Ea(t,e){if(!t||t instanceof Zt||t instanceof TypeError||t instanceof SyntaxError||!t.name||!xi[t.name])return t;var n=new xi[t.name](e||t.message,t);return"stack"in t&&Pt(n,"stack",{get:function(){return this.inner.stack}}),n}var Ke=yn.reduce(function(t,e){return["Syntax","Type","Range"].indexOf(e)===-1&&(t[e+"Error"]=F[e]),t},{});Ke.ModifyError=Oe,Ke.DexieError=Zt,Ke.BulkError=te;function Z(){}function fe(t){return t}function ja(t,e){return t==null||t===fe?e:function(n){return e(t(n))}}function Vt(t,e){return function(){t.apply(this,arguments),e.apply(this,arguments)}}function Pa(t,e){return t===Z?e:function(){var n=t.apply(this,arguments);n!==void 0&&(arguments[0]=n);var i=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var r=e.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?Vt(i,this.onsuccess):i),a&&(this.onerror=this.onerror?Vt(a,this.onerror):a),r!==void 0?r:n}}function Sa(t,e){return t===Z?e:function(){t.apply(this,arguments);var n=this.onsuccess,i=this.onerror;this.onsuccess=this.onerror=null,e.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?Vt(n,this.onsuccess):n),i&&(this.onerror=this.onerror?Vt(i,this.onerror):i)}}function Ta(t,e){return t===Z?e:function(n){var i=t.apply(this,arguments);O(n,i);var a=this.onsuccess,r=this.onerror;this.onsuccess=null,this.onerror=null;var o=e.apply(this,arguments);return a&&(this.onsuccess=this.onsuccess?Vt(a,this.onsuccess):a),r&&(this.onerror=this.onerror?Vt(r,this.onerror):r),i===void 0?o===void 0?void 0:o:O(i,o)}}function Aa(t,e){return t===Z?e:function(){return e.apply(this,arguments)===!1?!1:t.apply(this,arguments)}}function xn(t,e){return t===Z?e:function(){var n=t.apply(this,arguments);if(n&&typeof n.then=="function"){for(var i=this,a=arguments.length,r=new Array(a);a--;)r[a]=arguments[a];return n.then(function(){return e.apply(i,r)})}return e.apply(this,arguments)}}var gt=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function wi(t,e){gt=t}var de={},bi=100,wn=typeof Promise>"u"?[]:(function(){var t=Promise.resolve();if(typeof crypto>"u"||!crypto.subtle)return[t,L(t),t];var e=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[e,L(e),t]})(),_i=wn[0],ki=wn[1],Da=wn[2],Oa=ki&&ki.then,Lt=_i&&_i.constructor,bn=!!Da;function Ka(){queueMicrotask(Ra)}var me=function(t,e){ve.push([t,e]),Ce&&(Ka(),Ce=!1)},_n=!0,Ce=!0,Nt=[],Re=[],kn=fe,St={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:Z,pgp:!1,env:{},finalize:Z},B=St,ve=[],qt=0,Ie=[];function D(t){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var e=this._PSD=B;if(typeof t!="function"){if(t!==de)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&jn(this,this._value);return}this._state=null,this._value=null,++e.ref,ji(this,t)}var En={get:function(){var t=B,e=Me;function n(i,a){var r=this,o=!t.global&&(t!==B||e!==Me),s=o&&!At(),c=new D(function(p,m){Pn(r,new Ei(Ti(i,t,o,s),Ti(a,t,o,s),p,m,t))});return this._consoleTask&&(c._consoleTask=this._consoleTask),c}return n.prototype=de,n},set:function(t){Pt(this,"then",t&&t.prototype===de?En:{get:function(){return t},set:En.set})}};rt(D.prototype,{then:En,_then:function(t,e){Pn(this,new Ei(null,null,t,e,B))},catch:function(t){if(arguments.length===1)return this.then(null,t);var e=arguments[0],n=arguments[1];return typeof e=="function"?this.then(null,function(i){return i instanceof e?n(i):Be(i)}):this.then(null,function(i){return i&&i.name===e?n(i):Be(i)})},finally:function(t){return this.then(function(e){return D.resolve(t()).then(function(){return e})},function(e){return D.resolve(t()).then(function(){return Be(e)})})},timeout:function(t,e){var n=this;return t<1/0?new D(function(i,a){var r=setTimeout(function(){return a(new F.Timeout(e))},t);n.then(i,a).finally(clearTimeout.bind(null,r))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&Pt(D.prototype,Symbol.toStringTag,"Dexie.Promise"),St.env=Si();function Ei(t,e,n,i,a){this.onFulfilled=typeof t=="function"?t:null,this.onRejected=typeof e=="function"?e:null,this.resolve=n,this.reject=i,this.psd=a}rt(D,{all:function(){var t=kt.apply(null,arguments).map(Ve);return new D(function(e,n){t.length===0&&e([]);var i=t.length;t.forEach(function(a,r){return D.resolve(a).then(function(o){t[r]=o,--i||e(t)},n)})})},resolve:function(t){if(t instanceof D)return t;if(t&&typeof t.then=="function")return new D(function(n,i){t.then(n,i)});var e=new D(de,!0,t);return e},reject:Be,race:function(){var t=kt.apply(null,arguments).map(Ve);return new D(function(e,n){t.map(function(i){return D.resolve(i).then(e,n)})})},PSD:{get:function(){return B},set:function(t){return B=t}},totalEchoes:{get:function(){return Me}},newPSD:Tt,usePSD:Wt,scheduler:{get:function(){return me},set:function(t){me=t}},rejectionMapper:{get:function(){return kn},set:function(t){kn=t}},follow:function(t,e){return new D(function(n,i){return Tt(function(a,r){var o=B;o.unhandleds=[],o.onunhandled=r,o.finalize=Vt(function(){var s=this;Ia(function(){s.unhandleds.length===0?a():r(s.unhandleds[0])})},o.finalize),t()},e,n,i)})}}),Lt&&(Lt.allSettled&&Pt(D,"allSettled",function(){var t=kt.apply(null,arguments).map(Ve);return new D(function(e){t.length===0&&e([]);var n=t.length,i=new Array(n);t.forEach(function(a,r){return D.resolve(a).then(function(o){return i[r]={status:"fulfilled",value:o}},function(o){return i[r]={status:"rejected",reason:o}}).then(function(){return--n||e(i)})})})}),Lt.any&&typeof AggregateError<"u"&&Pt(D,"any",function(){var t=kt.apply(null,arguments).map(Ve);return new D(function(e,n){t.length===0&&n(new AggregateError([]));var i=t.length,a=new Array(i);t.forEach(function(r,o){return D.resolve(r).then(function(s){return e(s)},function(s){a[o]=s,--i||n(new AggregateError(a))})})})}),Lt.withResolvers&&(D.withResolvers=Lt.withResolvers));function ji(t,e){try{e(function(n){if(t._state===null){if(n===t)throw new TypeError("A promise cannot be resolved with itself.");var i=t._lib&&ee();n&&typeof n.then=="function"?ji(t,function(a,r){n instanceof D?n._then(a,r):n.then(a,r)}):(t._state=!0,t._value=n,Pi(t)),i&&ne()}},jn.bind(null,t))}catch(n){jn(t,n)}}function jn(t,e){if(Re.push(e),t._state===null){var n=t._lib&&ee();e=kn(e),t._state=!1,t._value=e,Ba(t),Pi(t),n&&ne()}}function Pi(t){var e=t._listeners;t._listeners=[];for(var n=0,i=e.length;n<i;++n)Pn(t,e[n]);var a=t._PSD;--a.ref||a.finalize(),qt===0&&(++qt,me(function(){--qt===0&&Sn()},[]))}function Pn(t,e){if(t._state===null){t._listeners.push(e);return}var n=t._state?e.onFulfilled:e.onRejected;if(n===null)return(t._state?e.resolve:e.reject)(t._value);++e.psd.ref,++qt,me(Ca,[n,t,e])}function Ca(t,e,n){try{var i,a=e._value;!e._state&&Re.length&&(Re=[]),i=gt&&e._consoleTask?e._consoleTask.run(function(){return t(a)}):t(a),!e._state&&Re.indexOf(a)===-1&&za(e),n.resolve(i)}catch(r){n.reject(r)}finally{--qt===0&&Sn(),--n.psd.ref||n.psd.finalize()}}function Ra(){Wt(St,function(){ee()&&ne()})}function ee(){var t=_n;return _n=!1,Ce=!1,t}function ne(){var t,e,n;do for(;ve.length>0;)for(t=ve,ve=[],n=t.length,e=0;e<n;++e){var i=t[e];i[0].apply(null,i[1])}while(ve.length>0);_n=!0,Ce=!0}function Sn(){var t=Nt;Nt=[],t.forEach(function(i){i._PSD.onunhandled.call(null,i._value,i)});for(var e=Ie.slice(0),n=e.length;n;)e[--n]()}function Ia(t){function e(){t(),Ie.splice(Ie.indexOf(e),1)}Ie.push(e),++qt,me(function(){--qt===0&&Sn()},[])}function Ba(t){Nt.some(function(e){return e._value===t._value})||Nt.push(t)}function za(t){for(var e=Nt.length;e;)if(Nt[--e]._value===t._value){Nt.splice(e,1);return}}function Be(t){return new D(de,!1,t)}function tt(t,e){var n=B;return function(){var i=ee(),a=B;try{return Dt(n,!0),t.apply(this,arguments)}catch(r){e&&e(r)}finally{Dt(a,!1),i&&ne()}}}var at={awaits:0,echoes:0,id:0},Fa=0,ze=[],Fe=0,Me=0,Ma=0;function Tt(t,e,n,i){var a=B,r=Object.create(a);r.parent=a,r.ref=0,r.global=!1,r.id=++Ma,St.env,r.env=bn?{Promise:D,PromiseProp:{value:D,configurable:!0,writable:!0},all:D.all,race:D.race,allSettled:D.allSettled,any:D.any,resolve:D.resolve,reject:D.reject}:{},e&&O(r,e),++a.ref,r.finalize=function(){--this.parent.ref||this.parent.finalize()};var o=Wt(r,t,n,i);return r.ref===0&&r.finalize(),o}function ie(){return at.id||(at.id=++Fa),++at.awaits,at.echoes+=bi,at.id}function At(){return at.awaits?(--at.awaits===0&&(at.id=0),at.echoes=at.awaits*bi,!0):!1}(""+Oa).indexOf("[native code]")===-1&&(ie=At=Z);function Ve(t){return at.echoes&&t&&t.constructor===Lt?(ie(),t.then(function(e){return At(),e},function(e){return At(),it(e)})):t}function Va(t){++Me,(!at.echoes||--at.echoes===0)&&(at.echoes=at.awaits=at.id=0),ze.push(B),Dt(t,!0)}function La(){var t=ze[ze.length-1];ze.pop(),Dt(t,!1)}function Dt(t,e){var n=B;if((e?at.echoes&&(!Fe++||t!==B):Fe&&(!--Fe||t!==B))&&queueMicrotask(e?Va.bind(null,t):La),t!==B&&(B=t,n===St&&(St.env=Si()),bn)){var i=St.env.Promise,a=t.env;(n.global||t.global)&&(Object.defineProperty(y,"Promise",a.PromiseProp),i.all=a.all,i.race=a.race,i.resolve=a.resolve,i.reject=a.reject,a.allSettled&&(i.allSettled=a.allSettled),a.any&&(i.any=a.any))}}function Si(){var t=y.Promise;return bn?{Promise:t,PromiseProp:Object.getOwnPropertyDescriptor(y,"Promise"),all:t.all,race:t.race,allSettled:t.allSettled,any:t.any,resolve:t.resolve,reject:t.reject}:{}}function Wt(t,e,n,i,a){var r=B;try{return Dt(t,!0),e(n,i,a)}finally{Dt(r,!1)}}function Ti(t,e,n,i){return typeof t!="function"?t:function(){var a=B;n&&ie(),Dt(e,!0);try{return t.apply(this,arguments)}finally{Dt(a,!1),i&&queueMicrotask(At)}}}function Tn(t){Promise===Lt&&at.echoes===0?Fe===0?t():enqueueNativeMicroTask(t):setTimeout(t,0)}var it=D.reject;function An(t,e,n,i){if(!t.idbdb||!t._state.openComplete&&!B.letThrough&&!t._vip){if(t._state.openComplete)return it(new F.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._state.autoOpen)return it(new F.DatabaseClosed);t.open().catch(Z)}return t._state.dbReadyPromise.then(function(){return An(t,e,n,i)})}else{var a=t._createTransaction(e,n,t._dbSchema);try{a.create(),t._state.PR1398_maxLoop=3}catch(r){return r.name===gn.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(t.close({disableAutoOpen:!1}),t.open().then(function(){return An(t,e,n,i)})):it(r)}return a._promise(e,function(r,o){return Tt(function(){return B.trans=a,i(r,o,a)})}).then(function(r){if(e==="readwrite")try{a.idbtrans.commit()}catch{}return e==="readonly"?r:a._completion.then(function(){return r})})}}var Ai="4.3.0",Ut="\uFFFF",Dn=-1/0,Et="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",Di="String expected.",ae=[],Le="__dbnames",On="readonly",Kn="readwrite";function $t(t,e){return t?e?function(){return t.apply(this,arguments)&&e.apply(this,arguments)}:t:e}var Oi={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Ne(t){return typeof t=="string"&&!/\./.test(t)?function(e){return e[t]===void 0&&t in e&&(e=Ft(e),delete e[t]),e}:function(e){return e}}function Ki(){throw F.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function H(t,e){try{var n=Ci(t),i=Ci(e);if(n!==i)return n==="Array"?1:i==="Array"?-1:n==="binary"?1:i==="binary"?-1:n==="string"?1:i==="string"?-1:n==="Date"?1:i!=="Date"?NaN:-1;switch(n){case"number":case"Date":case"string":return t>e?1:t<e?-1:0;case"binary":return qa(Ri(t),Ri(e));case"Array":return Na(t,e)}}catch{}return NaN}function Na(t,e){for(var n=t.length,i=e.length,a=n<i?n:i,r=0;r<a;++r){var o=H(t[r],e[r]);if(o!==0)return o}return n===i?0:n<i?-1:1}function qa(t,e){for(var n=t.length,i=e.length,a=n<i?n:i,r=0;r<a;++r)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return n===i?0:n<i?-1:1}function Ci(t){var e=typeof t;if(e!=="object")return e;if(ArrayBuffer.isView(t))return"binary";var n=mn(t);return n==="ArrayBuffer"?"binary":n}function Ri(t){return t instanceof Uint8Array?t:ArrayBuffer.isView(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):new Uint8Array(t)}function qe(t,e,n){var i=t.schema.yProps;return i?(e&&n.numFailures>0&&(e=e.filter(function(a,r){return!n.failures[r]})),Promise.all(i.map(function(a){var r=a.updatesTable;return e?t.db.table(r).where("k").anyOf(e).delete():t.db.table(r).clear()})).then(function(){return n})):n}var he=(function(){function t(e){this["@@propmod"]=e}return t.prototype.execute=function(e){var n,i=this["@@propmod"];if(i.add!==void 0){var a=i.add;if(S(a))return v(v([],S(e)?e:[],!0),a,!0).sort();if(typeof a=="number")return(Number(e)||0)+a;if(typeof a=="bigint")try{return BigInt(e)+a}catch{return BigInt(0)+a}throw new TypeError("Invalid term ".concat(a))}if(i.remove!==void 0){var r=i.remove;if(S(r))return S(e)?e.filter(function(s){return!r.includes(s)}).sort():[];if(typeof r=="number")return Number(e)-r;if(typeof r=="bigint")try{return BigInt(e)-r}catch{return BigInt(0)-r}throw new TypeError("Invalid subtrahend ".concat(r))}var o=(n=i.replacePrefix)===null||n===void 0?void 0:n[0];return o&&typeof e=="string"&&e.startsWith(o)?i.replacePrefix[1]+e.substring(o.length):e},t})();function Ii(t,e){for(var n=b(e),i=n.length,a=!1,r=0;r<i;++r){var o=n[r],s=e[o],c=_t(t,o);s instanceof he?(lt(t,o,s.execute(c)),a=!0):c!==s&&(lt(t,o,s),a=!0)}return a}var Bi=(function(){function t(){}return t.prototype._trans=function(e,n,i){var a=this._tx||B.trans,r=this.name,o=gt&&typeof console<"u"&&console.createTask&&void 0;function s(m,f,x){if(!x.schema[r])throw new F.NotFound("Table "+r+" not part of transaction");return n(x.idbtrans,x)}var c=ee();try{var p=a&&a.db._novip===this.db._novip?a===B.trans?a._promise(e,s,i):Tt(function(){return a._promise(e,s,i)},{trans:a,transless:B.transless||B}):An(this.db,e,[this.name],s);return o&&(p._consoleTask=o,p=p.catch(function(m){return it(m)})),p}finally{c&&ne()}},t.prototype.get=function(e,n){var i=this;return e&&e.constructor===Object?this.where(e).first(n):e==null?it(new F.Type("Invalid argument to Table.get()")):this._trans("readonly",function(a){return i.core.get({trans:a,key:e}).then(function(r){return i.hook.reading.fire(r)})}).then(n)},t.prototype.where=function(e){if(typeof e=="string")return new this.db.WhereClause(this,e);if(S(e))return new this.db.WhereClause(this,"[".concat(e.join("+"),"]"));var n=b(e);if(n.length===1)return this.where(n[0]).equals(e[n[0]]);var i=this.schema.indexes.concat(this.schema.primKey).filter(function(m){if(m.compound&&n.every(function(x){return m.keyPath.indexOf(x)>=0})){for(var f=0;f<n.length;++f)if(n.indexOf(m.keyPath[f])===-1)return!1;return!0}return!1}).sort(function(m,f){return m.keyPath.length-f.keyPath.length})[0];if(i&&this.db._maxKey!==Ut){var a=i.keyPath.slice(0,n.length);return this.where(a).equals(a.map(function(m){return e[m]}))}var r=this.schema.idxByName;function o(m,f){return H(m,f)===0}var s=n.reduce(function(m,f){var x=m[0],P=m[1],d=r[f],h=e[f];return[x||d,x||!d?$t(P,d&&d.multi?function(g){var w=_t(g,f);return S(w)&&w.some(function(k){return o(h,k)})}:function(g){return o(h,_t(g,f))}):P]},[null,null]),c=s[0],p=s[1];return c?this.where(c.name).equals(e[c.keyPath]).filter(p):i?this.filter(p):this.where(n).equals("")},t.prototype.filter=function(e){return this.toCollection().and(e)},t.prototype.count=function(e){return this.toCollection().count(e)},t.prototype.offset=function(e){return this.toCollection().offset(e)},t.prototype.limit=function(e){return this.toCollection().limit(e)},t.prototype.each=function(e){return this.toCollection().each(e)},t.prototype.toArray=function(e){return this.toCollection().toArray(e)},t.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},t.prototype.orderBy=function(e){return new this.db.Collection(new this.db.WhereClause(this,S(e)?"[".concat(e.join("+"),"]"):e))},t.prototype.reverse=function(){return this.toCollection().reverse()},t.prototype.mapToClass=function(e){var n=this,i=n.db,a=n.name;this.schema.mappedClass=e,e.prototype instanceof Ki&&(e=(function(c){l(p,c);function p(){return c!==null&&c.apply(this,arguments)||this}return Object.defineProperty(p.prototype,"db",{get:function(){return i},enumerable:!1,configurable:!0}),p.prototype.table=function(){return a},p})(e));for(var r=new Set,o=e.prototype;o;o=L(o))Object.getOwnPropertyNames(o).forEach(function(c){return r.add(c)});var s=function(c){if(!c)return c;var p=Object.create(e.prototype);for(var m in c)if(!r.has(m))try{p[m]=c[m]}catch{}return p};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=s,this.hook("reading",s),e},t.prototype.defineClass=function(){function e(n){O(this,n)}return this.mapToClass(e)},t.prototype.add=function(e,n){var i=this,a=this.schema.primKey,r=a.auto,o=a.keyPath,s=e;return o&&r&&(s=Ne(o)(e)),this._trans("readwrite",function(c){return i.core.mutate({trans:c,type:"add",keys:n!=null?[n]:null,values:[s]})}).then(function(c){return c.numFailures?D.reject(c.failures[0]):c.lastResult}).then(function(c){if(o)try{lt(e,o,c)}catch{}return c})},t.prototype.upsert=function(e,n){var i=this,a=this.schema.primKey.keyPath;return this._trans("readwrite",function(r){return i.core.get({trans:r,key:e}).then(function(o){var s=o!=null?o:{};return Ii(s,n),a&<(s,a,e),i.core.mutate({trans:r,type:"put",values:[s],keys:[e],upsert:!0,updates:{keys:[e],changeSpecs:[n]}}).then(function(c){return c.numFailures?D.reject(c.failures[0]):!!o})})})},t.prototype.update=function(e,n){if(typeof e=="object"&&!S(e)){var i=_t(e,this.schema.primKey.keyPath);return i===void 0?it(new F.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(i).modify(n)}else return this.where(":id").equals(e).modify(n)},t.prototype.put=function(e,n){var i=this,a=this.schema.primKey,r=a.auto,o=a.keyPath,s=e;return o&&r&&(s=Ne(o)(e)),this._trans("readwrite",function(c){return i.core.mutate({trans:c,type:"put",values:[s],keys:n!=null?[n]:null})}).then(function(c){return c.numFailures?D.reject(c.failures[0]):c.lastResult}).then(function(c){if(o)try{lt(e,o,c)}catch{}return c})},t.prototype.delete=function(e){var n=this;return this._trans("readwrite",function(i){return n.core.mutate({trans:i,type:"delete",keys:[e]}).then(function(a){return qe(n,[e],a)}).then(function(a){return a.numFailures?D.reject(a.failures[0]):void 0})})},t.prototype.clear=function(){var e=this;return this._trans("readwrite",function(n){return e.core.mutate({trans:n,type:"deleteRange",range:Oi}).then(function(i){return qe(e,null,i)})}).then(function(n){return n.numFailures?D.reject(n.failures[0]):void 0})},t.prototype.bulkGet=function(e){var n=this;return this._trans("readonly",function(i){return n.core.getMany({keys:e,trans:i}).then(function(a){return a.map(function(r){return n.hook.reading.fire(r)})})})},t.prototype.bulkAdd=function(e,n,i){var a=this,r=Array.isArray(n)?n:void 0;i=i||(r?void 0:n);var o=i?i.allKeys:void 0;return this._trans("readwrite",function(s){var c=a.schema.primKey,p=c.auto,m=c.keyPath;if(m&&r)throw new F.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new F.InvalidArgument("Arguments objects and keys must have the same length");var f=e.length,x=m&&p?e.map(Ne(m)):e;return a.core.mutate({trans:s,type:"add",keys:r,values:x,wantResults:o}).then(function(P){var d=P.numFailures,h=P.results,g=P.lastResult,w=P.failures,k=o?h:g;if(d===0)return k;throw new te("".concat(a.name,".bulkAdd(): ").concat(d," of ").concat(f," operations failed"),w)})})},t.prototype.bulkPut=function(e,n,i){var a=this,r=Array.isArray(n)?n:void 0;i=i||(r?void 0:n);var o=i?i.allKeys:void 0;return this._trans("readwrite",function(s){var c=a.schema.primKey,p=c.auto,m=c.keyPath;if(m&&r)throw new F.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(r&&r.length!==e.length)throw new F.InvalidArgument("Arguments objects and keys must have the same length");var f=e.length,x=m&&p?e.map(Ne(m)):e;return a.core.mutate({trans:s,type:"put",keys:r,values:x,wantResults:o}).then(function(P){var d=P.numFailures,h=P.results,g=P.lastResult,w=P.failures,k=o?h:g;if(d===0)return k;throw new te("".concat(a.name,".bulkPut(): ").concat(d," of ").concat(f," operations failed"),w)})})},t.prototype.bulkUpdate=function(e){var n=this,i=this.core,a=e.map(function(s){return s.key}),r=e.map(function(s){return s.changes}),o=[];return this._trans("readwrite",function(s){return i.getMany({trans:s,keys:a,cache:"clone"}).then(function(c){var p=[],m=[];e.forEach(function(x,P){var d=x.key,h=x.changes,g=c[P];if(g){for(var w=0,k=Object.keys(h);w<k.length;w++){var E=k[w],j=h[E];if(E===n.schema.primKey.keyPath){if(H(j,d)!==0)throw new F.Constraint("Cannot update primary key in bulkUpdate()")}else lt(g,E,j)}o.push(P),p.push(d),m.push(g)}});var f=p.length;return i.mutate({trans:s,type:"put",keys:p,values:m,updates:{keys:a,changeSpecs:r}}).then(function(x){var P=x.numFailures,d=x.failures;if(P===0)return f;for(var h=0,g=Object.keys(d);h<g.length;h++){var w=g[h],k=o[Number(w)];if(k!=null){var E=d[w];delete d[w],d[k]=E}}throw new te("".concat(n.name,".bulkUpdate(): ").concat(P," of ").concat(f," operations failed"),d)})})})},t.prototype.bulkDelete=function(e){var n=this,i=e.length;return this._trans("readwrite",function(a){return n.core.mutate({trans:a,type:"delete",keys:e}).then(function(r){return qe(n,e,r)})}).then(function(a){var r=a.numFailures,o=a.lastResult,s=a.failures;if(r===0)return o;throw new te("".concat(n.name,".bulkDelete(): ").concat(r," of ").concat(i," operations failed"),s)})},t})();function ye(t){var e={},n=function(s,c){if(c){for(var p=arguments.length,m=new Array(p-1);--p;)m[p-1]=arguments[p];return e[s].subscribe.apply(null,m),t}else if(typeof s=="string")return e[s]};n.addEventType=r;for(var i=1,a=arguments.length;i<a;++i)r(arguments[i]);return n;function r(s,c,p){if(typeof s=="object")return o(s);c||(c=Aa),p||(p=Z);var m={subscribers:[],fire:p,subscribe:function(f){m.subscribers.indexOf(f)===-1&&(m.subscribers.push(f),m.fire=c(m.fire,f))},unsubscribe:function(f){m.subscribers=m.subscribers.filter(function(x){return x!==f}),m.fire=m.subscribers.reduce(c,p)}};return e[s]=n[s]=m,m}function o(s){b(s).forEach(function(c){var p=s[c];if(S(p))r(c,s[c][0],s[c][1]);else if(p==="asap")var m=r(c,fe,function(){for(var x=arguments.length,P=new Array(x);x--;)P[x]=arguments[x];m.subscribers.forEach(function(d){fi(function(){d.apply(null,P)})})});else throw new F.InvalidArgument("Invalid event config")})}}function ge(t,e){return Xt(e).from({prototype:t}),e}function Wa(t){return ge(Bi.prototype,function(n,i,a){this.db=t,this._tx=a,this.name=n,this.schema=i,this.hook=t._allTables[n]?t._allTables[n].hook:ye(null,{creating:[Pa,Z],reading:[ja,fe],updating:[Ta,Z],deleting:[Sa,Z]})})}function re(t,e){return!(t.filter||t.algorithm||t.or)&&(e?t.justLimit:!t.replayFilter)}function Cn(t,e){t.filter=$t(t.filter,e)}function Rn(t,e,n){var i=t.replayFilter;t.replayFilter=i?function(){return $t(i(),e())}:e,t.justLimit=n&&!i}function Ua(t,e){t.isMatch=$t(t.isMatch,e)}function We(t,e){if(t.isPrimKey)return e.primaryKey;var n=e.getIndexByKeyPath(t.index);if(!n)throw new F.Schema("KeyPath "+t.index+" on object store "+e.name+" is not indexed");return n}function zi(t,e,n){var i=We(t,e.schema);return e.openCursor({trans:n,values:!t.keysOnly,reverse:t.dir==="prev",unique:!!t.unique,query:{index:i,range:t.range}})}function Ue(t,e,n,i){var a=t.replayFilter?$t(t.filter,t.replayFilter()):t.filter;if(t.or){var r={},o=function(s,c,p){if(!a||a(c,p,function(x){return c.stop(x)},function(x){return c.fail(x)})){var m=c.primaryKey,f=""+m;f==="[object ArrayBuffer]"&&(f=""+new Uint8Array(m)),X(r,f)||(r[f]=!0,e(s,c,p))}};return Promise.all([t.or._iterate(o,n),Fi(zi(t,i,n),t.algorithm,o,!t.keysOnly&&t.valueMapper)])}else return Fi(zi(t,i,n),$t(t.algorithm,a),e,!t.keysOnly&&t.valueMapper)}function Fi(t,e,n,i){var a=i?function(o,s,c){return n(i(o),s,c)}:n,r=tt(a);return t.then(function(o){if(o)return o.start(function(){var s=function(){return o.continue()};(!e||e(o,function(c){return s=c},function(c){o.stop(c),s=Z},function(c){o.fail(c),s=Z}))&&r(o.value,o,function(c){return s=c}),s()})})}var $a=(function(){function t(){}return t.prototype._read=function(e,n){var i=this._ctx;return i.error?i.table._trans(null,it.bind(null,i.error)):i.table._trans("readonly",e).then(n)},t.prototype._write=function(e){var n=this._ctx;return n.error?n.table._trans(null,it.bind(null,n.error)):n.table._trans("readwrite",e,"locked")},t.prototype._addAlgorithm=function(e){var n=this._ctx;n.algorithm=$t(n.algorithm,e)},t.prototype._iterate=function(e,n){return Ue(this._ctx,e,n,this._ctx.table.core)},t.prototype.clone=function(e){var n=Object.create(this.constructor.prototype),i=Object.create(this._ctx);return e&&O(i,e),n._ctx=i,n},t.prototype.raw=function(){return this._ctx.valueMapper=null,this},t.prototype.each=function(e){var n=this._ctx;return this._read(function(i){return Ue(n,e,i,n.table.core)})},t.prototype.count=function(e){var n=this;return this._read(function(i){var a=n._ctx,r=a.table.core;if(re(a,!0))return r.count({trans:i,query:{index:We(a,r.schema),range:a.range}}).then(function(s){return Math.min(s,a.limit)});var o=0;return Ue(a,function(){return++o,!1},i,r).then(function(){return o})}).then(e)},t.prototype.sortBy=function(e,n){var i=e.split(".").reverse(),a=i[0],r=i.length-1;function o(p,m){return m?o(p[i[m]],m-1):p[a]}var s=this._ctx.dir==="next"?1:-1;function c(p,m){var f=o(p,r),x=o(m,r);return H(f,x)*s}return this.toArray(function(p){return p.sort(c)}).then(n)},t.prototype.toArray=function(e){var n=this;return this._read(function(i){var a=n._ctx;if(a.dir==="next"&&re(a,!0)&&a.limit>0){var r=a.valueMapper,o=We(a,a.table.core.schema);return a.table.core.query({trans:i,limit:a.limit,values:!0,query:{index:o,range:a.range}}).then(function(c){var p=c.result;return r?p.map(r):p})}else{var s=[];return Ue(a,function(c){return s.push(c)},i,a.table.core).then(function(){return s})}},e)},t.prototype.offset=function(e){var n=this._ctx;return e<=0?this:(n.offset+=e,re(n)?Rn(n,function(){var i=e;return function(a,r){return i===0?!0:i===1?(--i,!1):(r(function(){a.advance(i),i=0}),!1)}}):Rn(n,function(){var i=e;return function(){return--i<0}}),this)},t.prototype.limit=function(e){return this._ctx.limit=Math.min(this._ctx.limit,e),Rn(this._ctx,function(){var n=e;return function(i,a,r){return--n<=0&&a(r),n>=0}},!0),this},t.prototype.until=function(e,n){return Cn(this._ctx,function(i,a,r){return e(i.value)?(a(r),n):!0}),this},t.prototype.first=function(e){return this.limit(1).toArray(function(n){return n[0]}).then(e)},t.prototype.last=function(e){return this.reverse().first(e)},t.prototype.filter=function(e){return Cn(this._ctx,function(n){return e(n.value)}),Ua(this._ctx,e),this},t.prototype.and=function(e){return this.filter(e)},t.prototype.or=function(e){return new this.db.WhereClause(this._ctx.table,e,this)},t.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},t.prototype.desc=function(){return this.reverse()},t.prototype.eachKey=function(e){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(i,a){e(a.key,a)})},t.prototype.eachUniqueKey=function(e){return this._ctx.unique="unique",this.eachKey(e)},t.prototype.eachPrimaryKey=function(e){var n=this._ctx;return n.keysOnly=!n.isMatch,this.each(function(i,a){e(a.primaryKey,a)})},t.prototype.keys=function(e){var n=this._ctx;n.keysOnly=!n.isMatch;var i=[];return this.each(function(a,r){i.push(r.key)}).then(function(){return i}).then(e)},t.prototype.primaryKeys=function(e){var n=this._ctx;if(n.dir==="next"&&re(n,!0)&&n.limit>0)return this._read(function(a){var r=We(n,n.table.core.schema);return n.table.core.query({trans:a,values:!1,limit:n.limit,query:{index:r,range:n.range}})}).then(function(a){var r=a.result;return r}).then(e);n.keysOnly=!n.isMatch;var i=[];return this.each(function(a,r){i.push(r.primaryKey)}).then(function(){return i}).then(e)},t.prototype.uniqueKeys=function(e){return this._ctx.unique="unique",this.keys(e)},t.prototype.firstKey=function(e){return this.limit(1).keys(function(n){return n[0]}).then(e)},t.prototype.lastKey=function(e){return this.reverse().firstKey(e)},t.prototype.distinct=function(){var e=this._ctx,n=e.index&&e.table.schema.idxByName[e.index];if(!n||!n.multi)return this;var i={};return Cn(this._ctx,function(a){var r=a.primaryKey.toString(),o=X(i,r);return i[r]=!0,!o}),this},t.prototype.modify=function(e){var n=this,i=this._ctx;return this._write(function(a){var r;typeof e=="function"?r=e:r=function(w){return Ii(w,e)};var o=i.table.core,s=o.schema.primaryKey,c=s.outbound,p=s.extractKey,m=200,f=n.db._options.modifyChunkSize;f&&(typeof f=="object"?m=f[o.name]||f["*"]||200:m=f);var x=[],P=0,d=[],h=function(w,k){var E=k.failures,j=k.numFailures;P+=w-j;for(var _=0,T=b(E);_<T.length;_++){var K=T[_];x.push(E[K])}},g=e===Mi;return n.clone().primaryKeys().then(function(w){var k=re(i)&&i.limit===1/0&&(typeof e!="function"||g)&&{index:i.index,range:i.range},E=function(j){var _=Math.min(m,w.length-j),T=w.slice(j,j+_);return(g?Promise.resolve([]):o.getMany({trans:a,keys:T,cache:"immutable"})).then(function(K){var A=[],V=[],$=c?[]:null,C=g?T:[];if(!g)for(var W=0;W<_;++W){var N=K[W],Y={value:Ft(N),primKey:w[j+W]};r.call(Y,Y.value,Y)!==!1&&(Y.value==null?C.push(w[j+W]):!c&&H(p(N),p(Y.value))!==0?(C.push(w[j+W]),A.push(Y.value)):(V.push(Y.value),c&&$.push(w[j+W])))}return Promise.resolve(A.length>0&&o.mutate({trans:a,type:"add",values:A}).then(function(z){for(var et in z.failures)C.splice(parseInt(et),1);h(A.length,z)})).then(function(){return(V.length>0||k&&typeof e=="object")&&o.mutate({trans:a,type:"put",keys:$,values:V,criteria:k,changeSpec:typeof e!="function"&&e,isAdditionalChunk:j>0}).then(function(z){return h(V.length,z)})}).then(function(){return(C.length>0||k&&g)&&o.mutate({trans:a,type:"delete",keys:C,criteria:k,isAdditionalChunk:j>0}).then(function(z){return qe(i.table,C,z)}).then(function(z){return h(C.length,z)})}).then(function(){return w.length>j+_&&E(j+m)})})};return E(0).then(function(){if(x.length>0)throw new Oe("Error modifying one or more objects",x,P,d);return w.length})})})},t.prototype.delete=function(){var e=this._ctx,n=e.range;return re(e)&&!e.table.schema.yProps&&(e.isPrimKey||n.type===3)?this._write(function(i){var a=e.table.core.schema.primaryKey,r=n;return e.table.core.count({trans:i,query:{index:a,range:r}}).then(function(o){return e.table.core.mutate({trans:i,type:"deleteRange",range:r}).then(function(s){var c=s.failures,p=s.numFailures;if(p)throw new Oe("Could not delete some values",Object.keys(c).map(function(m){return c[m]}),o-p);return o-p})})}):this.modify(Mi)},t})(),Mi=function(t,e){return e.value=null};function Ja(t){return ge($a.prototype,function(n,i){this.db=t;var a=Oi,r=null;if(i)try{a=i()}catch(p){r=p}var o=n._ctx,s=o.table,c=s.hook.reading.fire;this._ctx={table:s,index:o.index,isPrimKey:!o.index||s.schema.primKey.keyPath&&o.index===s.schema.primKey.name,range:a,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:o.or,valueMapper:c!==fe?c:null}})}function Ha(t,e){return t<e?-1:t===e?0:1}function Ya(t,e){return t>e?-1:t===e?0:1}function pt(t,e,n){var i=t instanceof Li?new t.Collection(t):t;return i._ctx.error=n?new n(e):new TypeError(e),i}function oe(t){return new t.Collection(t,function(){return Vi("")}).limit(0)}function Qa(t){return t==="next"?function(e){return e.toUpperCase()}:function(e){return e.toLowerCase()}}function Xa(t){return t==="next"?function(e){return e.toLowerCase()}:function(e){return e.toUpperCase()}}function Ga(t,e,n,i,a,r){for(var o=Math.min(t.length,i.length),s=-1,c=0;c<o;++c){var p=e[c];if(p!==i[c])return a(t[c],n[c])<0?t.substr(0,c)+n[c]+n.substr(c+1):a(t[c],i[c])<0?t.substr(0,c)+i[c]+n.substr(c+1):s>=0?t.substr(0,s)+e[s]+n.substr(s+1):null;a(t[c],p)<0&&(s=c)}return o<i.length&&r==="next"?t+n.substr(t.length):o<t.length&&r==="prev"?t.substr(0,n.length):s<0?null:t.substr(0,s)+i[s]+n.substr(s+1)}function $e(t,e,n,i){var a,r,o,s,c,p,m,f=n.length;if(!n.every(function(h){return typeof h=="string"}))return pt(t,Di);function x(h){a=Qa(h),r=Xa(h),o=h==="next"?Ha:Ya;var g=n.map(function(w){return{lower:r(w),upper:a(w)}}).sort(function(w,k){return o(w.lower,k.lower)});s=g.map(function(w){return w.upper}),c=g.map(function(w){return w.lower}),p=h,m=h==="next"?"":i}x("next");var P=new t.Collection(t,function(){return Ot(s[0],c[f-1]+i)});P._ondirectionchange=function(h){x(h)};var d=0;return P._addAlgorithm(function(h,g,w){var k=h.key;if(typeof k!="string")return!1;var E=r(k);if(e(E,c,d))return!0;for(var j=null,_=d;_<f;++_){var T=Ga(k,E,s[_],c[_],o,p);T===null&&j===null?d=_+1:(j===null||o(j,T)>0)&&(j=T)}return g(j!==null?function(){h.continue(j+m)}:w),!1}),P}function Ot(t,e,n,i){return{type:2,lower:t,upper:e,lowerOpen:n,upperOpen:i}}function Vi(t){return{type:1,lower:t,upper:t}}var Li=(function(){function t(){}return Object.defineProperty(t.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),t.prototype.between=function(e,n,i,a){i=i!==!1,a=a===!0;try{return this._cmp(e,n)>0||this._cmp(e,n)===0&&(i||a)&&!(i&&a)?oe(this):new this.Collection(this,function(){return Ot(e,n,!i,!a)})}catch{return pt(this,Et)}},t.prototype.equals=function(e){return e==null?pt(this,Et):new this.Collection(this,function(){return Vi(e)})},t.prototype.above=function(e){return e==null?pt(this,Et):new this.Collection(this,function(){return Ot(e,void 0,!0)})},t.prototype.aboveOrEqual=function(e){return e==null?pt(this,Et):new this.Collection(this,function(){return Ot(e,void 0,!1)})},t.prototype.below=function(e){return e==null?pt(this,Et):new this.Collection(this,function(){return Ot(void 0,e,!1,!0)})},t.prototype.belowOrEqual=function(e){return e==null?pt(this,Et):new this.Collection(this,function(){return Ot(void 0,e)})},t.prototype.startsWith=function(e){return typeof e!="string"?pt(this,Di):this.between(e,e+Ut,!0,!0)},t.prototype.startsWithIgnoreCase=function(e){return e===""?this.startsWith(e):$e(this,function(n,i){return n.indexOf(i[0])===0},[e],Ut)},t.prototype.equalsIgnoreCase=function(e){return $e(this,function(n,i){return n===i[0]},[e],"")},t.prototype.anyOfIgnoreCase=function(){var e=kt.apply(Gt,arguments);return e.length===0?oe(this):$e(this,function(n,i){return i.indexOf(n)!==-1},e,"")},t.prototype.startsWithAnyOfIgnoreCase=function(){var e=kt.apply(Gt,arguments);return e.length===0?oe(this):$e(this,function(n,i){return i.some(function(a){return n.indexOf(a)===0})},e,Ut)},t.prototype.anyOf=function(){var e=this,n=kt.apply(Gt,arguments),i=this._cmp;try{n.sort(i)}catch{return pt(this,Et)}if(n.length===0)return oe(this);var a=new this.Collection(this,function(){return Ot(n[0],n[n.length-1])});a._ondirectionchange=function(o){i=o==="next"?e._ascending:e._descending,n.sort(i)};var r=0;return a._addAlgorithm(function(o,s,c){for(var p=o.key;i(p,n[r])>0;)if(++r,r===n.length)return s(c),!1;return i(p,n[r])===0?!0:(s(function(){o.continue(n[r])}),!1)}),a},t.prototype.notEqual=function(e){return this.inAnyRange([[Dn,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},t.prototype.noneOf=function(){var e=kt.apply(Gt,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch{return pt(this,Et)}var n=e.reduce(function(i,a){return i?i.concat([[i[i.length-1][1],a]]):[[Dn,a]]},null);return n.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(n,{includeLowers:!1,includeUppers:!1})},t.prototype.inAnyRange=function(e,n){var i=this,a=this._cmp,r=this._ascending,o=this._descending,s=this._min,c=this._max;if(e.length===0)return oe(this);if(!e.every(function(_){return _[0]!==void 0&&_[1]!==void 0&&r(_[0],_[1])<=0}))return pt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",F.InvalidArgument);var p=!n||n.includeLowers!==!1,m=n&&n.includeUppers===!0;function f(_,T){for(var K=0,A=_.length;K<A;++K){var V=_[K];if(a(T[0],V[1])<0&&a(T[1],V[0])>0){V[0]=s(V[0],T[0]),V[1]=c(V[1],T[1]);break}}return K===A&&_.push(T),_}var x=r;function P(_,T){return x(_[0],T[0])}var d;try{d=e.reduce(f,[]),d.sort(P)}catch{return pt(this,Et)}var h=0,g=m?function(_){return r(_,d[h][1])>0}:function(_){return r(_,d[h][1])>=0},w=p?function(_){return o(_,d[h][0])>0}:function(_){return o(_,d[h][0])>=0};function k(_){return!g(_)&&!w(_)}var E=g,j=new this.Collection(this,function(){return Ot(d[0][0],d[d.length-1][1],!p,!m)});return j._ondirectionchange=function(_){_==="next"?(E=g,x=r):(E=w,x=o),d.sort(P)},j._addAlgorithm(function(_,T,K){for(var A=_.key;E(A);)if(++h,h===d.length)return T(K),!1;return k(A)?!0:(i._cmp(A,d[h][1])===0||i._cmp(A,d[h][0])===0||T(function(){x===r?_.continue(d[h][0]):_.continue(d[h][1])}),!1)}),j},t.prototype.startsWithAnyOf=function(){var e=kt.apply(Gt,arguments);return e.every(function(n){return typeof n=="string"})?e.length===0?oe(this):this.inAnyRange(e.map(function(n){return[n,n+Ut]})):pt(this,"startsWithAnyOf() only works with strings")},t})();function Za(t){return ge(Li.prototype,function(n,i,a){if(this.db=t,this._ctx={table:n,index:i===":id"?null:i,or:a},this._cmp=this._ascending=H,this._descending=function(r,o){return H(o,r)},this._max=function(r,o){return H(r,o)>0?r:o},this._min=function(r,o){return H(r,o)<0?r:o},this._IDBKeyRange=t._deps.IDBKeyRange,!this._IDBKeyRange)throw new F.MissingAPI})}function xt(t){return tt(function(e){return xe(e),t(e.target.error),!1})}function xe(t){t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault()}var we="storagemutated",In="x-storagemutated-1",Kt=ye(null,we),tr=(function(){function t(){}return t.prototype._lock=function(){return ue(!B.global),++this._reculock,this._reculock===1&&!B.global&&(B.lockOwnerFor=this),this},t.prototype._unlock=function(){if(ue(!B.global),--this._reculock===0)for(B.global||(B.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Wt(e[1],e[0])}catch{}}return this},t.prototype._locked=function(){return this._reculock&&B.lockOwnerFor!==this},t.prototype.create=function(e){var n=this;if(!this.mode)return this;var i=this.db.idbdb,a=this.db._state.dbOpenError;if(ue(!this.idbtrans),!e&&!i)switch(a&&a.name){case"DatabaseClosedError":throw new F.DatabaseClosed(a);case"MissingAPIError":throw new F.MissingAPI(a.message,a);default:throw new F.OpenFailed(a)}if(!this.active)throw new F.TransactionInactive;return ue(this._completion._state===null),e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):i.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})),e.onerror=tt(function(r){xe(r),n._reject(e.error)}),e.onabort=tt(function(r){xe(r),n.active&&n._reject(new F.Abort(e.error)),n.active=!1,n.on("abort").fire(r)}),e.oncomplete=tt(function(){n.active=!1,n._resolve(),"mutatedParts"in e&&Kt.storagemutated.fire(e.mutatedParts)}),this},t.prototype._promise=function(e,n,i){var a=this;if(e==="readwrite"&&this.mode!=="readwrite")return it(new F.ReadOnly("Transaction is readonly"));if(!this.active)return it(new F.TransactionInactive);if(this._locked())return new D(function(o,s){a._blockedFuncs.push([function(){a._promise(e,n,i).then(o,s)},B])});if(i)return Tt(function(){var o=new D(function(s,c){a._lock();var p=n(s,c,a);p&&p.then&&p.then(s,c)});return o.finally(function(){return a._unlock()}),o._lib=!0,o});var r=new D(function(o,s){var c=n(o,s,a);c&&c.then&&c.then(o,s)});return r._lib=!0,r},t.prototype._root=function(){return this.parent?this.parent._root():this},t.prototype.waitFor=function(e){var n=this._root(),i=D.resolve(e);if(n._waitingFor)n._waitingFor=n._waitingFor.then(function(){return i});else{n._waitingFor=i,n._waitingQueue=[];var a=n.idbtrans.objectStore(n.storeNames[0]);(function o(){for(++n._spinCount;n._waitingQueue.length;)n._waitingQueue.shift()();n._waitingFor&&(a.get(-1/0).onsuccess=o)})()}var r=n._waitingFor;return new D(function(o,s){i.then(function(c){return n._waitingQueue.push(tt(o.bind(null,c)))},function(c){return n._waitingQueue.push(tt(s.bind(null,c)))}).finally(function(){n._waitingFor===r&&(n._waitingFor=null)})})},t.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new F.Abort))},t.prototype.table=function(e){var n=this._memoizedTables||(this._memoizedTables={});if(X(n,e))return n[e];var i=this.schema[e];if(!i)throw new F.NotFound("Table "+e+" not part of transaction");var a=new this.db.Table(e,i,this);return a.core=this.db.core.table(e),n[e]=a,a},t})();function er(t){return ge(tr.prototype,function(n,i,a,r,o){var s=this;n!=="readonly"&&i.forEach(function(c){var p,m=(p=a[c])===null||p===void 0?void 0:p.yProps;m&&(i=i.concat(m.map(function(f){return f.updatesTable})))}),this.db=t,this.mode=n,this.storeNames=i,this.schema=a,this.chromeTransactionDurability=r,this.idbtrans=null,this.on=ye(this,"complete","error","abort"),this.parent=o||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new D(function(c,p){s._resolve=c,s._reject=p}),this._completion.then(function(){s.active=!1,s.on.complete.fire()},function(c){var p=s.active;return s.active=!1,s.on.error.fire(c),s.parent?s.parent._reject(c):p&&s.idbtrans&&s.idbtrans.abort(),it(c)})})}function Bn(t,e,n,i,a,r,o,s){return{name:t,keyPath:e,unique:n,multi:i,auto:a,compound:r,src:(n&&!o?"&":"")+(i?"*":"")+(a?"++":"")+Ni(e),type:s}}function Ni(t){return typeof t=="string"?t:t?"["+[].join.call(t,"+")+"]":""}function zn(t,e,n){return{name:t,primKey:e,indexes:n,mappedClass:null,idxByName:ma(n,function(i){return[i.name,i]})}}function nr(t){return t.length===1?t[0]:t}var be=function(t){try{return t.only([[]]),be=function(){return[[]]},[[]]}catch{return be=function(){return Ut},Ut}};function Fn(t){return t==null?function(){}:typeof t=="string"?ir(t):function(e){return _t(e,t)}}function ir(t){var e=t.split(".");return e.length===1?function(n){return n[t]}:function(n){return _t(n,t)}}function qi(t){return[].slice.call(t)}var ar=0;function _e(t){return t==null?":id":typeof t=="string"?t:"[".concat(t.join("+"),"]")}function rr(t,e,n){function i(f,x){var P=qi(f.objectStoreNames);return{schema:{name:f.name,tables:P.map(function(d){return x.objectStore(d)}).map(function(d){var h=d.keyPath,g=d.autoIncrement,w=S(h),k=h==null,E={},j={name:d.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:k,compound:w,keyPath:h,autoIncrement:g,unique:!0,extractKey:Fn(h)},indexes:qi(d.indexNames).map(function(_){return d.index(_)}).map(function(_){var T=_.name,K=_.unique,A=_.multiEntry,V=_.keyPath,$=S(V),C={name:T,compound:$,keyPath:V,unique:K,multiEntry:A,extractKey:Fn(V)};return E[_e(V)]=C,C}),getIndexByKeyPath:function(_){return E[_e(_)]}};return E[":id"]=j.primaryKey,h!=null&&(E[_e(h)]=j.primaryKey),j})},hasGetAll:P.length>0&&"getAll"in x.objectStore(P[0])&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}function a(f){if(f.type===3)return null;if(f.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var x=f.lower,P=f.upper,d=f.lowerOpen,h=f.upperOpen,g=x===void 0?P===void 0?null:e.upperBound(P,!!h):P===void 0?e.lowerBound(x,!!d):e.bound(x,P,!!d,!!h);return g}function r(f){var x=f.name;function P(g){var w=g.trans,k=g.type,E=g.keys,j=g.values,_=g.range;return new Promise(function(T,K){T=tt(T);var A=w.objectStore(x),V=A.keyPath==null,$=k==="put"||k==="add";if(!$&&k!=="delete"&&k!=="deleteRange")throw new Error("Invalid operation type: "+k);var C=(E||j||{length:1}).length;if(E&&j&&E.length!==j.length)throw new Error("Given keys array must have same length as given values array.");if(C===0)return T({numFailures:0,failures:{},results:[],lastResult:void 0});var W,N=[],Y=[],z=0,et=function(bt){++z,xe(bt)};if(k==="deleteRange"){if(_.type===4)return T({numFailures:z,failures:Y,results:[],lastResult:void 0});_.type===3?N.push(W=A.clear()):N.push(W=A.delete(a(_)))}else{var st=$?V?[j,E]:[j,null]:[E,null],wt=st[0],ut=st[1];if($)for(var dt=0;dt<C;++dt)N.push(W=ut&&ut[dt]!==void 0?A[k](wt[dt],ut[dt]):A[k](wt[dt])),W.onerror=et;else for(var dt=0;dt<C;++dt)N.push(W=A[k](wt[dt])),W.onerror=et}var It=function(bt){var je=bt.target.result;N.forEach(function(yt,rn){return yt.error!=null&&(Y[rn]=yt.error)}),T({numFailures:z,failures:Y,results:k==="delete"?E:N.map(function(yt){return yt.result}),lastResult:je})};W.onerror=function(bt){et(bt),It(bt)},W.onsuccess=It})}function d(g){var w=g.trans,k=g.values,E=g.query,j=g.reverse,_=g.unique;return new Promise(function(T,K){T=tt(T);var A=E.index,V=E.range,$=w.objectStore(x),C=A.isPrimaryKey?$:$.index(A.name),W=j?_?"prevunique":"prev":_?"nextunique":"next",N=k||!("openKeyCursor"in C)?C.openCursor(a(V),W):C.openKeyCursor(a(V),W);N.onerror=xt(K),N.onsuccess=tt(function(Y){var z=N.result;if(!z){T(null);return}z.___id=++ar,z.done=!1;var et=z.continue.bind(z),st=z.continuePrimaryKey;st&&(st=st.bind(z));var wt=z.advance.bind(z),ut=function(){throw new Error("Cursor not started")},dt=function(){throw new Error("Cursor not stopped")};z.trans=w,z.stop=z.continue=z.continuePrimaryKey=z.advance=ut,z.fail=tt(K),z.next=function(){var It=this,bt=1;return this.start(function(){return bt--?It.continue():It.stop()}).then(function(){return It})},z.start=function(It){var bt=new Promise(function(yt,rn){yt=tt(yt),N.onerror=xt(rn),z.fail=rn,z.stop=function($r){z.stop=z.continue=z.continuePrimaryKey=z.advance=dt,yt($r)}}),je=function(){if(N.result)try{It()}catch(yt){z.fail(yt)}else z.done=!0,z.start=function(){throw new Error("Cursor behind last entry")},z.stop()};return N.onsuccess=tt(function(yt){N.onsuccess=je,je()}),z.continue=et,z.continuePrimaryKey=st,z.advance=wt,je(),bt},T(z)},K)})}function h(g){return function(w){return new Promise(function(k,E){k=tt(k);var j=w.trans,_=w.values,T=w.limit,K=w.query,A=T===1/0?void 0:T,V=K.index,$=K.range,C=j.objectStore(x),W=V.isPrimaryKey?C:C.index(V.name),N=a($);if(T===0)return k({result:[]});if(g){var Y=_?W.getAll(N,A):W.getAllKeys(N,A);Y.onsuccess=function(wt){return k({result:wt.target.result})},Y.onerror=xt(E)}else{var z=0,et=_||!("openKeyCursor"in W)?W.openCursor(N):W.openKeyCursor(N),st=[];et.onsuccess=function(wt){var ut=et.result;if(!ut)return k({result:st});if(st.push(_?ut.value:ut.primaryKey),++z===T)return k({result:st});ut.continue()},et.onerror=xt(E)}})}}return{name:x,schema:f,mutate:P,getMany:function(g){var w=g.trans,k=g.keys;return new Promise(function(E,j){E=tt(E);for(var _=w.objectStore(x),T=k.length,K=new Array(T),A=0,V=0,$,C=function(z){var et=z.target;(K[et._pos]=et.result)!=null,++V===A&&E(K)},W=xt(j),N=0;N<T;++N){var Y=k[N];Y!=null&&($=_.get(k[N]),$._pos=N,$.onsuccess=C,$.onerror=W,++A)}A===0&&E(K)})},get:function(g){var w=g.trans,k=g.key;return new Promise(function(E,j){E=tt(E);var _=w.objectStore(x),T=_.get(k);T.onsuccess=function(K){return E(K.target.result)},T.onerror=xt(j)})},query:h(c),openCursor:d,count:function(g){var w=g.query,k=g.trans,E=w.index,j=w.range;return new Promise(function(_,T){var K=k.objectStore(x),A=E.isPrimaryKey?K:K.index(E.name),V=a(j),$=V?A.count(V):A.count();$.onsuccess=tt(function(C){return _(C.target.result)}),$.onerror=xt(T)})}}}var o=i(t,n),s=o.schema,c=o.hasGetAll,p=s.tables.map(function(f){return r(f)}),m={};return p.forEach(function(f){return m[f.name]=f}),{stack:"dbcore",transaction:t.transaction.bind(t),table:function(f){var x=m[f];if(!x)throw new Error("Table '".concat(f,"' not found"));return m[f]},MIN_KEY:-1/0,MAX_KEY:be(e),schema:s}}function or(t,e){return e.reduce(function(n,i){var a=i.create;return u(u({},n),a(n))},t)}function sr(t,e,n,i){var a=n.IDBKeyRange;n.indexedDB;var r=or(rr(e,a,i),t.dbcore);return{dbcore:r}}function Je(t,e){var n=e.db,i=sr(t._middlewares,n,t._deps,e);t.core=i.dbcore,t.tables.forEach(function(a){var r=a.name;t.core.schema.tables.some(function(o){return o.name===r})&&(a.core=t.core.table(r),t[r]instanceof t.Table&&(t[r].core=a.core))})}function He(t,e,n,i){n.forEach(function(a){var r=i[a];e.forEach(function(o){var s=ui(o,a);(!s||"value"in s&&s.value===void 0)&&(o===t.Transaction.prototype||o instanceof t.Transaction?Pt(o,a,{get:function(){return this.table(a)},set:function(c){le(this,a,{value:c,writable:!0,configurable:!0,enumerable:!0})}}):o[a]=new t.Table(a,r))})})}function Mn(t,e){e.forEach(function(n){for(var i in n)n[i]instanceof t.Table&&delete n[i]})}function cr(t,e){return t._cfg.version-e._cfg.version}function lr(t,e,n,i){var a=t._dbSchema;n.objectStoreNames.contains("$meta")&&!a.$meta&&(a.$meta=zn("$meta",Ui("")[0],[]),t._storeNames.push("$meta"));var r=t._createTransaction("readwrite",t._storeNames,a);r.create(n),r._completion.catch(i);var o=r._reject.bind(r),s=B.transless||B;Tt(function(){if(B.trans=r,B.transless=s,e===0)b(a).forEach(function(c){Ln(n,c,a[c].primKey,a[c].indexes)}),Je(t,n),D.follow(function(){return t.on.populate.fire(r)}).catch(o);else return Je(t,n),pr(t,r,e).then(function(c){return fr(t,c,r,n)}).catch(o)})}function ur(t,e){Wi(t._dbSchema,e),e.db.version%10===0&&!e.objectStoreNames.contains("$meta")&&e.db.createObjectStore("$meta").add(Math.ceil(e.db.version/10-1),"version");var n=Qe(t,t.idbdb,e);Xe(t,t._dbSchema,e);for(var i=Vn(n,t._dbSchema),a=function(p){if(p.change.length||p.recreate)return{value:void 0};var m=e.objectStore(p.name);p.add.forEach(function(f){Ye(m,f)})},r=0,o=i.change;r<o.length;r++){var s=o[r],c=a(s);if(typeof c=="object")return c.value}}function pr(t,e,n){return e.storeNames.includes("$meta")?e.table("$meta").get("version").then(function(i){return i!=null?i:n}):D.resolve(n)}function fr(t,e,n,i){var a=[],r=t._versions,o=t._dbSchema=Qe(t,t.idbdb,i),s=r.filter(function(p){return p._cfg.version>=e});if(s.length===0)return D.resolve();s.forEach(function(p){a.push(function(){var m=o,f=p._cfg.dbschema;Xe(t,m,i),Xe(t,f,i),o=t._dbSchema=f;var x=Vn(m,f);x.add.forEach(function(k){Ln(i,k[0],k[1].primKey,k[1].indexes)}),x.change.forEach(function(k){if(k.recreate)throw new F.Upgrade("Not yet support for changing primary key");var E=i.objectStore(k.name);k.add.forEach(function(j){return Ye(E,j)}),k.change.forEach(function(j){E.deleteIndex(j.name),Ye(E,j)}),k.del.forEach(function(j){return E.deleteIndex(j)})});var P=p._cfg.contentUpgrade;if(P&&p._cfg.version>e){Je(t,i),n._memoizedTables={};var d=di(f);x.del.forEach(function(k){d[k]=m[k]}),Mn(t,[t.Transaction.prototype]),He(t,[t.Transaction.prototype],b(d),d),n.schema=d;var h=hn(P);h&&ie();var g,w=D.follow(function(){if(g=P(n),g&&h){var k=At.bind(null,null);g.then(k,k)}});return g&&typeof g.then=="function"?D.resolve(g):w.then(function(){return g})}}),a.push(function(m){var f=p._cfg.dbschema;dr(f,m),Mn(t,[t.Transaction.prototype]),He(t,[t.Transaction.prototype],t._storeNames,t._dbSchema),n.schema=t._dbSchema}),a.push(function(m){t.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(t.idbdb.version/10)===p._cfg.version?(t.idbdb.deleteObjectStore("$meta"),delete t._dbSchema.$meta,t._storeNames=t._storeNames.filter(function(f){return f!=="$meta"})):m.objectStore("$meta").put(p._cfg.version,"version"))})});function c(){return a.length?D.resolve(a.shift()(n.idbtrans)).then(c):D.resolve()}return c().then(function(){Wi(o,i)})}function Vn(t,e){var n={del:[],add:[],change:[]},i;for(i in t)e[i]||n.del.push(i);for(i in e){var a=t[i],r=e[i];if(!a)n.add.push([i,r]);else{var o={name:i,def:r,recreate:!1,del:[],add:[],change:[]};if(""+(a.primKey.keyPath||"")!=""+(r.primKey.keyPath||"")||a.primKey.auto!==r.primKey.auto)o.recreate=!0,n.change.push(o);else{var s=a.idxByName,c=r.idxByName,p=void 0;for(p in s)c[p]||o.del.push(p);for(p in c){var m=s[p],f=c[p];m?m.src!==f.src&&o.change.push(f):o.add.push(f)}(o.del.length>0||o.add.length>0||o.change.length>0)&&n.change.push(o)}}}return n}function Ln(t,e,n,i){var a=t.db.createObjectStore(e,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return i.forEach(function(r){return Ye(a,r)}),a}function Wi(t,e){b(t).forEach(function(n){e.db.objectStoreNames.contains(n)||Ln(e,n,t[n].primKey,t[n].indexes)})}function dr(t,e){[].slice.call(e.db.objectStoreNames).forEach(function(n){return t[n]==null&&e.db.deleteObjectStore(n)})}function Ye(t,e){t.createIndex(e.name,e.keyPath,{unique:e.unique,multiEntry:e.multi})}function Qe(t,e,n){var i={},a=De(e.objectStoreNames,0);return a.forEach(function(r){for(var o=n.objectStore(r),s=o.keyPath,c=Bn(Ni(s),s||"",!0,!1,!!o.autoIncrement,s&&typeof s!="string",!0),p=[],m=0;m<o.indexNames.length;++m){var f=o.index(o.indexNames[m]);s=f.keyPath;var x=Bn(f.name,s,!!f.unique,!!f.multiEntry,!1,s&&typeof s!="string",!1);p.push(x)}i[r]=zn(r,c,p)}),i}function mr(t,e,n){t.verno=e.version/10;var i=t._dbSchema=Qe(t,e,n);t._storeNames=De(e.objectStoreNames,0),He(t,[t._allTables],b(i),i)}function vr(t,e){var n=Qe(t,t.idbdb,e),i=Vn(n,t._dbSchema);return!(i.add.length||i.change.some(function(a){return a.add.length||a.change.length}))}function Xe(t,e,n){for(var i=n.db.objectStoreNames,a=0;a<i.length;++a){var r=i[a],o=n.objectStore(r);t._hasGetAll="getAll"in o;for(var s=0;s<o.indexNames.length;++s){var c=o.indexNames[s],p=o.index(c).keyPath,m=typeof p=="string"?p:"["+De(p).join("+")+"]";if(e[r]){var f=e[r].idxByName[m];f&&(f.name=c,delete e[r].idxByName[m],e[r].idxByName[c]=f)}}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&y.WorkerGlobalScope&&y instanceof y.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(t._hasGetAll=!1)}function Ui(t){return t.split(",").map(function(e,n){var i,a=e.split(":"),r=(i=a[1])===null||i===void 0?void 0:i.trim();e=a[0].trim();var o=e.replace(/([&*]|\+\+)/g,""),s=/^\[/.test(o)?o.match(/^\[(.*)\]$/)[1].split("+"):o;return Bn(o,s||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),S(s),n===0,r)})}var hr=(function(){function t(){}return t.prototype._createTableSchema=function(e,n,i){return zn(e,n,i)},t.prototype._parseIndexSyntax=function(e){return Ui(e)},t.prototype._parseStoresSpec=function(e,n){var i=this;b(e).forEach(function(a){if(e[a]!==null){var r=i._parseIndexSyntax(e[a]),o=r.shift();if(!o)throw new F.Schema("Invalid schema for table "+a+": "+e[a]);if(o.unique=!0,o.multi)throw new F.Schema("Primary key cannot be multiEntry*");r.forEach(function(c){if(c.auto)throw new F.Schema("Only primary key can be marked as autoIncrement (++)");if(!c.keyPath)throw new F.Schema("Index must have a name and cannot be an empty string")});var s=i._createTableSchema(a,o,r);n[a]=s}})},t.prototype.stores=function(e){var n=this.db;this._cfg.storesSource=this._cfg.storesSource?O(this._cfg.storesSource,e):e;var i=n._versions,a={},r={};return i.forEach(function(o){O(a,o._cfg.storesSource),r=o._cfg.dbschema={},o._parseStoresSpec(a,r)}),n._dbSchema=r,Mn(n,[n._allTables,n,n.Transaction.prototype]),He(n,[n._allTables,n,n.Transaction.prototype,this._cfg.tables],b(r),r),n._storeNames=b(r),this},t.prototype.upgrade=function(e){return this._cfg.contentUpgrade=xn(this._cfg.contentUpgrade||Z,e),this},t})();function yr(t){return ge(hr.prototype,function(n){this.db=t,this._cfg={version:n,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}function Nn(t,e){var n=t._dbNamesDB;return n||(n=t._dbNamesDB=new jt(Le,{addons:[],indexedDB:t,IDBKeyRange:e}),n.version(1).stores({dbnames:"name"})),n.table("dbnames")}function qn(t){return t&&typeof t.databases=="function"}function gr(t){var e=t.indexedDB,n=t.IDBKeyRange;return qn(e)?Promise.resolve(e.databases()).then(function(i){return i.map(function(a){return a.name}).filter(function(a){return a!==Le})}):Nn(e,n).toCollection().primaryKeys()}function xr(t,e){var n=t.indexedDB,i=t.IDBKeyRange;!qn(n)&&e!==Le&&Nn(n,i).put({name:e}).catch(Z)}function wr(t,e){var n=t.indexedDB,i=t.IDBKeyRange;!qn(n)&&e!==Le&&Nn(n,i).delete(e).catch(Z)}function Wn(t){return Tt(function(){return B.letThrough=!0,t()})}function br(){var t=!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent);if(!t||!indexedDB.databases)return Promise.resolve();var e;return new Promise(function(n){var i=function(){return indexedDB.databases().finally(n)};e=setInterval(i,100),i()}).finally(function(){return clearInterval(e)})}var Un;function $n(t){return!("from"in t)}var ot=function(t,e){if(this)O(this,arguments.length?{d:1,from:t,to:arguments.length>1?e:t}:{d:0});else{var n=new ot;return t&&"d"in t&&O(n,t),n}};rt(ot.prototype,(Un={add:function(t){return Ee(this,t),this},addKey:function(t){return ke(this,t,t),this},addKeys:function(t){var e=this;return t.forEach(function(n){return ke(e,n,n)}),this},hasKey:function(t){var e=Ge(this).next(t).value;return e&&H(e.from,t)<=0&&H(e.to,t)>=0}},Un[vn]=function(){return Ge(this)},Un));function ke(t,e,n){var i=H(e,n);if(!isNaN(i)){if(i>0)throw RangeError();if($n(t))return O(t,{from:e,to:n,d:1});var a=t.l,r=t.r;if(H(n,t.from)<0)return a?ke(a,e,n):t.l={from:e,to:n,d:1,l:null,r:null},Ji(t);if(H(e,t.to)>0)return r?ke(r,e,n):t.r={from:e,to:n,d:1,l:null,r:null},Ji(t);H(e,t.from)<0&&(t.from=e,t.l=null,t.d=r?r.d+1:1),H(n,t.to)>0&&(t.to=n,t.r=null,t.d=t.l?t.l.d+1:1);var o=!t.r;a&&!t.l&&Ee(t,a),r&&o&&Ee(t,r)}}function Ee(t,e){function n(i,a){var r=a.from,o=a.to,s=a.l,c=a.r;ke(i,r,o),s&&n(i,s),c&&n(i,c)}$n(e)||n(t,e)}function $i(t,e){var n=Ge(e),i=n.next();if(i.done)return!1;for(var a=i.value,r=Ge(t),o=r.next(a.from),s=o.value;!i.done&&!o.done;){if(H(s.from,a.to)<=0&&H(s.to,a.from)>=0)return!0;H(a.from,s.from)<0?a=(i=n.next(s.from)).value:s=(o=r.next(a.from)).value}return!1}function Ge(t){var e=$n(t)?null:{s:0,n:t};return{next:function(n){for(var i=arguments.length>0;e;)switch(e.s){case 0:if(e.s=1,i)for(;e.n.l&&H(n,e.n.from)<0;)e={up:e,n:e.n.l,s:1};else for(;e.n.l;)e={up:e,n:e.n.l,s:1};case 1:if(e.s=2,!i||H(n,e.n.to)<=0)return{value:e.n,done:!1};case 2:if(e.n.r){e.s=3,e={up:e,n:e.n.r,s:0};continue}case 3:e=e.up}return{done:!0}}}}function Ji(t){var e,n,i=(((e=t.r)===null||e===void 0?void 0:e.d)||0)-(((n=t.l)===null||n===void 0?void 0:n.d)||0),a=i>1?"r":i<-1?"l":"";if(a){var r=a==="r"?"l":"r",o=u({},t),s=t[a];t.from=s.from,t.to=s.to,t[a]=s[a],o[a]=s[r],t[r]=o,o.d=Hi(o)}t.d=Hi(t)}function Hi(t){var e=t.r,n=t.l;return(e?n?Math.max(e.d,n.d):e.d:n?n.d:0)+1}function Ze(t,e){return b(e).forEach(function(n){t[n]?Ee(t[n],e[n]):t[n]=hi(e[n])}),t}function Jn(t,e){return t.all||e.all||Object.keys(t).some(function(n){return e[n]&&$i(e[n],t[n])})}var Jt={},Hn={},Yn=!1;function tn(t,e){Ze(Hn,t),Yn||(Yn=!0,setTimeout(function(){Yn=!1;var n=Hn;Hn={},Qn(n,!1)},0))}function Qn(t,e){e===void 0&&(e=!1);var n=new Set;if(t.all)for(var i=0,a=Object.values(Jt);i<a.length;i++){var r=a[i];Yi(r,t,n,e)}else for(var o in t){var s=/^idb\:\/\/(.*)\/(.*)\//.exec(o);if(s){var c=s[1],p=s[2],r=Jt["idb://".concat(c,"/").concat(p)];r&&Yi(r,t,n,e)}}n.forEach(function(m){return m()})}function Yi(t,e,n,i){for(var a=[],r=0,o=Object.entries(t.queries.query);r<o.length;r++){for(var s=o[r],c=s[0],p=s[1],m=[],f=0,x=p;f<x.length;f++){var P=x[f];Jn(e,P.obsSet)?P.subscribers.forEach(function(w){return n.add(w)}):i&&m.push(P)}i&&a.push([c,m])}if(i)for(var d=0,h=a;d<h.length;d++){var g=h[d],c=g[0],m=g[1];t.queries.query[c]=m}}function _r(t){var e=t._state,n=t._deps.indexedDB;if(e.isBeingOpened||t.idbdb)return e.dbReadyPromise.then(function(){return e.dbOpenError?it(e.dbOpenError):t});e.isBeingOpened=!0,e.dbOpenError=null,e.openComplete=!1;var i=e.openCanceller,a=Math.round(t.verno*10),r=!1;function o(){if(e.openCanceller!==i)throw new F.DatabaseClosed("db.open() was cancelled")}var s=e.dbReadyResolve,c=null,p=!1,m=function(){return new D(function(f,x){if(o(),!n)throw new F.MissingAPI;var P=t.name,d=e.autoSchema||!a?n.open(P):n.open(P,a);if(!d)throw new F.MissingAPI;d.onerror=xt(x),d.onblocked=tt(t._fireOnBlocked),d.onupgradeneeded=tt(function(h){if(c=d.transaction,e.autoSchema&&!t._options.allowEmptyDB){d.onerror=xe,c.abort(),d.result.close();var g=n.deleteDatabase(P);g.onsuccess=g.onerror=tt(function(){x(new F.NoSuchDatabase("Database ".concat(P," doesnt exist")))})}else{c.onerror=xt(x);var w=h.oldVersion>Math.pow(2,62)?0:h.oldVersion;p=w<1,t.idbdb=d.result,r&&ur(t,c),lr(t,w/10,c,x)}},x),d.onsuccess=tt(function(){c=null;var h=t.idbdb=d.result,g=De(h.objectStoreNames);if(g.length>0)try{var w=h.transaction(nr(g),"readonly");if(e.autoSchema)mr(t,h,w);else if(Xe(t,t._dbSchema,w),!vr(t,w)&&!r)return h.close(),a=h.version+1,r=!0,f(m());Je(t,w)}catch{}ae.push(t),h.onversionchange=tt(function(k){e.vcFired=!0,t.on("versionchange").fire(k)}),h.onclose=tt(function(){t.close({disableAutoOpen:!1})}),p&&xr(t._deps,P),f()},x)}).catch(function(f){switch(f==null?void 0:f.name){case"UnknownError":if(e.PR1398_maxLoop>0)return e.PR1398_maxLoop--,m();break;case"VersionError":if(a>0)return a=0,m();break}return D.reject(f)})};return D.race([i,(typeof navigator>"u"?D.resolve():br()).then(m)]).then(function(){return o(),e.onReadyBeingFired=[],D.resolve(Wn(function(){return t.on.ready.fire(t.vip)})).then(function f(){if(e.onReadyBeingFired.length>0){var x=e.onReadyBeingFired.reduce(xn,Z);return e.onReadyBeingFired=[],D.resolve(Wn(function(){return x(t.vip)})).then(f)}})}).finally(function(){e.openCanceller===i&&(e.onReadyBeingFired=null,e.isBeingOpened=!1)}).catch(function(f){e.dbOpenError=f;try{c&&c.abort()}catch{}return i===e.openCanceller&&t._close(),it(f)}).finally(function(){e.openComplete=!0,s()}).then(function(){if(p){var f={};t.tables.forEach(function(x){x.schema.indexes.forEach(function(P){P.name&&(f["idb://".concat(t.name,"/").concat(x.name,"/").concat(P.name)]=new ot(-1/0,[[[]]]))}),f["idb://".concat(t.name,"/").concat(x.name,"/")]=f["idb://".concat(t.name,"/").concat(x.name,"/:dels")]=new ot(-1/0,[[[]]])}),Kt(we).fire(f),Qn(f,!0)}return t})}function Xn(t){var e=function(o){return t.next(o)},n=function(o){return t.throw(o)},i=r(e),a=r(n);function r(o){return function(s){var c=o(s),p=c.value;return c.done?p:!p||typeof p.then!="function"?S(p)?Promise.all(p).then(i,a):i(p):p.then(i,a)}}return r(e)()}function kr(t,e,n){var i=arguments.length;if(i<2)throw new F.InvalidArgument("Too few arguments");for(var a=new Array(i-1);--i;)a[i-1]=arguments[i];n=a.pop();var r=mi(a);return[t,r,n]}function Qi(t,e,n,i,a){return D.resolve().then(function(){var r=B.transless||B,o=t._createTransaction(e,n,t._dbSchema,i);o.explicit=!0;var s={trans:o,transless:r};if(i)o.idbtrans=i.idbtrans;else try{o.create(),o.idbtrans._explicit=!0,t._state.PR1398_maxLoop=3}catch(f){return f.name===gn.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(t.close({disableAutoOpen:!1}),t.open().then(function(){return Qi(t,e,n,null,a)})):it(f)}var c=hn(a);c&&ie();var p,m=D.follow(function(){if(p=a.call(o,o),p)if(c){var f=At.bind(null,null);p.then(f,f)}else typeof p.next=="function"&&typeof p.throw=="function"&&(p=Xn(p))},s);return(p&&typeof p.then=="function"?D.resolve(p).then(function(f){return o.active?f:it(new F.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):m.then(function(){return p})).then(function(f){return i&&o._resolve(),o._completion.then(function(){return f})}).catch(function(f){return o._reject(f),it(f)})})}function en(t,e,n){for(var i=S(t)?t.slice():[t],a=0;a<n;++a)i.push(e);return i}function Er(t){return u(u({},t),{table:function(e){var n=t.table(e),i=n.schema,a={},r=[];function o(h,g,w){var k=_e(h),E=a[k]=a[k]||[],j=h==null?0:typeof h=="string"?1:h.length,_=g>0,T=u(u({},w),{name:_?"".concat(k,"(virtual-from:").concat(w.name,")"):w.name,lowLevelIndex:w,isVirtual:_,keyTail:g,keyLength:j,extractKey:Fn(h),unique:!_&&w.unique});if(E.push(T),T.isPrimaryKey||r.push(T),j>1){var K=j===2?h[0]:h.slice(0,j-1);o(K,g+1,w)}return E.sort(function(A,V){return A.keyTail-V.keyTail}),T}var s=o(i.primaryKey.keyPath,0,i.primaryKey);a[":id"]=[s];for(var c=0,p=i.indexes;c<p.length;c++){var m=p[c];o(m.keyPath,0,m)}function f(h){var g=a[_e(h)];return g&&g[0]}function x(h,g){return{type:h.type===1?2:h.type,lower:en(h.lower,h.lowerOpen?t.MAX_KEY:t.MIN_KEY,g),lowerOpen:!0,upper:en(h.upper,h.upperOpen?t.MIN_KEY:t.MAX_KEY,g),upperOpen:!0}}function P(h){var g=h.query.index;return g.isVirtual?u(u({},h),{query:{index:g.lowLevelIndex,range:x(h.query.range,g.keyTail)}}):h}var d=u(u({},n),{schema:u(u({},i),{primaryKey:s,indexes:r,getIndexByKeyPath:f}),count:function(h){return n.count(P(h))},query:function(h){return n.query(P(h))},openCursor:function(h){var g=h.query.index,w=g.keyTail,k=g.isVirtual,E=g.keyLength;if(!k)return n.openCursor(h);function j(_){function T(A){A!=null?_.continue(en(A,h.reverse?t.MAX_KEY:t.MIN_KEY,w)):h.unique?_.continue(_.key.slice(0,E).concat(h.reverse?t.MIN_KEY:t.MAX_KEY,w)):_.continue()}var K=Object.create(_,{continue:{value:T},continuePrimaryKey:{value:function(A,V){_.continuePrimaryKey(en(A,t.MAX_KEY,w),V)}},primaryKey:{get:function(){return _.primaryKey}},key:{get:function(){var A=_.key;return E===1?A[0]:A.slice(0,E)}},value:{get:function(){return _.value}}});return K}return n.openCursor(P(h)).then(function(_){return _&&j(_)})}});return d}})}var jr={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:Er};function Gn(t,e,n,i){return n=n||{},i=i||"",b(t).forEach(function(a){if(!X(e,a))n[i+a]=void 0;else{var r=t[a],o=e[a];if(typeof r=="object"&&typeof o=="object"&&r&&o){var s=mn(r),c=mn(o);s!==c?n[i+a]=e[a]:s==="Object"?Gn(r,o,n,i+a+"."):r!==o&&(n[i+a]=e[a])}else r!==o&&(n[i+a]=e[a])}}),b(e).forEach(function(a){X(t,a)||(n[i+a]=e[a])}),n}function Zn(t,e){return e.type==="delete"?e.keys:e.keys||e.values.map(t.extractKey)}var Pr={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(t){return u(u({},t),{table:function(e){var n=t.table(e),i=n.schema.primaryKey,a=u(u({},n),{mutate:function(r){var o=B.trans,s=o.table(e).hook,c=s.deleting,p=s.creating,m=s.updating;switch(r.type){case"add":if(p.fire===Z)break;return o._promise("readwrite",function(){return f(r)},!0);case"put":if(p.fire===Z&&m.fire===Z)break;return o._promise("readwrite",function(){return f(r)},!0);case"delete":if(c.fire===Z)break;return o._promise("readwrite",function(){return f(r)},!0);case"deleteRange":if(c.fire===Z)break;return o._promise("readwrite",function(){return x(r)},!0)}return n.mutate(r);function f(d){var h=B.trans,g=d.keys||Zn(i,d);if(!g)throw new Error("Keys missing");return d=d.type==="add"||d.type==="put"?u(u({},d),{keys:g}):u({},d),d.type!=="delete"&&(d.values=v([],d.values,!0)),d.keys&&(d.keys=v([],d.keys,!0)),Sr(n,d,g).then(function(w){var k=g.map(function(E,j){var _=w[j],T={onerror:null,onsuccess:null};if(d.type==="delete")c.fire.call(T,E,_,h);else if(d.type==="add"||_===void 0){var K=p.fire.call(T,E,d.values[j],h);E==null&&K!=null&&(E=K,d.keys[j]=E,i.outbound||lt(d.values[j],i.keyPath,E))}else{var A=Gn(_,d.values[j]),V=m.fire.call(T,A,E,_,h);if(V){var $=d.values[j];Object.keys(V).forEach(function(C){X($,C)?$[C]=V[C]:lt($,C,V[C])})}}return T});return n.mutate(d).then(function(E){for(var j=E.failures,_=E.results,T=E.numFailures,K=E.lastResult,A=0;A<g.length;++A){var V=_?_[A]:g[A],$=k[A];V==null?$.onerror&&$.onerror(j[A]):$.onsuccess&&$.onsuccess(d.type==="put"&&w[A]?d.values[A]:V)}return{failures:j,results:_,numFailures:T,lastResult:K}}).catch(function(E){return k.forEach(function(j){return j.onerror&&j.onerror(E)}),Promise.reject(E)})})}function x(d){return P(d.trans,d.range,1e4)}function P(d,h,g){return n.query({trans:d,values:!1,query:{index:i,range:h},limit:g}).then(function(w){var k=w.result;return f({type:"delete",keys:k,trans:d}).then(function(E){return E.numFailures>0?Promise.reject(E.failures[0]):k.length<g?{failures:[],numFailures:0,lastResult:void 0}:P(d,u(u({},h),{lower:k[k.length-1],lowerOpen:!0}),g)})})}}});return a}})}};function Sr(t,e,n){return e.type==="add"?Promise.resolve([]):t.getMany({trans:e.trans,keys:n,cache:"immutable"})}function Xi(t,e,n){try{if(!e||e.keys.length<t.length)return null;for(var i=[],a=0,r=0;a<e.keys.length&&r<t.length;++a)H(e.keys[a],t[r])===0&&(i.push(n?Ft(e.values[a]):e.values[a]),++r);return i.length===t.length?i:null}catch{return null}}var Tr={stack:"dbcore",level:-1,create:function(t){return{table:function(e){var n=t.table(e);return u(u({},n),{getMany:function(i){if(!i.cache)return n.getMany(i);var a=Xi(i.keys,i.trans._cache,i.cache==="clone");return a?D.resolve(a):n.getMany(i).then(function(r){return i.trans._cache={keys:i.keys,values:i.cache==="clone"?Ft(r):r},r})},mutate:function(i){return i.type!=="add"&&(i.trans._cache=null),n.mutate(i)}})}}}};function Gi(t,e){return t.trans.mode==="readonly"&&!!t.subscr&&!t.trans.explicit&&t.trans.db._options.cache!=="disabled"&&!e.schema.primaryKey.outbound}function Zi(t,e){switch(t){case"query":return e.values&&!e.unique;case"get":return!1;case"getMany":return!1;case"count":return!1;case"openCursor":return!1}}var Ar={stack:"dbcore",level:0,name:"Observability",create:function(t){var e=t.schema.name,n=new ot(t.MIN_KEY,t.MAX_KEY);return u(u({},t),{transaction:function(i,a,r){if(B.subscr&&a!=="readonly")throw new F.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(B.querier));return t.transaction(i,a,r)},table:function(i){var a=t.table(i),r=a.schema,o=r.primaryKey,s=r.indexes,c=o.extractKey,p=o.outbound,m=o.autoIncrement&&s.filter(function(d){return d.compound&&d.keyPath.includes(o.keyPath)}),f=u(u({},a),{mutate:function(d){var h,g,w=d.trans,k=d.mutatedParts||(d.mutatedParts={}),E=function(N){var Y="idb://".concat(e,"/").concat(i,"/").concat(N);return k[Y]||(k[Y]=new ot)},j=E(""),_=E(":dels"),T=d.type,K=d.type==="deleteRange"?[d.range]:d.type==="delete"?[d.keys]:d.values.length<50?[Zn(o,d).filter(function(N){return N}),d.values]:[],A=K[0],V=K[1],$=d.trans._cache;if(S(A)){j.addKeys(A);var C=T==="delete"||A.length===V.length?Xi(A,$):null;C||_.addKeys(A),(C||V)&&Dr(E,r,C,V)}else if(A){var W={from:(h=A.lower)!==null&&h!==void 0?h:t.MIN_KEY,to:(g=A.upper)!==null&&g!==void 0?g:t.MAX_KEY};_.add(W),j.add(W)}else j.add(n),_.add(n),r.indexes.forEach(function(N){return E(N.name).add(n)});return a.mutate(d).then(function(N){return A&&(d.type==="add"||d.type==="put")&&(j.addKeys(N.results),m&&m.forEach(function(Y){for(var z=d.values.map(function(ut){return Y.extractKey(ut)}),et=Y.keyPath.findIndex(function(ut){return ut===o.keyPath}),st=0,wt=N.results.length;st<wt;++st)z[st][et]=N.results[st];E(Y.name).addKeys(z)})),w.mutatedParts=Ze(w.mutatedParts||{},k),N})}}),x=function(d){var h,g,w=d.query,k=w.index,E=w.range;return[k,new ot((h=E.lower)!==null&&h!==void 0?h:t.MIN_KEY,(g=E.upper)!==null&&g!==void 0?g:t.MAX_KEY)]},P={get:function(d){return[o,new ot(d.key)]},getMany:function(d){return[o,new ot().addKeys(d.keys)]},count:x,query:x,openCursor:x};return b(P).forEach(function(d){f[d]=function(h){var g=B.subscr,w=!!g,k=Gi(B,a)&&Zi(d,h),E=k?h.obsSet={}:g;if(w){var j=function(C){var W="idb://".concat(e,"/").concat(i,"/").concat(C);return E[W]||(E[W]=new ot)},_=j(""),T=j(":dels"),K=P[d](h),A=K[0],V=K[1];if(d==="query"&&A.isPrimaryKey&&!h.values?T.add(V):j(A.name||"").add(V),!A.isPrimaryKey)if(d==="count")T.add(n);else{var $=d==="query"&&p&&h.values&&a.query(u(u({},h),{values:!1}));return a[d].apply(this,arguments).then(function(C){if(d==="query"){if(p&&h.values)return $.then(function(z){var et=z.result;return _.addKeys(et),C});var W=h.values?C.result.map(c):C.result;h.values?_.addKeys(W):T.addKeys(W)}else if(d==="openCursor"){var N=C,Y=h.values;return N&&Object.create(N,{key:{get:function(){return T.addKey(N.primaryKey),N.key}},primaryKey:{get:function(){var z=N.primaryKey;return T.addKey(z),z}},value:{get:function(){return Y&&_.addKey(N.primaryKey),N.value}}})}return C})}}return a[d].apply(this,arguments)}}),f}})}};function Dr(t,e,n,i){function a(r){var o=t(r.name||"");function s(p){return p!=null?r.extractKey(p):null}var c=function(p){return r.multiEntry&&S(p)?p.forEach(function(m){return o.addKey(m)}):o.addKey(p)};(n||i).forEach(function(p,m){var f=n&&s(n[m]),x=i&&s(i[m]);H(f,x)!==0&&(f!=null&&c(f),x!=null&&c(x))})}e.indexes.forEach(a)}function ta(t,e,n){if(n.numFailures===0)return e;if(e.type==="deleteRange")return null;var i=e.keys?e.keys.length:"values"in e&&e.values?e.values.length:1;if(n.numFailures===i)return null;var a=u({},e);return S(a.keys)&&(a.keys=a.keys.filter(function(r,o){return!(o in n.failures)})),"values"in a&&S(a.values)&&(a.values=a.values.filter(function(r,o){return!(o in n.failures)})),a}function Or(t,e){return e.lower===void 0?!0:e.lowerOpen?H(t,e.lower)>0:H(t,e.lower)>=0}function Kr(t,e){return e.upper===void 0?!0:e.upperOpen?H(t,e.upper)<0:H(t,e.upper)<=0}function ti(t,e){return Or(t,e)&&Kr(t,e)}function ea(t,e,n,i,a,r){if(!n||n.length===0)return t;var o=e.query.index,s=o.multiEntry,c=e.query.range,p=i.schema.primaryKey,m=p.extractKey,f=o.extractKey,x=(o.lowLevelIndex||o).extractKey,P=n.reduce(function(d,h){var g=d,w=[];if(h.type==="add"||h.type==="put")for(var k=new ot,E=h.values.length-1;E>=0;--E){var j=h.values[E],_=m(j);if(!k.hasKey(_)){var T=f(j);(s&&S(T)?T.some(function(C){return ti(C,c)}):ti(T,c))&&(k.addKey(_),w.push(j))}}switch(h.type){case"add":{var K=new ot().addKeys(e.values?d.map(function(C){return m(C)}):d);g=d.concat(e.values?w.filter(function(C){var W=m(C);return K.hasKey(W)?!1:(K.addKey(W),!0)}):w.map(function(C){return m(C)}).filter(function(C){return K.hasKey(C)?!1:(K.addKey(C),!0)}));break}case"put":{var A=new ot().addKeys(h.values.map(function(C){return m(C)}));g=d.filter(function(C){return!A.hasKey(e.values?m(C):C)}).concat(e.values?w:w.map(function(C){return m(C)}));break}case"delete":var V=new ot().addKeys(h.keys);g=d.filter(function(C){return!V.hasKey(e.values?m(C):C)});break;case"deleteRange":var $=h.range;g=d.filter(function(C){return!ti(m(C),$)});break}return g},t);return P===t?t:(P.sort(function(d,h){return H(x(d),x(h))||H(m(d),m(h))}),e.limit&&e.limit<1/0&&(P.length>e.limit?P.length=e.limit:t.length===e.limit&&P.length<e.limit&&(a.dirty=!0)),r?Object.freeze(P):P)}function na(t,e){return H(t.lower,e.lower)===0&&H(t.upper,e.upper)===0&&!!t.lowerOpen==!!e.lowerOpen&&!!t.upperOpen==!!e.upperOpen}function Cr(t,e,n,i){if(t===void 0)return e!==void 0?-1:0;if(e===void 0)return 1;var a=H(t,e);if(a===0){if(n&&i)return 0;if(n)return 1;if(i)return-1}return a}function Rr(t,e,n,i){if(t===void 0)return e!==void 0?1:0;if(e===void 0)return-1;var a=H(t,e);if(a===0){if(n&&i)return 0;if(n)return-1;if(i)return 1}return a}function Ir(t,e){return Cr(t.lower,e.lower,t.lowerOpen,e.lowerOpen)<=0&&Rr(t.upper,e.upper,t.upperOpen,e.upperOpen)>=0}function Br(t,e,n,i){var a=Jt["idb://".concat(t,"/").concat(e)];if(!a)return[];var r=a.queries[n];if(!r)return[null,!1,a,null];var o=i.query?i.query.index.name:null,s=r[o||""];if(!s)return[null,!1,a,null];switch(n){case"query":var c=s.find(function(f){return f.req.limit===i.limit&&f.req.values===i.values&&na(f.req.query.range,i.query.range)});if(c)return[c,!0,a,s];var p=s.find(function(f){var x="limit"in f.req?f.req.limit:1/0;return x>=i.limit&&(i.values?f.req.values:!0)&&Ir(f.req.query.range,i.query.range)});return[p,!1,a,s];case"count":var m=s.find(function(f){return na(f.req.query.range,i.query.range)});return[m,!!m,a,s]}}function zr(t,e,n,i){t.subscribers.add(n),i.addEventListener("abort",function(){t.subscribers.delete(n),t.subscribers.size===0&&Fr(t,e)})}function Fr(t,e){setTimeout(function(){t.subscribers.size===0&&Mt(e,t)},3e3)}var Mr={stack:"dbcore",level:0,name:"Cache",create:function(t){var e=t.schema.name,n=u(u({},t),{transaction:function(i,a,r){var o=t.transaction(i,a,r);if(a==="readwrite"){var s=new AbortController,c=s.signal,p=function(m){return function(){if(s.abort(),a==="readwrite"){for(var f=new Set,x=0,P=i;x<P.length;x++){var d=P[x],h=Jt["idb://".concat(e,"/").concat(d)];if(h){var g=t.table(d),w=h.optimisticOps.filter(function(Y){return Y.trans===o});if(o._explicit&&m&&o.mutatedParts)for(var k=0,E=Object.values(h.queries.query);k<E.length;k++)for(var j=E[k],_=0,T=j.slice();_<T.length;_++){var K=T[_];Jn(K.obsSet,o.mutatedParts)&&(Mt(j,K),K.subscribers.forEach(function(Y){return f.add(Y)}))}else if(w.length>0){h.optimisticOps=h.optimisticOps.filter(function(Y){return Y.trans!==o});for(var A=0,V=Object.values(h.queries.query);A<V.length;A++)for(var j=V[A],$=0,C=j.slice();$<C.length;$++){var K=C[$];if(K.res!=null&&o.mutatedParts)if(m&&!K.dirty){var W=Object.isFrozen(K.res),N=ea(K.res,K.req,w,g,K,W);K.dirty?(Mt(j,K),K.subscribers.forEach(function(et){return f.add(et)})):N!==K.res&&(K.res=N,K.promise=D.resolve({result:N}))}else K.dirty&&Mt(j,K),K.subscribers.forEach(function(et){return f.add(et)})}}}}f.forEach(function(Y){return Y()})}}};o.addEventListener("abort",p(!1),{signal:c}),o.addEventListener("error",p(!1),{signal:c}),o.addEventListener("complete",p(!0),{signal:c})}return o},table:function(i){var a=t.table(i),r=a.schema.primaryKey,o=u(u({},a),{mutate:function(s){var c=B.trans;if(r.outbound||c.db._options.cache==="disabled"||c.explicit||c.idbtrans.mode!=="readwrite")return a.mutate(s);var p=Jt["idb://".concat(e,"/").concat(i)];if(!p)return a.mutate(s);var m=a.mutate(s);return(s.type==="add"||s.type==="put")&&(s.values.length>=50||Zn(r,s).some(function(f){return f==null}))?m.then(function(f){var x=u(u({},s),{values:s.values.map(function(d,h){var g;if(f.failures[h])return d;var w=!((g=r.keyPath)===null||g===void 0)&&g.includes(".")?Ft(d):u({},d);return lt(w,r.keyPath,f.results[h]),w})}),P=ta(p,x,f);p.optimisticOps.push(P),queueMicrotask(function(){return s.mutatedParts&&tn(s.mutatedParts)})}):(p.optimisticOps.push(s),s.mutatedParts&&tn(s.mutatedParts),m.then(function(f){if(f.numFailures>0){Mt(p.optimisticOps,s);var x=ta(p,s,f);x&&p.optimisticOps.push(x),s.mutatedParts&&tn(s.mutatedParts)}}),m.catch(function(){Mt(p.optimisticOps,s),s.mutatedParts&&tn(s.mutatedParts)})),m},query:function(s){var c;if(!Gi(B,a)||!Zi("query",s))return a.query(s);var p=((c=B.trans)===null||c===void 0?void 0:c.db._options.cache)==="immutable",m=B,f=m.requery,x=m.signal,P=Br(e,i,"query",s),d=P[0],h=P[1],g=P[2],w=P[3];if(d&&h)d.obsSet=s.obsSet;else{var k=a.query(s).then(function(E){var j=E.result;if(d&&(d.res=j),p){for(var _=0,T=j.length;_<T;++_)Object.freeze(j[_]);Object.freeze(j)}else E.result=Ft(j);return E}).catch(function(E){return w&&d&&Mt(w,d),Promise.reject(E)});d={obsSet:s.obsSet,promise:k,subscribers:new Set,type:"query",req:s,dirty:!1},w?w.push(d):(w=[d],g||(g=Jt["idb://".concat(e,"/").concat(i)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}}),g.queries.query[s.query.index.name||""]=w)}return zr(d,w,f,x),d.promise.then(function(E){return{result:ea(E.result,s,g==null?void 0:g.optimisticOps,a,d,p)}})}});return o}});return n}};function nn(t,e){return new Proxy(t,{get:function(n,i,a){return i==="db"?e:Reflect.get(n,i,a)}})}var jt=(function(){function t(e,n){var i=this;this._middlewares={},this.verno=0;var a=t.dependencies;this._options=n=u({addons:t.addons,autoOpen:!0,indexedDB:a.indexedDB,IDBKeyRange:a.IDBKeyRange,cache:"cloned"},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};var r=n.addons;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;var o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:Z,dbReadyPromise:null,cancelOpen:Z,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:n.autoOpen};o.dbReadyPromise=new D(function(c){o.dbReadyResolve=c}),o.openCanceller=new D(function(c,p){o.cancelOpen=p}),this._state=o,this.name=e,this.on=ye(this,"populate","blocked","versionchange","close",{ready:[xn,Z]}),this.once=function(c,p){var m=function(){for(var f=[],x=0;x<arguments.length;x++)f[x]=arguments[x];i.on(c).unsubscribe(m),p.apply(i,f)};return i.on(c,m)},this.on.ready.subscribe=pi(this.on.ready.subscribe,function(c){return function(p,m){t.vip(function(){var f=i._state;if(f.openComplete)f.dbOpenError||D.resolve().then(p),m&&c(p);else if(f.onReadyBeingFired)f.onReadyBeingFired.push(p),m&&c(p);else{c(p);var x=i;m||c(function P(){x.on.ready.unsubscribe(p),x.on.ready.unsubscribe(P)})}})}}),this.Collection=Ja(this),this.Table=Wa(this),this.Transaction=er(this),this.Version=yr(this),this.WhereClause=Za(this),this.on("versionchange",function(c){c.newVersion>0,i.close({disableAutoOpen:!1})}),this.on("blocked",function(c){!c.newVersion||c.newVersion<c.oldVersion}),this._maxKey=be(n.IDBKeyRange),this._createTransaction=function(c,p,m,f){return new i.Transaction(c,p,m,i._options.chromeTransactionDurability,f)},this._fireOnBlocked=function(c){i.on("blocked").fire(c),ae.filter(function(p){return p.name===i.name&&p!==i&&!p._state.vcFired}).map(function(p){return p.on("versionchange").fire(c)})},this.use(Tr),this.use(Mr),this.use(Ar),this.use(jr),this.use(Pr);var s=new Proxy(this,{get:function(c,p,m){if(p==="_vip")return!0;if(p==="table")return function(x){return nn(i.table(x),s)};var f=Reflect.get(c,p,m);return f instanceof Bi?nn(f,s):p==="tables"?f.map(function(x){return nn(x,s)}):p==="_createTransaction"?function(){var x=f.apply(this,arguments);return nn(x,s)}:f}});this.vip=s,r.forEach(function(c){return c(i)})}return t.prototype.version=function(e){if(isNaN(e)||e<.1)throw new F.Type("Given version is not a positive number");if(e=Math.round(e*10)/10,this.idbdb||this._state.isBeingOpened)throw new F.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);var n=this._versions,i=n.filter(function(a){return a._cfg.version===e})[0];return i||(i=new this.Version(e),n.push(i),n.sort(cr),i.stores({}),this._state.autoSchema=!1,i)},t.prototype._whenReady=function(e){var n=this;return this.idbdb&&(this._state.openComplete||B.letThrough||this._vip)?e():new D(function(i,a){if(n._state.openComplete)return a(new F.DatabaseClosed(n._state.dbOpenError));if(!n._state.isBeingOpened){if(!n._state.autoOpen){a(new F.DatabaseClosed);return}n.open().catch(Z)}n._state.dbReadyPromise.then(i,a)}).then(e)},t.prototype.use=function(e){var n=e.stack,i=e.create,a=e.level,r=e.name;r&&this.unuse({stack:n,name:r});var o=this._middlewares[n]||(this._middlewares[n]=[]);return o.push({stack:n,create:i,level:a==null?10:a,name:r}),o.sort(function(s,c){return s.level-c.level}),this},t.prototype.unuse=function(e){var n=e.stack,i=e.name,a=e.create;return n&&this._middlewares[n]&&(this._middlewares[n]=this._middlewares[n].filter(function(r){return a?r.create!==a:i?r.name!==i:!1})),this},t.prototype.open=function(){var e=this;return Wt(St,function(){return _r(e)})},t.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var e=this._state,n=ae.indexOf(this);if(n>=0&&ae.splice(n,1),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}e.isBeingOpened||(e.dbReadyPromise=new D(function(i){e.dbReadyResolve=i}),e.openCanceller=new D(function(i,a){e.cancelOpen=a}))},t.prototype.close=function(e){var n=e===void 0?{disableAutoOpen:!0}:e,i=n.disableAutoOpen,a=this._state;i?(a.isBeingOpened&&a.cancelOpen(new F.DatabaseClosed),this._close(),a.autoOpen=!1,a.dbOpenError=new F.DatabaseClosed):(this._close(),a.autoOpen=this._options.autoOpen||a.isBeingOpened,a.openComplete=!1,a.dbOpenError=null)},t.prototype.delete=function(e){var n=this;e===void 0&&(e={disableAutoOpen:!0});var i=arguments.length>0&&typeof arguments[0]!="object",a=this._state;return new D(function(r,o){var s=function(){n.close(e);var c=n._deps.indexedDB.deleteDatabase(n.name);c.onsuccess=tt(function(){wr(n._deps,n.name),r()}),c.onerror=xt(o),c.onblocked=n._fireOnBlocked};if(i)throw new F.InvalidArgument("Invalid closeOptions argument to db.delete()");a.isBeingOpened?a.dbReadyPromise.then(s):s()})},t.prototype.backendDB=function(){return this.idbdb},t.prototype.isOpen=function(){return this.idbdb!==null},t.prototype.hasBeenClosed=function(){var e=this._state.dbOpenError;return e&&e.name==="DatabaseClosed"},t.prototype.hasFailed=function(){return this._state.dbOpenError!==null},t.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(t.prototype,"tables",{get:function(){var e=this;return b(this._allTables).map(function(n){return e._allTables[n]})},enumerable:!1,configurable:!0}),t.prototype.transaction=function(){var e=kr.apply(this,arguments);return this._transaction.apply(this,e)},t.prototype._transaction=function(e,n,i){var a=this,r=B.trans;(!r||r.db!==this||e.indexOf("!")!==-1)&&(r=null);var o=e.indexOf("?")!==-1;e=e.replace("!","").replace("?","");var s,c;try{if(c=n.map(function(m){var f=m instanceof a.Table?m.name:m;if(typeof f!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return f}),e=="r"||e===On)s=On;else if(e=="rw"||e==Kn)s=Kn;else throw new F.InvalidArgument("Invalid transaction mode: "+e);if(r){if(r.mode===On&&s===Kn)if(o)r=null;else throw new F.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");r&&c.forEach(function(m){if(r&&r.storeNames.indexOf(m)===-1)if(o)r=null;else throw new F.SubTransaction("Table "+m+" not included in parent transaction.")}),o&&r&&!r.active&&(r=null)}}catch(m){return r?r._promise(null,function(f,x){x(m)}):it(m)}var p=Qi.bind(null,this,s,c,r,i);return r?r._promise(s,p,"lock"):B.trans?Wt(B.transless,function(){return a._whenReady(p)}):this._whenReady(p)},t.prototype.table=function(e){if(!X(this._allTables,e))throw new F.InvalidTable("Table ".concat(e," does not exist"));return this._allTables[e]},t})(),Vr=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",Lr=(function(){function t(e){this._subscribe=e}return t.prototype.subscribe=function(e,n,i){return this._subscribe(!e||typeof e=="function"?{next:e,error:n,complete:i}:e)},t.prototype[Vr]=function(){return this},t})(),an;try{an={indexedDB:y.indexedDB||y.mozIndexedDB||y.webkitIndexedDB||y.msIndexedDB,IDBKeyRange:y.IDBKeyRange||y.webkitIDBKeyRange}}catch{an={indexedDB:null,IDBKeyRange:null}}function ia(t){var e=!1,n,i=new Lr(function(a){var r=hn(t);function o(w){var k=ee();try{r&&ie();var E=Tt(t,w);return r&&(E=E.finally(At)),E}finally{k&&ne()}}var s=!1,c,p={},m={},f={get closed(){return s},unsubscribe:function(){s||(s=!0,c&&c.abort(),x&&Kt.storagemutated.unsubscribe(h))}};a.start&&a.start(f);var x=!1,P=function(){return Tn(g)};function d(){return Jn(m,p)}var h=function(w){Ze(p,w),d()&&P()},g=function(){if(!(s||!an.indexedDB)){p={};var w={};c&&c.abort(),c=new AbortController;var k={subscr:w,signal:c.signal,requery:P,querier:t,trans:null},E=o(k);Promise.resolve(E).then(function(j){e=!0,n=j,!(s||k.signal.aborted)&&(p={},m=w,!ga(m)&&!x&&(Kt(we,h),x=!0),Tn(function(){return!s&&a.next&&a.next(j)}))},function(j){e=!1,["DatabaseClosedError","AbortError"].includes(j==null?void 0:j.name)||s||Tn(function(){s||a.error&&a.error(j)})})}};return setTimeout(P,0),f});return i.hasValue=function(){return e},i.getValue=function(){return n},i}var Ht=jt;rt(Ht,u(u({},Ke),{delete:function(t){var e=new Ht(t,{addons:[]});return e.delete()},exists:function(t){return new Ht(t,{addons:[]}).open().then(function(e){return e.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(t){try{return gr(Ht.dependencies).then(t)}catch{return it(new F.MissingAPI)}},defineClass:function(){function t(e){O(this,e)}return t},ignoreTransaction:function(t){return B.trans?Wt(B.transless,t):t()},vip:Wn,async:function(t){return function(){try{var e=Xn(t.apply(this,arguments));return!e||typeof e.then!="function"?D.resolve(e):e}catch(n){return it(n)}}},spawn:function(t,e,n){try{var i=Xn(t.apply(n,e||[]));return!i||typeof i.then!="function"?D.resolve(i):i}catch(a){return it(a)}},currentTransaction:{get:function(){return B.trans||null}},waitFor:function(t,e){var n=D.resolve(typeof t=="function"?Ht.ignoreTransaction(t):t).timeout(e||6e4);return B.trans?B.trans.waitFor(n):n},Promise:D,debug:{get:function(){return gt},set:function(t){wi(t)}},derive:Xt,extend:O,props:rt,override:pi,Events:ye,on:Kt,liveQuery:ia,extendObservabilitySet:Ze,getByKeyPath:_t,setByKeyPath:lt,delByKeyPath:va,shallowClone:di,deepClone:Ft,getObjectDiff:Gn,cmp:H,asap:fi,minKey:Dn,addons:[],connections:ae,errnames:gn,dependencies:an,cache:Jt,semVer:Ai,version:Ai.split(".").map(function(t){return parseInt(t)}).reduce(function(t,e,n){return t+e/Math.pow(10,n*2)})})),Ht.maxKey=be(Ht.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Kt(we,function(t){if(!Ct){var e;e=new CustomEvent(In,{detail:t}),Ct=!0,dispatchEvent(e),Ct=!1}}),addEventListener(In,function(t){var e=t.detail;Ct||ei(e)}));function ei(t){var e=Ct;try{Ct=!0,Kt.storagemutated.fire(t),Qn(t,!0)}finally{Ct=e}}var Ct=!1,Rt,ni=function(){};typeof BroadcastChannel<"u"&&(ni=function(){Rt=new BroadcastChannel(In),Rt.onmessage=function(t){return t.data&&ei(t.data)}},ni(),typeof Rt.unref=="function"&&Rt.unref(),Kt(we,function(t){Ct||Rt.postMessage(t)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(t){if(!jt.disableBfCache&&t.persisted){Rt==null||Rt.close();for(var e=0,n=ae;e<n.length;e++){var i=n[e];i.close({disableAutoOpen:!1})}}}),addEventListener("pageshow",function(t){!jt.disableBfCache&&t.persisted&&(ni(),ei({all:new ot(-1/0,[[]])}))}));function Nr(t){return new he({add:t})}function qr(t){return new he({remove:t})}function Wr(t,e){return new he({replacePrefix:[t,e]})}D.rejectionMapper=Ea,wi(gt);var Ur=Object.freeze({__proto__:null,Dexie:jt,Entity:Ki,PropModification:he,RangeSet:ot,add:Nr,cmp:H,default:jt,liveQuery:ia,mergeRanges:Ee,rangesOverlap:$i,remove:qr,replacePrefix:Wr});return u(jt,Ur,{default:jt}),jt}))});var sn=eo(ra(),1),oa=Symbol.for("Dexie"),se=globalThis[oa]||(globalThis[oa]=sn.default);if(sn.default.semVer!==se.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${sn.default.semVer} and ${se.semVer}`);var{liveQuery:ro,mergeRanges:oo,rangesOverlap:so,RangeSet:co,cmp:lo,Entity:uo,PropModification:po,replacePrefix:fo,add:mo,remove:vo,DexieYProvider:ho}=se;var sa={name:"vvvfs",version:"0.1.9",description:"\u4E00\u4E2A\u4F7F\u7528IndexDB\u5B9E\u73B0\u7684\u865A\u62DF\u6587\u4EF6\u7CFB\u7EDF",keywords:["Virtual","File","System","IFTC","VV","File","System","vfs","fs"],license:"MIT",author:"IFTC",type:"module",main:"index.js",types:"index.d.ts",scripts:{test:'echo "Error: no test specified" && exit 1',build:"node esbuild.config.js"},dependencies:{dexie:"^4.3.0",esbuild:"^0.27.3",mime:"^4.1.0"},repository:{type:"git",url:"https://github.com/IFTC-XLKJ/vvvfs.git"}};var ca={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.autodesk.fbx":["fbx"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dcmp+xml":["dcmp"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.slides":["ggs"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.drawing":["gdraw"],"application/vnd.google-apps.form":["gform"],"application/vnd.google-apps.jam":["gjam"],"application/vnd.google-apps.map":["gmap"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.script":["gscript"],"application/vnd.google-apps.site":["gsite"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.gov.sk.xmldatacontainer+xml":["xdcf"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-visio.viewer":["vdx"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.nato.bindingdataobject+xml":["bdo"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.procrate.brushset":["brushset"],"application/vnd.procreate.brush":["brush"],"application/vnd.procreate.dream":["drm"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw","vsdx","vtx"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blender":["blend"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-compressed":["*rar"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-ipynb+json":["ipynb"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zip-compressed":["*zip"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.blockfact.facti":["facti"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-adobe-dng":["dng"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.bary":["bary"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["*mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(ca);var cn=ca;var la={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(la);var ln=la;var vt=function(I,l,u,v){if(u==="a"&&!v)throw new TypeError("Private accessor was defined without a getter");if(typeof l=="function"?I!==l||!v:!l.has(I))throw new TypeError("Cannot read private member from an object whose class did not declare it");return u==="m"?v:u==="a"?v.call(I):v?v.value:l.get(I)},ce,Pe,Yt,ci=class{constructor(...l){ce.set(this,new Map),Pe.set(this,new Map),Yt.set(this,new Map);for(let u of l)this.define(u)}define(l,u=!1){for(let[v,y]of Object.entries(l)){v=v.toLowerCase(),y=y.map(O=>O.toLowerCase()),vt(this,Yt,"f").has(v)||vt(this,Yt,"f").set(v,new Set);let b=vt(this,Yt,"f").get(v),S=!0;for(let O of y){let L=O.startsWith("*");if(O=L?O.slice(1):O,b==null||b.add(O),S&&vt(this,Pe,"f").set(v,O),S=!1,L)continue;let J=vt(this,ce,"f").get(O);if(J&&J!=v&&!u)throw new Error(`"${v} -> ${O}" conflicts with "${J} -> ${O}". Pass \`force=true\` to override this definition.`);vt(this,ce,"f").set(O,v)}}return this}getType(l){var S;if(typeof l!="string")return null;let u=l.replace(/^.*[/\\]/s,"").toLowerCase(),v=u.replace(/^.*\./s,"").toLowerCase(),y=u.length<l.length;return!(v.length<u.length-1)&&y?null:(S=vt(this,ce,"f").get(v))!=null?S:null}getExtension(l){var u,v;return typeof l!="string"?null:(l=(u=l==null?void 0:l.split)==null?void 0:u.call(l,";")[0],(v=l&&vt(this,Pe,"f").get(l.trim().toLowerCase()))!=null?v:null)}getAllExtensions(l){var u;return typeof l!="string"?null:(u=vt(this,Yt,"f").get(l.toLowerCase()))!=null?u:null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let l of vt(this,Yt,"f").values())Object.freeze(l);return this}_getTestState(){return{types:vt(this,ce,"f"),extensions:vt(this,Pe,"f")}}};ce=new WeakMap,Pe=new WeakMap,Yt=new WeakMap;var Se=ci;var jo=new Se(ln,cn)._freeze();var un=new Se(ln,cn),ht=class extends Error{constructor(l,u){super(u),this.name="VVVFS"+l+"Error"}},li=class{constructor(...l){mt(this,"_dbname",zt.defaultDBName);mt(this,"_path");mt(this,"_vvvfs",new zt(this._dbname));this._path=Q(...l)}get path(){return this._path}set path(l){this._path=Q(l)}set dbname(l){this._dbname=l,this._vvvfs=new zt(l)}get dbname(){return this._dbname}set options(l){this._vvvfs.options=l}get options(){return this._vvvfs.options}async read(){return await this._vvvfs.read(this._path)}async readText(){return await this._vvvfs.readText(this._path)}async readJSON(){return await this._vvvfs.readJson(this._path)}async readChunk(l,u){return await this._vvvfs.readChunk(this._path,l,u)}async readTextChunk(l,u){return await this._vvvfs.readTextChunk(this._path,l,u)}async write(l){return await this._vvvfs.write(this._path,l)}async writeText(l){return await this._vvvfs.writeText(this._path,l)}async writeJSON(l,u=!0){return await this._vvvfs.writeJson(this._path,l,u)}async writeJsonValue(l,u){return await this._vvvfs.writeJsonValue(this._path,l,u)}async readJsonValue(l){return await this._vvvfs.readJsonValue(this._path,l)}async append(l){return await this._vvvfs.append(this._path,l)}async appendText(l){return await this._vvvfs.appendText(this._path,l)}async createFile(){return await this._vvvfs.createFile(this._path)}async createDir(){return await this._vvvfs.createDir(this._path)}async delete(){return await this._vvvfs.delete(this._path)}async exists(){return await this._vvvfs.exists(this._path)}async isFile(){return await this._vvvfs.isFile(this._path)}async isDir(){return await this._vvvfs.isDir(this._path)}async list(){return await this._vvvfs.list(this._path)}async rename(l){return await this._vvvfs.rename(this._path,l)}async move(l){return await this._vvvfs.move(this._path,l)}async copy(l){return await this._vvvfs.copy(this._path,l)}async search(l){return await this._vvvfs.search(this._path,l)}watch(l){return this._vvvfs.watch(this._path,l)}async lock(){return await this._vvvfs.lock(this._path)}async unlock(){return await this._vvvfs.unlock(this._path)}async isLocked(){return await this._vvvfs.isLocked(this._path)}async save(l){return await this._vvvfs.saveFile(this._path,l)}async download(l,u={}){return await this._vvvfs.downloadFile(l,this._path,u)}},nt=class nt{constructor(...l){mt(this,"_path");this._path=nt.resolve(...l)}get path(){return this._path}set path(l){this._path=nt.resolve(l)}get name(){return nt.basename(this._path)}get parent(){return nt.dirname(this._path)}get ext(){return nt.extname(this._path)}get root(){return nt.parse(this._path).root}isAbsolute(){return nt.isAbsolute(this._path)}join(...l){return nt.join(this._path,...l)}toString(){return this._path}static join(...l){return Q(...l)}static resolve(...l){return l.length===0?"/":Q(...l)}static normalize(l){if(l.length===0)return".";let u=l.startsWith("/"),v=l.length>1&&l.endsWith("/"),y=[];for(let S of l.split("/"))S===""||S==="."||(S===".."?y.length>0&&y[y.length-1]!==".."?y.pop():u||y.push(".."):y.push(S));let b=y.join("/");return u?b="/"+b:b.length===0&&(b="."),v&&b!=="/"&&b!=="."&&!b.endsWith("/")&&(b+="/"),b}static isAbsolute(l){return l.length>0&&l.startsWith("/")}static basename(l,u){if(l.length===0)return"";let v=nt.normalize(l);if(v==="/")return"/";let y=v.endsWith("/")?v.slice(0,-1):v;return y=y.slice(y.lastIndexOf("/")+1),u&&y!==u&&y.endsWith(u)&&(y=y.slice(0,y.length-u.length)),y}static dirname(l){let u=nt.normalize(l);if(u==="/"||u===".")return u;let v=u.split("/");v.pop();let y=v.join("/");return y.length===0?nt.isAbsolute(u)?"/":".":y}static extname(l){let u=nt.basename(l),v=u.lastIndexOf(".");return v<=0?"":u.slice(v)}static parse(l){let u=nt.basename(l),v=nt.extname(u);return{root:nt.isAbsolute(l)?"/":"",dir:nt.dirname(l),base:u,ext:v,name:v.length>0?u.slice(0,u.length-v.length):u}}static relative(l,u){let v=nt.resolve(l).split("/").filter(L=>L.length>0),y=nt.resolve(u).split("/").filter(L=>L.length>0),b=0;for(;b<v.length&&b<y.length&&v[b]===y[b];)b++;let S=new Array(Math.max(0,v.length-b)).fill("..").join("/"),O=y.slice(b).join("/");return S.length>0&&O.length>0?S+"/"+O:S.length>0?S:O}};mt(nt,"sep","/"),mt(nt,"delimiter",":");var fn=nt,io=sa.version,U,Bt,R,ft,Te,G,Ae,pn,ua,pa,Qt=class Qt{constructor(l,u={throwError:!1,init:!1}){on(this,R);on(this,U);mt(this,"options");on(this,Bt,{});this.options=u;try{ri(this,U,new se(l||Qt.defaultDBName)),q(this,U).version(1).stores({files:"++id, name, path, type, file, [name+path+type]"}),q(this,U).version(2).stores({files:"++id, name, path, type, file, locked, [name+path+type]"}).upgrade(async v=>{await v.table("files").toCollection().modify(y=>{y.locked===void 0&&(y.locked=!1)})}),this.options.init&&this.init(this.options.init==!0?"root":this.options.init)}catch{throw new ht("CreateDatabase","\u521B\u5EFA\u6570\u636E\u5E93\u5931\u8D25")}}async init(l){let v=["root","boot","bin","dev","etc","home","lib","lib64","media","mnt","opt","proc","run","sbin","srv","sys","tmp","usr","var"].map(y=>({name:y,path:"/",type:"dir",file:new File([],y),locked:!1}));v.push({name:l||"root",path:"/home",type:"dir",file:new File([],"home"),locked:!1});try{for(let y of v)await this.exists(y.path)||await q(this,U).files.put(y)}catch(y){throw new ht("InitFiles","\u521D\u59CB\u5316\u6587\u4EF6\u5931\u8D25"+y)}}async reset(){try{await q(this,U).delete(),ri(this,U,new se(q(this,U).name)),q(this,U).version(1).stores({files:"++id, name, path, type, file, [name+path+type]"}),q(this,U).version(2).stores({files:"++id, name, path, type, file, locked, [name+path+type]"})}catch(l){throw new ht("ResetDatabase","\u91CD\u7F6E\u6570\u636E\u5E93\u5931\u8D25"+l)}}async createFile(l){return M(this,R,G).call(this,"createFile",async()=>{let u=Q(l);if(!await M(this,R,ft).call(this,u,"create"))return!1;if(await this.exists(u))return!0;let{name:v,parent:y}=ct(u);return await this.exists(y)||await this.createDir(y),await q(this,U).files.add({name:v,path:y,type:"file",file:new File([],v,{type:un.getType(u)||"application/octet-stream"}),locked:!1}),!0},!1)}async createDir(l){return M(this,R,G).call(this,"createDir",async()=>{let u=Q(l);if(!await M(this,R,ft).call(this,u,"create"))return!1;if(await this.exists(u))return!0;let{name:v,parent:y}=ct(u);if(!await this.exists(y))if(y==="/"){if(await q(this,U).files.add({name:"",path:"/",type:"dir",file:new File([],""),locked:!1}),v==="")return!0}else await this.createDir(y);return await q(this,U).files.add({name:v,path:y,type:"dir",file:new File([],v),locked:!1}),!0},!1)}async exists(l){return M(this,R,G).call(this,"exists",async()=>{let{name:u,parent:v}=ct(l);return await q(this,U).files.where({name:u,path:v}).count()>0},!1)}async write(l,u){return M(this,R,G).call(this,"write",async()=>{let v=Q(l);return await M(this,R,ft).call(this,v,"write")?await M(this,R,Ae).call(this,v,u):!1},!1)}async writeText(l,u){return M(this,R,G).call(this,"writeText",async()=>{let v=new Blob([u],{type:"text/plain"});return await this.write(l,v)},!1)}async writeJson(l,u,v=!0){return M(this,R,G).call(this,"writeJson",async()=>await this.writeText(l,JSON.stringify(u,null,v?4:void 0)),!1)}async append(l,u){return M(this,R,G).call(this,"append",async()=>{let v=Q(l);if(!await M(this,R,ft).call(this,v,"append"))return!1;let y=await M(this,R,pn).call(this,v);if(y){let b=new Blob([y,u],{type:"application/octet-stream"});return await M(this,R,Ae).call(this,v,b)}return await M(this,R,Ae).call(this,v,u)},!1)}async appendText(l,u){return M(this,R,G).call(this,"appendText",async()=>{let v=new Blob([u],{type:"text/plain"});return await this.append(l,v)},!1)}async writeJsonValue(l,u,v){return M(this,R,G).call(this,"writeJsonValue",async()=>{var S;let y=(S=await this.readJson(l))!=null?S:{},b=Array.isArray(u)?u:[u];if(b.length>0){let O=y;for(let L=0;L<b.length-1;L++){let J=b[L],X=b[L+1];(O[J]===void 0||O[J]===null||typeof O[J]!="object")&&(O[J]=typeof X=="number"?[]:{}),O=O[J]}O[b[b.length-1]]=v}else y=v;return await this.writeJson(l,y)},!1)}async readJsonValue(l,u){return M(this,R,G).call(this,"readJsonValue",async()=>{let v=await this.readJson(l);if(v==null)return null;let y=Array.isArray(u)?u:[u],b=v;for(let S of y){if(b==null)return null;b=b[S]}return b===void 0?null:b},null)}async read(l){return M(this,R,G).call(this,"read",async()=>{let u=Q(l);return await M(this,R,ft).call(this,u,"read")?await M(this,R,pn).call(this,u):null},null)}async readText(l){return M(this,R,G).call(this,"readText",async()=>{let u=await this.read(l);return u?await u.text():null},null)}async readJson(l){return M(this,R,G).call(this,"readJson",async()=>{let u=await this.readText(l);if(!u)return null;try{return JSON.parse(u)}catch(v){if(this.options.throwError)throw new ht("Read","\u89E3\u6790JSON\u5931\u8D25"+v);return null}},null)}async readChunk(l,u,v){return M(this,R,G).call(this,"readChunk",async()=>{var b;let y=await this.read(l);return(b=y==null?void 0:y.slice(u,v))!=null?b:null},null)}async readTextChunk(l,u,v){return M(this,R,G).call(this,"readTextChunk",async()=>{let y=await this.readChunk(l,u,v);return y?await y.text():null},null)}async isFile(l){return M(this,R,G).call(this,"isFile",async()=>{let{name:u,parent:v}=ct(l);return await q(this,U).files.where({name:u,path:v,type:"file"}).count()>0},!1)}async isDir(l){return M(this,R,G).call(this,"isDir",async()=>{let{name:u,parent:v}=ct(l);return await q(this,U).files.where({name:u,path:v,type:"dir"}).count()>0},!1)}async list(l){return M(this,R,G).call(this,"list",async()=>{let u=Q(l);return await M(this,R,ft).call(this,u,"list")?await this.exists(u)?await this.isDir(u)?(await q(this,U).files.where({path:u}).toArray()).map(v=>v.name).filter(v=>v!==""):[]:[]:[]},[])}async rename(l,u){return M(this,R,G).call(this,"rename",async()=>{let v=Q(l);if(!await M(this,R,ft).call(this,v,"rename")||!await this.exists(v))return!1;let{name:y,parent:b}=ct(v),S=Q(b,u);if(S===v)return!0;if(await this.exists(S))return!1;let O=await q(this,U).files.where({path:b,name:y}).first();if(!O)return!1;if(O.type==="dir"){let L=await q(this,U).files.filter(J=>J.path===v||J.path.startsWith(v+"/")).toArray();for(let J of L){let X=J.path.slice(v.length),rt=Q(S+X);await q(this,U).files.update(J.id,{path:rt})}}return await q(this,U).files.update(O.id,{name:u,path:b}),!0},!1)}async delete(l){return M(this,R,G).call(this,"delete",async()=>{let u=Q(l);if(!await M(this,R,ft).call(this,u,"delete")||!await this.exists(u))return!1;let{name:v,parent:y}=ct(u);if(await this.isDir(u)){let S=await this.list(u);for(let L of S)await this.delete(Q(u,L));let O=await q(this,U).files.where({name:v,path:y,type:"dir"}).first();return O&&await q(this,U).files.delete(O.id),!0}let b=await q(this,U).files.where({name:v,path:y,type:"file"}).first();return b&&await q(this,U).files.delete(b.id),!0},!1)}async move(l,u){return M(this,R,G).call(this,"move",async()=>{let v=Q(l),y=Q(u);if(!await M(this,R,ft).call(this,v,"move"))return!1;if(v===y)return!0;if(await this.exists(y)||!await this.exists(v)||y.startsWith(v+"/"))return!1;let{name:b,parent:S}=ct(v),{name:O,parent:L}=ct(y);if(await this.isDir(v)){await this.createDir(y);let X=await this.list(v);for(let le of X)await this.move(Q(v,le),Q(y,le));let rt=await q(this,U).files.where({name:b,path:S,type:"dir"}).first();return rt&&await q(this,U).files.delete(rt.id),!0}await this.createDir(L);let J=await q(this,U).files.where({name:b,path:S,type:"file"}).first();return J?(await q(this,U).files.update(J.id,{name:O,path:L}),!0):!1},!1)}async copy(l,u){return M(this,R,G).call(this,"copy",async()=>{let v=Q(l),y=Q(u);if(!await M(this,R,ft).call(this,v,"copy")||await this.exists(y)||!await this.exists(v)||y.startsWith(v+"/"))return!1;let{name:b,parent:S}=ct(v),{name:O,parent:L}=ct(y);if(await this.isDir(v)){await this.createDir(y);let X=await this.list(v);for(let rt of X)await this.copy(Q(v,rt),Q(y,rt));return!0}let J=await q(this,U).files.where({name:b,path:S,type:"file"}).first();return J?(await q(this,U).files.add({name:O,path:L,type:J.type,file:J.file,locked:!1}),!0):!1},!1)}async search(l,u){return M(this,R,G).call(this,"search",async()=>{if(!await this.isDir(l))return null;let v=this,y=await this.list(l);return await b(l,y);async function b(S,O){let L=[];for(let J of O){if(J==="")continue;let X=Q(S,J);await v.isDir(X)?(J.includes(u)&&L.push(X+"/"),L.push(...await b(X,await v.list(X)))):await v.isFile(X)&&J.includes(u)&&L.push(X)}return L}},null)}watch(l,u){l=Q(l),q(this,Bt)[l]||(q(this,Bt)[l]=[]),q(this,Bt)[l].push(u)}async lock(l){return M(this,R,G).call(this,"lock",async()=>{let u=Q(l);if(!await this.exists(u)||await M(this,R,Te).call(this,u))return!1;let{name:v,parent:y}=ct(u),b=await q(this,U).files.where({name:v,path:y}).first();return b!=null&&b.id?(await q(this,U).files.update(b.id,{locked:!0}),!0):!1},!1)}async unlock(l){return M(this,R,G).call(this,"unlock",async()=>{let u=Q(l);if(!await this.exists(u)||!await M(this,R,Te).call(this,u))return!1;let{name:v,parent:y}=ct(u),b=await q(this,U).files.where({name:v,path:y}).first();return b!=null&&b.id?(await q(this,U).files.update(b.id,{locked:!1}),!0):!1},!1)}async isLocked(l){return M(this,R,G).call(this,"isLocked",async()=>{let u=Q(l);return await this.exists(u)?await M(this,R,Te).call(this,u):!1},!1)}async saveFile(l,u){return M(this,R,G).call(this,"saveFile",async()=>{let v=Q(l);if(!await M(this,R,ft).call(this,v,"read"))return!1;let y=await M(this,R,pn).call(this,v);if(!y)return!1;let b=document.createElement("a");return b.href=URL.createObjectURL(y),b.download=u||fn.basename(v),b.click(),URL.revokeObjectURL(b.href),!0},!1)}async downloadFile(l,u,v={}){return M(this,R,G).call(this,"downloadFile",async()=>{let y=Q(u);if(!await M(this,R,ft).call(this,y,"write"))return!1;let b=(v.mode||"fetch")==="xhr"?await M(this,R,pa).call(this,l,v):await M(this,R,ua).call(this,l,v);if(!b)return!1;let S=new Blob([b],{type:un.getType(y)||"application/octet-stream"}),O=await M(this,R,Ae).call(this,y,S);return O&&v.onSuccess&&v.onSuccess(O),O},!1)}static registerMIMEType(l,u){un.define({[l]:u})}};U=new WeakMap,Bt=new WeakMap,R=new WeakSet,ft=async function(l,u){if(q(this,Bt)[l]){for(let v of q(this,Bt)[l])if(await v(u)){if(this.options.throwError)throw new ht(u.charAt(0).toUpperCase()+u.slice(1),`${u}\u64CD\u4F5C\u88AB\u76D1\u542C\u5668\u53D6\u6D88`);return!1}}if(await M(this,R,Te).call(this,l)){if(this.options.throwError)throw new ht(u.charAt(0).toUpperCase()+u.slice(1),"\u6587\u4EF6\u5DF2\u88AB\u9501\u5B9A");return!1}return!0},Te=async function(l){let{name:u,parent:v}=ct(l),y=await q(this,U).files.where({name:u,path:v}).first();return!!(y!=null&&y.locked)},G=async function(l,u,v){try{return await u()}catch(y){if(y instanceof ht)throw y;if(this.options.throwError)throw new ht(l.charAt(0).toUpperCase()+l.slice(1),`${l}\u5931\u8D25${y}`);return v}},Ae=async function(l,u){if(!await this.exists(l)&&!await this.createFile(l)||await this.isDir(l))return!1;let{name:v,parent:y}=ct(l),b=new File([u],v,{type:un.getType(l)||"application/octet-stream"}),S=await q(this,U).files.where({name:v,path:y}).first();return S?(await q(this,U).files.put({...S,file:b}),!0):!1},pn=async function(l){var y,b;if(!await this.exists(l))return null;let{name:u,parent:v}=ct(l);return(b=(y=await q(this,U).files.where({name:u,path:v}).first())==null?void 0:y.file)!=null?b:null},ua=async function(l,u){let v=l instanceof Request?l:new Request(l,{headers:u.headers}),y=await fetch(v);if(!y.ok){let S=new Error(`\u4E0B\u8F7D\u5931\u8D25\uFF0CHTTP ${y.status}`);if(u.onError)return u.onError(S),null;throw S}let b=Number(y.headers.get("Content-Length")||0);if(u.onProgress&&y.body&&b>0){let S=y.body.getReader(),O=[],L=0;for(;;){let{done:J,value:X}=await S.read();if(J)break;let rt=X;O.push(rt),L+=rt.length,u.onProgress(Math.round(L/b*100))}return new Blob(O)}return await y.blob()},pa=function(l,u){return new Promise((v,y)=>{let b=l instanceof URL?l.href:l instanceof Request?l.url:l,S=l instanceof Request?l.headers:u.headers,O=new XMLHttpRequest;if(O.open("GET",b),S instanceof Headers)S.forEach((L,J)=>{O.setRequestHeader(J,L)});else if(S)for(let[L,J]of Object.entries(S))O.setRequestHeader(L,J);O.responseType="blob",O.onprogress=L=>{u.onProgress&&L.total>0&&u.onProgress(Math.round(L.loaded/L.total*100))},O.onload=()=>{if(O.status>=200&&O.status<300)v(O.response);else{let L=new Error(`\u4E0B\u8F7D\u5931\u8D25\uFF0CHTTP ${O.status}`);u.onError?(u.onError(L),v(null)):y(L)}},O.onerror=()=>{let L=new Error("\u4E0B\u8F7D\u5931\u8D25");u.onError?(u.onError(L),v(null)):y(L)};try{O.send()}catch(L){u.onError?(u.onError(L),v(null)):y(L)}})},mt(Qt,"defaultDBName","vvvfs"),mt(Qt,"version"),mt(Qt,"File",li),mt(Qt,"path",fn);var zt=Qt;function ct(I){I=Q(I);let l=I.split("/"),u=[];for(let b=0;b<l.length;b++){if(l[b].length>255)throw new ht("ParsePath","\u6587\u4EF6\u540D\u8FC7\u957F");l[b]&&u.push(l[b])}let v=u.pop()||"",y="/"+u.join("/");if(Q(y,v).length>4096)throw new ht("ParsePath","\u6587\u4EF6\u8DEF\u5F84\u8FC7\u957F");return{name:v,parent:y}}function Q(...I){let l=I.map(S=>String(S)).filter(S=>S.length>0);if(l.length===0)return".";let u=l[0].startsWith("/"),v=l.join("/").split("/"),y=[];for(let S of v)S===""||S==="."||(S===".."?y.length>0&&y[y.length-1]!==".."?y.pop():u||y.push(".."):y.push(S));let b=y.join("/");return u&&(b="/"+b),b.startsWith("/")?b:"/"+b||(u?"/":".")}Object.defineProperty(zt,"version",{value:io,writable:!1,enumerable:!0,configurable:!1});Object.defineProperty(zt,"author",{value:"IFTC",writable:!1,enumerable:!0,configurable:!1});globalThis.VVVFS=zt;})();
|
package/index.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Dexie, Table } from "dexie";
|
|
2
2
|
import packageJson from "./package.json" with { type: "json" };
|
|
3
|
-
import
|
|
3
|
+
import { Mime } from "mime";
|
|
4
|
+
import standardTypes from "mime/types/standard.js";
|
|
5
|
+
import otherTypes from "mime/types/other.js";
|
|
6
|
+
|
|
7
|
+
const mime = new Mime(standardTypes, otherTypes);
|
|
4
8
|
|
|
5
9
|
/**
|
|
6
10
|
* 虚拟文件系统
|
|
@@ -44,6 +48,22 @@ export interface VVVFSOptions {
|
|
|
44
48
|
init: boolean | string;
|
|
45
49
|
}
|
|
46
50
|
|
|
51
|
+
/**
|
|
52
|
+
* 虚拟文件系统下载配置项
|
|
53
|
+
* @param headers 请求头
|
|
54
|
+
* @param mode 下载模式(fetch或xhr)
|
|
55
|
+
* @param onProgress 下载进度事件
|
|
56
|
+
* @param onError 下载出错事件
|
|
57
|
+
* @param onSuccess 下载成功事件
|
|
58
|
+
*/
|
|
59
|
+
export interface VVVFSDownloadOptions {
|
|
60
|
+
headers?: Record<string, string>;
|
|
61
|
+
mode?: "fetch" | "xhr";
|
|
62
|
+
onProgress?: (progress: number) => void;
|
|
63
|
+
onError?: (error: any) => void;
|
|
64
|
+
onSuccess?: (success: boolean) => void;
|
|
65
|
+
}
|
|
66
|
+
|
|
47
67
|
/**
|
|
48
68
|
* 虚拟文件系统错误类
|
|
49
69
|
*/
|
|
@@ -289,6 +309,21 @@ class VVVFSFile {
|
|
|
289
309
|
async isLocked() {
|
|
290
310
|
return await this._vvvfs.isLocked(this._path);
|
|
291
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* 保存文件
|
|
314
|
+
* @param name 文件名
|
|
315
|
+
*/
|
|
316
|
+
async save(name: string) {
|
|
317
|
+
return await this._vvvfs.saveFile(this._path, name);
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* 下载文件
|
|
321
|
+
* @param url 文件链接
|
|
322
|
+
* @param options 下载配置项
|
|
323
|
+
*/
|
|
324
|
+
async download(url: string | URL | Request, options: VVVFSDownloadOptions = {}) {
|
|
325
|
+
return await this._vvvfs.downloadFile(url, this._path, options);
|
|
326
|
+
}
|
|
292
327
|
}
|
|
293
328
|
|
|
294
329
|
/**
|
|
@@ -1297,6 +1332,175 @@ class VVVFS {
|
|
|
1297
1332
|
return await this.#isLocked(targetPath);
|
|
1298
1333
|
}, false);
|
|
1299
1334
|
}
|
|
1335
|
+
/**
|
|
1336
|
+
* 保存文件
|
|
1337
|
+
* @param path 文件路径
|
|
1338
|
+
* @param name 文件名
|
|
1339
|
+
*/
|
|
1340
|
+
async saveFile(path: string, name?: string) {
|
|
1341
|
+
return this.#withErrorHandling("saveFile", async () => {
|
|
1342
|
+
const targetPath = joinPath(path);
|
|
1343
|
+
if (!(await this.#checkAccess(targetPath, "read"))) return false;
|
|
1344
|
+
const file = await this.#internalRead(targetPath);
|
|
1345
|
+
if (!file) {
|
|
1346
|
+
console.warn("文件不存在");
|
|
1347
|
+
return false;
|
|
1348
|
+
}
|
|
1349
|
+
const a = document.createElement("a");
|
|
1350
|
+
a.href = URL.createObjectURL(file);
|
|
1351
|
+
a.download = name || Path.basename(targetPath);
|
|
1352
|
+
a.click();
|
|
1353
|
+
URL.revokeObjectURL(a.href);
|
|
1354
|
+
return true;
|
|
1355
|
+
}, false);
|
|
1356
|
+
}
|
|
1357
|
+
/**
|
|
1358
|
+
* 下载文件
|
|
1359
|
+
* @param url 文件链接
|
|
1360
|
+
* @param path 保存路径
|
|
1361
|
+
* @param options 下载配置项
|
|
1362
|
+
*/
|
|
1363
|
+
async downloadFile(
|
|
1364
|
+
url: string | URL | Request,
|
|
1365
|
+
path: string,
|
|
1366
|
+
options: VVVFSDownloadOptions = {},
|
|
1367
|
+
) {
|
|
1368
|
+
return this.#withErrorHandling("downloadFile", async () => {
|
|
1369
|
+
const targetPath = joinPath(path);
|
|
1370
|
+
if (!(await this.#checkAccess(targetPath, "write"))) return false;
|
|
1371
|
+
const content =
|
|
1372
|
+
(options.mode || "fetch") === "xhr"
|
|
1373
|
+
? await this.#downloadWithXHR(url, options)
|
|
1374
|
+
: await this.#downloadWithFetch(url, options);
|
|
1375
|
+
if (!content) return false;
|
|
1376
|
+
const blob = new Blob([content], {
|
|
1377
|
+
type: mime.getType(targetPath) || "application/octet-stream",
|
|
1378
|
+
});
|
|
1379
|
+
const success = await this.#internalWrite(targetPath, blob);
|
|
1380
|
+
if (success && options.onSuccess) {
|
|
1381
|
+
options.onSuccess(success);
|
|
1382
|
+
}
|
|
1383
|
+
return success;
|
|
1384
|
+
}, false);
|
|
1385
|
+
}
|
|
1386
|
+
/**
|
|
1387
|
+
* 使用fetch下载文件
|
|
1388
|
+
* @param url 文件链接
|
|
1389
|
+
* @param options 下载配置项
|
|
1390
|
+
*/
|
|
1391
|
+
async #downloadWithFetch(
|
|
1392
|
+
url: string | URL | Request,
|
|
1393
|
+
options: VVVFSDownloadOptions,
|
|
1394
|
+
): Promise<Blob | null> {
|
|
1395
|
+
const request =
|
|
1396
|
+
url instanceof Request
|
|
1397
|
+
? url
|
|
1398
|
+
: new Request(url, { headers: options.headers });
|
|
1399
|
+
const response = await fetch(request);
|
|
1400
|
+
if (!response.ok) {
|
|
1401
|
+
const error = new Error(`下载失败,HTTP ${response.status}`);
|
|
1402
|
+
if (options.onError) {
|
|
1403
|
+
options.onError(error);
|
|
1404
|
+
return null;
|
|
1405
|
+
}
|
|
1406
|
+
throw error;
|
|
1407
|
+
}
|
|
1408
|
+
const total = Number(response.headers.get("Content-Length") || 0);
|
|
1409
|
+
if (options.onProgress && response.body && total > 0) {
|
|
1410
|
+
const reader = response.body.getReader();
|
|
1411
|
+
const chunks: Uint8Array<ArrayBuffer>[] = [];
|
|
1412
|
+
let loaded = 0;
|
|
1413
|
+
while (true) {
|
|
1414
|
+
const { done, value } = await reader.read();
|
|
1415
|
+
if (done) break;
|
|
1416
|
+
const chunk = value as Uint8Array<ArrayBuffer>;
|
|
1417
|
+
chunks.push(chunk);
|
|
1418
|
+
loaded += chunk.length;
|
|
1419
|
+
options.onProgress(Math.round((loaded / total) * 100));
|
|
1420
|
+
}
|
|
1421
|
+
return new Blob(chunks);
|
|
1422
|
+
}
|
|
1423
|
+
return await response.blob();
|
|
1424
|
+
}
|
|
1425
|
+
/**
|
|
1426
|
+
* 使用XHR下载文件
|
|
1427
|
+
* @param url 文件链接
|
|
1428
|
+
* @param options 下载配置项
|
|
1429
|
+
*/
|
|
1430
|
+
#downloadWithXHR(
|
|
1431
|
+
url: string | URL | Request,
|
|
1432
|
+
options: VVVFSDownloadOptions,
|
|
1433
|
+
): Promise<Blob | null> {
|
|
1434
|
+
return new Promise((resolve, reject) => {
|
|
1435
|
+
const requestUrl =
|
|
1436
|
+
url instanceof URL
|
|
1437
|
+
? url.href
|
|
1438
|
+
: url instanceof Request
|
|
1439
|
+
? url.url
|
|
1440
|
+
: url;
|
|
1441
|
+
const headers = url instanceof Request ? url.headers : options.headers;
|
|
1442
|
+
const xhr = new XMLHttpRequest();
|
|
1443
|
+
xhr.open("GET", requestUrl);
|
|
1444
|
+
if (headers instanceof Headers) {
|
|
1445
|
+
headers.forEach((value, key) => {
|
|
1446
|
+
xhr.setRequestHeader(key, value);
|
|
1447
|
+
});
|
|
1448
|
+
} else if (headers) {
|
|
1449
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
1450
|
+
xhr.setRequestHeader(key, value);
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
xhr.responseType = "blob";
|
|
1454
|
+
xhr.onprogress = (event) => {
|
|
1455
|
+
if (options.onProgress && event.total > 0) {
|
|
1456
|
+
options.onProgress(
|
|
1457
|
+
Math.round((event.loaded / event.total) * 100),
|
|
1458
|
+
);
|
|
1459
|
+
}
|
|
1460
|
+
};
|
|
1461
|
+
xhr.onload = () => {
|
|
1462
|
+
if (xhr.status >= 200 && xhr.status < 300) {
|
|
1463
|
+
resolve(xhr.response as Blob);
|
|
1464
|
+
} else {
|
|
1465
|
+
const error = new Error(`下载失败,HTTP ${xhr.status}`);
|
|
1466
|
+
if (options.onError) {
|
|
1467
|
+
options.onError(error);
|
|
1468
|
+
resolve(null);
|
|
1469
|
+
} else {
|
|
1470
|
+
reject(error);
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
};
|
|
1474
|
+
xhr.onerror = () => {
|
|
1475
|
+
const error = new Error("下载失败");
|
|
1476
|
+
if (options.onError) {
|
|
1477
|
+
options.onError(error);
|
|
1478
|
+
resolve(null);
|
|
1479
|
+
} else {
|
|
1480
|
+
reject(error);
|
|
1481
|
+
}
|
|
1482
|
+
};
|
|
1483
|
+
try {
|
|
1484
|
+
xhr.send();
|
|
1485
|
+
} catch (error) {
|
|
1486
|
+
if (options.onError) {
|
|
1487
|
+
options.onError(error);
|
|
1488
|
+
resolve(null);
|
|
1489
|
+
} else {
|
|
1490
|
+
reject(error);
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
});
|
|
1494
|
+
}
|
|
1495
|
+
/**
|
|
1496
|
+
* 注册MIME类型
|
|
1497
|
+
* @param mimetype MIME类型
|
|
1498
|
+
* @param extensions 扩展名数组
|
|
1499
|
+
* @example VVVFS.registerMIMEType("example/abc", ["example", "example2"])
|
|
1500
|
+
*/
|
|
1501
|
+
static registerMIMEType(mimetype: string, extensions: string[]) {
|
|
1502
|
+
return mime.define({ [mimetype]: extensions });
|
|
1503
|
+
}
|
|
1300
1504
|
}
|
|
1301
1505
|
/**
|
|
1302
1506
|
* 解析路径
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Dexie, Table } from "dexie";
|
|
2
|
+
import { Mime } from "mime";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* VVVFS 类构造签名(避免在内 declare global 中自引用)
|
|
@@ -62,6 +63,22 @@ export interface VVVFSOptions {
|
|
|
62
63
|
init: boolean | string;
|
|
63
64
|
}
|
|
64
65
|
|
|
66
|
+
/**
|
|
67
|
+
* 虚拟文件系统下载配置项
|
|
68
|
+
* @param headers 请求头
|
|
69
|
+
* @param mode 下载模式(fetch或xhr)
|
|
70
|
+
* @param onProgress 下载进度事件
|
|
71
|
+
* @param onError 下载出错事件
|
|
72
|
+
* @param onSuccess 下载成功事件
|
|
73
|
+
*/
|
|
74
|
+
export interface VVVFSDownloadOptions {
|
|
75
|
+
headers?: Record<string, string>;
|
|
76
|
+
mode?: "fetch" | "xhr";
|
|
77
|
+
onProgress?: (progress: number) => void;
|
|
78
|
+
onError?: (error: any) => void;
|
|
79
|
+
onSuccess?: (success: boolean) => void;
|
|
80
|
+
}
|
|
81
|
+
|
|
65
82
|
/**
|
|
66
83
|
* 虚拟文件系统错误类
|
|
67
84
|
*/
|
|
@@ -225,6 +242,17 @@ export class VVVFSFile {
|
|
|
225
242
|
* 判断文件是否已锁定
|
|
226
243
|
*/
|
|
227
244
|
isLocked(): Promise<boolean>;
|
|
245
|
+
/**
|
|
246
|
+
* 保存文件
|
|
247
|
+
* @param name 文件名
|
|
248
|
+
*/
|
|
249
|
+
save(name: string): Promise<boolean>;
|
|
250
|
+
/**
|
|
251
|
+
* 下载文件
|
|
252
|
+
* @param url 文件链接
|
|
253
|
+
* @param options 下载配置项
|
|
254
|
+
*/
|
|
255
|
+
download(url: string | URL | Request, options?: VVVFSDownloadOptions): Promise<boolean>;
|
|
228
256
|
}
|
|
229
257
|
|
|
230
258
|
/**
|
|
@@ -532,6 +560,30 @@ export class VVVFS {
|
|
|
532
560
|
* @param path 文件路径
|
|
533
561
|
*/
|
|
534
562
|
isLocked(path: string): Promise<boolean>;
|
|
563
|
+
/**
|
|
564
|
+
* 保存文件
|
|
565
|
+
* @param path 文件路径
|
|
566
|
+
* @param name 文件名
|
|
567
|
+
*/
|
|
568
|
+
saveFile(path: string, name?: string): Promise<boolean>;
|
|
569
|
+
/**
|
|
570
|
+
* 下载文件
|
|
571
|
+
* @param url 文件链接
|
|
572
|
+
* @param path 保存路径
|
|
573
|
+
* @param options 下载配置项
|
|
574
|
+
*/
|
|
575
|
+
downloadFile(
|
|
576
|
+
url: string | URL | Request,
|
|
577
|
+
path: string,
|
|
578
|
+
options?: VVVFSDownloadOptions,
|
|
579
|
+
): Promise<boolean>;
|
|
580
|
+
/**
|
|
581
|
+
* 注册MIME类型
|
|
582
|
+
* @param mimetype MIME类型
|
|
583
|
+
* @param extensions 扩展名数组
|
|
584
|
+
* @example VVVFS.registerMIMEType("example/abc", ["example", "example2"])
|
|
585
|
+
*/
|
|
586
|
+
static registerMIMEType(mimetype: string, extensions: string[]): Mime;
|
|
535
587
|
}
|
|
536
588
|
|
|
537
589
|
/**
|