dexie 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dexie.min.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Dexie=t()})(this,function(){"use strict";var m=function(){return(m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function O(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var o=arguments[t],u=0,a=o.length;u<a;u++,i++)r[i]=o[u];return r}var _=Object.keys,d=Array.isArray,h="undefined"!=typeof self?self:"undefined"!=typeof window?window:global;function s(t,n){return"object"!=typeof n||_(n).forEach(function(e){t[e]=n[e]}),t}"undefined"==typeof Promise||h.Promise||(h.Promise=Promise);var r=Object.getPrototypeOf,n={}.hasOwnProperty;function g(e,t){return n.call(e,t)}function i(t,n){"function"==typeof n&&(n=n(r(t))),_(n).forEach(function(e){a(t,e,n[e])})}var u=Object.defineProperty;function a(e,t,n,r){u(e,t,s(n&&g(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function o(t){return{from:function(e){return t.prototype=Object.create(e.prototype),a(t.prototype,"constructor",t),{extend:i.bind(null,t.prototype)}}}}var c=Object.getOwnPropertyDescriptor;function l(e,t){var n;return c(e,t)||(n=r(e))&&l(n,t)}var f=[].slice;function p(e,t,n){return f.call(e,t,n)}function y(e,t){return t(e)}function v(e){if(!e)throw new Error("Assertion Failed")}function b(e){h.setImmediate?setImmediate(e):setTimeout(e,0)}function w(e,i){return e.reduce(function(e,t,n){var r=i(t,n);return r&&(e[r[0]]=r[1]),e},{})}function x(e,t){if(g(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var o=x(e,t[r]);n.push(o)}return n}var u=t.indexOf(".");if(-1!==u){var a=e[t.substr(0,u)];return void 0===a?void 0:x(a,t.substr(u+1))}}function k(e,t,n){if(e&&void 0!==t&&!("isFrozen"in Object&&Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){v("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)k(e,t[r],n[r])}else{var o,u,a=t.indexOf(".");-1!==a?(o=t.substr(0,a),""===(u=t.substr(a+1))?void 0===n?d(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n:k(e[o]||(e[o]={}),u,n)):void 0===n?d(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function P(t,e){"string"==typeof e?k(t,e,void 0):"length"in e&&[].map.call(e,function(e){k(t,e,void 0)})}function E(e){var t={};for(var n in e)g(e,n)&&(t[n]=e[n]);return t}var t=[].concat;function j(e){return t.apply([],e)}var e="Boolean,String,Date,RegExp,Blob,File,FileList,ArrayBuffer,DataView,Uint8ClampedArray,ImageData,Map,Set".split(",").concat(j([8,16,32,64].map(function(t){return["Int","Uint","Float"].map(function(e){return e+t+"Array"})}))).filter(function(e){return h[e]}),S=e.map(function(e){return h[e]}),A=w(e,function(e){return[e,!0]});function K(e){if(!e||"object"!=typeof e)return e;var t;if(d(e)){t=[];for(var n=0,r=e.length;n<r;++n)t.push(K(e[n]))}else if(0<=S.indexOf(e.constructor))t=e;else for(var i in t=e.constructor?Object.create(e.constructor.prototype):{},e)g(e,i)&&(t[i]=K(e[i]));return t}var C={}.toString;function I(e){return C.call(e).slice(8,-1)}var T=function(e,t){return"Array"===t?""+e.map(function(e){return T(e,I(e))}):"ArrayBuffer"===t?""+new Uint8Array(e):"Date"===t?e.getTime():ArrayBuffer.isView(e)?""+new Uint8Array(e.buffer):e};function D(o,u,a,s){return a=a||{},s=s||"",_(o).forEach(function(e){var t,n,r,i;g(u,e)?(t=o[e],n=u[e],"object"==typeof t&&"object"==typeof n&&t&&n?(r=I(t))===(i=I(n))?A[r]?T(t,r)!==T(n,i)&&(a[s+e]=u[e]):D(t,n,a,s+e+"."):a[s+e]=u[e]:t!==n&&(a[s+e]=u[e])):a[s+e]=void 0}),_(u).forEach(function(e){g(o,e)||(a[s+e]=u[e])}),a}var B="undefined"!=typeof Symbol&&Symbol.iterator,R=B?function(e){var t;return null!=e&&(t=e[B])&&t.apply(e)}:function(){return null},F={};function q(e){var t,n,r,i;if(1===arguments.length){if(d(e))return e.slice();if(this===F&&"string"==typeof e)return[e];if(i=R(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(null==e)return[e];if("number"!=typeof(t=e.length))return[e];for(n=new Array(t);t--;)n[t]=e[t];return n}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}var M="undefined"!=typeof Symbol?function(e){return"AsyncFunction"===e[Symbol.toStringTag]}:function(){return!1},N="undefined"!=typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function U(e,t){N=e,V=t}var V=function(){return!0},W=!new Error("").stack;function z(){if(W)try{throw new Error}catch(e){return e}return new Error}function L(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),n.split("\n").slice(t).filter(V).map(function(e){return"\n"+e}).join("")):""}var Y=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],G=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(Y),H={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed"};function Q(e,t){this._e=z(),this.name=e,this.message=t}function X(e,t){return e+". Errors: "+Object.keys(t).map(function(e){return t[e].toString()}).filter(function(e,t,n){return n.indexOf(e)===t}).join("\n")}function J(e,t,n,r){this._e=z(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=X(e,t)}function $(e,t){this._e=z(),this.name="BulkError",this.failures=t,this.message=X(e,t)}o(Q).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+L(this._e,2))}},toString:function(){return this.name+": "+this.message}}),o(J).from(Q),o($).from(Q);var Z=G.reduce(function(e,t){return e[t]=t+"Error",e},{}),ee=Q,te=G.reduce(function(e,n){var r=n+"Error";function t(e,t){this._e=z(),this.name=r,e?"string"==typeof e?(this.message=e+(t?"\n "+t:""),this.inner=t||null):"object"==typeof e&&(this.message=e.name+" "+e.message,this.inner=e):(this.message=H[n]||r,this.inner=null)}return o(t).from(ee),e[n]=t,e},{});te.Syntax=SyntaxError,te.Type=TypeError,te.Range=RangeError;var ne=Y.reduce(function(e,t){return e[t+"Error"]=te[t],e},{});var re=G.reduce(function(e,t){return-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=te[t]),e},{});function ie(){}function oe(e){return e}function ue(t,n){return null==t||t===oe?n:function(e){return n(t(e))}}function ae(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function se(i,o){return i===ie?o:function(){var e=i.apply(this,arguments);void 0!==e&&(arguments[0]=e);var t=this.onsuccess,n=this.onerror;this.onsuccess=null,this.onerror=null;var r=o.apply(this,arguments);return t&&(this.onsuccess=this.onsuccess?ae(t,this.onsuccess):t),n&&(this.onerror=this.onerror?ae(n,this.onerror):n),void 0!==r?r:e}}function ce(n,r){return n===ie?r:function(){n.apply(this,arguments);var e=this.onsuccess,t=this.onerror;this.onsuccess=this.onerror=null,r.apply(this,arguments),e&&(this.onsuccess=this.onsuccess?ae(e,this.onsuccess):e),t&&(this.onerror=this.onerror?ae(t,this.onerror):t)}}function le(o,u){return o===ie?u:function(e){var t=o.apply(this,arguments);s(e,t);var n=this.onsuccess,r=this.onerror;this.onsuccess=null,this.onerror=null;var i=u.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?ae(n,this.onsuccess):n),r&&(this.onerror=this.onerror?ae(r,this.onerror):r),void 0===t?void 0===i?void 0:i:s(t,i)}}function fe(e,t){return e===ie?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function he(i,o){return i===ie?o:function(){var e=i.apply(this,arguments);if(e&&"function"==typeof e.then){for(var t=this,n=arguments.length,r=new Array(n);n--;)r[n]=arguments[n];return e.then(function(){return o.apply(t,r)})}return o.apply(this,arguments)}}re.ModifyError=J,re.DexieError=Q,re.BulkError=$;var pe={},de=100,ye=100,ve="undefined"==typeof Promise?[]:function(){var e=Promise.resolve();if("undefined"==typeof crypto||!crypto.subtle)return[e,e.__proto__,e];var t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,t.__proto__,e]}(),me=ve[0],ge=ve[1],be=ve[2],_e=ge&&ge.then,we=me&&me.constructor,xe=!!be,ke=!1,Pe=be?function(){be.then(Le)}:h.setImmediate?setImmediate.bind(null,Le):h.MutationObserver?function(){var e=document.createElement("div");new MutationObserver(function(){Le(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:function(){setTimeout(Le,0)},Ee=function(e,t){De.push([e,t]),je&&(Pe(),je=!1)},Oe=!0,je=!0,Se=[],Ae=[],Ke=null,Ce=oe,Ie={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:yt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(function(e){try{yt(e[0],e[1])}catch(e){}})}},Te=Ie,De=[],Be=0,Re=[];function Fe(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=ie,this._lib=!1;var t=this._PSD=Te;if(N&&(this._stackHolder=z(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==pe)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&Ne(this,this._value))}this._state=null,this._value=null,++t.ref,function t(r,e){try{e(function(n){if(null===r._state){if(n===r)throw new TypeError("A promise cannot be resolved with itself.");var e=r._lib&&Ye();n&&"function"==typeof n.then?t(r,function(e,t){n instanceof Fe?n._then(e,t):n.then(e,t)}):(r._state=!0,r._value=n,Ue(r)),e&&Ge()}},Ne.bind(null,r))}catch(e){Ne(r,e)}}(this,e)}var qe={get:function(){var a=Te,t=tt;function e(n,r){var i=this,o=!a.global&&(a!==Te||t!==tt),u=o&&!ot(),e=new Fe(function(e,t){Ve(i,new Me(ht(n,a,o,u),ht(r,a,o,u),e,t,a))});return N&&ze(e,this),e}return e.prototype=pe,e},set:function(e){a(this,"then",e&&e.prototype===pe?qe:{get:function(){return e},set:qe.set})}};function Me(e,t,n,r,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=i}function Ne(t,n){var e,r;Ae.push(n),null===t._state&&(e=t._lib&&Ye(),n=Ce(n),t._state=!1,t._value=n,N&&null!==n&&"object"==typeof n&&!n._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}(function(){var e=l(n,"stack");n._promise=t,a(n,"stack",{get:function(){return ke?e&&(e.get?e.get.apply(n):e.value):t.stack}})}),r=t,Se.some(function(e){return e._value===r._value})||Se.push(r),Ue(t),e&&Ge())}function Ue(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)Ve(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),0===Be&&(++Be,Ee(function(){0==--Be&&He()},[]))}function Ve(e,t){if(null!==e._state){var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++Be,Ee(We,[n,e,t])}else e._listeners.push(t)}function We(e,t,n){try{var r,i=(Ke=t)._value;t._state?r=e(i):(Ae.length&&(Ae=[]),r=e(i),-1===Ae.indexOf(i)&&function(e){var t=Se.length;for(;t;)if(Se[--t]._value===e._value)return Se.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ke=null,0==--Be&&He(),--n.psd.ref||n.psd.finalize()}}function ze(e,t){var n=t?t._numPrev+1:0;n<de&&(e._prev=t,e._numPrev=n)}function Le(){Ye()&&Ge()}function Ye(){var e=Oe;return je=Oe=!1,e}function Ge(){var e,t,n;do{for(;0<De.length;)for(e=De,De=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}}while(0<De.length);je=Oe=!0}function He(){var e=Se;Se=[],e.forEach(function(e){e._PSD.onunhandled.call(null,e._value,e)});for(var t=Re.slice(0),n=t.length;n;)t[--n]()}function Qe(e){return new Fe(pe,!1,e)}function Xe(n,r){var i=Te;return function(){var e=Ye(),t=Te;try{return st(i,!0),n.apply(this,arguments)}catch(e){r&&r(e)}finally{st(t,!1),e&&Ge()}}}i(Fe.prototype,{then:qe,_then:function(e,t){Ve(this,new Me(null,null,e,t,Te))},catch:function(e){if(1===arguments.length)return this.then(null,e);var t=e,n=arguments[1];return"function"==typeof t?this.then(null,function(e){return(e instanceof t?n:Qe)(e)}):this.then(null,function(e){return(e&&e.name===t?n:Qe)(e)})},finally:function(t){return this.then(function(e){return t(),e},function(e){return t(),Qe(e)})},stack:{get:function(){if(this._stack)return this._stack;try{ke=!0;var e=function e(t,n,r){if(n.length===r)return n;var i="";{var o,u,a;!1===t._state&&(null!=(o=t._value)?(u=o.name||"Error",a=o.message||o,i=L(o,0)):(u=o,a=""),n.push(u+(a?": "+a:"")+i))}N&&((i=L(t._stackHolder,2))&&-1===n.indexOf(i)&&n.push(i),t._prev&&e(t._prev,n,r));return n}(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{ke=!1}}},timeout:function(r,i){var o=this;return r<1/0?new Fe(function(e,t){var n=setTimeout(function(){return t(new te.Timeout(i))},r);o.then(e,t).finally(clearTimeout.bind(null,n))}):this}}),"undefined"!=typeof Symbol&&Symbol.toStringTag&&a(Fe.prototype,Symbol.toStringTag,"Dexie.Promise"),Ie.env=ct(),i(Fe,{all:function(){var o=q.apply(null,arguments).map(ut);return new Fe(function(n,r){0===o.length&&n([]);var i=o.length;o.forEach(function(e,t){return Fe.resolve(e).then(function(e){o[t]=e,--i||n(o)},r)})})},resolve:function(n){if(n instanceof Fe)return n;if(n&&"function"==typeof n.then)return new Fe(function(e,t){n.then(e,t)});var e=new Fe(pe,!0,n);return ze(e,Ke),e},reject:Qe,race:function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(t,n){e.map(function(e){return Fe.resolve(e).then(t,n)})})},PSD:{get:function(){return Te},set:function(e){return Te=e}},totalEchoes:{get:function(){return tt}},newPSD:rt,usePSD:lt,scheduler:{get:function(){return Ee},set:function(e){Ee=e}},rejectionMapper:{get:function(){return Ce},set:function(e){Ce=e}},follow:function(i,n){return new Fe(function(e,t){return rt(function(n,r){var e=Te;e.unhandleds=[],e.onunhandled=r,e.finalize=ae(function(){var t,e=this;t=function(){0===e.unhandleds.length?n():r(e.unhandleds[0])},Re.push(function e(){t(),Re.splice(Re.indexOf(e),1)}),++Be,Ee(function(){0==--Be&&He()},[])},e.finalize),i()},n,e,t)})}}),we&&(we.allSettled&&a(Fe,"allSettled",function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(n){0===e.length&&n([]);var r=e.length,i=new Array(r);e.forEach(function(e,t){return Fe.resolve(e).then(function(e){return i[t]={status:"fulfilled",value:e}},function(e){return i[t]={status:"rejected",reason:e}}).then(function(){return--r||n(i)})})})}),we.any&&"undefined"!=typeof AggregateError&&a(Fe,"any",function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(n,r){0===e.length&&r(new AggregateError([]));var i=e.length,o=new Array(i);e.forEach(function(e,t){return Fe.resolve(e).then(function(e){return n(e)},function(e){o[t]=e,--i||r(new AggregateError(o))})})})}));var Je={awaits:0,echoes:0,id:0},$e=0,Ze=[],et=0,tt=0,nt=0;function rt(e,t,n,r){var i=Te,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++nt;var u=Ie.env;o.env=xe?{Promise:Fe,PromiseProp:{value:Fe,configurable:!0,writable:!0},all:Fe.all,race:Fe.race,allSettled:Fe.allSettled,any:Fe.any,resolve:Fe.resolve,reject:Fe.reject,nthen:pt(u.nthen,o),gthen:pt(u.gthen,o)}:{},t&&s(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=lt(o,e,n,r);return 0===o.ref&&o.finalize(),a}function it(){return Je.id||(Je.id=++$e),++Je.awaits,Je.echoes+=ye,Je.id}function ot(){return!!Je.awaits&&(0==--Je.awaits&&(Je.id=0),Je.echoes=Je.awaits*ye,!0)}function ut(e){return Je.echoes&&e&&e.constructor===we?(it(),e.then(function(e){return ot(),e},function(e){return ot(),vt(e)})):e}function at(){var e=Ze[Ze.length-1];Ze.pop(),st(e,!1)}function st(e,t){var n,r,i=Te;(t?!Je.echoes||et++&&e===Te:!et||--et&&e===Te)||ft(t?function(e){++tt,Je.echoes&&0!=--Je.echoes||(Je.echoes=Je.id=0),Ze.push(Te),st(e,!0)}.bind(null,e):at),e!==Te&&(Te=e,i===Ie&&(Ie.env=ct()),xe&&(n=Ie.env.Promise,r=e.env,ge.then=r.nthen,n.prototype.then=r.gthen,(i.global||e.global)&&(Object.defineProperty(h,"Promise",r.PromiseProp),n.all=r.all,n.race=r.race,n.resolve=r.resolve,n.reject=r.reject,r.allSettled&&(n.allSettled=r.allSettled),r.any&&(n.any=r.any))))}function ct(){var e=h.Promise;return xe?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(h,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:ge.then,gthen:e.prototype.then}:{}}function lt(e,t,n,r,i){var o=Te;try{return st(e,!0),t(n,r,i)}finally{st(o,!1)}}function ft(e){_e.call(me,e)}function ht(t,n,r,i){return"function"!=typeof t?t:function(){var e=Te;r&&it(),st(n,!0);try{return t.apply(this,arguments)}finally{st(e,!1),i&&ft(ot)}}}function pt(n,r){return function(e,t){return n.call(this,ht(e,r),ht(t,r))}}-1===(""+_e).indexOf("[native code]")&&(it=ot=ie);var dt="unhandledrejection";function yt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(h.document&&document.createEvent?((r=document.createEvent("Event")).initEvent(dt,!0,!0),s(r,i)):h.CustomEvent&&s(r=new CustomEvent(dt,{detail:i}),i),r&&h.dispatchEvent&&(dispatchEvent(r),!h.PromiseRejectionEvent&&h.onunhandledrejection))try{h.onunhandledrejection(r)}catch(e){}N&&r&&!r.defaultPrevented&&console.warn("Unhandled rejection: "+(e.stack||e))}catch(e){}}var vt=Fe.reject;function mt(e){return!/(dexie\.js|dexie\.min\.js)/.test(e)}var gt=String.fromCharCode(65535),bt="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",_t="String expected.",wt=[],xt="undefined"!=typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),kt=xt,Pt=xt,Et="__dbnames",Ot="readonly",jt="readwrite";function St(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var At={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Kt(t){return function(e){return void 0===x(e,t)&&P(e=K(e),t),e}}var Ct=(It.prototype._trans=function(e,r,t){var n=this._tx||Te.trans,i=this.name;function o(e,t,n){if(!n.schema[i])throw new te.NotFound("Table "+i+" not part of transaction");return r(n.idbtrans,n)}var u=Ye();try{return n&&n.db===this.db?n===Te.trans?n._promise(e,o,t):rt(function(){return n._promise(e,o,t)},{trans:n,transless:Te.transless||Te}):function e(t,n,r,i){if(t._state.openComplete||Te.letThrough){var o=t._createTransaction(n,r,t._dbSchema);try{o.create()}catch(e){return vt(e)}return o._promise(n,function(e,t){return rt(function(){return Te.trans=o,i(e,t,o)})}).then(function(e){return o._completion.then(function(){return e})})}if(!t._state.isBeingOpened){if(!t._options.autoOpen)return vt(new te.DatabaseClosed);t.open().catch(ie)}return t._state.dbReadyPromise.then(function(){return e(t,n,r,i)})}(this.db,e,[this.name],o)}finally{u&&Ge()}},It.prototype.get=function(t,e){var n=this;return t&&t.constructor===Object?this.where(t).first(e):this._trans("readonly",function(e){return n.core.get({trans:e,key:t}).then(function(e){return n.hook.reading.fire(e)})}).then(e)},It.prototype.where=function(u){if("string"==typeof u)return new this.db.WhereClause(this,u);if(d(u))return new this.db.WhereClause(this,"["+u.join("+")+"]");var n=_(u);if(1===n.length)return this.where(n[0]).equals(u[n[0]]);var e=this.schema.indexes.concat(this.schema.primKey).filter(function(t){return t.compound&&n.every(function(e){return 0<=t.keyPath.indexOf(e)})&&t.keyPath.every(function(e){return 0<=n.indexOf(e)})})[0];if(e&&this.db._maxKey!==gt)return this.where(e.name).equals(e.keyPath.map(function(e){return u[e]}));!e&&N&&console.warn("The query "+JSON.stringify(u)+" on "+this.name+" would benefit of a compound index ["+n.join("+")+"]");var a=this.schema.idxByName,r=this.db._deps.indexedDB;function s(e,t){try{return 0===r.cmp(e,t)}catch(e){return!1}}var t=n.reduce(function(e,n){var t=e[0],r=e[1],i=a[n],o=u[n];return[t||i,t||!i?St(r,i&&i.multi?function(e){var t=x(e,n);return d(t)&&t.some(function(e){return s(o,e)})}:function(e){return s(o,x(e,n))}):r]},[null,null]),i=t[0],o=t[1];return i?this.where(i.name).equals(u[i.keyPath]).filter(o):e?this.filter(o):this.where(n).equals("")},It.prototype.filter=function(e){return this.toCollection().and(e)},It.prototype.count=function(e){return this.toCollection().count(e)},It.prototype.offset=function(e){return this.toCollection().offset(e)},It.prototype.limit=function(e){return this.toCollection().limit(e)},It.prototype.each=function(e){return this.toCollection().each(e)},It.prototype.toArray=function(e){return this.toCollection().toArray(e)},It.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},It.prototype.orderBy=function(e){return new this.db.Collection(new this.db.WhereClause(this,d(e)?"["+e.join("+")+"]":e))},It.prototype.reverse=function(){return this.toCollection().reverse()},It.prototype.mapToClass=function(r){function e(e){if(!e)return e;var t=Object.create(r.prototype);for(var n in e)if(g(e,n))try{t[n]=e[n]}catch(e){}return t}return this.schema.mappedClass=r,this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=e,this.hook("reading",e),r},It.prototype.defineClass=function(){return this.mapToClass(function(e){s(this,e)})},It.prototype.add=function(t,n){var r=this,e=this.schema.primKey,i=e.auto,o=e.keyPath,u=t;return o&&i&&(u=Kt(o)(t)),this._trans("readwrite",function(e){return r.core.mutate({trans:e,type:"add",keys:null!=n?[n]:null,values:[u]})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):e.lastResult}).then(function(e){if(o)try{k(t,o,e)}catch(e){}return e})},It.prototype.update=function(t,n){if("object"!=typeof n||d(n))throw new te.InvalidArgument("Modifications must be an object.");if("object"!=typeof t||d(t))return this.where(":id").equals(t).modify(n);_(n).forEach(function(e){k(t,e,n[e])});var e=x(t,this.schema.primKey.keyPath);return void 0===e?vt(new te.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(e).modify(n)},It.prototype.put=function(t,n){var r=this,e=this.schema.primKey,i=e.auto,o=e.keyPath,u=t;return o&&i&&(u=Kt(o)(t)),this._trans("readwrite",function(e){return r.core.mutate({trans:e,type:"put",values:[u],keys:null!=n?[n]:null})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):e.lastResult}).then(function(e){if(o)try{k(t,o,e)}catch(e){}return e})},It.prototype.delete=function(t){var n=this;return this._trans("readwrite",function(e){return n.core.mutate({trans:e,type:"delete",keys:[t]})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):void 0})},It.prototype.clear=function(){var t=this;return this._trans("readwrite",function(e){return t.core.mutate({trans:e,type:"deleteRange",range:At})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):void 0})},It.prototype.bulkGet=function(t){var n=this;return this._trans("readonly",function(e){return n.core.getMany({keys:t,trans:e}).then(function(e){return e.map(function(e){return n.hook.reading.fire(e)})})})},It.prototype.bulkAdd=function(u,e,t){var a=this,s=Array.isArray(e)?e:void 0,c=(t=t||(s?void 0:e))?t.allKeys:void 0;return this._trans("readwrite",function(e){var t=a.schema.primKey,n=t.auto,r=t.keyPath;if(r&&s)throw new te.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(s&&s.length!==u.length)throw new te.InvalidArgument("Arguments objects and keys must have the same length");var o=u.length,i=r&&n?u.map(Kt(r)):u;return a.core.mutate({trans:e,type:"add",keys:s,values:i,wantResults:c}).then(function(e){var t=e.numFailures,n=e.results,r=e.lastResult,i=e.failures;if(0===t)return c?n:r;throw new $(a.name+".bulkAdd(): "+t+" of "+o+" operations failed",Object.keys(i).map(function(e){return i[e]}))})})},It.prototype.bulkPut=function(u,e,t){var a=this,s=Array.isArray(e)?e:void 0,c=(t=t||(s?void 0:e))?t.allKeys:void 0;return this._trans("readwrite",function(e){var t=a.schema.primKey,n=t.auto,r=t.keyPath;if(r&&s)throw new te.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(s&&s.length!==u.length)throw new te.InvalidArgument("Arguments objects and keys must have the same length");var o=u.length,i=r&&n?u.map(Kt(r)):u;return a.core.mutate({trans:e,type:"put",keys:s,values:i,wantResults:c}).then(function(e){var t=e.numFailures,n=e.results,r=e.lastResult,i=e.failures;if(0===t)return c?n:r;throw new $(a.name+".bulkPut(): "+t+" of "+o+" operations failed",Object.keys(i).map(function(e){return i[e]}))})})},It.prototype.bulkDelete=function(t){var i=this,o=t.length;return this._trans("readwrite",function(e){return i.core.mutate({trans:e,type:"delete",keys:t})}).then(function(e){var t=e.numFailures,n=e.lastResult,r=e.failures;if(0===t)return n;throw new $(i.name+".bulkDelete(): "+t+" of "+o+" operations failed",r)})},It);function It(){}function Tt(i){var u={},t=function(e,t){if(t){for(var n=arguments.length,r=new Array(n-1);--n;)r[n-1]=arguments[n];return u[e].subscribe.apply(null,r),i}if("string"==typeof e)return u[e]};t.addEventType=a;for(var e=1,n=arguments.length;e<n;++e)a(arguments[e]);return t;function a(e,n,r){if("object"!=typeof e){var i;n=n||fe;var o={subscribers:[],fire:r=r||ie,subscribe:function(e){-1===o.subscribers.indexOf(e)&&(o.subscribers.push(e),o.fire=n(o.fire,e))},unsubscribe:function(t){o.subscribers=o.subscribers.filter(function(e){return e!==t}),o.fire=o.subscribers.reduce(n,r)}};return u[e]=t[e]=o,o}_(i=e).forEach(function(e){var t=i[e];if(d(t))a(e,i[e][0],i[e][1]);else{if("asap"!==t)throw new te.InvalidArgument("Invalid event config");var n=a(e,oe,function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){b(function(){e.apply(null,t)})})})}})}}function Dt(e,t){return o(t).from({prototype:e}),t}function Bt(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function Rt(e,t){e.filter=St(e.filter,t)}function Ft(e,t,n){var r=e.replayFilter;e.replayFilter=r?function(){return St(r(),t())}:t,e.justLimit=n&&!r}function qt(e,t){if(e.isPrimKey)return t.primaryKey;var n=t.getIndexByKeyPath(e.index);if(!n)throw new te.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function Mt(e,t,n){var r=qt(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function Nt(e,o,t,n){var u=e.replayFilter?St(e.filter,e.replayFilter()):e.filter;if(e.or){var a={},r=function(e,t,n){var r,i;u&&!u(t,n,function(e){return t.stop(e)},function(e){return t.fail(e)})||("[object ArrayBuffer]"===(i=""+(r=t.primaryKey))&&(i=""+new Uint8Array(r)),g(a,i)||(a[i]=!0,o(e,t,n)))};return Promise.all([e.or._iterate(r,t),Ut(Mt(e,n,t),e.algorithm,r,!e.keysOnly&&e.valueMapper)])}return Ut(Mt(e,n,t),St(e.algorithm,u),o,!e.keysOnly&&e.valueMapper)}function Ut(e,r,i,o){var u=Xe(o?function(e,t,n){return i(o(e),t,n)}:i);return e.then(function(n){if(n)return n.start(function(){var t=function(){return n.continue()};r&&!r(n,function(e){return t=e},function(e){n.stop(e),t=ie},function(e){n.fail(e),t=ie})||u(n.value,n,function(e){return t=e}),t()})})}var Vt=(Wt.prototype._read=function(e,t){var n=this._ctx;return n.error?n.table._trans(null,vt.bind(null,n.error)):n.table._trans("readonly",e).then(t)},Wt.prototype._write=function(e){var t=this._ctx;return t.error?t.table._trans(null,vt.bind(null,t.error)):t.table._trans("readwrite",e,"locked")},Wt.prototype._addAlgorithm=function(e){var t=this._ctx;t.algorithm=St(t.algorithm,e)},Wt.prototype._iterate=function(e,t){return Nt(this._ctx,e,t,this._ctx.table.core)},Wt.prototype.clone=function(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&s(n,e),t._ctx=n,t},Wt.prototype.raw=function(){return this._ctx.valueMapper=null,this},Wt.prototype.each=function(t){var n=this._ctx;return this._read(function(e){return Nt(n,t,e,n.table.core)})},Wt.prototype.count=function(e){var i=this;return this._read(function(e){var t=i._ctx,n=t.table.core;if(Bt(t,!0))return n.count({trans:e,query:{index:qt(t,n.schema),range:t.range}}).then(function(e){return Math.min(e,t.limit)});var r=0;return Nt(t,function(){return++r,!1},e,n).then(function(){return r})}).then(e)},Wt.prototype.sortBy=function(e,t){var n=e.split(".").reverse(),r=n[0],i=n.length-1;function o(e,t){return t?o(e[n[t]],t-1):e[r]}var u="next"===this._ctx.dir?1:-1;function a(e,t){var n=o(e,i),r=o(t,i);return n<r?-u:r<n?u:0}return this.toArray(function(e){return e.sort(a)}).then(t)},Wt.prototype.toArray=function(e){var o=this;return this._read(function(e){var t=o._ctx;if("next"===t.dir&&Bt(t,!0)&&0<t.limit){var n=t.valueMapper,r=qt(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then(function(e){var t=e.result;return n?t.map(n):t})}var i=[];return Nt(t,function(e){return i.push(e)},e,t.table.core).then(function(){return i})},e)},Wt.prototype.offset=function(t){var e=this._ctx;return t<=0||(e.offset+=t,Bt(e)?Ft(e,function(){var n=t;return function(e,t){return 0===n||(1===n?--n:t(function(){e.advance(n),n=0}),!1)}}):Ft(e,function(){var e=t;return function(){return--e<0}})),this},Wt.prototype.limit=function(e){return this._ctx.limit=Math.min(this._ctx.limit,e),Ft(this._ctx,function(){var r=e;return function(e,t,n){return--r<=0&&t(n),0<=r}},!0),this},Wt.prototype.until=function(r,i){return Rt(this._ctx,function(e,t,n){return!r(e.value)||(t(n),i)}),this},Wt.prototype.first=function(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)},Wt.prototype.last=function(e){return this.reverse().first(e)},Wt.prototype.filter=function(t){var e,n;return Rt(this._ctx,function(e){return t(e.value)}),e=this._ctx,n=t,e.isMatch=St(e.isMatch,n),this},Wt.prototype.and=function(e){return this.filter(e)},Wt.prototype.or=function(e){return new this.db.WhereClause(this._ctx.table,e,this)},Wt.prototype.reverse=function(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},Wt.prototype.desc=function(){return this.reverse()},Wt.prototype.eachKey=function(n){var e=this._ctx;return e.keysOnly=!e.isMatch,this.each(function(e,t){n(t.key,t)})},Wt.prototype.eachUniqueKey=function(e){return this._ctx.unique="unique",this.eachKey(e)},Wt.prototype.eachPrimaryKey=function(n){var e=this._ctx;return e.keysOnly=!e.isMatch,this.each(function(e,t){n(t.primaryKey,t)})},Wt.prototype.keys=function(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each(function(e,t){n.push(t.key)}).then(function(){return n}).then(e)},Wt.prototype.primaryKeys=function(e){var n=this._ctx;if("next"===n.dir&&Bt(n,!0)&&0<n.limit)return this._read(function(e){var t=qt(n,n.table.core.schema);return n.table.core.query({trans:e,values:!1,limit:n.limit,query:{index:t,range:n.range}})}).then(function(e){return e.result}).then(e);n.keysOnly=!n.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)},Wt.prototype.uniqueKeys=function(e){return this._ctx.unique="unique",this.keys(e)},Wt.prototype.firstKey=function(e){return this.limit(1).keys(function(e){return e[0]}).then(e)},Wt.prototype.lastKey=function(e){return this.reverse().firstKey(e)},Wt.prototype.distinct=function(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return Rt(this._ctx,function(e){var t=e.primaryKey.toString(),n=g(r,t);return r[t]=!0,!n}),this},Wt.prototype.modify=function(c){var n=this,r=this._ctx;return this._write(function(h){var o,u,p;function d(e,t){var n=t.failures,r=t.numFailures;s+=e-r;for(var i=0,o=_(n);i<o.length;i++){var u=o[i];a.push(n[u])}}p="function"==typeof c?c:(o=_(c),u=o.length,function(e){for(var t=!1,n=0;n<u;++n){var r=o[n],i=c[r];x(e,r)!==i&&(k(e,r,i),t=!0)}return t});var y=r.table.core,e=y.schema.primaryKey,v=e.outbound,m=e.extractKey,g="testmode"in Rn?1:2e3,b=n.db.core.cmp,a=[],s=0,t=[];return n.clone().primaryKeys().then(function(l){var f=function(s){var c=Math.min(g,l.length-s);return y.getMany({trans:h,keys:l.slice(s,s+c)}).then(function(e){for(var n=[],t=[],r=v?[]:null,i=[],o=0;o<c;++o){var u=e[o],a={value:K(u),primKey:l[s+o]};!1!==p.call(a,a.value,a)&&(null==a.value?i.push(l[s+o]):v||0===b(m(u),m(a.value))?(t.push(a.value),v&&r.push(l[s+o])):(i.push(l[s+o]),n.push(a.value)))}return Promise.resolve(0<n.length&&y.mutate({trans:h,type:"add",values:n}).then(function(e){for(var t in e.failures)i.splice(parseInt(t),1);d(n.length,e)})).then(function(e){return 0<t.length&&y.mutate({trans:h,type:"put",keys:r,values:t}).then(function(e){return d(t.length,e)})}).then(function(){return 0<i.length&&y.mutate({trans:h,type:"delete",keys:i}).then(function(e){return d(i.length,e)})}).then(function(){return l.length>s+c&&f(s+g)})})};return f(0).then(function(){if(0<a.length)throw new J("Error modifying one or more objects",a,s,t);return l.length})})})},Wt.prototype.delete=function(){var i=this._ctx,r=i.range;return Bt(i)&&(i.isPrimKey&&!Pt||3===r.type)?this._write(function(e){var t=i.table.core.schema.primaryKey,n=r;return i.table.core.count({trans:e,query:{index:t,range:n}}).then(function(r){return i.table.core.mutate({trans:e,type:"deleteRange",range:n}).then(function(e){var t=e.failures,n=(e.lastResult,e.results,e.numFailures);if(n)throw new J("Could not delete some values",Object.keys(t).map(function(e){return t[e]}),r-n);return r-n})})}):this.modify(function(e,t){return t.value=null})},Wt);function Wt(){}function zt(e,t){return e<t?-1:e===t?0:1}function Lt(e,t){return t<e?-1:e===t?0:1}function Yt(e,t,n){var r=e instanceof $t?new e.Collection(e):e;return r._ctx.error=new(n||TypeError)(t),r}function Gt(e){return new e.Collection(e,function(){return Jt("")}).limit(0)}function Ht(e,t,n,r,i,o){for(var u=Math.min(e.length,r.length),a=-1,s=0;s<u;++s){var c=t[s];if(c!==r[s])return i(e[s],n[s])<0?e.substr(0,s)+n[s]+n.substr(s+1):i(e[s],r[s])<0?e.substr(0,s)+r[s]+n.substr(s+1):0<=a?e.substr(0,a)+t[a]+n.substr(a+1):null;i(e[s],c)<0&&(a=s)}return u<r.length&&"next"===o?e+n.substr(e.length):u<e.length&&"prev"===o?e.substr(0,n.length):a<0?null:e.substr(0,a)+r[a]+n.substr(a+1)}function Qt(e,s,n,r){var i,c,l,f,h,p,d,y=n.length;if(!n.every(function(e){return"string"==typeof e}))return Yt(e,_t);function t(e){i="next"===e?function(e){return e.toUpperCase()}:function(e){return e.toLowerCase()},c="next"===e?function(e){return e.toLowerCase()}:function(e){return e.toUpperCase()},l="next"===e?zt:Lt;var t=n.map(function(e){return{lower:c(e),upper:i(e)}}).sort(function(e,t){return l(e.lower,t.lower)});f=t.map(function(e){return e.upper}),h=t.map(function(e){return e.lower}),d="next"===(p=e)?"":r}t("next");var o=new e.Collection(e,function(){return Xt(f[0],h[y-1]+r)});o._ondirectionchange=function(e){t(e)};var v=0;return o._addAlgorithm(function(e,t,n){var r=e.key;if("string"!=typeof r)return!1;var i=c(r);if(s(i,h,v))return!0;for(var o=null,u=v;u<y;++u){var a=Ht(r,i,f[u],h[u],l,p);null===a&&null===o?v=u+1:(null===o||0<l(o,a))&&(o=a)}return t(null!==o?function(){e.continue(o+d)}:n),!1}),o}function Xt(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Jt(e){return{type:1,lower:e,upper:e}}var $t=(Object.defineProperty(Zt.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!0,configurable:!0}),Zt.prototype.between=function(e,t,n,r){n=!1!==n,r=!0===r;try{return 0<this._cmp(e,t)||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?Gt(this):new this.Collection(this,function(){return Xt(e,t,!n,!r)})}catch(e){return Yt(this,bt)}},Zt.prototype.equals=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Jt(e)})},Zt.prototype.above=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(e,void 0,!0)})},Zt.prototype.aboveOrEqual=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(e,void 0,!1)})},Zt.prototype.below=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(void 0,e,!1,!0)})},Zt.prototype.belowOrEqual=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(void 0,e)})},Zt.prototype.startsWith=function(e){return"string"!=typeof e?Yt(this,_t):this.between(e,e+gt,!0,!0)},Zt.prototype.startsWithIgnoreCase=function(e){return""===e?this.startsWith(e):Qt(this,function(e,t){return 0===e.indexOf(t[0])},[e],gt)},Zt.prototype.equalsIgnoreCase=function(e){return Qt(this,function(e,t){return e===t[0]},[e],"")},Zt.prototype.anyOfIgnoreCase=function(){var e=q.apply(F,arguments);return 0===e.length?Gt(this):Qt(this,function(e,t){return-1!==t.indexOf(e)},e,"")},Zt.prototype.startsWithAnyOfIgnoreCase=function(){var e=q.apply(F,arguments);return 0===e.length?Gt(this):Qt(this,function(t,e){return e.some(function(e){return 0===t.indexOf(e)})},e,gt)},Zt.prototype.anyOf=function(){var t=this,i=q.apply(F,arguments),o=this._cmp;try{i.sort(o)}catch(e){return Yt(this,bt)}if(0===i.length)return Gt(this);var e=new this.Collection(this,function(){return Xt(i[0],i[i.length-1])});e._ondirectionchange=function(e){o="next"===e?t._ascending:t._descending,i.sort(o)};var u=0;return e._addAlgorithm(function(e,t,n){for(var r=e.key;0<o(r,i[u]);)if(++u===i.length)return t(n),!1;return 0===o(r,i[u])||(t(function(){e.continue(i[u])}),!1)}),e},Zt.prototype.notEqual=function(e){return this.inAnyRange([[-1/0,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Zt.prototype.noneOf=function(){var e=q.apply(F,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return Yt(this,bt)}var t=e.reduce(function(e,t){return e?e.concat([[e[e.length-1][1],t]]):[[-1/0,t]]},null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})},Zt.prototype.inAnyRange=function(e,t){var o=this,u=this._cmp,a=this._ascending,n=this._descending,s=this._min,c=this._max;if(0===e.length)return Gt(this);if(!e.every(function(e){return void 0!==e[0]&&void 0!==e[1]&&a(e[0],e[1])<=0}))return Yt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",te.InvalidArgument);var l,r=!t||!1!==t.includeLowers,i=t&&!0===t.includeUppers,f=a;function h(e,t){return f(e[0],t[0])}try{(l=e.reduce(function(e,t){for(var n=0,r=e.length;n<r;++n){var i=e[n];if(u(t[0],i[1])<0&&0<u(t[1],i[0])){i[0]=s(i[0],t[0]),i[1]=c(i[1],t[1]);break}}return n===r&&e.push(t),e},[])).sort(h)}catch(e){return Yt(this,bt)}var p=0,d=i?function(e){return 0<a(e,l[p][1])}:function(e){return 0<=a(e,l[p][1])},y=r?function(e){return 0<n(e,l[p][0])}:function(e){return 0<=n(e,l[p][0])},v=d,m=new this.Collection(this,function(){return Xt(l[0][0],l[l.length-1][1],!r,!i)});return m._ondirectionchange=function(e){f="next"===e?(v=d,a):(v=y,n),l.sort(h)},m._addAlgorithm(function(e,t,n){for(var r,i=e.key;v(i);)if(++p===l.length)return t(n),!1;return!d(r=i)&&!y(r)||(0===o._cmp(i,l[p][1])||0===o._cmp(i,l[p][0])||t(function(){f===a?e.continue(l[p][0]):e.continue(l[p][1])}),!1)}),m},Zt.prototype.startsWithAnyOf=function(){var e=q.apply(F,arguments);return e.every(function(e){return"string"==typeof e})?0===e.length?Gt(this):this.inAnyRange(e.map(function(e){return[e,e+gt]})):Yt(this,"startsWithAnyOf() only works with strings")},Zt);function Zt(){}function en(e){return 1===e.length?e[0]:e}function tn(e){try{return e.only([[]]),[[]]}catch(e){return gt}}function nn(t){return Xe(function(e){return rn(e),t(e.target.error),!1})}function rn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var on=(un.prototype._lock=function(){return v(!Te.global),++this._reculock,1!==this._reculock||Te.global||(Te.lockOwnerFor=this),this},un.prototype._unlock=function(){if(v(!Te.global),0==--this._reculock)for(Te.global||(Te.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var e=this._blockedFuncs.shift();try{lt(e[1],e[0])}catch(e){}}return this},un.prototype._locked=function(){return this._reculock&&Te.lockOwnerFor!==this},un.prototype.create=function(t){var n=this;if(!this.mode)return this;var e=this.db.idbdb,r=this.db._state.dbOpenError;if(v(!this.idbtrans),!t&&!e)switch(r&&r.name){case"DatabaseClosedError":throw new te.DatabaseClosed(r);case"MissingAPIError":throw new te.MissingAPI(r.message,r);default:throw new te.OpenFailed(r)}if(!this.active)throw new te.TransactionInactive;return v(null===this._completion._state),(t=this.idbtrans=t||e.transaction(en(this.storeNames),this.mode)).onerror=Xe(function(e){rn(e),n._reject(t.error)}),t.onabort=Xe(function(e){rn(e),n.active&&n._reject(new te.Abort(t.error)),n.active=!1,n.on("abort").fire(e)}),t.oncomplete=Xe(function(){n.active=!1,n._resolve()}),this},un.prototype._promise=function(n,r,i){var o=this;if("readwrite"===n&&"readwrite"!==this.mode)return vt(new te.ReadOnly("Transaction is readonly"));if(!this.active)return vt(new te.TransactionInactive);if(this._locked())return new Fe(function(e,t){o._blockedFuncs.push([function(){o._promise(n,r,i).then(e,t)},Te])});if(i)return rt(function(){var e=new Fe(function(e,t){o._lock();var n=r(e,t,o);n&&n.then&&n.then(e,t)});return e.finally(function(){return o._unlock()}),e._lib=!0,e});var e=new Fe(function(e,t){var n=r(e,t,o);n&&n.then&&n.then(e,t)});return e._lib=!0,e},un.prototype._root=function(){return this.parent?this.parent._root():this},un.prototype.waitFor=function(e){var t,r=this._root(),i=Fe.resolve(e);r._waitingFor?r._waitingFor=r._waitingFor.then(function(){return i}):(r._waitingFor=i,r._waitingQueue=[],t=r.idbtrans.objectStore(r.storeNames[0]),function e(){for(++r._spinCount;r._waitingQueue.length;)r._waitingQueue.shift()();r._waitingFor&&(t.get(-1/0).onsuccess=e)}());var o=r._waitingFor;return new Fe(function(t,n){i.then(function(e){return r._waitingQueue.push(Xe(t.bind(null,e)))},function(e){return r._waitingQueue.push(Xe(n.bind(null,e)))}).finally(function(){r._waitingFor===o&&(r._waitingFor=null)})})},un.prototype.abort=function(){this.active&&this._reject(new te.Abort),this.active=!1},un.prototype.table=function(e){var t=this._memoizedTables||(this._memoizedTables={});if(g(t,e))return t[e];var n=this.schema[e];if(!n)throw new te.NotFound("Table "+e+" not part of transaction");var r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r},un);function un(){}function an(e,t,n,r,i,o,u){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:o,src:(n&&!u?"&":"")+(r?"*":"")+(i?"++":"")+sn(t)}}function sn(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function cn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:w(n,function(e){return[e.name,e]})}}function ln(t){return null==t?function(){}:"string"==typeof t?1===(n=t).split(".").length?function(e){return e[n]}:function(e){return x(e,n)}:function(e){return x(e,t)};var n}function fn(e,t){return"delete"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}function hn(e){return[].slice.call(e)}var pn=0;function dn(e){return null==e?":id":"string"==typeof e?e:"["+e.join("+")+"]"}function yn(e,t,o,n){var r=t.cmp.bind(t);function E(e){if(3===e.type)return null;if(4===e.type)throw new Error("Cannot convert never type to IDBKeyRange");var t=e.lower,n=e.upper,r=e.lowerOpen,i=e.upperOpen;return void 0===t?void 0===n?null:o.upperBound(n,!!i):void 0===n?o.lowerBound(t,!!r):o.bound(t,n,!!r,!!i)}function i(k){var m,P=k.name;return{name:P,schema:k,mutate:function(e){var m=e.trans,g=e.type,b=e.keys,_=e.values,w=e.range,x=e.wantResults;return new Promise(function(n,e){n=Xe(n);var t=m.objectStore(P),r=null==t.keyPath,i="put"===g||"add"===g;if(!i&&"delete"!==g&&"deleteRange"!==g)throw new Error("Invalid operation type: "+g);var o=(b||_||{length:1}).length;if(b&&_&&b.length!==_.length)throw new Error("Given keys array must have same length as given values array.");if(0===o)return n({numFailures:0,failures:{},results:[],lastResult:void 0});function u(e){++f,rn(e),c&&(c[e.target._reqno]=void 0),l[e.target._reqno]=e.target.error}function a(e){var t=e.target;c[t._reqno]=t.result}var s,c=x&&O(b||fn(k.primaryKey,{type:g,keys:b,values:_})),l=[],f=0;if("deleteRange"===g){if(4===w.type)return n({numFailures:f,failures:l,results:c,lastResult:void 0});s=3===w.type?t.clear():t.delete(E(w))}else{var h=i?r?[_,b]:[_,null]:[b,null],p=h[0],d=h[1];if(i)for(var y=0;y<o;++y)(s=d&&void 0!==d[y]?t[g](p[y],d[y]):t[g](p[y]))._reqno=y,c&&void 0===c[y]&&(s.onsuccess=a),s.onerror=u;else for(y=0;y<o;++y)(s=t[g](p[y]))._reqno=y,s.onerror=u}function v(e){var t=e.target.result;c&&(c[o-1]=t),n({numFailures:f,failures:l,results:c,lastResult:t})}s.onerror=function(e){u(e),v(e)},s.onsuccess=v})},getMany:function(e){var f=e.trans,h=e.keys;return new Promise(function(n,e){n=Xe(n);for(var t,r=f.objectStore(P),i=h.length,o=new Array(i),u=0,a=0,s=function(e){var t=e.target;null!=(o[t._pos]=t.result)&&0,++a===u&&n(o)},c=nn(e),l=0;l<i;++l){null!=h[l]&&((t=r.get(h[l]))._pos=l,t.onsuccess=s,t.onerror=c,++u)}0===u&&n(o)})},get:function(e){var r=e.trans,i=e.key;return new Promise(function(t,e){t=Xe(t);var n=r.objectStore(P).get(i);n.onsuccess=function(e){return t(e.target.result)},n.onerror=nn(e)})},query:(m=f,function(v){return new Promise(function(n,e){n=Xe(n);var t,r,i,o,u=v.trans,a=v.values,s=v.limit,c=v.query,l=s===1/0?void 0:s,f=c.index,h=c.range,p=u.objectStore(P),d=f.isPrimaryKey?p:p.index(f.name),y=E(h);if(0===s)return n({result:[]});m?((t=a?d.getAll(y,l):d.getAllKeys(y,l)).onsuccess=function(e){return n({result:e.target.result})},t.onerror=nn(e)):(r=0,i=!a&&"openKeyCursor"in d?d.openKeyCursor(y):d.openCursor(y),o=[],i.onsuccess=function(e){var t=i.result;return t?(o.push(a?t.value:t.primaryKey),++r===s?n({result:o}):void t.continue()):n({result:o})},i.onerror=nn(e))})}),openCursor:function(e){var c=e.trans,a=e.values,l=e.query,f=e.reverse,h=e.unique;return new Promise(function(t,n){t=Xe(t);var e=l.index,r=l.range,i=c.objectStore(P),o=e.isPrimaryKey?i:i.index(e.name),u=f?h?"prevunique":"prev":h?"nextunique":"next",s=!a&&"openKeyCursor"in o?o.openKeyCursor(E(r),u):o.openCursor(E(r),u);s.onerror=nn(n),s.onsuccess=Xe(function(e){var r,i,o,u,a=s.result;a?(a.___id=++pn,a.done=!1,r=a.continue.bind(a),i=(i=a.continuePrimaryKey)&&i.bind(a),o=a.advance.bind(a),u=function(){throw new Error("Cursor not stopped")},a.trans=c,a.stop=a.continue=a.continuePrimaryKey=a.advance=function(){throw new Error("Cursor not started")},a.fail=Xe(n),a.next=function(){var e=this,t=1;return this.start(function(){return t--?e.continue():e.stop()}).then(function(){return e})},a.start=function(e){function t(){if(s.result)try{e()}catch(e){a.fail(e)}else a.done=!0,a.start=function(){throw new Error("Cursor behind last entry")},a.stop()}var n=new Promise(function(t,e){t=Xe(t),s.onerror=nn(e),a.fail=e,a.stop=function(e){a.stop=a.continue=a.continuePrimaryKey=a.advance=u,t(e)}});return s.onsuccess=Xe(function(e){(s.onsuccess=t)()}),a.continue=r,a.continuePrimaryKey=i,a.advance=o,t(),n},t(a)):t(null)},n)})},count:function(e){var t=e.query,u=e.trans,a=t.index,s=t.range;return new Promise(function(t,e){var n=u.objectStore(P),r=a.isPrimaryKey?n:n.index(a.name),i=E(s),o=i?r.count(i):r.count();o.onsuccess=Xe(function(e){return t(e.target.result)}),o.onerror=nn(e)})}}}var u,a,s,c=(a=n,s=hn((u=e).objectStoreNames),{schema:{name:u.name,tables:s.map(function(e){return a.objectStore(e)}).map(function(t){var e=t.keyPath,n=t.autoIncrement,r=d(e),i=null==e,u={},o={name:t.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:e,autoIncrement:n,unique:!0,extractKey:ln(e)},indexes:hn(t.indexNames).map(function(e){return t.index(e)}).map(function(e){var t=e.name,n=e.unique,r=e.multiEntry,i=e.keyPath,o={name:t,compound:d(i),keyPath:i,unique:n,multiEntry:r,extractKey:ln(i)};return u[dn(i)]=o}),getIndexByKeyPath:function(e){return u[dn(e)]}};return u[":id"]=o.primaryKey,null!=e&&(u[dn(e)]=o.primaryKey),o})},hasGetAll:0<s.length&&"getAll"in a.objectStore(s[0])&&!("undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),l=c.schema,f=c.hasGetAll,h=l.tables.map(i),p={};return h.forEach(function(e){return p[e.name]=e}),{stack:"dbcore",transaction:e.transaction.bind(e),table:function(e){if(!p[e])throw new Error("Table '"+e+"' not found");return p[e]},cmp:r,MIN_KEY:-1/0,MAX_KEY:tn(o),schema:l}}function vn(e,t,n,r){var i,o=n.IDBKeyRange,u=n.indexedDB;return{dbcore:(i=yn(t,u,o,r),e.dbcore.reduce(function(e,t){var n=t.create;return m(m({},e),n(e))},i))}}function mn(n,e){var t=e.db,r=vn(n._middlewares,t,n._deps,e);n.core=r.dbcore,n.tables.forEach(function(e){var t=e.name;n.core.schema.tables.some(function(e){return e.name===t})&&(e.core=n.core.table(t),n[t]instanceof n.Table&&(n[t].core=e.core))})}function gn(i,e,t,o){t.forEach(function(n){var r=o[n];e.forEach(function(e){var t=l(e,n);(!t||"value"in t&&void 0===t.value)&&(e===i.Transaction.prototype||e instanceof i.Transaction?a(e,n,{get:function(){return this.table(n)},set:function(e){u(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):e[n]=new i.Table(n,r))})})}function bn(n,e){e.forEach(function(e){for(var t in e)e[t]instanceof n.Table&&delete e[t]})}function _n(e,t){return e._cfg.version-t._cfg.version}function wn(n,r,i,e){var o=n._dbSchema,u=n._createTransaction("readwrite",n._storeNames,o);u.create(i),u._completion.catch(e);var a=u._reject.bind(u),s=Te.transless||Te;rt(function(){var c,l,f,h,t,e,p,d;Te.trans=u,Te.transless=s,0===r?(_(o).forEach(function(e){kn(i,e,o[e].primKey,o[e].indexes)}),mn(n,i),Fe.follow(function(){return n.on.populate.fire(u)}).catch(a)):(l=r,f=u,h=i,t=[],e=(c=n)._versions,p=c._dbSchema=En(0,c.idbdb,h),d=!1,e.filter(function(e){return e._cfg.version>=l}).forEach(function(s){t.push(function(){var t=p,e=s._cfg.dbschema;On(c,t,h),On(c,e,h),p=c._dbSchema=e;var n=xn(t,e);n.add.forEach(function(e){kn(h,e[0],e[1].primKey,e[1].indexes)}),n.change.forEach(function(e){if(e.recreate)throw new te.Upgrade("Not yet support for changing primary key");var t=h.objectStore(e.name);e.add.forEach(function(e){return Pn(t,e)}),e.change.forEach(function(e){t.deleteIndex(e.name),Pn(t,e)}),e.del.forEach(function(e){return t.deleteIndex(e)})});var r=s._cfg.contentUpgrade;if(r&&s._cfg.version>l){mn(c,h),f._memoizedTables={},d=!0;var i=E(e);n.del.forEach(function(e){i[e]=t[e]}),bn(c,[c.Transaction.prototype]),gn(c,[c.Transaction.prototype],_(i),i),f.schema=i;var o,u=M(r);u&&it();var a=Fe.follow(function(){var e;(o=r(f))&&u&&(e=ot.bind(null,null),o.then(e,e))});return o&&"function"==typeof o.then?Fe.resolve(o):a.then(function(){return o})}}),t.push(function(e){d&&kt||function(e,t){for(var n=0;n<t.db.objectStoreNames.length;++n){var r=t.db.objectStoreNames[n];null==e[r]&&t.db.deleteObjectStore(r)}}(s._cfg.dbschema,e),bn(c,[c.Transaction.prototype]),gn(c,[c.Transaction.prototype],c._storeNames,c._dbSchema),f.schema=c._dbSchema})}),function e(){return t.length?Fe.resolve(t.shift()(f.idbtrans)).then(e):Fe.resolve()}().then(function(){var t,n;n=h,_(t=p).forEach(function(e){n.db.objectStoreNames.contains(e)||kn(n,e,t[e].primKey,t[e].indexes)})}).catch(a))})}function xn(e,t){var n,r={del:[],add:[],change:[]};for(n in e)t[n]||r.del.push(n);for(n in t){var i=e[n],o=t[n];if(i){var u={name:n,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(o.primKey.keyPath||"")||i.primKey.auto!==o.primKey.auto&&!xt)u.recreate=!0,r.change.push(u);else{var a=i.idxByName,s=o.idxByName,c=void 0;for(c in a)s[c]||u.del.push(c);for(c in s){var l=a[c],f=s[c];l?l.src!==f.src&&u.change.push(f):u.add.push(f)}(0<u.del.length||0<u.add.length||0<u.change.length)&&r.change.push(u)}}else r.add.push([n,o])}return r}function kn(e,t,n,r){var i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach(function(e){return Pn(i,e)}),i}function Pn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function En(e,t,s){var c={};return p(t.objectStoreNames,0).forEach(function(e){for(var t=s.objectStore(e),n=an(sn(u=t.keyPath),u||"",!1,!1,!!t.autoIncrement,u&&"string"!=typeof u,!0),r=[],i=0;i<t.indexNames.length;++i){var o=t.index(t.indexNames[i]),u=o.keyPath,a=an(o.name,u,!!o.unique,!!o.multiEntry,!1,u&&"string"!=typeof u,!1);r.push(a)}c[e]=cn(e,n,r)}),c}function On(e,t,n){for(var r=n.db.objectStoreNames,i=0;i<r.length;++i){var o=r[i],u=n.objectStore(o);e._hasGetAll="getAll"in u;for(var a=0;a<u.indexNames.length;++a){var s,c=u.indexNames[a],l=u.index(c).keyPath,f="string"==typeof l?l:"["+p(l).join("+")+"]";!t[o]||(s=t[o].idxByName[f])&&(s.name=c,delete t[o].idxByName[f],t[o].idxByName[c]=s)}}"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&h.WorkerGlobalScope&&h instanceof h.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var jn,Sn=(An.prototype._parseStoresSpec=function(r,i){_(r).forEach(function(e){if(null!==r[e]){var t=r[e].split(",").map(function(e,t){var n=(e=e.trim()).replace(/([&*]|\+\+)/g,""),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return an(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),d(r),0===t)}),n=t.shift();if(n.multi)throw new te.Schema("Primary key cannot be multi-valued");t.forEach(function(e){if(e.auto)throw new te.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new te.Schema("Index must have a name and cannot be an empty string")}),i[e]=cn(e,n,t)}})},An.prototype.stores=function(e){var t=this.db;this._cfg.storesSource=this._cfg.storesSource?s(this._cfg.storesSource,e):e;var n=t._versions,r={},i={};return n.forEach(function(e){s(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)}),t._dbSchema=i,bn(t,[t._allTables,t,t.Transaction.prototype]),gn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],_(i),i),t._storeNames=_(i),this},An.prototype.upgrade=function(e){return this._cfg.contentUpgrade=e,this},An);function An(){}function Kn(e){return rt(function(){return Te.letThrough=!0,e()})}function Cn(c){var l=c._state,i=c._deps.indexedDB;if(l.isBeingOpened||c.idbdb)return l.dbReadyPromise.then(function(){return l.dbOpenError?vt(l.dbOpenError):c});N&&(l.openCanceller._stackHolder=z()),l.isBeingOpened=!0,l.dbOpenError=null,l.openComplete=!1;var e=l.dbReadyResolve,f=null;return Fe.race([l.openCanceller,new Fe(function(u,r){if(!i)throw new te.MissingAPI("indexedDB API not found. If using IE10+, make sure to run your code on a server URL (not locally). If using old Safari versions, make sure to include indexedDB polyfill.");var a=c.name,s=l.autoSchema?i.open(a):i.open(a,Math.round(10*c.verno));if(!s)throw new te.MissingAPI("IndexedDB API not available");s.onerror=nn(r),s.onblocked=Xe(c._fireOnBlocked),s.onupgradeneeded=Xe(function(e){var t,n;f=s.transaction,l.autoSchema&&!c._options.allowEmptyDB?(s.onerror=rn,f.abort(),s.result.close(),(t=i.deleteDatabase(a)).onsuccess=t.onerror=Xe(function(){r(new te.NoSuchDatabase("Database "+a+" doesnt exist"))})):(f.onerror=nn(r),n=e.oldVersion>Math.pow(2,62)?0:e.oldVersion,c.idbdb=s.result,wn(c,n/10,f,r))},r),s.onsuccess=Xe(function(){f=null;var e,t,n,r=c.idbdb=s.result,i=p(r.objectStoreNames);if(0<i.length)try{var o=r.transaction(en(i),"readonly");l.autoSchema?function(e,t,n){e.verno=t.version/10;var r=e._dbSchema=En(0,t,n);e._storeNames=p(t.objectStoreNames,0),gn(e,[e._allTables],_(r),r)}(c,r,o):(On(c,c._dbSchema,o),t=o,((n=xn(En(0,(e=c).idbdb,t),e._dbSchema)).add.length||n.change.some(function(e){return e.add.length||e.change.length}))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),mn(c,o)}catch(e){}wt.push(c),r.onversionchange=Xe(function(e){l.vcFired=!0,c.on("versionchange").fire(e)}),jn.add(a),u()},r)})]).then(function(){return l.onReadyBeingFired=[],Fe.resolve(Kn(c.on.ready.fire)).then(function e(){if(0<l.onReadyBeingFired.length){var t=l.onReadyBeingFired.reduce(he,ie);return l.onReadyBeingFired=[],Fe.resolve(Kn(t)).then(e)}})}).finally(function(){l.onReadyBeingFired=null}).then(function(){return l.isBeingOpened=!1,c}).catch(function(e){try{f&&f.abort()}catch(e){}return l.isBeingOpened=!1,c.close(),l.dbOpenError=e,vt(l.dbOpenError)}).finally(function(){l.openComplete=!0,e()})}function In(t){function e(e){return t.next(e)}var i=n(e),o=n(function(e){return t.throw(e)});function n(r){return function(e){var t=r(e),n=t.value;return t.done?n:n&&"function"==typeof n.then?n.then(i,o):d(n)?Promise.all(n).then(i,o):i(n)}}return n(e)()}function Tn(e,t,n){for(var r=d(e)?e.slice():[e],i=0;i<n;++i)r.push(t);return r}var Dn={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(f){return m(m({},f),{table:function(e){var u=f.table(e),t=u.schema,s={},c=[];function l(e,t,n){var r=dn(e),i=s[r]=s[r]||[],o=null==e?0:"string"==typeof e?1:e.length,u=0<t,a=m(m({},n),{isVirtual:u,isPrimaryKey:!u&&n.isPrimaryKey,keyTail:t,keyLength:o,extractKey:ln(e),unique:!u&&n.unique});return i.push(a),a.isPrimaryKey||c.push(a),1<o&&l(2===o?e[0]:e.slice(0,o-1),t+1,n),i.sort(function(e,t){return e.keyTail-t.keyTail}),a}var n=l(t.primaryKey.keyPath,0,t.primaryKey);s[":id"]=[n];for(var r=0,i=t.indexes;r<i.length;r++){var o=i[r];l(o.keyPath,0,o)}function a(e){var t,n,r=e.query.index;return r.isVirtual?m(m({},e),{query:{index:r,range:(t=e.query.range,n=r.keyTail,{type:1===t.type?2:t.type,lower:Tn(t.lower,t.lowerOpen?f.MAX_KEY:f.MIN_KEY,n),lowerOpen:!0,upper:Tn(t.upper,t.upperOpen?f.MIN_KEY:f.MAX_KEY,n),upperOpen:!0})}}):e}return m(m({},u),{schema:m(m({},t),{primaryKey:n,indexes:c,getIndexByKeyPath:function(e){var t=s[dn(e)];return t&&t[0]}}),count:function(e){return u.count(a(e))},query:function(e){return u.query(a(e))},openCursor:function(t){var e=t.query.index,r=e.keyTail,n=e.isVirtual,i=e.keyLength;if(!n)return u.openCursor(t);function o(n){return Object.create(n,{continue:{value:function(e){null!=e?n.continue(Tn(e,t.reverse?f.MAX_KEY:f.MIN_KEY,r)):t.unique?n.continue(Tn(n.key,t.reverse?f.MIN_KEY:f.MAX_KEY,r)):n.continue()}},continuePrimaryKey:{value:function(e,t){n.continuePrimaryKey(Tn(e,f.MAX_KEY,r),t)}},key:{get:function(){var e=n.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:function(){return n.value}}})}return u.openCursor(a(t)).then(function(e){return e&&o(e)})}})}})}},Bn={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(e){return m(m({},e),{table:function(r){var a=e.table(r),v=a.schema.primaryKey;return m(m({},a),{mutate:function(t){var e=Te.trans,n=e.table(r).hook,p=n.deleting,d=n.creating,y=n.updating;switch(t.type){case"add":if(d.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"put":if(d.fire===ie&&y.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"delete":if(p.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"deleteRange":if(p.fire===ie)break;return e._promise("readwrite",function(){return function n(r,i,o){return a.query({trans:r,values:!1,query:{index:v,range:i},limit:o}).then(function(e){var t=e.result;return u({type:"delete",keys:t,trans:r}).then(function(e){return 0<e.numFailures?Promise.reject(e.failures[0]):t.length<o?{failures:[],numFailures:0,lastResult:void 0}:n(r,m(m({},i),{lower:t[t.length-1],lowerOpen:!0}),o)})})}((e=t).trans,e.range,1e4);var e},!0)}return a.mutate(t);function u(l){var e,t,n,f=Te.trans,h=l.keys||fn(v,l);if(!h)throw new Error("Keys missing");return"delete"!==(l="add"===l.type||"put"===l.type?m(m({},l),{keys:h,wantResults:!0}):m({},l)).type&&(l.values=O(l.values)),l.keys&&(l.keys=O(l.keys)),e=a,n=h,("add"===(t=l).type?Promise.resolve(new Array(t.values.length)):e.getMany({trans:t.trans,keys:n})).then(function(s){var c=h.map(function(e,t){var n,r,i,o,u=s[t],a={onerror:null,onsuccess:null};return"delete"===l.type?p.fire.call(a,e,u,f):"add"===l.type||void 0===u?(n=d.fire.call(a,e,l.values[t],f),null==e&&null!=n&&(e=n,l.keys[t]=e,v.outbound||k(l.values[t],v.keyPath,e))):(r=D(u,l.values[t]),(i=y.fire.call(a,r,e,u,f))&&(o=l.values[t],Object.keys(i).forEach(function(e){g(o,e)?o[e]=i[e]:k(o,e,i[e])}))),a});return a.mutate(l).then(function(e){for(var t=e.failures,n=e.results,r=e.numFailures,i=e.lastResult,o=0;o<h.length;++o){var u=n?n[o]:h[o],a=c[o];null==u?a.onerror&&a.onerror(t[o]):a.onsuccess&&a.onsuccess("put"===l.type&&s[o]?l.values[o]:u)}return{failures:t,results:n,numFailures:r,lastResult:i}}).catch(function(t){return c.forEach(function(e){return e.onerror&&e.onerror(t)}),Promise.reject(t)})})}}})}})}},Rn=(Fn.prototype.version=function(t){if(isNaN(t)||t<.1)throw new te.Type("Given version is not a positive number");if(t=Math.round(10*t)/10,this.idbdb||this._state.isBeingOpened)throw new te.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,t);var e=this._versions,n=e.filter(function(e){return e._cfg.version===t})[0];return n||(n=new this.Version(t),e.push(n),e.sort(_n),n.stores({}),this._state.autoSchema=!1,n)},Fn.prototype._whenReady=function(e){var n=this;return this._state.openComplete||Te.letThrough?e():new Fe(function(e,t){if(!n._state.isBeingOpened){if(!n._options.autoOpen)return void t(new te.DatabaseClosed);n.open().catch(ie)}n._state.dbReadyPromise.then(e,t)}).then(e)},Fn.prototype.use=function(e){var t=e.stack,n=e.create,r=e.level,i=e.name;i&&this.unuse({stack:t,name:i});var o=this._middlewares[t]||(this._middlewares[t]=[]);return o.push({stack:t,create:n,level:null==r?10:r,name:i}),o.sort(function(e,t){return e.level-t.level}),this},Fn.prototype.unuse=function(e){var t=e.stack,n=e.name,r=e.create;return t&&this._middlewares[t]&&(this._middlewares[t]=this._middlewares[t].filter(function(e){return r?e.create!==r:!!n&&e.name!==n})),this},Fn.prototype.open=function(){return Cn(this)},Fn.prototype.close=function(){var e=wt.indexOf(this),n=this._state;if(0<=e&&wt.splice(e,1),this.idbdb){try{this.idbdb.close()}catch(e){}this.idbdb=null}this._options.autoOpen=!1,n.dbOpenError=new te.DatabaseClosed,n.isBeingOpened&&n.cancelOpen(n.dbOpenError),n.dbReadyPromise=new Fe(function(e){n.dbReadyResolve=e}),n.openCanceller=new Fe(function(e,t){n.cancelOpen=t})},Fn.prototype.delete=function(){var r=this,i=0<arguments.length,o=this._state;return new Fe(function(t,n){function e(){r.close();var e=r._deps.indexedDB.deleteDatabase(r.name);e.onsuccess=Xe(function(){jn.remove(r.name),t()}),e.onerror=nn(n),e.onblocked=r._fireOnBlocked}if(i)throw new te.InvalidArgument("Arguments not allowed in db.delete()");o.isBeingOpened?o.dbReadyPromise.then(e):e()})},Fn.prototype.backendDB=function(){return this.idbdb},Fn.prototype.isOpen=function(){return null!==this.idbdb},Fn.prototype.hasBeenClosed=function(){var e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name},Fn.prototype.hasFailed=function(){return null!==this._state.dbOpenError},Fn.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(Fn.prototype,"tables",{get:function(){var t=this;return _(this._allTables).map(function(e){return t._allTables[e]})},enumerable:!0,configurable:!0}),Fn.prototype.transaction=function(){var e=function(e,t,n){var r=arguments.length;if(r<2)throw new te.InvalidArgument("Too few arguments");for(var i=new Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,j(i),n]}.apply(this,arguments);return this._transaction.apply(this,e)},Fn.prototype._transaction=function(e,t,n){var r=this,i=Te.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);var o,u,a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(u=t.map(function(e){var t=e instanceof r.Table?e.name:e;if("string"!=typeof t)throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===Ot)o=Ot;else{if("rw"!=e&&e!=jt)throw new te.InvalidArgument("Invalid transaction mode: "+e);o=jt}if(i){if(i.mode===Ot&&o===jt){if(!a)throw new te.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&u.forEach(function(e){if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new te.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(n){return i?i._promise(null,function(e,t){t(n)}):vt(n)}var s=function(u,a,s,c,l){return Fe.resolve().then(function(){var e=Te.transless||Te,t=u._createTransaction(a,s,u._dbSchema,c),n={trans:t,transless:e};c?t.idbtrans=c.idbtrans:t.create();var r,i=M(l);i&&it();var o=Fe.follow(function(){var e;(r=l.call(t,t))&&(i?(e=ot.bind(null,null),r.then(e,e)):"function"==typeof r.next&&"function"==typeof r.throw&&(r=In(r)))},n);return(r&&"function"==typeof r.then?Fe.resolve(r).then(function(e){return t.active?e:vt(new te.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):o.then(function(){return r})).then(function(e){return c&&t._resolve(),t._completion.then(function(){return e})}).catch(function(e){return t._reject(e),vt(e)})})}.bind(null,this,o,u,i,n);return i?i._promise(o,s,"lock"):Te.trans?lt(Te.transless,function(){return r._whenReady(s)}):this._whenReady(s)},Fn.prototype.table=function(e){if(!g(this._allTables,e))throw new te.InvalidTable("Table "+e+" does not exist");return this._allTables[e]},Fn);function Fn(e,t){var o=this;this._middlewares={},this.verno=0;var n=Fn.dependencies;this._options=t=m({addons:Fn.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange},t),this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};var r=t.addons;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={};var a,i,u,s,c,l={dbOpenError:this.idbdb=null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ie,dbReadyPromise:null,cancelOpen:ie,openCanceller:null,autoSchema:!0};l.dbReadyPromise=new Fe(function(e){l.dbReadyResolve=e}),l.openCanceller=new Fe(function(e,t){l.cancelOpen=t}),this._state=l,this.name=e,this.on=Tt(this,"populate","blocked","versionchange",{ready:[he,ie]}),this.on.ready.subscribe=y(this.on.ready.subscribe,function(i){return function(n,r){Fn.vip(function(){var t,e=o._state;e.openComplete?(e.dbOpenError||Fe.resolve().then(n),r&&i(n)):e.onReadyBeingFired?(e.onReadyBeingFired.push(n),r&&i(n)):(i(n),t=o,r||i(function e(){t.on.ready.unsubscribe(n),t.on.ready.unsubscribe(e)}))})}}),this.Collection=(a=this,Dt(Vt.prototype,function(e,t){this.db=a;var n=At,r=null;if(t)try{n=t()}catch(e){r=e}var i=e._ctx,o=i.table,u=o.hook.reading.fire;this._ctx={table:o,index:i.index,isPrimKey:!i.index||o.schema.primKey.keyPath&&i.index===o.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:u!==oe?u:null}})),this.Table=(i=this,Dt(Ct.prototype,function(e,t,n){this.db=i,this._tx=n,this.name=e,this.schema=t,this.hook=i._allTables[e]?i._allTables[e].hook:Tt(null,{creating:[se,ie],reading:[ue,oe],updating:[le,ie],deleting:[ce,ie]})})),this.Transaction=(u=this,Dt(on.prototype,function(e,t,n,r){var i=this;this.db=u,this.mode=e,this.storeNames=t,this.schema=n,this.idbtrans=null,this.on=Tt(this,"complete","error","abort"),this.parent=r||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 Fe(function(e,t){i._resolve=e,i._reject=t}),this._completion.then(function(){i.active=!1,i.on.complete.fire()},function(e){var t=i.active;return i.active=!1,i.on.error.fire(e),i.parent?i.parent._reject(e):t&&i.idbtrans&&i.idbtrans.abort(),vt(e)})})),this.Version=(s=this,Dt(Sn.prototype,function(e){this.db=s,this._cfg={version:e,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(c=this,Dt($t.prototype,function(e,t,n){this.db=c,this._ctx={table:e,index:":id"===t?null:t,or:n};var r=c._deps.indexedDB;if(!r)throw new te.MissingAPI("indexedDB API missing");this._cmp=this._ascending=r.cmp.bind(r),this._descending=function(e,t){return r.cmp(t,e)},this._max=function(e,t){return 0<r.cmp(e,t)?e:t},this._min=function(e,t){return r.cmp(e,t)<0?e:t},this._IDBKeyRange=c._deps.IDBKeyRange})),this.on("versionchange",function(e){0<e.newVersion?console.warn("Another connection wants to upgrade database '"+o.name+"'. Closing db now to resume the upgrade."):console.warn("Another connection wants to delete database '"+o.name+"'. Closing db now to resume the delete request."),o.close()}),this.on("blocked",function(e){!e.newVersion||e.newVersion<e.oldVersion?console.warn("Dexie.delete('"+o.name+"') was blocked"):console.warn("Upgrade '"+o.name+"' blocked by other connection holding version "+e.oldVersion/10)}),this._maxKey=tn(t.IDBKeyRange),this._createTransaction=function(e,t,n,r){return new o.Transaction(e,t,n,r)},this._fireOnBlocked=function(t){o.on("blocked").fire(t),wt.filter(function(e){return e.name===o.name&&e!==o&&!e._state.vcFired}).map(function(e){return e.on("versionchange").fire(t)})},this.use(Dn),this.use(Bn),r.forEach(function(e){return e(o)})}var qn=Rn;return i(qn,m(m({},re),{delete:function(e){return new qn(e).delete()},exists:function(e){return new qn(e,{addons:[]}).open().then(function(e){return e.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(e){return jn?jn.getDatabaseNames().then(e):Fe.resolve([])},defineClass:function(){return function(e){s(this,e)}},ignoreTransaction:function(e){return Te.trans?lt(Te.transless,e):e()},vip:Kn,async:function(t){return function(){try{var e=In(t.apply(this,arguments));return e&&"function"==typeof e.then?e:Fe.resolve(e)}catch(e){return vt(e)}}},spawn:function(e,t,n){try{var r=In(e.apply(n,t||[]));return r&&"function"==typeof r.then?r:Fe.resolve(r)}catch(e){return vt(e)}},currentTransaction:{get:function(){return Te.trans||null}},waitFor:function(e,t){var n=Fe.resolve("function"==typeof e?qn.ignoreTransaction(e):e).timeout(t||6e4);return Te.trans?Te.trans.waitFor(n):n},Promise:Fe,debug:{get:function(){return N},set:function(e){U(e,"dexie"===e?function(){return!0}:mt)}},derive:o,extend:s,props:i,override:y,Events:Tt,getByKeyPath:x,setByKeyPath:k,delByKeyPath:P,shallowClone:E,deepClone:K,getObjectDiff:D,asap:b,minKey:-1/0,addons:[],connections:wt,errnames:Z,dependencies:function(){try{return{indexedDB:h.indexedDB||h.mozIndexedDB||h.webkitIndexedDB||h.msIndexedDB,IDBKeyRange:h.IDBKeyRange||h.webkitIDBKeyRange}}catch(e){return{indexedDB:null,IDBKeyRange:null}}}(),semVer:"3.0.3",version:"3.0.3".split(".").map(function(e){return parseInt(e)}).reduce(function(e,t,n){return e+t/Math.pow(10,2*n)}),default:qn,Dexie:qn})),qn.maxKey=tn(qn.dependencies.IDBKeyRange),function(e){try{(i=(t=e)&&"function"==typeof t.databases)||((r=new Rn(Et,{addons:[]})).version(1).stores({dbnames:"name"}),n=r.table("dbnames")),jn={getDatabaseNames:function(){return i?Fe.resolve(t.databases()).then(function(e){return e.map(function(e){return e.name}).filter(function(e){return e!==Et})}):n.toCollection().primaryKeys()},add:function(e){return!i&&e!==Et&&n.put({name:e}).catch(ie)},remove:function(e){return!i&&e!==Et&&n.delete(e).catch(ie)}}}catch(e){}var t,n,r,i}(Rn.dependencies.indexedDB),Fe.rejectionMapper=function(e,t){if(!e||e instanceof Q||e instanceof TypeError||e instanceof SyntaxError||!e.name||!ne[e.name])return e;var n=new ne[e.name](t||e.message,e);return"stack"in e&&a(n,"stack",{get:function(){return this.inner.stack}}),n},U(N,mt),Rn});
1
+ (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Dexie=t()})(this,function(){"use strict";var m=function(){return(m=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function O(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),i=0,t=0;t<n;t++)for(var o=arguments[t],u=0,a=o.length;u<a;u++,i++)r[i]=o[u];return r}var _=Object.keys,d=Array.isArray,h="undefined"!=typeof self?self:"undefined"!=typeof window?window:global;function s(t,n){return"object"!=typeof n||_(n).forEach(function(e){t[e]=n[e]}),t}"undefined"==typeof Promise||h.Promise||(h.Promise=Promise);var r=Object.getPrototypeOf,n={}.hasOwnProperty;function g(e,t){return n.call(e,t)}function i(t,n){"function"==typeof n&&(n=n(r(t))),_(n).forEach(function(e){a(t,e,n[e])})}var u=Object.defineProperty;function a(e,t,n,r){u(e,t,s(n&&g(n,"get")&&"function"==typeof n.get?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function o(t){return{from:function(e){return t.prototype=Object.create(e.prototype),a(t.prototype,"constructor",t),{extend:i.bind(null,t.prototype)}}}}var c=Object.getOwnPropertyDescriptor;function l(e,t){var n;return c(e,t)||(n=r(e))&&l(n,t)}var f=[].slice;function p(e,t,n){return f.call(e,t,n)}function y(e,t){return t(e)}function v(e){if(!e)throw new Error("Assertion Failed")}function b(e){h.setImmediate?setImmediate(e):setTimeout(e,0)}function w(e,i){return e.reduce(function(e,t,n){var r=i(t,n);return r&&(e[r[0]]=r[1]),e},{})}function x(e,t){if(g(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var n=[],r=0,i=t.length;r<i;++r){var o=x(e,t[r]);n.push(o)}return n}var u=t.indexOf(".");if(-1!==u){var a=e[t.substr(0,u)];return void 0===a?void 0:x(a,t.substr(u+1))}}function k(e,t,n){if(e&&void 0!==t&&!("isFrozen"in Object&&Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){v("string"!=typeof n&&"length"in n);for(var r=0,i=t.length;r<i;++r)k(e,t[r],n[r])}else{var o,u,a,s=t.indexOf(".");-1!==s?(o=t.substr(0,s),""===(u=t.substr(s+1))?void 0===n?d(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n:((a=e[o])&&g(e,o)||(a=e[o]={}),k(a,u,n))):void 0===n?d(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}function P(t,e){"string"==typeof e?k(t,e,void 0):"length"in e&&[].map.call(e,function(e){k(t,e,void 0)})}function E(e){var t={};for(var n in e)g(e,n)&&(t[n]=e[n]);return t}var t=[].concat;function j(e){return t.apply([],e)}var e="Boolean,String,Date,RegExp,Blob,File,FileList,ArrayBuffer,DataView,Uint8ClampedArray,ImageData,Map,Set".split(",").concat(j([8,16,32,64].map(function(t){return["Int","Uint","Float"].map(function(e){return e+t+"Array"})}))).filter(function(e){return h[e]}),S=e.map(function(e){return h[e]}),A=w(e,function(e){return[e,!0]});function K(e){if(!e||"object"!=typeof e)return e;var t;if(d(e)){t=[];for(var n=0,r=e.length;n<r;++n)t.push(K(e[n]))}else if(0<=S.indexOf(e.constructor))t=e;else for(var i in t=e.constructor?Object.create(e.constructor.prototype):{},e)g(e,i)&&(t[i]=K(e[i]));return t}var C={}.toString;function I(e){return C.call(e).slice(8,-1)}var T=function(e,t){return"Array"===t?""+e.map(function(e){return T(e,I(e))}):"ArrayBuffer"===t?""+new Uint8Array(e):"Date"===t?e.getTime():ArrayBuffer.isView(e)?""+new Uint8Array(e.buffer):e};function D(o,u,a,s){return a=a||{},s=s||"",_(o).forEach(function(e){var t,n,r,i;g(u,e)?(t=o[e],n=u[e],"object"==typeof t&&"object"==typeof n&&t&&n?(r=I(t))===(i=I(n))?A[r]?T(t,r)!==T(n,i)&&(a[s+e]=u[e]):D(t,n,a,s+e+"."):a[s+e]=u[e]:t!==n&&(a[s+e]=u[e])):a[s+e]=void 0}),_(u).forEach(function(e){g(o,e)||(a[s+e]=u[e])}),a}var B="undefined"!=typeof Symbol&&Symbol.iterator,R=B?function(e){var t;return null!=e&&(t=e[B])&&t.apply(e)}:function(){return null},F={};function q(e){var t,n,r,i;if(1===arguments.length){if(d(e))return e.slice();if(this===F&&"string"==typeof e)return[e];if(i=R(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(null==e)return[e];if("number"!=typeof(t=e.length))return[e];for(n=new Array(t);t--;)n[t]=e[t];return n}for(t=arguments.length,n=new Array(t);t--;)n[t]=arguments[t];return n}var M="undefined"!=typeof Symbol?function(e){return"AsyncFunction"===e[Symbol.toStringTag]}:function(){return!1},N="undefined"!=typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function U(e,t){N=e,V=t}var V=function(){return!0},W=!new Error("").stack;function z(){if(W)try{throw new Error}catch(e){return e}return new Error}function L(e,t){var n=e.stack;return n?(t=t||0,0===n.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),n.split("\n").slice(t).filter(V).map(function(e){return"\n"+e}).join("")):""}var Y=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],G=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(Y),H={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed"};function Q(e,t){this._e=z(),this.name=e,this.message=t}function X(e,t){return e+". Errors: "+Object.keys(t).map(function(e){return t[e].toString()}).filter(function(e,t,n){return n.indexOf(e)===t}).join("\n")}function J(e,t,n,r){this._e=z(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=X(e,t)}function $(e,t){this._e=z(),this.name="BulkError",this.failures=t,this.message=X(e,t)}o(Q).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+L(this._e,2))}},toString:function(){return this.name+": "+this.message}}),o(J).from(Q),o($).from(Q);var Z=G.reduce(function(e,t){return e[t]=t+"Error",e},{}),ee=Q,te=G.reduce(function(e,n){var r=n+"Error";function t(e,t){this._e=z(),this.name=r,e?"string"==typeof e?(this.message=e+(t?"\n "+t:""),this.inner=t||null):"object"==typeof e&&(this.message=e.name+" "+e.message,this.inner=e):(this.message=H[n]||r,this.inner=null)}return o(t).from(ee),e[n]=t,e},{});te.Syntax=SyntaxError,te.Type=TypeError,te.Range=RangeError;var ne=Y.reduce(function(e,t){return e[t+"Error"]=te[t],e},{});var re=G.reduce(function(e,t){return-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=te[t]),e},{});function ie(){}function oe(e){return e}function ue(t,n){return null==t||t===oe?n:function(e){return n(t(e))}}function ae(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function se(i,o){return i===ie?o:function(){var e=i.apply(this,arguments);void 0!==e&&(arguments[0]=e);var t=this.onsuccess,n=this.onerror;this.onsuccess=null,this.onerror=null;var r=o.apply(this,arguments);return t&&(this.onsuccess=this.onsuccess?ae(t,this.onsuccess):t),n&&(this.onerror=this.onerror?ae(n,this.onerror):n),void 0!==r?r:e}}function ce(n,r){return n===ie?r:function(){n.apply(this,arguments);var e=this.onsuccess,t=this.onerror;this.onsuccess=this.onerror=null,r.apply(this,arguments),e&&(this.onsuccess=this.onsuccess?ae(e,this.onsuccess):e),t&&(this.onerror=this.onerror?ae(t,this.onerror):t)}}function le(o,u){return o===ie?u:function(e){var t=o.apply(this,arguments);s(e,t);var n=this.onsuccess,r=this.onerror;this.onsuccess=null,this.onerror=null;var i=u.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?ae(n,this.onsuccess):n),r&&(this.onerror=this.onerror?ae(r,this.onerror):r),void 0===t?void 0===i?void 0:i:s(t,i)}}function fe(e,t){return e===ie?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function he(i,o){return i===ie?o:function(){var e=i.apply(this,arguments);if(e&&"function"==typeof e.then){for(var t=this,n=arguments.length,r=new Array(n);n--;)r[n]=arguments[n];return e.then(function(){return o.apply(t,r)})}return o.apply(this,arguments)}}re.ModifyError=J,re.DexieError=Q,re.BulkError=$;var pe={},de=100,ye=100,ve="undefined"==typeof Promise?[]:function(){var e=Promise.resolve();if("undefined"==typeof crypto||!crypto.subtle)return[e,e.__proto__,e];var t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,t.__proto__,e]}(),me=ve[0],ge=ve[1],be=ve[2],_e=ge&&ge.then,we=me&&me.constructor,xe=!!be,ke=!1,Pe=be?function(){be.then(Le)}:h.setImmediate?setImmediate.bind(null,Le):h.MutationObserver?function(){var e=document.createElement("div");new MutationObserver(function(){Le(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:function(){setTimeout(Le,0)},Ee=function(e,t){De.push([e,t]),je&&(Pe(),je=!1)},Oe=!0,je=!0,Se=[],Ae=[],Ke=null,Ce=oe,Ie={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:yt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(function(e){try{yt(e[0],e[1])}catch(e){}})}},Te=Ie,De=[],Be=0,Re=[];function Fe(e){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=ie,this._lib=!1;var t=this._PSD=Te;if(N&&(this._stackHolder=z(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==pe)throw new TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&Ne(this,this._value))}this._state=null,this._value=null,++t.ref,function t(r,e){try{e(function(n){if(null===r._state){if(n===r)throw new TypeError("A promise cannot be resolved with itself.");var e=r._lib&&Ye();n&&"function"==typeof n.then?t(r,function(e,t){n instanceof Fe?n._then(e,t):n.then(e,t)}):(r._state=!0,r._value=n,Ue(r)),e&&Ge()}},Ne.bind(null,r))}catch(e){Ne(r,e)}}(this,e)}var qe={get:function(){var a=Te,t=tt;function e(n,r){var i=this,o=!a.global&&(a!==Te||t!==tt),u=o&&!ot(),e=new Fe(function(e,t){Ve(i,new Me(ht(n,a,o,u),ht(r,a,o,u),e,t,a))});return N&&ze(e,this),e}return e.prototype=pe,e},set:function(e){a(this,"then",e&&e.prototype===pe?qe:{get:function(){return e},set:qe.set})}};function Me(e,t,n,r,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r,this.psd=i}function Ne(t,n){var e,r;Ae.push(n),null===t._state&&(e=t._lib&&Ye(),n=Ce(n),t._state=!1,t._value=n,N&&null!==n&&"object"==typeof n&&!n._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}(function(){var e=l(n,"stack");n._promise=t,a(n,"stack",{get:function(){return ke?e&&(e.get?e.get.apply(n):e.value):t.stack}})}),r=t,Se.some(function(e){return e._value===r._value})||Se.push(r),Ue(t),e&&Ge())}function Ue(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)Ve(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),0===Be&&(++Be,Ee(function(){0==--Be&&He()},[]))}function Ve(e,t){if(null!==e._state){var n=e._state?t.onFulfilled:t.onRejected;if(null===n)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++Be,Ee(We,[n,e,t])}else e._listeners.push(t)}function We(e,t,n){try{var r,i=(Ke=t)._value;t._state?r=e(i):(Ae.length&&(Ae=[]),r=e(i),-1===Ae.indexOf(i)&&function(e){var t=Se.length;for(;t;)if(Se[--t]._value===e._value)return Se.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ke=null,0==--Be&&He(),--n.psd.ref||n.psd.finalize()}}function ze(e,t){var n=t?t._numPrev+1:0;n<de&&(e._prev=t,e._numPrev=n)}function Le(){Ye()&&Ge()}function Ye(){var e=Oe;return je=Oe=!1,e}function Ge(){var e,t,n;do{for(;0<De.length;)for(e=De,De=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}}while(0<De.length);je=Oe=!0}function He(){var e=Se;Se=[],e.forEach(function(e){e._PSD.onunhandled.call(null,e._value,e)});for(var t=Re.slice(0),n=t.length;n;)t[--n]()}function Qe(e){return new Fe(pe,!1,e)}function Xe(n,r){var i=Te;return function(){var e=Ye(),t=Te;try{return st(i,!0),n.apply(this,arguments)}catch(e){r&&r(e)}finally{st(t,!1),e&&Ge()}}}i(Fe.prototype,{then:qe,_then:function(e,t){Ve(this,new Me(null,null,e,t,Te))},catch:function(e){if(1===arguments.length)return this.then(null,e);var t=e,n=arguments[1];return"function"==typeof t?this.then(null,function(e){return(e instanceof t?n:Qe)(e)}):this.then(null,function(e){return(e&&e.name===t?n:Qe)(e)})},finally:function(t){return this.then(function(e){return t(),e},function(e){return t(),Qe(e)})},stack:{get:function(){if(this._stack)return this._stack;try{ke=!0;var e=function e(t,n,r){if(n.length===r)return n;var i="";{var o,u,a;!1===t._state&&(null!=(o=t._value)?(u=o.name||"Error",a=o.message||o,i=L(o,0)):(u=o,a=""),n.push(u+(a?": "+a:"")+i))}N&&((i=L(t._stackHolder,2))&&-1===n.indexOf(i)&&n.push(i),t._prev&&e(t._prev,n,r));return n}(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{ke=!1}}},timeout:function(r,i){var o=this;return r<1/0?new Fe(function(e,t){var n=setTimeout(function(){return t(new te.Timeout(i))},r);o.then(e,t).finally(clearTimeout.bind(null,n))}):this}}),"undefined"!=typeof Symbol&&Symbol.toStringTag&&a(Fe.prototype,Symbol.toStringTag,"Dexie.Promise"),Ie.env=ct(),i(Fe,{all:function(){var o=q.apply(null,arguments).map(ut);return new Fe(function(n,r){0===o.length&&n([]);var i=o.length;o.forEach(function(e,t){return Fe.resolve(e).then(function(e){o[t]=e,--i||n(o)},r)})})},resolve:function(n){if(n instanceof Fe)return n;if(n&&"function"==typeof n.then)return new Fe(function(e,t){n.then(e,t)});var e=new Fe(pe,!0,n);return ze(e,Ke),e},reject:Qe,race:function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(t,n){e.map(function(e){return Fe.resolve(e).then(t,n)})})},PSD:{get:function(){return Te},set:function(e){return Te=e}},totalEchoes:{get:function(){return tt}},newPSD:rt,usePSD:lt,scheduler:{get:function(){return Ee},set:function(e){Ee=e}},rejectionMapper:{get:function(){return Ce},set:function(e){Ce=e}},follow:function(i,n){return new Fe(function(e,t){return rt(function(n,r){var e=Te;e.unhandleds=[],e.onunhandled=r,e.finalize=ae(function(){var t,e=this;t=function(){0===e.unhandleds.length?n():r(e.unhandleds[0])},Re.push(function e(){t(),Re.splice(Re.indexOf(e),1)}),++Be,Ee(function(){0==--Be&&He()},[])},e.finalize),i()},n,e,t)})}}),we&&(we.allSettled&&a(Fe,"allSettled",function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(n){0===e.length&&n([]);var r=e.length,i=new Array(r);e.forEach(function(e,t){return Fe.resolve(e).then(function(e){return i[t]={status:"fulfilled",value:e}},function(e){return i[t]={status:"rejected",reason:e}}).then(function(){return--r||n(i)})})})}),we.any&&"undefined"!=typeof AggregateError&&a(Fe,"any",function(){var e=q.apply(null,arguments).map(ut);return new Fe(function(n,r){0===e.length&&r(new AggregateError([]));var i=e.length,o=new Array(i);e.forEach(function(e,t){return Fe.resolve(e).then(function(e){return n(e)},function(e){o[t]=e,--i||r(new AggregateError(o))})})})}));var Je={awaits:0,echoes:0,id:0},$e=0,Ze=[],et=0,tt=0,nt=0;function rt(e,t,n,r){var i=Te,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++nt;var u=Ie.env;o.env=xe?{Promise:Fe,PromiseProp:{value:Fe,configurable:!0,writable:!0},all:Fe.all,race:Fe.race,allSettled:Fe.allSettled,any:Fe.any,resolve:Fe.resolve,reject:Fe.reject,nthen:pt(u.nthen,o),gthen:pt(u.gthen,o)}:{},t&&s(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var a=lt(o,e,n,r);return 0===o.ref&&o.finalize(),a}function it(){return Je.id||(Je.id=++$e),++Je.awaits,Je.echoes+=ye,Je.id}function ot(){return!!Je.awaits&&(0==--Je.awaits&&(Je.id=0),Je.echoes=Je.awaits*ye,!0)}function ut(e){return Je.echoes&&e&&e.constructor===we?(it(),e.then(function(e){return ot(),e},function(e){return ot(),vt(e)})):e}function at(){var e=Ze[Ze.length-1];Ze.pop(),st(e,!1)}function st(e,t){var n,r,i=Te;(t?!Je.echoes||et++&&e===Te:!et||--et&&e===Te)||ft(t?function(e){++tt,Je.echoes&&0!=--Je.echoes||(Je.echoes=Je.id=0),Ze.push(Te),st(e,!0)}.bind(null,e):at),e!==Te&&(Te=e,i===Ie&&(Ie.env=ct()),xe&&(n=Ie.env.Promise,r=e.env,ge.then=r.nthen,n.prototype.then=r.gthen,(i.global||e.global)&&(Object.defineProperty(h,"Promise",r.PromiseProp),n.all=r.all,n.race=r.race,n.resolve=r.resolve,n.reject=r.reject,r.allSettled&&(n.allSettled=r.allSettled),r.any&&(n.any=r.any))))}function ct(){var e=h.Promise;return xe?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(h,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:ge.then,gthen:e.prototype.then}:{}}function lt(e,t,n,r,i){var o=Te;try{return st(e,!0),t(n,r,i)}finally{st(o,!1)}}function ft(e){_e.call(me,e)}function ht(t,n,r,i){return"function"!=typeof t?t:function(){var e=Te;r&&it(),st(n,!0);try{return t.apply(this,arguments)}finally{st(e,!1),i&&ft(ot)}}}function pt(n,r){return function(e,t){return n.call(this,ht(e,r),ht(t,r))}}-1===(""+_e).indexOf("[native code]")&&(it=ot=ie);var dt="unhandledrejection";function yt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(h.document&&document.createEvent?((r=document.createEvent("Event")).initEvent(dt,!0,!0),s(r,i)):h.CustomEvent&&s(r=new CustomEvent(dt,{detail:i}),i),r&&h.dispatchEvent&&(dispatchEvent(r),!h.PromiseRejectionEvent&&h.onunhandledrejection))try{h.onunhandledrejection(r)}catch(e){}N&&r&&!r.defaultPrevented&&console.warn("Unhandled rejection: "+(e.stack||e))}catch(e){}}var vt=Fe.reject;function mt(e){return!/(dexie\.js|dexie\.min\.js)/.test(e)}var gt=String.fromCharCode(65535),bt="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",_t="String expected.",wt=[],xt="undefined"!=typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),kt=xt,Pt=xt,Et="__dbnames",Ot="readonly",jt="readwrite";function St(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var At={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Kt(t){return function(e){return void 0===x(e,t)&&P(e=K(e),t),e}}var Ct=(It.prototype._trans=function(e,r,t){var n=this._tx||Te.trans,i=this.name;function o(e,t,n){if(!n.schema[i])throw new te.NotFound("Table "+i+" not part of transaction");return r(n.idbtrans,n)}var u=Ye();try{return n&&n.db===this.db?n===Te.trans?n._promise(e,o,t):rt(function(){return n._promise(e,o,t)},{trans:n,transless:Te.transless||Te}):function e(t,n,r,i){if(t._state.openComplete||Te.letThrough){var o=t._createTransaction(n,r,t._dbSchema);try{o.create()}catch(e){return vt(e)}return o._promise(n,function(e,t){return rt(function(){return Te.trans=o,i(e,t,o)})}).then(function(e){return o._completion.then(function(){return e})})}if(!t._state.isBeingOpened){if(!t._options.autoOpen)return vt(new te.DatabaseClosed);t.open().catch(ie)}return t._state.dbReadyPromise.then(function(){return e(t,n,r,i)})}(this.db,e,[this.name],o)}finally{u&&Ge()}},It.prototype.get=function(t,e){var n=this;return t&&t.constructor===Object?this.where(t).first(e):this._trans("readonly",function(e){return n.core.get({trans:e,key:t}).then(function(e){return n.hook.reading.fire(e)})}).then(e)},It.prototype.where=function(u){if("string"==typeof u)return new this.db.WhereClause(this,u);if(d(u))return new this.db.WhereClause(this,"["+u.join("+")+"]");var n=_(u);if(1===n.length)return this.where(n[0]).equals(u[n[0]]);var e=this.schema.indexes.concat(this.schema.primKey).filter(function(t){return t.compound&&n.every(function(e){return 0<=t.keyPath.indexOf(e)})&&t.keyPath.every(function(e){return 0<=n.indexOf(e)})})[0];if(e&&this.db._maxKey!==gt)return this.where(e.name).equals(e.keyPath.map(function(e){return u[e]}));!e&&N&&console.warn("The query "+JSON.stringify(u)+" on "+this.name+" would benefit of a compound index ["+n.join("+")+"]");var a=this.schema.idxByName,r=this.db._deps.indexedDB;function s(e,t){try{return 0===r.cmp(e,t)}catch(e){return!1}}var t=n.reduce(function(e,n){var t=e[0],r=e[1],i=a[n],o=u[n];return[t||i,t||!i?St(r,i&&i.multi?function(e){var t=x(e,n);return d(t)&&t.some(function(e){return s(o,e)})}:function(e){return s(o,x(e,n))}):r]},[null,null]),i=t[0],o=t[1];return i?this.where(i.name).equals(u[i.keyPath]).filter(o):e?this.filter(o):this.where(n).equals("")},It.prototype.filter=function(e){return this.toCollection().and(e)},It.prototype.count=function(e){return this.toCollection().count(e)},It.prototype.offset=function(e){return this.toCollection().offset(e)},It.prototype.limit=function(e){return this.toCollection().limit(e)},It.prototype.each=function(e){return this.toCollection().each(e)},It.prototype.toArray=function(e){return this.toCollection().toArray(e)},It.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},It.prototype.orderBy=function(e){return new this.db.Collection(new this.db.WhereClause(this,d(e)?"["+e.join("+")+"]":e))},It.prototype.reverse=function(){return this.toCollection().reverse()},It.prototype.mapToClass=function(r){function e(e){if(!e)return e;var t=Object.create(r.prototype);for(var n in e)if(g(e,n))try{t[n]=e[n]}catch(e){}return t}return this.schema.mappedClass=r,this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=e,this.hook("reading",e),r},It.prototype.defineClass=function(){return this.mapToClass(function(e){s(this,e)})},It.prototype.add=function(t,n){var r=this,e=this.schema.primKey,i=e.auto,o=e.keyPath,u=t;return o&&i&&(u=Kt(o)(t)),this._trans("readwrite",function(e){return r.core.mutate({trans:e,type:"add",keys:null!=n?[n]:null,values:[u]})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):e.lastResult}).then(function(e){if(o)try{k(t,o,e)}catch(e){}return e})},It.prototype.update=function(t,n){if("object"!=typeof n||d(n))throw new te.InvalidArgument("Modifications must be an object.");if("object"!=typeof t||d(t))return this.where(":id").equals(t).modify(n);_(n).forEach(function(e){k(t,e,n[e])});var e=x(t,this.schema.primKey.keyPath);return void 0===e?vt(new te.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(e).modify(n)},It.prototype.put=function(t,n){var r=this,e=this.schema.primKey,i=e.auto,o=e.keyPath,u=t;return o&&i&&(u=Kt(o)(t)),this._trans("readwrite",function(e){return r.core.mutate({trans:e,type:"put",values:[u],keys:null!=n?[n]:null})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):e.lastResult}).then(function(e){if(o)try{k(t,o,e)}catch(e){}return e})},It.prototype.delete=function(t){var n=this;return this._trans("readwrite",function(e){return n.core.mutate({trans:e,type:"delete",keys:[t]})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):void 0})},It.prototype.clear=function(){var t=this;return this._trans("readwrite",function(e){return t.core.mutate({trans:e,type:"deleteRange",range:At})}).then(function(e){return e.numFailures?Fe.reject(e.failures[0]):void 0})},It.prototype.bulkGet=function(t){var n=this;return this._trans("readonly",function(e){return n.core.getMany({keys:t,trans:e}).then(function(e){return e.map(function(e){return n.hook.reading.fire(e)})})})},It.prototype.bulkAdd=function(u,e,t){var a=this,s=Array.isArray(e)?e:void 0,c=(t=t||(s?void 0:e))?t.allKeys:void 0;return this._trans("readwrite",function(e){var t=a.schema.primKey,n=t.auto,r=t.keyPath;if(r&&s)throw new te.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(s&&s.length!==u.length)throw new te.InvalidArgument("Arguments objects and keys must have the same length");var o=u.length,i=r&&n?u.map(Kt(r)):u;return a.core.mutate({trans:e,type:"add",keys:s,values:i,wantResults:c}).then(function(e){var t=e.numFailures,n=e.results,r=e.lastResult,i=e.failures;if(0===t)return c?n:r;throw new $(a.name+".bulkAdd(): "+t+" of "+o+" operations failed",Object.keys(i).map(function(e){return i[e]}))})})},It.prototype.bulkPut=function(u,e,t){var a=this,s=Array.isArray(e)?e:void 0,c=(t=t||(s?void 0:e))?t.allKeys:void 0;return this._trans("readwrite",function(e){var t=a.schema.primKey,n=t.auto,r=t.keyPath;if(r&&s)throw new te.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(s&&s.length!==u.length)throw new te.InvalidArgument("Arguments objects and keys must have the same length");var o=u.length,i=r&&n?u.map(Kt(r)):u;return a.core.mutate({trans:e,type:"put",keys:s,values:i,wantResults:c}).then(function(e){var t=e.numFailures,n=e.results,r=e.lastResult,i=e.failures;if(0===t)return c?n:r;throw new $(a.name+".bulkPut(): "+t+" of "+o+" operations failed",Object.keys(i).map(function(e){return i[e]}))})})},It.prototype.bulkDelete=function(t){var i=this,o=t.length;return this._trans("readwrite",function(e){return i.core.mutate({trans:e,type:"delete",keys:t})}).then(function(e){var t=e.numFailures,n=e.lastResult,r=e.failures;if(0===t)return n;throw new $(i.name+".bulkDelete(): "+t+" of "+o+" operations failed",r)})},It);function It(){}function Tt(i){var u={},t=function(e,t){if(t){for(var n=arguments.length,r=new Array(n-1);--n;)r[n-1]=arguments[n];return u[e].subscribe.apply(null,r),i}if("string"==typeof e)return u[e]};t.addEventType=a;for(var e=1,n=arguments.length;e<n;++e)a(arguments[e]);return t;function a(e,n,r){if("object"!=typeof e){var i;n=n||fe;var o={subscribers:[],fire:r=r||ie,subscribe:function(e){-1===o.subscribers.indexOf(e)&&(o.subscribers.push(e),o.fire=n(o.fire,e))},unsubscribe:function(t){o.subscribers=o.subscribers.filter(function(e){return e!==t}),o.fire=o.subscribers.reduce(n,r)}};return u[e]=t[e]=o,o}_(i=e).forEach(function(e){var t=i[e];if(d(t))a(e,i[e][0],i[e][1]);else{if("asap"!==t)throw new te.InvalidArgument("Invalid event config");var n=a(e,oe,function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){b(function(){e.apply(null,t)})})})}})}}function Dt(e,t){return o(t).from({prototype:e}),t}function Bt(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function Rt(e,t){e.filter=St(e.filter,t)}function Ft(e,t,n){var r=e.replayFilter;e.replayFilter=r?function(){return St(r(),t())}:t,e.justLimit=n&&!r}function qt(e,t){if(e.isPrimKey)return t.primaryKey;var n=t.getIndexByKeyPath(e.index);if(!n)throw new te.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return n}function Mt(e,t,n){var r=qt(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:r,range:e.range}})}function Nt(e,o,t,n){var u=e.replayFilter?St(e.filter,e.replayFilter()):e.filter;if(e.or){var a={},r=function(e,t,n){var r,i;u&&!u(t,n,function(e){return t.stop(e)},function(e){return t.fail(e)})||("[object ArrayBuffer]"===(i=""+(r=t.primaryKey))&&(i=""+new Uint8Array(r)),g(a,i)||(a[i]=!0,o(e,t,n)))};return Promise.all([e.or._iterate(r,t),Ut(Mt(e,n,t),e.algorithm,r,!e.keysOnly&&e.valueMapper)])}return Ut(Mt(e,n,t),St(e.algorithm,u),o,!e.keysOnly&&e.valueMapper)}function Ut(e,r,i,o){var u=Xe(o?function(e,t,n){return i(o(e),t,n)}:i);return e.then(function(n){if(n)return n.start(function(){var t=function(){return n.continue()};r&&!r(n,function(e){return t=e},function(e){n.stop(e),t=ie},function(e){n.fail(e),t=ie})||u(n.value,n,function(e){return t=e}),t()})})}var Vt=(Wt.prototype._read=function(e,t){var n=this._ctx;return n.error?n.table._trans(null,vt.bind(null,n.error)):n.table._trans("readonly",e).then(t)},Wt.prototype._write=function(e){var t=this._ctx;return t.error?t.table._trans(null,vt.bind(null,t.error)):t.table._trans("readwrite",e,"locked")},Wt.prototype._addAlgorithm=function(e){var t=this._ctx;t.algorithm=St(t.algorithm,e)},Wt.prototype._iterate=function(e,t){return Nt(this._ctx,e,t,this._ctx.table.core)},Wt.prototype.clone=function(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&s(n,e),t._ctx=n,t},Wt.prototype.raw=function(){return this._ctx.valueMapper=null,this},Wt.prototype.each=function(t){var n=this._ctx;return this._read(function(e){return Nt(n,t,e,n.table.core)})},Wt.prototype.count=function(e){var i=this;return this._read(function(e){var t=i._ctx,n=t.table.core;if(Bt(t,!0))return n.count({trans:e,query:{index:qt(t,n.schema),range:t.range}}).then(function(e){return Math.min(e,t.limit)});var r=0;return Nt(t,function(){return++r,!1},e,n).then(function(){return r})}).then(e)},Wt.prototype.sortBy=function(e,t){var n=e.split(".").reverse(),r=n[0],i=n.length-1;function o(e,t){return t?o(e[n[t]],t-1):e[r]}var u="next"===this._ctx.dir?1:-1;function a(e,t){var n=o(e,i),r=o(t,i);return n<r?-u:r<n?u:0}return this.toArray(function(e){return e.sort(a)}).then(t)},Wt.prototype.toArray=function(e){var o=this;return this._read(function(e){var t=o._ctx;if("next"===t.dir&&Bt(t,!0)&&0<t.limit){var n=t.valueMapper,r=qt(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then(function(e){var t=e.result;return n?t.map(n):t})}var i=[];return Nt(t,function(e){return i.push(e)},e,t.table.core).then(function(){return i})},e)},Wt.prototype.offset=function(t){var e=this._ctx;return t<=0||(e.offset+=t,Bt(e)?Ft(e,function(){var n=t;return function(e,t){return 0===n||(1===n?--n:t(function(){e.advance(n),n=0}),!1)}}):Ft(e,function(){var e=t;return function(){return--e<0}})),this},Wt.prototype.limit=function(e){return this._ctx.limit=Math.min(this._ctx.limit,e),Ft(this._ctx,function(){var r=e;return function(e,t,n){return--r<=0&&t(n),0<=r}},!0),this},Wt.prototype.until=function(r,i){return Rt(this._ctx,function(e,t,n){return!r(e.value)||(t(n),i)}),this},Wt.prototype.first=function(e){return this.limit(1).toArray(function(e){return e[0]}).then(e)},Wt.prototype.last=function(e){return this.reverse().first(e)},Wt.prototype.filter=function(t){var e,n;return Rt(this._ctx,function(e){return t(e.value)}),e=this._ctx,n=t,e.isMatch=St(e.isMatch,n),this},Wt.prototype.and=function(e){return this.filter(e)},Wt.prototype.or=function(e){return new this.db.WhereClause(this._ctx.table,e,this)},Wt.prototype.reverse=function(){return this._ctx.dir="prev"===this._ctx.dir?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},Wt.prototype.desc=function(){return this.reverse()},Wt.prototype.eachKey=function(n){var e=this._ctx;return e.keysOnly=!e.isMatch,this.each(function(e,t){n(t.key,t)})},Wt.prototype.eachUniqueKey=function(e){return this._ctx.unique="unique",this.eachKey(e)},Wt.prototype.eachPrimaryKey=function(n){var e=this._ctx;return e.keysOnly=!e.isMatch,this.each(function(e,t){n(t.primaryKey,t)})},Wt.prototype.keys=function(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each(function(e,t){n.push(t.key)}).then(function(){return n}).then(e)},Wt.prototype.primaryKeys=function(e){var n=this._ctx;if("next"===n.dir&&Bt(n,!0)&&0<n.limit)return this._read(function(e){var t=qt(n,n.table.core.schema);return n.table.core.query({trans:e,values:!1,limit:n.limit,query:{index:t,range:n.range}})}).then(function(e){return e.result}).then(e);n.keysOnly=!n.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).then(e)},Wt.prototype.uniqueKeys=function(e){return this._ctx.unique="unique",this.keys(e)},Wt.prototype.firstKey=function(e){return this.limit(1).keys(function(e){return e[0]}).then(e)},Wt.prototype.lastKey=function(e){return this.reverse().firstKey(e)},Wt.prototype.distinct=function(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var r={};return Rt(this._ctx,function(e){var t=e.primaryKey.toString(),n=g(r,t);return r[t]=!0,!n}),this},Wt.prototype.modify=function(c){var n=this,r=this._ctx;return this._write(function(h){var o,u,p;function d(e,t){var n=t.failures,r=t.numFailures;s+=e-r;for(var i=0,o=_(n);i<o.length;i++){var u=o[i];a.push(n[u])}}p="function"==typeof c?c:(o=_(c),u=o.length,function(e){for(var t=!1,n=0;n<u;++n){var r=o[n],i=c[r];x(e,r)!==i&&(k(e,r,i),t=!0)}return t});var y=r.table.core,e=y.schema.primaryKey,v=e.outbound,m=e.extractKey,g="testmode"in Rn?1:2e3,b=n.db.core.cmp,a=[],s=0,t=[];return n.clone().primaryKeys().then(function(l){var f=function(s){var c=Math.min(g,l.length-s);return y.getMany({trans:h,keys:l.slice(s,s+c)}).then(function(e){for(var n=[],t=[],r=v?[]:null,i=[],o=0;o<c;++o){var u=e[o],a={value:K(u),primKey:l[s+o]};!1!==p.call(a,a.value,a)&&(null==a.value?i.push(l[s+o]):v||0===b(m(u),m(a.value))?(t.push(a.value),v&&r.push(l[s+o])):(i.push(l[s+o]),n.push(a.value)))}return Promise.resolve(0<n.length&&y.mutate({trans:h,type:"add",values:n}).then(function(e){for(var t in e.failures)i.splice(parseInt(t),1);d(n.length,e)})).then(function(e){return 0<t.length&&y.mutate({trans:h,type:"put",keys:r,values:t}).then(function(e){return d(t.length,e)})}).then(function(){return 0<i.length&&y.mutate({trans:h,type:"delete",keys:i}).then(function(e){return d(i.length,e)})}).then(function(){return l.length>s+c&&f(s+g)})})};return f(0).then(function(){if(0<a.length)throw new J("Error modifying one or more objects",a,s,t);return l.length})})})},Wt.prototype.delete=function(){var i=this._ctx,r=i.range;return Bt(i)&&(i.isPrimKey&&!Pt||3===r.type)?this._write(function(e){var t=i.table.core.schema.primaryKey,n=r;return i.table.core.count({trans:e,query:{index:t,range:n}}).then(function(r){return i.table.core.mutate({trans:e,type:"deleteRange",range:n}).then(function(e){var t=e.failures,n=(e.lastResult,e.results,e.numFailures);if(n)throw new J("Could not delete some values",Object.keys(t).map(function(e){return t[e]}),r-n);return r-n})})}):this.modify(function(e,t){return t.value=null})},Wt);function Wt(){}function zt(e,t){return e<t?-1:e===t?0:1}function Lt(e,t){return t<e?-1:e===t?0:1}function Yt(e,t,n){var r=e instanceof $t?new e.Collection(e):e;return r._ctx.error=new(n||TypeError)(t),r}function Gt(e){return new e.Collection(e,function(){return Jt("")}).limit(0)}function Ht(e,t,n,r,i,o){for(var u=Math.min(e.length,r.length),a=-1,s=0;s<u;++s){var c=t[s];if(c!==r[s])return i(e[s],n[s])<0?e.substr(0,s)+n[s]+n.substr(s+1):i(e[s],r[s])<0?e.substr(0,s)+r[s]+n.substr(s+1):0<=a?e.substr(0,a)+t[a]+n.substr(a+1):null;i(e[s],c)<0&&(a=s)}return u<r.length&&"next"===o?e+n.substr(e.length):u<e.length&&"prev"===o?e.substr(0,n.length):a<0?null:e.substr(0,a)+r[a]+n.substr(a+1)}function Qt(e,s,n,r){var i,c,l,f,h,p,d,y=n.length;if(!n.every(function(e){return"string"==typeof e}))return Yt(e,_t);function t(e){i="next"===e?function(e){return e.toUpperCase()}:function(e){return e.toLowerCase()},c="next"===e?function(e){return e.toLowerCase()}:function(e){return e.toUpperCase()},l="next"===e?zt:Lt;var t=n.map(function(e){return{lower:c(e),upper:i(e)}}).sort(function(e,t){return l(e.lower,t.lower)});f=t.map(function(e){return e.upper}),h=t.map(function(e){return e.lower}),d="next"===(p=e)?"":r}t("next");var o=new e.Collection(e,function(){return Xt(f[0],h[y-1]+r)});o._ondirectionchange=function(e){t(e)};var v=0;return o._addAlgorithm(function(e,t,n){var r=e.key;if("string"!=typeof r)return!1;var i=c(r);if(s(i,h,v))return!0;for(var o=null,u=v;u<y;++u){var a=Ht(r,i,f[u],h[u],l,p);null===a&&null===o?v=u+1:(null===o||0<l(o,a))&&(o=a)}return t(null!==o?function(){e.continue(o+d)}:n),!1}),o}function Xt(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Jt(e){return{type:1,lower:e,upper:e}}var $t=(Object.defineProperty(Zt.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!0,configurable:!0}),Zt.prototype.between=function(e,t,n,r){n=!1!==n,r=!0===r;try{return 0<this._cmp(e,t)||0===this._cmp(e,t)&&(n||r)&&(!n||!r)?Gt(this):new this.Collection(this,function(){return Xt(e,t,!n,!r)})}catch(e){return Yt(this,bt)}},Zt.prototype.equals=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Jt(e)})},Zt.prototype.above=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(e,void 0,!0)})},Zt.prototype.aboveOrEqual=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(e,void 0,!1)})},Zt.prototype.below=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(void 0,e,!1,!0)})},Zt.prototype.belowOrEqual=function(e){return null==e?Yt(this,bt):new this.Collection(this,function(){return Xt(void 0,e)})},Zt.prototype.startsWith=function(e){return"string"!=typeof e?Yt(this,_t):this.between(e,e+gt,!0,!0)},Zt.prototype.startsWithIgnoreCase=function(e){return""===e?this.startsWith(e):Qt(this,function(e,t){return 0===e.indexOf(t[0])},[e],gt)},Zt.prototype.equalsIgnoreCase=function(e){return Qt(this,function(e,t){return e===t[0]},[e],"")},Zt.prototype.anyOfIgnoreCase=function(){var e=q.apply(F,arguments);return 0===e.length?Gt(this):Qt(this,function(e,t){return-1!==t.indexOf(e)},e,"")},Zt.prototype.startsWithAnyOfIgnoreCase=function(){var e=q.apply(F,arguments);return 0===e.length?Gt(this):Qt(this,function(t,e){return e.some(function(e){return 0===t.indexOf(e)})},e,gt)},Zt.prototype.anyOf=function(){var t=this,i=q.apply(F,arguments),o=this._cmp;try{i.sort(o)}catch(e){return Yt(this,bt)}if(0===i.length)return Gt(this);var e=new this.Collection(this,function(){return Xt(i[0],i[i.length-1])});e._ondirectionchange=function(e){o="next"===e?t._ascending:t._descending,i.sort(o)};var u=0;return e._addAlgorithm(function(e,t,n){for(var r=e.key;0<o(r,i[u]);)if(++u===i.length)return t(n),!1;return 0===o(r,i[u])||(t(function(){e.continue(i[u])}),!1)}),e},Zt.prototype.notEqual=function(e){return this.inAnyRange([[-1/0,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Zt.prototype.noneOf=function(){var e=q.apply(F,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return Yt(this,bt)}var t=e.reduce(function(e,t){return e?e.concat([[e[e.length-1][1],t]]):[[-1/0,t]]},null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})},Zt.prototype.inAnyRange=function(e,t){var o=this,u=this._cmp,a=this._ascending,n=this._descending,s=this._min,c=this._max;if(0===e.length)return Gt(this);if(!e.every(function(e){return void 0!==e[0]&&void 0!==e[1]&&a(e[0],e[1])<=0}))return Yt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",te.InvalidArgument);var l,r=!t||!1!==t.includeLowers,i=t&&!0===t.includeUppers,f=a;function h(e,t){return f(e[0],t[0])}try{(l=e.reduce(function(e,t){for(var n=0,r=e.length;n<r;++n){var i=e[n];if(u(t[0],i[1])<0&&0<u(t[1],i[0])){i[0]=s(i[0],t[0]),i[1]=c(i[1],t[1]);break}}return n===r&&e.push(t),e},[])).sort(h)}catch(e){return Yt(this,bt)}var p=0,d=i?function(e){return 0<a(e,l[p][1])}:function(e){return 0<=a(e,l[p][1])},y=r?function(e){return 0<n(e,l[p][0])}:function(e){return 0<=n(e,l[p][0])},v=d,m=new this.Collection(this,function(){return Xt(l[0][0],l[l.length-1][1],!r,!i)});return m._ondirectionchange=function(e){f="next"===e?(v=d,a):(v=y,n),l.sort(h)},m._addAlgorithm(function(e,t,n){for(var r,i=e.key;v(i);)if(++p===l.length)return t(n),!1;return!d(r=i)&&!y(r)||(0===o._cmp(i,l[p][1])||0===o._cmp(i,l[p][0])||t(function(){f===a?e.continue(l[p][0]):e.continue(l[p][1])}),!1)}),m},Zt.prototype.startsWithAnyOf=function(){var e=q.apply(F,arguments);return e.every(function(e){return"string"==typeof e})?0===e.length?Gt(this):this.inAnyRange(e.map(function(e){return[e,e+gt]})):Yt(this,"startsWithAnyOf() only works with strings")},Zt);function Zt(){}function en(e){return 1===e.length?e[0]:e}function tn(e){try{return e.only([[]]),[[]]}catch(e){return gt}}function nn(t){return Xe(function(e){return rn(e),t(e.target.error),!1})}function rn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var on=(un.prototype._lock=function(){return v(!Te.global),++this._reculock,1!==this._reculock||Te.global||(Te.lockOwnerFor=this),this},un.prototype._unlock=function(){if(v(!Te.global),0==--this._reculock)for(Te.global||(Te.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var e=this._blockedFuncs.shift();try{lt(e[1],e[0])}catch(e){}}return this},un.prototype._locked=function(){return this._reculock&&Te.lockOwnerFor!==this},un.prototype.create=function(t){var n=this;if(!this.mode)return this;var e=this.db.idbdb,r=this.db._state.dbOpenError;if(v(!this.idbtrans),!t&&!e)switch(r&&r.name){case"DatabaseClosedError":throw new te.DatabaseClosed(r);case"MissingAPIError":throw new te.MissingAPI(r.message,r);default:throw new te.OpenFailed(r)}if(!this.active)throw new te.TransactionInactive;return v(null===this._completion._state),(t=this.idbtrans=t||e.transaction(en(this.storeNames),this.mode)).onerror=Xe(function(e){rn(e),n._reject(t.error)}),t.onabort=Xe(function(e){rn(e),n.active&&n._reject(new te.Abort(t.error)),n.active=!1,n.on("abort").fire(e)}),t.oncomplete=Xe(function(){n.active=!1,n._resolve()}),this},un.prototype._promise=function(n,r,i){var o=this;if("readwrite"===n&&"readwrite"!==this.mode)return vt(new te.ReadOnly("Transaction is readonly"));if(!this.active)return vt(new te.TransactionInactive);if(this._locked())return new Fe(function(e,t){o._blockedFuncs.push([function(){o._promise(n,r,i).then(e,t)},Te])});if(i)return rt(function(){var e=new Fe(function(e,t){o._lock();var n=r(e,t,o);n&&n.then&&n.then(e,t)});return e.finally(function(){return o._unlock()}),e._lib=!0,e});var e=new Fe(function(e,t){var n=r(e,t,o);n&&n.then&&n.then(e,t)});return e._lib=!0,e},un.prototype._root=function(){return this.parent?this.parent._root():this},un.prototype.waitFor=function(e){var t,r=this._root(),i=Fe.resolve(e);r._waitingFor?r._waitingFor=r._waitingFor.then(function(){return i}):(r._waitingFor=i,r._waitingQueue=[],t=r.idbtrans.objectStore(r.storeNames[0]),function e(){for(++r._spinCount;r._waitingQueue.length;)r._waitingQueue.shift()();r._waitingFor&&(t.get(-1/0).onsuccess=e)}());var o=r._waitingFor;return new Fe(function(t,n){i.then(function(e){return r._waitingQueue.push(Xe(t.bind(null,e)))},function(e){return r._waitingQueue.push(Xe(n.bind(null,e)))}).finally(function(){r._waitingFor===o&&(r._waitingFor=null)})})},un.prototype.abort=function(){this.active&&this._reject(new te.Abort),this.active=!1},un.prototype.table=function(e){var t=this._memoizedTables||(this._memoizedTables={});if(g(t,e))return t[e];var n=this.schema[e];if(!n)throw new te.NotFound("Table "+e+" not part of transaction");var r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r},un);function un(){}function an(e,t,n,r,i,o,u){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:o,src:(n&&!u?"&":"")+(r?"*":"")+(i?"++":"")+sn(t)}}function sn(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function cn(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:w(n,function(e){return[e.name,e]})}}function ln(t){return null==t?function(){}:"string"==typeof t?1===(n=t).split(".").length?function(e){return e[n]}:function(e){return x(e,n)}:function(e){return x(e,t)};var n}function fn(e,t){return"delete"===t.type?t.keys:t.keys||t.values.map(e.extractKey)}function hn(e){return[].slice.call(e)}var pn=0;function dn(e){return null==e?":id":"string"==typeof e?e:"["+e.join("+")+"]"}function yn(e,t,o,n){var r=t.cmp.bind(t);function E(e){if(3===e.type)return null;if(4===e.type)throw new Error("Cannot convert never type to IDBKeyRange");var t=e.lower,n=e.upper,r=e.lowerOpen,i=e.upperOpen;return void 0===t?void 0===n?null:o.upperBound(n,!!i):void 0===n?o.lowerBound(t,!!r):o.bound(t,n,!!r,!!i)}function i(k){var m,P=k.name;return{name:P,schema:k,mutate:function(e){var m=e.trans,g=e.type,b=e.keys,_=e.values,w=e.range,x=e.wantResults;return new Promise(function(n,e){n=Xe(n);var t=m.objectStore(P),r=null==t.keyPath,i="put"===g||"add"===g;if(!i&&"delete"!==g&&"deleteRange"!==g)throw new Error("Invalid operation type: "+g);var o=(b||_||{length:1}).length;if(b&&_&&b.length!==_.length)throw new Error("Given keys array must have same length as given values array.");if(0===o)return n({numFailures:0,failures:{},results:[],lastResult:void 0});function u(e){++f,rn(e),c&&(c[e.target._reqno]=void 0),l[e.target._reqno]=e.target.error}function a(e){var t=e.target;c[t._reqno]=t.result}var s,c=x&&O(b||fn(k.primaryKey,{type:g,keys:b,values:_})),l=[],f=0;if("deleteRange"===g){if(4===w.type)return n({numFailures:f,failures:l,results:c,lastResult:void 0});s=3===w.type?t.clear():t.delete(E(w))}else{var h=i?r?[_,b]:[_,null]:[b,null],p=h[0],d=h[1];if(i)for(var y=0;y<o;++y)(s=d&&void 0!==d[y]?t[g](p[y],d[y]):t[g](p[y]))._reqno=y,c&&void 0===c[y]&&(s.onsuccess=a),s.onerror=u;else for(y=0;y<o;++y)(s=t[g](p[y]))._reqno=y,s.onerror=u}function v(e){var t=e.target.result;c&&(c[o-1]=t),n({numFailures:f,failures:l,results:c,lastResult:t})}s.onerror=function(e){u(e),v(e)},s.onsuccess=v})},getMany:function(e){var f=e.trans,h=e.keys;return new Promise(function(n,e){n=Xe(n);for(var t,r=f.objectStore(P),i=h.length,o=new Array(i),u=0,a=0,s=function(e){var t=e.target;null!=(o[t._pos]=t.result)&&0,++a===u&&n(o)},c=nn(e),l=0;l<i;++l){null!=h[l]&&((t=r.get(h[l]))._pos=l,t.onsuccess=s,t.onerror=c,++u)}0===u&&n(o)})},get:function(e){var r=e.trans,i=e.key;return new Promise(function(t,e){t=Xe(t);var n=r.objectStore(P).get(i);n.onsuccess=function(e){return t(e.target.result)},n.onerror=nn(e)})},query:(m=f,function(v){return new Promise(function(n,e){n=Xe(n);var t,r,i,o,u=v.trans,a=v.values,s=v.limit,c=v.query,l=s===1/0?void 0:s,f=c.index,h=c.range,p=u.objectStore(P),d=f.isPrimaryKey?p:p.index(f.name),y=E(h);if(0===s)return n({result:[]});m?((t=a?d.getAll(y,l):d.getAllKeys(y,l)).onsuccess=function(e){return n({result:e.target.result})},t.onerror=nn(e)):(r=0,i=!a&&"openKeyCursor"in d?d.openKeyCursor(y):d.openCursor(y),o=[],i.onsuccess=function(e){var t=i.result;return t?(o.push(a?t.value:t.primaryKey),++r===s?n({result:o}):void t.continue()):n({result:o})},i.onerror=nn(e))})}),openCursor:function(e){var c=e.trans,a=e.values,l=e.query,f=e.reverse,h=e.unique;return new Promise(function(t,n){t=Xe(t);var e=l.index,r=l.range,i=c.objectStore(P),o=e.isPrimaryKey?i:i.index(e.name),u=f?h?"prevunique":"prev":h?"nextunique":"next",s=!a&&"openKeyCursor"in o?o.openKeyCursor(E(r),u):o.openCursor(E(r),u);s.onerror=nn(n),s.onsuccess=Xe(function(e){var r,i,o,u,a=s.result;a?(a.___id=++pn,a.done=!1,r=a.continue.bind(a),i=(i=a.continuePrimaryKey)&&i.bind(a),o=a.advance.bind(a),u=function(){throw new Error("Cursor not stopped")},a.trans=c,a.stop=a.continue=a.continuePrimaryKey=a.advance=function(){throw new Error("Cursor not started")},a.fail=Xe(n),a.next=function(){var e=this,t=1;return this.start(function(){return t--?e.continue():e.stop()}).then(function(){return e})},a.start=function(e){function t(){if(s.result)try{e()}catch(e){a.fail(e)}else a.done=!0,a.start=function(){throw new Error("Cursor behind last entry")},a.stop()}var n=new Promise(function(t,e){t=Xe(t),s.onerror=nn(e),a.fail=e,a.stop=function(e){a.stop=a.continue=a.continuePrimaryKey=a.advance=u,t(e)}});return s.onsuccess=Xe(function(e){(s.onsuccess=t)()}),a.continue=r,a.continuePrimaryKey=i,a.advance=o,t(),n},t(a)):t(null)},n)})},count:function(e){var t=e.query,u=e.trans,a=t.index,s=t.range;return new Promise(function(t,e){var n=u.objectStore(P),r=a.isPrimaryKey?n:n.index(a.name),i=E(s),o=i?r.count(i):r.count();o.onsuccess=Xe(function(e){return t(e.target.result)}),o.onerror=nn(e)})}}}var u,a,s,c=(a=n,s=hn((u=e).objectStoreNames),{schema:{name:u.name,tables:s.map(function(e){return a.objectStore(e)}).map(function(t){var e=t.keyPath,n=t.autoIncrement,r=d(e),i=null==e,u={},o={name:t.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:e,autoIncrement:n,unique:!0,extractKey:ln(e)},indexes:hn(t.indexNames).map(function(e){return t.index(e)}).map(function(e){var t=e.name,n=e.unique,r=e.multiEntry,i=e.keyPath,o={name:t,compound:d(i),keyPath:i,unique:n,multiEntry:r,extractKey:ln(i)};return u[dn(i)]=o}),getIndexByKeyPath:function(e){return u[dn(e)]}};return u[":id"]=o.primaryKey,null!=e&&(u[dn(e)]=o.primaryKey),o})},hasGetAll:0<s.length&&"getAll"in a.objectStore(s[0])&&!("undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),l=c.schema,f=c.hasGetAll,h=l.tables.map(i),p={};return h.forEach(function(e){return p[e.name]=e}),{stack:"dbcore",transaction:e.transaction.bind(e),table:function(e){if(!p[e])throw new Error("Table '"+e+"' not found");return p[e]},cmp:r,MIN_KEY:-1/0,MAX_KEY:tn(o),schema:l}}function vn(e,t,n,r){var i,o=n.IDBKeyRange,u=n.indexedDB;return{dbcore:(i=yn(t,u,o,r),e.dbcore.reduce(function(e,t){var n=t.create;return m(m({},e),n(e))},i))}}function mn(n,e){var t=e.db,r=vn(n._middlewares,t,n._deps,e);n.core=r.dbcore,n.tables.forEach(function(e){var t=e.name;n.core.schema.tables.some(function(e){return e.name===t})&&(e.core=n.core.table(t),n[t]instanceof n.Table&&(n[t].core=e.core))})}function gn(i,e,t,o){t.forEach(function(n){var r=o[n];e.forEach(function(e){var t=l(e,n);(!t||"value"in t&&void 0===t.value)&&(e===i.Transaction.prototype||e instanceof i.Transaction?a(e,n,{get:function(){return this.table(n)},set:function(e){u(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):e[n]=new i.Table(n,r))})})}function bn(n,e){e.forEach(function(e){for(var t in e)e[t]instanceof n.Table&&delete e[t]})}function _n(e,t){return e._cfg.version-t._cfg.version}function wn(n,r,i,e){var o=n._dbSchema,u=n._createTransaction("readwrite",n._storeNames,o);u.create(i),u._completion.catch(e);var a=u._reject.bind(u),s=Te.transless||Te;rt(function(){var c,l,f,h,t,e,p,d;Te.trans=u,Te.transless=s,0===r?(_(o).forEach(function(e){kn(i,e,o[e].primKey,o[e].indexes)}),mn(n,i),Fe.follow(function(){return n.on.populate.fire(u)}).catch(a)):(l=r,f=u,h=i,t=[],e=(c=n)._versions,p=c._dbSchema=En(0,c.idbdb,h),d=!1,e.filter(function(e){return e._cfg.version>=l}).forEach(function(s){t.push(function(){var t=p,e=s._cfg.dbschema;On(c,t,h),On(c,e,h),p=c._dbSchema=e;var n=xn(t,e);n.add.forEach(function(e){kn(h,e[0],e[1].primKey,e[1].indexes)}),n.change.forEach(function(e){if(e.recreate)throw new te.Upgrade("Not yet support for changing primary key");var t=h.objectStore(e.name);e.add.forEach(function(e){return Pn(t,e)}),e.change.forEach(function(e){t.deleteIndex(e.name),Pn(t,e)}),e.del.forEach(function(e){return t.deleteIndex(e)})});var r=s._cfg.contentUpgrade;if(r&&s._cfg.version>l){mn(c,h),f._memoizedTables={},d=!0;var i=E(e);n.del.forEach(function(e){i[e]=t[e]}),bn(c,[c.Transaction.prototype]),gn(c,[c.Transaction.prototype],_(i),i),f.schema=i;var o,u=M(r);u&&it();var a=Fe.follow(function(){var e;(o=r(f))&&u&&(e=ot.bind(null,null),o.then(e,e))});return o&&"function"==typeof o.then?Fe.resolve(o):a.then(function(){return o})}}),t.push(function(e){d&&kt||function(e,t){for(var n=0;n<t.db.objectStoreNames.length;++n){var r=t.db.objectStoreNames[n];null==e[r]&&t.db.deleteObjectStore(r)}}(s._cfg.dbschema,e),bn(c,[c.Transaction.prototype]),gn(c,[c.Transaction.prototype],c._storeNames,c._dbSchema),f.schema=c._dbSchema})}),function e(){return t.length?Fe.resolve(t.shift()(f.idbtrans)).then(e):Fe.resolve()}().then(function(){var t,n;n=h,_(t=p).forEach(function(e){n.db.objectStoreNames.contains(e)||kn(n,e,t[e].primKey,t[e].indexes)})}).catch(a))})}function xn(e,t){var n,r={del:[],add:[],change:[]};for(n in e)t[n]||r.del.push(n);for(n in t){var i=e[n],o=t[n];if(i){var u={name:n,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")!=""+(o.primKey.keyPath||"")||i.primKey.auto!==o.primKey.auto&&!xt)u.recreate=!0,r.change.push(u);else{var a=i.idxByName,s=o.idxByName,c=void 0;for(c in a)s[c]||u.del.push(c);for(c in s){var l=a[c],f=s[c];l?l.src!==f.src&&u.change.push(f):u.add.push(f)}(0<u.del.length||0<u.add.length||0<u.change.length)&&r.change.push(u)}}else r.add.push([n,o])}return r}function kn(e,t,n,r){var i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach(function(e){return Pn(i,e)}),i}function Pn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function En(e,t,s){var c={};return p(t.objectStoreNames,0).forEach(function(e){for(var t=s.objectStore(e),n=an(sn(u=t.keyPath),u||"",!1,!1,!!t.autoIncrement,u&&"string"!=typeof u,!0),r=[],i=0;i<t.indexNames.length;++i){var o=t.index(t.indexNames[i]),u=o.keyPath,a=an(o.name,u,!!o.unique,!!o.multiEntry,!1,u&&"string"!=typeof u,!1);r.push(a)}c[e]=cn(e,n,r)}),c}function On(e,t,n){for(var r=n.db.objectStoreNames,i=0;i<r.length;++i){var o=r[i],u=n.objectStore(o);e._hasGetAll="getAll"in u;for(var a=0;a<u.indexNames.length;++a){var s,c=u.indexNames[a],l=u.index(c).keyPath,f="string"==typeof l?l:"["+p(l).join("+")+"]";!t[o]||(s=t[o].idxByName[f])&&(s.name=c,delete t[o].idxByName[f],t[o].idxByName[c]=s)}}"undefined"!=typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&h.WorkerGlobalScope&&h instanceof h.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var jn,Sn=(An.prototype._parseStoresSpec=function(r,i){_(r).forEach(function(e){if(null!==r[e]){var t=r[e].split(",").map(function(e,t){var n=(e=e.trim()).replace(/([&*]|\+\+)/g,""),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split("+"):n;return an(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),d(r),0===t)}),n=t.shift();if(n.multi)throw new te.Schema("Primary key cannot be multi-valued");t.forEach(function(e){if(e.auto)throw new te.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new te.Schema("Index must have a name and cannot be an empty string")}),i[e]=cn(e,n,t)}})},An.prototype.stores=function(e){var t=this.db;this._cfg.storesSource=this._cfg.storesSource?s(this._cfg.storesSource,e):e;var n=t._versions,r={},i={};return n.forEach(function(e){s(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)}),t._dbSchema=i,bn(t,[t._allTables,t,t.Transaction.prototype]),gn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],_(i),i),t._storeNames=_(i),this},An.prototype.upgrade=function(e){return this._cfg.contentUpgrade=e,this},An);function An(){}function Kn(e){return rt(function(){return Te.letThrough=!0,e()})}function Cn(c){var l=c._state,i=c._deps.indexedDB;if(l.isBeingOpened||c.idbdb)return l.dbReadyPromise.then(function(){return l.dbOpenError?vt(l.dbOpenError):c});N&&(l.openCanceller._stackHolder=z()),l.isBeingOpened=!0,l.dbOpenError=null,l.openComplete=!1;var e=l.dbReadyResolve,f=null;return Fe.race([l.openCanceller,new Fe(function(u,r){if(!i)throw new te.MissingAPI("indexedDB API not found. If using IE10+, make sure to run your code on a server URL (not locally). If using old Safari versions, make sure to include indexedDB polyfill.");var a=c.name,s=l.autoSchema?i.open(a):i.open(a,Math.round(10*c.verno));if(!s)throw new te.MissingAPI("IndexedDB API not available");s.onerror=nn(r),s.onblocked=Xe(c._fireOnBlocked),s.onupgradeneeded=Xe(function(e){var t,n;f=s.transaction,l.autoSchema&&!c._options.allowEmptyDB?(s.onerror=rn,f.abort(),s.result.close(),(t=i.deleteDatabase(a)).onsuccess=t.onerror=Xe(function(){r(new te.NoSuchDatabase("Database "+a+" doesnt exist"))})):(f.onerror=nn(r),n=e.oldVersion>Math.pow(2,62)?0:e.oldVersion,c.idbdb=s.result,wn(c,n/10,f,r))},r),s.onsuccess=Xe(function(){f=null;var e,t,n,r=c.idbdb=s.result,i=p(r.objectStoreNames);if(0<i.length)try{var o=r.transaction(en(i),"readonly");l.autoSchema?function(e,t,n){e.verno=t.version/10;var r=e._dbSchema=En(0,t,n);e._storeNames=p(t.objectStoreNames,0),gn(e,[e._allTables],_(r),r)}(c,r,o):(On(c,c._dbSchema,o),t=o,((n=xn(En(0,(e=c).idbdb,t),e._dbSchema)).add.length||n.change.some(function(e){return e.add.length||e.change.length}))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),mn(c,o)}catch(e){}wt.push(c),r.onversionchange=Xe(function(e){l.vcFired=!0,c.on("versionchange").fire(e)}),jn.add(a),u()},r)})]).then(function(){return l.onReadyBeingFired=[],Fe.resolve(Kn(c.on.ready.fire)).then(function e(){if(0<l.onReadyBeingFired.length){var t=l.onReadyBeingFired.reduce(he,ie);return l.onReadyBeingFired=[],Fe.resolve(Kn(t)).then(e)}})}).finally(function(){l.onReadyBeingFired=null}).then(function(){return l.isBeingOpened=!1,c}).catch(function(e){try{f&&f.abort()}catch(e){}return l.isBeingOpened=!1,c.close(),l.dbOpenError=e,vt(l.dbOpenError)}).finally(function(){l.openComplete=!0,e()})}function In(t){function e(e){return t.next(e)}var i=n(e),o=n(function(e){return t.throw(e)});function n(r){return function(e){var t=r(e),n=t.value;return t.done?n:n&&"function"==typeof n.then?n.then(i,o):d(n)?Promise.all(n).then(i,o):i(n)}}return n(e)()}function Tn(e,t,n){for(var r=d(e)?e.slice():[e],i=0;i<n;++i)r.push(t);return r}var Dn={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(f){return m(m({},f),{table:function(e){var u=f.table(e),t=u.schema,s={},c=[];function l(e,t,n){var r=dn(e),i=s[r]=s[r]||[],o=null==e?0:"string"==typeof e?1:e.length,u=0<t,a=m(m({},n),{isVirtual:u,isPrimaryKey:!u&&n.isPrimaryKey,keyTail:t,keyLength:o,extractKey:ln(e),unique:!u&&n.unique});return i.push(a),a.isPrimaryKey||c.push(a),1<o&&l(2===o?e[0]:e.slice(0,o-1),t+1,n),i.sort(function(e,t){return e.keyTail-t.keyTail}),a}var n=l(t.primaryKey.keyPath,0,t.primaryKey);s[":id"]=[n];for(var r=0,i=t.indexes;r<i.length;r++){var o=i[r];l(o.keyPath,0,o)}function a(e){var t,n,r=e.query.index;return r.isVirtual?m(m({},e),{query:{index:r,range:(t=e.query.range,n=r.keyTail,{type:1===t.type?2:t.type,lower:Tn(t.lower,t.lowerOpen?f.MAX_KEY:f.MIN_KEY,n),lowerOpen:!0,upper:Tn(t.upper,t.upperOpen?f.MIN_KEY:f.MAX_KEY,n),upperOpen:!0})}}):e}return m(m({},u),{schema:m(m({},t),{primaryKey:n,indexes:c,getIndexByKeyPath:function(e){var t=s[dn(e)];return t&&t[0]}}),count:function(e){return u.count(a(e))},query:function(e){return u.query(a(e))},openCursor:function(t){var e=t.query.index,r=e.keyTail,n=e.isVirtual,i=e.keyLength;if(!n)return u.openCursor(t);function o(n){return Object.create(n,{continue:{value:function(e){null!=e?n.continue(Tn(e,t.reverse?f.MAX_KEY:f.MIN_KEY,r)):t.unique?n.continue(Tn(n.key,t.reverse?f.MIN_KEY:f.MAX_KEY,r)):n.continue()}},continuePrimaryKey:{value:function(e,t){n.continuePrimaryKey(Tn(e,f.MAX_KEY,r),t)}},key:{get:function(){var e=n.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:function(){return n.value}}})}return u.openCursor(a(t)).then(function(e){return e&&o(e)})}})}})}},Bn={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(e){return m(m({},e),{table:function(r){var a=e.table(r),v=a.schema.primaryKey;return m(m({},a),{mutate:function(t){var e=Te.trans,n=e.table(r).hook,p=n.deleting,d=n.creating,y=n.updating;switch(t.type){case"add":if(d.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"put":if(d.fire===ie&&y.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"delete":if(p.fire===ie)break;return e._promise("readwrite",function(){return u(t)},!0);case"deleteRange":if(p.fire===ie)break;return e._promise("readwrite",function(){return function n(r,i,o){return a.query({trans:r,values:!1,query:{index:v,range:i},limit:o}).then(function(e){var t=e.result;return u({type:"delete",keys:t,trans:r}).then(function(e){return 0<e.numFailures?Promise.reject(e.failures[0]):t.length<o?{failures:[],numFailures:0,lastResult:void 0}:n(r,m(m({},i),{lower:t[t.length-1],lowerOpen:!0}),o)})})}((e=t).trans,e.range,1e4);var e},!0)}return a.mutate(t);function u(l){var e,t,n,f=Te.trans,h=l.keys||fn(v,l);if(!h)throw new Error("Keys missing");return"delete"!==(l="add"===l.type||"put"===l.type?m(m({},l),{keys:h,wantResults:!0}):m({},l)).type&&(l.values=O(l.values)),l.keys&&(l.keys=O(l.keys)),e=a,n=h,("add"===(t=l).type?Promise.resolve(new Array(t.values.length)):e.getMany({trans:t.trans,keys:n})).then(function(s){var c=h.map(function(e,t){var n,r,i,o,u=s[t],a={onerror:null,onsuccess:null};return"delete"===l.type?p.fire.call(a,e,u,f):"add"===l.type||void 0===u?(n=d.fire.call(a,e,l.values[t],f),null==e&&null!=n&&(e=n,l.keys[t]=e,v.outbound||k(l.values[t],v.keyPath,e))):(r=D(u,l.values[t]),(i=y.fire.call(a,r,e,u,f))&&(o=l.values[t],Object.keys(i).forEach(function(e){g(o,e)?o[e]=i[e]:k(o,e,i[e])}))),a});return a.mutate(l).then(function(e){for(var t=e.failures,n=e.results,r=e.numFailures,i=e.lastResult,o=0;o<h.length;++o){var u=n?n[o]:h[o],a=c[o];null==u?a.onerror&&a.onerror(t[o]):a.onsuccess&&a.onsuccess("put"===l.type&&s[o]?l.values[o]:u)}return{failures:t,results:n,numFailures:r,lastResult:i}}).catch(function(t){return c.forEach(function(e){return e.onerror&&e.onerror(t)}),Promise.reject(t)})})}}})}})}},Rn=(Fn.prototype.version=function(t){if(isNaN(t)||t<.1)throw new te.Type("Given version is not a positive number");if(t=Math.round(10*t)/10,this.idbdb||this._state.isBeingOpened)throw new te.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,t);var e=this._versions,n=e.filter(function(e){return e._cfg.version===t})[0];return n||(n=new this.Version(t),e.push(n),e.sort(_n),n.stores({}),this._state.autoSchema=!1,n)},Fn.prototype._whenReady=function(e){var n=this;return this._state.openComplete||Te.letThrough?e():new Fe(function(e,t){if(!n._state.isBeingOpened){if(!n._options.autoOpen)return void t(new te.DatabaseClosed);n.open().catch(ie)}n._state.dbReadyPromise.then(e,t)}).then(e)},Fn.prototype.use=function(e){var t=e.stack,n=e.create,r=e.level,i=e.name;i&&this.unuse({stack:t,name:i});var o=this._middlewares[t]||(this._middlewares[t]=[]);return o.push({stack:t,create:n,level:null==r?10:r,name:i}),o.sort(function(e,t){return e.level-t.level}),this},Fn.prototype.unuse=function(e){var t=e.stack,n=e.name,r=e.create;return t&&this._middlewares[t]&&(this._middlewares[t]=this._middlewares[t].filter(function(e){return r?e.create!==r:!!n&&e.name!==n})),this},Fn.prototype.open=function(){return Cn(this)},Fn.prototype.close=function(){var e=wt.indexOf(this),n=this._state;if(0<=e&&wt.splice(e,1),this.idbdb){try{this.idbdb.close()}catch(e){}this.idbdb=null}this._options.autoOpen=!1,n.dbOpenError=new te.DatabaseClosed,n.isBeingOpened&&n.cancelOpen(n.dbOpenError),n.dbReadyPromise=new Fe(function(e){n.dbReadyResolve=e}),n.openCanceller=new Fe(function(e,t){n.cancelOpen=t})},Fn.prototype.delete=function(){var r=this,i=0<arguments.length,o=this._state;return new Fe(function(t,n){function e(){r.close();var e=r._deps.indexedDB.deleteDatabase(r.name);e.onsuccess=Xe(function(){jn.remove(r.name),t()}),e.onerror=nn(n),e.onblocked=r._fireOnBlocked}if(i)throw new te.InvalidArgument("Arguments not allowed in db.delete()");o.isBeingOpened?o.dbReadyPromise.then(e):e()})},Fn.prototype.backendDB=function(){return this.idbdb},Fn.prototype.isOpen=function(){return null!==this.idbdb},Fn.prototype.hasBeenClosed=function(){var e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name},Fn.prototype.hasFailed=function(){return null!==this._state.dbOpenError},Fn.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(Fn.prototype,"tables",{get:function(){var t=this;return _(this._allTables).map(function(e){return t._allTables[e]})},enumerable:!0,configurable:!0}),Fn.prototype.transaction=function(){var e=function(e,t,n){var r=arguments.length;if(r<2)throw new te.InvalidArgument("Too few arguments");for(var i=new Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,j(i),n]}.apply(this,arguments);return this._transaction.apply(this,e)},Fn.prototype._transaction=function(e,t,n){var r=this,i=Te.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);var o,u,a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(u=t.map(function(e){var t=e instanceof r.Table?e.name:e;if("string"!=typeof t)throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===Ot)o=Ot;else{if("rw"!=e&&e!=jt)throw new te.InvalidArgument("Invalid transaction mode: "+e);o=jt}if(i){if(i.mode===Ot&&o===jt){if(!a)throw new te.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&u.forEach(function(e){if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new te.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(n){return i?i._promise(null,function(e,t){t(n)}):vt(n)}var s=function(u,a,s,c,l){return Fe.resolve().then(function(){var e=Te.transless||Te,t=u._createTransaction(a,s,u._dbSchema,c),n={trans:t,transless:e};c?t.idbtrans=c.idbtrans:t.create();var r,i=M(l);i&&it();var o=Fe.follow(function(){var e;(r=l.call(t,t))&&(i?(e=ot.bind(null,null),r.then(e,e)):"function"==typeof r.next&&"function"==typeof r.throw&&(r=In(r)))},n);return(r&&"function"==typeof r.then?Fe.resolve(r).then(function(e){return t.active?e:vt(new te.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):o.then(function(){return r})).then(function(e){return c&&t._resolve(),t._completion.then(function(){return e})}).catch(function(e){return t._reject(e),vt(e)})})}.bind(null,this,o,u,i,n);return i?i._promise(o,s,"lock"):Te.trans?lt(Te.transless,function(){return r._whenReady(s)}):this._whenReady(s)},Fn.prototype.table=function(e){if(!g(this._allTables,e))throw new te.InvalidTable("Table "+e+" does not exist");return this._allTables[e]},Fn);function Fn(e,t){var o=this;this._middlewares={},this.verno=0;var n=Fn.dependencies;this._options=t=m({addons:Fn.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange},t),this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};var r=t.addons;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={};var a,i,u,s,c,l={dbOpenError:this.idbdb=null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ie,dbReadyPromise:null,cancelOpen:ie,openCanceller:null,autoSchema:!0};l.dbReadyPromise=new Fe(function(e){l.dbReadyResolve=e}),l.openCanceller=new Fe(function(e,t){l.cancelOpen=t}),this._state=l,this.name=e,this.on=Tt(this,"populate","blocked","versionchange",{ready:[he,ie]}),this.on.ready.subscribe=y(this.on.ready.subscribe,function(i){return function(n,r){Fn.vip(function(){var t,e=o._state;e.openComplete?(e.dbOpenError||Fe.resolve().then(n),r&&i(n)):e.onReadyBeingFired?(e.onReadyBeingFired.push(n),r&&i(n)):(i(n),t=o,r||i(function e(){t.on.ready.unsubscribe(n),t.on.ready.unsubscribe(e)}))})}}),this.Collection=(a=this,Dt(Vt.prototype,function(e,t){this.db=a;var n=At,r=null;if(t)try{n=t()}catch(e){r=e}var i=e._ctx,o=i.table,u=o.hook.reading.fire;this._ctx={table:o,index:i.index,isPrimKey:!i.index||o.schema.primKey.keyPath&&i.index===o.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:u!==oe?u:null}})),this.Table=(i=this,Dt(Ct.prototype,function(e,t,n){this.db=i,this._tx=n,this.name=e,this.schema=t,this.hook=i._allTables[e]?i._allTables[e].hook:Tt(null,{creating:[se,ie],reading:[ue,oe],updating:[le,ie],deleting:[ce,ie]})})),this.Transaction=(u=this,Dt(on.prototype,function(e,t,n,r){var i=this;this.db=u,this.mode=e,this.storeNames=t,this.schema=n,this.idbtrans=null,this.on=Tt(this,"complete","error","abort"),this.parent=r||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 Fe(function(e,t){i._resolve=e,i._reject=t}),this._completion.then(function(){i.active=!1,i.on.complete.fire()},function(e){var t=i.active;return i.active=!1,i.on.error.fire(e),i.parent?i.parent._reject(e):t&&i.idbtrans&&i.idbtrans.abort(),vt(e)})})),this.Version=(s=this,Dt(Sn.prototype,function(e){this.db=s,this._cfg={version:e,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(c=this,Dt($t.prototype,function(e,t,n){this.db=c,this._ctx={table:e,index:":id"===t?null:t,or:n};var r=c._deps.indexedDB;if(!r)throw new te.MissingAPI("indexedDB API missing");this._cmp=this._ascending=r.cmp.bind(r),this._descending=function(e,t){return r.cmp(t,e)},this._max=function(e,t){return 0<r.cmp(e,t)?e:t},this._min=function(e,t){return r.cmp(e,t)<0?e:t},this._IDBKeyRange=c._deps.IDBKeyRange})),this.on("versionchange",function(e){0<e.newVersion?console.warn("Another connection wants to upgrade database '"+o.name+"'. Closing db now to resume the upgrade."):console.warn("Another connection wants to delete database '"+o.name+"'. Closing db now to resume the delete request."),o.close()}),this.on("blocked",function(e){!e.newVersion||e.newVersion<e.oldVersion?console.warn("Dexie.delete('"+o.name+"') was blocked"):console.warn("Upgrade '"+o.name+"' blocked by other connection holding version "+e.oldVersion/10)}),this._maxKey=tn(t.IDBKeyRange),this._createTransaction=function(e,t,n,r){return new o.Transaction(e,t,n,r)},this._fireOnBlocked=function(t){o.on("blocked").fire(t),wt.filter(function(e){return e.name===o.name&&e!==o&&!e._state.vcFired}).map(function(e){return e.on("versionchange").fire(t)})},this.use(Dn),this.use(Bn),r.forEach(function(e){return e(o)})}var qn=Rn;return i(qn,m(m({},re),{delete:function(e){return new qn(e).delete()},exists:function(e){return new qn(e,{addons:[]}).open().then(function(e){return e.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(e){return jn?jn.getDatabaseNames().then(e):Fe.resolve([])},defineClass:function(){return function(e){s(this,e)}},ignoreTransaction:function(e){return Te.trans?lt(Te.transless,e):e()},vip:Kn,async:function(t){return function(){try{var e=In(t.apply(this,arguments));return e&&"function"==typeof e.then?e:Fe.resolve(e)}catch(e){return vt(e)}}},spawn:function(e,t,n){try{var r=In(e.apply(n,t||[]));return r&&"function"==typeof r.then?r:Fe.resolve(r)}catch(e){return vt(e)}},currentTransaction:{get:function(){return Te.trans||null}},waitFor:function(e,t){var n=Fe.resolve("function"==typeof e?qn.ignoreTransaction(e):e).timeout(t||6e4);return Te.trans?Te.trans.waitFor(n):n},Promise:Fe,debug:{get:function(){return N},set:function(e){U(e,"dexie"===e?function(){return!0}:mt)}},derive:o,extend:s,props:i,override:y,Events:Tt,getByKeyPath:x,setByKeyPath:k,delByKeyPath:P,shallowClone:E,deepClone:K,getObjectDiff:D,asap:b,minKey:-1/0,addons:[],connections:wt,errnames:Z,dependencies:function(){try{return{indexedDB:h.indexedDB||h.mozIndexedDB||h.webkitIndexedDB||h.msIndexedDB,IDBKeyRange:h.IDBKeyRange||h.webkitIDBKeyRange}}catch(e){return{indexedDB:null,IDBKeyRange:null}}}(),semVer:"3.0.4",version:"3.0.4".split(".").map(function(e){return parseInt(e)}).reduce(function(e,t,n){return e+t/Math.pow(10,2*n)}),default:qn,Dexie:qn})),qn.maxKey=tn(qn.dependencies.IDBKeyRange),function(e){try{(i=(t=e)&&"function"==typeof t.databases)||((r=new Rn(Et,{addons:[]})).version(1).stores({dbnames:"name"}),n=r.table("dbnames")),jn={getDatabaseNames:function(){return i?Fe.resolve(t.databases()).then(function(e){return e.map(function(e){return e.name}).filter(function(e){return e!==Et})}):n.toCollection().primaryKeys()},add:function(e){return!i&&e!==Et&&n.put({name:e}).catch(ie)},remove:function(e){return!i&&e!==Et&&n.delete(e).catch(ie)}}}catch(e){}var t,n,r,i}(Rn.dependencies.indexedDB),Fe.rejectionMapper=function(e,t){if(!e||e instanceof Q||e instanceof TypeError||e instanceof SyntaxError||!e.name||!ne[e.name])return e;var n=new ne[e.name](t||e.message,e);return"stack"in e&&a(n,"stack",{get:function(){return this.inner.stack}}),n},U(N,mt),Rn});