@playallone/playallone 0.0.0-stage → 0.1.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/app/assets/Inter-Bold-DJlYPwri.ttf +0 -0
- package/app/assets/Inter-Medium-DvphOyYU.ttf +0 -0
- package/app/assets/Inter-Regular-BMa5IoM-.ttf +0 -0
- package/app/assets/Inter-SemiBold-BEUPqj-s.ttf +0 -0
- package/app/assets/Outfit-Bold-CRvqtRCq.ttf +0 -0
- package/app/assets/Outfit-SemiBold-vtIXyqOw.ttf +0 -0
- package/app/assets/index-rNAy6MqO.js +20 -0
- package/app/assets/worker-DpNPn6xn.js +9 -0
- package/app/index.html +71 -0
- package/app/lib/hls.min.js +4 -0
- package/app/lib/mpegts.js +3 -0
- package/package.json +42 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
(function(){`queueMicrotask`in self||(self.queueMicrotask=e=>{Promise.resolve().then(e)}),Promise.prototype.finally||(Promise.prototype.finally=function(e){let t=typeof e==`function`?e:()=>{};return this.then(e=>Promise.resolve(t()).then(()=>e),e=>Promise.resolve(t()).then(()=>{throw e}))});function e(t){"@babel/helpers - typeof";return e=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},e(t)}function t(t,n){if(e(t)!=`object`||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var i=r.call(t,n||`default`);if(e(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(t)}function n(n){var r=t(n,`string`);return e(r)==`symbol`?r:r+``}function r(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}let o=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,s=Object.keys,c=Array.isArray;function l(e,t){return typeof t!=`object`||s(t).forEach((function(n){e[n]=t[n]})),e}typeof Promise>`u`||o.Promise||(o.Promise=Promise);let u=Object.getPrototypeOf,d={}.hasOwnProperty;function f(e,t){return d.call(e,t)}function p(e,t){typeof t==`function`&&(t=t(u(e))),(typeof Reflect>`u`?s:Reflect.ownKeys)(t).forEach((n=>{h(e,n,t[n])}))}let m=Object.defineProperty;function h(e,t,n,r){m(e,t,l(n&&f(n,`get`)&&typeof n.get==`function`?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function g(e){return{from:function(t){return e.prototype=Object.create(t.prototype),h(e.prototype,`constructor`,e),{extend:p.bind(null,e.prototype)}}}}let _=Object.getOwnPropertyDescriptor;function v(e,t){let n;return _(e,t)||(n=u(e))&&v(n,t)}let y=[].slice;function b(e,t,n){return y.call(e,t,n)}function ee(e,t){return t(e)}function te(e){if(!e)throw Error(`Assertion Failed`)}function ne(e){o.setImmediate?setImmediate(e):setTimeout(e,0)}function re(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function x(e,t){if(typeof t==`string`&&f(e,t))return e[t];if(!t)return e;if(typeof t!=`string`){for(var n=[],r=0,i=t.length;r<i;++r){var a=x(e,t[r]);n.push(a)}return n}var o=t.indexOf(`.`);if(o!==-1){var s=e[t.substr(0,o)];return s==null?void 0:x(s,t.substr(o+1))}}function S(e,t,n){if(e&&t!==void 0&&(!(`isFrozen`in Object)||!Object.isFrozen(e))){if(typeof t!=`string`&&`length`in t){te(typeof n!=`string`&&`length`in n);for(var r=0,i=t.length;r<i;++r)S(e,t[r],n[r])}else{var a=t.indexOf(`.`);if(a!==-1){var o=t.substr(0,a),s=t.substr(a+1);if(s===``)n===void 0?c(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var l=e[o];l&&f(e,o)||(l=e[o]={}),S(l,s,n)}}else n===void 0?c(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}}function C(e){var t={};for(var n in e)f(e,n)&&(t[n]=e[n]);return t}let ie=[].concat;function ae(e){return ie.apply([],e)}let oe=`BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey`.split(`,`).concat(ae([8,16,32,64].map((e=>[`Int`,`Uint`,`Float`].map((t=>t+e+`Array`)))))).filter((e=>o[e])),se=oe.map((e=>o[e]));re(oe,(e=>[e,!0]));let w=null;function T(e){w=typeof WeakMap<`u`&&/* @__PURE__ */ new WeakMap;let t=ce(e);return w=null,t}function ce(e){if(!e||typeof e!=`object`)return e;let t=w&&w.get(e);if(t)return t;if(c(e)){t=[],w&&w.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(ce(e[n]))}else if(se.indexOf(e.constructor)>=0)t=e;else{let n=u(e);for(var i in t=n===Object.prototype?{}:Object.create(n),w&&w.set(e,t),e)f(e,i)&&(t[i]=ce(e[i]))}return t}let{toString:le}={};function ue(e){return le.call(e).slice(8,-1)}let de=typeof Symbol<`u`?Symbol.iterator:`@@iterator`,fe=typeof de==`symbol`?function(e){var t;return e!=null&&(t=e[de])&&t.apply(e)}:function(){return null},E={};function D(e){var t,n,r,i;if(arguments.length===1){if(c(e))return e.slice();if(this===E&&typeof e==`string`)return[e];if(i=fe(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(e==null)return[e];if(typeof(t=e.length)==`number`){for(n=Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=Array(t);t--;)n[t]=arguments[t];return n}let pe=typeof Symbol<`u`?e=>e[Symbol.toStringTag]===`AsyncFunction`:()=>!1;var O=typeof location<`u`&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function me(e,t){O=e,he=t}var he=()=>!0;let ge=!(/* @__PURE__ */ Error(``)).stack;function k(){if(ge)try{throw k.arguments,/* @__PURE__ */ Error()}catch(e){return e}return/* @__PURE__ */ Error()}function _e(e,t){var n=e.stack;return n?(t=t||0,n.indexOf(e.name)===0&&(t+=(e.name+e.message).split(`
|
|
2
|
+
`).length),n.split(`
|
|
3
|
+
`).slice(t).filter(he).map((e=>`
|
|
4
|
+
`+e)).join(``)):``}var ve=[`Unknown`,`Constraint`,`Data`,`TransactionInactive`,`ReadOnly`,`Version`,`NotFound`,`InvalidState`,`InvalidAccess`,`Abort`,`Timeout`,`QuotaExceeded`,`Syntax`,`DataClone`],ye=[`Modify`,`Bulk`,`OpenFailed`,`VersionChange`,`Schema`,`Upgrade`,`InvalidTable`,`MissingAPI`,`NoSuchDatabase`,`InvalidArgument`,`SubTransaction`,`Unsupported`,`Internal`,`DatabaseClosed`,`PrematureCommit`,`ForeignAwait`].concat(ve),be={VersionChanged:`Database version changed by other database connection`,DatabaseClosed:`Database has been closed`,Abort:`Transaction aborted`,TransactionInactive:`Transaction has already completed or failed`,MissingAPI:`IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb`};function xe(e,t){this._e=k(),this.name=e,this.message=t}function Se(e,t){return e+`. Errors: `+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(`
|
|
5
|
+
`)}function Ce(e,t,n,r){this._e=k(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=Se(e,t)}function we(e,t){this._e=k(),this.name=`BulkError`,this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=Se(e,t)}g(xe).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+`: `+this.message+_e(this._e,2))}},toString:function(){return this.name+`: `+this.message}}),g(Ce).from(xe),g(we).from(xe);var Te=ye.reduce(((e,t)=>(e[t]=t+`Error`,e)),{});let Ee=xe;var A=ye.reduce(((e,t)=>{var n=t+`Error`;function r(e,r){this._e=k(),this.name=n,e?typeof e==`string`?(this.message=`${e}${r?`
|
|
6
|
+
`+r:``}`,this.inner=r||null):typeof e==`object`&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=be[t]||n,this.inner=null)}return g(r).from(Ee),e[t]=r,e}),{});A.Syntax=SyntaxError,A.Type=TypeError,A.Range=RangeError;var De=ve.reduce(((e,t)=>(e[t+`Error`]=A[t],e)),{}),Oe=ye.reduce(((e,t)=>([`Syntax`,`Type`,`Range`].indexOf(t)===-1&&(e[t+`Error`]=A[t]),e)),{});function j(){}function ke(e){return e}function Ae(e,t){return e==null||e===ke?t:function(n){return t(e(n))}}function je(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Me(e,t){return e===j?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?je(r,this.onsuccess):r),i&&(this.onerror=this.onerror?je(i,this.onerror):i),a===void 0?n:a}}function Ne(e,t){return e===j?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?je(n,this.onsuccess):n),r&&(this.onerror=this.onerror?je(r,this.onerror):r)}}function Pe(e,t){return e===j?t:function(n){var r=e.apply(this,arguments);l(n,r);var i=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?je(i,this.onsuccess):i),a&&(this.onerror=this.onerror?je(a,this.onerror):a),r===void 0?o===void 0?void 0:o:l(r,o)}}function Fe(e,t){return e===j?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Ie(e,t){return e===j?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then==`function`){for(var r=this,i=arguments.length,a=Array(i);i--;)a[i]=arguments[i];return n.then((function(){return t.apply(r,a)}))}return t.apply(this,arguments)}}Oe.ModifyError=Ce,Oe.DexieError=xe,Oe.BulkError=we;var Le={};let[Re,ze,Be]=typeof Promise>`u`?[]:(()=>{let e=Promise.resolve();if(typeof crypto>`u`||!crypto.subtle)return[e,u(e),e];let t=crypto.subtle.digest(`SHA-512`,new Uint8Array([0]));return[t,u(t),e]})(),Ve=ze&&ze.then,He=Re&&Re.constructor,Ue=!!Be;var We=!1,Ge=Be?()=>{Be.then(ft)}:o.setImmediate?setImmediate.bind(null,ft):o.MutationObserver?()=>{var e=document.createElement(`div`);new MutationObserver((()=>{ft(),e=null})).observe(e,{attributes:!0}),e.setAttribute(`i`,`1`)}:()=>{setTimeout(ft,0)},Ke=function(e,t){et.push([e,t]),Je&&(Ge(),Je=!1)},qe=!0,Je=!0,Ye=[],Xe=[],Ze=null,Qe=ke,$e={id:`global`,global:!0,ref:0,unhandleds:[],onunhandled:Pt,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Pt(e[0],e[1])}catch(e){}}))}},M=$e,et=[],tt=0,nt=[];function N(e){if(typeof this!=`object`)throw TypeError(`Promises must be constructed via new`);this._listeners=[],this.onuncatched=j,this._lib=!1;var t=this._PSD=M;if(O&&(this._stackHolder=k(),this._prev=null,this._numPrev=0),typeof e!=`function`){if(e!==Le)throw TypeError(`Not a function`);this._state=arguments[1],this._value=arguments[2],!1===this._state&&ot(this,this._value)}else this._state=null,this._value=null,++t.ref,at(this,e)}let rt={get:function(){var e=M,t=bt;function n(n,r){var i=!e.global&&(e!==M||t!==bt);let a=i&&!I();var o=new N(((t,o)=>{ct(this,new it(jt(n,e,i,a),jt(r,e,i,a),t,o,e))}));return O&&dt(o,this),o}return n.prototype=Le,n},set:function(e){h(this,`then`,e&&e.prototype===Le?rt:{get:function(){return e},set:rt.set})}};function it(e,t,n,r,i){this.onFulfilled=typeof e==`function`?e:null,this.onRejected=typeof t==`function`?t:null,this.resolve=n,this.reject=r,this.psd=i}function at(e,t){try{t((t=>{if(e._state===null){if(t===e)throw TypeError(`A promise cannot be resolved with itself.`);var n=e._lib&&pt();t&&typeof t.then==`function`?at(e,((e,n)=>{t instanceof N?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,st(e)),n&&mt()}}),ot.bind(null,e))}catch(t){ot(e,t)}}function ot(e,t){if(Xe.push(t),e._state===null){var n=e._lib&&pt();t=Qe(t),e._state=!1,e._value=t,O&&typeof t==`object`&&t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=v(t,`stack`);t._promise=e,h(t,`stack`,{get:()=>We?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Ye.some((t=>t._value===e._value))||Ye.push(e)}(e),st(e),n&&mt()}}function st(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)ct(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),tt===0&&(++tt,Ke((()=>{--tt==0&&ht()}),[]))}function ct(e,t){if(e._state!==null){var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++tt,Ke(lt,[n,e,t])}else e._listeners.push(t)}function lt(e,t,n){try{Ze=t;var r,i=t._value;t._state?r=e(i):(Xe.length&&(Xe=[]),r=e(i),Xe.indexOf(i)===-1&&function(e){for(var t=Ye.length;t;)if(Ye[--t]._value===e._value)return void Ye.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Ze=null,--tt==0&&ht(),--n.psd.ref||n.psd.finalize()}}function ut(e,t,n){if(t.length===n)return t;var r=``;if(!1===e._state){var i,a,o=e._value;o==null?(i=o,a=``):(i=o.name||`Error`,a=o.message||o,r=_e(o,0)),t.push(i+(a?`: `+a:``)+r)}return O&&((r=_e(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&ut(e._prev,t,n)),t}function dt(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function ft(){pt()&&mt()}function pt(){var e=qe;return qe=!1,Je=!1,e}function mt(){var e,t,n;do for(;et.length>0;)for(e=et,et=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while(et.length>0);qe=!0,Je=!0}function ht(){var e=Ye;Ye=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=nt.slice(0),n=t.length;n;)t[--n]()}function gt(e){return new N(Le,!1,e)}function P(e,t){var n=M;return function(){var r=pt(),i=M;try{return Dt(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{Dt(i,!1),r&&mt()}}}p(N.prototype,{then:rt,_then:function(e,t){ct(this,new it(null,null,e,t,M))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t==`function`?this.then(null,(e=>e instanceof t?n(e):gt(e))):this.then(null,(e=>e&&e.name===t?n(e):gt(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),gt(t))))},stack:{get:function(){if(this._stack)return this._stack;try{We=!0;var e=ut(this,[],20).join(`
|
|
7
|
+
From previous: `);return this._state!==null&&(this._stack=e),e}finally{We=!1}}},timeout:function(e,t){return e<1/0?new N(((n,r)=>{var i=setTimeout((()=>r(new A.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&h(N.prototype,Symbol.toStringTag,`Dexie.Promise`),$e.env=Ot(),p(N,{all:function(){var e=D.apply(null,arguments).map(wt);return new N((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>N.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof N)return e;if(e&&typeof e.then==`function`)return new N(((t,n)=>{e.then(t,n)}));var t=new N(Le,!0,e);return dt(t,Ze),t},reject:gt,race:function(){var e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.map((e=>N.resolve(e).then(t,n)))}))},PSD:{get:()=>M,set:e=>M=e},totalEchoes:{get:()=>bt},newPSD:St,usePSD:kt,scheduler:{get:()=>Ke,set:e=>{Ke=e}},rejectionMapper:{get:()=>Qe,set:e=>{Qe=e}},follow:(e,t)=>new N(((n,r)=>St(((t,n)=>{var r=M;r.unhandleds=[],r.onunhandled=n,r.finalize=je((function(){(function(e){function t(){e(),nt.splice(nt.indexOf(t),1)}nt.push(t),++tt,Ke((()=>{--tt==0&&ht()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),He&&(He.allSettled&&h(N,`allSettled`,(function(){let e=D.apply(null,arguments).map(wt);return new N((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>N.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),He.any&&typeof AggregateError<`u`&&h(N,`any`,(function(){let e=D.apply(null,arguments).map(wt);return new N(((t,n)=>{e.length===0&&n(/* @__PURE__ */ AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>N.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));let F={awaits:0,echoes:0,id:0};var _t=0,vt=[],yt=0,bt=0,xt=0;function St(e,t,n,r){var i=M,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++xt;var o=$e.env;a.env=Ue?{Promise:N,PromiseProp:{value:N,configurable:!0,writable:!0},all:N.all,race:N.race,allSettled:N.allSettled,any:N.any,resolve:N.resolve,reject:N.reject,nthen:Mt(o.nthen,a),gthen:Mt(o.gthen,a)}:{},t&&l(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=kt(a,e,n,r);return a.ref===0&&a.finalize(),s}function Ct(){return F.id||(F.id=++_t),++F.awaits,F.echoes+=100,F.id}function I(){return!!F.awaits&&(--F.awaits==0&&(F.id=0),F.echoes=F.awaits*100,!0)}function wt(e){return F.echoes&&e&&e.constructor===He?(Ct(),e.then((e=>(I(),e)),(e=>(I(),L(e))))):e}function Tt(e){++bt,F.echoes&&--F.echoes!=0||(F.echoes=F.id=0),vt.push(M),Dt(e,!0)}function Et(){var e=vt[vt.length-1];vt.pop(),Dt(e,!1)}function Dt(e,t){var n=M;if((t?!F.echoes||yt++&&e===M:!yt||--yt&&e===M)||At(t?Tt.bind(null,e):Et),e!==M&&(M=e,n===$e&&($e.env=Ot()),Ue)){var r=$e.env.Promise,i=e.env;ze.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(o,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Ot(){var e=o.Promise;return Ue?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(o,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:ze.then,gthen:e.prototype.then}:{}}function kt(e,t,n,r,i){var a=M;try{return Dt(e,!0),t(n,r,i)}finally{Dt(a,!1)}}function At(e){Ve.call(Re,e)}function jt(e,t,n,r){return typeof e==`function`?function(){var i=M;n&&Ct(),Dt(t,!0);try{return e.apply(this,arguments)}finally{Dt(i,!1),r&&At(I)}}:e}function Mt(e,t){return function(n,r){return e.call(this,jt(n,t),jt(r,t))}}(``+Ve).indexOf(`[native code]`)===-1&&(Ct=I=j);let Nt=`unhandledrejection`;function Pt(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(o.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(Nt,!0,!0),l(r,i)):o.CustomEvent&&l(r=new CustomEvent(Nt,{detail:i}),i),r&&o.dispatchEvent&&(dispatchEvent(r),!o.PromiseRejectionEvent&&o.onunhandledrejection))try{o.onunhandledrejection(r)}catch(e){}O&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var L=N.reject;function Ft(e,t,n,r){if(e.idbdb&&(e._state.openComplete||M.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Ft(e,t,n,r)))):L(i)}return i._promise(t,((e,t)=>St((()=>(M.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return L(new A.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return L(new A.DatabaseClosed);e.open().catch(j)}return e._state.dbReadyPromise.then((()=>Ft(e,t,n,r)))}let It=`3.2.7`,Lt=-1/0,R=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Rt=`String expected.`,zt=[],Bt=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Vt=Bt,Ht=Bt,Ut=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Wt=`__dbnames`,Gt=`readonly`,Kt=`readwrite`;function qt(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let Jt={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Yt(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=T(t))[e],t)}var Xt=class{_trans(e,t,n){let r=this._tx||M.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new A.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=pt();try{return r&&r.db===this.db?r===M.trans?r._promise(e,a,n):St((()=>r._promise(e,a,n)),{trans:r,transless:M.transless||M}):Ft(this.db,e,[this.name],a)}finally{o&&mt()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans(`readonly`,(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if(typeof e==`string`)return new this.db.WhereClause(this,e);if(c(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=s(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==``){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&O&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,l]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?qt(n,o&&o.multi?e=>{let t=x(e,i);return c(t)&&t.some((e=>a(s,e)))}:e=>a(s,x(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(l):n?this.filter(l):this.where(t).equals(``)}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,c(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(f(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook(`reading`,t),e}defineClass(){return this.mapToClass((function(e){l(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Yt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||c(e))return this.where(`:id`).equals(e).modify(t);{let n=x(e,this.schema.primKey.keyPath);if(n===void 0)return L(new A.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):s(t).forEach((n=>{S(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=Yt(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?N.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{S(e,r,t)}catch(e){}return t}))}delete(e){return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:[e]}))).then((e=>e.numFailures?N.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:Jt}))).then((e=>e.numFailures?N.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans(`readonly`,(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Yt(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new A.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new A.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(Yt(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new we(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new we(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function Zt(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Fe),i||(i=j);var l={subscribers:[],fire:i,subscribe:function(e){l.subscribers.indexOf(e)===-1&&(l.subscribers.push(e),l.fire=r(l.fire,e))},unsubscribe:function(e){l.subscribers=l.subscribers.filter((function(t){return t!==e})),l.fire=l.subscribers.reduce(r,i)}};return t[e]=n[e]=l,l}s(o=e).forEach((function(e){var t=o[e];if(c(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new A.InvalidArgument(`Invalid event config`);var n=a(e,ke,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){ne((function(){e.apply(null,t)}))}))}))}}))}}function Qt(e,t){return g(t).from({prototype:e}),t}function $t(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function en(e,t){e.filter=qt(e.filter,t)}function tn(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>qt(r(),t()):t,e.justLimit=n&&!r}function nn(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new A.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function rn(e,t,n){let r=nn(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function an(e,t,n,r){let i=e.replayFilter?qt(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),f(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),on(rn(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return on(rn(e,r,n),qt(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function on(e,t,n,r){var i=P(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=j}),(t=>{e.fail(t),n=j}))||i(e.value,e,(e=>n=e)),n()}))}))}function z(e,t){try{let n=sn(e),r=sn(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(cn(e),cn(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=z(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function sn(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=ue(e);return n===`ArrayBuffer`?`binary`:n}function cn(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var ln=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,L.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,L.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=qt(t.algorithm,e)}_iterate(e,t){return an(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&l(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>an(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if($t(t,!0))return n.count({trans:e,query:{index:nn(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return an(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&$t(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=nn(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return an(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,$t(t)?tn(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):tn(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),tn(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return en(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return en(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=qt(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`next`:`prev`,this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique=`unique`,this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(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)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&$t(t,!0)&&t.limit>0)return this._read((e=>{var n=nn(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique=`unique`,this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return en(this._ctx,(function(e){var t=e.primaryKey.toString(),r=f(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=s(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];x(t,o)!==s&&(S(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:c,extractKey:l}=o.schema.primaryKey,u=this.db._options.modifyChunkSize||200,d=[],f=0,p=[],m=(e,t)=>{let{failures:n,numFailures:r}=t;f+=e-r;for(let e of s(n))d.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=s=>{let d=Math.min(u,i.length-s);return o.getMany({trans:n,keys:i.slice(s,s+d),cache:`immutable`}).then((f=>{let p=[],h=[],g=c?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:T(t),primKey:i[s+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[s+e]):c||z(l(t),l(n.value))===0?(h.push(n.value),c&&g.push(i[s+e])):(_.push(i[s+e]),p.push(n.value)))}let v=$t(t)&&t.limit===1/0&&(typeof e!=`function`||e===un)&&{index:t.index,range:t.range};return Promise.resolve(p.length>0&&o.mutate({trans:n,type:`add`,values:p}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);m(p.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>m(h.length,e))))).then((()=>(_.length>0||v&&e===un)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>m(_.length,e))))).then((()=>i.length>s+d&&a(s+u)))}))};return a(0).then((()=>{if(d.length>0)throw new Ce(`Error modifying one or more objects`,d,f,p);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return $t(e)&&(e.isPrimKey&&!Ht||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new Ce(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(un)}};let un=(e,t)=>t.value=null;function dn(e,t){return e<t?-1:e===t?0:1}function fn(e,t){return e>t?-1:e===t?0:1}function B(e,t,n){var r=e instanceof vn?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function pn(e){return new e.Collection(e,(()=>_n(``))).limit(0)}function mn(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function hn(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return B(e,Rt);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?dn:fn;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>gn(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=mn(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function gn(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function _n(e){return{type:1,lower:e,upper:e}}var vn=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?pn(this):new this.Collection(this,(()=>gn(e,t,!n,!r)))}catch(e){return B(this,R)}}equals(e){return e==null?B(this,R):new this.Collection(this,(()=>_n(e)))}above(e){return e==null?B(this,R):new this.Collection(this,(()=>gn(e,void 0,!0)))}aboveOrEqual(e){return e==null?B(this,R):new this.Collection(this,(()=>gn(e,void 0,!1)))}below(e){return e==null?B(this,R):new this.Collection(this,(()=>gn(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?B(this,R):new this.Collection(this,(()=>gn(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+``,!0,!0):B(this,Rt)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):hn(this,((e,t)=>e.indexOf(t[0])===0),[e],``)}equalsIgnoreCase(e){return hn(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?pn(this):hn(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=D.apply(E,arguments);return e.length===0?pn(this):hn(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,``)}anyOf(){let e=D.apply(E,arguments),t=this._cmp;try{e.sort(t)}catch(e){return B(this,R)}if(e.length===0)return pn(this);let n=new this.Collection(this,(()=>gn(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[Lt,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=D.apply(E,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return B(this,R)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Lt,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return pn(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return B(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,A.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return B(this,R)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>gn(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=D.apply(E,arguments);return e.every((e=>typeof e==`string`))?e.length===0?pn(this):this.inAnyRange(e.map((e=>[e,e+``]))):B(this,`startsWithAnyOf() only works with strings`)}};function V(e){return P((function(t){return yn(t),e(t.target.error),!1}))}function yn(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let bn=`storagemutated`,xn=`x-storagemutated-1`,Sn=Zt(null,bn);var Cn=class{_lock(){return te(!M.global),++this._reculock,this._reculock!==1||M.global||(M.lockOwnerFor=this),this}_unlock(){if(te(!M.global),--this._reculock==0)for(M.global||(M.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{kt(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&M.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(te(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new A.DatabaseClosed(n);case`MissingAPIError`:throw new A.MissingAPI(n.message,n);default:throw new A.OpenFailed(n)}if(!this.active)throw new A.TransactionInactive;return te(this._completion._state===null),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=P((t=>{yn(t),this._reject(e.error)})),e.onabort=P((t=>{yn(t),this.active&&this._reject(new A.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=P((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&Sn.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return L(new A.ReadOnly(`Transaction is readonly`));if(!this.active)return L(new A.TransactionInactive);if(this._locked())return new N(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},M])}));if(n)return St((()=>{var e=new N(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new N(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=N.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new N(((e,r)=>{n.then((n=>t._waitingQueue.push(P(e.bind(null,n)))),(e=>t._waitingQueue.push(P(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new A.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(f(t,e))return t[e];let n=this.schema[e];if(!n)throw new A.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function wn(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+Tn(t)}}function Tn(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function En(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:re(n,(e=>[e.name,e]))}}let Dn=e=>{try{return e.only([[]]),Dn=()=>[[]],[[]]}catch(e){return Dn=()=>``,``}};function On(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>x(t,e)}(e):t=>x(t,e)}function kn(e){return[].slice.call(e)}let An=0;function jn(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function Mn(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=kn(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=c(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:On(t)},indexes:kn(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:c(i),keyPath:i,unique:n,multiEntry:r,extractKey:On(i)};return a[jn(i)]=o,o})),getIndexByKeyPath:e=>a[jn(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[jn(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=P(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,yn(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=V(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=P(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=V(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=P(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=V(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=V(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=P(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=V(c),m.onsuccess=P((t=>{let n=m.result;if(!n)return void s(null);n.___id=++An,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=P(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=P(e),m.onerror=V(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=P((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=P((t=>e(t.target.result))),u.onerror=V(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:Dn(t),schema:i}}function Nn({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>a(a({},e),t(e))),e)}(Mn(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Pn({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=v(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?h(t,n,{get(){return this.table(n)},set(e){m(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Fn({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function In(e,t){return e._cfg.version-t._cfg.version}function Ln(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),c=M.transless||M;St((()=>{M.trans=a,M.transless=c,t===0?(s(i).forEach((e=>{zn(n,e,i[e].primKey,i[e].indexes)})),Nn(e,n),N.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Vn(e,e.idbdb,r),c=!1,l=a.filter((e=>e._cfg.version>=t));function u(){return i.length?N.resolve(i.shift()(n.idbtrans)).then(u):N.resolve()}return l.forEach((a=>{i.push((()=>{let i=o,l=a._cfg.dbschema;Hn(e,i,r),Hn(e,l,r),o=e._dbSchema=l;let u=Rn(i,l);u.add.forEach((e=>{zn(r,e[0],e[1].primKey,e[1].indexes)})),u.change.forEach((e=>{if(e.recreate)throw new A.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>Bn(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Bn(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let d=a._cfg.contentUpgrade;if(d&&a._cfg.version>t){Nn(e,r),n._memoizedTables={},c=!0;let t=C(l);u.del.forEach((e=>{t[e]=i[e]})),Fn(e,[e.Transaction.prototype]),Pn(e,[e.Transaction.prototype],s(t),t),n.schema=t;let a=pe(d),o;a&&Ct();let f=N.follow((()=>{if(o=d(n),o&&a){var e=I.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?N.resolve(o):f.then((()=>o))}})),i.push((t=>{c&&Vt||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Fn(e,[e.Transaction.prototype]),Pn(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),u().then((()=>{var e,t=r;s(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||zn(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Rn(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!Bt)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function zn(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Bn(i,e))),i}function Bn(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Vn(e,t,n){let r={};return b(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=wn(Tn(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=wn(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=En(e,a,o)})),r}function Hn({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+b(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&o.WorkerGlobalScope&&o instanceof o.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var Un=class{_parseStoresSpec(e,t){s(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return wn(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),c(r),t===0)})),i=r.shift();if(i.multi)throw new A.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new A.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new A.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=En(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?l(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{l(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Fn(t,[t._allTables,t,t.Transaction.prototype]),Pn(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],s(i),i),t._storeNames=s(i),this}upgrade(e){return this._cfg.contentUpgrade=Ie(this._cfg.contentUpgrade||j,e),this}};function Wn(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new fr(Wt,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function Gn(e){return e&&typeof e.databases==`function`}function Kn(e){return St((function(){return M.letThrough=!0,e()}))}function qn(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function Jn(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?L(t.dbOpenError):e));O&&(t.openCanceller._stackHolder=k()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new A.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,c=!1,l=()=>new N(((r,a)=>{if(i(),!n)throw new A.MissingAPI;let l=e.name,u=t.autoSchema?n.open(l):n.open(l,Math.round(10*e.verno));if(!u)throw new A.MissingAPI;u.onerror=V(a),u.onblocked=P(e._fireOnBlocked),u.onupgradeneeded=P((r=>{if(o=u.transaction,t.autoSchema&&!e._options.allowEmptyDB){u.onerror=yn,o.abort(),u.result.close();let e=n.deleteDatabase(l);e.onsuccess=e.onerror=P((()=>{a(new A.NoSuchDatabase(`Database ${l} doesnt exist`))}))}else{o.onerror=V(a);var i=r.oldVersion>2**62?0:r.oldVersion;c=i<1,e._novip.idbdb=u.result,Ln(e,i/10,o,a)}}),a),u.onsuccess=P((()=>{o=null;let n=e._novip.idbdb=u.result,i=b(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Vn(0,t,n);e._storeNames=b(t.objectStoreNames,0),Pn(e,[e._allTables],s(r),r)}(e,n,r):(Hn(e,e._dbSchema,r),function(e,t){let n=Rn(Vn(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Nn(e,r)}catch(e){}var a;zt.push(e),n.onversionchange=P((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=P((t=>{e.on(`close`).fire(t)})),c&&function({indexedDB:e,IDBKeyRange:t},n){!Gn(e)&&n!==Wt&&Wn(e,t).put({name:n}).catch(j)}(e._deps,l),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),l()):N.reject(e)));return N.race([r,(typeof navigator>`u`?N.resolve():qn()).then(l)]).then((()=>(i(),t.onReadyBeingFired=[],N.resolve(Kn((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ie,j);return t.onReadyBeingFired=[],N.resolve(Kn((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),L(n)})).finally((()=>{t.openComplete=!0,a()}))}function Yn(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):c(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function Xn(e,t,n){var r=arguments.length;if(r<2)throw new A.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,ae(i),n]}function Zn(e,t,n,r,i){return N.resolve().then((()=>{let a=M.transless||M,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Te.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Zn(e,t,n,null,i)))):L(r)}let c=pe(i),l;c&&Ct();let u=N.follow((()=>{if(l=i.call(o,o),l){if(c){var e=I.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=Yn(l))}}),s);return(l&&typeof l.then==`function`?N.resolve(l).then((e=>o.active?e:L(new A.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),L(e))))}))}function Qn(e,t,n){let r=c(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}let $n={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return a(a({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},o=[];function s(e,t,n){let r=jn(e),c=i[r]=i[r]||[],l=e==null?0:typeof e==`string`?1:e.length,u=t>0,d=a(a({},n),{},{isVirtual:u,keyTail:t,keyLength:l,extractKey:On(e),unique:!u&&n.unique});return c.push(d),d.isPrimaryKey||o.push(d),l>1&&s(l===2?e[0]:e.slice(0,l-1),t+1,n),c.sort(((e,t)=>e.keyTail-t.keyTail)),d}let c=s(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[c];for(let e of r.indexes)s(e.keyPath,0,e);function l(t){let n=t.query.index;return n.isVirtual?a(a({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:Qn(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:Qn(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return a(a({},n),{},{schema:a(a({},r),{},{primaryKey:c,indexes:o,getIndexByKeyPath:function(e){let t=i[jn(e)];return t&&t[0]}}),count:e=>n.count(l(e)),query:e=>n.query(l(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(l(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(Qn(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(Qn(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function er(e,t,n,r){return n=n||{},r=r||``,s(e).forEach((i=>{if(f(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=ue(a);e===ue(o)?e===`Object`?er(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),s(t).forEach((i=>{f(e,i)||(n[r+i]=t[i])})),n}let tr={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>a(a({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return a(a({},n),{},{mutate(e){let i=M.trans,{deleting:o,creating:s,updating:c}=i.table(t).hook;switch(e.type){case`add`:if(s.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`put`:if(s.fire===j&&c.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`delete`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>l(e)),!0);case`deleteRange`:if(o.fire===j)break;return i._promise(`readwrite`,(()=>function(e){return u(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function l(e){let t=M.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?a(a({},e),{},{keys:i}):a({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((a=>{let l=i.map(((n,i)=>{let l=a[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)o.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=s.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||S(e.values[i],r.keyPath,n))}else{let r=er(l,e.values[i]),a=c.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{f(t,e)?t[e]=a[e]:S(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:o})=>{for(let r=0;r<i.length;++r){let o=n?n[r]:i[r],s=l[r];o==null?s.onerror&&s.onerror(t[r]):s.onsuccess&&s.onsuccess(e.type===`put`&&a[r]?e.values[r]:o)}return{failures:t,results:n,numFailures:r,lastResult:o}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function u(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>l({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:u(e,a(a({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function nr(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)z(t.keys[i],e[a])===0&&(r.push(n?T(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}let rr={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return a(a({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=nr(e.keys,e.trans._cache,e.cache===`clone`);return t?N.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?T(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function ir(e){return!(`from`in e)}let H=function(e,t){if(!this){let t=new H;return e&&`d`in e&&l(t,e),t}l(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ar(e,t,n){let r=z(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(ir(e))return l(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(z(n,e.from)<0)return i?ar(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},lr(e);if(z(t,e.to)>0)return a?ar(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},lr(e);z(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),z(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&or(e,i),a&&o&&or(e,a)}function or(e,t){ir(t)||function e(t,{from:n,to:r,l:i,r:a}){ar(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function sr(e,t){let n=cr(t),r=n.next();if(r.done)return!1;let i=r.value,a=cr(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(z(s.from,i.to)<=0&&z(s.to,i.from)>=0)return!0;z(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function cr(e){let t=ir(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&z(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||z(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function lr(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=a({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=ur(n)}e.d=ur(e)}function ur({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}p(H.prototype,{add(e){return or(this,e),this},addKey(e){return ar(this,e,e),this},addKeys(e){return e.forEach((e=>ar(this,e,e))),this},[de](){return cr(this)}});let dr={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new H(e.MIN_KEY,e.MAX_KEY);return a(a({},e),{},{table:r=>{let i=e.table(r),{schema:o}=i,{primaryKey:l}=o,{extractKey:u,outbound:d}=l,f=a(a({},i),{},{mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new H)},u=l(``),d=l(`:dels`),{type:f}=e,[p,m]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return i.mutate(e).then((e=>{if(c(p)){f!==`delete`&&(p=e.results),u.addKeys(p);let t=nr(p,h);t||f===`add`||d.addKeys(p),(t||m)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&c(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);z(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(l,o,t,m)}else if(p){let e={from:p.lower,to:p.upper};d.add(e),u.add(e)}else u.add(n),d.add(n),o.indexes.forEach((e=>l(e.name).add(n)));return e}))}}),p=({query:{index:t,range:n}})=>{var r,i;return[t,new H((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},m={get:e=>[l,new H(e.key)],getMany:e=>[l,new H().addKeys(e.keys)],count:p,query:p,openCursor:p};return s(m).forEach((e=>{f[e]=function(o){let{subscr:s}=M;if(s){let c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new H)},l=c(``),f=c(`:dels`),[p,h]=m[e](o);if(c(p.name||``).add(h),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&d&&o.values&&i.query(a(a({},o),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(d&&o.values)return t.then((({result:e})=>(l.addKeys(e),n)));let e=o.values?n.result.map(u):n.result;o.values?l.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=o.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&l.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),f}})}};var fr=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=a({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:j,dbReadyPromise:null,cancelOpen:j,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var s;o.dbReadyPromise=new N((e=>{o.dbReadyResolve=e})),o.openCanceller=new N(((e,t)=>{o.cancelOpen=t})),this._state=o,this.name=t,this.on=Zt(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ie,j]}),this.on.ready.subscribe=ee(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||N.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(s=this,Qt(ln.prototype,(function(e,t){this.db=s;let n=Jt,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,o=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.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:o===ke?null:o}}))),this.Table=function(e){return Qt(Xt.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:Zt(null,{creating:[Me,j],reading:[Ae,ke],updating:[Pe,j],deleting:[Ne,j]})}))}(this),this.Transaction=function(e){return Qt(Cn.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=Zt(this,`complete`,`error`,`abort`),this.parent=a||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 N(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),L(e)}))}))}(this),this.Version=function(e){return Qt(Un.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return Qt(vn.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new A.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on(`versionchange`,(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on(`blocked`,(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=Dn(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),zt.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use($n),this.use(tr),this.use(dr),this.use(rr),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new A.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new A.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(In),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||M.letThrough||this._vip)?e():new N(((e,t)=>{if(this._state.openComplete)return t(new A.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new A.DatabaseClosed);this.open().catch(j)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return Jn(this)}_close(){let e=this._state,t=zt.indexOf(this);if(t>=0&&zt.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new N((t=>{e.dbReadyResolve=t})),e.openCanceller=new N(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new A.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new N(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=P((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!Gn(e)&&n!==Wt&&Wn(e,t).delete(n).catch(j)})(this._deps,this.name),n()})),e.onerror=V(r),e.onblocked=this._fireOnBlocked};if(e)throw new A.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return s(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=Xn.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=M.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===Gt)a=Gt;else{if(e!=`rw`&&e!=Kt)throw new A.InvalidArgument(`Invalid transaction mode: `+e);a=Kt}if(r){if(r.mode===Gt&&a===Kt){if(!i)throw new A.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new A.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):L(e)}let s=Zn.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):M.trans?kt(M.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!f(this._allTables,e))throw new A.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}};let pr=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`;var mr=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[pr](){return this}};function hr(e,t){return s(t).forEach((n=>{or(e[n]||(e[n]=new H),t[n])})),e}function gr(e){let t,n=!1,r=new mr((r=>{let i=pe(e),a=!1,o={},c={},l={get closed(){return a},unsubscribe:()=>{a=!0,Sn.storagemutated.unsubscribe(p)}};r.start&&r.start(l);let u=!1,d=!1;function f(){return s(c).some((e=>o[e]&&sr(o[e],c[e])))}let p=e=>{hr(o,e),f()&&m()},m=()=>{if(u||a)return;o={};let s={},h=function(t){i&&Ct();let n=()=>St(e,{subscr:t,trans:null}),r=M.trans?kt(M.transless,n):n();return i&&r.then(I,I),r}(s);d||(Sn(bn,p),d=!0),u=!0,Promise.resolve(h).then((e=>{n=!0,t=e,u=!1,a||(f()?m():(o={},c=s,r.next&&r.next(e)))}),(e=>{u=!1,n=!1,r.error&&r.error(e),l.unsubscribe()}))};return m(),l}));return r.hasValue=()=>n,r.getValue=()=>t,r}let _r;try{_r={indexedDB:o.indexedDB||o.mozIndexedDB||o.webkitIndexedDB||o.msIndexedDB,IDBKeyRange:o.IDBKeyRange||o.webkitIDBKeyRange}}catch(e){_r={indexedDB:null,IDBKeyRange:null}}let vr=fr;function yr(e){let t=U;try{U=!0,Sn.storagemutated.fire(e)}finally{U=t}}p(vr,a(a({},Oe),{},{delete:e=>new vr(e,{addons:[]}).delete(),exists:e=>new vr(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return Gn(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Wt)))):Wn(e,t).toCollection().primaryKeys()}(vr.dependencies).then(e)}catch(e){return L(new A.MissingAPI)}},defineClass:()=>function(e){l(this,e)},ignoreTransaction:e=>M.trans?kt(M.transless,e):e(),vip:Kn,async:function(e){return function(){try{var t=Yn(e.apply(this,arguments));return t&&typeof t.then==`function`?t:N.resolve(t)}catch(e){return L(e)}}},spawn:function(e,t,n){try{var r=Yn(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:N.resolve(r)}catch(e){return L(e)}},currentTransaction:{get:()=>M.trans||null},waitFor:function(e,t){let n=N.resolve(typeof e==`function`?vr.ignoreTransaction(e):e).timeout(t||6e4);return M.trans?M.trans.waitFor(n):n},Promise:N,debug:{get:()=>O,set:e=>{me(e,e===`dexie`?()=>!0:Ut)}},derive:g,extend:l,props:p,override:ee,Events:Zt,on:Sn,liveQuery:gr,extendObservabilitySet:hr,getByKeyPath:x,setByKeyPath:S,delByKeyPath:function(e,t){typeof t==`string`?S(e,t,void 0):`length`in t&&[].map.call(t,(function(t){S(e,t,void 0)}))},shallowClone:C,deepClone:T,getObjectDiff:er,cmp:z,asap:ne,minKey:Lt,addons:[],connections:zt,errnames:Te,dependencies:_r,semVer:It,version:It.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),vr.maxKey=Dn(vr.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(Sn(bn,(e=>{if(!U){let t;Bt?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(xn,!0,!0,e)):t=new CustomEvent(xn,{detail:e}),U=!0,dispatchEvent(t),U=!1}})),addEventListener(xn,(({detail:e})=>{U||yr(e)})));let U=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(xn);typeof e.unref==`function`&&e.unref(),Sn(bn,(t=>{U||e.postMessage(t)})),e.onmessage=e=>{e.data&&yr(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){Sn(bn,(e=>{try{U||(typeof localStorage<`u`&&localStorage.setItem(xn,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:xn,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===xn){let t=JSON.parse(e.newValue);t&&yr(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===xn&&yr(e.changedParts)}))}N.rejectionMapper=function(e,t){if(!e||e instanceof xe||e instanceof TypeError||e instanceof SyntaxError||!e.name||!De[e.name])return e;var n=new De[e.name](t||e.message,e);return`stack`in e&&h(n,`stack`,{get:function(){return this.inner.stack}}),n},me(O,Ut);var br=class extends fr{constructor(){super(`playallone`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`}),this.version(10).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`}),this.version(11).stores({channels:`id, providerId, [providerId+number], [categoryId+number], [providerId+stamp]`,movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating], [providerId+stamp]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating], [providerId+stamp]`,episodes:`id, seriesId, providerId, [providerId+stamp]`,programs:`id, providerId, [key+start], [providerId+stamp]`})}};async function xr(e,t,n){let r=e.where(`[providerId+stamp]`);await r.between([t,fr.minKey],[t,n],!0,!1).delete(),await r.between([t,n],[t,fr.maxKey],!1,!0).delete()}let W=new br;function G(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var K=Uint8Array,Sr=Uint16Array,Cr=Int32Array,wr=new K([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Tr=new K([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Er=new K([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Dr=function(e,t){for(var n=new Sr(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new Cr(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},Or=Dr(wr,2),kr=Or.b,Ar=Or.r;kr[28]=258,Ar[258]=28;var jr=Dr(Tr,0),Mr=jr.b;jr.r;for(var Nr=new Sr(32768),q=0;q<32768;++q){var Pr=(q&43690)>>1|(q&21845)<<1;Pr=(Pr&52428)>>2|(Pr&13107)<<2,Pr=(Pr&61680)>>4|(Pr&3855)<<4,Nr[q]=((Pr&65280)>>8|(Pr&255)<<8)>>1}for(var Fr=(function(e,t,n){for(var r=e.length,i=0,a=new Sr(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new Sr(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new Sr(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[Nr[d]>>c]=l}else for(s=new Sr(r),i=0;i<r;++i)e[i]&&(s[i]=Nr[o[e[i]-1]++]>>15-e[i]);return s}),Ir=new K(288),q=0;q<144;++q)Ir[q]=8;for(var q=144;q<256;++q)Ir[q]=9;for(var q=256;q<280;++q)Ir[q]=7;for(var q=280;q<288;++q)Ir[q]=8;for(var Lr=new K(32),q=0;q<32;++q)Lr[q]=5;var Rr=/*#__PURE__*/ Fr(Ir,9,1),zr=/*#__PURE__*/ Fr(Lr,5,1),Br=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},J=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},Vr=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},Hr=function(e){return(e+7)/8|0},Ur=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new K(e.subarray(t,n))},Wr=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],Y=function(e,t,n){var r=Error(t||Wr[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Y),!n)throw r;return r},Gr=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new K(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new K(i*3));var l=function(e){var t=n.length;if(e>t){var r=new K(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=J(e,d,1);var v=J(e,d+1,3);if(d+=3,!v){var y=Hr(d)+4,b=e[y-4]|e[y-3]<<8,ee=y+b;if(ee>i){c&&Y(0);break}s&&l(f+b),n.set(e.subarray(y,ee),f),t.b=f+=b,t.p=d=ee*8,t.f=u;continue}if(v==1)p=Rr,m=zr,h=9,g=5;else if(v==2){var te=J(e,d,31)+257,ne=J(e,d+10,15)+4,re=te+J(e,d+5,31)+1;d+=14;for(var x=new K(re),S=new K(19),C=0;C<ne;++C)S[Er[C]]=J(e,d+C*3,7);d+=ne*3;for(var ie=Br(S),ae=(1<<ie)-1,oe=Fr(S,ie,1),C=0;C<re;){var se=oe[J(e,d,ae)];d+=se&15;var y=se>>4;if(y<16)x[C++]=y;else{var w=0,T=0;for(y==16?(T=3+J(e,d,3),d+=2,w=x[C-1]):y==17?(T=3+J(e,d,7),d+=3):y==18&&(T=11+J(e,d,127),d+=7);T--;)x[C++]=w}}var ce=x.subarray(0,te),le=x.subarray(te);h=Br(ce),g=Br(le),p=Fr(ce,h,1),m=Fr(le,g,1)}else Y(1);if(d>_){c&&Y(0);break}}s&&l(f+131072);for(var ue=(1<<h)-1,de=(1<<g)-1,fe=d;;fe=d){var w=p[Vr(e,d)&ue],E=w>>4;if(d+=w&15,d>_){c&&Y(0);break}if(w||Y(2),E<256)n[f++]=E;else if(E==256){fe=d,p=null;break}else{var D=E-254;if(E>264){var C=E-257,pe=wr[C];D=J(e,d,(1<<pe)-1)+kr[C],d+=pe}var O=m[Vr(e,d)&de],me=O>>4;O||Y(3),d+=O&15;var le=Mr[me];if(me>3){var pe=Tr[me];le+=Vr(e,d)&(1<<pe)-1,d+=pe}if(d>_){c&&Y(0);break}s&&l(f+131072);var he=f+D;if(f<le){var ge=a-le,k=Math.min(le,he);for(ge+f<0&&Y(3);f<k;++f)n[f]=r[ge+f]}for(;f<he;++f)n[f]=n[f-le]}}t.l=p,t.p=fe,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?Ur(n,0,f):n.subarray(0,f)},Kr=/*#__PURE__*/ new K(0),qr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&Y(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},Jr=/* @__PURE__ */ function(){function e(e,t){typeof e==`function`&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new K(32768),this.p=new K(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||Y(5),this.d&&Y(4),!this.p.length)this.p=e;else if(e.length){var t=new K(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=Gr(this.p,this.s,this.o);this.ondata(Ur(n,t,this.s.b),this.d),this.o=Ur(n,this.s.b-32768),this.s.b=this.o.length,this.p=Ur(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),Yr=/* @__PURE__ */ function(){function e(e,t){this.v=1,this.r=0,Jr.call(this,e,t)}return e.prototype.push=function(e,t){if(Jr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?qr(n):4;if(r>n.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-n.length);this.p=n.subarray(r),this.v=0}Jr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=Hr(this.s.p)+9,this.s={i:0},this.o=new K(0),this.push(new K(0),t)):t&&Jr.prototype.c.call(this,t)},e}(),Xr=typeof TextDecoder<`u`&&/*#__PURE__*/ new TextDecoder;try{Xr.decode(Kr,{stream:!0})}catch(e){}var X=class extends Error{constructor(e,t){super(t||e),r(this,`error`,void 0),this.error=e}};function Zr(e){return e instanceof X?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}let Qr=e=>e;function $r(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new X(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function ei(e,t=3e4){let n;try{n=await $r(fetch(Qr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof X?e:new X(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new X(`AUTH`):n.status===404?new X(`NOT_FOUND`):n.status>=500?new X(`SERVER`,String(n.status)):new X(`NETWORK`,String(n.status))}async function ti(e,t,n=6e4){let r=new TextDecoder(`utf-8`),i=e.body.getReader(),a,o=[],s=(e,t)=>{let n=r.decode(e,{stream:!t});n&&o.push(n)};try{for(;;){let{done:e,value:r}=await $r(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new Yr((e,t)=>s(e,t)):null),e?a?a.push(/* @__PURE__ */ new Uint8Array,!0):s(/* @__PURE__ */ new Uint8Array,!0):a?a.push(r):s(r,!1);let c=o;o=[];for(let e of c)if(await t(e)===!1){i.cancel();return}if(e)return}}catch(e){throw i.cancel(),e instanceof X?e:new X(`NETWORK`,String(e))}}function ni(e){let t=``;return{push(n){let r=(t+n).split(`
|
|
8
|
+
`);t=r.pop();for(let t of r)e(t)},end(){t&&e(t),t=``}}}var ri={_doc:`İçerik sınıflandırma. adultWords: kategori adı küçük harfe çevrilip (katlanmadan) alt dize araması. M3U girdisi: adres yolunda /series/ → dizi, /movie/ veya /movies/ → film; uzantı vodExtensions'taysa bölüm kalıbı varsa dizi yoksa film; uzantısız/uzun uzantılı adreslerde grup adı (küçük harf) seriesWords içeriyor ve bölüm kalıbı varsa dizi, movieWords'ten biriyle başlıyor ya da 'vod' içeriyorsa film; aksi halde canlı. notMatchWords: spor programı başlığında geçerse maç sayılmaz (büyük/küçük harf duyarsız). sportWords: maç başlığı foldName ile katlanıp a-z0-9 dışı karakterler boşluk yapılır; sırayla ilk eşleşen sporun kelimesi (bütün kelime ya da kelime dizisi) geçiyorsa o spor, hiçbiri yoksa soccer.`,adultWords:[`xxx`,`adult`,`+18`,`18+`,`yetişkin`,`yetiskin`,`porn`,`erotic`,`erotik`],vodExtensions:[`mp4`,`mkv`,`avi`,`mov`,`wmv`,`flv`,`m4v`,`webm`,`mpg`,`mpeg`,`divx`],seriesWords:[`series`,`dizi`,`season`,`sezon`,`tv shows`,`shows`],movieWords:[`movie`,`film`,`vod`,`sinema`,`cinema`,`box office`],notMatchWords:[`özet`,`ozet`,`highlights`,`tekrar`,`replay`,`stüdyo`,`studio`,`analiz`,`magazin`,`klip`],sportWords:{tennis:[`tenis`,`tennis`,`atp`,`wta`,`itf`,`wimbledon`,`roland garros`,`us open`,`australian open`,`davis cup`,`billie jean king`],volleyball:[`voleybol`,`volley`,`volleyball`,`sultanlar`,`efeler`,`cev`,`vnl`],handball:[`hentbol`,`handball`,`ehf`],hockey:[`hokey`,`hockey`,`nhl`,`khl`],football:[`nfl`,`amerikan futbolu`,`american football`],basketball:[`bsl`,`basketbol`,`basket`,`basketball`,`euroleague`,`eurocup`,`nba`,`wnba`,`fiba`,`tbl`,`acb`,`bcl`]}},ii={_doc:`Ad işleme. foldName: küçük harf + fold eşlemesi (platform/tür tanıma, arama). normalizeName: küçük harf + normalizeFold, [..] ve (..) silinir, qualityTags harf olmayan sınırlarda silinir, baştaki 2-3 harfli ülke öneki ('tr:', 'uk |') silinir, yalnızca harf/rakam kalır (EPG ve sürüm eşleşmesi). Yapısal regex'ler (ülke öneki, yıl, etiket) her platformun kodunda; davranış fixtures/cases/names.json ile sınanır. U+0307 (birleşik nokta) silinir: 'İ'.lowercase() = 'i̇' olduğundan aksi halde 'DİZİ' 'dizi' ile eşleşmez.`,fold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`,ß:`b`,ə:`e`},normalizeFold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`},qualityTags:[`uhd`,`fhd`,`hd`,`sd`,`4k`,`8k`,`hevc`,`h265`,`1080p`,`720p`,`backup`,`yedek`],removeWordsTrim:` |-:/●`};let ai=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),oi=ai?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,si=(e,t=``)=>new RegExp(e.replace(/LETTER/g,oi),ai?t+`u`:t),ci=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])};ci(ii.fold);let li=ci(ii.normalizeFold),ui=/\[[^\]]*\]|\([^)]*\)/g,di=RegExp(`(^|[^a-z])(${ii.qualityTags.join(`|`)})(?![a-z])`,`g`),fi=/^[a-z]{2,3}\s*[:|]\s*/,pi=si(`[^LETTER0-9]`,`g`);function mi(e){return li(e.toLowerCase()).replace(ui,` `).replace(di,`$1 `).replace(fi,` `).replace(pi,``)}let hi=/(^|\D)((?:19|20)\d{2})(?!\d)/;function gi(e,t){let n=t?t.slice(0,4):(hi.exec(e)||[])[2]||``;return mi(e)+`|`+n}let _i=/^(.*?)[\s._\-|:]*S(\d{1,2})\s*[._-]?\s*E(\d{1,4})\b/i,vi=/^(.*?)[\s._\-|:]+(\d{1,2})x(\d{1,3})\b/i;function yi(e){let t=_i.exec(e)||vi.exec(e);if(!t)return null;let n=t[1].trim().replace(/[-|:.]+$/,``).trim();return n?{series:n,season:+t[2],episode:+t[3]}:null}function bi(e,t,n){let r=e.split(`?`)[0].toLowerCase();if(r.indexOf(`/series/`)>=0)return`SERIES`;if(r.indexOf(`/movie/`)>=0||r.indexOf(`/movies/`)>=0)return`MOVIE`;let i=r.slice(r.lastIndexOf(`/`)+1),a=i.lastIndexOf(`.`),o=a>=0?i.slice(a+1):``;if(ri.vodExtensions.indexOf(o)>=0)return yi(n)?`SERIES`:`MOVIE`;if(!o||o.length>4){let e=(t||``).toLowerCase();if(ri.seriesWords.some(t=>e.indexOf(t)>=0)&&yi(n))return`SERIES`;if(ri.movieWords.some(t=>e.startsWith(t)||e.indexOf(`vod`)>=0))return`MOVIE`}return`LIVE`}si(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);var xi={_doc:`Kategori adından platform tanıma. Ad foldName ile katlanır, separators boşluğa çevrilir, başa/sona boşluk eklenir; keywords'ten biri geçiyor ve excludes'tan hiçbiri geçmiyorsa eşleşir. Listede İLK eşleşen kazanır (sıra önemli). logo: Wikimedia Commons dosya adı (https://commons.wikimedia.org/wiki/Special:FilePath/<ad>?width=320) ya da https ile başlıyorsa doğrudan adres; null ise ad yazı logosu olarak çizilir. tintWhite=false: kendi arka planlı logo, beyaza boyanmaz.`,separators:`|:-_/[]()●•`,platforms:[{key:`netflix`,name:`Netflix`,color:`#E50914`,keywords:[`netflix`],logo:`Netflix_2015_logo.svg`},{key:`hbo`,name:`HBO Max`,color:`#5822B4`,keywords:[`hbo`,` max `,`max original`],excludes:[`max prime`],logo:`Max_logo.svg`},{key:`disney`,name:`Disney+`,color:`#113CCF`,keywords:[`disney`],logo:`Disney%2B_logo.svg`},{key:`prime`,name:`Prime Video`,color:`#00A8E1`,keywords:[`prime`,`amazon`],excludes:[`max prime`],logo:`Amazon_Prime_Video_logo.svg`},{key:`apple`,name:`Apple TV+`,color:`#333333`,keywords:[`apple`],logo:`Apple_TV_Plus_Logo.svg`},{key:`blutv`,name:`BluTV`,color:`#0F6FFF`,keywords:[`blutv`,`blu tv`],logo:`BluTV_logo.svg`,tintWhite:!1},{key:`exxen`,name:`Exxen`,color:`#FFB800`,keywords:[`exxen`],logo:`Exxen.png`,tintWhite:!1},{key:`gain`,name:`Gain`,color:`#7B2CF5`,keywords:[`gain`],logo:`GA%C4%B0N_LOGO.jpg`,tintWhite:!1},{key:`tabii`,name:`tabii`,color:`#00B67A`,keywords:[`tabii`],logo:`Tabii_logo.svg`},{key:`tvplus`,name:`TV+`,color:`#8A7300`,keywords:[`tv+`,`tvplus`,`tv plus`,`turkcell tv`],logo:`https://tvplus.com.tr/images/pwa/icon-192x192.png`,tintWhite:!1},{key:`tod`,name:`TOD`,color:`#6D1ED4`,keywords:[`tod `,`bein connect`,`tod|`,`tod -`]},{key:`puhu`,name:`puhutv`,color:`#FF3D00`,keywords:[`puhu`],logo:`Puhutv.png`,tintWhite:!1},{key:`mubi`,name:`MUBI`,color:`#001489`,keywords:[`mubi`],logo:`Mubi_logo.svg`},{key:`paramount`,name:`Paramount+`,color:`#0064FF`,keywords:[`paramount`],logo:`Paramount_Plus.svg`},{key:`hulu`,name:`Hulu`,color:`#1CE783`,keywords:[`hulu`],logo:`Hulu_Logo.svg`},{key:`bein`,name:`beIN SPORTS`,color:`#5B2C83`,keywords:[`bein`]},{key:`ssport`,name:`S Sport`,color:`#0057B8`,keywords:[`s sport`,`ssport`]},{key:`tivibu`,name:`Tivibu`,color:`#00A0E3`,keywords:[`tivibu`]},{key:`dazn`,name:`DAZN`,color:`#1A1A1A`,keywords:[`dazn`]},{key:`sky`,name:`Sky`,color:`#0072C9`,keywords:[` sky `]},{key:`peacock`,name:`Peacock`,color:`#222222`,keywords:[`peacock`]}]};xi.platforms,{_doc:`Kategori adından tür. Ad foldName ile katlanır, başa/sona boşluk eklenir (ayırıcılar çevrilmez); alt dize araması, İLK eşleşen kazanır. Hiçbiri eşleşmezse OTHER. Gruplamada sıra bu listenin sırasıdır, OTHER en sonda.`,genres:[{key:`ADULT`,keywords:[`adult`,`xxx`,`+18`,`18+`]},{key:`KIDS`,keywords:[`cocuk`,`kids`,`kinder`,`cartoon`,`cizgi`]},{key:`SPORTS`,keywords:[`spor`,`sport`,`bein`,`futbol`,`football`,`nba`,`ufc`,`f1 `,`motogp`,`epl`,`tennis`,`golf`,`dazn`,`event`]},{key:`NEWS`,keywords:[`haber`,`news`,`nachrichten`]},{key:`DOCS`,keywords:[`belgesel`,`docu`,`doku`,`documentary`,`nature`,`discovery`]},{key:`MUSIC`,keywords:[`muzik`,`music`,`musik`,`radyo`,`radio`]},{key:`MOVIES`,keywords:[`film`,`dizi`,`sinema`,`cinema`,`movie`,`kino`,`serien`,`series`,`boxset`,`yesilcam`,`actor`,`anime`]},{key:`RELIGION`,keywords:[`dini`,`religio`]},{key:`LOCAL`,keywords:[`yerel`,`local`,`regional`]},{key:`NATIONAL`,keywords:[`ulusal`,`national`,`genel`,`general`]},{key:`UHD`,keywords:[`4k`,`uhd`]},{key:`OTHER`,keywords:[]}]}.genres.map(e=>e.key),RegExp(`[${xi.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function Si(e){let t=e.toLowerCase();return ri.adultWords.some(e=>t.indexOf(e)>=0)}let Ci=/([A-Za-z0-9_-]+)\s*=\s*"([^"]*)"/g;function wi(e){let t={},n;for(Ci.lastIndex=0;n=Ci.exec(e);)t[n[1].toLowerCase()]=n[2].trim();return t}let Ti=e=>{let t=e===void 0?NaN:parseInt(e,10);return isNaN(t)?null:t},Ei=e=>e||null;function Di(e,t,n,r){let i=wi(e),a=e.lastIndexOf(`"`),o=e.indexOf(`,`,a>=0?a:0);return{name:(o>=0?e.slice(o+1).trim():``)||i[`tvg-name`]||t.slice(t.lastIndexOf(`/`)+1),url:t,tvgId:Ei(i[`tvg-id`]),tvgName:Ei(i[`tvg-name`]),logo:Ei(i[`tvg-logo`]),group:Ei(i[`group-title`]===void 0?n||void 0:i[`group-title`]),catchup:i.catchup===void 0?i[`catchup-type`]===void 0?null:i[`catchup-type`]:i.catchup,catchupDays:Ti(i[`catchup-days`]===void 0?i.timeshift:i[`catchup-days`]),catchupSource:Ei(i[`catchup-source`]),userAgent:r}}function Oi(e,t){let n=null,r=null,i=null,a=!0;return o=>{let s=o.trim().replace(/^/,``);if(!s)return;let c=s.slice(0,28).toUpperCase();if(a&&s.startsWith(`#EXTM3U`)){var l,u;let t=wi(s);e({epgUrls:(t[`url-tvg`]||t[`x-tvg-url`]||t[`tvg-url`]||``).split(/[, ]/).map(e=>e.trim()).filter(e=>e.startsWith(`http`)),catchup:(l=t.catchup)==null?null:l,catchupDays:Ti(t[`catchup-days`]),catchupSource:(u=t[`catchup-source`])==null?null:u})}else c.startsWith(`#EXTINF`)?(n=s,r=null,i=null):c.startsWith(`#EXTGRP:`)?r=s.slice(s.indexOf(`:`)+1).trim():c.startsWith(`#EXTVLCOPT:HTTP-USER-AGENT=`)?i=s.slice(s.indexOf(`=`)+1).trim():s.startsWith(`#`)||(n!==null&&t(Di(n,s,r,i)),n=null);a=!1}}function ki(e,t){switch((e||``).toLowerCase().trim()){case`default`:return`DEFAULT`;case`append`:return`APPEND`;case`shift`:case`timeshift`:return`SHIFT`;case`flussonic`:case`flussonic-hls`:case`flussonic-ts`:case`fs`:return`FLUSSONIC`;case`xc`:return`XTREAM`;default:return t===null?`NONE`:`DEFAULT`}}let Ai=e=>e.split(/\s+/).filter(Boolean);async function ji(e,t,n){let r=t.providerId,i={epgUrls:[],catchup:null,catchupDays:null,catchupSource:null},a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Map,s=/* @__PURE__ */ new Set,c=[],l=0,u=0,d=(e,n)=>{if(!n||!n.trim())return null;let i=`${e}|${n}`,o=a.get(i);return o===void 0&&(o=G(r,`cat-${e}`,n),a.set(i,o),t.category({id:o,kind:e,name:n,order:a.size-1,adult:Si(n)})),o},f=(e,t)=>{let n=`${e}|${t.group||``}|${t.name}`,r=n;for(let e=2;s.has(r);e++)r=`${n}#${e}`;return s.add(r),r},p=e=>{l++;let n=bi(e.url,e.group,e.name);if(n===`LIVE`){var a,s,c,p,m;let n=f(`live`,e),o=ki((a=e.catchup)==null?i.catchup:a,(s=e.catchupSource)==null?i.catchupSource:s);t.channel({id:G(r,`live`,n),remoteId:n,name:e.name,normName:mi(e.tvgName||e.name),number:++u,logo:e.logo,categoryId:d(`live`,e.group),url:e.url,epgId:(e.tvgId||e.tvgName||``).toLowerCase()||null,catchupType:o,catchupDays:o===`NONE`?0:(c=(p=e.catchupDays)==null?i.catchupDays:p)==null?1:c,catchupSource:(m=e.catchupSource)==null?i.catchupSource:m})}else if(n===`MOVIE`){let n=f(`movie`,e),i=/\((\d{4})\)/.exec(e.name);t.movie({id:G(r,`movie`,n),remoteId:n,name:e.name,poster:e.logo,categoryId:d(`movie`,e.group),url:e.url,rating:null,year:i?i[1]:null,plot:null,genre:null,vkey:gi(e.name,i?i[1]:null),added:l})}else{let n=yi(e.name),i=n?n.series:e.name,a=`${e.group||``}|${i}`,s=o.get(a);s===void 0&&(s=G(r,`series`,a),o.set(a,s),t.series({id:s,remoteId:a,name:i,poster:e.logo,backdrop:null,categoryId:d(`series`,e.group),rating:null,year:null,plot:null,cast:null,genre:null,added:l,vkey:gi(i,null)}));let c=f(`episode`,e);t.episode({id:G(r,`episode`,c),seriesId:s,remoteId:c,season:n?n.season:1,episode:n?n.episode:l,title:e.name,url:e.url,poster:e.logo})}};t.stage(`LIVE`);let m=()=>{let e=ni(Oi(e=>{i=e,e.epgUrls.forEach(e=>c.indexOf(e)<0&&c.push(e))},p));return{feed:async n=>{e.push(n),await t.flush()},end:()=>e.end()}};if(n!==void 0){let e=m();for(let t=0;t<n.length;t+=1<<20)await e.feed(n.slice(t,t+(1<<20)));e.end()}else for(let t of Ai(e.url)){let e=m();await ti(await ei(t,6e4),e.feed),e.end()}if(l===0)throw new X(`EMPTY`);return await t.complete(`live`),await t.complete(`movie`),await t.complete(`series`),c}function Mi(e){let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)||(t=`http://${t}`),t.split(`/player_api.php`)[0].split(`/get.php`)[0].replace(/\/+$/,``)}let Ni=(e,t,n={})=>{let r=[`username=${encodeURIComponent(e.username)}`,`password=${encodeURIComponent(e.password)}`];t&&r.push(`action=${t}`);for(let e in n)r.push(`${e}=${encodeURIComponent(n[e])}`);return`${Mi(e.url)}/player_api.php?${r.join(`&`)}`},Pi=e=>`${Mi(e.url)}/xmltv.php?username=${encodeURIComponent(e.username)}&password=${encodeURIComponent(e.password)}`,Fi=(e,t)=>`${Mi(e.url)}/live/${e.username}/${e.password}/${t}.${e.liveFormat}`,Ii=(e,t,n)=>`${Mi(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,Z=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},Q=(e,t)=>{let n=parseFloat(Z(e,t)||``);return isNaN(n)?null:n},Li=(e,t)=>{let n=e[t];return Array.isArray(n)?n.length&&typeof n[0]==`string`&&n[0]?n[0]:null:Z(e,t)},Ri=e=>{let t=Q(e,`rating`);if(t&&t>0)return t;let n=Q(e,`rating_5based`);return n&&n>0?n*2:null};async function zi(e){let t=``;await ti(await ei(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new X(`PARSE`,`json`)}}async function Bi(e){let t=await zi(Ni(e)),n=t.user_info;if(!n||typeof n!=`object`||Q(n,`auth`)===0)throw new X(`AUTH`);let r=(Z(n,`status`)||``).toLowerCase();if(r===`expired`)throw new X(`EXPIRED`);if(r&&r!==`active`)throw new X(`AUTH`,r);return t}function Vi(e){let t=`start`,n=0,r=!1,i=!1,a=``;return o=>{if(t===`skip`)return;let s=n>0?0:-1;for(let c=0;c<o.length;c++){let l=o.charCodeAt(c);if(t===`start`){if(l===91)t=`array`;else if(l!==32&&l!==10&&l!==13&&l!==9&&l!==65279){t=`skip`;return}}else if(n===0)l===123&&(n=1,s=c,r=!1,i=!1);else if(r)i?i=!1:l===92?i=!0:l===34&&(r=!1);else if(l===34)r=!0;else if(l===123||l===91)n++;else if((l===125||l===93)&&--n===0){let t=a+o.slice(s,c+1);a=``,s=-1;try{e(JSON.parse(t))}catch(e){}}}n>0&&(a+=o.slice(s))}}async function Hi(e,t,n,r){let i=Vi(r);await ti(await ei(Ni(e,t),12e4),async e=>{i(e),await n.flush()})}let Ui=(e,t,n)=>n?G(e,`cat-${t}`,n):null;async function Wi(e,t){let n=t.providerId;t.stage(`CONNECTING`);let r=await Bi(e),i=r.user_info,a=r.server_info||{},o=Q(i,`exp_date`),s={serverTimezone:Z(a,`timezone`),expDate:o?o*1e3:null,maxConnections:Q(i,`max_connections`)};t.stage(`CATEGORIES`);for(let[r,i]of[[`live`,`get_live_categories`],[`movie`,`get_vod_categories`],[`series`,`get_series_categories`]]){let a=0;await Gi(()=>Hi(e,i,t,e=>{let i=Z(e,`category_id`);if(!i)return;let o=Z(e,`category_name`)||i;t.category({id:Ui(n,r,i),kind:r,name:o,order:a++,adult:Si(o)})}))}t.stage(`LIVE`);let c=0;return await Hi(e,`get_live_streams`,t,r=>{var i,a;let o=Z(r,`stream_id`),s=Z(r,`name`);if(c++,!o||!s)return;let l=Q(r,`tv_archive`)===1;t.channel({id:G(n,`live`,o),remoteId:o,name:s,normName:mi(s),number:(i=Q(r,`num`))==null?c:i,logo:Z(r,`stream_icon`),categoryId:Ui(n,`live`,Z(r,`category_id`)),url:Fi(e,o),epgId:(Z(r,`epg_channel_id`)||``).toLowerCase()||null,catchupType:l?`XTREAM`:`NONE`,catchupDays:l?(a=Q(r,`tv_archive_duration`))==null?1:a:0,catchupSource:null})}),await t.complete(`live`),t.stage(`MOVIES`),await Gi(()=>Hi(e,`get_vod_streams`,t,r=>{let i=Z(r,`stream_id`),a=Z(r,`name`);i&&a&&t.movie({id:G(n,`movie`,i),remoteId:i,name:a,poster:Z(r,`stream_icon`)||Z(r,`cover`),categoryId:Ui(n,`movie`,Z(r,`category_id`)),url:Ii(e,i,Z(r,`container_extension`)||`mp4`),rating:Ri(r),year:Z(r,`year`)||(Z(r,`releaseDate`)||``).slice(0,4)||null,plot:Z(r,`plot`),genre:Z(r,`genre`),added:(Q(r,`added`)||0)*1e3,vkey:gi(a,Z(r,`year`)||(Z(r,`releaseDate`)||``).slice(0,4)||null)})}))&&await t.complete(`movie`),t.stage(`SERIES`),await Gi(()=>Hi(e,`get_series`,t,e=>{let r=Z(e,`series_id`),i=Z(e,`name`);r&&i&&t.series({id:G(n,`series`,r),remoteId:r,name:i,poster:Z(e,`cover`),backdrop:Li(e,`backdrop_path`),categoryId:Ui(n,`series`,Z(e,`category_id`)),rating:Ri(e),year:Z(e,`year`)||(Z(e,`releaseDate`)||Z(e,`release_date`)||``).slice(0,4)||null,plot:Z(e,`plot`),cast:Z(e,`cast`),genre:Z(e,`genre`),added:(Q(e,`last_modified`)||0)*1e3,vkey:gi(i,Z(e,`year`)||(Z(e,`releaseDate`)||Z(e,`release_date`)||``).slice(0,4)||null)})}))&&await t.complete(`series`,{keepEpisodes:!0}),{epgUrls:[Pi(e)],info:s}}async function Gi(e){try{return await e(),!0}catch(e){return console.warn(`Xtream bölümü alınamadı`,e),!1}}let Ki=`Overview,Genres,People,DateCreated,ProductionYear,CommunityRating`,qi=e=>{let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)?t:`http://${t}`},Ji=(e,t)=>`jellyfin:${e}:${t}`,Yi=(e,t,n=`Primary`,r=300)=>`${e}/Items/${t}/Images/${n}?maxWidth=${r}`,$=(e,t)=>{let n=e?e[t]:null;return n==null||n===``||typeof n==`object`?null:String(n)},Xi=(e,t)=>typeof e[t]==`number`?e[t]:null,Zi=(e,t,n)=>t.ImageTags&&t.ImageTags.Primary?Yi(e,n):null,Qi=(e,t,n)=>Array.isArray(t.BackdropImageTags)&&t.BackdropImageTags.length?Yi(e,n,`Backdrop`,1280):null,$i=e=>Array.isArray(e.Genres)&&e.Genres.length?e.Genres.join(`, `):null,ea=(e,t)=>{let n=Array.isArray(e.People)?e.People.filter(e=>e.Type===t).slice(0,8).map(e=>e.Name).filter(Boolean):[];return n.length?n.join(`, `):null},ta=e=>{let t=$(e,`DateCreated`);return t&&Date.parse(`${t.slice(0,19)}Z`)||0},na=e=>{let t=Xi(e,`RunTimeTicks`);return t?Math.floor(t/1e7):null};function ra(e,t,n,r){let i=$(n,`Id`);if(!i)return null;let a=$(n,`Name`)||i,o=$(n,`ProductionYear`);return{id:G(e,`movie`,i),remoteId:i,name:a,poster:Zi(t,n,i),backdrop:Qi(t,n,i),categoryId:r,url:Ji(e,i),rating:Xi(n,`CommunityRating`),year:o,plot:$(n,`Overview`),genre:$i(n),added:ta(n),vkey:gi(a,o),cast:ea(n,`Actor`),director:ea(n,`Director`),durationSec:na(n),detailLoaded:!0}}function ia(e,t,n,r){let i=$(n,`Id`);if(!i)return null;let a=$(n,`Name`)||i,o=$(n,`ProductionYear`);return{id:G(e,`series`,i),remoteId:i,name:a,poster:Zi(t,n,i),backdrop:Qi(t,n,i),categoryId:r,rating:Xi(n,`CommunityRating`),year:o,plot:$(n,`Overview`),cast:ea(n,`Actor`),genre:$i(n),added:ta(n),vkey:gi(a,o)}}function aa(e,t,n,r,i){let a=$(n,`Id`),o=$(n,`Name`);return!a||!o?null:{id:G(e,`live`,a),remoteId:a,name:o,normName:mi(o),number:parseInt($(n,`ChannelNumber`)||``,10)||r+1,logo:Zi(t,n,a),categoryId:i,url:Ji(e,a),epgId:null,catchupType:`NONE`,catchupDays:0,catchupSource:null}}let oa=/* @__PURE__ */ new Map,sa=e=>[e.id||0,e.url,e.username,e.password].join(`
|
|
9
|
+
`),ca=(e,t)=>`playallone-${G(e,t).toString(16)}`,la=(e,t)=>`MediaBrowser Client="PlayAllOne", Device="Samsung TV", DeviceId="${e}", Version="1.0"${t?`, Token="${t}"`:``}`;async function ua(e,t,n){let r;try{let i={Authorization:t,Accept:`application/json`};n!==void 0&&(i[`Content-Type`]=`application/json`),r=await $r(fetch(Qr(e),{method:n===void 0?`GET`:`POST`,headers:i,body:n,credentials:`omit`}),3e4)}catch(e){throw e instanceof X?e:new X(`NETWORK`,String(e))}if(r.status===401||r.status===403)throw new X(`AUTH`);if(r.status===404)throw new X(`NOT_FOUND`);if(r.status>=500)throw new X(`SERVER`,String(r.status));if(!r.ok)throw new X(`NETWORK`,String(r.status));let i=await r.text();try{return i.trim()?JSON.parse(i):{}}catch(e){throw new X(`PARSE`,`jellyfin json`)}}async function da(e){let t=oa.get(sa(e));if(t)return t;let n=qi(e.url),r=ca(n,e.username),i=await ua(`${n}/Users/AuthenticateByName`,la(r),JSON.stringify({Username:e.username,Pw:e.password})),a=$(i,`AccessToken`),o=$(i.User,`Id`);if(!a||!o)throw new X(`AUTH`);let s={base:n,deviceId:r,token:a,userId:o};return e.id&&oa.set(sa(e),s),s}async function fa(e,t,n){let r=await da(e);try{return await ua(r.base+t(r),la(r.deviceId,r.token),n)}catch(i){if(!(i instanceof X)||i.error!==`AUTH`)throw i;return oa.delete(sa(e)),r=await da(e),ua(r.base+t(r),la(r.deviceId,r.token),n)}}let pa=e=>Array.isArray(e.Items)?e.Items:[];async function ma(e,t,n,r){let i=0;for(;;){let a=await fa(e,e=>`/Users/${e.userId}/Items?${t}&StartIndex=${i}&Limit=500`),o=pa(a);if(o.forEach(r),await n.flush(),i+=o.length,o.length<500||i>=(Xi(a,`TotalRecordCount`)||0))break}}async function ha(e,t){let n=t.providerId;t.stage(`CONNECTING`),oa.delete(sa(e));let{base:r}=await da(e);t.stage(`CATEGORIES`);let i=pa(await fa(e,e=>`/Users/${e.userId}/Views`));t.stage(`LIVE`);let a=[];try{a=pa(await fa(e,e=>`/LiveTv/Channels?UserId=${e.userId}&EnableImages=true&SortBy=SortName`))}catch(e){}if(a.length){let e=G(n,`cat-live`,`jellyfin-live`);t.category({id:e,kind:`live`,name:`Jellyfin Canlı TV`,order:0,adult:!1}),a.forEach((i,a)=>{let o=aa(n,r,i,a,e);o&&t.channel(o)})}await t.complete(`live`),t.stage(`MOVIES`);let o=e=>i.filter(t=>t.CollectionType===e&&$(t,`Id`));for(let[i,a]of o(`movies`).entries()){let o=G(n,`cat-movie`,a.Id),s=$(a,`Name`)||a.Id;t.category({id:o,kind:`movie`,name:s,order:i,adult:Si(s)}),await ma(e,`ParentId=${a.Id}&IncludeItemTypes=Movie&Recursive=true&Fields=${Ki}`,t,e=>{let i=ra(n,r,e,o);i&&t.movie(i)})}await t.complete(`movie`),t.stage(`SERIES`);for(let[i,a]of o(`tvshows`).entries()){let o=G(n,`cat-series`,a.Id),s=$(a,`Name`)||a.Id;t.category({id:o,kind:`series`,name:s,order:i,adult:Si(s)}),await ma(e,`ParentId=${a.Id}&IncludeItemTypes=Series&Recursive=true&Fields=${Ki}`,t,e=>{let i=ia(n,r,e,o);i&&t.series(i)})}return await t.complete(`series`,{keepEpisodes:!0}),{epgUrls:[],info:{}}}var ga=class{constructor(e,t){r(this,`stamp`,Date.now()),r(this,`categories`,[]),r(this,`channels`,[]),r(this,`movies`,[]),r(this,`seriesList`,[]),r(this,`episodes`,[]),r(this,`current`,`CONNECTING`),r(this,`lastReport`,0),r(this,`counts`,{live:0,movie:0,series:0}),r(this,`providerId`,void 0),r(this,`progress`,void 0),this.providerId=e,this.progress=t}stage(e,t=0){this.current=e,this.progress(e,t)}report(e){e-this.lastReport>=500&&(this.lastReport=e,this.progress(this.current,e))}category(e){this.categories.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp}))}channel(e){this.channels.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.live)}movie(e){this.movies.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.movie)}series(e){this.seriesList.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp})),this.report(++this.counts.series)}episode(e){this.episodes.push(a(a({},e),{},{providerId:this.providerId,stamp:this.stamp}))}get pending(){return this.categories.length+this.channels.length+this.movies.length+this.seriesList.length+this.episodes.length}async flush(e=!1){if(!e&&this.pending<1e3)return;let[t,n,r,i,a]=[this.categories,this.channels,this.movies,this.seriesList,this.episodes];this.categories=[],this.channels=[],this.movies=[],this.seriesList=[],this.episodes=[];let o=[t.length&&W.categories,n.length&&W.channels,r.length&&W.movies,i.length&&W.series,a.length&&W.episodes].filter(e=>!!e);o.length&&await W.transaction(`rw`,o,async()=>{t.length&&await W.categories.bulkPut(t),n.length&&await W.channels.bulkPut(n),r.length&&await W.movies.bulkPut(r),i.length&&await W.series.bulkPut(i),a.length&&await W.episodes.bulkPut(a)})}async complete(e,t={}){await this.flush(!0);let n=this.providerId;if(await W.categories.where(`[providerId+kind]`).equals([n,e]).and(e=>e.stamp!==this.stamp).delete(),e===`live`&&await xr(W.channels,n,this.stamp),e===`movie`&&await xr(W.movies,n,this.stamp),e===`series`){if(await xr(W.series,n,this.stamp),t.keepEpisodes){let e=new Set(await W.series.where(`providerId`).equals(n).primaryKeys());await W.episodes.where(`providerId`).equals(n).and(t=>!e.has(t.seriesId)).delete()}else await xr(W.episodes,n,this.stamp)}}};function _a(e){let t=e?/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})?\s*(?:([+-])(\d{2}):?(\d{2}))?/.exec(e.trim()):null;return t?Date.UTC(+t[1],t[2]-1,+t[3],+t[4],+t[5],t[6]?+t[6]:0)-(t[7]?(t[7]===`-`?-1:1)*(t[8]*60+ +t[9])*6e4:0):null}let va=/&(#x[0-9a-f]+|#\d+|amp|lt|gt|quot|apos);/gi,ya={amp:`&`,lt:`<`,gt:`>`,quot:`"`,apos:`'`};function ba(e){return e.indexOf(`&`)<0?e:e.replace(va,(e,t)=>{if(t[0]!==`#`)return ya[t.toLowerCase()];let n=t[1]===`x`||t[1]===`X`?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return String.fromCharCode(n)})}function xa(e,t){let n=RegExp(`\\s${t}\\s*=\\s*("([^"]*)"|'([^']*)')`).exec(e);return n?ba(n[2]===void 0?n[3]:n[2]):void 0}function Sa(e,t,n){let r=RegExp(`<${t}(\\s[^>]*)?>([\\s\\S]*?)</${t}>`,`g`),i=[],a;for(;a=r.exec(e);){let e=a[2].replace(/^\s*<!\[CDATA\[([\s\S]*?)\]\]>\s*$/,`$1`);if(i.push(ba(e.trim())),!n)break}return i}function Ca(e,t){let n=``,r=(n,r)=>{let i=n.slice(0,n.indexOf(`>`)+1);if(r){let t=xa(i,`id`);if(!t)return;let r=/<icon\s[^>]*>/.exec(n);e({id:t,names:Sa(n,`display-name`,!0),icon:r&&xa(r[0],`src`)||null});return}let a=xa(i,`channel`),o=_a(xa(i,`start`));if(!a||o===null)return;let s=_a(xa(i,`stop`));t({channel:a,start:o,stop:s!==null&&s>o?s:o+36e5,title:Sa(n,`title`,!1)[0]||``,description:Sa(n,`desc`,!1)[0]||null,category:Sa(n,`category`,!1)[0]||null})};return e=>{n+=e;let t=0;for(;;){let e=n.indexOf(`<channel`,t),i=n.indexOf(`<programme`,t);if(e<0&&i<0){t=Math.max(t,n.length-16);break}let a=e>=0&&(i<0||e<i),o=a?e:i,s=a?`</channel>`:`</programme>`,c=n.indexOf(`>`,o);if(c<0){t=o;break}let l=n[c-1]===`/`?c+1:n.indexOf(s,c)+(n.indexOf(s,c)<0?0:s.length);if(l<=c){t=o;break}r(n.slice(o,l),a),t=l}n=n.slice(t)}}let wa=864e5,Ta=(e,t)=>`${e}|${t.toLowerCase()}`;async function Ea(e,t,n=0){let r=n*6e4,i=e.id,a=[...e.sourceEpgUrls||[],...e.epgUrls].map(e=>e.trim()).filter((e,t,n)=>e&&n.indexOf(e)===t);if(!a.length)return 0;let o=await W.epgLinks.where(`providerId`).equals(i).filter(e=>e.manual).toArray(),s=new Set(o.map(e=>e.id)),c=[];await W.channels.where(`providerId`).equals(i).each(e=>{s.has(e.id)||c.push({id:e.id,epgId:e.epgId,normName:e.normName,logo:e.logo})});let l=Date.now(),u=l-7*wa,d=l+8*wa,f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=new Set(o.map(e=>e.key.slice(e.key.indexOf(`|`)+1))),h=[],g=0,_=!1,v=[],y=e=>{for(let t of e)v.push({id:Ta(i,t.id),providerId:i,xmlId:t.id,name:t.names[0]||t.id});let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Map;for(let r of e){let e=r.id.toLowerCase();t.has(e)||t.set(e,r);let i=r.names.map(mi).filter(Boolean)[0]||mi(r.id);i&&!n.has(i)&&n.set(i,r)}let r=(e,t)=>{let n=Ta(i,t.id);f.set(e.id,n),m.add(t.id.toLowerCase()),t.icon&&p.set(n,t.icon)};for(let e of c){if(f.has(e.id)||!e.epgId)continue;let n=t.get(e.epgId);n&&r(e,n)}for(let e of c){if(f.has(e.id)||!e.normName)continue;let t=n.get(e.normName);t&&r(e,t)}};for(let e of a)try{let n=[],a=!1,o=Ca(e=>n.push(e),e=>{a||(a=!0,y(n));let t=e.channel.toLowerCase();if(!e.title||!m.has(t)||e.stop<u||e.start>d)return;let o=Ta(i,t);h.push({id:G(o,e.start+r),providerId:i,key:o,start:e.start+r,stop:e.stop+r,title:e.title,desc:e.description,category:e.category,stamp:l})});await ti(await ei(e,6e4),async e=>{if(o(e),h.length>=2e3){let e=h;h=[],await W.programs.bulkPut(e),g+=e.length,t(`EPG`,g)}}),a||y(n),_=!0}catch(t){console.warn(`EPG alınamadı`,e,t)}if(h.length&&(await W.programs.bulkPut(h),g+=h.length),!_)return 0;await W.epgLinks.where(`providerId`).equals(i).filter(e=>!e.manual).delete();let b=[];f.forEach((e,t)=>b.push({id:t,providerId:i,key:e,manual:!1})),await W.epgLinks.bulkPut(b),await W.epgChannels.where(`providerId`).equals(i).delete(),await W.epgChannels.bulkPut(v),await xr(W.programs,i,l);let ee=c.filter(e=>!e.logo&&f.has(e.id)&&p.has(f.get(e.id)));for(let e of ee)await W.channels.update(e.id,{logo:p.get(f.get(e.id))});return await W.providers.update(i,{lastEpgSync:l}),t(`EPG`,g),g}let Da=e=>self.postMessage(e),Oa=Promise.resolve();self.onmessage=e=>{Oa=Oa.then(()=>ka(e.data))};async function ka(e){let{providerId:t,fileText:n,mode:r,epgOffsetMin:i=0}=e;try{let e=await W.providers.get(t);if(!e)throw new X(`NOT_FOUND`,`provider`);let o=new ga(t,(e,n)=>Da({type:`progress`,providerId:t,stage:e,count:n}));if(r===`epg`){o.stage(`EPG`),await Ea(e,(e,n)=>Da({type:`progress`,providerId:t,stage:e,count:n}),i),Da({type:`done`,providerId:t,counts:o.counts});return}let s,c={};e.type===`xtream`?{epgUrls:s,info:c}=await Wi(e,o):e.type===`jellyfin`?{epgUrls:s,info:c}=await ha(e,o):s=await ji(e,o,n),await W.providers.update(t,a(a({},c),{},{sourceEpgUrls:s})),o.stage(`EPG`),await Ea(a(a({},e),{},{sourceEpgUrls:s}),(e,n)=>Da({type:`progress`,providerId:t,stage:e,count:n}),i),await W.providers.update(t,{lastSync:Date.now()}),Da({type:`done`,providerId:t,counts:o.counts})}catch(e){console.error(`senkron hatası`,e),Da({type:`error`,providerId:t,error:Zr(e),detail:String(e)})}}})();
|
package/app/index.html
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="tr">
|
|
3
|
+
<head>
|
|
4
|
+
<script src="$WEBAPIS/webapis/webapis.js"></script>
|
|
5
|
+
<meta charset="utf-8" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
|
+
<title>PlayAllOne</title>
|
|
8
|
+
<script>// .wgt açılışı (vite.config.ts bunu index.html'e gömer; Chromium 56: ES5).
|
|
9
|
+
// Samsung, mağaza dışı uygulamanın kendini kurmasına izin vermez: paket bir kez kurulur, npm'de daha yeni sürüm varsa
|
|
10
|
+
// onun kodu jsDelivr'den yüklenir. Kod kurulu uygulamanın sayfasında çalıştığı için AVPlay ve Tizen API'leri kullanılır.
|
|
11
|
+
// Ağ yoksa ya da yükleme düşerse en son açılan uzak sürüm (tarayıcı önbelleği), o da olmazsa paketteki sürüm açılır;
|
|
12
|
+
// paketteki eski koda dönmek yeni sürümün yükselttiği veritabanını açamazdı.
|
|
13
|
+
// LG webOS paketi (.ipk, PalmSystem) de aynı yolu izler. TizenBrew (zaten npm'den açılır) ve yerel derleme (sürümde "-") paketteki kodu açar.
|
|
14
|
+
(function () {
|
|
15
|
+
var LOCAL = './assets/index-rNAy6MqO.js'
|
|
16
|
+
var VERSION = '0.1.26'
|
|
17
|
+
var CDN = 'https://cdn.jsdelivr.net/npm/@playallone/playallone@'
|
|
18
|
+
var LATEST = 'https://registry.npmjs.org/@playallone%2fplayallone/latest'
|
|
19
|
+
var SAVED = 'shellVersion'
|
|
20
|
+
|
|
21
|
+
function newer(a, b) {
|
|
22
|
+
var x = a.split('.'), y = b.split('.')
|
|
23
|
+
for (var i = 0; i < 3; i++) if ((+x[i] || 0) !== (+y[i] || 0)) return (+x[i] || 0) > (+y[i] || 0)
|
|
24
|
+
return false
|
|
25
|
+
}
|
|
26
|
+
function get(url, ms, done) {
|
|
27
|
+
var x = new XMLHttpRequest()
|
|
28
|
+
x.open('GET', url)
|
|
29
|
+
x.timeout = ms
|
|
30
|
+
x.onload = function () { done(x.status === 200 ? x.responseText : null) }
|
|
31
|
+
x.onerror = x.ontimeout = function () { done(null) }
|
|
32
|
+
x.send()
|
|
33
|
+
}
|
|
34
|
+
function script(src, onload, onerror) {
|
|
35
|
+
var s = document.createElement('script')
|
|
36
|
+
s.src = src
|
|
37
|
+
s.onload = onload
|
|
38
|
+
s.onerror = onerror
|
|
39
|
+
document.head.appendChild(s)
|
|
40
|
+
}
|
|
41
|
+
function local() { script(LOCAL) }
|
|
42
|
+
function remote(v, fail) {
|
|
43
|
+
get(CDN + v + '/app/index.html', 5000, function (html) {
|
|
44
|
+
var m = html && /assets\/index-[\w-]+\.js/.exec(html)
|
|
45
|
+
if (!m) return fail()
|
|
46
|
+
script(CDN + v + '/app/' + m[0], function () { try { localStorage.setItem(SAVED, v) } catch (e) {} }, fail)
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
function start() {
|
|
50
|
+
if ((typeof tizen === 'undefined' && typeof PalmSystem === 'undefined') || VERSION.indexOf('-') >= 0) return local()
|
|
51
|
+
var saved = null
|
|
52
|
+
try { saved = localStorage.getItem(SAVED) } catch (e) {}
|
|
53
|
+
function fallback() { if (saved && newer(saved, VERSION)) remote(saved, local); else local() }
|
|
54
|
+
get(LATEST, 3000, function (json) {
|
|
55
|
+
var v = null
|
|
56
|
+
try { v = JSON.parse(json).version } catch (e) {}
|
|
57
|
+
if (!v) fallback()
|
|
58
|
+
else if (newer(v, VERSION)) remote(v, fallback)
|
|
59
|
+
else local()
|
|
60
|
+
})
|
|
61
|
+
}
|
|
62
|
+
// Eski <script defer> gibi: #app hazır olunca.
|
|
63
|
+
document.addEventListener('DOMContentLoaded', start)
|
|
64
|
+
})()
|
|
65
|
+
</script>
|
|
66
|
+
</head>
|
|
67
|
+
<body>
|
|
68
|
+
<div id="video"></div>
|
|
69
|
+
<div id="app"></div>
|
|
70
|
+
</body>
|
|
71
|
+
</html>
|