@openmrs/esm-billing-app 1.3.2-pre.2015 → 1.3.2-pre.2017

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/2450.js CHANGED
@@ -12,7 +12,7 @@ If you're the maintainer: the 'elements' key only works with '_type' equal to 'A
12
12
  ${t}`)}return n}let rj=(e,t)=>{let r=structuredClone(t);if(!e)return r;for(let t of Object.keys(e)){let n=r[t],i=e[t];if(i&&(i.hasOwnProperty("_type")||i.hasOwnProperty("_default"))){r.hasOwnProperty(t)||(r[t]=i._default);let e=i._elements;if(n&&rR(e)){if(i._type===tL.Array&&Array.isArray(n)){let i=n.map(t=>rj(e,t));r[t]=i}else if(i._type===tL.Object)for(let t of Object.keys(n))n[t]=rj(e,n[t])}}else if(rA(i)){let e=n??{};rA(e)&&(r[t]=rj(i,e))}}return r};function rR(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function rA(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let rN=new Set;function rM(e,t){let r=`${e}:::${t}`;rN||(rN=new Set),rN.has(r)||(console.error(t),rN.add(r))}function r$(e){e?rN.forEach(t=>{t.startsWith(e)&&rN.delete(t)}):rN.clear()}function rI(){ro.forEach(e=>e()),ro.length=0,ru.clear(),rw.clear(),rx.clear(),r_.clear(),rs()}let rL={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:tL.Object,_default:{},_validators:[tF(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},rF={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:tL.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:tL.String,_default:void 0}},...rL},rB=(e,t)=>tF(r=>e<=r&&r<=t,`must be between ${e} and ${t}`),rV=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return tF(e=>{if(!e||"string"!=typeof e)return!1;let r=/\${(.*?)}/g,n=r.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=r.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},rU=rV([]),rW=e=>tF(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),rK={inRange:rB,isUrl:rU,isUrlWithTemplateParameters:rV,oneOf:rW};var rH=r(8067);let rz=Y("breadcrumbs",[]);function rG(e){return rq([e])}function rq(e){let t=[...rY(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,rH.pathToRegexp)(e.matcher).regexp:(0,rH.pathToRegexp)(e.path).regexp,settings:e}))];rz.setState(t,!0)}function rY(){return rz.getState()}function rZ(e,t){if(t)return function(e,t){let[r]=e.filter(e=>e.matcher.test(t));return r}(e,t)||function(e,t){let r=t.split("/");for(;r.length>1;){r.pop();let t=rZ(e,r.join("/"));if(t)return t}}(e,t)}function rJ(e,t){if(e.length>0){let r=rZ(e,t);if(r){let t=[r],n=rZ(e,r.settings.parent);for(;void 0!==n;)t.push(n),n=rZ(e,n.settings.parent);return t.reverse()}}return[]}function rX(e){return rJ(rY(),e)}var rQ=Object.freeze({__proto__:null,get start(){return im},get ensureJQuerySupport(){return nX},get setBootstrapMaxTime(){return nA},get setMountMaxTime(){return nN},get setUnmountMaxTime(){return nM},get setUnloadMaxTime(){return n$},get registerApplication(){return n7},get unregisterApplication(){return it},get getMountedApps(){return n6},get getAppStatus(){return n8},get unloadApplication(){return ir},get checkActivityFunctions(){return ie},get getAppNames(){return n5},get pathToActiveWhen(){return ia},get navigateToUrl(){return nW},get patchHistoryApi(){return nY},get triggerAppChange(){return ic},get addErrorHandler(){return r2},get removeErrorHandler(){return r6},get mountRootParcel(){return nC},get NOT_LOADED(){return r9},get LOADING_SOURCE_CODE(){return r7},get NOT_BOOTSTRAPPED(){return ne},get BOOTSTRAPPING(){return nt},get NOT_MOUNTED(){return nr},get MOUNTING(){return nn},get UPDATING(){return no},get LOAD_ERROR(){return nl},get MOUNTED(){return ni},get UNLOADING(){return ns},get UNMOUNTING(){return na},get SKIP_BECAUSE_BROKEN(){return nu}}),r0=("u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{}).CustomEvent,r1=!function(){try{var e=new r0("cat",{detail:{foo:"bar"}});return"cat"===e.type&&"bar"===e.detail.foo}catch(e){}return!1}()?"u">typeof document&&"function"==typeof document.createEvent?function(e,t){var r=document.createEvent("CustomEvent");return t?r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail):r.initCustomEvent(e,!1,!1,void 0),r}:function(e,t){var r=document.createEventObject();return r.type=e,t?(r.bubbles=!!t.bubbles,r.cancelable=!!t.cancelable,r.detail=t.detail):(r.bubbles=!1,r.cancelable=!1,r.detail=void 0),r}:r0;let r3=[];function r4(e,t,r){let n=r8(e,t,r);r3.length?r3.forEach(e=>e(n)):setTimeout(()=>{throw n})}function r2(e){if("function"!=typeof e)throw Error(r5(28,!1));r3.push(e)}function r6(e){if("function"!=typeof e)throw Error(r5(29,!1));let t=!1;return r3=r3.filter(r=>{let n=r===e;return t=t||n,!n}),t}function r5(e,t,...r){return`single-spa minified message #${e}: ${t?t+" ":""}See https://single-spa.js.org/error/?code=${e}${r.length?`&arg=${r.join("&arg=")}`:""}`}function r8(e,t,r){let n,i=`${nh(t)} '${np(t)}' died in status ${t.status}: `;if(e instanceof Error){try{e.message=i+e.message}catch(e){}n=e}else{console.warn(r5(30,!1,t.status,np(t)));try{n=Error(i+JSON.stringify(e))}catch(t){n=e}}return n.appOrParcelName=np(t),t.status=r,n}let r9="NOT_LOADED",r7="LOADING_SOURCE_CODE",ne="NOT_BOOTSTRAPPED",nt="BOOTSTRAPPING",nr="NOT_MOUNTED",nn="MOUNTING",ni="MOUNTED",no="UPDATING",na="UNMOUNTING",ns="UNLOADING",nl="LOAD_ERROR",nu="SKIP_BECAUSE_BROKEN";function nc(e){return e.status===ni}function nd(e){try{return e.activeWhen(window.location)}catch(t){return r4(t,e,nu),!1}}function np(e){return e.name}function nf(e){return!!e.unmountThisParcel}function nh(e){return nf(e)?"parcel":"application"}function nm(){for(let e=arguments.length-1;e>0;e--)for(let t in arguments[e])"__proto__"!==t&&(arguments[e-1][t]=arguments[e][t]);return arguments[0]}function ny(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return e[r];return null}function ng(e){return e&&("function"==typeof e||Array.isArray(e)&&!ny(e,e=>"function"!=typeof e))}function nb(e,t){let r=e[t]||[];0===(r=Array.isArray(r)?r:[r]).length&&(r=[()=>Promise.resolve()]);let n=nh(e),i=np(e);return function(e){return r.reduce((r,o,a)=>r.then(()=>{let r=o(e);return nv(r)?r:Promise.reject(r5(15,!1,n,i,t,a))}),Promise.resolve())}}function nv(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}let nw=[];function n_(e,t){return Promise.resolve().then(()=>e.status!==ne?e:(e.status=nt,e.bootstrap?nI(e,"bootstrap").then(r).catch(r=>{if(t)throw r8(r,e,nu);return r4(r,e,nu),e}):Promise.resolve().then(r)));function r(){return e.status=nr,e}}function nx(e,t){return Promise.resolve().then(()=>{if(e.status!==ni)return e;return e.status=na,Promise.all(Object.keys(e.parcels).map(t=>e.parcels[t].unmountThisParcel())).then(r,n=>r().then(()=>{let r=Error(n.message);if(t)throw r8(r,e,nu);r4(r,e,nu)})).then(()=>e);function r(){return nI(e,"unmount").then(()=>{e.status=nr},r=>{if(t)throw r8(r,e,nu);r4(r,e,nu)})}})}let nE=!1,nS=!1;function nD(e,t){return Promise.resolve().then(()=>e.status!==nr?e:(nE||(window.dispatchEvent(new r1("single-spa:before-first-mount")),nE=!0),e.status=nn,nI(e,"mount").then(()=>(e.status=ni,nS||(window.dispatchEvent(new r1("single-spa:first-mount")),nS=!0),e)).catch(r=>{return e.status=ni,nx(e,!0).then(n,n);function n(){if(t)throw r8(r,e,nu);return r4(r,e,nu),e}})))}let nO=0,nP={parcels:{}};function nC(){return nk.apply(nP,arguments)}function nk(e,t){let r,n,i,o=this;if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error(r5(2,!1));if(e.name&&"string"!=typeof e.name)throw Error(r5(3,!1,typeof e.name));let a=nO++,s=e.name||`parcel-${a}`;if("object"!=typeof t)throw Error(r5(4,!1,s,typeof t));if(!t.domElement)throw Error(r5(5,!1,s));let l="function"==typeof e,u=l?e:()=>Promise.resolve(e),c={id:a,parcels:{},status:l?r7:ne,customProps:t,parentName:np(o),unmountThisParcel:()=>f.then(()=>{if(c.status!==ni)throw Error(r5(6,!1,s,c.status));return nx(c,!0)}).then(e=>(c.parentName&&delete o.parcels[c.id],e)).then(e=>(n(e),e)).catch(e=>{throw c.status=nu,i(e),e})};o.parcels[a]=c;let d=u();if(!d||"function"!=typeof d.then)throw Error(r5(7,!1));let p=(d=d.then(e=>{if(!e)throw Error(r5(8,!1));if(s=e.name||`parcel-${a}`,Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!ng(e.bootstrap))throw Error(r5(9,!1,s));if(!ng(e.mount))throw Error(r5(10,!1,s));if(!ng(e.unmount))throw Error(r5(11,!1,s));if(e.update&&!ng(e.update))throw Error(r5(12,!1,s));let t=nb(e,"bootstrap"),n=nb(e,"mount"),i=nb(e,"unmount");c.status=ne,c.name=s,c.bootstrap=t,c.mount=n,c.unmount=i,c.timeouts=nL(e.timeouts),e.update&&(c.update=nb(e,"update"),r.update=function(e){return c.customProps=e,nT(Promise.resolve().then(()=>{if(c.status!==ni)throw Error(r5(32,!1,np(c)));return c.status=no,nI(c,"update").then(()=>(c.status=ni,c)).catch(e=>{throw r8(e,c,nu)})}))})})).then(()=>n_(c,!0)),f=p.then(()=>nD(c,!0)),h=new Promise((e,t)=>{n=e,i=t});return r={mount:()=>nT(Promise.resolve().then(()=>{if(c.status!==nr)throw Error(r5(13,!1,s,c.status));return o.parcels[a]=c,nD(c)})),unmount:()=>nT(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:nT(d),bootstrapPromise:nT(p),mountPromise:nT(f),unmountPromise:nT(h)}}function nT(e){return e.then(()=>null)}function nj(e){let t=np(e),r="function"==typeof e.customProps?e.customProps(t,window.location):e.customProps;("object"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(r5(40,!1),t,r));let n=nm({},r,{name:t,mountParcel:nk.bind(e),singleSpa:rQ});return nf(e)&&(n.unmountSelf=e.unmountThisParcel),n}let nR={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function nA(e,t,r){if("number"!=typeof e||e<=0)throw Error(r5(16,!1));nR.bootstrap={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function nN(e,t,r){if("number"!=typeof e||e<=0)throw Error(r5(17,!1));nR.mount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function nM(e,t,r){if("number"!=typeof e||e<=0)throw Error(r5(18,!1));nR.unmount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function n$(e,t,r){if("number"!=typeof e||e<=0)throw Error(r5(19,!1));nR.unload={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function nI(e,t){let r=e.timeouts[t],n=r.warningMillis,i=nh(e);return new Promise((o,a)=>{let s=!1,l=!1;e[t](nj(e)).then(e=>{s=!0,o(e)}).catch(e=>{s=!0,a(e)}),setTimeout(()=>c(1),n),setTimeout(()=>c(!0),r.millis);let u=r5(31,!1,t,i,np(e),r.millis);function c(e){s||(!0===e?(l=!0,r.dieOnTimeout?a(Error(u)):console.error(u)):!l&&(console.warn(u),e*n+n<r.millis&&setTimeout(()=>c(e+1),n)))}})}function nL(e){let t={};for(let r in nR)t[r]=nm({},nR[r],e&&e[r]||{});return t}function nF(e){return Promise.resolve().then(()=>{let t,r;return e.loadPromise?e.loadPromise:e.status!==r9&&e.status!==nl?e:(e.status=r7,e.loadPromise=Promise.resolve().then(()=>{let n=e.loadApp(nj(e));if(!nv(n))throw r=!0,Error(r5(33,!1,np(e)));return n.then(r=>{let n;e.loadErrorTime=null,"object"!=typeof(t=r)&&(n=34),Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!ng(t.bootstrap)&&(n=35),ng(t.mount)||(n=36),ng(t.unmount)||(n=37);let i=nh(t);if(n){let r;try{r=JSON.stringify(t)}catch(e){}return console.error(r5(n,!1,i,np(e),r),t),r4(void 0,e,nu),e}return t.devtools&&t.devtools.overlays&&(e.devtools.overlays=nm({},e.devtools.overlays,t.devtools.overlays)),e.status=ne,e.bootstrap=nb(t,"bootstrap"),e.mount=nb(t,"mount"),e.unmount=nb(t,"unmount"),e.unload=nb(t,"unload"),e.timeouts=nL(t.timeouts),delete e.loadPromise,e})}).catch(t=>{let n;return delete e.loadPromise,r?n=nu:(n=nl,e.loadErrorTime=(new Date).getTime()),r4(t,e,n),e}))})}let nB="u">typeof window,nV={hashchange:[],popstate:[]},nU=["hashchange","popstate"];function nW(e){let t;if("string"==typeof e)t=e;else if(this&&this.href)t=this.href;else{if(!(e&&e.currentTarget&&e.currentTarget.href&&e.preventDefault))throw Error(r5(14,!1));t=e.currentTarget.href,e.preventDefault()}let r=nZ(window.location.href),n=nZ(t);0===t.indexOf("#")?window.location.hash=n.hash:r.host!==n.host&&n.host?window.location.href=t:n.pathname===r.pathname&&n.search===r.search?window.location.hash=n.hash:window.history.pushState(null,null,t)}function nK(e){if(e){let t=e[0].type;nU.indexOf(t)>=0&&nV[t].forEach(t=>{try{t.apply(this,e)}catch(e){setTimeout(()=>{throw e})}})}}function nH(){id([],arguments)}function nz(e,t){return function(){let r=window.location.href,n=e.apply(this,arguments),o=window.location.href;return i&&r===o||window.dispatchEvent(function(e,t){let r;try{r=new PopStateEvent("popstate",{state:e})}catch(t){(r=document.createEvent("PopStateEvent")).initPopStateEvent("popstate",!1,!1,e)}return r.singleSpa=!0,r.singleSpaTrigger=t,r}(window.history.state,t)),n}}let nG=null,nq=!1;function nY(e){if(nq)throw Error(r5(43,!1));i=!e||!e.hasOwnProperty("urlRerouteOnly")||e.urlRerouteOnly,nq=!0,nG=window.history.replaceState,window.addEventListener("hashchange",nH),window.addEventListener("popstate",nH);let t=window.addEventListener,r=window.removeEventListener;window.addEventListener=function(e,r){if(!("function"==typeof r&&nU.indexOf(e)>=0)||ny(nV[e],e=>e===r))return t.apply(this,arguments);nV[e].push(r)},window.removeEventListener=function(e,t){return"function"==typeof t&&nU.indexOf(e)>=0&&(nV[e]=nV[e].filter(e=>e!==t)),r.apply(this,arguments)},window.history.pushState=nz(window.history.pushState,"pushState"),window.history.replaceState=nz(nG,"replaceState")}function nZ(e){let t=document.createElement("a");return t.href=e,t}nB&&(window.singleSpaNavigate?console.warn(r5(41,!1)):window.singleSpaNavigate=nW);let nJ=!1;function nX(e=window.jQuery){if(e||window.$&&window.$.fn&&window.$.fn.jquery&&(e=window.$),e&&!nJ){let t=e.fn.on,r=e.fn.off;e.fn.on=function(e,r){return nQ.call(this,t,window.addEventListener,e,r,arguments)},e.fn.off=function(e,t){return nQ.call(this,r,window.removeEventListener,e,t,arguments)},nJ=!0}}function nQ(e,t,r,n,i){return"string"!=typeof r?e.apply(this,i):(r.split(/\s+/).forEach(e=>{nU.indexOf(e)>=0&&(t(e,n),r=r.replace(e,""))}),""===r.trim()?this:e.apply(this,i))}let n0={};function n1(e){return Promise.resolve().then(()=>{let t=n0[np(e)];if(!t)return e;if(e.status===r9)return n3(e,t),e;if(e.status===ns)return t.promise.then(()=>e);if(e.status!==nr&&e.status!==nl)return e;let r=e.status===nl?Promise.resolve():nI(e,"unload");return e.status=ns,r.then(()=>(n3(e,t),e)).catch(r=>(delete n0[np(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,r4(r,e,nu),t.reject(r),e))})}function n3(e,t){delete n0[np(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,e.status=r9,t.resolve()}function n4(e,t,r,n){n0[np(e)]={app:e,resolve:r,reject:n},Object.defineProperty(n0[np(e)],"promise",{get:t})}let n2=[];function n6(){return n2.filter(nc).map(np)}function n5(){return n2.map(np)}function n8(e){let t=ny(n2,t=>np(t)===e);return t?t.status:null}let n9=!1;function n7(e,t,r,n){var i,o;let a,s,l=(a={name:null,loadApp:null,activeWhen:null,customProps:null},"object"==typeof e?(function(e){if(Array.isArray(e)||null===e)throw Error(r5(39,!1));let t=["name","app","activeWhen","customProps"],r=Object.keys(e).reduce((e,r)=>t.indexOf(r)>=0?e:e.concat(r),[]);if(0!==r.length)throw Error(r5(38,!1,t.join(", "),r.join(", ")));if("string"!=typeof e.name||0===e.name.length||"object"!=typeof e.app&&"function"!=typeof e.app)throw Error(r5(20,!1));let n=e=>"string"==typeof e||"function"==typeof e;if(!(n(e.activeWhen)||Array.isArray(e.activeWhen)&&e.activeWhen.every(n)))throw Error(r5(24,!1));if(!io(e.customProps))throw Error(r5(22,!1))}(e),a.name=e.name,a.loadApp=e.app,a.activeWhen=e.activeWhen,a.customProps=e.customProps):(function(e,t,r,n){if("string"!=typeof e||0===e.length)throw Error(r5(20,!1));if(!t)throw Error(r5(23,!1));if("function"!=typeof r)throw Error(r5(24,!1));if(!io(n))throw Error(r5(22,!1))}(e,t,r,n),a.name=e,a.loadApp=t,a.activeWhen=r,a.customProps=n),a.loadApp="function"!=typeof(i=a.loadApp)?()=>Promise.resolve(i):i,a.customProps=a.customProps||{},s=(s=Array.isArray(o=a.activeWhen)?o:[o]).map(e=>"function"==typeof e?e:ia(e)),a.activeWhen=e=>s.some(t=>t(e)),a);if(ih||n9||(n9=!0,setTimeout(()=>{ih||console.warn(r5(1,!1))},5e3)),-1!==n5().indexOf(l.name))throw Error(r5(21,!1,l.name));n2.push(nm({loadErrorTime:null,status:r9,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},l)),nB&&(nX(),id())}function ie(e=window.location){return n2.filter(t=>t.activeWhen(e)).map(np)}function it(e){if(0===n2.filter(t=>np(t)===e).length)throw Error(r5(25,!1,e));return(nB?ir(e,{waitForUnmount:!1}):Promise.resolve()).then(()=>{let t=n2.map(np).indexOf(e);n2.splice(t,1)})}function ir(e,t={waitForUnmount:!1}){if("string"!=typeof e)throw Error(r5(26,!1));let r=ny(n2,t=>np(t)===e);if(!r)throw Error(r5(27,!1,e));let n=n0[np(r)];if(t&&t.waitForUnmount){if(n)return n.promise;{let e=new Promise((t,n)=>{n4(r,()=>e,t,n)});return e}}{let e;return n?(e=n.promise,ii(r,n.resolve,n.reject)):e=new Promise((t,n)=>{n4(r,()=>e,t,n),ii(r,t,n)}),e}}function ii(e,t,r){Promise.resolve().then(()=>{if(ny(ie(),t=>t===np(e)))return ic()}).then(()=>nx(e).then(n1).then(()=>{t(),setTimeout(()=>{id()})})).catch(r)}function io(e){return!e||"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)}function ia(e,t){let r=function(e,t){let r=0,n=!1,i="^";"/"!==e[0]&&(e="/"+e);for(let t=0;t<e.length;t++){let r=e[t],i=n&&"/"===r;(!n&&":"===r||i)&&o(t)}return o(e.length),RegExp(i,"i");function o(o){let a=e.slice(r,o).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(i+=n?"[^/]+/?":a,o===e.length)if(n)t&&(i+="$");else{let e=t?"":".*";i="/"===i.charAt(i.length-1)?`${i}${e}$`:`${i}(/${e})?(#.*)?$`}n=!n,r=o}}(e,t);return e=>{let t=e.origin;t||(t=`${e.protocol}//${e.host}`);let n=e.href.replace(t,"").replace(e.search,"").split("?")[0];return r.test(n)}}let is=!1,il=[],iu=nB&&window.location.href;function ic(){return id()}function id(e=[],t,r=!1){let n,i,o,a,s;if(is)return new Promise((e,r)=>{il.push({resolve:e,reject:r,eventArguments:t})});let{appsToUnload:l,appsToUnmount:u,appsToLoad:c,appsToMount:d}=(n=[],i=[],o=[],a=[],s=(new Date).getTime(),n2.forEach(e=>{let t=e.status!==nu&&nd(e);switch(e.status){case nl:t&&s-e.loadErrorTime>=200&&o.push(e);break;case r9:case r7:t&&o.push(e);break;case ne:case nr:!t&&n0[np(e)]?n.push(e):t&&a.push(e);break;case ni:t||i.push(e)}}),{appsToUnload:n,appsToUnmount:i,appsToLoad:o,appsToMount:a}),p,f=[],h=iu,m=iu=window.location.href;return ih?(is=!0,p=l.concat(c,u,d),Promise.resolve().then(()=>(w(0===p.length?"before-no-app-change":"before-app-change",v(!0)),w("before-routing-event",v(!0,{cancelNavigation:y})),Promise.all(f).then(r=>{if(r.some(e=>e))return nG.call(window.history,history.state,"",h.substring(location.origin.length)),iu=location.href,is=!1,id(e,t,!0);let n=l.map(n1),i=Promise.all(u.map(nx).map(e=>e.then(n1)).concat(n));i.then(()=>{w("before-mount-routing-event",v(!0))},e=>{throw e});let o=c.map(e=>nF(e).then(e=>ip(e,i))),a=d.filter(e=>0>c.indexOf(e)).map(e=>ip(e,i));return i.catch(e=>{throw b(),e}).then(()=>(b(),Promise.all(o.concat(a)).catch(t=>{throw e.forEach(e=>e.reject(t)),t}).then(g).then(()=>{},e=>{throw e})))})))):(p=c,Promise.resolve().then(()=>Promise.all(c.map(nF)).then(b).then(()=>[]).catch(e=>{throw b(),e}).finally(()=>{})));function y(e=!0){let t="function"==typeof(null==e?void 0:e.then)?e:Promise.resolve(e);f.push(t.catch(e=>(console.warn(Error(r5(42,!1))),console.warn(e),!1)))}function g(){let t=n6();e.forEach(e=>e.resolve(t));try{w(0===p.length?"no-app-change":"app-change",v()),w("routing-event",v())}catch(e){setTimeout(()=>{throw e})}if(is=!1,il.length>0){let e=il;il=[],id(e)}return t}function b(){r||(e.forEach(e=>{nK(e.eventArguments)}),nK(t))}function v(e=!1,r){let n={},i={[ni]:[],[nr]:[],[r9]:[],[nu]:[]};e?(c.concat(d).forEach((e,t)=>{a(e,ni)}),l.forEach(e=>{a(e,r9)}),u.forEach(e=>{a(e,nr)})):p.forEach(e=>{a(e)});let o={detail:{newAppStatuses:n,appsByNewStatus:i,totalAppChanges:p.length,originalEvent:null==t?void 0:t[0],oldUrl:h,newUrl:m}};return r&&nm(o.detail,r),o;function a(e,t){let r=np(e);t=t||n8(r),n[r]=t,(i[t]=i[t]||[]).push(r)}}function w(e,t){r||window.dispatchEvent(new r1(`single-spa:${e}`,t))}}function ip(e,t){return nd(e)?n_(e).then(e=>t.then(()=>nd(e)?nD(e):e)):t.then(()=>e)}let ih=!1;function im(e){ih=!0,nB&&(nY(e),id())}function iy(e,t){let r=window.getOpenmrsSpaBase().replace(/\/$/,"");return ig(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:r,...t}).replace(/^\/\//,"/")}function ig(e,t){return Object.keys(t).reduce((e,r)=>e.split("${"+r+"}").join(t[r]),e)}function ib({to:e,templateParams:t}){let r=window.getOpenmrsSpaBase().replace(/\/$/,""),n=iy(e,t).replace(window.location.origin,"");n.startsWith(r)?nW(n):window.location.assign(n)}nB&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods={getRawAppData:function(){return[...n2]},reroute:id,NOT_LOADED:r9,toLoadPromise:nF,toBootstrapPromise:n_,unregisterApplication:it,getProfilerData:function(){return nw}});let iv="openmrs:history";function iw(e){let t=JSON.parse(sessionStorage.getItem(iv)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(iv,JSON.stringify(t))}function i_(){0===JSON.parse(sessionStorage.getItem(iv)??"[]").length&&document.referrer&&iw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=ix();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(iv,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?iE({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&iw(window.location.href)})}function ix(){return JSON.parse(sessionStorage.getItem(iv)??"[]")}function iE({toUrl:e}){let t=ix(),r=t.lastIndexOf(e);if(-1!=r){let e=t.slice(0,r+1);ib({to:t[r]}),sessionStorage.setItem(iv,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function iS(){sessionStorage.removeItem(iv)}let iD="${openmrsSpaBase}/login",iO={redirectAuthFailure:{enabled:{_type:tL.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:tL.String,_default:iD,_validators:[rK.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:tL.Array,_default:[401],_elements:{_type:tL.Number,_validators:[rK.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:tL.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:tL.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function iP(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let iC="/ws/rest/v1",ik="/ws/fhir2/R4",iT=`${iC}/session`;function ij(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function iR(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let r=ij(e);if(t.headers||(t.headers={}),em(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(iC)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(ik)){let e=new URL(r,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),r=e.toString())}let n=Error();return window.fetch(r,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:i}=await rg("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(r===ij(iT)||204===e.status)&&ib({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return r===ij(iT)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(iS(),ib({to:t.url||e.headers.get("location")||iD}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let i=t;try{i=JSON.parse(t)}catch(e){}throw new iN(r,e,i,n)},t=>{throw new iN(r,e,null,n)})})}function iA(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");let r=new AbortController;return t.signal=r.signal,new es.Observable(n=>{let i=!1;return iR(e,t).then(e=>{i=!0,n.next(e),n.complete()},e=>{i=!0,n.error(e)}),()=>{i||r.abort()}})}class iN extends Error{constructor(e,t,r,n){super(),iP(this,"response",void 0),iP(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,n.message=this.message,this.responseBody=r,this.response=t,this.stack=`Stacktrace for outgoing request:
13
13
  ${n.stack}
14
14
  Stacktrace for incoming response:
15
- ${this.stack}`}}let iM=Y("session",{loaded:!1,session:null}),i$=0;function iI(e={includeAuthStatus:!0}){return(i$<Date.now()-6e4||!iM.getState().loaded)&&iB(),new es.Observable(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(iM.getState()),iM.subscribe(r)})}function iL(){return(i$<Date.now()-6e4||!iM.getState().loaded)&&iB(),iM}function iF(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function iB(e,t){i$=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),iG(iR(iT,{headers:r}))}function iV(){iM.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function iU(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function iW(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(iM.getState()),e||(t=iM.subscribe(n))})}function iK(){return new Promise((e,t)=>{iI().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function iH(e,t){return iG(iR(iT,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function iz(e,t,r){return r||(r=new AbortController),await iR(`${iC}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),iB()}function iG(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},iM.setState(n),t(n)):(n={loaded:!1,session:null},iM.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};iM.setState(t),r(t)})})}function iq(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}iM.subscribe(e=>{e.loaded&&e.session&&iF(e.session)});let iY={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function iZ(){rc("@openmrs/esm-api",iO),iB()}let iJ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},iX=e=>"string"==typeof e,iQ=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},i0=e=>null==e?"":""+e,i1=/###/g,i3=e=>e&&e.indexOf("###")>-1?e.replace(i1,"."):e,i4=e=>!e||iX(e),i2=(e,t,r)=>{let n=iX(t)?t.split("."):t,i=0;for(;i<n.length-1;){if(i4(e))return{};let t=i3(n[i]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return i4(e)?{}:{obj:e,k:i3(n[i])}},i6=(e,t,r)=>{let{obj:n,k:i}=i2(e,t,Object);if(void 0!==n||1===t.length){n[i]=r;return}let o=t[t.length-1],a=t.slice(0,t.length-1),s=i2(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,s=i2(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=r},i5=(e,t)=>{let{obj:r,k:n}=i2(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},i8=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?iX(e[n])||e[n]instanceof String||iX(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):i8(e[n],t[n],r):e[n]=t[n]);return e};var i9={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};let i7=e=>iX(e)?e.replace(/[&<>"'\/]/g,e=>i9[e]):e,oe=[" ",",","?","!",";"],ot=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),or=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),i=e;for(let e=0;e<n.length;){let t;if(!i||"object"!=typeof i)return;let o="";for(let a=e;a<n.length;++a)if(a!==e&&(o+=r),o+=n[a],void 0!==(t=i[o])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}i=t}return i},on=e=>e?.replace("_","-"),oi={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class oo{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||oi,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(iX(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new oo(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new oo(this.logger,e)}}var oa=new oo;class os{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let i=0;i<n;i++)r.apply(r,[e,...t])})}}class ol extends os{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let i,o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?i=e.split("."):(i=[e,t],r&&(Array.isArray(r)?i.push(...r):iX(r)&&o?i.push(...r.split(o)):i.push(r)));let s=i5(this.data,i);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=i[0],t=i[1],r=i.slice(2).join(".")),!s&&a&&iX(r))?or(this.data?.[e]?.[t],r,o):s}addResource(e,t,r,n,i={silent:!1}){let o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(o?r.split(o):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),i6(this.data,a,n),i.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(iX(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,i,o={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=i5(this.data,a)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?i8(s,r,i):s={...s,...r},i6(this.data,a,s),o.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var ou={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,i){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,i)??t}),t}};let oc=Symbol("i18next/PATH_KEY");function od(e,t){let r,n,i,{[oc]:o}=e((n=[],(i=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===oc)?n:(n.push(t),(r=Proxy.revocable(e,i)).proxy),Proxy.revocable(Object.create(null),i).proxy));return o.join(t?.keySeparator??".")}let op={},of=e=>!iX(e)&&"boolean"!=typeof e&&"number"!=typeof e;class oh extends os{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=oa.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let i=of(n.res);return!1!==r.returnObjects||!i}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=t.ns||this.options.defaultNS||[],o=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=oe.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let i=ot.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),o=!i.test(e);if(!o){let t=e.indexOf(r);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o})(e,r,n);if(o&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:iX(i)?[i]:i};let o=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(n)}return{key:e,namespaces:iX(i)?[i]:i}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=od(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let i=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?i?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:i?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!iX(n.count),v=oh.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=of(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(iX(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(o){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let i=`${r}${o}${e}`;v&&!f?t[e]=this.translate(i,{...n,defaultValue:of(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(i,{...n,joinArrays:!1,ns:s}),t[e]===i&&(t[e]=D[e])}f=t}}else if(g&&iX(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,i=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(i=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(i||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),o){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let i=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,i,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,i,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),i&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(i||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return i?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let o;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=iX(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=r.replace&&!iX(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);o<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>i?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let o=r.postProcess||this.options.postProcess,a=iX(o)?[o]:o;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=ou.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,i,o,a;return iX(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!iX(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(iX(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!op[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(op[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;o=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(i)&&s.push(l+e.replace(i,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(i)&&s.push(n+e.replace(i,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(i=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:i,usedLng:o,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!iX(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class om{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=oa.create("languageUtils")}getScriptPartFromCode(e){if(!(e=on(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=on(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(iX(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),iX(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],i=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return iX(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):iX(e)&&i(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&i(this.formatLanguageCode(e))}),n}}let oy={zero:0,one:1,two:2,few:3,many:4,other:5},og={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class ob{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=oa.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=on("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:n,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];try{r=new Intl.PluralRules(n,{type:i})}catch(i){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),og;if(!e.match(/-|_/))return og;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[o]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>oy[e]-oy[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let ov=(e,t,r,n=".",i=!0)=>{let o,a=void 0!==(o=i5(e,r))?o:i5(t,r);return!a&&i&&iX(r)&&void 0===(a=or(e,r,n))&&(a=or(t,r,n)),a};class ow{constructor(e={}){this.logger=oa.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:i7,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=i?i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):o||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let i,o,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let i=ov(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,r,{...n,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),o=i.shift().trim(),a=i.join(this.formatSeparator).trim();return this.format(ov(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:o})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;i=t.regex.exec(e);){let r=i[1].trim();if(void 0===(o=l(r)))if("function"==typeof u){let t=u(e,i,n);o=iX(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))o="";else if(c){o=i[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),o="";else iX(o)||this.useRawValueToEscape||(o=i0(o));let s=t.safeValue(o);if(e=e.replace(i[0],s),c?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,i,o,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),i=`{${n[1]}`;e=n[0];let a=(i=this.interpolate(i,o)).match(/'/g),s=i.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${i}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(o=(o={...r}).replace&&!iX(o.replace)?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(i=t(a.call(this,n[1].trim(),o),o))&&n[0]===e&&!iX(i))return i;iX(i)||(i=i0(i)),i||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),i=""),s.length&&(i=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}let o_=e=>{let t={};return(r,n,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});let a=n+JSON.stringify(o),s=t[a];return s||(s=e(on(n),i),t[a]=s),s(r)}},ox=e=>(t,r,n)=>e(on(r),n)(t);class oE{constructor(e={}){this.logger=oa.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?o_:ox;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=o_(t)}format(e,t,r,n={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&0>i[0].indexOf(")")&&i.find(e=>e.indexOf(")")>-1)){let e=i.findIndex(e=>e.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:o}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let i=n[1].substring(0,n[1].length-1);"currency"===t&&0>i.indexOf(":")?r.currency||(r.currency=i.trim()):"relativetime"===t&&0>i.indexOf(":")?r.range||(r.range=i.trim()):i.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),i=n.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();r[o]||(r[o]=i),"false"===i&&(r[o]=!1),"true"===i&&(r[o]=!0),isNaN(i)||(r[o]=parseInt(i,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[i]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[i](e,s,{...o,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e},e)}}class oS extends os{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=oa.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let i={},o={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===o[a]&&(o[a]=!0):(this.state[a]=1,n=!1,void 0===o[a]&&(o[a]=!0),void 0===i[a]&&(i[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),i=n[0],o=n[1];t&&this.emit("failedLoading",i,o,t),!t&&r&&this.store.addResourceBundle(i,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:i,k:o}=i2(e,t,Object);i[o]=i[o]||[],i[o].push(r)})(r.loaded,[i],o),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,i=this.retryTimeout,o){if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:i,callback:o});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*i,o)},i):o(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();iX(e)&&(e=this.languageUtils.toResolveHierarchy(e)),iX(t)&&(t=[t]);let i=this.queueLoad(e,t,r,n);if(!i.toLoad.length)return i.pending.length||n(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],i=r[1];this.read(n,i,"read",void 0,void 0,(r,o)=>{r&&this.logger.warn(`${t}loading namespace ${i} for language ${n} failed`,r),!r&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${n}`,o),this.loaded(e,r,o)})}saveMissing(e,t,r,n,i,o={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;(i=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof i.then?i.then(e=>a(null,e)).catch(a):a(null,i)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let oD=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),iX(e[1])&&(t.defaultValue=e[1]),iX(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),oO=e=>(iX(e.ns)&&(e.ns=[e.ns]),iX(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),iX(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),oP=()=>{};class oC extends os{constructor(e={},t){if(super(),this.options=oO(e),this.services={},this.logger=oa,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(iX(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=oD();this.options={...r,...this.options,...oO(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?oa.init(n(this.modules.logger),this.options):oa.init(null,this.options),e=this.modules.formatter?this.modules.formatter:oE;let t=new om(this.options);this.store=new ol(this.options.resources,this.options);let i=this.services;i.logger=oa,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new ob(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(i.formatter=n(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new ow(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new oS(n(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=n(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=n(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new oh(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=oP),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=iQ(),o=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),i}loadResources(e,t=oP){let r=t,n=iX(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=iQ();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=oP),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&ou.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=iQ();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,o)=>{o?this.isLanguageChangingTo===e&&(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},o=t=>{e||t||!this.services.languageDetector||(t=[]);let r=iX(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(iX(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,e=>{i(e,o)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...i)=>{let o,a;(o="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(i)):{...t}).lng=o.lng||n.lng,o.lngs=o.lngs||n.lngs,o.ns=o.ns||n.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return o.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=od(e,{...this.options,...t})),`${o.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=od(e,{...this.options,...t})),a=o.keyPrefix?`${o.keyPrefix}${s}${e}`:e),this.t(a,o)};return iX(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let o=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,o);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!n||o(i,e)))}loadNamespaces(e,t){let r=iQ();return this.options.ns?(iX(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=iQ();iX(e)&&(e=[e]);let n=this.options.preload||[],i=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=n.concat(i),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new om(oD());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new oC(e,t)}cloneInstance(e={},t=oP){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},i=new oC(n);return(void 0!==e.debug||void 0!==e.prefix)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(e=>{i[e]=this[e]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new ol(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),i.services.resourceStore=i.store),i.translator=new oh(i.services,n),i.translator.on("*",(e,...t)=>{i.emit(e,...t)}),i.init(n,t),i.translator.options=n,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let ok=oC.createInstance();ok.createInstance=oC.createInstance,ok.createInstance,ok.dir,ok.init,ok.loadResources,ok.reloadResources,ok.use,ok.changeLanguage,ok.getFixedT,ok.t,ok.exists,ok.setDefaultNamespace,ok.hasLoadedNamespace,ok.loadNamespaces,ok.loadLanguages;let oT=ok.default||ok;function oj(e,t,r,n){return oT.t(t,{ns:e,defaultValue:r,...n})}function oR(e,t,r){return iJ[e]?oj("core",e,t??iJ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}oT.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let oA="import-map-override:",oN="import-map-overrides-disabled",oM="import-map-overrides:change",o$=!1,oI=null,oL=null;async function oF(){return oL??(oL=oB().then(({map:e,complete:t})=>(t||(oL=null),e))),oL}async function oB(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let i=e[n];try{if(i.src){let e=await fetch(i.src);if(!e.ok)throw Error(`Request for ${i.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else i.textContent&&t.push(JSON.parse(i.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:oV(t),complete:r}}function oV(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function oU(){let e={};try{let t=oG();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(oA)){let r=n.slice(oA.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function oW(){let e=await oF();return o$?oV([e,oI??oU()]):e}async function oK(){return oF()}async function oH(){return o$?oV([await oF(),oU()]):oF()}function oz(e){if(!o$)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(oA)){let t=localStorage.getItem(r);t&&(e[r.slice(oA.length)]=t)}}return{imports:e}}return oU()}function oG(){if(!o$)return[];try{let e=localStorage.getItem(oN);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function oq(e){return!!o$&&oG().includes(e)}function oY(e,t){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(oA+e,t),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function oZ(e){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(oA+e);let t=oG().filter(t=>t!==e);t.length>0?localStorage.setItem(oN,JSON.stringify(t)):localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oJ(){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(oA)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function oX(e){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=oG().filter(t=>t!==e);t.length>0?localStorage.setItem(oN,JSON.stringify(t)):localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let oQ=!1;function o0(){!oQ&&(oQ=!0,(o$="development"===window.spaEnv)&&(oI=oU()))}function o1(e){return e.replace(/[\/\-@]/g,"_")}async function o3(e,t="./start",n){var i;let o,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([o4(e,n?.importMap),new Promise((t,r)=>{o=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),o&&clearTimeout(o);let s=o1(e),l=window[s];if(!("object"==typeof(i=l)&&null!==i&&"init"in i&&"function"==typeof i.init&&"get"in i&&"function"==typeof i.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function o4(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=o1(e);if(!window[r]){let r=t??await o2();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let i=e in oz().imports;try{return await function(e){var t;let r=(t=window)[o6]??(t[o6]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let i=document.createElement("script");i.src=e,i.type="text/javascript",i.async=!0;let o=new Promise((t,n)=>{let o=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(o),i.removeEventListener("load",s),i.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),i.remove();let o=`Failed to load script from ${e}`;console.error(o,t),n(t.message??o)}i.addEventListener("load",s),i.addEventListener("error",l),document.head.appendChild(i)});return r.set(e,o),o}(n)}catch(e){return i&&j({kind:"error",title:oR("scriptLoadingFailed","Error: Script failed to load"),description:oR("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:oR("resetOverrides","Reset overrides"),onActionButtonClick(){oJ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function o2(){return oW()}let o6=Symbol.for("__openmrs_script_loading");function o5(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function o8(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&o5(t))}let o9="openmrs-routes:",o7="openmrs-routes:change",ae=!1,at=null,ar=null;async function an(){return ar??(ar=ai().then(({map:e,complete:t})=>(t||(ar=null),e))),ar}async function ai(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let i=e[n];try{let e;if(i.src){let t=await fetch(i.src);if(!t.ok)throw Error(`Request for ${i.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else i.textContent&&(e=JSON.parse(i.textContent));e&&o8(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ao(t),complete:r}}function ao(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function aa(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(o9)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(o9.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(o5(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(o5(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function as(){let e=await an();return ae?ao([e,at??await aa()]):e}async function al(){return an()}async function au(){return ae?ao([await an(),await aa()]):an()}function ac(){if(!ae)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(o9)){let t=localStorage.getItem(r);t&&(e[r.slice(o9.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function ad(e,t){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(o9+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!o5(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(o9+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(o9+e,JSON.stringify(t.toString()));else{if(!o5(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(o9+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function ap(e){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(o9+e),window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function af(){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(o9)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let ah=null;function am(){return ah||(ah=(ae="development"===window.spaEnv)?aa().then(e=>{at=e}):Promise.resolve())}let ay=`${iC}/attachment`;function ag(e,t){return iR(`${ay}/${e}`,{signal:t.signal})}function ab(e,t,r){return iR(`${ay}?patient=${e}&includeEncounterless=${t}`,{signal:r.signal})}async function av(e,t){let r=new FormData;return r.append("fileCaption",t.fileDescription),r.append("patient",e),t.file?r.append("file",t.file,t.fileName):(r.append("file",new File([""],t.fileName),t.fileName),r.append("base64Content",t.base64Content)),iR(`${ay}`,{method:"POST",body:r})}function aw(e,t){return iR(`${ay}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function a_(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function ax(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function aE(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var aS=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function aD(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var aO=function(e,t){this.type=e,Object.assign(this,t)};function aP(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function aC(){}var ak={type:"SKIP_WAITING"};function aT(e,t){if(!t)return e&&e.then?e.then(aC):Promise.resolve()}var aj=function(e){function t(t,r){var n,i;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new aS,n.en=new aS,n.on=new aS,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!aD(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,i=r.state,o=r===n.vn,a={sw:r,isExternal:o,originalEvent:e};!o&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new aO(i,a)),"installed"===i?n.wn=self.setTimeout(function(){"installed"===i&&t.waiting===r&&n.dispatchEvent(new aO("waiting",a))},200):"activating"===i&&(clearTimeout(n.wn),o||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new aO("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},i=function(e){var t=e.data,r=e.ports,i=e.source;return aP(n.getSW(),function(){n.an.has(i)&&n.dispatchEvent(new aO("message",{data:t,originalEvent:e,ports:r,sw:i}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(i.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,i=t.prototype;return i.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,i,o,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return aT(new Promise(function(e){return window.addEventListener("load",e)}))},i=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),aP(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&aD(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new aO("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(o=n())&&o.then?o.then(i):i(o)}catch(e){return Promise.reject(e)}},i.update=function(){try{return this.fn?aT(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},i.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},i.messageSW=function(e){try{return aP(this.getSW(),function(t){return a_(t,e)})}catch(e){return Promise.reject(e)}},i.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&a_(this.fn.waiting,ak)},i.pn=function(){var e=navigator.serviceWorker.controller;return e&&aD(e.scriptURL,this.sn.toString())?e:void 0},i.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return aP(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],ax(t.prototype,r),n&&ax(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return aE(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?aE(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function aR(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new aj(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function aA(){return p??Promise.resolve(void 0)}let aN="x-omrs-offline-response-body",aM="x-omrs-offline-response-status",a$="x-omrs-offline-caching-strategy";async function aI(e){let t=await aA();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function aL(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function aF(){return!window.indexedDB}async function aB(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function aV(){return await aB()||await aF()||await aL()}let aU="openmrs3:offline-mode",aW="unavailable";function aK(){return{current:aW,notAvailable:"unavailable"===aW,active:"on"===aW}}function aH(e){"unavailable"!==aW&&"unavailable"!==e&&(localStorage.setItem(aU,"on"===e?"active":"disabled"),aW=e)}async function az(){await aV()||(aW="active"===localStorage.getItem(aU)?"on":"off"),navigator.onLine}let aG="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,aq=Object.keys,aY=Array.isArray;function aZ(e,t){return"object"!=typeof t||aq(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||aG.Promise||(aG.Promise=Promise);let aJ=Object.getPrototypeOf,aX={}.hasOwnProperty;function aQ(e,t){return aX.call(e,t)}function a0(e,t){"function"==typeof t&&(t=t(aJ(e))),("u"<typeof Reflect?aq:Reflect.ownKeys)(t).forEach(r=>{a3(e,r,t[r])})}let a1=Object.defineProperty;function a3(e,t,r,n){a1(e,t,aZ(r&&aQ(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function a4(e){return{from:function(t){return e.prototype=Object.create(t.prototype),a3(e.prototype,"constructor",e),{extend:a0.bind(null,e.prototype)}}}}let a2=Object.getOwnPropertyDescriptor;function a6(e,t){let r;return a2(e,t)||(r=aJ(e))&&a6(r,t)}let a5=[].slice;function a8(e,t,r){return a5.call(e,t,r)}function a9(e,t){return t(e)}function a7(e){if(!e)throw Error("Assertion Failed")}function se(e){aG.setImmediate?setImmediate(e):setTimeout(e,0)}function st(e,t){return e.reduce((e,r,n)=>{var i=t(r,n);return i&&(e[i[0]]=i[1]),e},{})}function sr(e,t){if(aQ(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,i=t.length;n<i;++n){var o=sr(e,t[n]);r.push(o)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return void 0===s?void 0:sr(s,t.substr(a+1))}}function sn(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){a7("string"!=typeof r&&"length"in r);for(var n=0,i=t.length;n<i;++n)sn(e,t[n],r[n])}else{var o=t.indexOf(".");if(-1!==o){var a=t.substr(0,o),s=t.substr(o+1);if(""===s)void 0===r?aY(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&aQ(e,a)||(l=e[a]={}),sn(l,s,r)}}else void 0===r?aY(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function si(e){var t={};for(var r in e)aQ(e,r)&&(t[r]=e[r]);return t}let so=[].concat;function sa(e){return so.apply([],e)}let ss="Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(sa([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>aG[e]),sl=ss.map(e=>aG[e]);st(ss,e=>[e,!0]);let su=null;function sc(e){su="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=su&&su.get(t);if(r)return r;if(aY(t)){r=[],su&&su.set(t,r);for(var n=0,i=t.length;n<i;++n)r.push(e(t[n]))}else if(sl.indexOf(t.constructor)>=0)r=t;else{let n=aJ(t);for(var o in r=n===Object.prototype?{}:Object.create(n),su&&su.set(t,r),t)aQ(t,o)&&(r[o]=e(t[o]))}return r}(e);return su=null,t}let{toString:sd}={};function sp(e){return sd.call(e).slice(8,-1)}let sf="u">typeof Symbol?Symbol.iterator:"@@iterator",sh="symbol"==typeof sf?function(e){var t;return null!=e&&(t=e[sf])&&t.apply(e)}:function(){return null},sm={};function sy(e){var t,r,n,i;if(1==arguments.length){if(aY(e))return e.slice();if(this===sm&&"string"==typeof e)return[e];if(i=sh(e)){for(r=[];!(n=i.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let sg="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var sb="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),sv=()=>!0;let sw=!Error("").stack;function s_(){if(sw)try{throw s_.arguments,Error()}catch(e){return e}return Error()}function sx(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(sv).map(e=>"\n"+e).join("")):""}var sE=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],sS=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(sE),sD={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 sO(e,t){this._e=s_(),this.name=e,this.message=t}function sP(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function sC(e,t,r,n){this._e=s_(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=sP(e,t)}function sk(e,t){this._e=s_(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=sP(e,t)}a4(sO).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+sx(this._e,2))}},toString:function(){return this.name+": "+this.message}}),a4(sC).from(sO),a4(sk).from(sO);var sT=sS.reduce((e,t)=>(e[t]=t+"Error",e),{}),sj=sS.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=s_(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=sD[t]||r,this.inner=null)}return a4(n).from(sO),e[t]=n,e},{});sj.Syntax=SyntaxError,sj.Type=TypeError,sj.Range=RangeError;var sR=sE.reduce((e,t)=>(e[t+"Error"]=sj[t],e),{}),sA=sS.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=sj[t]),e),{});function sN(){}function sM(e){return e}function s$(e,t){return null==e||e===sM?t:function(r){return t(e(r))}}function sI(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function sL(e,t){return e===sN?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?sI(n,this.onsuccess):n),i&&(this.onerror=this.onerror?sI(i,this.onerror):i),void 0!==o?o:r}}function sF(e,t){return e===sN?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?sI(r,this.onsuccess):r),n&&(this.onerror=this.onerror?sI(n,this.onerror):n)}}function sB(e,t){return e===sN?t:function(r){var n=e.apply(this,arguments);aZ(r,n);var i=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?sI(i,this.onsuccess):i),o&&(this.onerror=this.onerror?sI(o,this.onerror):o),void 0===n?void 0===a?void 0:a:aZ(n,a)}}function sV(e,t){return e===sN?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function sU(e,t){return e===sN?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,i=arguments.length,o=Array(i);i--;)o[i]=arguments[i];return r.then(function(){return t.apply(n,o)})}return t.apply(this,arguments)}}sA.ModifyError=sC,sA.DexieError=sO,sA.BulkError=sk;var sW={};let[sK,sH,sz]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,aJ(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,aJ(t),e]})(),sG=sH&&sH.then,sq=sK&&sK.constructor,sY=!!sz;var sZ=!1,sJ=sz?()=>{sz.then(ll)}:aG.setImmediate?setImmediate.bind(null,ll):aG.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{ll(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(ll,0)},sX=function(e,t){s8.push([e,t]),s0&&(sJ(),s0=!1)},sQ=!0,s0=!0,s1=[],s3=[],s4=null,s2=sM,s6={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:lR,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{lR(e[0],e[1])}catch(e){}})}},s5=s6,s8=[],s9=0,s7=[];function le(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=sN,this._lib=!1;var t=this._PSD=s5;if(sb&&(this._stackHolder=s_(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==sW)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&ln(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&lu();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof le?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,li(t)),n&&lc()}},ln.bind(null,t))}catch(e){ln(t,e)}}(this,e)}let lt={get:function(){var e=s5,t=lb;function r(r,n){var i=!e.global&&(e!==s5||t!==lb);let o=i&&!lx();var a=new le((t,a)=>{lo(this,new lr(lk(r,e,i,o),lk(n,e,i,o),t,a,e))});return sb&&ls(a,this),a}return r.prototype=sW,r},set:function(e){a3(this,"then",e&&e.prototype===sW?lt:{get:function(){return e},set:lt.set})}};function lr(e,t,r,n,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=i}function ln(e,t){if(s3.push(t),null===e._state){var r=e._lib&&lu();t=s2(t),e._state=!1,e._value=t,sb&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=a6(t,"stack");t._promise=e,a3(t,"stack",{get:()=>sZ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),s1.some(t=>t._value===e._value)||s1.push(e),li(e),r&&lc()}}function li(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)lo(e,t[r]);var i=e._PSD;--i.ref||i.finalize(),0===s9&&(++s9,sX(()=>{0==--s9&&ld()},[]))}function lo(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++s9,sX(la,[r,e,t])}else e._listeners.push(t)}function la(e,t,r){try{s4=t;var n,i=t._value;t._state?n=e(i):(s3.length&&(s3=[]),n=e(i),-1===s3.indexOf(i)&&function(e){for(var t=s1.length;t;)if(s1[--t]._value===e._value)return void s1.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{s4=null,0==--s9&&ld(),--r.psd.ref||r.psd.finalize()}}function ls(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function ll(){lu()&&lc()}function lu(){var e=sQ;return sQ=!1,s0=!1,e}function lc(){var e,t,r;do for(;s8.length>0;)for(e=s8,s8=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(s8.length>0);sQ=!0,s0=!0}function ld(){var e=s1;s1=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=s7.slice(0),r=t.length;r;)t[--r]()}function lp(e){return new le(sW,!1,e)}function lf(e,t){var r=s5;return function(){var n=lu(),i=s5;try{return lO(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{lO(i,!1),n&&lc()}}}a0(le.prototype,{then:lt,_then:function(e,t){lo(this,new lr(null,null,e,t,s5))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):lp(e)):this.then(null,e=>e&&e.name===t?r(e):lp(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),lp(t)))},stack:{get:function(){if(this._stack)return this._stack;try{sZ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var i="";if(!1===t._state){var o,a,s=t._value;null!=s?(o=s.name||"Error",a=s.message||s,i=sx(s,0)):(o=s,a=""),r.push(o+(a?": "+a:"")+i)}return sb&&((i=sx(t._stackHolder,2))&&-1===r.indexOf(i)&&r.push(i),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{sZ=!1}}},timeout:function(e,t){return e<1/0?new le((r,n)=>{var i=setTimeout(()=>n(new sj.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,i))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&a3(le.prototype,Symbol.toStringTag,"Dexie.Promise"),s6.env=lP(),a0(le,{all:function(){var e=sy.apply(null,arguments).map(lE);return new le(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((i,o)=>le.resolve(i).then(r=>{e[o]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof le)return e;if(e&&"function"==typeof e.then)return new le((t,r)=>{e.then(t,r)});var t=new le(sW,!0,e);return ls(t,s4),t},reject:lp,race:function(){var e=sy.apply(null,arguments).map(lE);return new le((t,r)=>{e.map(e=>le.resolve(e).then(t,r))})},PSD:{get:()=>s5,set:e=>s5=e},totalEchoes:{get:()=>lb},newPSD:lw,usePSD:lC,scheduler:{get:()=>sX,set:e=>{sX=e}},rejectionMapper:{get:()=>s2,set:e=>{s2=e}},follow:(e,t)=>new le((r,n)=>lw((t,r)=>{var n=s5;n.unhandleds=[],n.onunhandled=r,n.finalize=sI(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},s7.push(function t(){e(),s7.splice(s7.indexOf(t),1)}),++s9,sX(()=>{0==--s9&&ld()},[])},n.finalize),e()},t,r,n))}),sq&&(sq.allSettled&&a3(le,"allSettled",function(){let e=sy.apply(null,arguments).map(lE);return new le(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,i)=>le.resolve(e).then(e=>n[i]={status:"fulfilled",value:e},e=>n[i]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),sq.any&&"u">typeof AggregateError&&a3(le,"any",function(){let e=sy.apply(null,arguments).map(lE);return new le((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,i=Array(n);e.forEach((e,o)=>le.resolve(e).then(e=>t(e),e=>{i[o]=e,--n||r(AggregateError(i))}))})}));let lh={awaits:0,echoes:0,id:0};var lm=0,ly=[],lg=0,lb=0,lv=0;function lw(e,t,r,n){var i=s5,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++lv;var a=s6.env;o.env=sY?{Promise:le,PromiseProp:{value:le,configurable:!0,writable:!0},all:le.all,race:le.race,allSettled:le.allSettled,any:le.any,resolve:le.resolve,reject:le.reject,nthen:lT(a.nthen,o),gthen:lT(a.gthen,o)}:{},t&&aZ(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=lC(o,e,r,n);return 0===o.ref&&o.finalize(),s}function l_(){return lh.id||(lh.id=++lm),++lh.awaits,lh.echoes+=100,lh.id}function lx(){return!!lh.awaits&&(0==--lh.awaits&&(lh.id=0),lh.echoes=100*lh.awaits,!0)}function lE(e){return lh.echoes&&e&&e.constructor===sq?(l_(),e.then(e=>(lx(),e),e=>(lx(),lA(e)))):e}function lS(e){++lb,lh.echoes&&0!=--lh.echoes||(lh.echoes=lh.id=0),ly.push(s5),lO(e,!0)}function lD(){var e=ly[ly.length-1];ly.pop(),lO(e,!1)}function lO(e,t){var r,n=s5;if((t?!lh.echoes||lg++&&e===s5:!lg||--lg&&e===s5)||(r=t?lS.bind(null,e):lD,sG.call(sK,r)),e!==s5&&(s5=e,n===s6&&(s6.env=lP()),sY)){var i=s6.env.Promise,o=e.env;sH.then=o.nthen,i.prototype.then=o.gthen,(n.global||e.global)&&(Object.defineProperty(aG,"Promise",o.PromiseProp),i.all=o.all,i.race=o.race,i.resolve=o.resolve,i.reject=o.reject,o.allSettled&&(i.allSettled=o.allSettled),o.any&&(i.any=o.any))}}function lP(){var e=aG.Promise;return sY?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(aG,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:sH.then,gthen:e.prototype.then}:{}}function lC(e,t,r,n,i){var o=s5;try{return lO(e,!0),t(r,n,i)}finally{lO(o,!1)}}function lk(e,t,r,n){return"function"!=typeof e?e:function(){var i,o=s5;r&&l_(),lO(t,!0);try{return e.apply(this,arguments)}finally{lO(o,!1),n&&(i=lx,sG.call(sK,i))}}}function lT(e,t){return function(r,n){return e.call(this,lk(r,t),lk(n,t))}}-1===(""+sG).indexOf("[native code]")&&(l_=lx=sN);let lj="unhandledrejection";function lR(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,i={promise:t,reason:e};if(aG.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(lj,!0,!0),aZ(n,i)):aG.CustomEvent&&aZ(n=new CustomEvent(lj,{detail:i}),i),n&&aG.dispatchEvent&&(dispatchEvent(n),!aG.PromiseRejectionEvent&&aG.onunhandledrejection))try{aG.onunhandledrejection(n)}catch(e){}sb&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var lA=le.reject;let lN="3.2.4",lM=String.fromCharCode(65535),l$=-1/0,lI="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",lL="String expected.",lF=[],lB="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),lV=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),lU="__dbnames",lW="readonly",lK="readwrite";function lH(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let lz={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function lG(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=sc(t))[e],t)}class lq{_trans(e,t,r){let n=this._tx||s5.trans,i=this.name;function o(e,r,n){if(!n.schema[i])throw new sj.NotFound("Table "+i+" not part of transaction");return t(n.idbtrans,n)}let a=lu();try{return n&&n.db===this.db?n===s5.trans?n._promise(e,o,r):lw(()=>n._promise(e,o,r),{trans:n,transless:s5.transless||s5}):function e(t,r,n,i){if(t.idbdb&&(t._state.openComplete||s5.letThrough||t._vip)){var o=t._createTransaction(r,n,t._dbSchema);try{o.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===sT.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,i))):lA(o)}return o._promise(r,(e,t)=>lw(()=>(s5.trans=o,i(e,t,o)))).then(e=>o._completion.then(()=>e))}if(t._state.openComplete)return lA(new sj.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return lA(new sj.DatabaseClosed);t.open().catch(sN)}return t._state.dbReadyPromise.then(()=>e(t,r,n,i))}(this.db,e,[this.name],o)}finally{a&&lc()}}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("string"==typeof e)return new this.db.WhereClause(this,e);if(aY(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=aq(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)&&e.keyPath.every(e=>t.indexOf(e)>=0))[0];if(r&&this.db._maxKey!==lM)return this.where(r.name).equals(r.keyPath.map(t=>e[t]));!r&&sb&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,i=this.db._deps.indexedDB;function o(e,t){try{return 0===i.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],i)=>{let a=n[i],s=e[i];return[t||a,t||!a?lH(r,a&&a.multi?e=>{let t=sr(e,i);return aY(t)&&t.some(e=>o(s,e))}:e=>o(s,sr(e,i))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):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,aY(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(aQ(t,n))try{r[n]=t[n]}catch(e){}return r};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){aZ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,i=e;return n&&r&&(i=lG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[i]})).then(e=>e.numFailures?le.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{sn(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||aY(e))return this.where(":id").equals(e).modify(t);{let r=sr(e,this.schema.primKey.keyPath);if(void 0===r)return lA(new sj.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?aq(t).forEach(r=>{sn(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,i=e;return n&&r&&(i=lG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[i],keys:null!=t?[t]:null})).then(e=>e.numFailures?le.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{sn(e,n,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?le.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:lz})).then(e=>e.numFailures?le.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,r){let n=Array.isArray(t)?t:void 0,i=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:o}=this.schema.primKey;if(o&&n)throw new sj.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new sj.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=o&&r?e.map(lG(o)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:i}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return i?t:r;throw new sk(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,i=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:o}=this.schema.primKey;if(o&&n)throw new sj.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new sj.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=o&&r?e.map(lG(o)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:i}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return i?t:r;throw new sk(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new sk(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function lY(e){var t={},r=function(r,n){if(n){for(var i=arguments.length,o=Array(i-1);--i;)o[i-1]=arguments[i];return t[r].subscribe.apply(null,o),e}if("string"==typeof r)return t[r]};r.addEventType=o;for(var n=1,i=arguments.length;n<i;++n)o(arguments[n]);return r;function o(e,n,i){if("object"!=typeof e){n||(n=sV),i||(i=sN);var a={subscribers:[],fire:i,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,i)}};return t[e]=r[e]=a,a}aq(e).forEach(function(t){var r=e[t];if(aY(r))o(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new sj.InvalidArgument("Invalid event config");var n=o(t,sM,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){se(function(){e.apply(null,t)})})})}})}}function lZ(e,t){return a4(t).from({prototype:e}),t}function lJ(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function lX(e,t){e.filter=lH(e.filter,t)}function lQ(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>lH(n(),t()):t,e.justLimit=r&&!n}function l0(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new sj.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function l1(e,t,r){let n=l0(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function l3(e,t,r,n){let i=e.replayFilter?lH(e.filter,e.replayFilter()):e.filter;if(e.or){let o={},a=(e,r,n)=>{if(!i||i(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),aQ(o,s)||(o[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),l4(l1(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return l4(l1(e,n,r),lH(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function l4(e,t,r,n){var i=lf(n?(e,t,i)=>r(n(e),t,i):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=sN},t=>{e.fail(t),r=sN})||i(e.value,e,e=>r=e),r()})})}function l2(e,t){try{let r=l6(e),n=l6(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,i=r<n?r:n;for(let r=0;r<i;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(l5(e),l5(t));case"Array":return function(e,t){let r=e.length,n=t.length,i=r<n?r:n;for(let r=0;r<i;++r){let n=l2(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function l6(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=sp(e);return"ArrayBuffer"===r?"binary":r}function l5(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class l8{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,lA.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,lA.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=lH(t.algorithm,e)}_iterate(e,t){return l3(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&aZ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>l3(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(lJ(t,!0))return r.count({trans:e,query:{index:l0(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return l3(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],i=r.length-1;function o(e,t){return t?o(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=o(e,i),n=o(t,i);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&lJ(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=l0(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return l3(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,lJ(t)?lQ(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):lQ(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),lQ(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return lX(this._ctx,function(r,n,i){return!e(r.value)||(n(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;return lX(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=lH(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"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,r){e(r.key,r)})}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,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&lJ(t,!0)&&t.limit>0)return this._read(e=>{var r=l0(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).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 r={};return lX(this._ctx,function(e){var t=e.primaryKey.toString(),n=aQ(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var i=aq(e),o=i.length;n=function(t){for(var r=!1,n=0;n<o;++n){var a=i[n],s=e[a];sr(t,a)!==s&&(sn(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,aq(r)))c.push(r[t])};return this.clone().primaryKeys().then(i=>{let o=c=>{let d=Math.min(u,i.length-c);return a.getMany({trans:r,keys:i.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:sc(t),primKey:i[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(i[c+e]):s||0===l2(l(t),l(r.value))?(m.push(r.value),s&&y.push(i[c+e])):(g.push(i[c+e]),h.push(r.value)))}let b=lJ(t)&&t.limit===1/0&&("function"!=typeof e||e===l9)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===l9)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>i.length>c+d&&o(c+u))})};return o(0).then(()=>{if(c.length>0)throw new sC("Error modifying one or more objects",c,d,p);return i.length})})})}delete(){var e=this._ctx,t=e.range;return lJ(e)&&(e.isPrimKey&&!lB||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:i})=>{if(i)throw new sC("Could not delete some values",Object.keys(e).map(t=>e[t]),n-i);return n-i}))}):this.modify(l9)}}let l9=(e,t)=>t.value=null;function l7(e,t){return e<t?-1:+(e!==t)}function ue(e,t){return e>t?-1:+(e!==t)}function ut(e,t,r){var n=e instanceof ua?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function ur(e){return new e.Collection(e,()=>uo("")).limit(0)}function un(e,t,r,n){var i,o,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return ut(e,lL);function p(e){i="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),o="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?l7:ue;var t=r.map(function(e){return{lower:o(e),upper:i(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>ui(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var i=e.key;if("string"!=typeof i)return!1;var p=o(i);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,i,o){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>i(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>i(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>i(e[l],u)&&(s=l)}return a<n.length&&"next"===o?e+r.substr(e.length):a<e.length&&"prev"===o?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(i,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function ui(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function uo(e){return{type:1,lower:e,upper:e}}class ua{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?ur(this):new this.Collection(this,()=>ui(e,t,!r,!n))}catch(e){return ut(this,lI)}}equals(e){return null==e?ut(this,lI):new this.Collection(this,()=>uo(e))}above(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(e,void 0,!0))}aboveOrEqual(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(e,void 0,!1))}below(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(void 0,e,!1,!0))}belowOrEqual(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(void 0,e))}startsWith(e){return"string"!=typeof e?ut(this,lL):this.between(e,e+lM,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):un(this,(e,t)=>0===e.indexOf(t[0]),[e],lM)}equalsIgnoreCase(e){return un(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=sy.apply(sm,arguments);return 0===e.length?ur(this):un(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=sy.apply(sm,arguments);return 0===e.length?ur(this):un(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,lM)}anyOf(){let e=sy.apply(sm,arguments),t=this._cmp;try{e.sort(t)}catch(e){return ut(this,lI)}if(0===e.length)return ur(this);let r=new this.Collection(this,()=>ui(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,i,o)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return i(o),!1;return 0===t(a,e[n])||(i(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[l$,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=sy.apply(sm,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return ut(this,lI)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[l$,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,i=this._descending,o=this._min,a=this._max;if(0===e.length)return ur(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return ut(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",sj.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,i=e.length;for(;n<i;++n){let i=e[n];if(0>r(t[0],i[1])&&r(t[1],i[0])>0){i[0]=o(i[0],t[0]),i[1]=a(i[1],t[1]);break}}return n===i&&e.push(t),e},[])).sort(d)}catch(e){return ut(this,lI)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>i(e,u[p][0])>0:e=>i(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>ui(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=i),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var i=e.key;m(i);)if(++p===u.length)return t(r),!1;return!!(!f(i)&&!h(i))||(0===this._cmp(i,u[p][1])||0===this._cmp(i,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=sy.apply(sm,arguments);return e.every(e=>"string"==typeof e)?0===e.length?ur(this):this.inAnyRange(e.map(e=>[e,e+lM])):ut(this,"startsWithAnyOf() only works with strings")}}function us(e){return lf(function(t){return ul(t),e(t.target.error),!1})}function ul(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let uu="storagemutated",uc="x-storagemutated-1",ud=lY(null,uu);class up{_lock(){return a7(!s5.global),++this._reculock,1!==this._reculock||s5.global||(s5.lockOwnerFor=this),this}_unlock(){if(a7(!s5.global),0==--this._reculock)for(s5.global||(s5.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{lC(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&s5.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(a7(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new sj.DatabaseClosed(r);case"MissingAPIError":throw new sj.MissingAPI(r.message,r);default:throw new sj.OpenFailed(r)}if(!this.active)throw new sj.TransactionInactive;return a7(null===this._completion._state),(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=lf(t=>{ul(t),this._reject(e.error)}),e.onabort=lf(t=>{ul(t),this.active&&this._reject(new sj.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=lf(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&ud.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return lA(new sj.ReadOnly("Transaction is readonly"));if(!this.active)return lA(new sj.TransactionInactive);if(this._locked())return new le((n,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,i)},s5])});if(r)return lw(()=>{var e=new le((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new le((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=le.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var i=t._waitingFor;return new le((e,n)=>{r.then(r=>t._waitingQueue.push(lf(e.bind(null,r))),e=>t._waitingQueue.push(lf(n.bind(null,e)))).finally(()=>{t._waitingFor===i&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new sj.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(aQ(t,e))return t[e];let r=this.schema[e];if(!r)throw new sj.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function uf(e,t,r,n,i,o,a){return{name:e,keyPath:t,unique:r,multi:n,auto:i,compound:o,src:(r&&!a?"&":"")+(n?"*":"")+(i?"++":"")+uh(t)}}function uh(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function um(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:st(r,e=>[e.name,e])}}let uy=e=>{try{return e.only([[]]),uy=()=>[[]],[[]]}catch(e){return uy=()=>lM,lM}};function ug(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>sr(t,e):t=>sr(t,e)}function ub(e){return[].slice.call(e)}let uv=0;function uw(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function u_({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},i){var o;return{dbcore:(o=function(e,t,r){let n;function i(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:i,upperOpen:o}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!o):void 0===n?t.lowerBound(r,!!i):t.bound(r,n,!!i,!!o)}let{schema:o,hasGetAll:a}=(n=ub(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=aY(t),i=null==t,o={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:ug(t)},indexes:ub(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:i}=e,a={name:t,compound:aY(i),keyPath:i,unique:r,multiEntry:n,extractKey:ug(i)};return o[uw(i)]=a,a}),getIndexByKeyPath:e=>o[uw(e)]};return o[":id"]=a.primaryKey,null!=t&&(o[uw(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=o.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:o,range:a}){return new Promise((s,l)=>{let u;s=lf(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||o||{length:1};if(n&&o&&n.length!==o.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,ul(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(i(a)))}else{let[e,t]=p?d?[o,n]:[o,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,i)=>{n=lf(n);let o=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=us(i);for(let e=0;e<a;++e)null!=r[e]&&((l=o.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,i)=>{n=lf(n);let o=e.objectStore(t).get(r);o.onsuccess=e=>n(e.target.result),o.onerror=us(i)}),query:e=>new Promise((r,n)=>{r=lf(r);let{trans:o,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=o.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=i(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=us(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),i=[];t.onsuccess=n=>{let o=t.result;return o?(i.push(s?o.value:o.primaryKey),++e===l?r({result:i}):void o.continue()):r({result:i})},t.onerror=us(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:o,unique:a}){return new Promise((s,l)=>{s=lf(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=o?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(i(c),f):p.openCursor(i(c),f);h.onerror=us(l),h.onsuccess=lf(t=>{let r=h.result;if(!r)return void s(null);r.___id=++uv,r.done=!1;let n=r.continue.bind(r),i=r.continuePrimaryKey;i&&(i=i.bind(r));let o=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=lf(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=lf(e),h.onerror=us(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=lf(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=i,r.advance=o,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:o}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=i(o),c=u?l.count(u):l.count();c.onsuccess=lf(t=>e(t.target.result)),c.onerror=us(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:uy(t),schema:o}}(t,r,i),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),o))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function ux({_novip:e},t,r,n){r.forEach(r=>{let i=n[r];t.forEach(t=>{let n=a6(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?a3(t,r,{get(){return this.table(r)},set(e){a1(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,i))})})}function uE({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function uS(e,t){return e._cfg.version-t._cfg.version}function uD(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],o=t[r];if(i){let e={name:r,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")==""+(o.primKey.keyPath||"")&&(i.primKey.auto===o.primKey.auto||lB)){let t,r=i.idxByName,a=o.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],i=a[t];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 e.recreate=!0,n.change.push(e)}else n.add.push([r,o])}return n}function uO(e,t,r,n){let i=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>uP(i,e)),i}function uP(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function uC(e,t,r){let n={};return a8(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),i=t.keyPath,o=uf(uh(i),i||"",!1,!1,!!t.autoIncrement,i&&"string"!=typeof i,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);i=r.keyPath;var s=uf(r.name,i,!!r.unique,!!r.multiEntry,!1,i&&"string"!=typeof i,!1);a.push(s)}n[e]=um(e,o,a)}),n}function uk({_novip:e},t,r){let n=r.db.objectStoreNames;for(let i=0;i<n.length;++i){let o=n[i],a=r.objectStore(o);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,i="string"==typeof n?n:"["+a8(n).join("+")+"]";if(t[o]){let e=t[o].idxByName[i];e&&(e.name=r,delete t[o].idxByName[i],t[o].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&aG.WorkerGlobalScope&&aG instanceof aG.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class uT{_parseStoresSpec(e,t){aq(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return uf(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),aY(n),0===t)}),i=n.shift();if(i.multi)throw new sj.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new sj.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new sj.Schema("Index must have a name and cannot be an empty string")}),t[r]=um(r,i,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?aZ(this._cfg.storesSource,e):e;let r=t._versions,n={},i={};return r.forEach(e=>{aZ(n,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(n,i)}),t._dbSchema=i,uE(t,[t._allTables,t,t.Transaction.prototype]),ux(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],aq(i),i),t._storeNames=aq(i),this}upgrade(e){return this._cfg.contentUpgrade=sU(this._cfg.contentUpgrade||sN,e),this}}function uj(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new uZ(lU,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function uR(e){return e&&"function"==typeof e.databases}function uA(e){return lw(function(){return s5.letThrough=!0,e()})}function uN(e){var t=t=>e.next(t),r=i(t),n=i(t=>e.throw(t));function i(e){return t=>{var i=e(t),o=i.value;return i.done?o:o&&"function"==typeof o.then?o.then(r,n):aY(o)?Promise.all(o).then(r,n):r(o)}}return i(t)()}function uM(e,t,r){var n=arguments.length;if(n<2)throw new sj.InvalidArgument("Too few arguments");for(var i=Array(n-1);--n;)i[n-1]=arguments[n];return r=i.pop(),[e,sa(i),r]}function u$(e,t,r){let n=aY(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let uI={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,i={},o=[];function a(e,t,r){let n=uw(e),s=i[n]=i[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:ug(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||o.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(i[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let i=t.query.index;return i.isVirtual?{...t,query:{index:i,range:(r=t.query.range,n=i.keyTail,{type:1===r.type?2:r.type,lower:u$(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:u$(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:o,getIndexByKeyPath:function(e){let t=i[uw(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:i,keyLength:o}=t.query.index;return i?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(i){null!=i?r.continue(u$(i,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,o).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,i){r.continuePrimaryKey(u$(t,e.MAX_KEY,n),i)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===o?e[0]:e.slice(0,o)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function uL(e,t,r,n){return r=r||{},n=n||"",aq(e).forEach(i=>{if(aQ(t,i)){var o=e[i],a=t[i];if("object"==typeof o&&"object"==typeof a&&o&&a){let e=sp(o);e!==sp(a)?r[n+i]=t[i]:"Object"===e?uL(o,a,r,n+i+"."):o!==a&&(r[n+i]=t[i])}else o!==a&&(r[n+i]=t[i])}else r[n+i]=void 0}),aq(t).forEach(i=>{aQ(e,i)||(r[n+i]=t[i])}),r}let uF={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let i=s5.trans,{deleting:o,creating:a,updating:s}=i.table(t).hook;switch(e.type){case"add":if(a.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===sN&&s.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"delete":if(o.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"deleteRange":if(o.fire===sN)break;return i._promise("readwrite",()=>(function e(t,i,o){return r.query({trans:t,values:!1,query:{index:n,range:i},limit:o}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<o?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...i,lower:r[r.length-1],lowerOpen:!0},o)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,i;let l=s5.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(i=e).type?Promise.resolve([]):r.getMany({trans:i.trans,keys:u,cache:"immutable"})).then(t=>{let i=u.map((r,i)=>{let u=t[i],c={onerror:null,onsuccess:null};if("delete"===e.type)o.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[i],l);null==r&&null!=t&&(r=t,e.keys[i]=r,n.outbound||sn(e.values[i],n.keyPath,r))}else{let t=uL(u,e.values[i]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[i];Object.keys(n).forEach(e=>{aQ(t,e)?t[e]=n[e]:sn(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:o,lastResult:a})=>{for(let o=0;o<u.length;++o){let a=n?n[o]:u[o],s=i[o];null==a?s.onerror&&s.onerror(r[o]):s.onsuccess&&s.onsuccess("put"===e.type&&t[o]?e.values[o]:a)}return{failures:r,results:n,numFailures:o,lastResult:a}}).catch(e=>(i.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function uB(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let i=0,o=0;i<t.keys.length&&o<e.length;++i)0===l2(t.keys[i],e[o])&&(n.push(r?sc(t.values[i]):t.values[i]),++o);return n.length===e.length?n:null}catch(e){return null}}let uV={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=uB(e.keys,e.trans._cache,"clone"===e.cache);return t?le.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?sc(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function uU(e){return!("from"in e)}let uW=function(e,t){if(!this){let t=new uW;return e&&"d"in e&&aZ(t,e),t}aZ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function uK(e,t,r){let n=l2(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(uU(e))return aZ(e,{from:t,to:r,d:1});let i=e.l,o=e.r;if(0>l2(r,e.from))return i?uK(i,t,r):e.l={from:t,to:r,d:1,l:null,r:null},uG(e);if(l2(t,e.to)>0)return o?uK(o,t,r):e.r={from:t,to:r,d:1,l:null,r:null},uG(e);0>l2(t,e.from)&&(e.from=t,e.l=null,e.d=o?o.d+1:1),l2(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;i&&!e.l&&uH(e,i),o&&a&&uH(e,o)}function uH(e,t){uU(t)||function e(t,{from:r,to:n,l:i,r:o}){uK(t,r,n),i&&e(t,i),o&&e(t,o)}(e,t)}function uz(e){let t=uU(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>l2(e,t.n.from);)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,!r||0>=l2(e,t.n.to))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 uG(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),i=n>1?"r":n<-1?"l":"";if(i){let t="r"===i?"l":"r",r={...e},n=e[i];e.from=n.from,e.to=n.to,e[i]=n[i],r[i]=n[t],e[t]=r,r.d=uq(r)}e.d=uq(e)}function uq({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}a0(uW.prototype,{add(e){return uH(this,e),this},addKey(e){return uK(this,e,e),this},addKeys(e){return e.forEach(e=>uK(this,e,e)),this},[sf](){return uz(this)}});let uY={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new uW(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let i=e.table(n),{schema:o}=i,{primaryKey:a}=o,{extractKey:s,outbound:l}=a,u={...i,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new uW)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return i.mutate(e).then(e=>{if(aY(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=uB(p,h);t||"add"===d||c.addKeys(p),(t||f)&&o.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let i=t=>e.multiEntry&&aY(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let o=t&&n(t[r]),a=f&&n(f[r]);0!==l2(o,a)&&(null!=o&&i(o),null!=a&&i(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),o.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,i;return[t,new uW(null!=(n=r.lower)?n:e.MIN_KEY,null!=(i=r.upper)?i:e.MAX_KEY)]},d={get:e=>[a,new uW(e.key)],getMany:e=>[a,(new uW).addKeys(e.keys)],count:c,query:c,openCursor:c};return aq(d).forEach(e=>{u[e]=function(o){let{subscr:a}=s5;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new uW)},c=u(""),p=u(":dels"),[f,h]=d[e](o);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&o.values&&i.query({...o,values:!1});return i[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&o.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=o.values?r.result.map(s):r.result;o.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=o.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return i[e].apply(this,arguments)}}),u}}}};class uZ{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=uZ.dependencies;this._options=t={addons:uZ.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:i}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:sN,dbReadyPromise:null,cancelOpen:sN,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};o.dbReadyPromise=new le(e=>{o.dbReadyResolve=e}),o.openCanceller=new le((e,t)=>{o.cancelOpen=t}),this._state=o,this.name=e,this.on=lY(this,"populate","blocked","versionchange","close",{ready:[sU,sN]}),this.on.ready.subscribe=a9(this.on.ready.subscribe,e=>(t,r)=>{uZ.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||le.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,lZ(l8.prototype,function(e,t){this.db=r;let n=lz,i=null;if(t)try{n=t()}catch(e){i=e}let o=e._ctx,a=o.table,s=a.hook.reading.fire;this._ctx={table:a,index:o.index,isPrimKey:!o.index||a.schema.primKey.keyPath&&o.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:i,or:o.or,valueMapper:s!==sM?s:null}})),this.Table=function(e){return lZ(lq.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:lY(null,{creating:[sL,sN],reading:[s$,sM],updating:[sB,sN],deleting:[sF,sN]})})}(this),this.Transaction=function(e){return lZ(up.prototype,function(t,r,n,i,o){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=lY(this,"complete","error","abort"),this.parent=o||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new le((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(),lA(e)})})}(this),this.Version=function(e){return lZ(uT.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return lZ(ua.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let i=e._deps.indexedDB;if(!i)throw new sj.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)=>0>i.cmp(e,t)?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=uy(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),lF.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(uI),this.use(uF),this.use(uY),this.use(uV),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new sj.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new sj.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(uS),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||s5.letThrough||this._vip)?e():new le((e,t)=>{if(this._state.openComplete)return t(new sj.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new sj.DatabaseClosed);this.open().catch(sN)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:null==r?10:r,name:n}),i.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?lA(r.dbOpenError):e);sb&&(r.openCanceller._stackHolder=s_()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let i=r.openCanceller;function o(){if(r.openCanceller!==i)throw new sj.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1;return le.race([i,("u"<typeof navigator?le.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(()=>new le((t,i)=>{if(o(),!n)throw new sj.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new sj.MissingAPI;u.onerror=us(i),u.onblocked=lf(e._fireOnBlocked),u.onupgradeneeded=lf(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=ul,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=lf(()=>{i(new sj.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=us(i);var o,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,o=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(i),a=n._reject.bind(n),p=s5.transless||s5,lw(()=>{s5.trans=n,s5.transless=p,0===o?(aq(r).forEach(e=>{uO(c,e,r[e].primKey,r[e].indexes)}),u_(e,c),le.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let i=[],o=e._versions,a=e._dbSchema=uC(e,e.idbdb,n),s=!1;return o.filter(e=>e._cfg.version>=t).forEach(o=>{i.push(()=>{let i=a,l=o._cfg.dbschema;uk(e,i,n),uk(e,l,n),a=e._dbSchema=l;let u=uD(i,l);u.add.forEach(e=>{uO(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new sj.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>uP(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),uP(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=o._cfg.contentUpgrade;if(c&&o._cfg.version>t){let t;u_(e,n),r._memoizedTables={},s=!0;let o=si(l);u.del.forEach(e=>{o[e]=i[e]}),uE(e,[e.Transaction.prototype]),ux(e,[e.Transaction.prototype],aq(o),o),r.schema=o;let a=sg(c);a&&l_();let d=le.follow(()=>{if((t=c(r))&&a){var e=lx.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?le.resolve(t):d.then(()=>t)}}),i.push(t=>{var n;s&&lB||(n=o._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),uE(e,[e.Transaction.prototype]),ux(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return i.length?le.resolve(i.shift()(r.idbtrans)).then(e):le.resolve()})().then(()=>{var e;aq(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||uO(n,t,e[t].primKey,e[t].indexes)})})})(e,o,n,c).catch(a)})}},i),u.onsuccess=lf(()=>{s=null;let n=e._novip.idbdb=u.result,i=a8(n.objectStoreNames);if(i.length>0)try{let t,o=n.transaction(1===i.length?i[0]:i,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=uC(0,t,r);e._storeNames=a8(t.objectStoreNames,0),ux(e,[e._allTables],aq(n),n)}(e,n,o):(uk(e,e._dbSchema,o),((t=uD(uC(0,e.idbdb,o),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),u_(e,o)}catch(e){}lF.push(e),n.onversionchange=lf(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=lf(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){uR(e)||r===lU||uj(e,t).put({name:r}).catch(sN)}(e._deps,a),t()},i)}))]).then(()=>(o(),r.onReadyBeingFired=[],le.resolve(uA(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(sU,sN);return r.onReadyBeingFired=[],le.resolve(uA(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return i===r.openCanceller&&e._close(),lA(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=lF.indexOf(this);if(t>=0&&lF.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new le(t=>{e.dbReadyResolve=t}),e.openCanceller=new le((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new sj.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new le((r,n)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=lf(()=>{!function({indexedDB:e,IDBKeyRange:t},r){uR(e)||r===lU||uj(e,t).delete(r).catch(sN)}(this._deps,this.name),r()}),e.onerror=us(n),e.onblocked=this._fireOnBlocked};if(e)throw new sj.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(i):i()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return aq(this._allTables).map(e=>this._allTables[e])}transaction(){let e=uM.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,i,o=s5.trans;o&&o.db===this&&-1===e.indexOf("!")||(o=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(i=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===lW)n=lW;else{if("rw"!=e&&e!=lK)throw new sj.InvalidArgument("Invalid transaction mode: "+e);n=lK}if(o){if(o.mode===lW&&n===lK){if(!a)throw new sj.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");o=null}o&&i.forEach(e=>{if(o&&-1===o.storeNames.indexOf(e)){if(!a)throw new sj.SubTransaction("Table "+e+" not included in parent transaction.");o=null}}),a&&o&&!o.active&&(o=null)}}catch(e){return o?o._promise(null,(t,r)=>{r(e)}):lA(e)}let s=(function e(t,r,n,i,o){return le.resolve().then(()=>{let a,s=s5.transless||s5,l=t._createTransaction(r,n,t._dbSchema,i);if(i)l.idbtrans=i.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===sT.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,o))):lA(i)}let u=sg(o);u&&l_();let c=le.follow(()=>{if(a=o.call(l,l))if(u){var e=lx.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=uN(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?le.resolve(a).then(e=>l.active?e:lA(new sj.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(i&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),lA(e)))})}).bind(null,this,n,i,o,r);return o?o._promise(n,s,"lock"):s5.trans?lC(s5.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!aQ(this._allTables,e))throw new sj.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let uJ="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class uX{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[uJ](){return this}}function uQ(e,t){return aq(t).forEach(r=>{uH(e[r]||(e[r]=new uW),t[r])}),e}try{o={indexedDB:aG.indexedDB||aG.mozIndexedDB||aG.webkitIndexedDB||aG.msIndexedDB,IDBKeyRange:aG.IDBKeyRange||aG.webkitIDBKeyRange}}catch(e){o={indexedDB:null,IDBKeyRange:null}}function u0(e){let t=u1;try{u1=!0,ud.storagemutated.fire(e)}finally{u1=t}}a0(uZ,{...sA,delete:e=>new uZ(e,{addons:[]}).delete(),exists:e=>new uZ(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return uR(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==lU)):uj(e,t).toCollection().primaryKeys()})(uZ.dependencies).then(e)}catch(e){return lA(new sj.MissingAPI)}},defineClass:()=>function(e){aZ(this,e)},ignoreTransaction:e=>s5.trans?lC(s5.transless,e):e(),vip:uA,async:function(e){return function(){try{var t=uN(e.apply(this,arguments));return t&&"function"==typeof t.then?t:le.resolve(t)}catch(e){return lA(e)}}},spawn:function(e,t,r){try{var n=uN(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:le.resolve(n)}catch(e){return lA(e)}},currentTransaction:{get:()=>s5.trans||null},waitFor:function(e,t){let r=le.resolve("function"==typeof e?uZ.ignoreTransaction(e):e).timeout(t||6e4);return s5.trans?s5.trans.waitFor(r):r},Promise:le,debug:{get:()=>sb,set:e=>{sb=e,sv="dexie"===e?()=>!0:lV}},derive:a4,extend:aZ,props:a0,override:a9,Events:lY,on:ud,liveQuery:function(e){let t,r=!1,n=new uX(n=>{let i=sg(e),o=!1,a={},s={},l={get closed(){return o},unsubscribe:()=>{o=!0,ud.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return aq(s).some(e=>a[e]&&function(e,t){let r=uz(t),n=r.next();if(n.done)return!1;let i=n.value,o=uz(e),a=o.next(i.from),s=a.value;for(;!n.done&&!a.done;){if(0>=l2(s.from,i.to)&&l2(s.to,i.from)>=0)return!0;0>l2(i.from,s.from)?i=(n=r.next(s.from)).value:s=(a=o.next(i.from)).value}return!1}(a[e],s[e]))}let p=e=>{uQ(a,e),d()&&f()},f=()=>{let h,m;if(u||o)return;a={};let y={},g=(i&&l_(),h=()=>lw(e,{subscr:y,trans:null}),m=s5.trans?lC(s5.transless,h):h(),i&&m.then(lx,lx),m);c||(ud(uu,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,o||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:uQ,getByKeyPath:sr,setByKeyPath:sn,delByKeyPath:function(e,t){"string"==typeof t?sn(e,t,void 0):"length"in t&&[].map.call(t,function(t){sn(e,t,void 0)})},shallowClone:si,deepClone:sc,getObjectDiff:uL,cmp:l2,asap:se,minKey:l$,addons:[],connections:lF,errnames:sT,dependencies:o,semVer:lN,version:lN.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),uZ.maxKey=uy(uZ.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(ud(uu,e=>{if(!u1){let t;lB?(t=document.createEvent("CustomEvent")).initCustomEvent(uc,!0,!0,e):t=new CustomEvent(uc,{detail:e}),u1=!0,dispatchEvent(t),u1=!1}}),addEventListener(uc,({detail:e})=>{u1||u0(e)}));let u1=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(uc);"function"==typeof e.unref&&e.unref(),ud(uu,t=>{u1||e.postMessage(t)}),e.onmessage=e=>{e.data&&u0(e.data)}}else if("u">typeof self&&"u">typeof navigator){ud(uu,e=>{try{u1||("u">typeof localStorage&&localStorage.setItem(uc,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:uc,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===uc){let t=JSON.parse(e.newValue);t&&u0(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===uc&&u0(e.changedParts)})}function u3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}le.rejectionMapper=function(e,t){if(!e||e instanceof sO||e instanceof TypeError||e instanceof SyntaxError||!e.name||!sR[e.name])return e;var r=new sR[e.name](t||e.message,e);return"stack"in e&&a3(r,"stack",{get:function(){return this.inner.stack}}),r},sv=lV;class u4 extends uZ{constructor(){super("EsmOffline"),u3(this,"syncQueue",void 0),u3(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function u2(){return new u4}let u6=new u4,u5={},u8=Y("offline-synchronization",{});function u9(){return u8}async function u7(){if(u8.getState().synchronization)return;let e=await u6.syncQueue.count(),t={},r=Object.entries(u5),n=r.length,i={},o=new AbortController,a=()=>{let e=u8.getState().synchronization;u8.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{u8.setState({synchronization:{totalCount:e,pendingCount:e,abortController:o}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(i[n]={},await Promise.all(l),t[n]=ce(s,i,o,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{u8.setState({synchronization:void 0})}}async function ce({type:e,dependsOn:t,process:r},n,i,o){let a=[],s=[],l=await ct();await u6.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let o=await r(d,{abort:i,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=o),await u6.syncQueue.delete(c)}catch(e){await u6.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{o()}}}async function ct(){let e=await iW();return e?.uuid||"*"}async function cr(e,t,r,n){let i=n&&n.id;return void 0!==i&&await u6.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===i).delete().catch(uZ.errnames.DatabaseClosed),await u6.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(uZ.errnames.DatabaseClosed,()=>-1)}async function cn(e,t,r){let n=await ct();return await cr(n,e,t,r)}async function ci(e,t){return(await co(e,t)).map(e=>e.content)}async function co(e,t){return await u6.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(uZ.errnames.DatabaseClosed,()=>[])}async function ca(e){let t=await ct();return await ci(t,e)}async function cs(e){let t=await ct();return await co(t,e)}async function cl(e){return await u6.syncQueue.get(e).catch(uZ.errnames.DatabaseClosed,()=>void 0)}function cu(e){return!!u5[e]?.options.onBeginEditSyncItem}async function cc(e){let t=await cl(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=u5[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function cd(e){await u6.syncQueue.delete(e).catch(uZ.errnames.DatabaseClosed)}function cp(e,t,r,n={}){u5[e]={type:e,dependsOn:t,process:r,options:n}}let cf="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ch=new Uint8Array(16),cm=[];for(let e=0;e<256;++e)cm.push((e+256).toString(16).slice(1));let cy=function(e,t,r){if(cf&&!t&&!e)return cf();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(ch)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return cm[e[t+0]]+cm[e[t+1]]+cm[e[t+2]]+cm[e[t+3]]+"-"+cm[e[t+4]]+cm[e[t+5]]+"-"+cm[e[t+6]]+cm[e[t+7]]+"-"+cm[e[t+8]]+cm[e[t+9]]+"-"+cm[e[t+10]]+cm[e[t+11]]+cm[e[t+12]]+cm[e[t+13]]+cm[e[t+14]]+cm[e[t+15]]}(n)},cg="OFFLINE+";function cb(){return cg+cy()}function cv(e){return e.startsWith(cg)}let cw={};function c_(){return Object.values(cw)}function cx(e){cw[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),cw[e.id]=e}async function cE(e){let t=await cj();return await cS(t,e)}async function cS(e,t){let r=new u4;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(uZ.errnames.DatabaseClosed,()=>[])}async function cD(e,t){let r=await cj();return await cO(r,e,t)}async function cO(e,t,r){let n=new u4,i=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(uZ.errnames.DatabaseClosed,()=>void 0);i?i.users.includes(e)||await n.dynamicOfflineData.update(i.id,{users:[...i.users,e]}).catch(uZ.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(uZ.errnames.DatabaseClosed)}async function cP(e,t){let r=await cj();return await cC(r,e,t)}async function cC(e,t,r){let n=new u4,i=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(uZ.errnames.DatabaseClosed,()=>void 0);i&&(i.users.length>1?await n.dynamicOfflineData.update(i.id,{users:i.users.filter(t=>t!==e)}).catch(uZ.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(i.id).catch(uZ.errnames.DatabaseClosed))}async function ck(e,t){let r=await cE(e);await Promise.all(r.map(async e=>cT(e.type,e.identifier,t)))}async function cT(e,t,r){await cD(e,t);let n=new u4,i=await cj(),o=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(uZ.errnames.DatabaseClosed,()=>void 0),a=c_().filter(t=>t.type===e);if(!o)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:i,succeededHandlers:l,erroredHandlers:u,errors:c};o.id&&await n.dynamicOfflineData.update(o.id,{syncState:d}).catch(uZ.errnames.DatabaseClosed)}async function cj(){let e=(await iW()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let cR=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function cA(){return c$(),cR}function cN(e,t){c$(),cx({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function cM(e){c$(),await cT("patient",e)}function c$(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function cI(e,t,r=!0){if(e){let n=null,[i,o]=await Promise.all([iR(`${ik}/Patient/${e}`,t).catch(e=>n=e),r?cL(e):Promise.resolve(null)]);if(i.ok)return i.data;if(o)return o;if(n)throw n}return null}async function cL(e){let t=(await ca("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function cF(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function cB(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var cV=r(6170);function cU(e){return{uuid:e.uuid,display:e.display}}function cW(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return iA(`${iC}/location${n?"?"+n:""}`).pipe((0,cV.map)(e=>e.data.results.map(cU))).pipe((0,cV.take)(1))}function cK(e){return{uuid:e.uuid,display:e.display,name:e.name}}function cH(){return iA(`${iC}/visittype`).pipe((0,cV.map)(e=>e.data.results.map(cK))).pipe((0,cV.take)(1))}var cz=((en={}).NEWVISIT="startVisit",en.EDITVISIT="editVisit",en.LOADING="loadingVisit",en),cG=((ei={}).NOTSTARTED="notStarted",ei.ONGOING="ongoing",ei);let cq="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",cY=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function cZ(){return J("visit",cY)}function cJ(e,t){cZ().setState({patientUuid:e,manuallySetVisitUuid:t})}function cX(e,t){return iR(`${iC}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function cQ(e,t,r){return iR(`${iC}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function c0(e,t,r){return iR(`${iC}/visit?patient=${e}&v=${r??cq}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}cZ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let c1=new es.BehaviorSubject(null);class c3{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+c3.version}static addUnaryOp(e){return c3.max_unop_len=Math.max(e.length,c3.max_unop_len),c3.unary_ops[e]=1,c3}static addBinaryOp(e,t,r){return c3.max_binop_len=Math.max(e.length,c3.max_binop_len),c3.binary_ops[e]=t,r?c3.right_associative.add(e):c3.right_associative.delete(e),c3}static addIdentifierChar(e){return c3.additional_identifier_chars.add(e),c3}static addLiteral(e,t){return c3.literals[e]=t,c3}static removeUnaryOp(e){return delete c3.unary_ops[e],e.length===c3.max_unop_len&&(c3.max_unop_len=c3.getMaxKeyLen(c3.unary_ops)),c3}static removeAllUnaryOps(){return c3.unary_ops={},c3.max_unop_len=0,c3}static removeIdentifierChar(e){return c3.additional_identifier_chars.delete(e),c3}static removeBinaryOp(e){return delete c3.binary_ops[e],e.length===c3.max_binop_len&&(c3.max_binop_len=c3.getMaxKeyLen(c3.binary_ops)),c3.right_associative.delete(e),c3}static removeAllBinaryOps(){return c3.binary_ops={},c3.max_binop_len=0,c3}static removeLiteral(e){return delete c3.literals[e],c3}static removeAllLiterals(){return c3.literals={},c3}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new c3(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return c3.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!c3.binary_ops[String.fromCharCode(e)]||c3.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return c3.isIdentifierStart(e)||c3.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(c3.hooks[e]){let r={context:this,node:t};return c3.hooks.run(e,r),r.node}return t}searchHook(e){if(c3.hooks[e]){let t={context:this};return c3.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===c3.SPACE_CODE||e===c3.TAB_CODE||e===c3.LF_CODE||e===c3.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:c3.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===c3.SEMCOL_CODE||r===c3.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,c3.max_binop_len),t=e.length;for(;t>0;){if(c3.binary_ops.hasOwnProperty(e)&&(!c3.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!c3.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,i,o,a,s,l;if(!(o=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return o;for(i={value:t,prec:c3.binaryPrecedence(t),right_a:c3.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[o,i,a];t=this.gobbleBinaryOp();){if(0===(r=c3.binaryPrecedence(t))){this.index-=t.length;break}i={value:t,prec:r,right_a:c3.right_associative.has(t)},l=t;let s=e=>i.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,o=n.pop(),e={type:c3.BINARY_EXP,operator:t,left:o,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(i,e)}for(s=n.length-1,e=n[s];s>1;)e={type:c3.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,c3.isDecimalDigit(e)||e===c3.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===c3.SQUOTE_CODE||e===c3.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===c3.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,c3.max_unop_len)).length;r>0;){if(c3.unary_ops.hasOwnProperty(t)&&(!c3.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!c3.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:c3.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}c3.isIdentifierStart(e)?(n=this.gobbleIdentifier(),c3.literals.hasOwnProperty(n.name)?n={type:c3.LITERAL,value:c3.literals[n.name],raw:n.name}:n.name===c3.this_str&&(n={type:c3.THIS_EXP})):e===c3.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===c3.PERIOD_CODE||t===c3.OBRACK_CODE||t===c3.OPAREN_CODE||t===c3.QUMARK_CODE;){let r;if(t===c3.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==c3.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===c3.OBRACK_CODE?((e={type:c3.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==c3.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===c3.OPAREN_CODE?e={type:c3.CALL_EXP,arguments:this.gobbleArguments(c3.CPAREN_CODE),callee:e}:(t===c3.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:c3.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===c3.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);c3.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,c3.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===c3.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===c3.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:c3.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:c3.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(c3.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,c3.isIdentifierPart(e))this.index++;else break;return{type:c3.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){r=!0,this.index++,e===c3.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(i===c3.COMMA_CODE){if(this.index++,++n!==t.length){if(e===c3.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===c3.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==c3.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(c3.CPAREN_CODE);if(this.code===c3.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:c3.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:c3.ARRAY_EXP,elements:this.gobbleArguments(c3.CBRACK_CODE)}}}Object.assign(c3,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(c3),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),c3.max_unop_len=c3.getMaxKeyLen(c3.unary_ops),c3.max_binop_len=c3.getMaxKeyLen(c3.binary_ops);let c4=e=>new c3(e).parse(),c2=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(c3).filter(e=>!c2.includes(e)&&void 0===c4[e]).forEach(e=>{c4[e]=c3[e]}),c4.Jsep=c3,c4.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:i},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let c6="ArrowFunctionExpression",c5={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},c8={...c5,Promise};function c9(e,t={}){return di(e,t,dl)}async function c7(e,t={}){return da(e,t,dl)}function de(e,t={}){return di(e,t,du)}function dt(e,t={}){return da(e,t,du)}function dr(e,t={}){return di(e,t,dc)}function dn(e,t={}){return da(e,t,dc)}function di(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=df(t,c5),i=dd("string"==typeof e?c4(e):e,n);if(r(i))return i;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function da(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=df(t,c8);return Promise.resolve(dd("string"==typeof e?c4(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ds(e){return c4(e)}function dl(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function du(e){return"boolean"==typeof e}function dc(e){return"number"==typeof e}function dd(e,t){switch(e.type){case"UnaryExpression":var r,n,i,o,a,s,l,u,c,d,p,f,h=e,m=t;let y=dd(h.argument,m);switch(h.operator){case"+":return+y;case"-":return-y;case"~":return~y;case"!":return!y;default:throw`Expression evaluator does not support operator '${h.operator}''`}case"BinaryExpression":var g=e,b=t;let v=dd(g.left,b),w=dd(g.right,b);switch(g.operator){case"+":return v+w;case"-":return v-w;case"*":return v*w;case"/":return v/w;case"%":return v%w;case"**":return v**w;case"==":return v==w;case"===":return v===w;case"!=":return v!=w;case"!==":return v!==w;case">":return v>w;case">=":return v>=w;case"<":return v<w;case"<=":return v<=w;case"in":return v in w;case"&&":return v&&w;case"||":return v||w;case"??":return v??w;default:throw`Expression evaluator does not support operator '${g.operator}' operator`}case"ConditionalExpression":return r=e,n=t,dd(r.test,n)?dd(r.consequent,n):dd(r.alternate,n);case"CallExpression":var x=e,E=t;let S=x.arguments?.map(dh(E)),D=dd(x.callee,E);if(D){if("function"!=typeof D)throw`${dy(x.callee)} is not a function`}else throw`No function named ${dy(x.callee)} is defined in this context`;return D(...S);case"ArrowFunctionExpression":let O;return i=e,o=t,O=i.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<O.length)throw`Required argument(s) ${O.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(O.reduce((t,r,n)=>{let i=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(i)&&t.push([r,i]),t},[]));return dd(i.body,o.addVariables(t))}).bind(o.thisObj??null);case"MemberExpression":return function(e,t){let r,n=dd(e.object,t);if(void 0===n)switch(e.object.type){case"Identifier":{let r=dp(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":{let r=dp(e.property,t);throw TypeError(`TypeError: cannot read properties of undefined (reading '${r}')`)}default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}let i=n;if("string"==typeof n)i=String.prototype;else if("number"==typeof n)i=Number.prototype;else if("function"==typeof n);else if("object"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;switch(t.thisObj=i,e.property.type){case"Identifier":case"MemberExpression":r=dd(e.property,t);break;default:{let i=dd(e.property,t);if(void 0===i)throw{type:"Illegal property access",message:"No property was supplied to the property access"};dm(i),r=n[i]}}return"function"==typeof r?r.bind(n):r}(e,t);case"ArrayExpression":return a=e,s=t,a.elements?.map(dh(s));case"SequenceExpression":let P;return l=e,u=t,(P=l.expressions.map(dh(u)))[P.length-1];case"NewExpression":var C=e,k=t;if(C.callee&&"Identifier"===C.callee.type){let e=C.arguments?.map(dh(k));switch(C.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${C.callee.name}`}}if(C.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return dm((c=e).value),c.value;case"Identifier":var T=e,j=t;dm(T.name);let R=j.thisObj;if(R&&("object"==typeof R||"function"==typeof R)&&T.name in R){let e=R[T.name];return dm(e),e}if(j.variables&&T.name in j.variables){let e=j.variables[T.name];return dm(e),e}return T.name in j.globals?j.globals[T.name]:void 0;case"TemplateLiteral":let A,N;return d=e,p=t,A=d.expressions?.map(dh(p))??[],(N=d.quasis?.map(dh(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+A.join("")+N.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function dp(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return dp(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function df(e,t){let r={thisObj:void 0,variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}function dh(e){return function(t){return null===t?null:dd(t,e)}}function dm(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}function dy(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function dg(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...c8},isLocalExpression:!1,variables:new Set};return db("string"==typeof e?c4(e):e,t),[...t.variables]}function db(e,t){switch(e.type){case"UnaryExpression":return n=e,i=t,db(n.argument,i);case"BinaryExpression":return o=e,a=t,[db(o.left,a),db(o.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[db(s.consequent,l),db(s.test,l),db(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=db(u.callee,c),u.arguments?.map(dv(c)),r;case"ArrowFunctionExpression":var n,i,o,a,s,l,u,c,d,p,f,h,m,y,g,b,v,w,x=e,E=t;let S={...E};S.isLocalExpression=!0;let D=x.params?.map(dv(S))??[],O=db(x.body,S)??[];if(O&&Array.isArray(O))for(let e of O)D.includes(e)||E.variables.add(e);return;case"MemberExpression":let P;return d=e,p=t,db(d.object,p),void((P={...p}).isLocalExpression=!0,db(d.property,P));case"ArrayExpression":return f=e,h=t,void f.elements?.map(dv(h));case"SequenceExpression":return m=e,y=t,void m.expressions?.map(dv(y));case"NewExpression":return g=e,b=t,void g.arguments?.map(dv(b));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return v=e,w=t,void(v.expressions?.map(dv(w)),v.quasis?.map(dv(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function dv(e){return function(t){return null===t?null:db(t,e)}}c4.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:c6,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=c6,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),c4.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),c4.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",i=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};i(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),i());let o=this.char;("e"===o||"E"===o)&&(n+=this.expr.charAt(this.index++),("+"===(o=this.char)||"-"===o)&&(n+=this.expr.charAt(this.index++)),i(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var i,o,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;i=this.code,o=u,95===i||o.some(([e,t])=>i>=e&&i<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),c4.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,i=this.expr.slice(r,this.index),o="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)o+=this.char;else break}try{n=new RegExp(i,o)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),c4.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:i},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),c4.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",i="",o=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:i,cooked:n},tail:o});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,o=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),i="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(i+=a,a=this.expr.charAt(++this.index),i+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,i+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),c4.addBinaryOp("in",7),c4.addBinaryOp("??",1);let dw=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function d_(e,t,r){dw.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function dx(){let e=dw.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function dE(e){return dw.getState().flags[e].enabled}function dS(e,t){dw.subscribe(r=>{t(r.flags[e].enabled)})}function dD(e,t){dw.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function dO(e){return!window.offlineEnabled||(e??navigator.onLine)}dw.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var dP=e3(function(e,t,r){eQ(e,t,r)});function dC(e=!0,t=!1){return dk(dO(),e,t)}function dk(e,t=!0,r=!1){return!!(e?t:r)}let dT=Y("extensionsInternal",{slots:{},extensions:{}}),dj=Y("extensionRenderings",{renderings:new Map}),dR=()=>J("extensionsInternal",{slots:{},extensions:{}}),dA=()=>J("extensionRenderings",{renderings:new Map});function dN(e){let t=dT.getState(),r=e(t);r!==t&&dT.setState(r)}let dM=null,d$=null;function dI(){let e=dj.getState();return dM&&e===d$||(dM=new Map(e.renderings),d$=e,function(e){for(let t of(dG.clear(),e.values()))dY(t,1);dq=!0}(dM)),dM}function dL(e){d$={renderings:e},dj.setState(d$,!0)}function dF(e){let t=dI();t.has(e.renderingId)||(t.set(e.renderingId,e),dY(e,1),dL(t))}function dB(e){let t=dI(),r=t.get(e);r&&(t.delete(e),dY(r,-1),dL(t))}let dV=()=>J("extensions",{slots:{}}),dU=0,dW=new Set;function dK(e){dU++;try{return e()}finally{if(0==--dU&&dW.size>0){let e=Array.from(dW);for(let t of(dW.clear(),e))dH(t)}}}function dH(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function dz(e){dU>0?dW.add(e):dH(e)}let dG=new Map,dq=!1;function dY(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=dG.get(r);if(!n){if(t<0)return;dG.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),dq=!0;return}n.count+=t,n.count<1&&(dG.delete(r),dq=!0)}function dZ(){var e,t;if(dI(),!dq)return;dq=!1;let r=Array.from(dG.values(),({record:e})=>e);r.sort(dJ),e=tq.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===dJ(e,t[r]))||tq.setState({mountedExtensions:r})}function dJ(e,t){return dX(e.slotName,t.slotName)||dX(e.extensionId,t.extensionId)||dX(e.slotModuleName,t.slotModuleName)||dX(e.extensionModuleName,t.extensionModuleName)}function dX(e,t){return e===t?0:e<t?-1:1}dZ(),dj.subscribe(()=>dz(dZ));let dQ=dR(),d0=dV(),d1=tZ(),d3=tQ(),d4=new Set,d2=!1;function d6(e){if(null===e)d4=null;else if(null!==d4)for(let t of e)d4.add(t);dz(d5)}function d5(){if(!d2){d2=!0;try{for(let e=1;;e++){let t=d4;if(null!==t&&0===t.size)return;d4=new Set;try{!function(e,t,r,n,i,o=null){let a=d0.getState().slots,s={},l=!1,u=dO(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&o&&!o.has(n)){s[n]=p;continue}let{config:f}=tX(t,d.name),h=function(e,t,r,n,i,o,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],i=e.order||[],{extensions:o}=dQ.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>ps(e,i,o[pe(e)]?.order,t)-ps(r,i,o[pe(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=t1(n,e,u),c=t3(r,e,u),d=c?dP({},s,c):s,p=pe(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!iU(e,a.user))||f.featureFlag&&!i.includes(f.featureFlag)||window.offlineEnabled&&!dk(o,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,i.session);p&&p.moduleName===d.moduleName&&e6(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&d0.setState({slots:s})}(dQ.getState(),d1.getState(),d3.getState(),dw.getState(),iM.getState(),t)}catch(e){throw d4=null===t||null===d4?null:new Set([...t,...d4]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{d2=!1}}}function d8(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function d9(){d6(null)}function d7(e,t){return{moduleName:t,name:e,attachedIds:[]}}function pe(e){let[t]=e.split("#");return t}function pt(e,t){let r=pe(t);return e.extensions[r]}function pr(e){return pt(dQ.getState(),e)}dQ.subscribe((e,t)=>{d6(e.extensions!==t.extensions?null:d8(e.slots,t.slots))}),d1.subscribe((e,t)=>{d6(d8(e.slots,t.slots))}),d3.subscribe((e,t)=>{d6(d8(e.configs,t.configs))}),dw.subscribe(()=>d6(null)),iM.subscribe(()=>d6(null)),d9(),b(d9);let pn=e=>dN(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function pi(e,t){dN(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...d7(e),attachedIds:[t]}}}})}function po(e,t){dN(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function pa(e){dN(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function ps(e,t,r,n){let i=t.indexOf(e);if(-1!==i)return i;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function pl(e,t){return function(e,t,r=null,n){let i;return e.filter(e=>{let o=e.displayConditionExpression;if("string"!=typeof o||0===o.trim().length)return!0;i??(i=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!de(o,i)}catch(t){return console.error(`Error while evaluating expression '${o}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(pu(e),t,iM.getState().session,e)}function pu(e){return d0.getState().slots[e]?.candidateExtensions??[]}let pc=(e,t)=>dQ.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let i=d7(t,e);return{...r,slots:{...r.slots,[t]:{...i}}}}),pd=()=>{d4=null,dN(()=>({slots:{},extensions:{}})),dA().setState({renderings:new Map}),d0.setState({slots:{}})},pp=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function pf({name:e,basePath:t,mode:r,componentContext:n,state:i}){pp.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:i})}function ph(e){pp.getState().slotName===e&&pp.setState(pp.getInitialState(),!0)}let pm=Y("modalRegistry",{modals:{}});function py(e){pm.setState(t=>(t.modals[e.name]=e,t))}function pg(e){let t=pm.getState().modals[e];if(!t){let r=pr(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),py(t))}return t}let pb=Y("workspaceRegistrations",{workspaces:{}}),pv=Y("workspaceGroups",{workspaceGroups:{}});function pw(e){pb.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function p_(e){pv.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let px=new Set;function pE(e){let t=pb.getState().workspaces;if(t[e])return t[e];{let t=pr(e);if(t){var r;let n;return px.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),px.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?oj(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function pS(e){let t=pv.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let pD=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function pO(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=pD.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function pP(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=pD.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function pC(e){let{openedWindows:t}=pD.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function pk(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}pD.setState({registeredGroupsByName:n})}function pT(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}pD.setState({registeredWindowsByName:n})}function pj(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}pD.setState({registeredWorkspacesByName:n})}let pR=0,pA=null,pN={bootstrap:15e3,mount:15e3,unmount:15e3};function pM(e){if(e.timeouts)return e;let t=e.name??"parcel",r=Object.fromEntries(Object.keys(pN).filter(t=>e[t]).map(r=>{var n,i;let o,a;return[r,(n=e[r],i=pN[r],o=Array.isArray(n)?n:[n],a=e=>o.reduce((n,i,o)=>n.then(()=>{let n=i(e);return"function"==typeof n?.then&&"function"==typeof n?.catch?n:Promise.reject(Error(`Lifecycle function ${r} at array index ${o} for parcel ${t} did not return a promise`))}),Promise.resolve(void 0)),e=>{let n,o=new Promise((e,o)=>{n=setTimeout(()=>o(Error(`Lifecycle function ${r} for parcel ${t} did not settle within ${i}ms`)),i)});return Promise.race([a(e),o]).finally(()=>clearTimeout(n))})]}));return{...e,...r}}async function p$(e,t){return(await (pA??(pA=new Promise((e,t)=>{nC({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),nC))),pA))("function"==typeof e?()=>e().then(pM):pM(e),t)}function pI(){return pL}function pL(e,t){let r,n=p$(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function pF(e,t,r,n,i=e=>e,o={}){let a=pe(n),s=pr(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(dC(d,p)){let s,d=pR++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{dB(p)}catch(t){console.error(e,t)}};try{dF({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await p$(i({...s,name:`${t}/${a}-${d}`}),{...o,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var pB=r(5275),pV=r.n(pB);let pU=(0,pB.createContext)({moduleName:"",featureName:""});function pW({to:e,templateParams:t,onBeforeNavigate:r,children:n,...i}){return(0,pB.useEffect)(()=>{i.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${i.href}'`),i.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),pV().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),ib({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:iy(e,t),...i},n)}let pK=({state:e,children:t,...r})=>{let{extension:n}=(0,pB.useContext)(pU),i=(0,pB.useRef)(null),o=(0,pB.useRef)(Promise.resolve()),a=(0,pB.useRef)(!1),s=(0,pB.useRef)(!1),l=(0,pB.useRef)(e),u=(0,pB.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":o.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,pB.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(o.current=Promise.all([e.mountPromise,o.current]).then(()=>{if(i.current?.getStatus()==="MOUNTED"&&i.current.update)return i.current.update({...t})}).catch(e=>{let t=i.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,pB.useCallback)(t=>{t&&!i.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,pF(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,i.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,pB.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(i.current)}),[]),(0,pB.useEffect)(()=>{l.current=e,i.current&&c(i.current,e)},[e]),n?pV().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function pH(e){let t=(0,pB.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function pz(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,i]of Object.entries(t)){let t=function(...t){e.setState(e=>i(e,...t))};r[n]=t}return r}let pG=e=>e;function pq(e,t=pG,r){let n=(0,pB.useCallback)(t=>e.subscribe(t),[e]),i=(0,pB.useCallback)(()=>t(e.getState()),[e,t]),o=(0,pB.useSyncExternalStore)(n,i,i),a=(0,pB.useMemo)(()=>r?pz(e,r):null,[e,r]);return(0,pB.useMemo)(()=>a?{...o,...a}:o,[o,a])}function pY(e,t){return pq(e,pG,t)}function pZ(e){return function(t){let r=(0,pB.useCallback)(t=>e.subscribe(t),[]),n=(0,pB.useCallback)(()=>e.getState(),[]),i=(0,pB.useSyncExternalStore)(r,n,n),o=(0,pB.useMemo)(()=>t?pz(e,t):null,[t]);return(0,pB.useMemo)(()=>o?{...i,...o}:i,[i,o])}}let pJ=[];Object.freeze(pJ);let pX={candidateExtensions:pJ};Object.freeze(pX);let pQ=e=>{let t=(0,pB.useCallback)(t=>t.slots?.[e]??pX,[e]);return pq(dV(),t)},p0=e=>e.session;function p1(e,t){let{candidateExtensions:r}=pQ(e),n=pq(iM,p0),i=pH(t);return(0,pB.useMemo)(()=>pl(e,i),[e,i,n,r])}function p3(e,t){let{moduleName:r}=(0,pB.useContext)(pU);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,pB.useEffect)(()=>{pc(r,e)},[r,e]),{extensions:p1(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function p4(e){return e}function p2({name:e,extensionSlotName:t,select:r=p4,children:n,state:i,style:o,...a}){if(n&&i)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,pB.useRef)(null),{extensions:u,extensionSlotModuleName:c}=p3(s,i),d=(0,pB.useMemo)(()=>r(u),[r,u]),p=(0,pB.useMemo)(()=>{if("function"==typeof n&&!pV().isValidElement(n))return d.map(e=>n(e,i))},[n,d]);return pV().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...o,position:"relative"},...a},s&&d?.map((e,t)=>pV().createElement(pU.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??pV().createElement(pK,{state:i}))))}var p6=r(5338);function p5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function p8(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p5(Object(r),!0).forEach(function(t){var n,i,o;n=e,i=t,o=r[t],i in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p5(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function p9(e){return(p9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p7(e){return(p7="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fe(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(p7(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(p7(e)));return e}}var ft=null;try{ft=require("react").createContext()}catch(e){}var fr={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function fn(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function fi(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var i,o=fl(e,t,function(){r(this)}),a=fe(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,i=e.domElement,o=t[r];if("function"!=typeof o)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=o(i);return a.render(n),a;case"hydrateRoot":return o(i,n);default:return o(n,i),null}}({elementToRender:o,domElement:a,reactDom:fs(e),renderType:"function"==typeof(i=e).renderType?i.renderType():i.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function fo(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():fs(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function fa(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=fl(e,t,null),i=e.renderResults[t.name];if(i&&i.render)i.render(n);else{var o=fe(e,t)();fs(e).render(n,o)}})}function fs(e){return e.ReactDOMClient||e.ReactDOM}function fl(e,t,r){var n=e.React.createElement(e.rootComponent,t),i=ft?e.React.createElement(ft.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),i=e.React.createElement(e.errorBoundaryClass,t,i)),i=e.React.createElement(e.SingleSpaRoot,p8(p8({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),i)}var fu=r(8395),fc=r(9324),fd=r(8716);let fp={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ff=new Map;(0,fd.initCache)(ff);let fh={errorRetryCount:3,fetcher:iR,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof iN){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ff};function fm(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},fp,e),r={...fh,...t.swrConfig};return function(e){var n,i,o,a,s;return o=i=class extends(n=pV().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return pV().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=pV().createElement(pB.Suspense,{fallback:null},pV().createElement(fc.BE,{value:r},pV().createElement(pU.Provider,{value:this.state.config},t.disableTranslations?pV().createElement(e,this.props):pV().createElement(fu.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},pV().createElement(e,this.props)))));return t.strictMode&&pV().StrictMode?pV().createElement(pV().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in o?Object.defineProperty(o,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[a]=s,i}}function fy(e,t){return function(e){if("object"!==p9(e))throw Error("single-spa-react requires a configuration object");var t,r=p8(p8({},fr),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!ft&&r.React.createContext&&(ft=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:fn.bind(null,r),mount:fi.bind(null,r),unmount:fo.bind(null,r)};return r.parcelCanUpdate&&(n.update=fa.bind(null,r)),n}({React:pV(),ReactDOMClient:p6,rootComponent:fm(t)(e)})}function fg(e,t){return()=>e().then(({default:e})=>fy(e,t))}function fb(e,t){return()=>Promise.resolve(fy(e,t))}let fv=fg,fw=W()(()=>({}));Z("openmrs-app-context",fw);let f_={};function fx(e,t=e=>e){let r=fw.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function fE(e,t){fw.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function fS(e){return null===e?null:Object.freeze(Object.assign({},e))}let fD=new Map;function fO(e,t){let r=(0,pB.useRef)(t??{}),n=(0,pB.useRef)(t=>fE(e,t)),i=(0,pB.useRef)(Symbol());return(0,pB.useEffect)(()=>{let r=t??{},n=i.current;return null===fx(e)?!function(e,t=f_){fw.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===f_?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),fE(e,()=>r)),fD.set(e,n),()=>{fD.get(e)===n&&(fw.setState(t=>(e in t&&delete t[e],t)),fD.delete(e))}},[e]),(0,pB.useEffect)(()=>{let n=t??{};F(r.current,n)||(fE(e,()=>n),r.current=n)},[t]),n.current}function fP({namespace:e,value:t}){return fO(e,t),null}let fC=({children:e,value:t,fallback:r})=>t?pV().createElement(pV().Fragment,null,e):r?pV().createElement(pV().Fragment,null,r):null;function fk(){let e=(0,pB.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,pB.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function fT(e,t=e=>e??{}){let[r,n]=(0,pB.useState)(()=>{if(fj(e))return;let r=fx(e);if(null!==r)return t?t(r):r});return(0,pB.useEffect)(()=>{if(fj(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,pB.useEffect)(()=>{var r;let i;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(fS(i=fx(e))),fw.subscribe(t=>{let n=e in t?t[e]:null;n!==i&&(i=n,r(fS(n)))})},[e,t]),r}function fj(e){return"string"!=typeof e||0===e.trim().length}function fR(e){let t=p1(e);return(0,pB.useMemo)(()=>t.map(e=>e.id),[t])}function fA(e){return pQ(e).candidateExtensions}function fN(e,t){let{data:r,error:n,mutate:i,isLoading:o,isValidating:a}=(0,fc.Ay)(`${ay}?patient=${e}&includeEncounterless=${t}`,iR);return(0,pB.useMemo)(()=>({isLoading:o,data:r?.data.results??[],error:n,mutate:i,isValidating:a}),[r,n,o,a,i])}function fM(e){(0,pB.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let f$={},fI=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
15
+ ${this.stack}`}}let iM=Y("session",{loaded:!1,session:null}),i$=0;function iI(e={includeAuthStatus:!0}){return(i$<Date.now()-6e4||!iM.getState().loaded)&&iB(),new es.Observable(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(iM.getState()),iM.subscribe(r)})}function iL(){return(i$<Date.now()-6e4||!iM.getState().loaded)&&iB(),iM}function iF(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function iB(e,t){i$=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),iG(iR(iT,{headers:r}))}function iV(){iM.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function iU(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!ee(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!ee(n.privileges.find(t=>e===t.display))):(ee(r)||console.error(`Could not understand privileges "${r}"`),!0))||!ee(t.roles.find(e=>"System Developer"===e.display))}function iW(){let e,t;return new Promise(r=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,r(n.session.user),t&&t())};n(iM.getState()),e||(t=iM.subscribe(n))})}function iK(){return new Promise((e,t)=>{iI().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function iH(e,t){return iG(iR(iT,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function iz(e,t,r){return r||(r=new AbortController),await iR(`${iC}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),iB()}function iG(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},iM.setState(n),t(n)):(n={loaded:!1,session:null},iM.setState(n),r(n))}).catch(e=>{$(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};iM.setState(t),r(t)})})}function iq(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}iM.subscribe(e=>{e.loaded&&e.session&&iF(e.session)});let iY={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function iZ(){rc("@openmrs/esm-api",iO),iB()}let iJ={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"},iX=e=>"string"==typeof e,iQ=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},i0=e=>null==e?"":""+e,i1=/###/g,i3=e=>e&&e.indexOf("###")>-1?e.replace(i1,"."):e,i4=e=>!e||iX(e),i2=(e,t,r)=>{let n=iX(t)?t.split("."):t,i=0;for(;i<n.length-1;){if(i4(e))return{};let t=i3(n[i]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return i4(e)?{}:{obj:e,k:i3(n[i])}},i6=(e,t,r)=>{let{obj:n,k:i}=i2(e,t,Object);if(void 0!==n||1===t.length){n[i]=r;return}let o=t[t.length-1],a=t.slice(0,t.length-1),s=i2(e,a,Object);for(;void 0===s.obj&&a.length;)o=`${a[a.length-1]}.${o}`,s=i2(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${o}`]&&(s.obj=void 0);s.obj[`${s.k}.${o}`]=r},i5=(e,t)=>{let{obj:r,k:n}=i2(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},i8=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?iX(e[n])||e[n]instanceof String||iX(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):i8(e[n],t[n],r):e[n]=t[n]);return e};var i9={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};let i7=e=>iX(e)?e.replace(/[&<>"'\/]/g,e=>i9[e]):e,oe=[" ",",","?","!",";"],ot=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(void 0!==t)return t;let r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),or=(e,t,r=".")=>{if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}let n=t.split(r),i=e;for(let e=0;e<n.length;){let t;if(!i||"object"!=typeof i)return;let o="";for(let a=e;a<n.length;++a)if(a!==e&&(o+=r),o+=n[a],void 0!==(t=i[o])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}i=t}return i},on=e=>e?.replace("_","-"),oi={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class oo{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||oi,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,"log","",!0)}warn(...e){return this.forward(e,"warn","",!0)}error(...e){return this.forward(e,"error","")}deprecate(...e){return this.forward(e,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,n){return n&&!this.debug?null:(iX(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new oo(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new oo(this.logger,e)}}var oa=new oo;class os{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,r])=>{for(let n=0;n<r;n++)e(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,n])=>{for(let i=0;i<n;i++)r.apply(r,[e,...t])})}}class ol extends os{constructor(e,t={ns:["translation"],defaultNS:"translation"}){super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r,n={}){let i,o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?i=e.split("."):(i=[e,t],r&&(Array.isArray(r)?i.push(...r):iX(r)&&o?i.push(...r.split(o)):i.push(r)));let s=i5(this.data,i);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=i[0],t=i[1],r=i.slice(2).join(".")),!s&&a&&iX(r))?or(this.data?.[e]?.[t],r,o):s}addResource(e,t,r,n,i={silent:!1}){let o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(o?r.split(o):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),i6(this.data,a,n),i.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(iX(r[n])||Array.isArray(r[n]))&&this.addResource(e,t,n,r[n],{silent:!0});n.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,n,i,o={silent:!1,skipCopy:!1}){let a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),n=r,r=t,t=a[1]),this.addNamespaces(t);let s=i5(this.data,a)||{};o.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?i8(s,r,i):s={...s,...r},i6(this.data,a,s),o.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var ou={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,n,i){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,i)??t}),t}};let oc=Symbol("i18next/PATH_KEY");function od(e,t){let r,n,i,{[oc]:o}=e((n=[],(i=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===oc)?n:(n.push(t),(r=Proxy.revocable(e,i)).proxy),Proxy.revocable(Object.create(null),i).proxy));return o.join(t?.keySeparator??".")}let op={},of=e=>!iX(e)&&"boolean"!=typeof e&&"number"!=typeof e;class oh extends os{constructor(e,t={}){super(),((e,t,r)=>{e.forEach(e=>{t[e]&&(r[e]=t[e])})})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=oa.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let r={...t};if(null==e)return!1;let n=this.resolve(e,r);if(n?.res===void 0)return!1;let i=of(n.res);return!1!==r.returnObjects||!i}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");let n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=t.ns||this.options.defaultNS||[],o=r&&e.indexOf(r)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!((e,t,r)=>{t=t||"",r=r||"";let n=oe.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let i=ot.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),o=!i.test(e);if(!o){let t=e.indexOf(r);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o})(e,r,n);if(o&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:iX(i)?[i]:i};let o=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(n)}return{key:e,namespaces:iX(i)?[i]:i}}translate(e,t,r){let n="object"==typeof t?{...t}:t;if("object"!=typeof n&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof n&&(n={...n}),n||(n={}),null==e)return"";"function"==typeof e&&(e=od(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let i=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(e[e.length-1],n),l=s[s.length-1],u=void 0!==n.nsSeparator?n.nsSeparator:this.options.nsSeparator;void 0===u&&(u=":");let c=n.lng||this.language,d=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c?.toLowerCase()==="cimode")return d?i?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:i?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a;let p=this.resolve(e,n),f=p?.res,h=p?.usedKey||a,m=p?.exactUsedKey||a,y=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,g=!this.i18nFormat||this.i18nFormat.handleAsObject,b=void 0!==n.count&&!iX(n.count),v=oh.hasDefaultValue(n),w=b?this.pluralResolver.getSuffix(c,n.count,n):"",x=n.ordinal&&b?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",E=b&&!n.ordinal&&0===n.count,S=E&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${w}`]||n[`defaultValue${x}`]||n.defaultValue,D=f;g&&!f&&v&&(D=S);let O=of(D),P=Object.prototype.toString.apply(D);if(g&&D&&O&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(P)&&!(iX(y)&&Array.isArray(D))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,D,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(o){let e=Array.isArray(D),t=e?[]:{},r=e?m:h;for(let e in D)if(Object.prototype.hasOwnProperty.call(D,e)){let i=`${r}${o}${e}`;v&&!f?t[e]=this.translate(i,{...n,defaultValue:of(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(i,{...n,joinArrays:!1,ns:s}),t[e]===i&&(t[e]=D[e])}f=t}}else if(g&&iX(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,i=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(i=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&i?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(i||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),o){let e=this.resolve(a,{...n,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&t&&t[0])for(let r=0;r<t.length;r++)e.push(t[r]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(n.lng||this.language):e.push(n.lng||this.language);let r=(e,t,r)=>{let i=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,i,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,i,d,n),this.emit("missingKey",e,l,t,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,n);E&&n[`defaultValue${this.options.pluralSeparator}zero`]&&0>t.indexOf(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{r([e],a+t,n[`defaultValue${t}`]||S)})}):r(e,a,S))}f=this.extendTranslation(f,e,n,p,r),i&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(i||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return i?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!r.skipInterpolation){let o;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=iX(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=r.replace&&!iX(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,r.lng||this.language||n.usedLng,r),a){let t=e.match(this.interpolator.nestingRegexp);o<(t&&t.length)&&(r.nest=!1)}!r.lng&&n&&n.res&&(r.lng=this.language||n.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,(...e)=>i?.[0]!==e[0]||r.context?this.translate(...e,t):(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null),r)),r.interpolation&&this.interpolator.reset()}let o=r.postProcess||this.options.postProcess,a=iX(o)?[o]:o;return null!=e&&a?.length&&!1!==r.applyPostProcessor&&(e=ou.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e,t={}){let r,n,i,o,a;return iX(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(r))return;let s=this.extractFromKey(e,t),l=s.key;n=l;let u=s.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));let c=void 0!==t.count&&!iX(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(iX(t.context)||"number"==typeof t.context)&&""!==t.context,f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);u.forEach(e=>{this.isValidLookup(r)||(a=e,!op[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(op[`${f[0]}-${e}`]=!0,this.logger.warn(`key "${n}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(n=>{let a;if(this.isValidLookup(r))return;o=n;let s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,n,e,t);else{let e;c&&(e=this.pluralResolver.getSuffix(n,t.count,t));let r=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(i)&&s.push(l+e.replace(i,this.options.pluralSeparator)),s.push(l+e),d&&s.push(l+r)),p){let n=`${l}${this.options.contextSeparator||"_"}${t.context}`;s.push(n),c&&(t.ordinal&&0===e.indexOf(i)&&s.push(n+e.replace(i,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(i=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:i,usedLng:o,usedNS:a}}isValidLookup(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}getResource(e,t,r,n={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,n):this.resourceStore.getResource(e,t,r,n)}getUsedParamsDetails(e={}){let t=e.replace&&!iX(e.replace),r=t?e.replace:e;if(t&&void 0!==e.count&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!t)for(let e of(r={...r},["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"]))delete r[e];return r}static hasDefaultValue(e){let t="defaultValue";for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,t.length)&&void 0!==e[r])return!0;return!1}}class om{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=oa.create("languageUtils")}getScriptPartFromCode(e){if(!(e=on(e))||0>e.indexOf("-"))return null;let t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}getLanguagePartFromCode(e){if(!(e=on(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(iX(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return(t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t)?t:this.options.lowerCaseLng?e.toLowerCase():e}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){let t;return e?(e.forEach(e=>{if(t)return;let r=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;let n=this.getLanguagePartFromCode(e);if(this.isSupportedCode(n))return t=n;t=this.options.supportedLngs.find(e=>{if(e===n||!(0>e.indexOf("-")&&0>n.indexOf("-"))&&(e.indexOf("-")>0&&0>n.indexOf("-")&&e.substring(0,e.indexOf("-"))===n||0===e.indexOf(n)&&n.length>1))return e})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),iX(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){let r=this.getFallbackCodes((!1===t?[]:t)||this.options.fallbackLng||[],e),n=[],i=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return iX(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):iX(e)&&i(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&i(this.formatLanguageCode(e))}),n}}let oy={zero:0,one:1,two:2,few:3,many:4,other:5},og={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class ob{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=oa.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=on("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",o=JSON.stringify({cleanedCode:n,type:i});if(o in this.pluralRulesCache)return this.pluralRulesCache[o];try{r=new Intl.PluralRules(n,{type:i})}catch(i){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),og;if(!e.match(/-|_/))return og;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[o]=r,r}needsPlural(e,t={}){let r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,r={}){return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let r=this.getRule(e,t);return(r||(r=this.getRule("dev",t)),r)?r.resolvedOptions().pluralCategories.sort((e,t)=>oy[e]-oy[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t,r={}){let n=this.getRule(e,r);return n?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}let ov=(e,t,r,n=".",i=!0)=>{let o,a=void 0!==(o=i5(e,r))?o:i5(t,r);return!a&&i&&iX(r)&&void 0===(a=or(e,r,n))&&(a=or(t,r,n)),a};class ow{constructor(e={}){this.logger=oa.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});let{escape:t,escapeValue:r,useRawValueToEscape:n,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:s,formatSeparator:l,unescapeSuffix:u,unescapePrefix:c,nestingPrefix:d,nestingPrefixEscaped:p,nestingSuffix:f,nestingSuffixEscaped:h,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:g}=e.interpolation;this.escape=void 0!==t?t:i7,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=i?i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):o||"{{",this.suffix=a?a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):s||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":c||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=d?d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):p||"$t(".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingSuffix=f?f.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):h||")".replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==g&&g,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,r,n){let i,o,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let i=ov(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,r,{...n,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),o=i.shift().trim(),a=i.join(this.formatSeparator).trim();return this.format(ov(t,s,o,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:o})};this.resetRegExp();let u=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,c=n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>e.replace(/\$/g,"$$$$")},{regex:this.regexp,safeValue:e=>this.escapeValue?this.escape(e).replace(/\$/g,"$$$$"):e.replace(/\$/g,"$$$$")}].forEach(t=>{for(a=0;i=t.regex.exec(e);){let r=i[1].trim();if(void 0===(o=l(r)))if("function"==typeof u){let t=u(e,i,n);o=iX(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))o="";else if(c){o=i[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),o="";else iX(o)||this.useRawValueToEscape||(o=i0(o));let s=t.safeValue(o);if(e=e.replace(i[0],s),c?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,i,o,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),i=`{${n[1]}`;e=n[0];let a=(i=this.interpolate(i,o)).match(/'/g),s=i.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(i=i.replace(/'/g,'"'));try{o=JSON.parse(i),t&&(o={...t,...o})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${i}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(o=(o={...r}).replace&&!iX(o.replace)?o.replace:o).applyPostProcessor=!1,delete o.defaultValue;let l=/{.*}/.test(n[1])?n[1].lastIndexOf("}")+1:n[1].indexOf(this.formatSeparator);if(-1!==l&&(s=n[1].slice(l).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),n[1]=n[1].slice(0,l)),(i=t(a.call(this,n[1].trim(),o),o))&&n[0]===e&&!iX(i))return i;iX(i)||(i=i0(i)),i||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),i=""),s.length&&(i=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}let o_=e=>{let t={};return(r,n,i)=>{let o=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(o={...o,[i.interpolationkey]:void 0});let a=n+JSON.stringify(o),s=t[a];return s||(s=e(on(n),i),t[a]=s),s(r)}},ox=e=>(t,r,n)=>e(on(r),n)(t);class oE{constructor(e={}){this.logger=oa.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?o_:ox;this.formats={number:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:r((e,t)=>{let r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:r((e,t)=>{let r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:r((e,t)=>{let r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:r((e,t)=>{let r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=o_(t)}format(e,t,r,n={}){let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&0>i[0].indexOf(")")&&i.find(e=>e.indexOf(")")>-1)){let e=i.findIndex(e=>e.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:o}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let i=n[1].substring(0,n[1].length-1);"currency"===t&&0>i.indexOf(":")?r.currency||(r.currency=i.trim()):"relativetime"===t&&0>i.indexOf(":")?r.range||(r.range=i.trim()):i.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),i=n.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();r[o]||(r[o]=i),"false"===i&&(r[o]=!1),"true"===i&&(r[o]=!0),isNaN(i)||(r[o]=parseInt(i,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[i]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[i](e,s,{...o,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e},e)}}class oS extends os{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=oa.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,n.backend,n)}queueLoad(e,t,r,n){let i={},o={},a={},s={};return e.forEach(e=>{let n=!0;t.forEach(t=>{let a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===o[a]&&(o[a]=!0):(this.state[a]=1,n=!1,void 0===o[a]&&(o[a]=!0),void 0===i[a]&&(i[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),i=n[0],o=n[1];t&&this.emit("failedLoading",i,o,t),!t&&r&&this.store.addResourceBundle(i,o,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);let a={};this.queue.forEach(r=>{((e,t,r,n)=>{let{obj:i,k:o}=i2(e,t,Object);i[o]=i[o]||[],i[o].push(r)})(r.loaded,[i],o),void 0!==r.pending[e]&&(delete r.pending[e],r.pendingCount--),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});let t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r,n=0,i=this.retryTimeout,o){if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:i,callback:o});this.readingCalls++;let a=(a,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&s&&n<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,n+1,2*i,o)},i):o(a,s)},s=this.backend[r].bind(this.backend);if(2===s.length){try{let r=s(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}return}return s(e,t,a)}prepareLoading(e,t,r={},n){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();iX(e)&&(e=this.languageUtils.toResolveHierarchy(e)),iX(t)&&(t=[t]);let i=this.queueLoad(e,t,r,n);if(!i.toLoad.length)return i.pending.length||n(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e,t=""){let r=e.split("|"),n=r[0],i=r[1];this.read(n,i,"read",void 0,void 0,(r,o)=>{r&&this.logger.warn(`${t}loading namespace ${i} for language ${n} failed`,r),!r&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${n}`,o),this.loaded(e,r,o)})}saveMissing(e,t,r,n,i,o={},a=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t))return void this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");if(null!=r&&""!==r){if(this.backend?.create){let s={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;(i=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof i.then?i.then(e=>a(null,e)).catch(a):a(null,i)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let oD=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),iX(e[1])&&(t.defaultValue=e[1]),iX(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){let r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),oO=e=>(iX(e.ns)&&(e.ns=[e.ns]),iX(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),iX(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),oP=()=>{};class oC extends os{constructor(e={},t){if(super(),this.options=oO(e),this.services={},this.logger=oa,this.modules={external:[]},(e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))})})(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,"function"==typeof e&&(t=e,e={}),null==e.defaultNS&&e.ns&&(iX(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=oD();this.options={...r,...this.options,...oO(e)},this.options.interpolation={...r.interpolation,...this.options.interpolation},void 0!==e.keySeparator&&(this.options.userDefinedKeySeparator=e.keySeparator),void 0!==e.nsSeparator&&(this.options.userDefinedNsSeparator=e.nsSeparator);let n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let e;this.modules.logger?oa.init(n(this.modules.logger),this.options):oa.init(null,this.options),e=this.modules.formatter?this.modules.formatter:oE;let t=new om(this.options);this.store=new ol(this.options.resources,this.options);let i=this.services;i.logger=oa,i.resourceStore=this.store,i.languageUtils=t,i.pluralResolver=new ob(t,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==r.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),e&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(i.formatter=n(e),i.formatter.init&&i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new ow(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new oS(n(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(i.languageDetector=n(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=n(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new oh(this.services,this.options),this.translator.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||(t=oP),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=iQ(),o=()=>{let e=(e,r)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),i.resolve(r),t(e,r)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?o():setTimeout(o,0),i}loadResources(e,t=oP){let r=t,n=iX(e)?e:this.language;if("function"==typeof e&&(r=e),!this.options.resources||this.options.partialBundledLanguages){if(n?.toLowerCase()==="cimode"&&(!this.options.preload||0===this.options.preload.length))return r();let e=[],t=t=>{t&&"cimode"!==t&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&0>e.indexOf(t)&&e.push(t)})};n?t(n):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),r(e)})}else r(null)}reloadResources(e,t,r){let n=iQ();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=oP),this.services.backendConnector.reload(e,t,e=>{n.resolve(),r(e)}),n}use(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&ou.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&0>this.languages.indexOf(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let r=iQ();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,o)=>{o?this.isLanguageChangingTo===e&&(n(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},o=t=>{e||t||!this.services.languageDetector||(t=[]);let r=iX(t)?t:t&&t[0],o=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(iX(t)?[t]:t);o&&(this.language||n(o),this.translator.language||this.translator.changeLanguage(o),this.services.languageDetector?.cacheUserLanguage?.(o)),this.loadResources(o,e=>{i(e,o)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...i)=>{let o,a;(o="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(i)):{...t}).lng=o.lng||n.lng,o.lngs=o.lngs||n.lngs,o.ns=o.ns||n.ns,""!==o.keyPrefix&&(o.keyPrefix=o.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return o.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=od(e,{...this.options,...t})),`${o.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=od(e,{...this.options,...t})),a=o.keyPrefix?`${o.keyPrefix}${s}${e}`:e),this.t(a,o)};return iX(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;let r=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let o=(e,t)=>{let r=this.services.backendConnector.state[`${e}|${t}`];return -1===r||0===r||2===r};if(t.precheck){let e=t.precheck(this,o);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(r,e)&&(!n||o(i,e)))}loadNamespaces(e,t){let r=iQ();return this.options.ns?(iX(e)&&(e=[e]),e.forEach(e=>{0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){let r=iQ();iX(e)&&(e=[e]);let n=this.options.preload||[],i=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=n.concat(i),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch(e){}let t=this.services?.languageUtils||new om(oD());return e.toLowerCase().indexOf("-latn")>1?"ltr":["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new oC(e,t)}cloneInstance(e={},t=oP){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},i=new oC(n);return(void 0!==e.debug||void 0!==e.prefix)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(e=>{i[e]=this[e]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new ol(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((r,n)=>(r[n]={...e[t][n]},r),e[t]),e),{}),n),i.services.resourceStore=i.store),i.translator=new oh(i.services,n),i.translator.on("*",(e,...t)=>{i.emit(e,...t)}),i.init(n,t),i.translator.options=n,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let ok=oC.createInstance();ok.createInstance=oC.createInstance,ok.createInstance,ok.dir,ok.init,ok.loadResources,ok.reloadResources,ok.use,ok.changeLanguage,ok.getFixedT,ok.t,ok.exists,ok.setDefaultNamespace,ok.hasLoadedNamespace,ok.loadNamespaces,ok.loadLanguages;let oT=ok.default||ok;function oj(e,t,r,n){return oT.t(t,{ns:e,defaultValue:r,...n})}function oR(e,t,r){return iJ[e]?oj("core",e,t??iJ[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}oT.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let oA="import-map-override:",oN="import-map-overrides-disabled",oM="import-map-overrides:change",o$=!1,oI=null,oL=null;async function oF(){return oL??(oL=oB().then(({map:e,complete:t})=>(t||(oL=null),e))),oL}async function oB(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let i=e[n];try{if(i.src){let e=await fetch(i.src);if(!e.ok)throw Error(`Request for ${i.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else i.textContent&&t.push(JSON.parse(i.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:oV(t),complete:r}}function oV(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function oU(){let e={};try{let t=oG();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(oA)){let r=n.slice(oA.length);if(!t.includes(r)){let t=localStorage.getItem(n);t&&(e[r]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function oW(){let e=await oF();return o$?oV([e,oI??oU()]):e}async function oK(){return oF()}async function oH(){return o$?oV([await oF(),oU()]):oF()}function oz(e){if(!o$)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(oA)){let t=localStorage.getItem(r);t&&(e[r.slice(oA.length)]=t)}}return{imports:e}}return oU()}function oG(){if(!o$)return[];try{let e=localStorage.getItem(oN);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function oq(e){return!!o$&&oG().includes(e)}function oY(e,t){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(oA+e,t),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function oZ(e){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(oA+e);let t=oG().filter(t=>t!==e);t.length>0?localStorage.setItem(oN,JSON.stringify(t)):localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oJ(){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(oA)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function oX(e){if(!o$)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=oG().filter(t=>t!==e);t.length>0?localStorage.setItem(oN,JSON.stringify(t)):localStorage.removeItem(oN),window.dispatchEvent(new CustomEvent(oM))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let oQ=!1;function o0(){!oQ&&(oQ=!0,(o$="development"===window.spaEnv)&&(oI=oU()))}function o1(e){return e.replace(/[\/\-@]/g,"_")}async function o3(e,t="./start",n){var i;let o,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([o4(e,n?.importMap),new Promise((t,r)=>{o=setTimeout(()=>{var t;r(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),o&&clearTimeout(o);let s=o1(e),l=window[s];if(!("object"==typeof(i=l)&&null!==i&&"init"in i&&"function"==typeof i.init&&"get"in i&&"function"==typeof i.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(r.S.default);let u=(await l.get(t))();if("object"!=typeof u||null===u){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return u}async function o4(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let r=o1(e);if(!window[r]){let r=t??await o2();if(!r.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=r.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let i=e in oz().imports;try{return await function(e){var t;let r=(t=window)[o6]??(t[o6]=new Map),n=r.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let i=document.createElement("script");i.src=e,i.type="text/javascript",i.async=!0;let o=new Promise((t,n)=>{let o=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(o),i.removeEventListener("load",s),i.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),i.remove();let o=`Failed to load script from ${e}`;console.error(o,t),n(t.message??o)}i.addEventListener("load",s),i.addEventListener("error",l),document.head.appendChild(i)});return r.set(e,o),o}(n)}catch(e){return i&&j({kind:"error",title:oR("scriptLoadingFailed","Error: Script failed to load"),description:oR("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:oR("resetOverrides","Reset overrides"),onActionButtonClick(){oJ(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function o2(){return oW()}let o6=Symbol.for("__openmrs_script_loading");function o5(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function o8(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&o5(t))}let o9="openmrs-routes:",o7="openmrs-routes:change",ae=!1,at=null,ar=null;async function an(){return ar??(ar=ai().then(({map:e,complete:t})=>(t||(ar=null),e))),ar}async function ai(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let i=e[n];try{let e;if(i.src){let t=await fetch(i.src);if(!t.ok)throw Error(`Request for ${i.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else i.textContent&&(e=JSON.parse(i.textContent));e&&o8(e)&&t.push(e)}catch(e){r=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ao(t),complete:r}}function ao(e){let t={routes:{}};for(let r of e)r&&"object"==typeof r&&!Array.isArray(r)&&(Object.assign(t.routes,r.routes),void 0===t.version&&void 0!==r.version&&(t.version=r.version));return t}async function aa(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let r=localStorage.key(e);if(r?.startsWith(o9)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(o9.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(o5(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(o5(n))return{moduleName:e,routes:n};throw Error(`${r} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===r.status?e.routes[r.value.moduleName]=r.value.routes:console.warn("[route-maps] Failed to load route override",r.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function as(){let e=await an();return ae?ao([e,at??await aa()]):e}async function al(){return an()}async function au(){return ae?ao([await an(),await aa()]):an()}function ac(){if(!ae)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(o9)){let t=localStorage.getItem(r);t&&(e[r.slice(o9.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function ad(e,t){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(o9+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!o5(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(o9+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(o9+e,JSON.stringify(t.toString()));else{if(!o5(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(o9+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function ap(e){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(o9+e),window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function af(){if(!ae)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);r?.startsWith(o9)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(o7))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let ah=null;function am(){return ah||(ah=(ae="development"===window.spaEnv)?aa().then(e=>{at=e}):Promise.resolve())}let ay=`${iC}/attachment`;function ag(e,t){return iR(`${ay}/${e}`,{signal:t.signal})}function ab(e,t,r){return iR(`${ay}?patient=${e}&includeEncounterless=${t}`,{signal:r.signal})}async function av(e,t){let r=new FormData;return r.append("fileCaption",t.fileDescription),r.append("patient",e),t.file?r.append("file",t.file,t.fileName):(r.append("file",new File([""],t.fileName),t.fileName),r.append("base64Content",t.base64Content)),iR(`${ay}`,{method:"POST",body:r})}function aw(e,t){return iR(`${ay}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function a_(e,t){return new Promise(function(r){var n=new MessageChannel;n.port1.onmessage=function(e){r(e.data)},e.postMessage(t,[n.port2])})}function ax(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function aE(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}try{self["workbox:core:6.5.4"]&&_()}catch(e){}var aS=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function aD(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var aO=function(e,t){this.type=e,Object.assign(this,t)};function aP(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function aC(){}var ak={type:"SKIP_WAITING"};function aT(e,t){if(!t)return e&&e.then?e.then(aC):Promise.resolve()}var aj=function(e){function t(t,r){var n,i;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new aS,n.en=new aS,n.on=new aS,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!aD(t.scriptURL,n.sn.toString())||performance.now()>n.un+6e4?(n.vn=t,e.removeEventListener("updatefound",n.cn)):(n.hn=t,n.an.add(t),n.rn.resolve(t)),++n.tn,t.addEventListener("statechange",n.ln)},n.ln=function(e){var t=n.fn,r=e.target,i=r.state,o=r===n.vn,a={sw:r,isExternal:o,originalEvent:e};!o&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new aO(i,a)),"installed"===i?n.wn=self.setTimeout(function(){"installed"===i&&t.waiting===r&&n.dispatchEvent(new aO("waiting",a))},200):"activating"===i&&(clearTimeout(n.wn),o||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new aO("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},i=function(e){var t=e.data,r=e.ports,i=e.source;return aP(n.getSW(),function(){n.an.has(i)&&n.dispatchEvent(new aO("message",{data:t,originalEvent:e,ports:r,sw:i}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(i.apply(this,e))}catch(e){return Promise.reject(e)}},n.sn=t,n.nn=r,navigator.serviceWorker.addEventListener("message",n.gn),n}t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e;var r,n,i=t.prototype;return i.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,i,o,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return aT(new Promise(function(e){return window.addEventListener("load",e)}))},i=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),aP(a.bn(),function(e){a.fn=e,a.yn&&(a.hn=a.yn,a.en.resolve(a.yn),a.on.resolve(a.yn),a.yn.addEventListener("statechange",a.ln,{once:!0}));var t=a.fn.waiting;return t&&aD(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new aO("waiting",{sw:t,wasWaitingBeforeRegister:!0}))}).then(function(){})),a.hn&&(a.rn.resolve(a.hn),a.an.add(a.hn)),a.fn.addEventListener("updatefound",a.cn),navigator.serviceWorker.addEventListener("controllerchange",a.dn),a.fn})},(o=n())&&o.then?o.then(i):i(o)}catch(e){return Promise.reject(e)}},i.update=function(){try{return this.fn?aT(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},i.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},i.messageSW=function(e){try{return aP(this.getSW(),function(t){return a_(t,e)})}catch(e){return Promise.reject(e)}},i.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&a_(this.fn.waiting,ak)},i.pn=function(){var e=navigator.serviceWorker.controller;return e&&aD(e.scriptURL,this.sn.toString())?e:void 0},i.bn=function(){try{var e=this;return function(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}(function(){return aP(navigator.serviceWorker.register(e.sn,e.nn),function(t){return e.un=performance.now(),t})},function(e){throw e})}catch(e){return Promise.reject(e)}},r=[{key:"active",get:function(){return this.en.promise}},{key:"controlling",get:function(){return this.on.promise}}],ax(t.prototype,r),n&&ax(t,n),t}(function(){function e(){this.Pn=new Map}var t=e.prototype;return t.addEventListener=function(e,t){this.Sn(e).add(t)},t.removeEventListener=function(e,t){this.Sn(e).delete(t)},t.dispatchEvent=function(e){e.target=this;for(var t,r=function(e){var t;if("u"<typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(t=function(e){if(e){if("string"==typeof e)return aE(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?aE(e,void 0):void 0}}(e))){t&&(e=t);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}(this.Sn(e.type));!(t=r()).done;)(0,t.value)(e)},t.Sn=function(e){return this.Pn.has(e)||this.Pn.set(e,new Set),this.Pn.get(e)},e}());function aR(e,t){if(void 0!==p)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),p;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new aj(e,t);return p=r.register().then(()=>r.controlling.then(()=>r))}function aA(){return p??Promise.resolve(void 0)}let aN="x-omrs-offline-response-body",aM="x-omrs-offline-response-status",a$="x-omrs-offline-caching-strategy";async function aI(e){let t=await aA();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function aL(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function aF(){return!window.indexedDB}async function aB(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function aV(){return await aB()||await aF()||await aL()}let aU="openmrs3:offline-mode",aW="unavailable";function aK(){return{current:aW,notAvailable:"unavailable"===aW,active:"on"===aW}}function aH(e){"unavailable"!==aW&&"unavailable"!==e&&(localStorage.setItem(aU,"on"===e?"active":"disabled"),aW=e)}async function az(){await aV()||(aW="active"===localStorage.getItem(aU)?"on":"off"),navigator.onLine}let aG="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,aq=Object.keys,aY=Array.isArray;function aZ(e,t){return"object"!=typeof t||aq(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||aG.Promise||(aG.Promise=Promise);let aJ=Object.getPrototypeOf,aX={}.hasOwnProperty;function aQ(e,t){return aX.call(e,t)}function a0(e,t){"function"==typeof t&&(t=t(aJ(e))),("u"<typeof Reflect?aq:Reflect.ownKeys)(t).forEach(r=>{a3(e,r,t[r])})}let a1=Object.defineProperty;function a3(e,t,r,n){a1(e,t,aZ(r&&aQ(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function a4(e){return{from:function(t){return e.prototype=Object.create(t.prototype),a3(e.prototype,"constructor",e),{extend:a0.bind(null,e.prototype)}}}}let a2=Object.getOwnPropertyDescriptor;function a6(e,t){let r;return a2(e,t)||(r=aJ(e))&&a6(r,t)}let a5=[].slice;function a8(e,t,r){return a5.call(e,t,r)}function a9(e,t){return t(e)}function a7(e){if(!e)throw Error("Assertion Failed")}function se(e){aG.setImmediate?setImmediate(e):setTimeout(e,0)}function st(e,t){return e.reduce((e,r,n)=>{var i=t(r,n);return i&&(e[i[0]]=i[1]),e},{})}function sr(e,t){if(aQ(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,i=t.length;n<i;++n){var o=sr(e,t[n]);r.push(o)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return void 0===s?void 0:sr(s,t.substr(a+1))}}function sn(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){a7("string"!=typeof r&&"length"in r);for(var n=0,i=t.length;n<i;++n)sn(e,t[n],r[n])}else{var o=t.indexOf(".");if(-1!==o){var a=t.substr(0,o),s=t.substr(o+1);if(""===s)void 0===r?aY(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&aQ(e,a)||(l=e[a]={}),sn(l,s,r)}}else void 0===r?aY(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function si(e){var t={};for(var r in e)aQ(e,r)&&(t[r]=e[r]);return t}let so=[].concat;function sa(e){return so.apply([],e)}let ss="Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(sa([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>aG[e]),sl=ss.map(e=>aG[e]);st(ss,e=>[e,!0]);let su=null;function sc(e){su="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=su&&su.get(t);if(r)return r;if(aY(t)){r=[],su&&su.set(t,r);for(var n=0,i=t.length;n<i;++n)r.push(e(t[n]))}else if(sl.indexOf(t.constructor)>=0)r=t;else{let n=aJ(t);for(var o in r=n===Object.prototype?{}:Object.create(n),su&&su.set(t,r),t)aQ(t,o)&&(r[o]=e(t[o]))}return r}(e);return su=null,t}let{toString:sd}={};function sp(e){return sd.call(e).slice(8,-1)}let sf="u">typeof Symbol?Symbol.iterator:"@@iterator",sh="symbol"==typeof sf?function(e){var t;return null!=e&&(t=e[sf])&&t.apply(e)}:function(){return null},sm={};function sy(e){var t,r,n,i;if(1==arguments.length){if(aY(e))return e.slice();if(this===sm&&"string"==typeof e)return[e];if(i=sh(e)){for(r=[];!(n=i.next()).done;)r.push(n.value);return r}if(null==e)return[e];if("number"==typeof(t=e.length)){for(r=Array(t);t--;)r[t]=e[t];return r}return[e]}for(t=arguments.length,r=Array(t);t--;)r[t]=arguments[t];return r}let sg="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var sb="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),sv=()=>!0;let sw=!Error("").stack;function s_(){if(sw)try{throw s_.arguments,Error()}catch(e){return e}return Error()}function sx(e,t){var r=e.stack;return r?(t=t||0,0===r.indexOf(e.name)&&(t+=(e.name+e.message).split("\n").length),r.split("\n").slice(t).filter(sv).map(e=>"\n"+e).join("")):""}var sE=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],sS=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(sE),sD={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 sO(e,t){this._e=s_(),this.name=e,this.message=t}function sP(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function sC(e,t,r,n){this._e=s_(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=sP(e,t)}function sk(e,t){this._e=s_(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=sP(e,t)}a4(sO).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+sx(this._e,2))}},toString:function(){return this.name+": "+this.message}}),a4(sC).from(sO),a4(sk).from(sO);var sT=sS.reduce((e,t)=>(e[t]=t+"Error",e),{}),sj=sS.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=s_(),this.name=r,e?"string"==typeof e?(this.message=`${e}${n?"\n "+n:""}`,this.inner=n||null):"object"==typeof e&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=sD[t]||r,this.inner=null)}return a4(n).from(sO),e[t]=n,e},{});sj.Syntax=SyntaxError,sj.Type=TypeError,sj.Range=RangeError;var sR=sE.reduce((e,t)=>(e[t+"Error"]=sj[t],e),{}),sA=sS.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=sj[t]),e),{});function sN(){}function sM(e){return e}function s$(e,t){return null==e||e===sM?t:function(r){return t(e(r))}}function sI(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function sL(e,t){return e===sN?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?sI(n,this.onsuccess):n),i&&(this.onerror=this.onerror?sI(i,this.onerror):i),void 0!==o?o:r}}function sF(e,t){return e===sN?t:function(){e.apply(this,arguments);var r=this.onsuccess,n=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),r&&(this.onsuccess=this.onsuccess?sI(r,this.onsuccess):r),n&&(this.onerror=this.onerror?sI(n,this.onerror):n)}}function sB(e,t){return e===sN?t:function(r){var n=e.apply(this,arguments);aZ(r,n);var i=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?sI(i,this.onsuccess):i),o&&(this.onerror=this.onerror?sI(o,this.onerror):o),void 0===n?void 0===a?void 0:a:aZ(n,a)}}function sV(e,t){return e===sN?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function sU(e,t){return e===sN?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,i=arguments.length,o=Array(i);i--;)o[i]=arguments[i];return r.then(function(){return t.apply(n,o)})}return t.apply(this,arguments)}}sA.ModifyError=sC,sA.DexieError=sO,sA.BulkError=sk;var sW={};let[sK,sH,sz]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,aJ(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,aJ(t),e]})(),sG=sH&&sH.then,sq=sK&&sK.constructor,sY=!!sz;var sZ=!1,sJ=sz?()=>{sz.then(ll)}:aG.setImmediate?setImmediate.bind(null,ll):aG.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{ll(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(ll,0)},sX=function(e,t){s8.push([e,t]),s0&&(sJ(),s0=!1)},sQ=!0,s0=!0,s1=[],s3=[],s4=null,s2=sM,s6={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:lR,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{lR(e[0],e[1])}catch(e){}})}},s5=s6,s8=[],s9=0,s7=[];function le(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=sN,this._lib=!1;var t=this._PSD=s5;if(sb&&(this._stackHolder=s_(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==sW)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&ln(this,this._value))}this._state=null,this._value=null,++t.ref,function e(t,r){try{r(r=>{if(null===t._state){if(r===t)throw TypeError("A promise cannot be resolved with itself.");var n=t._lib&&lu();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof le?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,li(t)),n&&lc()}},ln.bind(null,t))}catch(e){ln(t,e)}}(this,e)}let lt={get:function(){var e=s5,t=lb;function r(r,n){var i=!e.global&&(e!==s5||t!==lb);let o=i&&!lx();var a=new le((t,a)=>{lo(this,new lr(lk(r,e,i,o),lk(n,e,i,o),t,a,e))});return sb&&ls(a,this),a}return r.prototype=sW,r},set:function(e){a3(this,"then",e&&e.prototype===sW?lt:{get:function(){return e},set:lt.set})}};function lr(e,t,r,n,i){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=i}function ln(e,t){if(s3.push(t),null===e._state){var r=e._lib&&lu();t=s2(t),e._state=!1,e._value=t,sb&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=a6(t,"stack");t._promise=e,a3(t,"stack",{get:()=>sZ?r&&(r.get?r.get.apply(t):r.value):e.stack})}),s1.some(t=>t._value===e._value)||s1.push(e),li(e),r&&lc()}}function li(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)lo(e,t[r]);var i=e._PSD;--i.ref||i.finalize(),0===s9&&(++s9,sX(()=>{0==--s9&&ld()},[]))}function lo(e,t){if(null!==e._state){var r=e._state?t.onFulfilled:t.onRejected;if(null===r)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++s9,sX(la,[r,e,t])}else e._listeners.push(t)}function la(e,t,r){try{s4=t;var n,i=t._value;t._state?n=e(i):(s3.length&&(s3=[]),n=e(i),-1===s3.indexOf(i)&&function(e){for(var t=s1.length;t;)if(s1[--t]._value===e._value)return void s1.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{s4=null,0==--s9&&ld(),--r.psd.ref||r.psd.finalize()}}function ls(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function ll(){lu()&&lc()}function lu(){var e=sQ;return sQ=!1,s0=!1,e}function lc(){var e,t,r;do for(;s8.length>0;)for(e=s8,s8=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(s8.length>0);sQ=!0,s0=!0}function ld(){var e=s1;s1=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=s7.slice(0),r=t.length;r;)t[--r]()}function lp(e){return new le(sW,!1,e)}function lf(e,t){var r=s5;return function(){var n=lu(),i=s5;try{return lO(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{lO(i,!1),n&&lc()}}}a0(le.prototype,{then:lt,_then:function(e,t){lo(this,new lr(null,null,e,t,s5))},catch:function(e){if(1==arguments.length)return this.then(null,e);var t=arguments[0],r=arguments[1];return"function"==typeof t?this.then(null,e=>e instanceof t?r(e):lp(e)):this.then(null,e=>e&&e.name===t?r(e):lp(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),lp(t)))},stack:{get:function(){if(this._stack)return this._stack;try{sZ=!0;var e=(function e(t,r,n){if(r.length===n)return r;var i="";if(!1===t._state){var o,a,s=t._value;null!=s?(o=s.name||"Error",a=s.message||s,i=sx(s,0)):(o=s,a=""),r.push(o+(a?": "+a:"")+i)}return sb&&((i=sx(t._stackHolder,2))&&-1===r.indexOf(i)&&r.push(i),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{sZ=!1}}},timeout:function(e,t){return e<1/0?new le((r,n)=>{var i=setTimeout(()=>n(new sj.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,i))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&a3(le.prototype,Symbol.toStringTag,"Dexie.Promise"),s6.env=lP(),a0(le,{all:function(){var e=sy.apply(null,arguments).map(lE);return new le(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((i,o)=>le.resolve(i).then(r=>{e[o]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof le)return e;if(e&&"function"==typeof e.then)return new le((t,r)=>{e.then(t,r)});var t=new le(sW,!0,e);return ls(t,s4),t},reject:lp,race:function(){var e=sy.apply(null,arguments).map(lE);return new le((t,r)=>{e.map(e=>le.resolve(e).then(t,r))})},PSD:{get:()=>s5,set:e=>s5=e},totalEchoes:{get:()=>lb},newPSD:lw,usePSD:lC,scheduler:{get:()=>sX,set:e=>{sX=e}},rejectionMapper:{get:()=>s2,set:e=>{s2=e}},follow:(e,t)=>new le((r,n)=>lw((t,r)=>{var n=s5;n.unhandleds=[],n.onunhandled=r,n.finalize=sI(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},s7.push(function t(){e(),s7.splice(s7.indexOf(t),1)}),++s9,sX(()=>{0==--s9&&ld()},[])},n.finalize),e()},t,r,n))}),sq&&(sq.allSettled&&a3(le,"allSettled",function(){let e=sy.apply(null,arguments).map(lE);return new le(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,i)=>le.resolve(e).then(e=>n[i]={status:"fulfilled",value:e},e=>n[i]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),sq.any&&"u">typeof AggregateError&&a3(le,"any",function(){let e=sy.apply(null,arguments).map(lE);return new le((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,i=Array(n);e.forEach((e,o)=>le.resolve(e).then(e=>t(e),e=>{i[o]=e,--n||r(AggregateError(i))}))})}));let lh={awaits:0,echoes:0,id:0};var lm=0,ly=[],lg=0,lb=0,lv=0;function lw(e,t,r,n){var i=s5,o=Object.create(i);o.parent=i,o.ref=0,o.global=!1,o.id=++lv;var a=s6.env;o.env=sY?{Promise:le,PromiseProp:{value:le,configurable:!0,writable:!0},all:le.all,race:le.race,allSettled:le.allSettled,any:le.any,resolve:le.resolve,reject:le.reject,nthen:lT(a.nthen,o),gthen:lT(a.gthen,o)}:{},t&&aZ(o,t),++i.ref,o.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=lC(o,e,r,n);return 0===o.ref&&o.finalize(),s}function l_(){return lh.id||(lh.id=++lm),++lh.awaits,lh.echoes+=100,lh.id}function lx(){return!!lh.awaits&&(0==--lh.awaits&&(lh.id=0),lh.echoes=100*lh.awaits,!0)}function lE(e){return lh.echoes&&e&&e.constructor===sq?(l_(),e.then(e=>(lx(),e),e=>(lx(),lA(e)))):e}function lS(e){++lb,lh.echoes&&0!=--lh.echoes||(lh.echoes=lh.id=0),ly.push(s5),lO(e,!0)}function lD(){var e=ly[ly.length-1];ly.pop(),lO(e,!1)}function lO(e,t){var r,n=s5;if((t?!lh.echoes||lg++&&e===s5:!lg||--lg&&e===s5)||(r=t?lS.bind(null,e):lD,sG.call(sK,r)),e!==s5&&(s5=e,n===s6&&(s6.env=lP()),sY)){var i=s6.env.Promise,o=e.env;sH.then=o.nthen,i.prototype.then=o.gthen,(n.global||e.global)&&(Object.defineProperty(aG,"Promise",o.PromiseProp),i.all=o.all,i.race=o.race,i.resolve=o.resolve,i.reject=o.reject,o.allSettled&&(i.allSettled=o.allSettled),o.any&&(i.any=o.any))}}function lP(){var e=aG.Promise;return sY?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(aG,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:sH.then,gthen:e.prototype.then}:{}}function lC(e,t,r,n,i){var o=s5;try{return lO(e,!0),t(r,n,i)}finally{lO(o,!1)}}function lk(e,t,r,n){return"function"!=typeof e?e:function(){var i,o=s5;r&&l_(),lO(t,!0);try{return e.apply(this,arguments)}finally{lO(o,!1),n&&(i=lx,sG.call(sK,i))}}}function lT(e,t){return function(r,n){return e.call(this,lk(r,t),lk(n,t))}}-1===(""+sG).indexOf("[native code]")&&(l_=lx=sN);let lj="unhandledrejection";function lR(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,i={promise:t,reason:e};if(aG.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(lj,!0,!0),aZ(n,i)):aG.CustomEvent&&aZ(n=new CustomEvent(lj,{detail:i}),i),n&&aG.dispatchEvent&&(dispatchEvent(n),!aG.PromiseRejectionEvent&&aG.onunhandledrejection))try{aG.onunhandledrejection(n)}catch(e){}sb&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var lA=le.reject;let lN="3.2.4",lM=String.fromCharCode(65535),l$=-1/0,lI="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",lL="String expected.",lF=[],lB="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),lV=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),lU="__dbnames",lW="readonly",lK="readwrite";function lH(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let lz={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function lG(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=sc(t))[e],t)}class lq{_trans(e,t,r){let n=this._tx||s5.trans,i=this.name;function o(e,r,n){if(!n.schema[i])throw new sj.NotFound("Table "+i+" not part of transaction");return t(n.idbtrans,n)}let a=lu();try{return n&&n.db===this.db?n===s5.trans?n._promise(e,o,r):lw(()=>n._promise(e,o,r),{trans:n,transless:s5.transless||s5}):function e(t,r,n,i){if(t.idbdb&&(t._state.openComplete||s5.letThrough||t._vip)){var o=t._createTransaction(r,n,t._dbSchema);try{o.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===sT.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,i))):lA(o)}return o._promise(r,(e,t)=>lw(()=>(s5.trans=o,i(e,t,o)))).then(e=>o._completion.then(()=>e))}if(t._state.openComplete)return lA(new sj.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return lA(new sj.DatabaseClosed);t.open().catch(sN)}return t._state.dbReadyPromise.then(()=>e(t,r,n,i))}(this.db,e,[this.name],o)}finally{a&&lc()}}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("string"==typeof e)return new this.db.WhereClause(this,e);if(aY(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=aq(e);if(1===t.length)return this.where(t[0]).equals(e[t[0]]);let r=this.schema.indexes.concat(this.schema.primKey).filter(e=>e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)&&e.keyPath.every(e=>t.indexOf(e)>=0))[0];if(r&&this.db._maxKey!==lM)return this.where(r.name).equals(r.keyPath.map(t=>e[t]));!r&&sb&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,i=this.db._deps.indexedDB;function o(e,t){try{return 0===i.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],i)=>{let a=n[i],s=e[i];return[t||a,t||!a?lH(r,a&&a.multi?e=>{let t=sr(e,i);return aY(t)&&t.some(e=>o(s,e))}:e=>o(s,sr(e,i))):r]},[null,null]);return a?this.where(a.name).equals(e[a.keyPath]).filter(s):r?this.filter(s):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,aY(e)?`[${e.join("+")}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let r=Object.create(e.prototype);for(var n in t)if(aQ(t,n))try{r[n]=t[n]}catch(e){}return r};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){aZ(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,i=e;return n&&r&&(i=lG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[i]})).then(e=>e.numFailures?le.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{sn(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||aY(e))return this.where(":id").equals(e).modify(t);{let r=sr(e,this.schema.primKey.keyPath);if(void 0===r)return lA(new sj.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?aq(t).forEach(r=>{sn(e,r,t[r])}):t(e,{value:e,primKey:r})}catch(e){}return this.where(":id").equals(r).modify(t)}}put(e,t){let{auto:r,keyPath:n}=this.schema.primKey,i=e;return n&&r&&(i=lG(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[i],keys:null!=t?[t]:null})).then(e=>e.numFailures?le.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{sn(e,n,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?le.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:lz})).then(e=>e.numFailures?le.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,r){let n=Array.isArray(t)?t:void 0,i=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:o}=this.schema.primKey;if(o&&n)throw new sj.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new sj.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=o&&r?e.map(lG(o)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:i}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return i?t:r;throw new sk(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,i=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:o}=this.schema.primKey;if(o&&n)throw new sj.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new sj.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=o&&r?e.map(lG(o)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:i}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return i?t:r;throw new sk(`${this.name}.bulkPut(): ${e} of ${a} operations failed`,n)})})}bulkDelete(e){let t=e.length;return this._trans("readwrite",t=>this.core.mutate({trans:t,type:"delete",keys:e})).then(({numFailures:e,lastResult:r,failures:n})=>{if(0===e)return r;throw new sk(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function lY(e){var t={},r=function(r,n){if(n){for(var i=arguments.length,o=Array(i-1);--i;)o[i-1]=arguments[i];return t[r].subscribe.apply(null,o),e}if("string"==typeof r)return t[r]};r.addEventType=o;for(var n=1,i=arguments.length;n<i;++n)o(arguments[n]);return r;function o(e,n,i){if("object"!=typeof e){n||(n=sV),i||(i=sN);var a={subscribers:[],fire:i,subscribe:function(e){-1===a.subscribers.indexOf(e)&&(a.subscribers.push(e),a.fire=n(a.fire,e))},unsubscribe:function(e){a.subscribers=a.subscribers.filter(function(t){return t!==e}),a.fire=a.subscribers.reduce(n,i)}};return t[e]=r[e]=a,a}aq(e).forEach(function(t){var r=e[t];if(aY(r))o(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new sj.InvalidArgument("Invalid event config");var n=o(t,sM,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){se(function(){e.apply(null,t)})})})}})}}function lZ(e,t){return a4(t).from({prototype:e}),t}function lJ(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function lX(e,t){e.filter=lH(e.filter,t)}function lQ(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>lH(n(),t()):t,e.justLimit=r&&!n}function l0(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new sj.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function l1(e,t,r){let n=l0(e,t.schema);return t.openCursor({trans:r,values:!e.keysOnly,reverse:"prev"===e.dir,unique:!!e.unique,query:{index:n,range:e.range}})}function l3(e,t,r,n){let i=e.replayFilter?lH(e.filter,e.replayFilter()):e.filter;if(e.or){let o={},a=(e,r,n)=>{if(!i||i(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),aQ(o,s)||(o[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),l4(l1(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return l4(l1(e,n,r),lH(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function l4(e,t,r,n){var i=lf(n?(e,t,i)=>r(n(e),t,i):r);return e.then(e=>{if(e)return e.start(()=>{var r=()=>e.continue();t&&!t(e,e=>r=e,t=>{e.stop(t),r=sN},t=>{e.fail(t),r=sN})||i(e.value,e,e=>r=e),r()})})}function l2(e,t){try{let r=l6(e),n=l6(t);if(r!==n)return"Array"===r?1:"Array"===n?-1:"binary"===r?1:"binary"===n?-1:"string"===r?1:"string"===n?-1:"Date"===r?1:"Date"!==n?NaN:-1;switch(r){case"number":case"Date":case"string":return e>t?1:e<t?-1:0;case"binary":return function(e,t){let r=e.length,n=t.length,i=r<n?r:n;for(let r=0;r<i;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(l5(e),l5(t));case"Array":return function(e,t){let r=e.length,n=t.length,i=r<n?r:n;for(let r=0;r<i;++r){let n=l2(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function l6(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=sp(e);return"ArrayBuffer"===r?"binary":r}function l5(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class l8{_read(e,t){var r=this._ctx;return r.error?r.table._trans(null,lA.bind(null,r.error)):r.table._trans("readonly",e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,lA.bind(null,t.error)):t.table._trans("readwrite",e,"locked")}_addAlgorithm(e){var t=this._ctx;t.algorithm=lH(t.algorithm,e)}_iterate(e,t){return l3(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&aZ(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>l3(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(lJ(t,!0))return r.count({trans:e,query:{index:l0(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return l3(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],i=r.length-1;function o(e,t){return t?o(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=o(e,i),n=o(t,i);return r<n?-a:r>n?a:0}return this.toArray(function(e){return e.sort(s)}).then(t)}toArray(e){return this._read(e=>{var t=this._ctx;if("next"===t.dir&&lJ(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=l0(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:n,range:t.range}}).then(({result:e})=>r?e.map(r):e)}{let r=[];return l3(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,lJ(t)?lQ(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):lQ(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),lQ(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return lX(this._ctx,function(r,n,i){return!e(r.value)||(n(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;return lX(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=lH(t.isMatch,e),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir="prev"===this._ctx.dir?"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,r){e(r.key,r)})}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,r){e(r.primaryKey,r)})}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.key)}).then(function(){return r}).then(e)}primaryKeys(e){var t=this._ctx;if("next"===t.dir&&lJ(t,!0)&&t.limit>0)return this._read(e=>{var r=l0(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:r,range:t.range}})}).then(({result:e})=>e).then(e);t.keysOnly=!t.isMatch;var r=[];return this.each(function(e,t){r.push(t.primaryKey)}).then(function(){return r}).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 r={};return lX(this._ctx,function(e){var t=e.primaryKey.toString(),n=aQ(r,t);return r[t]=!0,!n}),this}modify(e){var t=this._ctx;return this._write(r=>{var n;if("function"==typeof e)n=e;else{var i=aq(e),o=i.length;n=function(t){for(var r=!1,n=0;n<o;++n){var a=i[n],s=e[a];sr(t,a)!==s&&(sn(t,a,s),r=!0)}return r}}let a=t.table.core,{outbound:s,extractKey:l}=a.schema.primaryKey,u=this.db._options.modifyChunkSize||200,c=[],d=0,p=[],f=(e,t)=>{let{failures:r,numFailures:n}=t;for(let t of(d+=e-n,aq(r)))c.push(r[t])};return this.clone().primaryKeys().then(i=>{let o=c=>{let d=Math.min(u,i.length-c);return a.getMany({trans:r,keys:i.slice(c,c+d),cache:"immutable"}).then(p=>{let h=[],m=[],y=s?[]:null,g=[];for(let e=0;e<d;++e){let t=p[e],r={value:sc(t),primKey:i[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(i[c+e]):s||0===l2(l(t),l(r.value))?(m.push(r.value),s&&y.push(i[c+e])):(g.push(i[c+e]),h.push(r.value)))}let b=lJ(t)&&t.limit===1/0&&("function"!=typeof e||e===l9)&&{index:t.index,range:t.range};return Promise.resolve(h.length>0&&a.mutate({trans:r,type:"add",values:h}).then(e=>{for(let t in e.failures)g.splice(parseInt(t),1);f(h.length,e)})).then(()=>(m.length>0||b&&"object"==typeof e)&&a.mutate({trans:r,type:"put",keys:y,values:m,criteria:b,changeSpec:"function"!=typeof e&&e}).then(e=>f(m.length,e))).then(()=>(g.length>0||b&&e===l9)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>i.length>c+d&&o(c+u))})};return o(0).then(()=>{if(c.length>0)throw new sC("Error modifying one or more objects",c,d,p);return i.length})})})}delete(){var e=this._ctx,t=e.range;return lJ(e)&&(e.isPrimKey&&!lB||3===t.type)?this._write(r=>{let{primaryKey:n}=e.table.core.schema;return e.table.core.count({trans:r,query:{index:n,range:t}}).then(n=>e.table.core.mutate({trans:r,type:"deleteRange",range:t}).then(({failures:e,lastResult:t,results:r,numFailures:i})=>{if(i)throw new sC("Could not delete some values",Object.keys(e).map(t=>e[t]),n-i);return n-i}))}):this.modify(l9)}}let l9=(e,t)=>t.value=null;function l7(e,t){return e<t?-1:+(e!==t)}function ue(e,t){return e>t?-1:+(e!==t)}function ut(e,t,r){var n=e instanceof ua?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function ur(e){return new e.Collection(e,()=>uo("")).limit(0)}function un(e,t,r,n){var i,o,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return ut(e,lL);function p(e){i="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),o="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?l7:ue;var t=r.map(function(e){return{lower:o(e),upper:i(e)}}).sort(function(e,t){return a(e.lower,t.lower)});s=t.map(function(e){return e.upper}),l=t.map(function(e){return e.lower}),u=e,c="next"===e?"":n}p("next");var f=new e.Collection(e,()=>ui(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var i=e.key;if("string"!=typeof i)return!1;var p=o(i);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,i,o){for(var a=Math.min(e.length,n.length),s=-1,l=0;l<a;++l){var u=t[l];if(u!==n[l])return 0>i(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>i(e[l],n[l])?e.substr(0,l)+n[l]+r.substr(l+1):s>=0?e.substr(0,s)+t[s]+r.substr(s+1):null;0>i(e[l],u)&&(s=l)}return a<n.length&&"next"===o?e+r.substr(e.length):a<e.length&&"prev"===o?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(i,p,s[m],l[m],a,u);null===y&&null===f?h=m+1:(null===f||a(f,y)>0)&&(f=y)}return r(null!==f?function(){e.continue(f+c)}:n),!1}),f}function ui(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function uo(e){return{type:1,lower:e,upper:e}}class ua{get Collection(){return this._ctx.table.db.Collection}between(e,t,r,n){r=!1!==r,n=!0===n;try{return this._cmp(e,t)>0||0===this._cmp(e,t)&&(r||n)&&(!r||!n)?ur(this):new this.Collection(this,()=>ui(e,t,!r,!n))}catch(e){return ut(this,lI)}}equals(e){return null==e?ut(this,lI):new this.Collection(this,()=>uo(e))}above(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(e,void 0,!0))}aboveOrEqual(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(e,void 0,!1))}below(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(void 0,e,!1,!0))}belowOrEqual(e){return null==e?ut(this,lI):new this.Collection(this,()=>ui(void 0,e))}startsWith(e){return"string"!=typeof e?ut(this,lL):this.between(e,e+lM,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):un(this,(e,t)=>0===e.indexOf(t[0]),[e],lM)}equalsIgnoreCase(e){return un(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=sy.apply(sm,arguments);return 0===e.length?ur(this):un(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=sy.apply(sm,arguments);return 0===e.length?ur(this):un(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,lM)}anyOf(){let e=sy.apply(sm,arguments),t=this._cmp;try{e.sort(t)}catch(e){return ut(this,lI)}if(0===e.length)return ur(this);let r=new this.Collection(this,()=>ui(e[0],e[e.length-1]));r._ondirectionchange=r=>{t="next"===r?this._ascending:this._descending,e.sort(t)};let n=0;return r._addAlgorithm((r,i,o)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return i(o),!1;return 0===t(a,e[n])||(i(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[l$,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=sy.apply(sm,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return ut(this,lI)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[l$,t]],null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let r=this._cmp,n=this._ascending,i=this._descending,o=this._min,a=this._max;if(0===e.length)return ur(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return ut(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",sj.InvalidArgument);let s=!t||!1!==t.includeLowers,l=t&&!0===t.includeUppers,u,c=n;function d(e,t){return c(e[0],t[0])}try{(u=e.reduce(function(e,t){let n=0,i=e.length;for(;n<i;++n){let i=e[n];if(0>r(t[0],i[1])&&r(t[1],i[0])>0){i[0]=o(i[0],t[0]),i[1]=a(i[1],t[1]);break}}return n===i&&e.push(t),e},[])).sort(d)}catch(e){return ut(this,lI)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>i(e,u[p][0])>0:e=>i(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>ui(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=i),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var i=e.key;m(i);)if(++p===u.length)return t(r),!1;return!!(!f(i)&&!h(i))||(0===this._cmp(i,u[p][1])||0===this._cmp(i,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=sy.apply(sm,arguments);return e.every(e=>"string"==typeof e)?0===e.length?ur(this):this.inAnyRange(e.map(e=>[e,e+lM])):ut(this,"startsWithAnyOf() only works with strings")}}function us(e){return lf(function(t){return ul(t),e(t.target.error),!1})}function ul(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let uu="storagemutated",uc="x-storagemutated-1",ud=lY(null,uu);class up{_lock(){return a7(!s5.global),++this._reculock,1!==this._reculock||s5.global||(s5.lockOwnerFor=this),this}_unlock(){if(a7(!s5.global),0==--this._reculock)for(s5.global||(s5.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{lC(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&s5.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(a7(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new sj.DatabaseClosed(r);case"MissingAPIError":throw new sj.MissingAPI(r.message,r);default:throw new sj.OpenFailed(r)}if(!this.active)throw new sj.TransactionInactive;return a7(null===this._completion._state),(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=lf(t=>{ul(t),this._reject(e.error)}),e.onabort=lf(t=>{ul(t),this.active&&this._reject(new sj.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=lf(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&ud.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return lA(new sj.ReadOnly("Transaction is readonly"));if(!this.active)return lA(new sj.TransactionInactive);if(this._locked())return new le((n,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,i)},s5])});if(r)return lw(()=>{var e=new le((e,r)=>{this._lock();let n=t(e,r,this);n&&n.then&&n.then(e,r)});return e.finally(()=>this._unlock()),e._lib=!0,e});var n=new le((e,r)=>{var n=t(e,r,this);n&&n.then&&n.then(e,r)});return n._lib=!0,n}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let r=le.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then(()=>r);else{t._waitingFor=r,t._waitingQueue=[];var n=t.idbtrans.objectStore(t.storeNames[0]);!function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(n.get(-1/0).onsuccess=e)}()}var i=t._waitingFor;return new le((e,n)=>{r.then(r=>t._waitingQueue.push(lf(e.bind(null,r))),e=>t._waitingQueue.push(lf(n.bind(null,e)))).finally(()=>{t._waitingFor===i&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new sj.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(aQ(t,e))return t[e];let r=this.schema[e];if(!r)throw new sj.NotFound("Table "+e+" not part of transaction");let n=new this.db.Table(e,r,this);return n.core=this.db.core.table(e),t[e]=n,n}}function uf(e,t,r,n,i,o,a){return{name:e,keyPath:t,unique:r,multi:n,auto:i,compound:o,src:(r&&!a?"&":"")+(n?"*":"")+(i?"++":"")+uh(t)}}function uh(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function um(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:st(r,e=>[e.name,e])}}let uy=e=>{try{return e.only([[]]),uy=()=>[[]],[[]]}catch(e){return uy=()=>lM,lM}};function ug(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>sr(t,e):t=>sr(t,e)}function ub(e){return[].slice.call(e)}let uv=0;function uw(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function u_({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},i){var o;return{dbcore:(o=function(e,t,r){let n;function i(e){if(3===e.type)return null;if(4===e.type)throw Error("Cannot convert never type to IDBKeyRange");let{lower:r,upper:n,lowerOpen:i,upperOpen:o}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!o):void 0===n?t.lowerBound(r,!!i):t.bound(r,n,!!i,!!o)}let{schema:o,hasGetAll:a}=(n=ub(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=aY(t),i=null==t,o={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:ug(t)},indexes:ub(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:i}=e,a={name:t,compound:aY(i),keyPath:i,unique:r,multiEntry:n,extractKey:ug(i)};return o[uw(i)]=a,a}),getIndexByKeyPath:e=>o[uw(e)]};return o[":id"]=a.primaryKey,null!=t&&(o[uw(t)]=a.primaryKey),a})},hasGetAll:n.length>0&&"getAll"in r.objectStore(n[0])&&!("u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}),s=o.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:o,range:a}){return new Promise((s,l)=>{let u;s=lf(s);let c=e.objectStore(t),d=null==c.keyPath,p="put"===r||"add"===r;if(!p&&"delete"!==r&&"deleteRange"!==r)throw Error("Invalid operation type: "+r);let{length:f}=n||o||{length:1};if(n&&o&&n.length!==o.length)throw Error("Given keys array must have same length as given values array.");if(0===f)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let h=[],m=[],y=0,g=e=>{++y,ul(e)};if("deleteRange"===r){if(4===a.type)return s({numFailures:y,failures:m,results:[],lastResult:void 0});3===a.type?h.push(u=c.clear()):h.push(u=c.delete(i(a)))}else{let[e,t]=p?d?[o,n]:[o,null]:[n,null];if(p)for(let n=0;n<f;++n)h.push(u=t&&void 0!==t[n]?c[r](e[n],t[n]):c[r](e[n])),u.onerror=g;else for(let t=0;t<f;++t)h.push(u=c[r](e[t])),u.onerror=g}let b=e=>{let t=e.target.result;h.forEach((e,t)=>null!=e.error&&(m[t]=e.error)),s({numFailures:y,failures:m,results:"delete"===r?n:h.map(e=>e.result),lastResult:t})};u.onerror=e=>{g(e),b(e)},u.onsuccess=b})},getMany:({trans:e,keys:r})=>new Promise((n,i)=>{n=lf(n);let o=e.objectStore(t),a=r.length,s=Array(a),l,u=0,c=0,d=e=>{let t=e.target;s[t._pos]=t.result,++c===u&&n(s)},p=us(i);for(let e=0;e<a;++e)null!=r[e]&&((l=o.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,i)=>{n=lf(n);let o=e.objectStore(t).get(r);o.onsuccess=e=>n(e.target.result),o.onerror=us(i)}),query:e=>new Promise((r,n)=>{r=lf(r);let{trans:o,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=o.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=i(p);if(0===l)return r({result:[]});if(a){let e=s?h.getAll(m,c):h.getAllKeys(m,c);e.onsuccess=e=>r({result:e.target.result}),e.onerror=us(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),i=[];t.onsuccess=n=>{let o=t.result;return o?(i.push(s?o.value:o.primaryKey),++e===l?r({result:i}):void o.continue()):r({result:i})},t.onerror=us(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:o,unique:a}){return new Promise((s,l)=>{s=lf(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=o?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(i(c),f):p.openCursor(i(c),f);h.onerror=us(l),h.onsuccess=lf(t=>{let r=h.result;if(!r)return void s(null);r.___id=++uv,r.done=!1;let n=r.continue.bind(r),i=r.continuePrimaryKey;i&&(i=i.bind(r));let o=r.advance.bind(r),a=()=>{throw Error("Cursor not stopped")};r.trans=e,r.stop=r.continue=r.continuePrimaryKey=r.advance=()=>{throw Error("Cursor not started")},r.fail=lf(l),r.next=function(){let e=1;return this.start(()=>e--?this.continue():this.stop()).then(()=>this)},r.start=e=>{let t=new Promise((e,t)=>{e=lf(e),h.onerror=us(t),r.fail=t,r.stop=t=>{r.stop=r.continue=r.continuePrimaryKey=r.advance=a,e(t)}}),s=()=>{if(h.result)try{e()}catch(e){r.fail(e)}else r.done=!0,r.start=()=>{throw Error("Cursor behind last entry")},r.stop()};return h.onsuccess=lf(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=i,r.advance=o,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:o}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=i(o),c=u?l.count(u):l.count();c.onsuccess=lf(t=>e(t.target.result)),c.onerror=us(a)})}}}),l={};return s.forEach(e=>l[e.name]=e),{stack:"dbcore",transaction:e.transaction.bind(e),table(e){if(!l[e])throw Error(`Table '${e}' not found`);return l[e]},MIN_KEY:-1/0,MAX_KEY:uy(t),schema:o}}(t,r,i),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),o))}}(e._middlewares,r,e._deps,t);e.core=n.dbcore,e.tables.forEach(t=>{let r=t.name;e.core.schema.tables.some(e=>e.name===r)&&(t.core=e.core.table(r),e[r]instanceof e.Table&&(e[r].core=t.core))})}function ux({_novip:e},t,r,n){r.forEach(r=>{let i=n[r];t.forEach(t=>{let n=a6(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?a3(t,r,{get(){return this.table(r)},set(e){a1(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,i))})})}function uE({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function uS(e,t){return e._cfg.version-t._cfg.version}function uD(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],o=t[r];if(i){let e={name:r,def:o,recreate:!1,del:[],add:[],change:[]};if(""+(i.primKey.keyPath||"")==""+(o.primKey.keyPath||"")&&(i.primKey.auto===o.primKey.auto||lB)){let t,r=i.idxByName,a=o.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],i=a[t];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 e.recreate=!0,n.change.push(e)}else n.add.push([r,o])}return n}function uO(e,t,r,n){let i=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>uP(i,e)),i}function uP(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function uC(e,t,r){let n={};return a8(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),i=t.keyPath,o=uf(uh(i),i||"",!1,!1,!!t.autoIncrement,i&&"string"!=typeof i,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);i=r.keyPath;var s=uf(r.name,i,!!r.unique,!!r.multiEntry,!1,i&&"string"!=typeof i,!1);a.push(s)}n[e]=um(e,o,a)}),n}function uk({_novip:e},t,r){let n=r.db.objectStoreNames;for(let i=0;i<n.length;++i){let o=n[i],a=r.objectStore(o);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,i="string"==typeof n?n:"["+a8(n).join("+")+"]";if(t[o]){let e=t[o].idxByName[i];e&&(e.name=r,delete t[o].idxByName[i],t[o].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&aG.WorkerGlobalScope&&aG instanceof aG.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class uT{_parseStoresSpec(e,t){aq(e).forEach(r=>{if(null!==e[r]){var n=e[r].split(",").map((e,t)=>{let r=(e=e.trim()).replace(/([&*]|\+\+)/g,""),n=/^\[/.test(r)?r.match(/^\[(.*)\]$/)[1].split("+"):r;return uf(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),aY(n),0===t)}),i=n.shift();if(i.multi)throw new sj.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new sj.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new sj.Schema("Index must have a name and cannot be an empty string")}),t[r]=um(r,i,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?aZ(this._cfg.storesSource,e):e;let r=t._versions,n={},i={};return r.forEach(e=>{aZ(n,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(n,i)}),t._dbSchema=i,uE(t,[t._allTables,t,t.Transaction.prototype]),ux(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],aq(i),i),t._storeNames=aq(i),this}upgrade(e){return this._cfg.contentUpgrade=sU(this._cfg.contentUpgrade||sN,e),this}}function uj(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new uZ(lU,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function uR(e){return e&&"function"==typeof e.databases}function uA(e){return lw(function(){return s5.letThrough=!0,e()})}function uN(e){var t=t=>e.next(t),r=i(t),n=i(t=>e.throw(t));function i(e){return t=>{var i=e(t),o=i.value;return i.done?o:o&&"function"==typeof o.then?o.then(r,n):aY(o)?Promise.all(o).then(r,n):r(o)}}return i(t)()}function uM(e,t,r){var n=arguments.length;if(n<2)throw new sj.InvalidArgument("Too few arguments");for(var i=Array(n-1);--n;)i[n-1]=arguments[n];return r=i.pop(),[e,sa(i),r]}function u$(e,t,r){let n=aY(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let uI={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,i={},o=[];function a(e,t,r){let n=uw(e),s=i[n]=i[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:ug(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||o.push(c),l>1&&a(2===l?e[0]:e.slice(0,l-1),t+1,r),s.sort((e,t)=>e.keyTail-t.keyTail),c}let s=a(n.primaryKey.keyPath,0,n.primaryKey);for(let e of(i[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let i=t.query.index;return i.isVirtual?{...t,query:{index:i,range:(r=t.query.range,n=i.keyTail,{type:1===r.type?2:r.type,lower:u$(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:u$(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:o,getIndexByKeyPath:function(e){let t=i[uw(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:i,keyLength:o}=t.query.index;return i?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(i){null!=i?r.continue(u$(i,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,o).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,i){r.continuePrimaryKey(u$(t,e.MAX_KEY,n),i)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===o?e[0]:e.slice(0,o)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function uL(e,t,r,n){return r=r||{},n=n||"",aq(e).forEach(i=>{if(aQ(t,i)){var o=e[i],a=t[i];if("object"==typeof o&&"object"==typeof a&&o&&a){let e=sp(o);e!==sp(a)?r[n+i]=t[i]:"Object"===e?uL(o,a,r,n+i+"."):o!==a&&(r[n+i]=t[i])}else o!==a&&(r[n+i]=t[i])}else r[n+i]=void 0}),aq(t).forEach(i=>{aQ(e,i)||(r[n+i]=t[i])}),r}let uF={stack:"dbcore",name:"HooksMiddleware",level:2,create:e=>({...e,table(t){let r=e.table(t),{primaryKey:n}=r.schema;return{...r,mutate(e){let i=s5.trans,{deleting:o,creating:a,updating:s}=i.table(t).hook;switch(e.type){case"add":if(a.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===sN&&s.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"delete":if(o.fire===sN)break;return i._promise("readwrite",()=>l(e),!0);case"deleteRange":if(o.fire===sN)break;return i._promise("readwrite",()=>(function e(t,i,o){return r.query({trans:t,values:!1,query:{index:n,range:i},limit:o}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<o?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...i,lower:r[r.length-1],lowerOpen:!0},o)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,i;let l=s5.trans,u=e.keys||("delete"===(t=e).type?t.keys:t.keys||t.values.map(n.extractKey));if(!u)throw Error("Keys missing");return"delete"!==(e="add"===e.type||"put"===e.type?{...e,keys:u}:{...e}).type&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),("add"===(i=e).type?Promise.resolve([]):r.getMany({trans:i.trans,keys:u,cache:"immutable"})).then(t=>{let i=u.map((r,i)=>{let u=t[i],c={onerror:null,onsuccess:null};if("delete"===e.type)o.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[i],l);null==r&&null!=t&&(r=t,e.keys[i]=r,n.outbound||sn(e.values[i],n.keyPath,r))}else{let t=uL(u,e.values[i]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[i];Object.keys(n).forEach(e=>{aQ(t,e)?t[e]=n[e]:sn(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:o,lastResult:a})=>{for(let o=0;o<u.length;++o){let a=n?n[o]:u[o],s=i[o];null==a?s.onerror&&s.onerror(r[o]):s.onsuccess&&s.onsuccess("put"===e.type&&t[o]?e.values[o]:a)}return{failures:r,results:n,numFailures:o,lastResult:a}}).catch(e=>(i.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function uB(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let i=0,o=0;i<t.keys.length&&o<e.length;++i)0===l2(t.keys[i],e[o])&&(n.push(r?sc(t.values[i]):t.values[i]),++o);return n.length===e.length?n:null}catch(e){return null}}let uV={stack:"dbcore",level:-1,create:e=>({table:t=>{let r=e.table(t);return{...r,getMany:e=>{if(!e.cache)return r.getMany(e);let t=uB(e.keys,e.trans._cache,"clone"===e.cache);return t?le.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?sc(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function uU(e){return!("from"in e)}let uW=function(e,t){if(!this){let t=new uW;return e&&"d"in e&&aZ(t,e),t}aZ(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function uK(e,t,r){let n=l2(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(uU(e))return aZ(e,{from:t,to:r,d:1});let i=e.l,o=e.r;if(0>l2(r,e.from))return i?uK(i,t,r):e.l={from:t,to:r,d:1,l:null,r:null},uG(e);if(l2(t,e.to)>0)return o?uK(o,t,r):e.r={from:t,to:r,d:1,l:null,r:null},uG(e);0>l2(t,e.from)&&(e.from=t,e.l=null,e.d=o?o.d+1:1),l2(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;i&&!e.l&&uH(e,i),o&&a&&uH(e,o)}function uH(e,t){uU(t)||function e(t,{from:r,to:n,l:i,r:o}){uK(t,r,n),i&&e(t,i),o&&e(t,o)}(e,t)}function uz(e){let t=uU(e)?null:{s:0,n:e};return{next(e){let r=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,r)for(;t.n.l&&0>l2(e,t.n.from);)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,!r||0>=l2(e,t.n.to))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 uG(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),i=n>1?"r":n<-1?"l":"";if(i){let t="r"===i?"l":"r",r={...e},n=e[i];e.from=n.from,e.to=n.to,e[i]=n[i],r[i]=n[t],e[t]=r,r.d=uq(r)}e.d=uq(e)}function uq({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}a0(uW.prototype,{add(e){return uH(this,e),this},addKey(e){return uK(this,e,e),this},addKeys(e){return e.forEach(e=>uK(this,e,e)),this},[sf](){return uz(this)}});let uY={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new uW(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let i=e.table(n),{schema:o}=i,{primaryKey:a}=o,{extractKey:s,outbound:l}=a,u={...i,mutate:e=>{let a=e.trans,s=a.mutatedParts||(a.mutatedParts={}),l=e=>{let r=`idb://${t}/${n}/${e}`;return s[r]||(s[r]=new uW)},u=l(""),c=l(":dels"),{type:d}=e,[p,f]="deleteRange"===e.type?[e.range]:"delete"===e.type?[e.keys]:e.values.length<50?[[],e.values]:[],h=e.trans._cache;return i.mutate(e).then(e=>{if(aY(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=uB(p,h);t||"add"===d||c.addKeys(p),(t||f)&&o.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let i=t=>e.multiEntry&&aY(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let o=t&&n(t[r]),a=f&&n(f[r]);0!==l2(o,a)&&(null!=o&&i(o),null!=a&&i(a))})})}else if(p){let e={from:p.lower,to:p.upper};c.add(e),u.add(e)}else u.add(r),c.add(r),o.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,i;return[t,new uW(null!=(n=r.lower)?n:e.MIN_KEY,null!=(i=r.upper)?i:e.MAX_KEY)]},d={get:e=>[a,new uW(e.key)],getMany:e=>[a,(new uW).addKeys(e.keys)],count:c,query:c,openCursor:c};return aq(d).forEach(e=>{u[e]=function(o){let{subscr:a}=s5;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new uW)},c=u(""),p=u(":dels"),[f,h]=d[e](o);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&o.values&&i.query({...o,values:!1});return i[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&o.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=o.values?r.result.map(s):r.result;o.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=o.values;return r&&Object.create(r,{key:{get:()=>(p.addKey(r.primaryKey),r.key)},primaryKey:{get(){let e=r.primaryKey;return p.addKey(e),e}},value:{get:()=>(e&&c.addKey(r.primaryKey),r.value)}})}return r})}p.add(r)}}return i[e].apply(this,arguments)}}),u}}}};class uZ{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=uZ.dependencies;this._options=t={addons:uZ.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:i}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const o={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:sN,dbReadyPromise:null,cancelOpen:sN,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};o.dbReadyPromise=new le(e=>{o.dbReadyResolve=e}),o.openCanceller=new le((e,t)=>{o.cancelOpen=t}),this._state=o,this.name=e,this.on=lY(this,"populate","blocked","versionchange","close",{ready:[sU,sN]}),this.on.ready.subscribe=a9(this.on.ready.subscribe,e=>(t,r)=>{uZ.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||le.resolve().then(t),r&&e(t);else if(n.onReadyBeingFired)n.onReadyBeingFired.push(t),r&&e(t);else{e(t);let n=this;r||e(function e(){n.on.ready.unsubscribe(t),n.on.ready.unsubscribe(e)})}})}),this.Collection=(r=this,lZ(l8.prototype,function(e,t){this.db=r;let n=lz,i=null;if(t)try{n=t()}catch(e){i=e}let o=e._ctx,a=o.table,s=a.hook.reading.fire;this._ctx={table:a,index:o.index,isPrimKey:!o.index||a.schema.primKey.keyPath&&o.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:i,or:o.or,valueMapper:s!==sM?s:null}})),this.Table=function(e){return lZ(lq.prototype,function(t,r,n){this.db=e,this._tx=n,this.name=t,this.schema=r,this.hook=e._allTables[t]?e._allTables[t].hook:lY(null,{creating:[sL,sN],reading:[s$,sM],updating:[sB,sN],deleting:[sF,sN]})})}(this),this.Transaction=function(e){return lZ(up.prototype,function(t,r,n,i,o){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=lY(this,"complete","error","abort"),this.parent=o||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new le((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(),lA(e)})})}(this),this.Version=function(e){return lZ(uT.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return lZ(ua.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let i=e._deps.indexedDB;if(!i)throw new sj.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)=>0>i.cmp(e,t)?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=uy(t.IDBKeyRange),this._createTransaction=(e,t,r,n)=>new this.Transaction(e,t,r,this._options.chromeTransactionDurability,n),this._fireOnBlocked=e=>{this.on("blocked").fire(e),lF.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(uI),this.use(uF),this.use(uY),this.use(uV),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new sj.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new sj.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,e);let t=this._versions;var r=t.filter(t=>t._cfg.version===e)[0];return r||(r=new this.Version(e),t.push(r),t.sort(uS),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||s5.letThrough||this._vip)?e():new le((e,t)=>{if(this._state.openComplete)return t(new sj.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new sj.DatabaseClosed);this.open().catch(sN)}this._state.dbReadyPromise.then(e,t)}).then(e)}use({stack:e,create:t,level:r,name:n}){n&&this.unuse({stack:e,name:n});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:null==r?10:r,name:n}),i.sort((e,t)=>e.level-t.level),this}unuse({stack:e,name:t,create:r}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter(e=>r?e.create!==r:!!t&&e.name!==t)),this}open(){return function(e){var t;let r=e._state,{indexedDB:n}=e._deps;if(r.isBeingOpened||e.idbdb)return r.dbReadyPromise.then(()=>r.dbOpenError?lA(r.dbOpenError):e);sb&&(r.openCanceller._stackHolder=s_()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let i=r.openCanceller;function o(){if(r.openCanceller!==i)throw new sj.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1;return le.race([i,("u"<typeof navigator?le.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(e){var r=function(){return indexedDB.databases().finally(e)};t=setInterval(r,100),r()}).finally(function(){return clearInterval(t)}):Promise.resolve()).then(()=>new le((t,i)=>{if(o(),!n)throw new sj.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new sj.MissingAPI;u.onerror=us(i),u.onblocked=lf(e._fireOnBlocked),u.onupgradeneeded=lf(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=ul,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=lf(()=>{i(new sj.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=us(i);var o,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,o=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(i),a=n._reject.bind(n),p=s5.transless||s5,lw(()=>{s5.trans=n,s5.transless=p,0===o?(aq(r).forEach(e=>{uO(c,e,r[e].primKey,r[e].indexes)}),u_(e,c),le.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let i=[],o=e._versions,a=e._dbSchema=uC(e,e.idbdb,n),s=!1;return o.filter(e=>e._cfg.version>=t).forEach(o=>{i.push(()=>{let i=a,l=o._cfg.dbschema;uk(e,i,n),uk(e,l,n),a=e._dbSchema=l;let u=uD(i,l);u.add.forEach(e=>{uO(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new sj.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>uP(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),uP(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=o._cfg.contentUpgrade;if(c&&o._cfg.version>t){let t;u_(e,n),r._memoizedTables={},s=!0;let o=si(l);u.del.forEach(e=>{o[e]=i[e]}),uE(e,[e.Transaction.prototype]),ux(e,[e.Transaction.prototype],aq(o),o),r.schema=o;let a=sg(c);a&&l_();let d=le.follow(()=>{if((t=c(r))&&a){var e=lx.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?le.resolve(t):d.then(()=>t)}}),i.push(t=>{var n;s&&lB||(n=o._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),uE(e,[e.Transaction.prototype]),ux(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return i.length?le.resolve(i.shift()(r.idbtrans)).then(e):le.resolve()})().then(()=>{var e;aq(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||uO(n,t,e[t].primKey,e[t].indexes)})})})(e,o,n,c).catch(a)})}},i),u.onsuccess=lf(()=>{s=null;let n=e._novip.idbdb=u.result,i=a8(n.objectStoreNames);if(i.length>0)try{let t,o=n.transaction(1===i.length?i[0]:i,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=uC(0,t,r);e._storeNames=a8(t.objectStoreNames,0),ux(e,[e._allTables],aq(n),n)}(e,n,o):(uk(e,e._dbSchema,o),((t=uD(uC(0,e.idbdb,o),e._dbSchema)).add.length||t.change.some(e=>e.add.length||e.change.length))&&console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.")),u_(e,o)}catch(e){}lF.push(e),n.onversionchange=lf(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=lf(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){uR(e)||r===lU||uj(e,t).put({name:r}).catch(sN)}(e._deps,a),t()},i)}))]).then(()=>(o(),r.onReadyBeingFired=[],le.resolve(uA(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(sU,sN);return r.onReadyBeingFired=[],le.resolve(uA(()=>n(e.vip))).then(t)}}))).finally(()=>{r.onReadyBeingFired=null,r.isBeingOpened=!1}).then(()=>e).catch(t=>{r.dbOpenError=t;try{s&&s.abort()}catch(e){}return i===r.openCanceller&&e._close(),lA(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=lF.indexOf(this);if(t>=0&&lF.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new le(t=>{e.dbReadyResolve=t}),e.openCanceller=new le((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new sj.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new le((r,n)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=lf(()=>{!function({indexedDB:e,IDBKeyRange:t},r){uR(e)||r===lU||uj(e,t).delete(r).catch(sN)}(this._deps,this.name),r()}),e.onerror=us(n),e.onblocked=this._fireOnBlocked};if(e)throw new sj.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(i):i()})}backendDB(){return this.idbdb}isOpen(){return null!==this.idbdb}hasBeenClosed(){let e=this._state.dbOpenError;return e&&"DatabaseClosed"===e.name}hasFailed(){return null!==this._state.dbOpenError}dynamicallyOpened(){return this._state.autoSchema}get tables(){return aq(this._allTables).map(e=>this._allTables[e])}transaction(){let e=uM.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,i,o=s5.trans;o&&o.db===this&&-1===e.indexOf("!")||(o=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(i=t.map(e=>{var t=e instanceof this.Table?e.name:e;if("string"!=typeof t)throw TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return t}),"r"==e||e===lW)n=lW;else{if("rw"!=e&&e!=lK)throw new sj.InvalidArgument("Invalid transaction mode: "+e);n=lK}if(o){if(o.mode===lW&&n===lK){if(!a)throw new sj.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");o=null}o&&i.forEach(e=>{if(o&&-1===o.storeNames.indexOf(e)){if(!a)throw new sj.SubTransaction("Table "+e+" not included in parent transaction.");o=null}}),a&&o&&!o.active&&(o=null)}}catch(e){return o?o._promise(null,(t,r)=>{r(e)}):lA(e)}let s=(function e(t,r,n,i,o){return le.resolve().then(()=>{let a,s=s5.transless||s5,l=t._createTransaction(r,n,t._dbSchema,i);if(i)l.idbtrans=i.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===sT.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,null,o))):lA(i)}let u=sg(o);u&&l_();let c=le.follow(()=>{if(a=o.call(l,l))if(u){var e=lx.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=uN(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?le.resolve(a).then(e=>l.active?e:lA(new sj.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(i&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),lA(e)))})}).bind(null,this,n,i,o,r);return o?o._promise(n,s,"lock"):s5.trans?lC(s5.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!aQ(this._allTables,e))throw new sj.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let uJ="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class uX{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[uJ](){return this}}function uQ(e,t){return aq(t).forEach(r=>{uH(e[r]||(e[r]=new uW),t[r])}),e}try{o={indexedDB:aG.indexedDB||aG.mozIndexedDB||aG.webkitIndexedDB||aG.msIndexedDB,IDBKeyRange:aG.IDBKeyRange||aG.webkitIDBKeyRange}}catch(e){o={indexedDB:null,IDBKeyRange:null}}function u0(e){let t=u1;try{u1=!0,ud.storagemutated.fire(e)}finally{u1=t}}a0(uZ,{...sA,delete:e=>new uZ(e,{addons:[]}).delete(),exists:e=>new uZ(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return uR(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==lU)):uj(e,t).toCollection().primaryKeys()})(uZ.dependencies).then(e)}catch(e){return lA(new sj.MissingAPI)}},defineClass:()=>function(e){aZ(this,e)},ignoreTransaction:e=>s5.trans?lC(s5.transless,e):e(),vip:uA,async:function(e){return function(){try{var t=uN(e.apply(this,arguments));return t&&"function"==typeof t.then?t:le.resolve(t)}catch(e){return lA(e)}}},spawn:function(e,t,r){try{var n=uN(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:le.resolve(n)}catch(e){return lA(e)}},currentTransaction:{get:()=>s5.trans||null},waitFor:function(e,t){let r=le.resolve("function"==typeof e?uZ.ignoreTransaction(e):e).timeout(t||6e4);return s5.trans?s5.trans.waitFor(r):r},Promise:le,debug:{get:()=>sb,set:e=>{sb=e,sv="dexie"===e?()=>!0:lV}},derive:a4,extend:aZ,props:a0,override:a9,Events:lY,on:ud,liveQuery:function(e){let t,r=!1,n=new uX(n=>{let i=sg(e),o=!1,a={},s={},l={get closed(){return o},unsubscribe:()=>{o=!0,ud.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return aq(s).some(e=>a[e]&&function(e,t){let r=uz(t),n=r.next();if(n.done)return!1;let i=n.value,o=uz(e),a=o.next(i.from),s=a.value;for(;!n.done&&!a.done;){if(0>=l2(s.from,i.to)&&l2(s.to,i.from)>=0)return!0;0>l2(i.from,s.from)?i=(n=r.next(s.from)).value:s=(a=o.next(i.from)).value}return!1}(a[e],s[e]))}let p=e=>{uQ(a,e),d()&&f()},f=()=>{let h,m;if(u||o)return;a={};let y={},g=(i&&l_(),h=()=>lw(e,{subscr:y,trans:null}),m=s5.trans?lC(s5.transless,h):h(),i&&m.then(lx,lx),m);c||(ud(uu,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,o||(d()?f():(a={},s=y,n.next&&n.next(e)))},e=>{u=!1,r=!1,n.error&&n.error(e),l.unsubscribe()})};return f(),l});return n.hasValue=()=>r,n.getValue=()=>t,n},extendObservabilitySet:uQ,getByKeyPath:sr,setByKeyPath:sn,delByKeyPath:function(e,t){"string"==typeof t?sn(e,t,void 0):"length"in t&&[].map.call(t,function(t){sn(e,t,void 0)})},shallowClone:si,deepClone:sc,getObjectDiff:uL,cmp:l2,asap:se,minKey:l$,addons:[],connections:lF,errnames:sT,dependencies:o,semVer:lN,version:lN.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),uZ.maxKey=uy(uZ.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(ud(uu,e=>{if(!u1){let t;lB?(t=document.createEvent("CustomEvent")).initCustomEvent(uc,!0,!0,e):t=new CustomEvent(uc,{detail:e}),u1=!0,dispatchEvent(t),u1=!1}}),addEventListener(uc,({detail:e})=>{u1||u0(e)}));let u1=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(uc);"function"==typeof e.unref&&e.unref(),ud(uu,t=>{u1||e.postMessage(t)}),e.onmessage=e=>{e.data&&u0(e.data)}}else if("u">typeof self&&"u">typeof navigator){ud(uu,e=>{try{u1||("u">typeof localStorage&&localStorage.setItem(uc,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:uc,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===uc){let t=JSON.parse(e.newValue);t&&u0(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===uc&&u0(e.changedParts)})}function u3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}le.rejectionMapper=function(e,t){if(!e||e instanceof sO||e instanceof TypeError||e instanceof SyntaxError||!e.name||!sR[e.name])return e;var r=new sR[e.name](t||e.message,e);return"stack"in e&&a3(r,"stack",{get:function(){return this.inner.stack}}),r},sv=lV;class u4 extends uZ{constructor(){super("EsmOffline"),u3(this,"syncQueue",void 0),u3(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function u2(){return new u4}let u6=new u4,u5={},u8=Y("offline-synchronization",{});function u9(){return u8}async function u7(){if(u8.getState().synchronization)return;let e=await u6.syncQueue.count(),t={},r=Object.entries(u5),n=r.length,i={},o=new AbortController,a=()=>{let e=u8.getState().synchronization;u8.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{u8.setState({synchronization:{totalCount:e,pendingCount:e,abortController:o}});for(let e=0;e<n&&r.length>0;e++)for(let e=r.length;e--;){let[n,s]=r[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(i[n]={},await Promise.all(l),t[n]=ce(s,i,o,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{u8.setState({synchronization:void 0})}}async function ce({type:e,dependsOn:t,process:r},n,i,o){let a=[],s=[],l=await ct();await u6.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let u=0;u<a.length;u++){let[c,d,{id:p,dependencies:f=[]}]=a[u];try{let o=await r(d,{abort:i,index:u,items:s,userId:l,dependencies:f.map(({id:e,type:r})=>t.includes(r)?n[r][e]:void 0)});void 0!==p&&(n[e][p]=o),await u6.syncQueue.delete(c)}catch(e){await u6.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{o()}}}async function ct(){let e=await iW();return e?.uuid||"*"}async function cr(e,t,r,n){let i=n&&n.id;return void 0!==i&&await u6.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===i).delete().catch(uZ.errnames.DatabaseClosed),await u6.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(uZ.errnames.DatabaseClosed,()=>-1)}async function cn(e,t,r){let n=await ct();return await cr(n,e,t,r)}async function ci(e,t){return(await co(e,t)).map(e=>e.content)}async function co(e,t){return await u6.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(uZ.errnames.DatabaseClosed,()=>[])}async function ca(e){let t=await ct();return await ci(t,e)}async function cs(e){let t=await ct();return await co(t,e)}async function cl(e){return await u6.syncQueue.get(e).catch(uZ.errnames.DatabaseClosed,()=>void 0)}function cu(e){return!!u5[e]?.options.onBeginEditSyncItem}async function cc(e){let t=await cl(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=u5[t.type]?.options.onBeginEditSyncItem;if(!r)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);r(t)}async function cd(e){await u6.syncQueue.delete(e).catch(uZ.errnames.DatabaseClosed)}function cp(e,t,r,n={}){u5[e]={type:e,dependsOn:t,process:r,options:n}}let cf="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ch=new Uint8Array(16),cm=[];for(let e=0;e<256;++e)cm.push((e+256).toString(16).slice(1));let cy=function(e,t,r){if(cf&&!t&&!e)return cf();let n=(e=e||{}).random||(e.rng||function(){if(!a&&!(a="u">typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return a(ch)})();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return cm[e[t+0]]+cm[e[t+1]]+cm[e[t+2]]+cm[e[t+3]]+"-"+cm[e[t+4]]+cm[e[t+5]]+"-"+cm[e[t+6]]+cm[e[t+7]]+"-"+cm[e[t+8]]+cm[e[t+9]]+"-"+cm[e[t+10]]+cm[e[t+11]]+cm[e[t+12]]+cm[e[t+13]]+cm[e[t+14]]+cm[e[t+15]]}(n)},cg="OFFLINE+";function cb(){return cg+cy()}function cv(e){return e.startsWith(cg)}let cw={};function c_(){return Object.values(cw)}function cx(e){cw[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),cw[e.id]=e}async function cE(e){let t=await cj();return await cS(t,e)}async function cS(e,t){let r=new u4;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(uZ.errnames.DatabaseClosed,()=>[])}async function cD(e,t){let r=await cj();return await cO(r,e,t)}async function cO(e,t,r){let n=new u4,i=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(uZ.errnames.DatabaseClosed,()=>void 0);i?i.users.includes(e)||await n.dynamicOfflineData.update(i.id,{users:[...i.users,e]}).catch(uZ.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(uZ.errnames.DatabaseClosed)}async function cP(e,t){let r=await cj();return await cC(r,e,t)}async function cC(e,t,r){let n=new u4,i=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(uZ.errnames.DatabaseClosed,()=>void 0);i&&(i.users.length>1?await n.dynamicOfflineData.update(i.id,{users:i.users.filter(t=>t!==e)}).catch(uZ.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(i.id).catch(uZ.errnames.DatabaseClosed))}async function ck(e,t){let r=await cE(e);await Promise.all(r.map(async e=>cT(e.type,e.identifier,t)))}async function cT(e,t,r){await cD(e,t);let n=new u4,i=await cj(),o=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(uZ.errnames.DatabaseClosed,()=>void 0),a=c_().filter(t=>t.type===e);if(!o)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,r),{id:e.id,error:void 0}}catch(r){let t=r.message?.toString()??r.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:i,succeededHandlers:l,erroredHandlers:u,errors:c};o.id&&await n.dynamicOfflineData.update(o.id,{syncState:d}).catch(uZ.errnames.DatabaseClosed)}async function cj(){let e=(await iW()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let cR=Y("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function cA(){return c$(),cR}function cN(e,t){c$(),cx({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,r)=>t.onOfflinePatientAdded({patientUuid:e,signal:r??new AbortController().signal})})}async function cM(e){c$(),await cT("patient",e)}function c$(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function cI(e,t,r=!0){if(e){let n=null,[i,o]=await Promise.all([iR(`${ik}/Patient/${e}`,t).catch(e=>n=e),r?cL(e):Promise.resolve(null)]);if(i.ok)return i.data;if(o)return o;if(n)throw n}return null}async function cL(e){let t=(await ca("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function cF(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function cB(e,t){let r=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,r),()=>{window.removeEventListener(`openmrs:${e}`,r)}}var cV=r(6170);function cU(e){return{uuid:e.uuid,display:e.display}}function cW(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return iA(`${iC}/location${n?"?"+n:""}`).pipe((0,cV.map)(e=>e.data.results.map(cU))).pipe((0,cV.take)(1))}function cK(e){return{uuid:e.uuid,display:e.display,name:e.name}}function cH(){return iA(`${iC}/visittype`).pipe((0,cV.map)(e=>e.data.results.map(cK))).pipe((0,cV.take)(1))}var cz=((en={}).NEWVISIT="startVisit",en.EDITVISIT="editVisit",en.LOADING="loadingVisit",en),cG=((ei={}).NOTSTARTED="notStarted",ei.ONGOING="ongoing",ei);let cq="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",cY=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function cZ(){return J("visit",cY)}function cJ(e,t){cZ().setState({patientUuid:e,manuallySetVisitUuid:t})}function cX(e,t){return iR(`${iC}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function cQ(e,t,r){return iR(`${iC}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function c0(e,t,r){return iR(`${iC}/visit?patient=${e}&v=${r??cq}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}cZ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let c1=new es.BehaviorSubject(null);class c3{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+c3.version}static addUnaryOp(e){return c3.max_unop_len=Math.max(e.length,c3.max_unop_len),c3.unary_ops[e]=1,c3}static addBinaryOp(e,t,r){return c3.max_binop_len=Math.max(e.length,c3.max_binop_len),c3.binary_ops[e]=t,r?c3.right_associative.add(e):c3.right_associative.delete(e),c3}static addIdentifierChar(e){return c3.additional_identifier_chars.add(e),c3}static addLiteral(e,t){return c3.literals[e]=t,c3}static removeUnaryOp(e){return delete c3.unary_ops[e],e.length===c3.max_unop_len&&(c3.max_unop_len=c3.getMaxKeyLen(c3.unary_ops)),c3}static removeAllUnaryOps(){return c3.unary_ops={},c3.max_unop_len=0,c3}static removeIdentifierChar(e){return c3.additional_identifier_chars.delete(e),c3}static removeBinaryOp(e){return delete c3.binary_ops[e],e.length===c3.max_binop_len&&(c3.max_binop_len=c3.getMaxKeyLen(c3.binary_ops)),c3.right_associative.delete(e),c3}static removeAllBinaryOps(){return c3.binary_ops={},c3.max_binop_len=0,c3}static removeLiteral(e){return delete c3.literals[e],c3}static removeAllLiterals(){return c3.literals={},c3}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(e){this.expr=e,this.index=0}static parse(e){return new c3(e).parse()}static getMaxKeyLen(e){return Math.max(0,...Object.keys(e).map(e=>e.length))}static isDecimalDigit(e){return e>=48&&e<=57}static binaryPrecedence(e){return c3.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!c3.binary_ops[String.fromCharCode(e)]||c3.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return c3.isIdentifierStart(e)||c3.isDecimalDigit(e)}throwError(e){let t=Error(e+" at character "+this.index);throw t.index=this.index,t.description=e,t}runHook(e,t){if(c3.hooks[e]){let r={context:this,node:t};return c3.hooks.run(e,r),r.node}return t}searchHook(e){if(c3.hooks[e]){let t={context:this};return c3.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===c3.SPACE_CODE||e===c3.TAB_CODE||e===c3.LF_CODE||e===c3.CR_CODE;)e=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let e=this.gobbleExpressions(),t=1===e.length?e[0]:{type:c3.COMPOUND,body:e};return this.runHook("after-all",t)}gobbleExpressions(e){let t=[],r,n;for(;this.index<this.expr.length;)if((r=this.code)===c3.SEMCOL_CODE||r===c3.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())t.push(n);else if(this.index<this.expr.length){if(r===e)break;this.throwError('Unexpected "'+this.char+'"')}return t}gobbleExpression(){let e=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",e)}gobbleBinaryOp(){this.gobbleSpaces();let e=this.expr.substr(this.index,c3.max_binop_len),t=e.length;for(;t>0;){if(c3.binary_ops.hasOwnProperty(e)&&(!c3.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!c3.isIdentifierPart(this.expr.charCodeAt(this.index+e.length))))return this.index+=t,e;e=e.substr(0,--t)}return!1}gobbleBinaryExpression(){let e,t,r,n,i,o,a,s,l;if(!(o=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return o;for(i={value:t,prec:c3.binaryPrecedence(t),right_a:c3.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[o,i,a];t=this.gobbleBinaryOp();){if(0===(r=c3.binaryPrecedence(t))){this.index-=t.length;break}i={value:t,prec:r,right_a:c3.right_associative.has(t)},l=t;let s=e=>i.right_a&&e.right_a?r>e.prec:r<=e.prec;for(;n.length>2&&s(n[n.length-2]);)a=n.pop(),t=n.pop().value,o=n.pop(),e={type:c3.BINARY_EXP,operator:t,left:o,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(i,e)}for(s=n.length-1,e=n[s];s>1;)e={type:c3.BINARY_EXP,operator:n[s-1].value,left:n[s-2],right:e},s-=2;return e}gobbleToken(){let e,t,r,n;if(this.gobbleSpaces(),n=this.searchHook("gobble-token"))return this.runHook("after-token",n);if(e=this.code,c3.isDecimalDigit(e)||e===c3.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===c3.SQUOTE_CODE||e===c3.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===c3.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,c3.max_unop_len)).length;r>0;){if(c3.unary_ops.hasOwnProperty(t)&&(!c3.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!c3.isIdentifierPart(this.expr.charCodeAt(this.index+t.length)))){this.index+=r;let e=this.gobbleToken();return e||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:c3.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}c3.isIdentifierStart(e)?(n=this.gobbleIdentifier(),c3.literals.hasOwnProperty(n.name)?n={type:c3.LITERAL,value:c3.literals[n.name],raw:n.name}:n.name===c3.this_str&&(n={type:c3.THIS_EXP})):e===c3.OPAREN_CODE&&(n=this.gobbleGroup())}return n?(n=this.gobbleTokenProperty(n),this.runHook("after-token",n)):this.runHook("after-token",!1)}gobbleTokenProperty(e){this.gobbleSpaces();let t=this.code;for(;t===c3.PERIOD_CODE||t===c3.OBRACK_CODE||t===c3.OPAREN_CODE||t===c3.QUMARK_CODE;){let r;if(t===c3.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==c3.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===c3.OBRACK_CODE?((e={type:c3.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==c3.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===c3.OPAREN_CODE?e={type:c3.CALL_EXP,arguments:this.gobbleArguments(c3.CPAREN_CODE),callee:e}:(t===c3.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:c3.MEMBER_EXP,computed:!1,object:e,property:this.gobbleIdentifier()}),r&&(e.optional=!0),this.gobbleSpaces(),t=this.code}return e}gobbleNumericLiteral(){let e="",t,r;for(;c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===c3.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if("e"===(t=this.char)||"E"===t){for(e+=this.expr.charAt(this.index++),("+"===(t=this.char)||"-"===t)&&(e+=this.expr.charAt(this.index++));c3.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);c3.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,c3.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===c3.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===c3.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:c3.LITERAL,value:parseFloat(e),raw:e}}gobbleStringLiteral(){let e="",t=this.index,r=this.expr.charAt(this.index++),n=!1;for(;this.index<this.expr.length;){let t=this.expr.charAt(this.index++);if(t===r){n=!0;break}if("\\"===t)switch(t=this.expr.charAt(this.index++)){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:e+=t}else e+=t}return n||this.throwError('Unclosed quote after "'+e+'"'),{type:c3.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(c3.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,c3.isIdentifierPart(e))this.index++;else break;return{type:c3.IDENTIFIER,name:this.expr.slice(t,this.index)}}gobbleArguments(e){let t=[],r=!1,n=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===e){r=!0,this.index++,e===c3.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(i===c3.COMMA_CODE){if(this.index++,++n!==t.length){if(e===c3.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===c3.CBRACK_CODE)for(let e=t.length;e<n;e++)t.push(null)}}else if(t.length!==n&&0!==n)this.throwError("Expected comma");else{let e=this.gobbleExpression();e&&e.type!==c3.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(c3.CPAREN_CODE);if(this.code===c3.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:c3.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:c3.ARRAY_EXP,elements:this.gobbleArguments(c3.CBRACK_CODE)}}}Object.assign(c3,{hooks:new class{add(e,t,r){if("string"!=typeof arguments[0])for(let e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},plugins:new class{constructor(e){this.jsep=e,this.registered={}}register(...e){e.forEach(e=>{if("object"!=typeof e||!e.name||!e.init)throw Error("Invalid JSEP plugin format");this.registered[e.name]||(e.init(this.jsep),this.registered[e.name]=e)})}}(c3),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),c3.max_unop_len=c3.getMaxKeyLen(c3.unary_ops),c3.max_binop_len=c3.getMaxKeyLen(c3.binary_ops);let c4=e=>new c3(e).parse(),c2=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(c3).filter(e=>!c2.includes(e)&&void 0===c4[e]).forEach(e=>{c4[e]=c3[e]}),c4.Jsep=c3,c4.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:i},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}});let c6="ArrowFunctionExpression",c5={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},c8={...c5,Promise};function c9(e,t={}){return di(e,t,dl)}async function c7(e,t={}){return da(e,t,dl)}function de(e,t={}){return di(e,t,du)}function dt(e,t={}){return da(e,t,du)}function dr(e,t={}){return di(e,t,dc)}function dn(e,t={}){return da(e,t,dc)}function di(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=df(t,c5),i=dd("string"==typeof e?c4(e):e,n);if(r(i))return i;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function da(e,t={},r){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=df(t,c8);return Promise.resolve(dd("string"==typeof e?c4(e):e,n)).then(t=>{if(r(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ds(e){return c4(e)}function dl(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function du(e){return"boolean"==typeof e}function dc(e){return"number"==typeof e}function dd(e,t){switch(e.type){case"UnaryExpression":var r,n,i,o,a,s,l,u,c,d,p,f,h=e,m=t;let y=dd(h.argument,m);switch(h.operator){case"+":return+y;case"-":return-y;case"~":return~y;case"!":return!y;default:throw`Expression evaluator does not support operator '${h.operator}''`}case"BinaryExpression":var g=e,b=t;let v=dd(g.left,b),w=dd(g.right,b);switch(g.operator){case"+":return v+w;case"-":return v-w;case"*":return v*w;case"/":return v/w;case"%":return v%w;case"**":return v**w;case"==":return v==w;case"===":return v===w;case"!=":return v!=w;case"!==":return v!==w;case">":return v>w;case">=":return v>=w;case"<":return v<w;case"<=":return v<=w;case"in":return v in w;case"&&":return v&&w;case"||":return v||w;case"??":return v??w;default:throw`Expression evaluator does not support operator '${g.operator}' operator`}case"ConditionalExpression":return r=e,n=t,dd(r.test,n)?dd(r.consequent,n):dd(r.alternate,n);case"CallExpression":var x=e,E=t;let S=x.arguments?.map(dh(E)),D=dd(x.callee,E);if(D){if("function"!=typeof D)throw`${dy(x.callee)} is not a function`}else throw`No function named ${dy(x.callee)} is defined in this context`;return D(...S);case"ArrowFunctionExpression":let O;return i=e,o=t,O=i.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<O.length)throw`Required argument(s) ${O.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(O.reduce((t,r,n)=>{let i=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let r of Object.keys(t))if(!e(t[r]))return!1;return!0}if(Array.isArray(t)){for(let r of t)if(!e(r))break}return!1}(i)&&t.push([r,i]),t},[]));return dd(i.body,o.addVariables(t))}).bind(o.thisObj??null);case"MemberExpression":return function(e,t){let r,n=dd(e.object,t);if(void 0===n)switch(e.object.type){case"Identifier":{let r=dp(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":{let r=dp(e.property,t);throw TypeError(`TypeError: cannot read properties of undefined (reading '${r}')`)}default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}let i=n;if("string"==typeof n)i=String.prototype;else if("number"==typeof n)i=Number.prototype;else if("function"==typeof n);else if("object"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;switch(t.thisObj=i,e.property.type){case"Identifier":case"MemberExpression":r=dd(e.property,t);break;default:{let i=dd(e.property,t);if(void 0===i)throw{type:"Illegal property access",message:"No property was supplied to the property access"};dm(i),r=n[i]}}return"function"==typeof r?r.bind(n):r}(e,t);case"ArrayExpression":return a=e,s=t,a.elements?.map(dh(s));case"SequenceExpression":let P;return l=e,u=t,(P=l.expressions.map(dh(u)))[P.length-1];case"NewExpression":var C=e,k=t;if(C.callee&&"Identifier"===C.callee.type){let e=C.arguments?.map(dh(k));switch(C.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${C.callee.name}`}}if(C.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return dm((c=e).value),c.value;case"Identifier":var T=e,j=t;dm(T.name);let R=j.thisObj;if(R&&("object"==typeof R||"function"==typeof R)&&T.name in R){let e=R[T.name];return dm(e),e}if(j.variables&&T.name in j.variables){let e=j.variables[T.name];return dm(e),e}return T.name in j.globals?j.globals[T.name]:void 0;case"TemplateLiteral":let A,N;return d=e,p=t,A=d.expressions?.map(dh(p))??[],(N=d.quasis?.map(dh(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+A.join("")+N.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function dp(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return dp(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function df(e,t){let r={thisObj:void 0,variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}function dh(e){return function(t){return null===t?null:dd(t,e)}}function dm(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}function dy(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function dg(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...c8},isLocalExpression:!1,variables:new Set};return db("string"==typeof e?c4(e):e,t),[...t.variables]}function db(e,t){switch(e.type){case"UnaryExpression":return n=e,i=t,db(n.argument,i);case"BinaryExpression":return o=e,a=t,[db(o.left,a),db(o.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[db(s.consequent,l),db(s.test,l),db(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=db(u.callee,c),u.arguments?.map(dv(c)),r;case"ArrowFunctionExpression":var n,i,o,a,s,l,u,c,d,p,f,h,m,y,g,b,v,w,x=e,E=t;let S={...E};S.isLocalExpression=!0;let D=x.params?.map(dv(S))??[],O=db(x.body,S)??[];if(O&&Array.isArray(O))for(let e of O)D.includes(e)||E.variables.add(e);return;case"MemberExpression":let P;return d=e,p=t,db(d.object,p),void((P={...p}).isLocalExpression=!0,db(d.property,P));case"ArrayExpression":return f=e,h=t,void f.elements?.map(dv(h));case"SequenceExpression":return m=e,y=t,void m.expressions?.map(dv(y));case"NewExpression":return g=e,b=t,void g.arguments?.map(dv(b));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,k=t;if(!(C.name in k.globals))if(k.isLocalExpression)return C.name;else k.variables.add(C.name);return;case"TemplateLiteral":return v=e,w=t,void(v.expressions?.map(dv(w)),v.quasis?.map(dv(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function dv(e){return function(t){return null===t?null:db(t,e)}}c4.plugins.register({name:"arrow",init(e){e.addBinaryOp("=>",.1,!0),e.hooks.add("gobble-expression",function(t){if(this.gobbleSpaces(),this.code===e.OPAREN_CODE){let r=this.index;if(this.index++,this.gobbleSpaces(),this.code===e.CPAREN_CODE){this.index++;let e=this.gobbleBinaryOp();if("=>"===e){let r=this.gobbleBinaryExpression();r||this.throwError("Expected expression after "+e),t.node={type:c6,params:null,body:r};return}}this.index=r}}),e.hooks.add("after-expression",function(t){!function t(r){r&&(Object.values(r).forEach(e=>{e&&"object"==typeof e&&t(e)}),"=>"===r.operator&&(r.type=c6,r.params=r.left?[r.left]:null,r.body=r.right,r.params&&r.params[0].type===e.SEQUENCE_EXP&&(r.params=r.params[0].expressions),delete r.left,delete r.right,delete r.operator))}(t.node)})}}),c4.plugins.register({name:"new",init(e){e.addUnaryOp("new"),e.hooks.add("after-token",function(t){let r=t.node;if(r&&"new"===r.operator){r.argument&&[e.CALL_EXP,e.MEMBER_EXP].includes(r.argument.type)||this.throwError("Expected new function()"),t.node=r.argument;let n=t.node;for(;n.type===e.MEMBER_EXP||n.type===e.CALL_EXP&&n.callee.type===e.MEMBER_EXP;)n=n.type===e.MEMBER_EXP?n.object:n.callee.object;n.type="NewExpression"}})}}),c4.plugins.register({name:"numbers",init(e){function t(e){return"x"===e||"X"===e?(this.index+=2,[[48,57],[65,70],[97,102]]):"b"===e||"B"===e?(this.index+=2,[[48,49]]):"o"===e||"O"===e||e>="0"&&e<="7"?(this.index+=e<="7"?1:2,[[48,55]]):null}function r(t){let r=this.index,n="",i=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};i(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),i());let o=this.char;("e"===o||"E"===o)&&(n+=this.expr.charAt(this.index++),("+"===(o=this.char)||"-"===o)&&(n+=this.expr.charAt(this.index++)),i(),e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")"));let a=this.code;if(e.isIdentifierStart(a))this.throwError("Variable names cannot start with a number ("+n+this.char+")");else if(a===e.PERIOD_CODE){n.length>1&&this.throwError(`Unexpected period ${JSON.stringify({chCode:a,number:n},null,2)}`),this.index=r;return}t.node={type:e.LITERAL,value:parseFloat(n),raw:this.expr.substring(r,this.index)}}e.hooks.add("gobble-token",function(n){if(48===this.code){var i,o,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;i=this.code,o=u,95===i||o.some(([e,t])=>i>=e&&i<=t);)95===this.code?this.index++:c+=this.expr.charAt(this.index++);if(e.isIdentifierPart(this.code)){if(e.isDecimalDigit(this.code)&&e.isDecimalDigit(l.charCodeAt(0))){this.index=s+1,r.call(this,n);return}this.throwError("unexpected char within number")}n.node={type:e.LITERAL,value:parseInt(c,"x"===(a=l)||"X"===a?16:"b"===a||"B"===a?2:8),raw:this.expr.substring(s,this.index)}}else(e.isDecimalDigit(this.code)||this.code===e.PERIOD_CODE)&&r.call(this,n)})}}),c4.plugins.register({name:"regex",init(e){e.hooks.add("gobble-token",function(t){if(47===this.code){let r=++this.index,n=!1;for(;this.index<this.expr.length;){if(47===this.code&&!n){let n,i=this.expr.slice(r,this.index),o="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)o+=this.char;else break}try{n=new RegExp(i,o)}catch(e){this.throwError(e.message)}return t.node={type:e.LITERAL,value:n,raw:this.expr.slice(r-1,this.index)},t.node=this.gobbleTokenProperty(t.node),t.node}this.code===e.OBRACK_CODE?n=!0:n&&this.code===e.CBRACK_CODE&&(n=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}}),c4.plugins.register({name:"ternary",init(e){e.hooks.add("after-expression",function(t){if(t.node&&this.code===e.QUMARK_CODE){this.index++;let r=t.node,n=this.gobbleExpression();if(n||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let i=this.gobbleExpression();if(i||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:i},r.operator&&e.binary_ops[r.operator]<=.9){let n=r;for(;n.right.operator&&e.binary_ops[n.right.operator]<=.9;)n=n.right;t.node.test=n.right,n.right=t.node,t.node=r}}else this.throwError("Expected :")}})}}),c4.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",i="",o=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:i,cooked:n},tail:o});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,o=!0,s(),e.node=t,r&&(e.node=this.gobbleTokenProperty(e.node)),e.node;if("$"===a&&"{"===this.expr.charAt(this.index+1))this.index+=2,s(),i="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(i+=a,a=this.expr.charAt(++this.index),i+=a,a){case"n":n+="\n";break;case"r":n+="\r";break;case"t":n+=" ";break;case"b":n+="\b";break;case"f":n+="\f";break;case"v":n+="\v";break;default:n+=a}else n+=a,i+=a}this.throwError("Unclosed `")}}e.hooks.add("gobble-token",t),e.hooks.add("after-token",function(r){if((r.node.type===e.IDENTIFIER||r.node.type===e.MEMBER_EXP)&&96===this.code)return r.node={type:"TaggedTemplateExpression",tag:r.node,quasi:t.bind(this)(r,!1)},r.node=this.gobbleTokenProperty(r.node),r.node})}}),c4.addBinaryOp("in",7),c4.addBinaryOp("??",1);let dw=J("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let r=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${r}`)||"{}");e[r]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function d_(e,t,r){dw.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function dx(){let e=dw.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let r=t.replace("openmrs:feature-flag:","");e[r]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${r}`))})}function dE(e){return dw.getState().flags[e].enabled}function dS(e,t){dw.subscribe(r=>{t(r.flags[e].enabled)})}function dD(e,t){dw.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function dO(e){return!window.offlineEnabled||(e??navigator.onLine)}dw.subscribe(e=>{for(let[t,r]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,r.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:r.label,description:r.description}))});var dP=e3(function(e,t,r){eQ(e,t,r)});function dC(e=!0,t=!1){return dk(dO(),e,t)}function dk(e,t=!0,r=!1){return!!(e?t:r)}let dT=Y("extensionsInternal",{slots:{},extensions:{}}),dj=Y("extensionRenderings",{renderings:new Map}),dR=()=>J("extensionsInternal",{slots:{},extensions:{}}),dA=()=>J("extensionRenderings",{renderings:new Map});function dN(e){let t=dT.getState(),r=e(t);r!==t&&dT.setState(r)}let dM=null,d$=null;function dI(){let e=dj.getState();return dM&&e===d$||(dM=new Map(e.renderings),d$=e,function(e){for(let t of(dG.clear(),e.values()))dY(t,1);dq=!0}(dM)),dM}function dL(e){d$={renderings:e},dj.setState(d$,!0)}function dF(e){let t=dI();t.has(e.renderingId)||(t.set(e.renderingId,e),dY(e,1),dL(t))}function dB(e){let t=dI(),r=t.get(e);r&&(t.delete(e),dY(r,-1),dL(t))}let dV=()=>J("extensions",{slots:{}}),dU=0,dW=new Set;function dK(e){dU++;try{return e()}finally{if(0==--dU&&dW.size>0){let e=Array.from(dW);for(let t of(dW.clear(),e))dH(t)}}}function dH(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function dz(e){dU>0?dW.add(e):dH(e)}let dG=new Map,dq=!1;function dY(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=dG.get(r);if(!n){if(t<0)return;dG.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),dq=!0;return}n.count+=t,n.count<1&&(dG.delete(r),dq=!0)}function dZ(){var e,t;if(dI(),!dq)return;dq=!1;let r=Array.from(dG.values(),({record:e})=>e);r.sort(dJ),e=tq.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===dJ(e,t[r]))||tq.setState({mountedExtensions:r})}function dJ(e,t){return dX(e.slotName,t.slotName)||dX(e.extensionId,t.extensionId)||dX(e.slotModuleName,t.slotModuleName)||dX(e.extensionModuleName,t.extensionModuleName)}function dX(e,t){return e===t?0:e<t?-1:1}dZ(),dj.subscribe(()=>dz(dZ));let dQ=dR(),d0=dV(),d1=tZ(),d3=tQ(),d4=new Set,d2=!1;function d6(e){if(null===e)d4=null;else if(null!==d4)for(let t of e)d4.add(t);dz(d5)}function d5(){if(!d2){d2=!0;try{for(let e=1;;e++){let t=d4;if(null!==t&&0===t.size)return;d4=new Set;try{!function(e,t,r,n,i,o=null){let a=d0.getState().slots,s={},l=!1,u=dO(),c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,d]of Object.entries(e.slots)){let p=a[n];if(p&&o&&!o.has(n)){s[n]=p;continue}let{config:f}=tX(t,d.name),h=function(e,t,r,n,i,o,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],i=e.order||[],{extensions:o}=dQ.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>ps(e,i,o[pe(e)]?.order,t)-ps(r,i,o[pe(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=t1(n,e,u),c=t3(r,e,u),d=c?dP({},s,c):s,p=pe(u),f=t.extensions[p];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!iU(e,a.user))||f.featureFlag&&!i.includes(f.featureFlag)||window.offlineEnabled&&!dk(o,f.online,f.offline))continue;l.push({id:u,name:p,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(n,e,f,r,c,u,i.session);p&&p.moduleName===d.moduleName&&e6(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&d0.setState({slots:s})}(dQ.getState(),d1.getState(),d3.getState(),dw.getState(),iM.getState(),t)}catch(e){throw d4=null===t||null===d4?null:new Set([...t,...d4]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{d2=!1}}}function d8(e,t){let r=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&r.add(n);for(let n of Object.keys(t))n in e||r.add(n);return r}function d9(){d6(null)}function d7(e,t){return{moduleName:t,name:e,attachedIds:[]}}function pe(e){let[t]=e.split("#");return t}function pt(e,t){let r=pe(t);return e.extensions[r]}function pr(e){return pt(dQ.getState(),e)}dQ.subscribe((e,t)=>{d6(e.extensions!==t.extensions?null:d8(e.slots,t.slots))}),d1.subscribe((e,t)=>{d6(d8(e.slots,t.slots))}),d3.subscribe((e,t)=>{d6(d8(e.configs,t.configs))}),dw.subscribe(()=>d6(null)),iM.subscribe(()=>d6(null)),d9(),b(d9);let pn=e=>dN(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function pi(e,t){dN(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...d7(e),attachedIds:[t]}}}})}function po(e,t){dN(r=>{let n=r.slots[e];return n&&n.attachedIds.includes(t)?{...r,slots:{...r.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:r})}function pa(e){dN(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function ps(e,t,r,n){let i=t.indexOf(e);if(-1!==i)return i;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function pl(e,t){return function(e,t,r=null,n){let i;return e.filter(e=>{let o=e.displayConditionExpression;if("string"!=typeof o||0===o.trim().length)return!0;i??(i=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!de(o,i)}catch(t){return console.error(`Error while evaluating expression '${o}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(pu(e),t,iM.getState().session,e)}function pu(e){return d0.getState().slots[e]?.candidateExtensions??[]}let pc=(e,t)=>dQ.setState(r=>{let n=r.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),r;if(n&&n==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e}}};let i=d7(t,e);return{...r,slots:{...r.slots,[t]:{...i}}}}),pd=()=>{d4=null,dN(()=>({slots:{},extensions:{}})),dA().setState({renderings:new Map}),d0.setState({slots:{}})},pp=Y("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function pf({name:e,basePath:t,mode:r,componentContext:n,state:i}){pp.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:i})}function ph(e){pp.getState().slotName===e&&pp.setState(pp.getInitialState(),!0)}let pm=Y("modalRegistry",{modals:{}});function py(e){pm.setState(t=>(t.modals[e.name]=e,t))}function pg(e){let t=pm.getState().modals[e];if(!t){let r=pr(e);r&&(t={name:e,load:r.load,moduleName:r.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),py(t))}return t}let pb=Y("workspaceRegistrations",{workspaces:{}}),pv=Y("workspaceGroups",{workspaceGroups:{}});function pw(e){pb.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function p_(e){pv.setState(t=>{let r=t.workspaceGroups[e.name];return r?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...r,members:Array.from(new Set([...r.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let px=new Set;function pE(e){let t=pb.getState().workspaces;if(t[e])return t[e];{let t=pr(e);if(t){var r;let n;return px.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),px.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?oj(r.moduleName,n.key,n.default):r.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function pS(e){let t=pv.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let pD=Y("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function pO(e){let{registeredWorkspacesByName:t,registeredWindowsByName:r}=pD.getState(),n=t[e];if(n){let t=r[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function pP(e){let{registeredGroupsByName:t,registeredWindowsByName:r}=pD.getState(),n=r[e];if(n){let r=t[n.group];if(r)return r;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function pC(e){let{openedWindows:t}=pD.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function pk(e,t){if(0==t.length)return;let{registeredGroupsByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace group ${r.name} more than once`);n[r.name]={...r,moduleName:e}}pD.setState({registeredGroupsByName:n})}function pT(e,t){if(0==t.length)return;let{registeredWindowsByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace window ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}pD.setState({registeredWindowsByName:n})}function pj(e,t){if(0==t.length)return;let{registeredWorkspacesByName:r}=pD.getState(),n={...r};for(let r of t){if(n[r.name])throw Error(`Cannot register workspace ${r.name} more than once`);let t={...r,moduleName:e};n[r.name]=t}pD.setState({registeredWorkspacesByName:n})}let pR=0,pA=null,pN={bootstrap:15e3,mount:15e3,unmount:15e3};function pM(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(pN).filter(t=>e[t]).map(n=>{var i,o;let a,s;return[n,(i=e[n],o=pN[n],a=Array.isArray(i)?i:[i],s=e=>a.reduce((t,i,o)=>t.then(()=>{let t=i(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${o} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let i,a=new Promise((e,t)=>{i=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${o}ms`)),o)});return Promise.race([s(e),a]).finally(()=>clearTimeout(i)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function p$(e,t){var r,n;let i,o,a,s,l,u=await (pA??(pA=new Promise((e,t)=>{nC({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),nC))),pA),c={...t},d=(i=c,o=!1,{retarget:e=>i={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(i),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":o||(o=t);return;case"unmount":(t||o)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>pM(e,r)):pM(e,r)),c),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function pI(){return pL}function pL(e,t){let r,n=p$(e,t).then(e=>r=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>r?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function pF(e,t,r,n,i=e=>e,o={}){let a=pe(n),s=pr(n),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:c,online:d,offline:p,load:f}=s;if(dC(d,p)){let s,d=pR++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{dB(p)}catch(t){console.error(e,t)}};try{dF({renderingId:p,extensionName:a,extensionModuleName:c,extensionId:n,slotName:t,slotModuleName:r})}catch(e){throw h(`Recomputing configuration after registering '${n}' failed also failed`),e}try{s=await f()}catch(e){throw h(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await p$(i({...s,name:`${t}/${a}-${d}`}),{...o,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:r,extensionModuleName:c},domElement:e})}catch(e){throw h(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),h(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>h(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),h(`Recomputing configuration after '${n}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var pB=r(5275),pV=r.n(pB);let pU=(0,pB.createContext)({moduleName:"",featureName:""});function pW({to:e,templateParams:t,onBeforeNavigate:r,children:n,...i}){return(0,pB.useEffect)(()=>{i.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${i.href}'`),i.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),pV().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),ib({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&r?.(n),0===n.button&&n.shiftKey&&r?.(n),1===n.button&&r?.(n)},href:iy(e,t),...i},n)}let pK=({state:e,children:t,...r})=>{let{extension:n}=(0,pB.useContext)(pU),i=(0,pB.useRef)(null),o=(0,pB.useRef)(Promise.resolve()),a=(0,pB.useRef)(!1),s=(0,pB.useRef)(!1),l=(0,pB.useRef)(e),u=(0,pB.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":o.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,pB.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(o.current=Promise.all([e.mountPromise,o.current]).then(()=>{if(i.current?.getStatus()==="MOUNTED"&&i.current.update)return i.current.update({...t})}).catch(e=>{let t=i.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,pB.useCallback)(t=>{t&&!i.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,pF(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,i.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,pB.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(i.current)}),[]),(0,pB.useEffect)(()=>{l.current=e,i.current&&c(i.current,e)},[e]),n?pV().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function pH(e){let t=(0,pB.useRef)(e);return F(t.current,e)||(t.current=e),t.current}function pz(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,i]of Object.entries(t)){let t=function(...t){e.setState(e=>i(e,...t))};r[n]=t}return r}let pG=e=>e;function pq(e,t=pG,r){let n=(0,pB.useCallback)(t=>e.subscribe(t),[e]),i=(0,pB.useCallback)(()=>t(e.getState()),[e,t]),o=(0,pB.useSyncExternalStore)(n,i,i),a=(0,pB.useMemo)(()=>r?pz(e,r):null,[e,r]);return(0,pB.useMemo)(()=>a?{...o,...a}:o,[o,a])}function pY(e,t){return pq(e,pG,t)}function pZ(e){return function(t){let r=(0,pB.useCallback)(t=>e.subscribe(t),[]),n=(0,pB.useCallback)(()=>e.getState(),[]),i=(0,pB.useSyncExternalStore)(r,n,n),o=(0,pB.useMemo)(()=>t?pz(e,t):null,[t]);return(0,pB.useMemo)(()=>o?{...i,...o}:i,[i,o])}}let pJ=[];Object.freeze(pJ);let pX={candidateExtensions:pJ};Object.freeze(pX);let pQ=e=>{let t=(0,pB.useCallback)(t=>t.slots?.[e]??pX,[e]);return pq(dV(),t)},p0=e=>e.session;function p1(e,t){let{candidateExtensions:r}=pQ(e),n=pq(iM,p0),i=pH(t);return(0,pB.useMemo)(()=>pl(e,i),[e,i,n,r])}function p3(e,t){let{moduleName:r}=(0,pB.useContext)(pU);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,pB.useEffect)(()=>{pc(r,e)},[r,e]),{extensions:p1(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function p4(e){return e}function p2({name:e,extensionSlotName:t,select:r=p4,children:n,state:i,style:o,...a}){if(n&&i)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,pB.useRef)(null),{extensions:u,extensionSlotModuleName:c}=p3(s,i),d=(0,pB.useMemo)(()=>r(u),[r,u]),p=(0,pB.useMemo)(()=>{if("function"==typeof n&&!pV().isValidElement(n))return d.map(e=>n(e,i))},[n,d]);return pV().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...o,position:"relative"},...a},s&&d?.map((e,t)=>pV().createElement(pU.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??pV().createElement(pK,{state:i}))))}var p6=r(5338);function p5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function p8(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p5(Object(r),!0).forEach(function(t){var n,i,o;n=e,i=t,o=r[t],i in n?Object.defineProperty(n,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[i]=o}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p5(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function p9(e){return(p9="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p7(e){return(p7="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fe(e,t){var r;if("function"!=typeof(r=t.domElement?function(){return t.domElement}:t.domElementGetter?t.domElementGetter:e.domElementGetter?e.domElementGetter:function(e){var t=e.appName||e.name;if(!t)throw Error("single-spa's dom-element-getter-helpers was not given an application name as a prop, so it can't make a unique dom element container for the react application");var r="single-spa-application:".concat(t);return function(){var e=document.getElementById(r);return e||((e=document.createElement("div")).id=r,document.body.appendChild(e)),e}}(t)))throw Error("single-spa's dom-element-getter-helpers was given an invalid domElementGetter for application or parcel '".concat(t.name,"'. Expected a function, received ").concat(p7(r)));return function(){var e=r(t);if(!(e instanceof HTMLElement))throw Error("single-spa's dom-element-getter-helpers: domElementGetter returned an invalid dom element for application or parcel '".concat(t.name,"'. Expected HTMLElement, received ").concat(p7(e)));return e}}var ft=null;try{ft=require("react").createContext()}catch(e){}var fr={React:null,ReactDOM:null,ReactDOMClient:null,rootComponent:null,loadRootComponent:null,errorBoundary:null,errorBoundaryClass:null,domElementGetter:null,parcelCanUpdate:!0,suppressComponentDidCatchWarning:!1,domElements:{},renderResults:{},updateResolves:{},unmountResolves:{}};function fn(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function fi(e,t){return new Promise(function(r,n){e.suppressComponentDidCatchWarning||!function(e){if(!(e&&"string"==typeof e.version&&e.version.indexOf(".")>=0))return!1;var t=e.version.slice(0,e.version.indexOf("."));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.")):console.warn("single-spa-react: ".concat(t.name||t.appName||t.childAppName,"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).")));var i,o=fl(e,t,function(){r(this)}),a=fe(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,i=e.domElement,o=t[r];if("function"!=typeof o)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=o(i);return a.render(n),a;case"hydrateRoot":return o(i,n);default:return o(n,i),null}}({elementToRender:o,domElement:a,reactDom:fs(e),renderType:"function"==typeof(i=e).renderType?i.renderType():i.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function fo(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():fs(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function fa(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=fl(e,t,null),i=e.renderResults[t.name];if(i&&i.render)i.render(n);else{var o=fe(e,t)();fs(e).render(n,o)}})}function fs(e){return e.ReactDOMClient||e.ReactDOM}function fl(e,t,r){var n=e.React.createElement(e.rootComponent,t),i=ft?e.React.createElement(ft.Provider,{value:t},n):n;return(e.errorBoundary||t.errorBoundary||e.errorBoundaryClass||t.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||t.errorBoundaryClass||function(e,t){function r(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},r.displayName="SingleSpaReactErrorBoundary(".concat(t.name,")")}return r.prototype=Object.create(e.React.Component.prototype),r.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},r.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},r}(e,t),i=e.React.createElement(e.errorBoundaryClass,t,i)),i=e.React.createElement(e.SingleSpaRoot,p8(p8({},t),{},{mountFinished:r,updateFinished:function(){e.updateResolves[t.name]&&(e.updateResolves[t.name].forEach(function(e){return e()}),delete e.updateResolves[t.name])},unmountFinished:function(){e.unmountResolves[t.name]&&(e.unmountResolves[t.name](),delete e.unmountResolves[t.name])}}),i)}var fu=r(8395),fc=r(9324),fd=r(8716);let fp={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ff=new Map;(0,fd.initCache)(ff);let fh={errorRetryCount:3,fetcher:iR,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof iN){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ff};function fm(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},fp,e),r={...fh,...t.swrConfig};return function(e){var n,i,o,a,s;return o=i=class extends(n=pV().Component){componentDidCatch(e,r){r&&r.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:r.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:r})}render(){if(this.state.caughtError)return pV().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=pV().createElement(pB.Suspense,{fallback:null},pV().createElement(fc.BE,{value:r},pV().createElement(pU.Provider,{value:this.state.config},t.disableTranslations?pV().createElement(e,this.props):pV().createElement(fu.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},pV().createElement(e,this.props)))));return t.strictMode&&pV().StrictMode?pV().createElement(pV().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in o?Object.defineProperty(o,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):o[a]=s,i}}function fy(e,t){return function(e){if("object"!==p9(e))throw Error("single-spa-react requires a configuration object");var t,r=p8(p8({},fr),e);if(!r.React)throw Error("single-spa-react must be passed opts.React");if(!r.ReactDOM&&!r.ReactDOMClient)throw Error("single-spa-react must be passed opts.ReactDOM or opts.ReactDOMClient");if(r.renderType||(null!=(t=r.ReactDOMClient)&&t.createRoot?r.renderType="createRoot":r.renderType="render"),!r.rootComponent&&!r.loadRootComponent)throw Error("single-spa-react must be passed opts.rootComponent or opts.loadRootComponent");if(r.errorBoundary&&"function"!=typeof r.errorBoundary)throw Error("The errorBoundary opt for single-spa-react must either be omitted or be a function that returns React elements");!ft&&r.React.createContext&&(ft=r.React.createContext()),r.SingleSpaRoot=function(e){function t(e){t.displayName="SingleSpaRoot(".concat(e.name,")")}return t.prototype=Object.create(e.React.Component.prototype),t.prototype.componentDidMount=function(){setTimeout(this.props.mountFinished)},t.prototype.componentWillUnmount=function(){setTimeout(this.props.unmountFinished)},t.prototype.render=function(){return setTimeout(this.props.updateFinished),this.props.children},t}(r);var n={bootstrap:fn.bind(null,r),mount:fi.bind(null,r),unmount:fo.bind(null,r)};return r.parcelCanUpdate&&(n.update=fa.bind(null,r)),n}({React:pV(),ReactDOMClient:p6,rootComponent:fm(t)(e)})}function fg(e,t){return()=>e().then(({default:e})=>fy(e,t))}function fb(e,t){return()=>Promise.resolve(fy(e,t))}let fv=fg,fw=W()(()=>({}));Z("openmrs-app-context",fw);let f_={};function fx(e,t=e=>e){let r=fw.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function fE(e,t){fw.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function fS(e){return null===e?null:Object.freeze(Object.assign({},e))}let fD=new Map;function fO(e,t){let r=(0,pB.useRef)(t??{}),n=(0,pB.useRef)(t=>fE(e,t)),i=(0,pB.useRef)(Symbol());return(0,pB.useEffect)(()=>{let r=t??{},n=i.current;return null===fx(e)?!function(e,t=f_){fw.setState(r=>{if(e in r)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},r,{[e]:t===f_?{}:t})})}(e,r):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),fE(e,()=>r)),fD.set(e,n),()=>{fD.get(e)===n&&(fw.setState(t=>(e in t&&delete t[e],t)),fD.delete(e))}},[e]),(0,pB.useEffect)(()=>{let n=t??{};F(r.current,n)||(fE(e,()=>n),r.current=n)},[t]),n.current}function fP({namespace:e,value:t}){return fO(e,t),null}let fC=({children:e,value:t,fallback:r})=>t?pV().createElement(pV().Fragment,null,e):r?pV().createElement(pV().Fragment,null,r):null;function fk(){let e=(0,pB.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,pB.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function fT(e,t=e=>e??{}){let[r,n]=(0,pB.useState)(()=>{if(fj(e))return;let r=fx(e);if(null!==r)return t?t(r):r});return(0,pB.useEffect)(()=>{if(fj(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,pB.useEffect)(()=>{var r;let i;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>F(e,r)?e:r)})(fS(i=fx(e))),fw.subscribe(t=>{let n=e in t?t[e]:null;n!==i&&(i=n,r(fS(n)))})},[e,t]),r}function fj(e){return"string"!=typeof e||0===e.trim().length}function fR(e){let t=p1(e);return(0,pB.useMemo)(()=>t.map(e=>e.id),[t])}function fA(e){return pQ(e).candidateExtensions}function fN(e,t){let{data:r,error:n,mutate:i,isLoading:o,isValidating:a}=(0,fc.Ay)(`${ay}?patient=${e}&includeEncounterless=${t}`,iR);return(0,pB.useMemo)(()=>({isLoading:o,data:r?.data.results??[],error:n,mutate:i,isValidating:a}),[r,n,o,a,i])}function fM(e){(0,pB.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let f$={},fI=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
16
  Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function fL(e){let{moduleName:t,extension:r}=(0,pB.useContext)(pU),n=e?.externalModuleName??t;if(!n&&!r)throw Error(fI);let i=function(e){let t=(0,pB.useMemo)(()=>tY(e),[e]),r=function(e){let[t,r]=(0,pB.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,pB.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&r(e.config)}),[e]),t}(t);if(!r)throw f$[e]||(f$[e]=new Promise(e=>{let r=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),r())})})),f$[e];return r}(n),o=function(e){let t=(0,pB.useMemo)(tQ,[]),r=function(e,t){let[r,n]=(0,pB.useState)(t?()=>{let r=t1(e.getState(),t.extensionSlotName,t.extensionId);if(r.loaded&&r.config)return r.config}:null);return(0,pB.useEffect)(()=>{if(t)return e.subscribe(e=>{let i=t1(e,t.extensionSlotName,t.extensionId);i.loaded&&i.config&&!e6(i.config,r)&&n(i.config)})},[e,t,r]),r}(t,e);if(!r&&e){let r=`${e.extensionSlotName}-${e.extensionId}`;throw!f$[r]&&t&&(f$[r]=new Promise(r=>{let n=t.subscribe(t=>{let i=t1(t,e.extensionSlotName,e.extensionId);i.loaded&&i.config&&(r(i.config),n())})})),f$[r]}return r||{}}(r);return(0,pB.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...i}:{...i,...o},[n,e?.externalModuleName,i,o])}let fF=p1;function fB(){let[e,t]=(0,pB.useState)(dO());return(0,pB.useEffect)(()=>b(({online:e})=>t(e)),[]),e}function fV(e,t=300){let[r,n]=(0,pB.useState)(e);return(0,pB.useEffect)(()=>{let r=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(r)}},[e,t]),r}var fU=r(2016),fW=r.n(fU);let fK=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map(([e,t])=>`${e}:${t}`).join(",")}`;function fH(){let e=`${iC}/emrapi/configuration?v=${fK}`,t=fW()(e,iR);return(0,pB.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let fz=pZ(dR());function fG(e){let t=p1(e);return(0,pB.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let fq=pZ(dV());function fY(e){let{flags:t}=pq(dw);return t[e]?.enabled??!1}function fZ(){let[,e]=(0,pB.useState)(0);return(0,pB.useCallback)(()=>{e(e=>e+1)},[])}function fJ(e,t,r={}){return fQ(e,t,fX,r)}let fX={getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(ij(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+r),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function fQ(e,t,r,n={}){let{getPaginatedUrl:i,getTotalCount:o,getCurrentPageSize:a,getData:s}=r,{immutable:l,swrConfig:u}=n,c=n.fetcher??iR,[d,p]=(0,pB.useState)(1),f=(0,pB.useRef)(NaN),h=(0,pB.useRef)(NaN),m=(0,pB.useRef)(d),y=(0,pB.useRef)(!1),g=(0,pB.useRef)(!1),b=e?.toString()??"",[v,w]=(0,pB.useState)(b);b!==v&&(w(b),p(1),m.current=1,f.current=NaN,h.current=NaN,y.current=!1,g.current=!1);let x=(d-1)*t,E=(0,pB.useMemo)(()=>i(e,t,x),[e,t,x]),{data:S,...D}=(l?fW():fc.Ay)(E,c,u);S?.data&&(f.current=o(S?.data),h.current=a(S?.data),y.current=!0);let O=Math.ceil(f.current/t),P=(0,pB.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let r=Math.ceil(f.current/t);!y.current||Number.isNaN(r)||e<=r?(m.current=e,p(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,pB.useEffect)(()=>{if(!y.current)return;if(Number.isNaN(f.current)){g.current||(g.current=!0,console.warn(`useServerPagination: ${b} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),m.current=e,p(e))},[d,t,b,S]);let C=(0,pB.useCallback)(()=>{P(m.current+1)},[P]),k=(0,pB.useCallback)(()=>{P(m.current-1)},[P]);return{data:s(S?.data),totalPages:O,totalCount:f.current,currentPage:d,currentPageSize:h.current,paginated:O>1,showNextButton:d<O,showPreviousButton:d>1,goTo:P,goToNext:C,goToPrevious:k,...D}}function f0(e,t,r={}){return fQ(e,t,f1(),r)}function f1(){return{getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(ij(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+r),n.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var f3=r(2142),f4=r.n(f3);function f2(e,t={}){return f6(e,fX,t)}function f6(e,t,r={}){let{swrInfiniteConfig:n,immutable:i}=r,{getNextUrl:o,getTotalCount:a,getData:s}=t,l=r.fetcher??iR,u=(0,pB.useCallback)((r,n)=>0==r?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:c,size:d,setSize:p,...f}=f4()(u,l,{...n,...i?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),h=o(c?.[c.length-1].data),m=a(c?.[0]?.data);return{data:c?.flatMap(e=>s(e.data)),totalCount:m,hasMore:null!=h,loadMore:()=>{p((c?.length??0)+1)},nextUri:h,...f}}function f5(e,t={}){return f8(e,fX,t)}function f8(e,t,r={}){let n=f6(e,t,r),{hasMore:i,error:o,data:a,loadMore:s,isLoading:l,nextUri:u}=n;return((0,pB.useEffect)(()=>{i&&!o&&s()},[i,u]),r.partialData)?n:{...n,data:i||o?void 0:a,isLoading:l||i}}function f9(e,t={}){return f8(e,f1(),t)}function f7(e,t={}){return f6(e,f1(),t)}function he(){let e="tablet";return document.body.classList.forEach(t=>{switch(t){case"omrs-breakpoint-lt-tablet":e="phone";break;case"omrs-breakpoint-gt-small-desktop":e="large-desktop";break;case"omrs-breakpoint-gt-tablet":e="small-desktop"}}),e}function ht(){let[e,t]=(0,pB.useState)(he);return(0,pB.useEffect)(()=>{let e=()=>{t(he())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let hr=e=>"small-desktop"===e||"large-desktop"===e;function hn(e){let t=(0,pB.useContext)(pU);(0,pB.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),pf(e),()=>{ph(e.name)}),[t,e])}function hi(){return pq(pp)}function ho(e=null,t=null){let[r,n]=(0,pB.useState)([]);return(0,pB.useEffect)(()=>{let r=cW(e,t).subscribe(e=>{n(e)},e=>{console.error(e)});return()=>r.unsubscribe()},[e,t]),r}function ha(e,t=!0){let r=(0,pB.useRef)(null);return(0,pB.useEffect)(()=>{let n=n=>{t&&r.current&&n.target&&n.target instanceof Node&&(r.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),r}function hs(e){let t=(0,pB.useRef)();return(0,pB.useEffect)(()=>{let r=new IntersectionObserver(t=>{for(let r of t)if(r.isIntersecting)return void e()},{threshold:1});return t.current&&r.observe(t.current),()=>{t.current&&r.unobserve(t.current)}},[t.current,e]),t}function hl(e,t={}){let{abortController:r,fetchInit:n,url:i,swrConfig:o}=t,a=fk(),s=(0,pB.useMemo)(()=>n?.signal??r?.signal??a.signal,[r?.signal,n?.signal,a.signal]),l=(0,pB.useCallback)(e=>iR(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,i),{...n,signal:s}),[s,n,i]);return(0,fc.Ay)(e,l,o)}function hu(e=[],t=10){let[r,n]=(0,pB.useState)(1),i=(0,pB.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);r>i&&n(i);let o=Math.min(Math.max(1,r),i),a=(0,pB.useMemo)(()=>{let r=(o-1)*t,n=(o+0)*t;return e.slice(r,n)},[e,o,t]),s=(0,pB.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,pB.useCallback)(()=>{n(e=>e+1)},[]),u=(0,pB.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,pB.useMemo)(()=>({results:a,totalPages:i,currentPage:o,paginated:e.length>t,showNextButton:o<i,showPreviousButton:o>1,goTo:s,goToNext:l,goToPrevious:u}),[a,i,e.length,t,o,s,l,u])}function hc(e,t,r,n){return{pageSizes:(0,pB.useMemo)(()=>{let r=Math.ceil(t/e);return isNaN(r)&&(r=0),[...Array(r).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,pB.useMemo)(()=>e>t?t:e*r>t?e*(r-1)+n:e*r,[e,t,r,n])}}function hd(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function hp(e){let[t,r]=(0,pB.useState)(e??hd()),{data:n,error:i,isValidating:o}=(0,fc.Ay)(t?["patient",t]:null,()=>cI(t,{}));return(0,pB.useEffect)(()=>{let e=()=>{let e=hd();e!==t&&r(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,pB.useMemo)(()=>({isLoading:o&&!i&&!n,patient:n,patientUuid:t,error:i}),[o,i,n,t])}function hf(){let e=`${iC}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:r,isLoading:n}=(0,fc.Ay)(e,iR);return(0,pB.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:r}),[t,r,n])}function hh(e){let{extensions:t,extensionSlotModuleName:r}=p3(e);return e?t.map(t=>({state:n})=>pV().createElement(pU.Provider,{value:{moduleName:r,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:r}}},pV().createElement(pK,{state:n}))):[]}function hm(){let e=(0,pB.useRef)(),[t,r]=(0,pB.useState)(null),n=null;if(!t){if(s){let e=iL().getState();e.loaded&&(n=e.session)}else s=new Promise(t=>{let r=({loaded:r,session:i})=>{r&&(t(i),n=i,e.current&&(e.current(),e.current=void 0))};r(iL().getState()),n||(e.current=iL().subscribe(r))});if(n)r(n);else throw s}(0,pB.useEffect)(()=>(e.current||(e.current=iL().subscribe(({loaded:e,session:t})=>{e&&(n=t,r(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||n;if(!i)if(s)throw console.warn("useSession is in an unexpected state. Attempting to recover."),s;else throw Error("useSession is in an invalid state.");return i}let hy=({privilege:e,fallback:t,children:r})=>{let[n,i]=(0,pB.useState)(null);return((0,pB.useEffect)(()=>{let e=iI({includeAuthStatus:!1}).subscribe(i);return()=>e.unsubscribe()},[]),n&&iU(e,n))?pV().createElement(pV().Fragment,null,r):t?pV().createElement(pV().Fragment,null,t):null};var hg=r(6734),hb=r.n(hg),hv=r(7581);let hw=new Map;function h_(){for(let e of Array.from(hw.values()))e()}let hx={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function hE(e){let t=(0,pB.useId)();return(0,pB.useEffect)(()=>{if(e)return hw.set(t,e),()=>{hw.delete(t)}},[t,e]),{...pY(cZ(),hx),mutateVisit:h_}}function hS(e,t=cq){let r=(0,pB.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:i,setVisitContext:o}=hE((0,pB.useCallback)(()=>r.current?.(),[])),a=e&&n==e?i:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:u,error:c,mutate:d,isValidating:p}=(0,fc.Ay)(e?`${iC}/visit${s}`:null,iR),{data:f,error:h,mutate:m,isValidating:y}=(0,fc.Ay)(e&&a?`${iC}/visit${l}`:null,iR),g=(0,pB.useMemo)(()=>u?.data.results.find(e=>null===e.stopDatetime)??null,[u]),b=(0,pB.useMemo)(()=>a&&f?f.data:null,[f,a]),v=(0,pB.useRef)(null);(0,pB.useEffect)(()=>{!p&&g&&n===e&&null===i&&o(g),y||(v.current&&b&&v.current.uuid===b.uuid&&!v.current.stopDatetime&&b.stopDatetime&&o(null),v.current=b)},[b,i,g,p,y,n]);let w=(0,pB.useCallback)(()=>{d(),m()},[d,m]);(0,pB.useEffect)(()=>{r.current=w},[w]);let x=!!(!u||a&&!f),E=!!(a?h:c);return{error:c||h,mutate:w,isValidating:p||y,activeVisit:g,currentVisit:b,currentVisitIsRetrospective:!!a,isLoading:x&&!E}}function hD(){let[e,t]=(0,pB.useState)([]);return(0,pB.useEffect)(()=>{let e=cH().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}hg.extend(hv);let hO=new Map;async function hP(e,t){let r=t.indexOf("#"),n=r>=0,i=n?t.substring(0,r):e,o=n?t.substring(r+1):t,a=await o3(i);return a&&Object.hasOwn(a,o)&&"function"==typeof a[o]?hk(i,a).then(()=>a[o]()):(a?a&&Object.hasOwn(a,o)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${i} does not define a component called "${o}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${i} for ${t} defined in ${e}'s routes.json`),hC)}let hC={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function hk(e,t){if(e in hO)await hO[e];else{let r=t??await o3(e);await (hO[e]=new Promise((t,n)=>{if(Object.hasOwn(r,"startupApp")){let i=r.startupApp;if("function"==typeof i)return Promise.resolve(i()).then(()=>{rp(e),t(null)}).catch(n)}rp(e),t(null)}))}}function hT(e,t){let r=t.name;if(!r)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
17
17
  registered. To fix this, ensure that you define the "name" field inside the
18
18
  extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${r} from ${e} declares both a 'slots' property and