@openmrs/esm-appointments-app 11.1.1-pre.9708 → 11.1.1-pre.9714

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/8662.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 rn=(e,t)=>{let r=structuredClone(t);if(!e)return r;for(let t of Object.keys(e)){let n=r[t],o=e[t];if(o&&(o.hasOwnProperty("_type")||o.hasOwnProperty("_default"))){r.hasOwnProperty(t)||(r[t]=o._default);let e=o._elements;if(n&&ro(e)){if(o._type===tc.Array&&Array.isArray(n)){let o=n.map(t=>rn(e,t));r[t]=o}else if(o._type===tc.Object)for(let t of Object.keys(n))n[t]=rn(e,n[t])}}else if(ri(o)){let e=n??{};ri(e)&&(r[t]=rn(o,e))}}return r};function ro(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function ri(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let ra=new Set;function rs(e,t){let r=`${e}:::${t}`;ra||(ra=new Set),ra.has(r)||(console.error(t),ra.add(r))}function rl(e){e?ra.forEach(t=>{t.startsWith(e)&&ra.delete(t)}):ra.clear()}function ru(){tV.forEach(e=>e()),tV.length=0,tz.clear(),t4.clear(),t2.clear(),t3.clear(),tU()}let rc={"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:tc.Object,_default:{},_validators:[td(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(", ")}.`})]}},rd={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:tc.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:tc.String,_default:void 0}},...rc},rp=(e,t)=>td(r=>e<=r&&r<=t,`must be between ${e} and ${t}`),rf=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return td(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(", "))},rh=rf([]),rm=e=>td(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),ry={inRange:rp,isUrl:rh,isUrlWithTemplateParameters:rf,oneOf:rm};var rg=r(2034);let rb=G("breadcrumbs",[]);function rv(e){return rw([e])}function rw(e){let t=[...r_(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,rg.pathToRegexp)(e.matcher).regexp:(0,rg.pathToRegexp)(e.path).regexp,settings:e}))];rb.setState(t,!0)}function r_(){return rb.getState()}function rx(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=rx(e,r.join("/"));if(t)return t}}(e,t)}function rE(e,t){if(e.length>0){let r=rx(e,t);if(r){let t=[r],n=rx(e,r.settings.parent);for(;void 0!==n;)t.push(n),n=rx(e,n.settings.parent);return t.reverse()}}return[]}function rS(e){return rE(r_(),e)}var rO=Object.freeze({__proto__:null,get start(){return nZ},get ensureJQuerySupport(){return nS},get setBootstrapMaxTime(){return ni},get setMountMaxTime(){return na},get setUnmountMaxTime(){return ns},get setUnloadMaxTime(){return nl},get registerApplication(){return n$},get unregisterApplication(){return nM},get getMountedApps(){return nR},get getAppStatus(){return nT},get unloadApplication(){return nL},get checkActivityFunctions(){return nI},get getAppNames(){return nN},get pathToActiveWhen(){return nV},get navigateToUrl(){return nm},get patchHistoryApi(){return n_},get triggerAppChange(){return nz},get addErrorHandler(){return rj},get removeErrorHandler(){return rR},get mountRootParcel(){return ne},get NOT_LOADED(){return rA},get LOADING_SOURCE_CODE(){return r$},get NOT_BOOTSTRAPPED(){return rI},get BOOTSTRAPPING(){return rM},get NOT_MOUNTED(){return rL},get MOUNTING(){return rF},get UPDATING(){return rV},get LOAD_ERROR(){return rK},get MOUNTED(){return rB},get UNLOADING(){return rU},get UNMOUNTING(){return rW},get SKIP_BECAUSE_BROKEN(){return rz}}),rP=("u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof global?global:"u">typeof self?self:{}).CustomEvent,rD=!function(){try{var e=new rP("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}:rP;let rk=[];function rC(e,t,r){let n=rT(e,t,r);rk.length?rk.forEach(e=>e(n)):setTimeout(()=>{throw n})}function rj(e){if("function"!=typeof e)throw Error(rN(28,!1));rk.push(e)}function rR(e){if("function"!=typeof e)throw Error(rN(29,!1));let t=!1;return rk=rk.filter(r=>{let n=r===e;return t=t||n,!n}),t}function rN(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 rT(e,t,r){let n,o=`${rX(t)} '${rq(t)}' died in status ${t.status}: `;if(e instanceof Error){try{e.message=o+e.message}catch(e){}n=e}else{console.warn(rN(30,!1,t.status,rq(t)));try{n=Error(o+JSON.stringify(e))}catch(t){n=e}}return n.appOrParcelName=rq(t),t.status=r,n}let rA="NOT_LOADED",r$="LOADING_SOURCE_CODE",rI="NOT_BOOTSTRAPPED",rM="BOOTSTRAPPING",rL="NOT_MOUNTED",rF="MOUNTING",rB="MOUNTED",rV="UPDATING",rW="UNMOUNTING",rU="UNLOADING",rK="LOAD_ERROR",rz="SKIP_BECAUSE_BROKEN";function rH(e){return e.status===rB}function rG(e){try{return e.activeWhen(window.location)}catch(t){return rC(t,e,rz),!1}}function rq(e){return e.name}function rZ(e){return!!e.unmountThisParcel}function rX(e){return rZ(e)?"parcel":"application"}function rY(){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 rJ(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return e[r];return null}function rQ(e){return e&&("function"==typeof e||Array.isArray(e)&&!rJ(e,e=>"function"!=typeof e))}function r0(e,t){let r=e[t]||[];0===(r=Array.isArray(r)?r:[r]).length&&(r=[()=>Promise.resolve()]);let n=rX(e),o=rq(e);return function(e){return r.reduce((r,i,a)=>r.then(()=>{let r=i(e);return r1(r)?r:Promise.reject(rN(15,!1,n,o,t,a))}),Promise.resolve())}}function r1(e){return e&&"function"==typeof e.then&&"function"==typeof e.catch}let r4=[];function r3(e,t){return Promise.resolve().then(()=>e.status!==rI?e:(e.status=rM,e.bootstrap?nu(e,"bootstrap").then(r).catch(r=>{if(t)throw rT(r,e,rz);return rC(r,e,rz),e}):Promise.resolve().then(r)));function r(){return e.status=rL,e}}function r2(e,t){return Promise.resolve().then(()=>{if(e.status!==rB)return e;return e.status=rW,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 rT(r,e,rz);rC(r,e,rz)})).then(()=>e);function r(){return nu(e,"unmount").then(()=>{e.status=rL},r=>{if(t)throw rT(r,e,rz);rC(r,e,rz)})}})}let r5=!1,r6=!1;function r7(e,t){return Promise.resolve().then(()=>e.status!==rL?e:(r5||(window.dispatchEvent(new rD("single-spa:before-first-mount")),r5=!0),e.status=rF,nu(e,"mount").then(()=>(e.status=rB,r6||(window.dispatchEvent(new rD("single-spa:first-mount")),r6=!0),e)).catch(r=>{return e.status=rB,r2(e,!0).then(n,n);function n(){if(t)throw rT(r,e,rz);return rC(r,e,rz),e}})))}let r9=0,r8={parcels:{}};function ne(){return nt.apply(r8,arguments)}function nt(e,t){let r,n,o,i=this;if(!e||"object"!=typeof e&&"function"!=typeof e)throw Error(rN(2,!1));if(e.name&&"string"!=typeof e.name)throw Error(rN(3,!1,typeof e.name));let a=r9++,s=e.name||`parcel-${a}`;if("object"!=typeof t)throw Error(rN(4,!1,s,typeof t));if(!t.domElement)throw Error(rN(5,!1,s));let l="function"==typeof e,u=l?e:()=>Promise.resolve(e),c={id:a,parcels:{},status:l?r$:rI,customProps:t,parentName:rq(i),unmountThisParcel:()=>f.then(()=>{if(c.status!==rB)throw Error(rN(6,!1,s,c.status));return r2(c,!0)}).then(e=>(c.parentName&&delete i.parcels[c.id],e)).then(e=>(n(e),e)).catch(e=>{throw c.status=rz,o(e),e})};i.parcels[a]=c;let d=u();if(!d||"function"!=typeof d.then)throw Error(rN(7,!1));let p=(d=d.then(e=>{if(!e)throw Error(rN(8,!1));if(s=e.name||`parcel-${a}`,Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!rQ(e.bootstrap))throw Error(rN(9,!1,s));if(!rQ(e.mount))throw Error(rN(10,!1,s));if(!rQ(e.unmount))throw Error(rN(11,!1,s));if(e.update&&!rQ(e.update))throw Error(rN(12,!1,s));let t=r0(e,"bootstrap"),n=r0(e,"mount"),o=r0(e,"unmount");c.status=rI,c.name=s,c.bootstrap=t,c.mount=n,c.unmount=o,c.timeouts=nc(e.timeouts),e.update&&(c.update=r0(e,"update"),r.update=function(e){return c.customProps=e,nr(Promise.resolve().then(()=>{if(c.status!==rB)throw Error(rN(32,!1,rq(c)));return c.status=rV,nu(c,"update").then(()=>(c.status=rB,c)).catch(e=>{throw rT(e,c,rz)})}))})})).then(()=>r3(c,!0)),f=p.then(()=>r7(c,!0)),h=new Promise((e,t)=>{n=e,o=t});return r={mount:()=>nr(Promise.resolve().then(()=>{if(c.status!==rL)throw Error(rN(13,!1,s,c.status));return i.parcels[a]=c,r7(c)})),unmount:()=>nr(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:nr(d),bootstrapPromise:nr(p),mountPromise:nr(f),unmountPromise:nr(h)}}function nr(e){return e.then(()=>null)}function nn(e){let t=rq(e),r="function"==typeof e.customProps?e.customProps(t,window.location):e.customProps;("object"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(rN(40,!1),t,r));let n=rY({},r,{name:t,mountParcel:nt.bind(e),singleSpa:rO});return rZ(e)&&(n.unmountSelf=e.unmountThisParcel),n}let no={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 ni(e,t,r){if("number"!=typeof e||e<=0)throw Error(rN(16,!1));no.bootstrap={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function na(e,t,r){if("number"!=typeof e||e<=0)throw Error(rN(17,!1));no.mount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function ns(e,t,r){if("number"!=typeof e||e<=0)throw Error(rN(18,!1));no.unmount={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function nl(e,t,r){if("number"!=typeof e||e<=0)throw Error(rN(19,!1));no.unload={millis:e,dieOnTimeout:t,warningMillis:r||1e3}}function nu(e,t){let r=e.timeouts[t],n=r.warningMillis,o=rX(e);return new Promise((i,a)=>{let s=!1,l=!1;e[t](nn(e)).then(e=>{s=!0,i(e)}).catch(e=>{s=!0,a(e)}),setTimeout(()=>c(1),n),setTimeout(()=>c(!0),r.millis);let u=rN(31,!1,t,o,rq(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 nc(e){let t={};for(let r in no)t[r]=rY({},no[r],e&&e[r]||{});return t}function nd(e){return Promise.resolve().then(()=>{let t,r;return e.loadPromise?e.loadPromise:e.status!==rA&&e.status!==rK?e:(e.status=r$,e.loadPromise=Promise.resolve().then(()=>{let n=e.loadApp(nn(e));if(!r1(n))throw r=!0,Error(rN(33,!1,rq(e)));return n.then(r=>{let n;e.loadErrorTime=null,"object"!=typeof(t=r)&&(n=34),Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!rQ(t.bootstrap)&&(n=35),rQ(t.mount)||(n=36),rQ(t.unmount)||(n=37);let o=rX(t);if(n){let r;try{r=JSON.stringify(t)}catch(e){}return console.error(rN(n,!1,o,rq(e),r),t),rC(void 0,e,rz),e}return t.devtools&&t.devtools.overlays&&(e.devtools.overlays=rY({},e.devtools.overlays,t.devtools.overlays)),e.status=rI,e.bootstrap=r0(t,"bootstrap"),e.mount=r0(t,"mount"),e.unmount=r0(t,"unmount"),e.unload=r0(t,"unload"),e.timeouts=nc(t.timeouts),delete e.loadPromise,e})}).catch(t=>{let n;return delete e.loadPromise,r?n=rz:(n=rK,e.loadErrorTime=(new Date).getTime()),rC(t,e,n),e}))})}let np="u">typeof window,nf={hashchange:[],popstate:[]},nh=["hashchange","popstate"];function nm(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(rN(14,!1));t=e.currentTarget.href,e.preventDefault()}let r=nx(window.location.href),n=nx(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 ny(e){if(e){let t=e[0].type;nh.indexOf(t)>=0&&nf[t].forEach(t=>{try{t.apply(this,e)}catch(e){setTimeout(()=>{throw e})}})}}function ng(){nH([],arguments)}function nb(e,t){return function(){let r=window.location.href,n=e.apply(this,arguments),i=window.location.href;return o&&r===i||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 nv=null,nw=!1;function n_(e){if(nw)throw Error(rN(43,!1));o=!e||!e.hasOwnProperty("urlRerouteOnly")||e.urlRerouteOnly,nw=!0,nv=window.history.replaceState,window.addEventListener("hashchange",ng),window.addEventListener("popstate",ng);let t=window.addEventListener,r=window.removeEventListener;window.addEventListener=function(e,r){if(!("function"==typeof r&&nh.indexOf(e)>=0)||rJ(nf[e],e=>e===r))return t.apply(this,arguments);nf[e].push(r)},window.removeEventListener=function(e,t){return"function"==typeof t&&nh.indexOf(e)>=0&&(nf[e]=nf[e].filter(e=>e!==t)),r.apply(this,arguments)},window.history.pushState=nb(window.history.pushState,"pushState"),window.history.replaceState=nb(nv,"replaceState")}function nx(e){let t=document.createElement("a");return t.href=e,t}np&&(window.singleSpaNavigate?console.warn(rN(41,!1)):window.singleSpaNavigate=nm);let nE=!1;function nS(e=window.jQuery){if(e||window.$&&window.$.fn&&window.$.fn.jquery&&(e=window.$),e&&!nE){let t=e.fn.on,r=e.fn.off;e.fn.on=function(e,r){return nO.call(this,t,window.addEventListener,e,r,arguments)},e.fn.off=function(e,t){return nO.call(this,r,window.removeEventListener,e,t,arguments)},nE=!0}}function nO(e,t,r,n,o){return"string"!=typeof r?e.apply(this,o):(r.split(/\s+/).forEach(e=>{nh.indexOf(e)>=0&&(t(e,n),r=r.replace(e,""))}),""===r.trim()?this:e.apply(this,o))}let nP={};function nD(e){return Promise.resolve().then(()=>{let t=nP[rq(e)];if(!t)return e;if(e.status===rA)return nk(e,t),e;if(e.status===rU)return t.promise.then(()=>e);if(e.status!==rL&&e.status!==rK)return e;let r=e.status===rK?Promise.resolve():nu(e,"unload");return e.status=rU,r.then(()=>(nk(e,t),e)).catch(r=>(delete nP[rq(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,rC(r,e,rz),t.reject(r),e))})}function nk(e,t){delete nP[rq(e)],delete e.bootstrap,delete e.mount,delete e.unmount,delete e.unload,e.status=rA,t.resolve()}function nC(e,t,r,n){nP[rq(e)]={app:e,resolve:r,reject:n},Object.defineProperty(nP[rq(e)],"promise",{get:t})}let nj=[];function nR(){return nj.filter(rH).map(rq)}function nN(){return nj.map(rq)}function nT(e){let t=rJ(nj,t=>rq(t)===e);return t?t.status:null}let nA=!1;function n$(e,t,r,n){var o,i;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(rN(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(rN(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(rN(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(rN(24,!1));if(!nB(e.customProps))throw Error(rN(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(rN(20,!1));if(!t)throw Error(rN(23,!1));if("function"!=typeof r)throw Error(rN(24,!1));if(!nB(n))throw Error(rN(22,!1))}(e,t,r,n),a.name=e,a.loadApp=t,a.activeWhen=r,a.customProps=n),a.loadApp="function"!=typeof(o=a.loadApp)?()=>Promise.resolve(o):o,a.customProps=a.customProps||{},s=(s=Array.isArray(i=a.activeWhen)?i:[i]).map(e=>"function"==typeof e?e:nV(e)),a.activeWhen=e=>s.some(t=>t(e)),a);if(nq||nA||(nA=!0,setTimeout(()=>{nq||console.warn(rN(1,!1))},5e3)),-1!==nN().indexOf(l.name))throw Error(rN(21,!1,l.name));nj.push(rY({loadErrorTime:null,status:rA,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},l)),np&&(nS(),nH())}function nI(e=window.location){return nj.filter(t=>t.activeWhen(e)).map(rq)}function nM(e){if(0===nj.filter(t=>rq(t)===e).length)throw Error(rN(25,!1,e));return(np?nL(e,{waitForUnmount:!1}):Promise.resolve()).then(()=>{let t=nj.map(rq).indexOf(e);nj.splice(t,1)})}function nL(e,t={waitForUnmount:!1}){if("string"!=typeof e)throw Error(rN(26,!1));let r=rJ(nj,t=>rq(t)===e);if(!r)throw Error(rN(27,!1,e));let n=nP[rq(r)];if(t&&t.waitForUnmount){if(n)return n.promise;{let e=new Promise((t,n)=>{nC(r,()=>e,t,n)});return e}}{let e;return n?(e=n.promise,nF(r,n.resolve,n.reject)):e=new Promise((t,n)=>{nC(r,()=>e,t,n),nF(r,t,n)}),e}}function nF(e,t,r){Promise.resolve().then(()=>{if(rJ(nI(),t=>t===rq(e)))return nz()}).then(()=>r2(e).then(nD).then(()=>{t(),setTimeout(()=>{nH()})})).catch(r)}function nB(e){return!e||"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)}function nV(e,t){let r=function(e,t){let r=0,n=!1,o="^";"/"!==e[0]&&(e="/"+e);for(let t=0;t<e.length;t++){let r=e[t],o=n&&"/"===r;(!n&&":"===r||o)&&i(t)}return i(e.length),RegExp(o,"i");function i(i){let a=e.slice(r,i).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(o+=n?"[^/]+/?":a,i===e.length)if(n)t&&(o+="$");else{let e=t?"":".*";o="/"===o.charAt(o.length-1)?`${o}${e}$`:`${o}(/${e})?(#.*)?$`}n=!n,r=i}}(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 nW=!1,nU=[],nK=np&&window.location.href;function nz(){return nH()}function nH(e=[],t,r=!1){let n,o,i,a,s;if(nW)return new Promise((e,r)=>{nU.push({resolve:e,reject:r,eventArguments:t})});let{appsToUnload:l,appsToUnmount:u,appsToLoad:c,appsToMount:d}=(n=[],o=[],i=[],a=[],s=(new Date).getTime(),nj.forEach(e=>{let t=e.status!==rz&&rG(e);switch(e.status){case rK:t&&s-e.loadErrorTime>=200&&i.push(e);break;case rA:case r$:t&&i.push(e);break;case rI:case rL:!t&&nP[rq(e)]?n.push(e):t&&a.push(e);break;case rB:t||o.push(e)}}),{appsToUnload:n,appsToUnmount:o,appsToLoad:i,appsToMount:a}),p,f=[],h=nK,m=nK=window.location.href;return nq?(nW=!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 nv.call(window.history,history.state,"",h.substring(location.origin.length)),nK=location.href,nW=!1,nH(e,t,!0);let n=l.map(nD),o=Promise.all(u.map(r2).map(e=>e.then(nD)).concat(n));o.then(()=>{w("before-mount-routing-event",v(!0))},e=>{throw e});let i=c.map(e=>nd(e).then(e=>nG(e,o))),a=d.filter(e=>0>c.indexOf(e)).map(e=>nG(e,o));return o.catch(e=>{throw b(),e}).then(()=>(b(),Promise.all(i.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(nd)).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(rN(42,!1))),console.warn(e),!1)))}function g(){let t=nR();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(nW=!1,nU.length>0){let e=nU;nU=[],nH(e)}return t}function b(){r||(e.forEach(e=>{ny(e.eventArguments)}),ny(t))}function v(e=!1,r){let n={},o={[rB]:[],[rL]:[],[rA]:[],[rz]:[]};e?(c.concat(d).forEach((e,t)=>{a(e,rB)}),l.forEach(e=>{a(e,rA)}),u.forEach(e=>{a(e,rL)})):p.forEach(e=>{a(e)});let i={detail:{newAppStatuses:n,appsByNewStatus:o,totalAppChanges:p.length,originalEvent:null==t?void 0:t[0],oldUrl:h,newUrl:m}};return r&&rY(i.detail,r),i;function a(e,t){let r=rq(e);t=t||nT(r),n[r]=t,(o[t]=o[t]||[]).push(r)}}function w(e,t){r||window.dispatchEvent(new rD(`single-spa:${e}`,t))}}function nG(e,t){return rG(e)?r3(e).then(e=>t.then(()=>rG(e)?r7(e):e)):t.then(()=>e)}let nq=!1;function nZ(e){nq=!0,np&&(n_(e),nH())}function nX(e,t){let r=window.getOpenmrsSpaBase().replace(/\/$/,"");return nY(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:r,...t}).replace(/^\/\//,"/")}function nY(e,t){return Object.keys(t).reduce((e,r)=>e.split("${"+r+"}").join(t[r]),e)}function nJ({to:e,templateParams:t}){let r=window.getOpenmrsSpaBase().replace(/\/$/,""),n=nX(e,t).replace(window.location.origin,"");n.startsWith(r)?nm(n):window.location.assign(n)}np&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods={getRawAppData:function(){return[...nj]},reroute:nH,NOT_LOADED:rA,toLoadPromise:nd,toBootstrapPromise:r3,unregisterApplication:nM,getProfilerData:function(){return r4}});let nQ="openmrs:history";function n0(e){let t=JSON.parse(sessionStorage.getItem(nQ)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(nQ,JSON.stringify(t))}function n1(){0===JSON.parse(sessionStorage.getItem(nQ)??"[]").length&&document.referrer&&n0(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=n4();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(nQ,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?n3({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&n0(window.location.href)})}function n4(){return JSON.parse(sessionStorage.getItem(nQ)??"[]")}function n3({toUrl:e}){let t=n4(),r=t.lastIndexOf(e);if(-1!=r){let e=t.slice(0,r+1);nJ({to:t[r]}),sessionStorage.setItem(nQ,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function n2(){sessionStorage.removeItem(nQ)}let n5="${openmrsSpaBase}/login",n6={redirectAuthFailure:{enabled:{_type:tc.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:tc.String,_default:n5,_validators:[ry.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:tc.Array,_default:[401],_elements:{_type:tc.Number,_validators:[ry.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:tc.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:tc.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function n7(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}let n9="/ws/rest/v1",n8="/ws/fhir2/R4",oe=`${n9}/session`;function ot(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function or(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=ot(e);if(t.headers||(t.headers={}),(0,e_.A)(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(n9)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(n8)){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:o}=await tQ("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(o&&t&&(r===ot(oe)||204===e.status)&&nJ({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===ot(oe)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(n2(),nJ({to:t.url||e.headers.get("location")||n5}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new oo(r,e,o,n)},t=>{throw new oo(r,e,null,n)})})}function on(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 ev(n=>{let o=!1;return or(e,t).then(e=>{o=!0,n.next(e),n.complete()},e=>{o=!0,n.error(e)}),()=>{o||r.abort()}})}class oo extends Error{constructor(e,t,r,n){super(),n7(this,"response",void 0),n7(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 oi=G("session",{loaded:!1,session:null}),oa=0;function os(e={includeAuthStatus:!0}){return(oa<Date.now()-6e4||!oi.getState().loaded)&&oc(),new ev(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(oi.getState()),oi.subscribe(r)})}function ol(){return(oa<Date.now()-6e4||!oi.getState().loaded)&&oc(),oi}function ou(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 oc(e,t){oa=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),og(or(oe,{headers:r}))}function od(){oi.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function op(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!J(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!J(n.privileges.find(t=>e===t.display))):(J(r)||console.error(`Could not understand privileges "${r}"`),!0))||!J(t.roles.find(e=>"System Developer"===e.display))}function of(){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(oi.getState()),e||(t=oi.subscribe(n))})}function oh(){return new Promise((e,t)=>{os().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function om(e,t){return og(or(oe,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function oy(e,t,r){return r||(r=new AbortController),await or(`${n9}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),oc()}function og(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},oi.setState(n),t(n)):(n={loaded:!1,session:null},oi.setState(n),r(n))}).catch(e=>{A(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};oi.setState(t),r(t)})})}function ob(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}oi.subscribe(e=>{e.loaded&&e.session&&ou(e.session)});let ov={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function ow(){tH("@openmrs/esm-api",n6),oc()}let o_={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"},ox=e=>"string"==typeof e,oE=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},oS=e=>null==e?"":""+e,oO=/###/g,oP=e=>e&&e.indexOf("###")>-1?e.replace(oO,"."):e,oD=e=>!e||ox(e),ok=(e,t,r)=>{let n=ox(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(oD(e))return{};let t=oP(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return oD(e)?{}:{obj:e,k:oP(n[o])}},oC=(e,t,r)=>{let{obj:n,k:o}=ok(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=ok(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=ok(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},oj=(e,t)=>{let{obj:r,k:n}=ok(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},oR=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?ox(e[n])||e[n]instanceof String||ox(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):oR(e[n],t[n],r):e[n]=t[n]);return e};var oN={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};let oT=e=>ox(e)?e.replace(/[&<>"'\/]/g,e=>oN[e]):e,oA=[" ",",","?","!",";"],o$=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),oI=(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),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},oM=e=>e?.replace("_","-"),oL={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 oF{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||oL,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:(ox(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new oF(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new oF(this.logger,e)}}var oB=new oF;class oV{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 o=0;o<n;o++)r.apply(r,[e,...t])})}}class oW extends oV{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 o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):ox(r)&&i?o.push(...r.split(i)):o.push(r)));let s=oj(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&ox(r))?oI(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),oC(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(ox(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,o,i={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=oj(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?oR(s,r,o):s={...s,...r},oC(this.data,a,s),i.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,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let oK=Symbol("i18next/PATH_KEY");function oz(e,t){let r,n,o,{[oK]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===oK)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let oH={},oG=e=>!ox(e)&&"boolean"!=typeof e&&"number"!=typeof e;class oq extends oV{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=oB.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 o=oG(n.res);return!1!==r.returnObjects||!o}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,o=t.ns||this.options.defaultNS||[],i=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=oA.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=o$.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:ox(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:ox(o)?[o]:o}}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=oz(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=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?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{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&&!ox(n.count),v=oq.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,O=f;g&&!f&&v&&(O=S);let P=oG(O),D=Object.prototype.toString.apply(O);if(g&&O&&P&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(D)&&!(ox(y)&&Array.isArray(O))){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,O,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(O),t=e?[]:{},r=e?m:h;for(let e in O)if(Object.prototype.hasOwnProperty.call(O,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:oG(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=O[e])}f=t}}else if(g&&ox(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){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 o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,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),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){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 i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=ox(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!ox(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);i<(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)=>o?.[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 i=r.postProcess||this.options.postProcess,a=ox(i)?[i]:i;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,o,i,a;return ox(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&&!ox(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(ox(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,!oH[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(oH[`${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;i=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`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,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(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,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&&!ox(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 oZ{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=oB.create("languageUtils")}getScriptPartFromCode(e){if(!(e=oM(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=oM(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(ox(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)),ox(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=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return ox(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):ox(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let oX={zero:0,one:1,two:2,few:3,many:4,other:5},oY={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class oJ{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=oB.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=oM("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),oY;if(!e.match(/-|_/))return oY;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=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)=>oX[e]-oX[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 oQ=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=oj(e,r))?i:oj(t,r);return!a&&o&&ox(r)&&void 0===(a=oI(e,r,n))&&(a=oI(t,r,n)),a};class o0{constructor(e={}){this.logger=oB.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:o,prefixEscaped:i,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:oT,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",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 o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=oQ(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(oQ(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};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;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=ox(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else ox(i)||this.useRawValueToEscape||(i=oS(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!ox(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.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)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!ox(o))return o;ox(o)||(o=oS(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let o1=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(oM(n),o),t[a]=s),s(r)}},o4=e=>(t,r,n)=>e(oM(r),n)(t);class o3{constructor(e={}){this.logger=oB.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?o1:o4;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()]=o1(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class o2 extends oV{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=oB.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 o={},i={},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===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,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:o,k:i}=ok(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),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,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});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*o,i)},o):i(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();ox(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ox(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.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],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},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={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let o5=()=>({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]),ox(e[1])&&(t.defaultValue=e[1]),ox(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}),o6=e=>(ox(e.ns)&&(e.ns=[e.ns]),ox(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),ox(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),o7=()=>{};class o9 extends oV{constructor(e={},t){if(super(),this.options=o6(e),this.services={},this.logger=oB,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&&(ox(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=o5();this.options={...r,...this.options,...o6(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?oB.init(n(this.modules.logger),this.options):oB.init(null,this.options),e=this.modules.formatter?this.modules.formatter:o3;let t=new oZ(this.options);this.store=new oW(this.options.resources,this.options);let o=this.services;o.logger=oB,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new oJ(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)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new o0(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new o2(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new oq(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=o7),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 o=oE(),i=()=>{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),o.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?i():setTimeout(i,0),o}loadResources(e,t=o7){let r=t,n=ox(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=oE();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=o7),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=oE();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=ox(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(ox(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};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(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=oz(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=oz(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return ox(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,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(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,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=oE();return this.options.ns?(ox(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=oE();ox(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),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 oZ(o5());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 o9(e,t)}cloneInstance(e={},t=o7){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new o9(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new oW(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),o.services.resourceStore=o.store),o.translator=new oq(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let o8=o9.createInstance();o8.createInstance=o9.createInstance,o8.createInstance,o8.dir,o8.init,o8.loadResources,o8.reloadResources,o8.use,o8.changeLanguage,o8.getFixedT,o8.t,o8.exists,o8.setDefaultNamespace,o8.hasLoadedNamespace,o8.loadNamespaces,o8.loadLanguages;let ie=o8.default||o8;function it(e,t,r,n){return ie.t(t,{ns:e,defaultValue:r,...n})}function ir(e,t,r){return o_[e]?it("core",e,t??o_[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}ie.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let io="import-map-override:",ii="import-map-overrides-disabled",ia="import-map-overrides:change",is=!1,il=null,iu=null;async function ic(){return iu??(iu=id().then(({map:e,complete:t})=>(t||(iu=null),e))),iu}async function id(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:ip(t),complete:r}}function ip(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function ih(){let e={};try{let t=iv();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(io)){let r=n.slice(io.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 im(){let e=await ic();return is?ip([e,il??ih()]):e}async function iy(){return ic()}async function ig(){return is?ip([await ic(),ih()]):ic()}function ib(e){if(!is)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(io)){let t=localStorage.getItem(r);t&&(e[r.slice(io.length)]=t)}}return{imports:e}}return ih()}function iv(){if(!is)return[];try{let e=localStorage.getItem(ii);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function iw(e){return!!is&&iv().includes(e)}function i_(e,t){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(io+e,t),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function ix(e){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(io+e);let t=iv().filter(t=>t!==e);t.length>0?localStorage.setItem(ii,JSON.stringify(t)):localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function iE(){if(!is)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(io)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function iS(e){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=iv().filter(t=>t!==e);t.length>0?localStorage.setItem(ii,JSON.stringify(t)):localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let iO=!1;function iP(){!iO&&(iO=!0,(is="development"===window.spaEnv)&&(il=ih()))}function iD(e){return e.replace(/[\/\-@]/g,"_")}async function ik(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([iC(e,n?.importMap),new Promise((t,r)=>{i=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)})]),i&&clearTimeout(i);let s=iD(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.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 iC(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=iD(e);if(!window[r]){let r=t??await ij();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 o=e in ib().imports;try{return await function(e){var t;let r=(t=window)[iR]??(t[iR]=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 o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=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(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&C({kind:"error",title:ir("scriptLoadingFailed","Error: Script failed to load"),description:ir("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:ir("resetOverrides","Reset overrides"),onActionButtonClick(){iE(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function ij(){return im()}let iR=Symbol.for("__openmrs_script_loading");function iN(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 iT(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&&iN(t))}let iA="openmrs-routes:",i$="openmrs-routes:change",iI=!1,iM=null,iL=null;async function iF(){return iL??(iL=iB().then(({map:e,complete:t})=>(t||(iL=null),e))),iL}async function iB(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&iT(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:iV(t),complete:r}}function iV(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 iW(){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(iA)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(iA.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(iN(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(iN(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 iU(){let e=await iF();return iI?iV([e,iM??await iW()]):e}async function iK(){return iF()}async function iz(){return iI?iV([await iF(),await iW()]):iF()}function iH(){if(!iI)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(iA)){let t=localStorage.getItem(r);t&&(e[r.slice(iA.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function iG(e,t){if(!iI)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(iA+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!iN(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(iA+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(iA+e,JSON.stringify(t.toString()));else{if(!iN(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(iA+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function iq(e){if(!iI)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(iA+e),window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function iZ(){if(!iI)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(iA)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let iX=null;function iY(){return iX||(iX=(iI="development"===window.spaEnv)?iW().then(e=>{iM=e}):Promise.resolve())}let iJ=`${n9}/attachment`;function iQ(e,t){return or(`${iJ}/${e}`,{signal:t.signal})}function i0(e,t,r,n){return or(i1(e,t,n),{signal:r.signal})}function i1(e,t,r){return r?`${iJ}?patient=${e}&encounter=${r}`:`${iJ}?patient=${e}&includeEncounterless=${t}`}async function i4(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),or(`${iJ}`,{method:"POST",body:n})}function i3(e,t){return or(`${iJ}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function i2(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 i5(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 i6(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 i7=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function i9(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var i8=function(e,t){this.type=e,Object.assign(this,t)};function ae(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function at(){}var ar={type:"SKIP_WAITING"};function an(e,t){if(!t)return e&&e.then?e.then(at):Promise.resolve()}var ao=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new i7,n.en=new i7,n.on=new i7,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!i9(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,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new i8(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new i8("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new i8("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return ae(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new i8("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.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,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return an(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),ae(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&&i9(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new i8("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})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?an(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return ae(this.getSW(),function(t){return i2(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&i2(this.fn.waiting,ar)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&i9(e.scriptURL,this.sn.toString())?e:void 0},o.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 ae(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}}],i5(t.prototype,r),n&&i5(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 i6(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)?i6(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 ai(e,t){if(void 0!==c)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),c;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new ao(e,t);return c=r.register().then(()=>r.controlling.then(()=>r))}function aa(){return c??Promise.resolve(void 0)}let as="x-omrs-offline-response-body",al="x-omrs-offline-response-status",au="x-omrs-offline-caching-strategy";async function ac(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 ad(){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 ap(){return!window.indexedDB}async function af(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function ah(){return await af()||await ap()||await ad()}let am="openmrs3:offline-mode",ay="unavailable";function ag(){return{current:ay,notAvailable:"unavailable"===ay,active:"on"===ay}}function ab(e){"unavailable"!==ay&&"unavailable"!==e&&(localStorage.setItem(am,"on"===e?"active":"disabled"),ay=e)}async function av(){await ah()||(ay="active"===localStorage.getItem(am)?"on":"off"),navigator.onLine}let aw="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,a_=Object.keys,ax=Array.isArray;function aE(e,t){return"object"!=typeof t||a_(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||aw.Promise||(aw.Promise=Promise);let aS=Object.getPrototypeOf,aO={}.hasOwnProperty;function aP(e,t){return aO.call(e,t)}function aD(e,t){"function"==typeof t&&(t=t(aS(e))),("u"<typeof Reflect?a_:Reflect.ownKeys)(t).forEach(r=>{aC(e,r,t[r])})}let ak=Object.defineProperty;function aC(e,t,r,n){ak(e,t,aE(r&&aP(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function aj(e){return{from:function(t){return e.prototype=Object.create(t.prototype),aC(e.prototype,"constructor",e),{extend:aD.bind(null,e.prototype)}}}}let aR=Object.getOwnPropertyDescriptor;function aN(e,t){let r;return aR(e,t)||(r=aS(e))&&aN(r,t)}let aT=[].slice;function aA(e,t,r){return aT.call(e,t,r)}function a$(e,t){return t(e)}function aI(e){if(!e)throw Error("Assertion Failed")}function aM(e){aw.setImmediate?setImmediate(e):setTimeout(e,0)}function aL(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function aF(e,t){if("string"==typeof t&&aP(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=aF(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:aF(s,t.substr(a+1))}}function aB(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){aI("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)aB(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?ax(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&aP(e,a)||(l=e[a]={}),aB(l,s,r)}}else void 0===r?ax(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function aV(e){var t={};for(var r in e)aP(e,r)&&(t[r]=e[r]);return t}let aW=[].concat;function aU(e){return aW.apply([],e)}let aK="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(aU([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>aw[e]),az=aK.map(e=>aw[e]);aL(aK,e=>[e,!0]);let aH=null;function aG(e){aH="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=aH&&aH.get(t);if(r)return r;if(ax(t)){r=[],aH&&aH.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(az.indexOf(t.constructor)>=0)r=t;else{let n=aS(t);for(var i in r=n===Object.prototype?{}:Object.create(n),aH&&aH.set(t,r),t)aP(t,i)&&(r[i]=e(t[i]))}return r}(e);return aH=null,t}let{toString:aq}={};function aZ(e){return aq.call(e).slice(8,-1)}let aX="u">typeof Symbol?Symbol.iterator:"@@iterator",aY="symbol"==typeof aX?function(e){var t;return null!=e&&(t=e[aX])&&t.apply(e)}:function(){return null},aJ={};function aQ(e){var t,r,n,o;if(1==arguments.length){if(ax(e))return e.slice();if(this===aJ&&"string"==typeof e)return[e];if(o=aY(e)){for(r=[];!(n=o.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 a0="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var a1="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),a4=()=>!0;let a3=!Error("").stack;function a2(){if(a3)try{throw a2.arguments,Error()}catch(e){return e}return Error()}function a5(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(a4).map(e=>"\n"+e).join("")):""}var a6=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],a7=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(a6),a9={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 a8(e,t){this._e=a2(),this.name=e,this.message=t}function se(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function st(e,t,r,n){this._e=a2(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=se(e,t)}function sr(e,t){this._e=a2(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=se(e,t)}aj(a8).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+a5(this._e,2))}},toString:function(){return this.name+": "+this.message}}),aj(st).from(a8),aj(sr).from(a8);var sn=a7.reduce((e,t)=>(e[t]=t+"Error",e),{}),so=a7.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=a2(),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=a9[t]||r,this.inner=null)}return aj(n).from(a8),e[t]=n,e},{});so.Syntax=SyntaxError,so.Type=TypeError,so.Range=RangeError;var si=a6.reduce((e,t)=>(e[t+"Error"]=so[t],e),{}),sa=a7.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=so[t]),e),{});function ss(){}function sl(e){return e}function su(e,t){return null==e||e===sl?t:function(r){return t(e(r))}}function sc(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function sd(e,t){return e===ss?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?sc(n,this.onsuccess):n),o&&(this.onerror=this.onerror?sc(o,this.onerror):o),void 0!==i?i:r}}function sp(e,t){return e===ss?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?sc(r,this.onsuccess):r),n&&(this.onerror=this.onerror?sc(n,this.onerror):n)}}function sf(e,t){return e===ss?t:function(r){var n=e.apply(this,arguments);aE(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?sc(o,this.onsuccess):o),i&&(this.onerror=this.onerror?sc(i,this.onerror):i),void 0===n?void 0===a?void 0:a:aE(n,a)}}function sh(e,t){return e===ss?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function sm(e,t){return e===ss?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}sa.ModifyError=st,sa.DexieError=a8,sa.BulkError=sr;var sy={};let[sg,sb,sv]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,aS(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,aS(t),e]})(),sw=sb&&sb.then,s_=sg&&sg.constructor,sx=!!sv;var sE=!1,sS=sv?()=>{sv.then(sz)}:aw.setImmediate?setImmediate.bind(null,sz):aw.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{sz(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(sz,0)},sO=function(e,t){sA.push([e,t]),sD&&(sS(),sD=!1)},sP=!0,sD=!0,sk=[],sC=[],sj=null,sR=sl,sN={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:li,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{li(e[0],e[1])}catch(e){}})}},sT=sN,sA=[],s$=0,sI=[];function sM(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=ss,this._lib=!1;var t=this._PSD=sT;if(a1&&(this._stackHolder=a2(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==sy)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&sB(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&&sH();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof sM?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,sV(t)),n&&sG()}},sB.bind(null,t))}catch(e){sB(t,e)}}(this,e)}let sL={get:function(){var e=sT,t=s1;function r(r,n){var o=!e.global&&(e!==sT||t!==s1);let i=o&&!s5();var a=new sM((t,a)=>{sW(this,new sF(lr(r,e,o,i),lr(n,e,o,i),t,a,e))});return a1&&sK(a,this),a}return r.prototype=sy,r},set:function(e){aC(this,"then",e&&e.prototype===sy?sL:{get:function(){return e},set:sL.set})}};function sF(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function sB(e,t){if(sC.push(t),null===e._state){var r=e._lib&&sH();t=sR(t),e._state=!1,e._value=t,a1&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=aN(t,"stack");t._promise=e,aC(t,"stack",{get:()=>sE?r&&(r.get?r.get.apply(t):r.value):e.stack})}),sk.some(t=>t._value===e._value)||sk.push(e),sV(e),r&&sG()}}function sV(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)sW(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===s$&&(++s$,sO(()=>{0==--s$&&sq()},[]))}function sW(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,++s$,sO(sU,[r,e,t])}else e._listeners.push(t)}function sU(e,t,r){try{sj=t;var n,o=t._value;t._state?n=e(o):(sC.length&&(sC=[]),n=e(o),-1===sC.indexOf(o)&&function(e){for(var t=sk.length;t;)if(sk[--t]._value===e._value)return void sk.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{sj=null,0==--s$&&sq(),--r.psd.ref||r.psd.finalize()}}function sK(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function sz(){sH()&&sG()}function sH(){var e=sP;return sP=!1,sD=!1,e}function sG(){var e,t,r;do for(;sA.length>0;)for(e=sA,sA=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(sA.length>0);sP=!0,sD=!0}function sq(){var e=sk;sk=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=sI.slice(0),r=t.length;r;)t[--r]()}function sZ(e){return new sM(sy,!1,e)}function sX(e,t){var r=sT;return function(){var n=sH(),o=sT;try{return s8(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{s8(o,!1),n&&sG()}}}aD(sM.prototype,{then:sL,_then:function(e,t){sW(this,new sF(null,null,e,t,sT))},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):sZ(e)):this.then(null,e=>e&&e.name===t?r(e):sZ(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),sZ(t)))},stack:{get:function(){if(this._stack)return this._stack;try{sE=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=a5(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return a1&&((o=a5(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{sE=!1}}},timeout:function(e,t){return e<1/0?new sM((r,n)=>{var o=setTimeout(()=>n(new so.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&aC(sM.prototype,Symbol.toStringTag,"Dexie.Promise"),sN.env=le(),aD(sM,{all:function(){var e=aQ.apply(null,arguments).map(s6);return new sM(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>sM.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof sM)return e;if(e&&"function"==typeof e.then)return new sM((t,r)=>{e.then(t,r)});var t=new sM(sy,!0,e);return sK(t,sj),t},reject:sZ,race:function(){var e=aQ.apply(null,arguments).map(s6);return new sM((t,r)=>{e.map(e=>sM.resolve(e).then(t,r))})},PSD:{get:()=>sT,set:e=>sT=e},totalEchoes:{get:()=>s1},newPSD:s3,usePSD:lt,scheduler:{get:()=>sO,set:e=>{sO=e}},rejectionMapper:{get:()=>sR,set:e=>{sR=e}},follow:(e,t)=>new sM((r,n)=>s3((t,r)=>{var n=sT;n.unhandleds=[],n.onunhandled=r,n.finalize=sc(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},sI.push(function t(){e(),sI.splice(sI.indexOf(t),1)}),++s$,sO(()=>{0==--s$&&sq()},[])},n.finalize),e()},t,r,n))}),s_&&(s_.allSettled&&aC(sM,"allSettled",function(){let e=aQ.apply(null,arguments).map(s6);return new sM(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>sM.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),s_.any&&"u">typeof AggregateError&&aC(sM,"any",function(){let e=aQ.apply(null,arguments).map(s6);return new sM((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>sM.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let sY={awaits:0,echoes:0,id:0};var sJ=0,sQ=[],s0=0,s1=0,s4=0;function s3(e,t,r,n){var o=sT,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++s4;var a=sN.env;i.env=sx?{Promise:sM,PromiseProp:{value:sM,configurable:!0,writable:!0},all:sM.all,race:sM.race,allSettled:sM.allSettled,any:sM.any,resolve:sM.resolve,reject:sM.reject,nthen:ln(a.nthen,i),gthen:ln(a.gthen,i)}:{},t&&aE(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=lt(i,e,r,n);return 0===i.ref&&i.finalize(),s}function s2(){return sY.id||(sY.id=++sJ),++sY.awaits,sY.echoes+=100,sY.id}function s5(){return!!sY.awaits&&(0==--sY.awaits&&(sY.id=0),sY.echoes=100*sY.awaits,!0)}function s6(e){return sY.echoes&&e&&e.constructor===s_?(s2(),e.then(e=>(s5(),e),e=>(s5(),la(e)))):e}function s7(e){++s1,sY.echoes&&0!=--sY.echoes||(sY.echoes=sY.id=0),sQ.push(sT),s8(e,!0)}function s9(){var e=sQ[sQ.length-1];sQ.pop(),s8(e,!1)}function s8(e,t){var r,n=sT;if((t?!sY.echoes||s0++&&e===sT:!s0||--s0&&e===sT)||(r=t?s7.bind(null,e):s9,sw.call(sg,r)),e!==sT&&(sT=e,n===sN&&(sN.env=le()),sx)){var o=sN.env.Promise,i=e.env;sb.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(aw,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function le(){var e=aw.Promise;return sx?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(aw,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:sb.then,gthen:e.prototype.then}:{}}function lt(e,t,r,n,o){var i=sT;try{return s8(e,!0),t(r,n,o)}finally{s8(i,!1)}}function lr(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=sT;r&&s2(),s8(t,!0);try{return e.apply(this,arguments)}finally{s8(i,!1),n&&(o=s5,sw.call(sg,o))}}}function ln(e,t){return function(r,n){return e.call(this,lr(r,t),lr(n,t))}}-1===(""+sw).indexOf("[native code]")&&(s2=s5=ss);let lo="unhandledrejection";function li(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(aw.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(lo,!0,!0),aE(n,o)):aw.CustomEvent&&aE(n=new CustomEvent(lo,{detail:o}),o),n&&aw.dispatchEvent&&(dispatchEvent(n),!aw.PromiseRejectionEvent&&aw.onunhandledrejection))try{aw.onunhandledrejection(n)}catch(e){}a1&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var la=sM.reject;let ls="3.2.7",ll=String.fromCharCode(65535),lu=-1/0,lc="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",ld="String expected.",lp=[],lf="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),lh=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),lm="__dbnames",ly="readonly",lg="readwrite";function lb(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let lv={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function lw(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=aG(t))[e],t)}class l_{_trans(e,t,r){let n=this._tx||sT.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new so.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=sH();try{return n&&n.db===this.db?n===sT.trans?n._promise(e,i,r):s3(()=>n._promise(e,i,r),{trans:n,transless:sT.transless||sT}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||sT.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===sn.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):la(i)}return i._promise(r,(e,t)=>s3(()=>(sT.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return la(new so.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return la(new so.DatabaseClosed);t.open().catch(ss)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&sG()}}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(ax(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=a_(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=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==ll){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&a1&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?lb(r,a&&a.multi?e=>{let t=aF(e,o);return ax(t)&&t.some(e=>i(s,e))}:e=>i(s,aF(e,o))):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,ax(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(aP(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){aE(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=lw(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?sM.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{aB(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||ax(e))return this.where(":id").equals(e).modify(t);{let r=aF(e,this.schema.primKey.keyPath);if(void 0===r)return la(new so.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?a_(t).forEach(r=>{aB(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,o=e;return n&&r&&(o=lw(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?sM.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{aB(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?sM.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:lv})).then(e=>e.numFailures?sM.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,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new so.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new so.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(lw(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new sr(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new so.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new so.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(lw(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new sr(`${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 sr(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function lx(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=sh),o||(o=ss);var a={subscribers:[],fire:o,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,o)}};return t[e]=r[e]=a,a}a_(e).forEach(function(t){var r=e[t];if(ax(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new so.InvalidArgument("Invalid event config");var n=i(t,sl,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){aM(function(){e.apply(null,t)})})})}})}}function lE(e,t){return aj(t).from({prototype:e}),t}function lS(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function lO(e,t){e.filter=lb(e.filter,t)}function lP(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>lb(n(),t()):t,e.justLimit=r&&!n}function lD(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new so.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function lk(e,t,r){let n=lD(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 lC(e,t,r,n){let o=e.replayFilter?lb(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),aP(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),lj(lk(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return lj(lk(e,n,r),lb(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function lj(e,t,r,n){var o=sX(n?(e,t,o)=>r(n(e),t,o):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=ss},t=>{e.fail(t),r=ss})||o(e.value,e,e=>r=e),r()})})}function lR(e,t){try{let r=lN(e),n=lN(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,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(lT(e),lT(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=lR(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function lN(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=aZ(e);return"ArrayBuffer"===r?"binary":r}function lT(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class lA{_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=lb(t.algorithm,e)}_iterate(e,t){return lC(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&aE(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>lC(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(lS(t,!0))return r.count({trans:e,query:{index:lD(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return lC(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);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&&lS(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=lD(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 lC(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,lS(t)?lP(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):lP(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),lP(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return lO(this._ctx,function(r,n,o){return!e(r.value)||(n(o),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 lO(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=lb(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&&lS(t,!0)&&t.limit>0)return this._read(e=>{var r=lD(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 lO(this._ctx,function(e){var t=e.primaryKey.toString(),n=aP(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 o=a_(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];aF(t,a)!==s&&(aB(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,a_(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.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:aG(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===lR(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=lS(t)&&t.limit===1/0&&("function"!=typeof e||e===l$)&&{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===l$)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new st("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return lS(e)&&(e.isPrimKey&&!lf||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:o})=>{if(o)throw new st("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(l$)}}let l$=(e,t)=>t.value=null;function lI(e,t){return e<t?-1:+(e!==t)}function lM(e,t){return e>t?-1:+(e!==t)}function lL(e,t,r){var n=e instanceof lU?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function lF(e){return new e.Collection(e,()=>lW("")).limit(0)}function lB(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return lL(e,ld);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?lI:lM;var t=r.map(function(e){return{lower:i(e),upper:o(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,()=>lV(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){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>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(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>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,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 lV(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function lW(e){return{type:1,lower:e,upper:e}}class lU{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)?lF(this):new this.Collection(this,()=>lV(e,t,!r,!n))}catch(e){return lL(this,lc)}}equals(e){return null==e?lL(this,lc):new this.Collection(this,()=>lW(e))}above(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(e,void 0,!0))}aboveOrEqual(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(e,void 0,!1))}below(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(void 0,e,!1,!0))}belowOrEqual(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(void 0,e))}startsWith(e){return"string"!=typeof e?lL(this,ld):this.between(e,e+ll,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):lB(this,(e,t)=>0===e.indexOf(t[0]),[e],ll)}equalsIgnoreCase(e){return lB(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=aQ.apply(aJ,arguments);return 0===e.length?lF(this):lB(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=aQ.apply(aJ,arguments);return 0===e.length?lF(this):lB(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,ll)}anyOf(){let e=aQ.apply(aJ,arguments),t=this._cmp;try{e.sort(t)}catch(e){return lL(this,lc)}if(0===e.length)return lF(this);let r=new this.Collection(this,()=>lV(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,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[lu,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=aQ.apply(aJ,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return lL(this,lc)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[lu,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,o=this._descending,i=this._min,a=this._max;if(0===e.length)return lF(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return lL(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",so.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,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return lL(this,lc)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>lV(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=aQ.apply(aJ,arguments);return e.every(e=>"string"==typeof e)?0===e.length?lF(this):this.inAnyRange(e.map(e=>[e,e+ll])):lL(this,"startsWithAnyOf() only works with strings")}}function lK(e){return sX(function(t){return lz(t),e(t.target.error),!1})}function lz(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let lH="storagemutated",lG="x-storagemutated-1",lq=lx(null,lH);class lZ{_lock(){return aI(!sT.global),++this._reculock,1!==this._reculock||sT.global||(sT.lockOwnerFor=this),this}_unlock(){if(aI(!sT.global),0==--this._reculock)for(sT.global||(sT.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{lt(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&sT.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(aI(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new so.DatabaseClosed(r);case"MissingAPIError":throw new so.MissingAPI(r.message,r);default:throw new so.OpenFailed(r)}if(!this.active)throw new so.TransactionInactive;return aI(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=sX(t=>{lz(t),this._reject(e.error)}),e.onabort=sX(t=>{lz(t),this.active&&this._reject(new so.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=sX(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&lq.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return la(new so.ReadOnly("Transaction is readonly"));if(!this.active)return la(new so.TransactionInactive);if(this._locked())return new sM((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},sT])});if(r)return s3(()=>{var e=new sM((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 sM((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=sM.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 o=t._waitingFor;return new sM((e,n)=>{r.then(r=>t._waitingQueue.push(sX(e.bind(null,r))),e=>t._waitingQueue.push(sX(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new so.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(aP(t,e))return t[e];let r=this.schema[e];if(!r)throw new so.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 lX(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+lY(t)}}function lY(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function lJ(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:aL(r,e=>[e.name,e])}}let lQ=e=>{try{return e.only([[]]),lQ=()=>[[]],[[]]}catch(e){return lQ=()=>ll,ll}};function l0(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>aF(t,e):t=>aF(t,e)}function l1(e){return[].slice.call(e)}let l4=0;function l3(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function l2({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(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:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=l1(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=ax(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:l0(t)},indexes:l1(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:ax(o),keyPath:o,unique:r,multiEntry:n,extractKey:l0(o)};return i[l3(o)]=a,a}),getIndexByKeyPath:e=>i[l3(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[l3(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=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=sX(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||i||{length:1};if(n&&i&&n.length!==i.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,lz(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(o(a)))}else{let[e,t]=p?d?[i,n]:[i,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,o)=>{n=sX(n);let i=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=lK(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=sX(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=lK(o)}),query:e=>new Promise((r,n)=>{r=sX(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(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=lK(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=lK(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=sX(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=lK(l),h.onsuccess=sX(t=>{let r=h.result;if(!r)return void s(null);r.___id=++l4,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=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=sX(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=sX(e),h.onerror=lK(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=sX(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=sX(t=>e(t.target.result)),c.onerror=lK(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:lQ(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(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 l5({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=aN(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?aC(t,r,{get(){return this.table(r)},set(e){ak(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function l6({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function l7(e,t){return e._cfg.version-t._cfg.version}function l9(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||lf)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(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,i])}return n}function l8(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>ue(o,e)),o}function ue(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function ut(e,t,r){let n={};return aA(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=lX(lY(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=lX(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=lJ(e,i,a)}),n}function ur({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+aA(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&aw.WorkerGlobalScope&&aw instanceof aw.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class un{_parseStoresSpec(e,t){a_(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 lX(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),ax(n),0===t)}),o=n.shift();if(o.multi)throw new so.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new so.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new so.Schema("Index must have a name and cannot be an empty string")}),t[r]=lJ(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?aE(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{aE(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,l6(t,[t._allTables,t,t.Transaction.prototype]),l5(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],a_(o),o),t._storeNames=a_(o),this}upgrade(e){return this._cfg.contentUpgrade=sm(this._cfg.contentUpgrade||ss,e),this}}function uo(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new uE(lm,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function ui(e){return e&&"function"==typeof e.databases}function ua(e){return s3(function(){return sT.letThrough=!0,e()})}function us(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):ax(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function ul(e,t,r){var n=arguments.length;if(n<2)throw new so.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,aU(o),r]}function uu(e,t,r){let n=ax(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let uc={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=l3(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:l0(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.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(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:uu(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:uu(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[l3(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(uu(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(uu(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function ud(e,t,r,n){return r=r||{},n=n||"",a_(e).forEach(o=>{if(aP(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=aZ(i);e!==aZ(a)?r[n+o]=t[o]:"Object"===e?ud(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),a_(t).forEach(o=>{aP(e,o)||(r[n+o]=t[o])}),r}let up={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 o=sT.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===ss&&s.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===ss)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=sT.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"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||aB(e.values[o],n.keyPath,r))}else{let t=ud(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{aP(t,e)?t[e]=n[e]:aB(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function uf(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===lR(t.keys[o],e[i])&&(n.push(r?aG(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let uh={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=uf(e.keys,e.trans._cache,"clone"===e.cache);return t?sM.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?aG(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function um(e){return!("from"in e)}let uy=function(e,t){if(!this){let t=new uy;return e&&"d"in e&&aE(t,e),t}aE(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ug(e,t,r){let n=lR(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(um(e))return aE(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>lR(r,e.from))return o?ug(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},uw(e);if(lR(t,e.to)>0)return i?ug(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},uw(e);0>lR(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),lR(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&ub(e,o),i&&a&&ub(e,i)}function ub(e,t){um(t)||function e(t,{from:r,to:n,l:o,r:i}){ug(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function uv(e){let t=um(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>lR(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>=lR(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 uw(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=u_(r)}e.d=u_(e)}function u_({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}aD(uy.prototype,{add(e){return ub(this,e),this},addKey(e){return ug(this,e,e),this},addKeys(e){return e.forEach(e=>ug(this,e,e)),this},[aX](){return uv(this)}});let ux={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new uy(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,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 uy)},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 o.mutate(e).then(e=>{if(ax(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=uf(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&ax(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==lR(i,a)&&(null!=i&&o(i),null!=a&&o(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),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new uy(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new uy(e.key)],getMany:e=>[a,(new uy).addKeys(e.keys)],count:c,query:c,openCursor:c};return a_(d).forEach(e=>{u[e]=function(i){let{subscr:a}=sT;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new uy)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.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 o[e].apply(this,arguments)}}),u}}}};class uE{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=uE.dependencies;this._options=t={addons:uE.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ss,dbReadyPromise:null,cancelOpen:ss,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new sM(e=>{i.dbReadyResolve=e}),i.openCanceller=new sM((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=lx(this,"populate","blocked","versionchange","close",{ready:[sm,ss]}),this.on.ready.subscribe=a$(this.on.ready.subscribe,e=>(t,r)=>{uE.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||sM.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,lE(lA.prototype,function(e,t){this.db=r;let n=lv,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==sl?s:null}})),this.Table=function(e){return lE(l_.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:lx(null,{creating:[sd,ss],reading:[su,sl],updating:[sf,ss],deleting:[sp,ss]})})}(this),this.Transaction=function(e){return lE(lZ.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=lx(this,"complete","error","abort"),this.parent=i||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 sM((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 lE(un.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return lE(lU.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new so.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.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=lQ(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),lp.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(uc),this.use(up),this.use(ux),this.use(uh),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new so.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new so.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(l7),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||sT.letThrough||this._vip)?e():new sM((e,t)=>{if(this._state.openComplete)return t(new so.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new so.DatabaseClosed);this.open().catch(ss)}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 o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.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);a1&&(r.openCanceller._stackHolder=a2()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new so.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new sM((t,o)=>{if(i(),!n)throw new so.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new so.MissingAPI;u.onerror=lK(o),u.onblocked=sX(e._fireOnBlocked),u.onupgradeneeded=sX(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=lz,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=sX(()=>{o(new so.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=lK(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=sT.transless||sT,s3(()=>{sT.trans=n,sT.transless=p,0===i?(a_(r).forEach(e=>{l8(c,e,r[e].primKey,r[e].indexes)}),l2(e,c),sM.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=ut(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;ur(e,o,n),ur(e,l,n),a=e._dbSchema=l;let u=l9(o,l);u.add.forEach(e=>{l8(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new so.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>ue(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),ue(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;l2(e,n),r._memoizedTables={},s=!0;let i=aV(l);u.del.forEach(e=>{i[e]=o[e]}),l6(e,[e.Transaction.prototype]),l5(e,[e.Transaction.prototype],a_(i),i),r.schema=i;let a=a0(c);a&&s2();let d=sM.follow(()=>{if((t=c(r))&&a){var e=s5.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?sM.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&lf||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),l6(e,[e.Transaction.prototype]),l5(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?sM.resolve(o.shift()(r.idbtrans)).then(e):sM.resolve()})().then(()=>{var e;a_(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||l8(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=sX(()=>{s=null;let n=e._novip.idbdb=u.result,o=aA(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=ut(0,t,r);e._storeNames=aA(t.objectStoreNames,0),l5(e,[e._allTables],a_(n),n)}(e,n,i):(ur(e,e._dbSchema,i),((t=l9(ut(0,e.idbdb,i),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.")),l2(e,i)}catch(e){}lp.push(e),n.onversionchange=sX(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=sX(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){ui(e)||r===lm||uo(e,t).put({name:r}).catch(ss)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):sM.reject(e));return sM.race([o,("u"<typeof navigator?sM.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(u)]).then(()=>(i(),r.onReadyBeingFired=[],sM.resolve(ua(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(sm,ss);return r.onReadyBeingFired=[],sM.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 o===r.openCanceller&&e._close(),la(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=lp.indexOf(this);if(t>=0&&lp.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new sM(t=>{e.dbReadyResolve=t}),e.openCanceller=new sM((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new so.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new sM((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=sX(()=>{!function({indexedDB:e,IDBKeyRange:t},r){ui(e)||r===lm||uo(e,t).delete(r).catch(ss)}(this._deps,this.name),r()}),e.onerror=lK(n),e.onblocked=this._fireOnBlocked};if(e)throw new so.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}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 a_(this._allTables).map(e=>this._allTables[e])}transaction(){let e=ul.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=sT.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=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===ly)n=ly;else{if("rw"!=e&&e!=lg)throw new so.InvalidArgument("Invalid transaction mode: "+e);n=lg}if(i){if(i.mode===ly&&n===lg){if(!a)throw new so.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new so.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):la(e)}let s=(function e(t,r,n,o,i){return sM.resolve().then(()=>{let a,s=sT.transless||sT,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===sn.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,i))):la(o)}let u=a0(i);u&&s2();let c=sM.follow(()=>{if(a=i.call(l,l))if(u){var e=s5.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=us(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?sM.resolve(a).then(e=>l.active?e:la(new so.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),la(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):sT.trans?lt(sT.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!aP(this._allTables,e))throw new so.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let uS="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class uO{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[uS](){return this}}function uP(e,t){return a_(t).forEach(r=>{ub(e[r]||(e[r]=new uy),t[r])}),e}try{i={indexedDB:aw.indexedDB||aw.mozIndexedDB||aw.webkitIndexedDB||aw.msIndexedDB,IDBKeyRange:aw.IDBKeyRange||aw.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function uD(e){let t=uk;try{uk=!0,lq.storagemutated.fire(e)}finally{uk=t}}aD(uE,{...sa,delete:e=>new uE(e,{addons:[]}).delete(),exists:e=>new uE(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return ui(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==lm)):uo(e,t).toCollection().primaryKeys()})(uE.dependencies).then(e)}catch(e){return la(new so.MissingAPI)}},defineClass:()=>function(e){aE(this,e)},ignoreTransaction:e=>sT.trans?lt(sT.transless,e):e(),vip:ua,async:function(e){return function(){try{var t=us(e.apply(this,arguments));return t&&"function"==typeof t.then?t:sM.resolve(t)}catch(e){return la(e)}}},spawn:function(e,t,r){try{var n=us(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:sM.resolve(n)}catch(e){return la(e)}},currentTransaction:{get:()=>sT.trans||null},waitFor:function(e,t){let r=sM.resolve("function"==typeof e?uE.ignoreTransaction(e):e).timeout(t||6e4);return sT.trans?sT.trans.waitFor(r):r},Promise:sM,debug:{get:()=>a1,set:e=>{a1=e,a4="dexie"===e?()=>!0:lh}},derive:aj,extend:aE,props:aD,override:a$,Events:lx,on:lq,liveQuery:function(e){let t,r=!1,n=new uO(n=>{let o=a0(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,lq.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return a_(s).some(e=>a[e]&&function(e,t){let r=uv(t),n=r.next();if(n.done)return!1;let o=n.value,i=uv(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=lR(s.from,o.to)&&lR(s.to,o.from)>=0)return!0;0>lR(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{uP(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&s2(),h=()=>s3(e,{subscr:y,trans:null}),m=sT.trans?lt(sT.transless,h):h(),o&&m.then(s5,s5),m);c||(lq(lH,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(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:uP,getByKeyPath:aF,setByKeyPath:aB,delByKeyPath:function(e,t){"string"==typeof t?aB(e,t,void 0):"length"in t&&[].map.call(t,function(t){aB(e,t,void 0)})},shallowClone:aV,deepClone:aG,getObjectDiff:ud,cmp:lR,asap:aM,minKey:lu,addons:[],connections:lp,errnames:sn,dependencies:i,semVer:ls,version:ls.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),uE.maxKey=lQ(uE.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(lq(lH,e=>{if(!uk){let t;lf?(t=document.createEvent("CustomEvent")).initCustomEvent(lG,!0,!0,e):t=new CustomEvent(lG,{detail:e}),uk=!0,dispatchEvent(t),uk=!1}}),addEventListener(lG,({detail:e})=>{uk||uD(e)}));let uk=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(lG);"function"==typeof e.unref&&e.unref(),lq(lH,t=>{uk||e.postMessage(t)}),e.onmessage=e=>{e.data&&uD(e.data)}}else if("u">typeof self&&"u">typeof navigator){lq(lH,e=>{try{uk||("u">typeof localStorage&&localStorage.setItem(lG,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:lG,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===lG){let t=JSON.parse(e.newValue);t&&uD(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===lG&&uD(e.changedParts)})}function uC(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}sM.rejectionMapper=function(e,t){if(!e||e instanceof a8||e instanceof TypeError||e instanceof SyntaxError||!e.name||!si[e.name])return e;var r=new si[e.name](t||e.message,e);return"stack"in e&&aC(r,"stack",{get:function(){return this.inner.stack}}),r},a4=lh;class uj extends uE{constructor(){super("EsmOffline"),uC(this,"syncQueue",void 0),uC(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 uR(){return new uj}let uN=new uj,uT={},uA=G("offline-synchronization",{});function u$(){return uA}async function uI(){if(uA.getState().synchronization)return;let e=await uN.syncQueue.count(),t={},r=Object.entries(uT),n=r.length,o={},i=new AbortController,a=()=>{let e=uA.getState().synchronization;uA.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{uA.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});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)&&(o[n]={},await Promise.all(l),t[n]=uM(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{uA.setState({synchronization:void 0})}}async function uM({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await uL();await uN.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 i=await r(d,{abort:o,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]=i),await uN.syncQueue.delete(c)}catch(e){await uN.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function uL(){let e=await of();return e?.uuid||"*"}async function uF(e,t,r,n){let o=n&&n.id;return void 0!==o&&await uN.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(uE.errnames.DatabaseClosed),await uN.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(uE.errnames.DatabaseClosed,()=>-1)}async function uB(e,t,r){let n=await uL();return await uF(n,e,t,r)}async function uV(e,t){return(await uW(e,t)).map(e=>e.content)}async function uW(e,t){return await uN.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(uE.errnames.DatabaseClosed,()=>[])}async function uU(e){let t=await uL();return await uV(t,e)}async function uK(e){let t=await uL();return await uW(t,e)}async function uz(e){return await uN.syncQueue.get(e).catch(uE.errnames.DatabaseClosed,()=>void 0)}function uH(e){return!!uT[e]?.options.onBeginEditSyncItem}async function uG(e){let t=await uz(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=uT[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 uq(e){await uN.syncQueue.delete(e).catch(uE.errnames.DatabaseClosed)}function uZ(e,t,r,n={}){uT[e]={type:e,dependsOn:t,process:r,options:n}}let uX="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),uY=new Uint8Array(16),uJ=[];for(let e=0;e<256;++e)uJ.push((e+256).toString(16).slice(1));let uQ=function(e,t,r){if(uX&&!t&&!e)return uX();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(uY)})();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 uJ[e[t+0]]+uJ[e[t+1]]+uJ[e[t+2]]+uJ[e[t+3]]+"-"+uJ[e[t+4]]+uJ[e[t+5]]+"-"+uJ[e[t+6]]+uJ[e[t+7]]+"-"+uJ[e[t+8]]+uJ[e[t+9]]+"-"+uJ[e[t+10]]+uJ[e[t+11]]+uJ[e[t+12]]+uJ[e[t+13]]+uJ[e[t+14]]+uJ[e[t+15]]}(n)},u0="OFFLINE+";function u1(){return u0+uQ()}function u4(e){return e.startsWith(u0)}let u3={};function u2(){return Object.values(u3)}function u5(e){u3[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.`),u3[e.id]=e}async function u6(e){let t=await co();return await u7(t,e)}async function u7(e,t){let r=new uj;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(uE.errnames.DatabaseClosed,()=>[])}async function u9(e,t){let r=await co();return await u8(r,e,t)}async function u8(e,t,r){let n=new uj,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(uE.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(uE.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(uE.errnames.DatabaseClosed)}async function ce(e,t){let r=await co();return await ct(r,e,t)}async function ct(e,t,r){let n=new uj,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(uE.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(uE.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(uE.errnames.DatabaseClosed))}async function cr(e,t){let r=await u6(e);await Promise.all(r.map(async e=>cn(e.type,e.identifier,t)))}async function cn(e,t,r){await u9(e,t);let n=new uj,o=await co(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(uE.errnames.DatabaseClosed,()=>void 0),a=u2().filter(t=>t.type===e);if(!i)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:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(uE.errnames.DatabaseClosed)}async function co(){let e=(await of()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let ci=G("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function ca(){return cu(),ci}function cs(e,t){cu(),u5({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 cl(e){cu(),await cn("patient",e)}function cu(){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 cc(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([or(`${n8}/Patient/${e}`,t).catch(e=>n=e),r?cd(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function cd(e){let t=(await uU("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function cp(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function cf(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 ch=r(9549);function cm(e){return{uuid:e.uuid,display:e.display}}function cy(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return on(`${n9}/location${n?"?"+n:""}`).pipe((0,ch.map)(e=>e.data.results.map(cm))).pipe((0,ch.take)(1))}function cg(e){return{uuid:e.uuid,display:e.display,name:e.name}}function cb(){return on(`${n9}/visittype`).pipe((0,ch.map)(e=>e.data.results.map(cg))).pipe((0,ch.take)(1))}var cv=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),cw=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return ei(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(ef),c_=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return ei(t,e),t}(ey),cx=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return ei(t,e),t.prototype[em]=function(){return new c_(this)},t.prototype.lift=function(e){var t=new cE(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new cv;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new cv;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new cv;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new cv},t.prototype._subscribe=function(e){if(this.closed)throw new cv;return this.hasError?(e.error(this.thrownError),ef.EMPTY):this.isStopped?(e.complete(),ef.EMPTY):(this.observers.push(e),new cw(this,e))},t.prototype.asObservable=function(){var e=new ev;return e.source=this,e},t.create=function(e,t){return new cE(e,t)},t}(ev),cE=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return ei(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):ef.EMPTY},t}(cx),cS=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return ei(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new cv},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(cx),cO=((ee={}).NEWVISIT="startVisit",ee.EDITVISIT="editVisit",ee.LOADING="loadingVisit",ee),cP=((et={}).NOTSTARTED="notStarted",et.ONGOING="ongoing",et);let cD="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))",ck=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function cC(){return Z("visit",ck)}function cj(e,t){cC().setState({patientUuid:e,manuallySetVisitUuid:t})}function cR(e,t){return or(`${n9}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function cN(e,t,r){return or(`${n9}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function cT(e,t,r){return or(`${n9}/visit?patient=${e}&v=${r??cD}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}cC().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let cA=new cS(null);class c${static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+c$.version}static addUnaryOp(e){return c$.max_unop_len=Math.max(e.length,c$.max_unop_len),c$.unary_ops[e]=1,c$}static addBinaryOp(e,t,r){return c$.max_binop_len=Math.max(e.length,c$.max_binop_len),c$.binary_ops[e]=t,r?c$.right_associative.add(e):c$.right_associative.delete(e),c$}static addIdentifierChar(e){return c$.additional_identifier_chars.add(e),c$}static addLiteral(e,t){return c$.literals[e]=t,c$}static removeUnaryOp(e){return delete c$.unary_ops[e],e.length===c$.max_unop_len&&(c$.max_unop_len=c$.getMaxKeyLen(c$.unary_ops)),c$}static removeAllUnaryOps(){return c$.unary_ops={},c$.max_unop_len=0,c$}static removeIdentifierChar(e){return c$.additional_identifier_chars.delete(e),c$}static removeBinaryOp(e){return delete c$.binary_ops[e],e.length===c$.max_binop_len&&(c$.max_binop_len=c$.getMaxKeyLen(c$.binary_ops)),c$.right_associative.delete(e),c$}static removeAllBinaryOps(){return c$.binary_ops={},c$.max_binop_len=0,c$}static removeLiteral(e){return delete c$.literals[e],c$}static removeAllLiterals(){return c$.literals={},c$}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 c$(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 c$.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!c$.binary_ops[String.fromCharCode(e)]||c$.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return c$.isIdentifierStart(e)||c$.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(c$.hooks[e]){let r={context:this,node:t};return c$.hooks.run(e,r),r.node}return t}searchHook(e){if(c$.hooks[e]){let t={context:this};return c$.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===c$.SPACE_CODE||e===c$.TAB_CODE||e===c$.LF_CODE||e===c$.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:c$.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)===c$.SEMCOL_CODE||r===c$.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,c$.max_binop_len),t=e.length;for(;t>0;){if(c$.binary_ops.hasOwnProperty(e)&&(!c$.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!c$.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,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:c$.binaryPrecedence(t),right_a:c$.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=c$.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:c$.right_associative.has(t)},l=t;let s=e=>o.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,i=n.pop(),e={type:c$.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:c$.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,c$.isDecimalDigit(e)||e===c$.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===c$.SQUOTE_CODE||e===c$.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===c$.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,c$.max_unop_len)).length;r>0;){if(c$.unary_ops.hasOwnProperty(t)&&(!c$.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!c$.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:c$.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}c$.isIdentifierStart(e)?(n=this.gobbleIdentifier(),c$.literals.hasOwnProperty(n.name)?n={type:c$.LITERAL,value:c$.literals[n.name],raw:n.name}:n.name===c$.this_str&&(n={type:c$.THIS_EXP})):e===c$.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===c$.PERIOD_CODE||t===c$.OBRACK_CODE||t===c$.OPAREN_CODE||t===c$.QUMARK_CODE;){let r;if(t===c$.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==c$.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===c$.OBRACK_CODE?((e={type:c$.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==c$.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===c$.OPAREN_CODE?e={type:c$.CALL_EXP,arguments:this.gobbleArguments(c$.CPAREN_CODE),callee:e}:(t===c$.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:c$.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(;c$.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===c$.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);c$.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++));c$.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);c$.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,c$.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===c$.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===c$.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:c$.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:c$.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(c$.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,c$.isIdentifierPart(e))this.index++;else break;return{type:c$.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 o=this.code;if(o===e){r=!0,this.index++,e===c$.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===c$.COMMA_CODE){if(this.index++,++n!==t.length){if(e===c$.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===c$.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!==c$.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(c$.CPAREN_CODE);if(this.code===c$.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:c$.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:c$.ARRAY_EXP,elements:this.gobbleArguments(c$.CBRACK_CODE)}}}Object.assign(c$,{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)})}}(c$),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"}),c$.max_unop_len=c$.getMaxKeyLen(c$.unary_ops),c$.max_binop_len=c$.getMaxKeyLen(c$.binary_ops);let cI=e=>new c$(e).parse(),cM=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(c$).filter(e=>!cM.includes(e)&&void 0===cI[e]).forEach(e=>{cI[e]=c$[e]}),cI.Jsep=c$,cI.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 o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},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 cL="ArrowFunctionExpression",cF={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)}},cB={...cF,Promise};function cV(e,t={}){return cG(e,t,cX)}async function cW(e,t={}){return cq(e,t,cX)}function cU(e,t={}){return cG(e,t,cY)}function cK(e,t={}){return cq(e,t,cY)}function cz(e,t={}){return cG(e,t,cJ)}function cH(e,t={}){return cq(e,t,cJ)}function cG(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=c3(t,cF),o=cQ("string"==typeof e?cI(e):e,n);if(r(o))return o;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 cq(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=c3(t,cB);return Promise.resolve(cQ("string"==typeof e?cI(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 cZ(e){return cI(e)}function cX(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function cY(e){return"boolean"==typeof e}function cJ(e){return"number"==typeof e}function cQ(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=cQ(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return cQ(b.left,v)&&cQ(b.right,v);case"||":return cQ(b.left,v)||cQ(b.right,v);case"??":return cQ(b.left,v)??cQ(b.right,v)}let w=cQ(b.left,v),x=cQ(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,cQ(r.test,n)?cQ(r.consequent,n):cQ(r.alternate,n);case"CallExpression":return c6(c1(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=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}(o)&&t.push([r,o]),t},[]));return cQ(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return c6(c4(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(c7(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(c7(u)))[S.length-1];case"NewExpression":var O=e,P=t;if(O.callee&&"Identifier"===O.callee.type){let e=O.arguments?.map(c7(P));switch(O.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${O.callee.name}`}}if(O.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(c9(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let D,k;return p=e,f=t,D=p.expressions?.map(c7(f))??[],(k=p.quasis?.map(c7(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+D.join("")+k.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function c0(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return c0(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function c1(e,t){let r=c5(e.callee,t);if(r===c2||e.optional&&null==r)return c2;let n=e.arguments?.map(c7(t));if(r){if("function"!=typeof r)throw`${dt(e.callee)} is not a function`}else throw`No function named ${dt(e.callee)} is defined in this context`;return r(...n)}function c4(e,t){let r=c5(e.object,t);if(r===c2||e.optional&&null==r)return c2;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${de(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=c0(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${de(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(cQ(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);c9(n),function(e,t){if(c8.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function c3(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}cI.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:cL,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=cL,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)})}}),cI.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"}})}}),cI.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="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),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 o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=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)})}}),cI.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,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}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")}})}}),cI.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 o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},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 :")}})}}),cI.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!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(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=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,o+=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})}}),cI.addBinaryOp("in",7),cI.addBinaryOp("??",1);let c2=Symbol("optional chain short-circuited");function c5(e,t){switch(e.type){case"MemberExpression":return c4(e,t);case"CallExpression":return c1(e,t);default:return cQ(e,t)}}function c6(e){return e===c2?void 0:e}function c7(e){return function(t){return null===t?null:cQ(t,e)}}function c9(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let c8=new Set(["toString","valueOf","hasOwnProperty"]);function de(e,t){try{return c0(e,t)}catch{return"<computed>"}}function dt(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function dr(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:{...cB},isLocalExpression:!1,variables:new Set};return dn("string"==typeof e?cI(e):e,t),[...t.variables]}function dn(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,dn(n.argument,o);case"BinaryExpression":return i=e,a=t,[dn(i.left,a),dn(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[dn(s.consequent,l),dn(s.test,l),dn(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=dn(u.callee,c),u.arguments?.map(di(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(di(x))??[],S=dn(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var O=e,P=t;if(dn(O.object,P),O.computed)return void dn(O.property,P);let D={...P};D.isLocalExpression=!0,dn(O.property,D);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(di(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(di(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(di(y));case"Literal":case"TemplateElement":return;case"Identifier":var k=e,C=t;if(!(k.name in C.globals))if(C.isLocalExpression)return k.name;else C.variables.add(k.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(di(b)),g.quasis?.map(di(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function di(e){return function(t){return null===t?null:dn(t,e)}}let da=Z("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 ds(e,t,r){da.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function dl(){let e=da.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 du(e){return da.getState().flags[e].enabled}function dc(e,t){da.subscribe(r=>{t(r.flags[e].enabled)})}function dd(e,t){da.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function dp(e){return!window.offlineEnabled||(e??navigator.onLine)}da.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 df=eZ(function(e,t,r){eU(e,t,r)});function dh(e=!0,t=!1){return dm(dp(),e,t)}function dm(e,t=!0,r=!1){return!!(e?t:r)}let dy=G("extensionsInternal",{slots:{},extensions:{}}),dg=G("extensionRenderings",{renderings:new Map}),db=()=>Z("extensionsInternal",{slots:{},extensions:{}}),dv=()=>Z("extensionRenderings",{renderings:new Map});function dw(e){let t=dy.getState(),r=e(t);r!==t&&dy.setState(r)}let d_=null,dx=null;function dE(){let e=dg.getState();return d_&&e===dx||(d_=new Map(e.renderings),dx=e,function(e){for(let t of(dT.clear(),e.values()))d$(t,1);dA=!0}(d_)),d_}function dS(e){dx={renderings:e},dg.setState(dx,!0)}function dO(e){let t=dE();t.has(e.renderingId)||(t.set(e.renderingId,e),d$(e,1),dS(t))}function dP(e){let t=dE(),r=t.get(e);r&&(t.delete(e),d$(r,-1),dS(t))}let dD=()=>Z("extensions",{slots:{}}),dk=0,dC=new Set;function dj(e){dk++;try{return e()}finally{if(0==--dk&&dC.size>0){let e=Array.from(dC);for(let t of(dC.clear(),e))dR(t)}}}function dR(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function dN(e){dk>0?dC.add(e):dR(e)}let dT=new Map,dA=!1;function d$(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=dT.get(r);if(!n){if(t<0)return;dT.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),dA=!0;return}n.count+=t,n.count<1&&(dT.delete(r),dA=!0)}function dI(){var e,t;if(dE(),!dA)return;dA=!1;let r=Array.from(dT.values(),({record:e})=>e);r.sort(dM),e=tw.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===dM(e,t[r]))||tw.setState({mountedExtensions:r})}function dM(e,t){return dL(e.slotName,t.slotName)||dL(e.extensionId,t.extensionId)||dL(e.slotModuleName,t.slotModuleName)||dL(e.extensionModuleName,t.extensionModuleName)}function dL(e,t){return e===t?0:e<t?-1:1}dI(),dg.subscribe(()=>dN(dI));let dF=db(),dB=dD(),dV=tx(),dW=tO(),dU=new Set,dK=!1;function dz(e){if(null===e)dU=null;else if(null!==dU)for(let t of e)dU.add(t);dN(dH)}function dH(){if(!dK){dK=!0;try{for(let e=1;;e++){let t=dU;if(null!==t&&0===t.size)return;dU=new Set;try{!function(e,t,r,n,o,i=null){let a=dB.getState().slots,s={},l=!1,u=dp(),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&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=tS(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=dF.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>d3(e,o,i[dX(e)]?.order,t)-d3(r,o,i[dX(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=tD(n,e,u),c=tk(r,e,u),d=c?df({},s,c):s,p=dX(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||!op(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!dm(i,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,o.session);p&&p.moduleName===d.moduleName&&ts(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&dB.setState({slots:s})}(dF.getState(),dV.getState(),dW.getState(),da.getState(),oi.getState(),t)}catch(e){throw dU=null===t||null===dU?null:new Set([...t,...dU]),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{dK=!1}}}function dG(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 dq(){dz(null)}function dZ(e,t){return{moduleName:t,name:e,attachedIds:[]}}function dX(e){let[t]=e.split("#");return t}function dY(e,t){let r=dX(t);return e.extensions[r]}function dJ(e){return dY(dF.getState(),e)}dF.subscribe((e,t)=>{dz(e.extensions!==t.extensions?null:dG(e.slots,t.slots))}),dV.subscribe((e,t)=>{dz(dG(e.slots,t.slots))}),dW.subscribe((e,t)=>{dz(dG(e.configs,t.configs))}),da.subscribe(()=>dz(null)),oi.subscribe(()=>dz(null)),dq(),y(dq);let dQ=e=>dw(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function d0(e,t){dw(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...dZ(e),attachedIds:[t]}}}})}function d1(e,t){dw(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 d4(e){dw(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function d3(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function d2(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!cU(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(d5(e),t,oi.getState().session,e)}function d5(e){return dB.getState().slots[e]?.candidateExtensions??[]}let d6=(e,t)=>dF.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 o=dZ(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),d7=()=>{dU=null,dw(()=>({slots:{},extensions:{}})),dv().setState({renderings:new Map}),dB.setState({slots:{}})},d9=G("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function d8({name:e,basePath:t,mode:r,componentContext:n,state:o}){d9.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function pe(e){d9.getState().slotName===e&&d9.setState(d9.getInitialState(),!0)}let pt=G("modalRegistry",{modals:{}});function pr(e){pt.setState(t=>(t.modals[e.name]=e,t))}function pn(e){let t=pt.getState().modals[e];if(!t){let r=dJ(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.`),pr(t))}return t}let po=G("workspaceRegistrations",{workspaces:{}}),pi=G("workspaceGroups",{workspaceGroups:{}});function pa(e){po.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 ps(e){pi.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 pl=new Set;function pu(e){let t=po.getState().workspaces;if(t[e])return t[e];{let t=dJ(e);if(t){var r;let n;return pl.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.`),pl.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?it(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 pc(e){let t=pi.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let pd=G("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function pp(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 pf(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 ph(e){let{openedWindows:t}=pd.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function pm(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 py(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 pg(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 pb=0,pv=null,pw={bootstrap:15e3,mount:15e3,unmount:15e3};function p_(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(pw).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=pw[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function px(e,t){var r,n;let o,i,a,s,l,u=await (pv??(pv=new Promise((e,t)=>{ne({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),ne))),pv),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>p_(e,r)):p_(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 pE(){return pS}function pS(e,t){let r,n=px(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 pO(e,t,r,n,o=e=>e,i={}){let a=dX(n),s=dJ(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(dh(d,p)){let s,d=pb++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{dP(p)}catch(t){console.error(e,t)}};try{dO({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 px(o({...s,name:`${t}/${a}-${d}`}),{...i,_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 pP=r(7125),pD=r.n(pP);let pk=(0,pP.createContext)({moduleName:"",featureName:""});function pC({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,pP.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),pD().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),nJ({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:nX(e,t),...o},n)}let pj=({state:e,children:t,...r})=>{let{extension:n}=(0,pP.useContext)(pk),o=(0,pP.useRef)(null),i=(0,pP.useRef)(Promise.resolve()),a=(0,pP.useRef)(!1),s=(0,pP.useRef)(!1),l=(0,pP.useRef)(e),u=(0,pP.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,pP.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,pP.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,pO(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,pP.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,pP.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?pD().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function pR(e){let t=(0,pP.useRef)(e);return M(t.current,e)||(t.current=e),t.current}function pN(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let pT=e=>e;function pA(e,t=pT,r){let n=(0,pP.useCallback)(t=>e.subscribe(t),[e]),o=(0,pP.useCallback)(()=>t(e.getState()),[e,t]),i=(0,pP.useSyncExternalStore)(n,o,o),a=(0,pP.useMemo)(()=>r?pN(e,r):null,[e,r]);return(0,pP.useMemo)(()=>a?{...i,...a}:i,[i,a])}function p$(e,t){return pA(e,pT,t)}function pI(e){return function(t){let r=(0,pP.useCallback)(t=>e.subscribe(t),[]),n=(0,pP.useCallback)(()=>e.getState(),[]),o=(0,pP.useSyncExternalStore)(r,n,n),i=(0,pP.useMemo)(()=>t?pN(e,t):null,[t]);return(0,pP.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let pM=[];Object.freeze(pM);let pL={candidateExtensions:pM};Object.freeze(pL);let pF=e=>{let t=(0,pP.useCallback)(t=>t.slots?.[e]??pL,[e]);return pA(dD(),t)},pB=e=>e.session;function pV(e,t){let{candidateExtensions:r}=pF(e),n=pA(oi,pB),o=pR(t);return(0,pP.useMemo)(()=>d2(e,o),[e,o,n,r])}function pW(e,t){let{moduleName:r}=(0,pP.useContext)(pk);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,pP.useEffect)(()=>{d6(r,e)},[r,e]),{extensions:pV(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function pU(e){return e}function pK({name:e,extensionSlotName:t,select:r=pU,children:n,state:o,style:i,...a}){if(n&&o)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,pP.useRef)(null),{extensions:u,extensionSlotModuleName:c}=pW(s,o),d=(0,pP.useMemo)(()=>r(u),[r,u]),p=(0,pP.useMemo)(()=>{if("function"==typeof n&&!pD().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return pD().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>pD().createElement(pk.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??pD().createElement(pj,{state:o}))))}var pz=r(5873);function pH(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 pG(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?pH(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pH(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function pq(e){return(pq="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 pZ(e){return(pZ="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 pX(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(pZ(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(pZ(e)));return e}}var pY=null;try{pY=require("react").createContext()}catch(e){}var pJ={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 pQ(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function p0(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 o,i=p2(e,t,function(){r(this)}),a=pX(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:p3(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function p1(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():p3(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function p4(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=p2(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=pX(e,t)();p3(e).render(n,i)}})}function p3(e){return e.ReactDOMClient||e.ReactDOM}function p2(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=pY?e.React.createElement(pY.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),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,pG(pG({},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])}}),o)}var p5=r(5921),p6=r(7364),p7=r.n(p6),p9=r(9106);let p8={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},fe=new Map;(0,p9.initCache)(fe);let ft={errorRetryCount:3,fetcher:or,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof oo){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>fe};function fr(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},p8,e),r={...ft,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=pD().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 pD().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=pD().createElement(pP.Suspense,{fallback:null},pD().createElement(p6.SWRConfig,{value:r},pD().createElement(pk.Provider,{value:this.state.config},t.disableTranslations?pD().createElement(e,this.props):pD().createElement(p5.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},pD().createElement(e,this.props)))));return t.strictMode&&pD().StrictMode?pD().createElement(pD().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 i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function fn(e,t){return function(e){if("object"!==pq(e))throw Error("single-spa-react requires a configuration object");var t,r=pG(pG({},pJ),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");!pY&&r.React.createContext&&(pY=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:pQ.bind(null,r),mount:p0.bind(null,r),unmount:p1.bind(null,r)};return r.parcelCanUpdate&&(n.update=p4.bind(null,r)),n}({React:pD(),ReactDOMClient:pz,rootComponent:fr(t)(e)})}function fo(e,t){return()=>e().then(({default:e})=>fn(e,t))}function fi(e,t){return()=>Promise.resolve(fn(e,t))}let fa=fo,fs=V()(()=>({}));q("openmrs-app-context",fs);let fl={};function fu(e,t=e=>e){let r=fs.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function fc(e,t){fs.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function fd(e){return null===e?null:Object.freeze(Object.assign({},e))}let fp=new Map;function ff(e,t){let r=(0,pP.useRef)(t??{}),n=(0,pP.useRef)(t=>fc(e,t)),o=(0,pP.useRef)(Symbol());return(0,pP.useEffect)(()=>{let r=t??{},n=o.current;return null===fu(e)?!function(e,t=fl){fs.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===fl?{}: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.`),fc(e,()=>r)),fp.set(e,n),()=>{fp.get(e)===n&&(fs.setState(t=>(e in t&&delete t[e],t)),fp.delete(e))}},[e]),(0,pP.useEffect)(()=>{let n=t??{};M(r.current,n)||(fc(e,()=>n),r.current=n)},[t]),n.current}function fh({namespace:e,value:t}){return ff(e,t),null}let fm=({children:e,value:t,fallback:r})=>t?pD().createElement(pD().Fragment,null,e):r?pD().createElement(pD().Fragment,null,r):null;function fy(){let e=(0,pP.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,pP.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function fg(e,t=e=>e??{}){let[r,n]=(0,pP.useState)(()=>{if(fb(e))return;let r=fu(e);if(null!==r)return t?t(r):r});return(0,pP.useEffect)(()=>{if(fb(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,pP.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>M(e,r)?e:r)})(fd(o=fu(e))),fs.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(fd(n)))})},[e,t]),r}function fb(e){return"string"!=typeof e||0===e.trim().length}function fv(e){let t=pV(e);return(0,pP.useMemo)(()=>t.map(e=>e.id),[t])}function fw(e){return pF(e).candidateExtensions}function f_(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=p7()(e?i1(e,t,r):null,or);return(0,pP.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function fx(e){(0,pP.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let fE={},fS=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
15
+ ${this.stack}`}}let oi=G("session",{loaded:!1,session:null}),oa=0;function os(e={includeAuthStatus:!0}){return(oa<Date.now()-6e4||!oi.getState().loaded)&&oc(),new ev(t=>{let r=r=>{r.loaded&&(e.includeAuthStatus?t.next(r.session):t.next(r.session?.user))};return r(oi.getState()),oi.subscribe(r)})}function ol(){return(oa<Date.now()-6e4||!oi.getState().loaded)&&oc(),oi}function ou(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 oc(e,t){oa=Date.now();let r={};return e&&t&&(r.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),og(or(oe,{headers:r}))}function od(){oi.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function op(e,t){var r,n;if(void 0===t)return!e;if(!e)return!0;return r=e,n=t,("string"==typeof r?!J(n.privileges.find(e=>r===e.display)):Array.isArray(r)?r.every(e=>!J(n.privileges.find(t=>e===t.display))):(J(r)||console.error(`Could not understand privileges "${r}"`),!0))||!J(t.roles.find(e=>"System Developer"===e.display))}function of(){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(oi.getState()),e||(t=oi.subscribe(n))})}function oh(){return new Promise((e,t)=>{os().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function om(e,t){return og(or(oe,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function oy(e,t,r){return r||(r=new AbortController),await or(`${n9}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:r.signal}),oc()}function og(e){return new Promise((t,r)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},oi.setState(n),t(n)):(n={loaded:!1,session:null},oi.setState(n),r(n))}).catch(e=>{A(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};oi.setState(t),r(t)})})}function ob(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}oi.subscribe(e=>{e.loaded&&e.session&&ou(e.session)});let ov={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function ow(){tH("@openmrs/esm-api",n6),oc()}let o_={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"},ox=e=>"string"==typeof e,oE=()=>{let e,t,r=new Promise((r,n)=>{e=r,t=n});return r.resolve=e,r.reject=t,r},oS=e=>null==e?"":""+e,oO=/###/g,oP=e=>e&&e.indexOf("###")>-1?e.replace(oO,"."):e,oD=e=>!e||ox(e),ok=(e,t,r)=>{let n=ox(t)?t.split("."):t,o=0;for(;o<n.length-1;){if(oD(e))return{};let t=oP(n[o]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return oD(e)?{}:{obj:e,k:oP(n[o])}},oC=(e,t,r)=>{let{obj:n,k:o}=ok(e,t,Object);if(void 0!==n||1===t.length){n[o]=r;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=ok(e,a,Object);for(;void 0===s.obj&&a.length;)i=`${a[a.length-1]}.${i}`,s=ok(e,a=a.slice(0,a.length-1),Object),s?.obj&&void 0!==s.obj[`${s.k}.${i}`]&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=r},oj=(e,t)=>{let{obj:r,k:n}=ok(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,n))return r[n]},oR=(e,t,r)=>{for(let n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?ox(e[n])||e[n]instanceof String||ox(t[n])||t[n]instanceof String?r&&(e[n]=t[n]):oR(e[n],t[n],r):e[n]=t[n]);return e};var oN={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};let oT=e=>ox(e)?e.replace(/[&<>"'\/]/g,e=>oN[e]):e,oA=[" ",",","?","!",";"],o$=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),oI=(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),o=e;for(let e=0;e<n.length;){let t;if(!o||"object"!=typeof o)return;let i="";for(let a=e;a<n.length;++a)if(a!==e&&(i+=r),i+=n[a],void 0!==(t=o[i])){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<n.length-1)continue;e+=a-e+1;break}o=t}return o},oM=e=>e?.replace("_","-"),oL={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 oF{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||oL,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:(ox(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new oF(this.logger,{...{prefix:`${this.prefix}:${e}:`},...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new oF(this.logger,e)}}var oB=new oF;class oV{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 o=0;o<n;o++)r.apply(r,[e,...t])})}}class oW extends oV{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 o,i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,a=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],r&&(Array.isArray(r)?o.push(...r):ox(r)&&i?o.push(...r.split(i)):o.push(r)));let s=oj(this.data,o);return(!s&&!t&&!r&&e.indexOf(".")>-1&&(e=o[0],t=o[1],r=o.slice(2).join(".")),!s&&a&&ox(r))?oI(this.data?.[e]?.[t],r,i):s}addResource(e,t,r,n,o={silent:!1}){let i=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,a=[e,t];r&&(a=a.concat(i?r.split(i):r)),e.indexOf(".")>-1&&(a=e.split("."),n=t,t=a[1]),this.addNamespaces(t),oC(this.data,a,n),o.silent||this.emit("added",e,t,r,n)}addResources(e,t,r,n={silent:!1}){for(let n in r)(ox(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,o,i={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=oj(this.data,a)||{};i.skipCopy||(r=JSON.parse(JSON.stringify(r))),n?oR(s,r,o):s={...s,...r},oC(this.data,a,s),i.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,o){return e.forEach(e=>{t=this.processors[e]?.process(t,r,n,o)??t}),t}};let oK=Symbol("i18next/PATH_KEY");function oz(e,t){let r,n,o,{[oK]:i}=e((n=[],(o=Object.create(null)).get=(e,t)=>(r?.revoke?.(),t===oK)?n:(n.push(t),(r=Proxy.revocable(e,o)).proxy),Proxy.revocable(Object.create(null),o).proxy));return i.join(t?.keySeparator??".")}let oH={},oG=e=>!ox(e)&&"boolean"!=typeof e&&"number"!=typeof e;class oq extends oV{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=oB.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 o=oG(n.res);return!1!==r.returnObjects||!o}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,o=t.ns||this.options.defaultNS||[],i=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=oA.filter(e=>0>t.indexOf(e)&&0>r.indexOf(e));if(0===n.length)return!0;let o=o$.getRegExp(`(${n.map(e=>"?"===e?"\\?":e).join("|")})`),i=!o.test(e);if(!i){let t=e.indexOf(r);t>0&&!o.test(e.substring(0,t))&&(i=!0)}return i})(e,r,n);if(i&&!a){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:ox(o)?[o]:o};let i=e.split(r);(r!==n||r===n&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(n)}return{key:e,namespaces:ox(o)?[o]:o}}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=oz(e,{...this.options,...n})),Array.isArray(e)||(e=[String(e)]);let o=void 0!==n.returnDetails?n.returnDetails:this.options.returnDetails,i=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?o?{res:`${l}${u}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${u}${a}`:o?{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&&!ox(n.count),v=oq.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,O=f;g&&!f&&v&&(O=S);let P=oG(O),D=Object.prototype.toString.apply(O);if(g&&O&&P&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(D)&&!(ox(y)&&Array.isArray(O))){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,O,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(p.res=e,p.usedParams=this.getUsedParamsDetails(n),p):e}if(i){let e=Array.isArray(O),t=e?[]:{},r=e?m:h;for(let e in O)if(Object.prototype.hasOwnProperty.call(O,e)){let o=`${r}${i}${e}`;v&&!f?t[e]=this.translate(o,{...n,defaultValue:oG(S)?S[e]:void 0,...{joinArrays:!1,ns:s}}):t[e]=this.translate(o,{...n,joinArrays:!1,ns:s}),t[e]===o&&(t[e]=O[e])}f=t}}else if(g&&ox(y)&&Array.isArray(f))(f=f.join(y))&&(f=this.extendTranslation(f,e,n,r));else{let t=!1,o=!1;!this.isValidLookup(f)&&v&&(t=!0,f=S),this.isValidLookup(f)||(o=!0,f=a);let s=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&o?void 0:f,d=v&&S!==f&&this.options.updateMissing;if(o||t||d){if(this.logger.log(d?"updateKey":"missingKey",c,l,a,d?S:f),i){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 o=v&&r!==f?r:s;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,o,d,n):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,o,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),o&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}${u}${a}`),(o||t)&&this.options.parseMissingKeyHandler&&(f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${a}`:a,t?f:void 0,n))}return o?(p.res=f,p.usedParams=this.getUsedParamsDetails(n),p):f}extendTranslation(e,t,r,n,o){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 i;r.interpolation&&this.interpolator.init({...r,...{interpolation:{...this.options.interpolation,...r.interpolation}}});let a=ox(e)&&(r?.interpolation?.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(a){let t=e.match(this.interpolator.nestingRegexp);i=t&&t.length}let s=r.replace&&!ox(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);i<(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)=>o?.[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 i=r.postProcess||this.options.postProcess,a=ox(i)?[i]:i;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,o,i,a;return ox(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&&!ox(t.count),d=c&&!t.ordinal&&0===t.count,p=void 0!==t.context&&(ox(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,!oH[`${f[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(a)&&(oH[`${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;i=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`,o=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(c&&(t.ordinal&&0===e.indexOf(o)&&s.push(l+e.replace(o,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(o)&&s.push(n+e.replace(o,this.options.pluralSeparator)),s.push(n+e),d&&s.push(n+r))}}for(;a=s.pop();)this.isValidLookup(r)||(o=a,r=this.getResource(n,e,a,t))}))})}),{res:r,usedKey:n,exactUsedKey:o,usedLng:i,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&&!ox(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 oZ{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=oB.create("languageUtils")}getScriptPartFromCode(e){if(!(e=oM(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=oM(e))||0>e.indexOf("-"))return e;let t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(ox(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)),ox(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=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return ox(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):ox(e)&&o(this.formatLanguageCode(e)),r.forEach(e=>{0>n.indexOf(e)&&o(this.formatLanguageCode(e))}),n}}let oX={zero:0,one:1,two:2,few:3,many:4,other:5},oY={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class oJ{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=oB.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let r,n=oM("dev"===e?"en":e),o=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:n,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];try{r=new Intl.PluralRules(n,{type:o})}catch(o){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),oY;if(!e.match(/-|_/))return oY;let n=this.languageUtils.getLanguagePartFromCode(e);r=this.getRule(n,t)}return this.pluralRulesCache[i]=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)=>oX[e]-oX[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 oQ=(e,t,r,n=".",o=!0)=>{let i,a=void 0!==(i=oj(e,r))?i:oj(t,r);return!a&&o&&ox(r)&&void 0===(a=oI(e,r,n))&&(a=oI(t,r,n)),a};class o0{constructor(e={}){this.logger=oB.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:o,prefixEscaped:i,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:oT,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==n&&n,this.prefix=o?o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"):i||"{{",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 o,i,a,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(0>e.indexOf(this.formatSeparator)){let o=oQ(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(o,void 0,r,{...n,...t,interpolationkey:e}):o}let o=e.split(this.formatSeparator),i=o.shift().trim(),a=o.join(this.formatSeparator).trim();return this.format(oQ(t,s,i,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...n,...t,interpolationkey:i})};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;o=t.regex.exec(e);){let r=o[1].trim();if(void 0===(i=l(r)))if("function"==typeof u){let t=u(e,o,n);i=ox(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,r))i="";else if(c){i=o[0];continue}else this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),i="";else ox(i)||this.useRawValueToEscape||(i=oS(i));let s=t.safeValue(i);if(e=e.replace(o[0],s),c?(t.regex.lastIndex+=i.length,t.regex.lastIndex-=o[0].length):t.regex.lastIndex=0,++a>=this.maxReplaces)break}}),e}nest(e,t,r={}){let n,o,i,a=(e,t)=>{let r=this.nestingOptionsSeparator;if(0>e.indexOf(r))return e;let n=e.split(RegExp(`${r}[ ]*{`)),o=`{${n[1]}`;e=n[0];let a=(o=this.interpolate(o,i)).match(/'/g),s=o.match(/"/g);((a?.length??0)%2!=0||s)&&s.length%2==0||(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${o}`}return i.defaultValue&&i.defaultValue.indexOf(this.prefix)>-1&&delete i.defaultValue,e};for(;n=this.nestingRegexp.exec(e);){let s=[];(i=(i={...r}).replace&&!ox(i.replace)?i.replace:i).applyPostProcessor=!1,delete i.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)),(o=t(a.call(this,n[1].trim(),i),i))&&n[0]===e&&!ox(o))return o;ox(o)||(o=oS(o)),o||(this.logger.warn(`missed to resolve ${n[1]} for nesting ${e}`),o=""),s.length&&(o=s.reduce((e,t)=>this.format(e,t,r.lng,{...r,interpolationkey:n[1].trim()}),o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}let o1=e=>{let t={};return(r,n,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});let a=n+JSON.stringify(i),s=t[a];return s||(s=e(oM(n),o),t[a]=s),s(r)}},o4=e=>(t,r,n)=>e(oM(r),n)(t);class o3{constructor(e={}){this.logger=oB.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";let r=t.cacheInBuiltFormats?o1:o4;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()]=o1(t)}format(e,t,r,n={}){let o=t.split(this.formatSeparator);if(o.length>1&&o[0].indexOf("(")>1&&0>o[0].indexOf(")")&&o.find(e=>e.indexOf(")")>-1)){let e=o.findIndex(e=>e.indexOf(")")>-1);o[0]=[o[0],...o.splice(1,e)].join(this.formatSeparator)}return o.reduce((e,t)=>{let{formatName:o,formatOptions:i}=(e=>{let t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){let n=e.split("(");t=n[0].toLowerCase().trim();let o=n[1].substring(0,n[1].length-1);"currency"===t&&0>o.indexOf(":")?r.currency||(r.currency=o.trim()):"relativetime"===t&&0>o.indexOf(":")?r.range||(r.range=o.trim()):o.split(";").forEach(e=>{if(e){let[t,...n]=e.split(":"),o=n.join(":").trim().replace(/^'+|'+$/g,""),i=t.trim();r[i]||(r[i]=o),"false"===o&&(r[i]=!1),"true"===o&&(r[i]=!0),isNaN(o)||(r[i]=parseInt(o,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[o]){let t=e;try{let a=n?.formatParams?.[n.interpolationkey]||{},s=a.locale||a.lng||n.locale||n.lng||r;t=this.formats[o](e,s,{...i,...n,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${o}`),e},e)}}class o2 extends oV{constructor(e,t,r,n={}){super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=n,this.logger=oB.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 o={},i={},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===i[a]&&(i[a]=!0):(this.state[a]=1,n=!1,void 0===i[a]&&(i[a]=!0),void 0===o[a]&&(o[a]=!0),void 0===s[t]&&(s[t]=!0)))}),n||(a[e]=!0)}),(Object.keys(o).length||Object.keys(i).length)&&this.queue.push({pending:i,pendingCount:Object.keys(i).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(o),pending:Object.keys(i),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(s)}}loaded(e,t,r){let n=e.split("|"),o=n[0],i=n[1];t&&this.emit("failedLoading",o,i,t),!t&&r&&this.store.addResourceBundle(o,i,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:o,k:i}=ok(e,t,Object);o[i]=o[i]||[],o[i].push(r)})(r.loaded,[o],i),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,o=this.retryTimeout,i){if(!e.length)return i(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:n,wait:o,callback:i});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*o,i)},o):i(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();ox(e)&&(e=this.languageUtils.toResolveHierarchy(e)),ox(t)&&(t=[t]);let o=this.queueLoad(e,t,r,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.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],o=r[1];this.read(n,o,"read",void 0,void 0,(r,i)=>{r&&this.logger.warn(`${t}loading namespace ${o} for language ${n} failed`,r),!r&&i&&this.logger.log(`${t}loaded namespace ${o} for language ${n}`,i),this.loaded(e,r,i)})}saveMissing(e,t,r,n,o,i={},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={...i,isUpdate:o},l=this.backend.create.bind(this.backend);if(l.length<6)try{let o;(o=5===l.length?l(e,t,r,n,s):l(e,t,r,n))&&"function"==typeof o.then?o.then(e=>a(null,e)).catch(a):a(null,o)}catch(e){a(e)}else l(e,t,r,n,a,s)}e&&e[0]&&this.store.addResource(e[0],t,r,n)}}}let o5=()=>({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]),ox(e[1])&&(t.defaultValue=e[1]),ox(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}),o6=e=>(ox(e.ns)&&(e.ns=[e.ns]),ox(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),ox(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),o7=()=>{};class o9 extends oV{constructor(e={},t){if(super(),this.options=o6(e),this.services={},this.logger=oB,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&&(ox(e.ns)?e.defaultNS=e.ns:0>e.ns.indexOf("translation")&&(e.defaultNS=e.ns[0]));let r=o5();this.options={...r,...this.options,...o6(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?oB.init(n(this.modules.logger),this.options):oB.init(null,this.options),e=this.modules.formatter?this.modules.formatter:o3;let t=new oZ(this.options);this.store=new oW(this.options.resources,this.options);let o=this.services;o.logger=oB,o.resourceStore=this.store,o.languageUtils=t,o.pluralResolver=new oJ(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)&&(o.formatter=n(e),o.formatter.init&&o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new o0(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new o2(n(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(o.languageDetector=n(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=n(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new oq(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=o7),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 o=oE(),i=()=>{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),o.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?i():setTimeout(i,0),o}loadResources(e,t=o7){let r=t,n=ox(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=oE();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=o7),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=oE();this.emit("languageChanging",e);let n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(o,i)=>{i?this.isLanguageChangingTo===e&&(n(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,r.resolve((...e)=>this.t(...e)),t&&t(o,(...e)=>this.t(...e))},i=t=>{e||t||!this.services.languageDetector||(t=[]);let r=ox(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(ox(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{o(e,i)})};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(i):this.services.languageDetector.detect(i):i(e):i(this.services.languageDetector.detect()),r}getFixedT(e,t,r){let n=(e,t,...o)=>{let i,a;(i="object"!=typeof t?this.options.overloadTranslationOptionHandler([e,t].concat(o)):{...t}).lng=i.lng||n.lng,i.lngs=i.lngs||n.lngs,i.ns=i.ns||n.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||r||n.keyPrefix);let s=this.options.keySeparator||".";return i.keyPrefix&&Array.isArray(e)?a=e.map(e=>("function"==typeof e&&(e=oz(e,{...this.options,...t})),`${i.keyPrefix}${s}${e}`)):("function"==typeof e&&(e=oz(e,{...this.options,...t})),a=i.keyPrefix?`${i.keyPrefix}${s}${e}`:e),this.t(a,i)};return ox(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,o=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;let i=(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,i);if(void 0!==e)return e}return!!(this.hasResourceBundle(r,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||i(r,e)&&(!n||i(o,e)))}loadNamespaces(e,t){let r=oE();return this.options.ns?(ox(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=oE();ox(e)&&(e=[e]);let n=this.options.preload||[],o=e.filter(e=>0>n.indexOf(e)&&this.services.languageUtils.isSupportedCode(e));return o.length?(this.options.preload=n.concat(o),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 oZ(o5());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 o9(e,t)}cloneInstance(e={},t=o7){let r=e.forkResourceStore;r&&delete e.forkResourceStore;let n={...this.options,...e,isClone:!0},o=new o9(n);return(void 0!==e.debug||void 0!==e.prefix)&&(o.logger=o.logger.clone(e)),["store","services","language"].forEach(e=>{o[e]=this[e]}),o.services={...this.services},o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},r&&(o.store=new oW(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),o.services.resourceStore=o.store),o.translator=new oq(o.services,n),o.translator.on("*",(e,...t)=>{o.emit(e,...t)}),o.init(n,t),o.translator.options=n,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}let o8=o9.createInstance();o8.createInstance=o9.createInstance,o8.createInstance,o8.dir,o8.init,o8.loadResources,o8.reloadResources,o8.use,o8.changeLanguage,o8.getFixedT,o8.t,o8.exists,o8.setDefaultNamespace,o8.hasLoadedNamespace,o8.loadNamespaces,o8.loadLanguages;let ie=o8.default||o8;function it(e,t,r,n){return ie.t(t,{ns:e,defaultValue:r,...n})}function ir(e,t,r){return o_[e]?it("core",e,t??o_[e],r):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}ie.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let io="import-map-override:",ii="import-map-overrides-disabled",ia="import-map-overrides:change",is=!1,il=null,iu=null;async function ic(){return iu??(iu=id().then(({map:e,complete:t})=>(t||(iu=null),e))),iu}async function id(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{if(o.src){let e=await fetch(o.src);if(!e.ok)throw Error(`Request for ${o.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else o.textContent&&t.push(JSON.parse(o.textContent))}catch(e){r=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:ip(t),complete:r}}function ip(e){let t={imports:{}};for(let r of e)r?.imports&&Object.assign(t.imports,r.imports);return t}function ih(){let e={};try{let t=iv();for(let r=0;r<localStorage.length;r++){let n=localStorage.key(r);if(n?.startsWith(io)){let r=n.slice(io.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 im(){let e=await ic();return is?ip([e,il??ih()]):e}async function iy(){return ic()}async function ig(){return is?ip([await ic(),ih()]):ic()}function ib(e){if(!is)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(io)){let t=localStorage.getItem(r);t&&(e[r.slice(io.length)]=t)}}return{imports:e}}return ih()}function iv(){if(!is)return[];try{let e=localStorage.getItem(ii);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function iw(e){return!!is&&iv().includes(e)}function i_(e,t){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(io+e,t),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function ix(e){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(io+e);let t=iv().filter(t=>t!==e);t.length>0?localStorage.setItem(ii,JSON.stringify(t)):localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function iE(){if(!is)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(io)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function iS(e){if(!is)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=iv().filter(t=>t!==e);t.length>0?localStorage.setItem(ii,JSON.stringify(t)):localStorage.removeItem(ii),window.dispatchEvent(new CustomEvent(ia))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let iO=!1;function iP(){!iO&&(iO=!0,(is="development"===window.spaEnv)&&(il=ih()))}function iD(e){return e.replace(/[\/\-@]/g,"_")}async function ik(e,t="./start",n){var o;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([iC(e,n?.importMap),new Promise((t,r)=>{i=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)})]),i&&clearTimeout(i);let s=iD(e),l=window[s];if(!("object"==typeof(o=l)&&null!==o&&"init"in o&&"function"==typeof o.init&&"get"in o&&"function"==typeof o.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 iC(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=iD(e);if(!window[r]){let r=t??await ij();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 o=e in ib().imports;try{return await function(e){var t;let r=(t=window)[iR]??(t[iR]=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 o=document.createElement("script");o.src=e,o.type="text/javascript",o.async=!0;let i=new Promise((t,n)=>{let i=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(i),o.removeEventListener("load",s),o.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),r.delete(e),o.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}o.addEventListener("load",s),o.addEventListener("error",l),document.head.appendChild(o)});return r.set(e,i),i}(n)}catch(e){return o&&C({kind:"error",title:ir("scriptLoadingFailed","Error: Script failed to load"),description:ir("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:ir("resetOverrides","Reset overrides"),onActionButtonClick(){iE(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function ij(){return im()}let iR=Symbol.for("__openmrs_script_loading");function iN(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 iT(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&&iN(t))}let iA="openmrs-routes:",i$="openmrs-routes:change",iI=!1,iM=null,iL=null;async function iF(){return iL??(iL=iB().then(({map:e,complete:t})=>(t||(iL=null),e))),iL}async function iB(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],r=!0;for(let n=0;n<e.length;n++){let o=e[n];try{let e;if(o.src){let t=await fetch(o.src);if(!t.ok)throw Error(`Request for ${o.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else o.textContent&&(e=JSON.parse(o.textContent));e&&iT(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:iV(t),complete:r}}function iV(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 iW(){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(iA)){let e=localStorage.getItem(r);e&&t.push({moduleName:r.slice(iA.length),raw:e})}}for(let r of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let r=JSON.parse(t);if(iN(r))return{moduleName:e,routes:r};if("string"==typeof r&&r.startsWith("http")){let t=await fetch(r),n=await t.json();if(iN(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 iU(){let e=await iF();return iI?iV([e,iM??await iW()]):e}async function iK(){return iF()}async function iz(){return iI?iV([await iF(),await iW()]):iF()}function iH(){if(!iI)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let r=localStorage.key(t);if(r?.startsWith(iA)){let t=localStorage.getItem(r);t&&(e[r.slice(iA.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function iG(e,t){if(!iI)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(iA+e,JSON.stringify(t));else{let r=JSON.parse(t);if(!iN(r))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(iA+e,JSON.stringify(r))}else if(t instanceof URL)localStorage.setItem(iA+e,JSON.stringify(t.toString()));else{if(!iN(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(iA+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function iq(e){if(!iI)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(iA+e),window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function iZ(){if(!iI)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(iA)&&e.push(r)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(i$))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let iX=null;function iY(){return iX||(iX=(iI="development"===window.spaEnv)?iW().then(e=>{iM=e}):Promise.resolve())}let iJ=`${n9}/attachment`;function iQ(e,t){return or(`${iJ}/${e}`,{signal:t.signal})}function i0(e,t,r,n){return or(i1(e,t,n),{signal:r.signal})}function i1(e,t,r){return r?`${iJ}?patient=${e}&encounter=${r}`:`${iJ}?patient=${e}&includeEncounterless=${t}`}async function i4(e,t,r){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),r&&n.append("encounter",r),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),or(`${iJ}`,{method:"POST",body:n})}function i3(e,t){return or(`${iJ}/${e}`,{method:"DELETE",signal:t.signal})}try{self["workbox:window:6.5.4"]&&_()}catch(e){}function i2(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 i5(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 i6(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 i7=function(){var e=this;this.promise=new Promise(function(t,r){e.resolve=t,e.reject=r})};function i9(e,t){var r=location.href;return new URL(e,r).href===new URL(t,r).href}var i8=function(e,t){this.type=e,Object.assign(this,t)};function ae(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function at(){}var ar={type:"SKIP_WAITING"};function an(e,t){if(!t)return e&&e.then?e.then(at):Promise.resolve()}var ao=function(e){function t(t,r){var n,o;return void 0===r&&(r={}),(n=e.call(this)||this).nn={},n.tn=0,n.rn=new i7,n.en=new i7,n.on=new i7,n.un=0,n.an=new Set,n.cn=function(){var e=n.fn,t=e.installing;n.tn>0||!i9(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,o=r.state,i=r===n.vn,a={sw:r,isExternal:i,originalEvent:e};!i&&n.mn&&(a.isUpdate=!0),n.dispatchEvent(new i8(o,a)),"installed"===o?n.wn=self.setTimeout(function(){"installed"===o&&t.waiting===r&&n.dispatchEvent(new i8("waiting",a))},200):"activating"===o&&(clearTimeout(n.wn),i||n.en.resolve(r))},n.dn=function(e){var t=n.hn,r=t!==navigator.serviceWorker.controller;n.dispatchEvent(new i8("controlling",{isExternal:r,originalEvent:e,sw:t,isUpdate:n.mn})),r||n.on.resolve(t)},o=function(e){var t=e.data,r=e.ports,o=e.source;return ae(n.getSW(),function(){n.an.has(o)&&n.dispatchEvent(new i8("message",{data:t,originalEvent:e,ports:r,sw:o}))})},n.gn=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];try{return Promise.resolve(o.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,o=t.prototype;return o.register=function(e){var t=(void 0===e?{}:e).immediate,r=void 0!==t&&t;try{var n,o,i,a=this;return n=function(){if(!r&&"complete"!==document.readyState)return an(new Promise(function(e){return window.addEventListener("load",e)}))},o=function(){return a.mn=!!navigator.serviceWorker.controller,a.yn=a.pn(),ae(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&&i9(t.scriptURL,a.sn.toString())&&(a.hn=t,Promise.resolve().then(function(){a.dispatchEvent(new i8("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})},(i=n())&&i.then?i.then(o):o(i)}catch(e){return Promise.reject(e)}},o.update=function(){try{return this.fn?an(this.fn.update()):void 0}catch(e){return Promise.reject(e)}},o.getSW=function(){return void 0!==this.hn?Promise.resolve(this.hn):this.rn.promise},o.messageSW=function(e){try{return ae(this.getSW(),function(t){return i2(t,e)})}catch(e){return Promise.reject(e)}},o.messageSkipWaiting=function(){this.fn&&this.fn.waiting&&i2(this.fn.waiting,ar)},o.pn=function(){var e=navigator.serviceWorker.controller;return e&&i9(e.scriptURL,this.sn.toString())?e:void 0},o.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 ae(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}}],i5(t.prototype,r),n&&i5(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 i6(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)?i6(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 ai(e,t){if(void 0!==c)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),c;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let r=new ao(e,t);return c=r.register().then(()=>r.controlling.then(()=>r))}function aa(){return c??Promise.resolve(void 0)}let as="x-omrs-offline-response-body",al="x-omrs-offline-response-status",au="x-omrs-offline-caching-strategy";async function ac(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 ad(){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 ap(){return!window.indexedDB}async function af(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function ah(){return await af()||await ap()||await ad()}let am="openmrs3:offline-mode",ay="unavailable";function ag(){return{current:ay,notAvailable:"unavailable"===ay,active:"on"===ay}}function ab(e){"unavailable"!==ay&&"unavailable"!==e&&(localStorage.setItem(am,"on"===e?"active":"disabled"),ay=e)}async function av(){await ah()||(ay="active"===localStorage.getItem(am)?"on":"off"),navigator.onLine}let aw="u">typeof globalThis?globalThis:"u">typeof self?self:"u">typeof window?window:global,a_=Object.keys,ax=Array.isArray;function aE(e,t){return"object"!=typeof t||a_(t).forEach(function(r){e[r]=t[r]}),e}"u"<typeof Promise||aw.Promise||(aw.Promise=Promise);let aS=Object.getPrototypeOf,aO={}.hasOwnProperty;function aP(e,t){return aO.call(e,t)}function aD(e,t){"function"==typeof t&&(t=t(aS(e))),("u"<typeof Reflect?a_:Reflect.ownKeys)(t).forEach(r=>{aC(e,r,t[r])})}let ak=Object.defineProperty;function aC(e,t,r,n){ak(e,t,aE(r&&aP(r,"get")&&"function"==typeof r.get?{get:r.get,set:r.set,configurable:!0}:{value:r,configurable:!0,writable:!0},n))}function aj(e){return{from:function(t){return e.prototype=Object.create(t.prototype),aC(e.prototype,"constructor",e),{extend:aD.bind(null,e.prototype)}}}}let aR=Object.getOwnPropertyDescriptor;function aN(e,t){let r;return aR(e,t)||(r=aS(e))&&aN(r,t)}let aT=[].slice;function aA(e,t,r){return aT.call(e,t,r)}function a$(e,t){return t(e)}function aI(e){if(!e)throw Error("Assertion Failed")}function aM(e){aw.setImmediate?setImmediate(e):setTimeout(e,0)}function aL(e,t){return e.reduce((e,r,n)=>{var o=t(r,n);return o&&(e[o[0]]=o[1]),e},{})}function aF(e,t){if("string"==typeof t&&aP(e,t))return e[t];if(!t)return e;if("string"!=typeof t){for(var r=[],n=0,o=t.length;n<o;++n){var i=aF(e,t[n]);r.push(i)}return r}var a=t.indexOf(".");if(-1!==a){var s=e[t.substr(0,a)];return null==s?void 0:aF(s,t.substr(a+1))}}function aB(e,t,r){if(e&&void 0!==t&&(!("isFrozen"in Object)||!Object.isFrozen(e)))if("string"!=typeof t&&"length"in t){aI("string"!=typeof r&&"length"in r);for(var n=0,o=t.length;n<o;++n)aB(e,t[n],r[n])}else{var i=t.indexOf(".");if(-1!==i){var a=t.substr(0,i),s=t.substr(i+1);if(""===s)void 0===r?ax(e)&&!isNaN(parseInt(a))?e.splice(a,1):delete e[a]:e[a]=r;else{var l=e[a];l&&aP(e,a)||(l=e[a]={}),aB(l,s,r)}}else void 0===r?ax(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=r}}function aV(e){var t={};for(var r in e)aP(e,r)&&(t[r]=e[r]);return t}let aW=[].concat;function aU(e){return aW.apply([],e)}let aK="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(aU([8,16,32,64].map(e=>["Int","Uint","Float"].map(t=>t+e+"Array")))).filter(e=>aw[e]),az=aK.map(e=>aw[e]);aL(aK,e=>[e,!0]);let aH=null;function aG(e){aH="u">typeof WeakMap&&new WeakMap;let t=function e(t){if(!t||"object"!=typeof t)return t;let r=aH&&aH.get(t);if(r)return r;if(ax(t)){r=[],aH&&aH.set(t,r);for(var n=0,o=t.length;n<o;++n)r.push(e(t[n]))}else if(az.indexOf(t.constructor)>=0)r=t;else{let n=aS(t);for(var i in r=n===Object.prototype?{}:Object.create(n),aH&&aH.set(t,r),t)aP(t,i)&&(r[i]=e(t[i]))}return r}(e);return aH=null,t}let{toString:aq}={};function aZ(e){return aq.call(e).slice(8,-1)}let aX="u">typeof Symbol?Symbol.iterator:"@@iterator",aY="symbol"==typeof aX?function(e){var t;return null!=e&&(t=e[aX])&&t.apply(e)}:function(){return null},aJ={};function aQ(e){var t,r,n,o;if(1==arguments.length){if(ax(e))return e.slice();if(this===aJ&&"string"==typeof e)return[e];if(o=aY(e)){for(r=[];!(n=o.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 a0="u">typeof Symbol?e=>"AsyncFunction"===e[Symbol.toStringTag]:()=>!1;var a1="u">typeof location&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href),a4=()=>!0;let a3=!Error("").stack;function a2(){if(a3)try{throw a2.arguments,Error()}catch(e){return e}return Error()}function a5(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(a4).map(e=>"\n"+e).join("")):""}var a6=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],a7=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(a6),a9={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 a8(e,t){this._e=a2(),this.name=e,this.message=t}function se(e,t){return e+". Errors: "+Object.keys(t).map(e=>t[e].toString()).filter((e,t,r)=>r.indexOf(e)===t).join("\n")}function st(e,t,r,n){this._e=a2(),this.failures=t,this.failedKeys=n,this.successCount=r,this.message=se(e,t)}function sr(e,t){this._e=a2(),this.name="BulkError",this.failures=Object.keys(t).map(e=>t[e]),this.failuresByPos=t,this.message=se(e,t)}aj(a8).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+": "+this.message+a5(this._e,2))}},toString:function(){return this.name+": "+this.message}}),aj(st).from(a8),aj(sr).from(a8);var sn=a7.reduce((e,t)=>(e[t]=t+"Error",e),{}),so=a7.reduce((e,t)=>{var r=t+"Error";function n(e,n){this._e=a2(),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=a9[t]||r,this.inner=null)}return aj(n).from(a8),e[t]=n,e},{});so.Syntax=SyntaxError,so.Type=TypeError,so.Range=RangeError;var si=a6.reduce((e,t)=>(e[t+"Error"]=so[t],e),{}),sa=a7.reduce((e,t)=>(-1===["Syntax","Type","Range"].indexOf(t)&&(e[t+"Error"]=so[t]),e),{});function ss(){}function sl(e){return e}function su(e,t){return null==e||e===sl?t:function(r){return t(e(r))}}function sc(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function sd(e,t){return e===ss?t:function(){var r=e.apply(this,arguments);void 0!==r&&(arguments[0]=r);var n=this.onsuccess,o=this.onerror;this.onsuccess=null,this.onerror=null;var i=t.apply(this,arguments);return n&&(this.onsuccess=this.onsuccess?sc(n,this.onsuccess):n),o&&(this.onerror=this.onerror?sc(o,this.onerror):o),void 0!==i?i:r}}function sp(e,t){return e===ss?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?sc(r,this.onsuccess):r),n&&(this.onerror=this.onerror?sc(n,this.onerror):n)}}function sf(e,t){return e===ss?t:function(r){var n=e.apply(this,arguments);aE(r,n);var o=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return o&&(this.onsuccess=this.onsuccess?sc(o,this.onsuccess):o),i&&(this.onerror=this.onerror?sc(i,this.onerror):i),void 0===n?void 0===a?void 0:a:aE(n,a)}}function sh(e,t){return e===ss?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function sm(e,t){return e===ss?t:function(){var r=e.apply(this,arguments);if(r&&"function"==typeof r.then){for(var n=this,o=arguments.length,i=Array(o);o--;)i[o]=arguments[o];return r.then(function(){return t.apply(n,i)})}return t.apply(this,arguments)}}sa.ModifyError=st,sa.DexieError=a8,sa.BulkError=sr;var sy={};let[sg,sb,sv]="u"<typeof Promise?[]:(()=>{let e=Promise.resolve();if("u"<typeof crypto||!crypto.subtle)return[e,aS(e),e];let t=crypto.subtle.digest("SHA-512",new Uint8Array([0]));return[t,aS(t),e]})(),sw=sb&&sb.then,s_=sg&&sg.constructor,sx=!!sv;var sE=!1,sS=sv?()=>{sv.then(sz)}:aw.setImmediate?setImmediate.bind(null,sz):aw.MutationObserver?()=>{var e=document.createElement("div");new MutationObserver(()=>{sz(),e=null}).observe(e,{attributes:!0}),e.setAttribute("i","1")}:()=>{setTimeout(sz,0)},sO=function(e,t){sA.push([e,t]),sD&&(sS(),sD=!1)},sP=!0,sD=!0,sk=[],sC=[],sj=null,sR=sl,sN={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:li,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach(e=>{try{li(e[0],e[1])}catch(e){}})}},sT=sN,sA=[],s$=0,sI=[];function sM(e){if("object"!=typeof this)throw TypeError("Promises must be constructed via new");this._listeners=[],this.onuncatched=ss,this._lib=!1;var t=this._PSD=sT;if(a1&&(this._stackHolder=a2(),this._prev=null,this._numPrev=0),"function"!=typeof e){if(e!==sy)throw TypeError("Not a function");return this._state=arguments[1],this._value=arguments[2],void(!1===this._state&&sB(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&&sH();r&&"function"==typeof r.then?e(t,(e,t)=>{r instanceof sM?r._then(e,t):r.then(e,t)}):(t._state=!0,t._value=r,sV(t)),n&&sG()}},sB.bind(null,t))}catch(e){sB(t,e)}}(this,e)}let sL={get:function(){var e=sT,t=s1;function r(r,n){var o=!e.global&&(e!==sT||t!==s1);let i=o&&!s5();var a=new sM((t,a)=>{sW(this,new sF(lr(r,e,o,i),lr(n,e,o,i),t,a,e))});return a1&&sK(a,this),a}return r.prototype=sy,r},set:function(e){aC(this,"then",e&&e.prototype===sy?sL:{get:function(){return e},set:sL.set})}};function sF(e,t,r,n,o){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=r,this.reject=n,this.psd=o}function sB(e,t){if(sC.push(t),null===e._state){var r=e._lib&&sH();t=sR(t),e._state=!1,e._value=t,a1&&null!==t&&"object"==typeof t&&!t._promise&&function(e){try{e.apply(null,void 0)}catch(e){}}(()=>{var r=aN(t,"stack");t._promise=e,aC(t,"stack",{get:()=>sE?r&&(r.get?r.get.apply(t):r.value):e.stack})}),sk.some(t=>t._value===e._value)||sk.push(e),sV(e),r&&sG()}}function sV(e){var t=e._listeners;e._listeners=[];for(var r=0,n=t.length;r<n;++r)sW(e,t[r]);var o=e._PSD;--o.ref||o.finalize(),0===s$&&(++s$,sO(()=>{0==--s$&&sq()},[]))}function sW(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,++s$,sO(sU,[r,e,t])}else e._listeners.push(t)}function sU(e,t,r){try{sj=t;var n,o=t._value;t._state?n=e(o):(sC.length&&(sC=[]),n=e(o),-1===sC.indexOf(o)&&function(e){for(var t=sk.length;t;)if(sk[--t]._value===e._value)return void sk.splice(t,1)}(t)),r.resolve(n)}catch(e){r.reject(e)}finally{sj=null,0==--s$&&sq(),--r.psd.ref||r.psd.finalize()}}function sK(e,t){var r=t?t._numPrev+1:0;r<100&&(e._prev=t,e._numPrev=r)}function sz(){sH()&&sG()}function sH(){var e=sP;return sP=!1,sD=!1,e}function sG(){var e,t,r;do for(;sA.length>0;)for(e=sA,sA=[],r=e.length,t=0;t<r;++t){var n=e[t];n[0].apply(null,n[1])}while(sA.length>0);sP=!0,sD=!0}function sq(){var e=sk;sk=[],e.forEach(e=>{e._PSD.onunhandled.call(null,e._value,e)});for(var t=sI.slice(0),r=t.length;r;)t[--r]()}function sZ(e){return new sM(sy,!1,e)}function sX(e,t){var r=sT;return function(){var n=sH(),o=sT;try{return s8(r,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{s8(o,!1),n&&sG()}}}aD(sM.prototype,{then:sL,_then:function(e,t){sW(this,new sF(null,null,e,t,sT))},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):sZ(e)):this.then(null,e=>e&&e.name===t?r(e):sZ(e))},finally:function(e){return this.then(t=>(e(),t),t=>(e(),sZ(t)))},stack:{get:function(){if(this._stack)return this._stack;try{sE=!0;var e=(function e(t,r,n){if(r.length===n)return r;var o="";if(!1===t._state){var i,a,s=t._value;null!=s?(i=s.name||"Error",a=s.message||s,o=a5(s,0)):(i=s,a=""),r.push(i+(a?": "+a:"")+o)}return a1&&((o=a5(t._stackHolder,2))&&-1===r.indexOf(o)&&r.push(o),t._prev&&e(t._prev,r,n)),r})(this,[],20).join("\nFrom previous: ");return null!==this._state&&(this._stack=e),e}finally{sE=!1}}},timeout:function(e,t){return e<1/0?new sM((r,n)=>{var o=setTimeout(()=>n(new so.Timeout(t)),e);this.then(r,n).finally(clearTimeout.bind(null,o))}):this}}),"u">typeof Symbol&&Symbol.toStringTag&&aC(sM.prototype,Symbol.toStringTag,"Dexie.Promise"),sN.env=le(),aD(sM,{all:function(){var e=aQ.apply(null,arguments).map(s6);return new sM(function(t,r){0===e.length&&t([]);var n=e.length;e.forEach((o,i)=>sM.resolve(o).then(r=>{e[i]=r,--n||t(e)},r))})},resolve:e=>{if(e instanceof sM)return e;if(e&&"function"==typeof e.then)return new sM((t,r)=>{e.then(t,r)});var t=new sM(sy,!0,e);return sK(t,sj),t},reject:sZ,race:function(){var e=aQ.apply(null,arguments).map(s6);return new sM((t,r)=>{e.map(e=>sM.resolve(e).then(t,r))})},PSD:{get:()=>sT,set:e=>sT=e},totalEchoes:{get:()=>s1},newPSD:s3,usePSD:lt,scheduler:{get:()=>sO,set:e=>{sO=e}},rejectionMapper:{get:()=>sR,set:e=>{sR=e}},follow:(e,t)=>new sM((r,n)=>s3((t,r)=>{var n=sT;n.unhandleds=[],n.onunhandled=r,n.finalize=sc(function(){var e;e=()=>{0===this.unhandleds.length?t():r(this.unhandleds[0])},sI.push(function t(){e(),sI.splice(sI.indexOf(t),1)}),++s$,sO(()=>{0==--s$&&sq()},[])},n.finalize),e()},t,r,n))}),s_&&(s_.allSettled&&aC(sM,"allSettled",function(){let e=aQ.apply(null,arguments).map(s6);return new sM(t=>{0===e.length&&t([]);let r=e.length,n=Array(r);e.forEach((e,o)=>sM.resolve(e).then(e=>n[o]={status:"fulfilled",value:e},e=>n[o]={status:"rejected",reason:e}).then(()=>--r||t(n)))})}),s_.any&&"u">typeof AggregateError&&aC(sM,"any",function(){let e=aQ.apply(null,arguments).map(s6);return new sM((t,r)=>{0===e.length&&r(AggregateError([]));let n=e.length,o=Array(n);e.forEach((e,i)=>sM.resolve(e).then(e=>t(e),e=>{o[i]=e,--n||r(AggregateError(o))}))})}));let sY={awaits:0,echoes:0,id:0};var sJ=0,sQ=[],s0=0,s1=0,s4=0;function s3(e,t,r,n){var o=sT,i=Object.create(o);i.parent=o,i.ref=0,i.global=!1,i.id=++s4;var a=sN.env;i.env=sx?{Promise:sM,PromiseProp:{value:sM,configurable:!0,writable:!0},all:sM.all,race:sM.race,allSettled:sM.allSettled,any:sM.any,resolve:sM.resolve,reject:sM.reject,nthen:ln(a.nthen,i),gthen:ln(a.gthen,i)}:{},t&&aE(i,t),++o.ref,i.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=lt(i,e,r,n);return 0===i.ref&&i.finalize(),s}function s2(){return sY.id||(sY.id=++sJ),++sY.awaits,sY.echoes+=100,sY.id}function s5(){return!!sY.awaits&&(0==--sY.awaits&&(sY.id=0),sY.echoes=100*sY.awaits,!0)}function s6(e){return sY.echoes&&e&&e.constructor===s_?(s2(),e.then(e=>(s5(),e),e=>(s5(),la(e)))):e}function s7(e){++s1,sY.echoes&&0!=--sY.echoes||(sY.echoes=sY.id=0),sQ.push(sT),s8(e,!0)}function s9(){var e=sQ[sQ.length-1];sQ.pop(),s8(e,!1)}function s8(e,t){var r,n=sT;if((t?!sY.echoes||s0++&&e===sT:!s0||--s0&&e===sT)||(r=t?s7.bind(null,e):s9,sw.call(sg,r)),e!==sT&&(sT=e,n===sN&&(sN.env=le()),sx)){var o=sN.env.Promise,i=e.env;sb.then=i.nthen,o.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(aw,"Promise",i.PromiseProp),o.all=i.all,o.race=i.race,o.resolve=i.resolve,o.reject=i.reject,i.allSettled&&(o.allSettled=i.allSettled),i.any&&(o.any=i.any))}}function le(){var e=aw.Promise;return sx?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(aw,"Promise"),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:sb.then,gthen:e.prototype.then}:{}}function lt(e,t,r,n,o){var i=sT;try{return s8(e,!0),t(r,n,o)}finally{s8(i,!1)}}function lr(e,t,r,n){return"function"!=typeof e?e:function(){var o,i=sT;r&&s2(),s8(t,!0);try{return e.apply(this,arguments)}finally{s8(i,!1),n&&(o=s5,sw.call(sg,o))}}}function ln(e,t){return function(r,n){return e.call(this,lr(r,t),lr(n,t))}}-1===(""+sw).indexOf("[native code]")&&(s2=s5=ss);let lo="unhandledrejection";function li(e,t){var r;try{r=t.onuncatched(e)}catch(e){}if(!1!==r)try{var n,o={promise:t,reason:e};if(aw.document&&document.createEvent?((n=document.createEvent("Event")).initEvent(lo,!0,!0),aE(n,o)):aw.CustomEvent&&aE(n=new CustomEvent(lo,{detail:o}),o),n&&aw.dispatchEvent&&(dispatchEvent(n),!aw.PromiseRejectionEvent&&aw.onunhandledrejection))try{aw.onunhandledrejection(n)}catch(e){}a1&&n&&!n.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var la=sM.reject;let ls="3.2.7",ll=String.fromCharCode(65535),lu=-1/0,lc="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",ld="String expected.",lp=[],lf="u">typeof navigator&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),lh=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),lm="__dbnames",ly="readonly",lg="readwrite";function lb(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}let lv={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function lw(e){return"string"!=typeof e||/\./.test(e)?e=>e:t=>(void 0===t[e]&&e in t&&delete(t=aG(t))[e],t)}class l_{_trans(e,t,r){let n=this._tx||sT.trans,o=this.name;function i(e,r,n){if(!n.schema[o])throw new so.NotFound("Table "+o+" not part of transaction");return t(n.idbtrans,n)}let a=sH();try{return n&&n.db===this.db?n===sT.trans?n._promise(e,i,r):s3(()=>n._promise(e,i,r),{trans:n,transless:sT.transless||sT}):function e(t,r,n,o){if(t.idbdb&&(t._state.openComplete||sT.letThrough||t._vip)){var i=t._createTransaction(r,n,t._dbSchema);try{i.create(),t._state.PR1398_maxLoop=3}catch(i){return i.name===sn.InvalidState&&t.isOpen()&&--t._state.PR1398_maxLoop>0?(console.warn("Dexie: Need to reopen db"),t._close(),t.open().then(()=>e(t,r,n,o))):la(i)}return i._promise(r,(e,t)=>s3(()=>(sT.trans=i,o(e,t,i)))).then(e=>i._completion.then(()=>e))}if(t._state.openComplete)return la(new so.DatabaseClosed(t._state.dbOpenError));if(!t._state.isBeingOpened){if(!t._options.autoOpen)return la(new so.DatabaseClosed);t.open().catch(ss)}return t._state.dbReadyPromise.then(()=>e(t,r,n,o))}(this.db,e,[this.name],i)}finally{a&&sG()}}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(ax(e))return new this.db.WhereClause(this,`[${e.join("+")}]`);let t=a_(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=>{if(e.compound&&t.every(t=>e.keyPath.indexOf(t)>=0)){for(let r=0;r<t.length;++r)if(-1===t.indexOf(e.keyPath[r]))return!1;return!0}return!1}).sort((e,t)=>e.keyPath.length-t.keyPath.length)[0];if(r&&this.db._maxKey!==ll){let n=r.keyPath.slice(0,t.length);return this.where(n).equals(n.map(t=>e[t]))}!r&&a1&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join("+")}]`);let{idxByName:n}=this.schema,o=this.db._deps.indexedDB;function i(e,t){try{return 0===o.cmp(e,t)}catch(e){return!1}}let[a,s]=t.reduce(([t,r],o)=>{let a=n[o],s=e[o];return[t||a,t||!a?lb(r,a&&a.multi?e=>{let t=aF(e,o);return ax(t)&&t.some(e=>i(s,e))}:e=>i(s,aF(e,o))):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,ax(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(aP(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){aE(this,e)})}add(e,t){let{auto:r,keyPath:n}=this.schema.primKey,o=e;return n&&r&&(o=lw(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"add",keys:null!=t?[t]:null,values:[o]})).then(e=>e.numFailures?sM.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{aB(e,n,t)}catch(e){}return t})}update(e,t){if("object"!=typeof e||ax(e))return this.where(":id").equals(e).modify(t);{let r=aF(e,this.schema.primKey.keyPath);if(void 0===r)return la(new so.InvalidArgument("Given object does not contain its primary key"));try{"function"!=typeof t?a_(t).forEach(r=>{aB(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,o=e;return n&&r&&(o=lw(n)(e)),this._trans("readwrite",e=>this.core.mutate({trans:e,type:"put",values:[o],keys:null!=t?[t]:null})).then(e=>e.numFailures?sM.reject(e.failures[0]):e.lastResult).then(t=>{if(n)try{aB(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?sM.reject(e.failures[0]):void 0)}clear(){return this._trans("readwrite",e=>this.core.mutate({trans:e,type:"deleteRange",range:lv})).then(e=>e.numFailures?sM.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,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new so.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new so.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(lw(i)):e;return this.core.mutate({trans:t,type:"add",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new sr(`${this.name}.bulkAdd(): ${e} of ${a} operations failed`,n)})})}bulkPut(e,t,r){let n=Array.isArray(t)?t:void 0,o=(r=r||(n?void 0:t))?r.allKeys:void 0;return this._trans("readwrite",t=>{let{auto:r,keyPath:i}=this.schema.primKey;if(i&&n)throw new so.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(n&&n.length!==e.length)throw new so.InvalidArgument("Arguments objects and keys must have the same length");let a=e.length,s=i&&r?e.map(lw(i)):e;return this.core.mutate({trans:t,type:"put",keys:n,values:s,wantResults:o}).then(({numFailures:e,results:t,lastResult:r,failures:n})=>{if(0===e)return o?t:r;throw new sr(`${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 sr(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,n)})}}function lx(e){var t={},r=function(r,n){if(n){for(var o=arguments.length,i=Array(o-1);--o;)i[o-1]=arguments[o];return t[r].subscribe.apply(null,i),e}if("string"==typeof r)return t[r]};r.addEventType=i;for(var n=1,o=arguments.length;n<o;++n)i(arguments[n]);return r;function i(e,n,o){if("object"!=typeof e){n||(n=sh),o||(o=ss);var a={subscribers:[],fire:o,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,o)}};return t[e]=r[e]=a,a}a_(e).forEach(function(t){var r=e[t];if(ax(r))i(t,e[t][0],e[t][1]);else{if("asap"!==r)throw new so.InvalidArgument("Invalid event config");var n=i(t,sl,function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach(function(e){aM(function(){e.apply(null,t)})})})}})}}function lE(e,t){return aj(t).from({prototype:e}),t}function lS(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function lO(e,t){e.filter=lb(e.filter,t)}function lP(e,t,r){var n=e.replayFilter;e.replayFilter=n?()=>lb(n(),t()):t,e.justLimit=r&&!n}function lD(e,t){if(e.isPrimKey)return t.primaryKey;let r=t.getIndexByKeyPath(e.index);if(!r)throw new so.Schema("KeyPath "+e.index+" on object store "+t.name+" is not indexed");return r}function lk(e,t,r){let n=lD(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 lC(e,t,r,n){let o=e.replayFilter?lb(e.filter,e.replayFilter()):e.filter;if(e.or){let i={},a=(e,r,n)=>{if(!o||o(r,n,e=>r.stop(e),e=>r.fail(e))){var a=r.primaryKey,s=""+a;"[object ArrayBuffer]"===s&&(s=""+new Uint8Array(a)),aP(i,s)||(i[s]=!0,t(e,r,n))}};return Promise.all([e.or._iterate(a,r),lj(lk(e,n,r),e.algorithm,a,!e.keysOnly&&e.valueMapper)])}return lj(lk(e,n,r),lb(e.algorithm,o),t,!e.keysOnly&&e.valueMapper)}function lj(e,t,r,n){var o=sX(n?(e,t,o)=>r(n(e),t,o):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=ss},t=>{e.fail(t),r=ss})||o(e.value,e,e=>r=e),r()})})}function lR(e,t){try{let r=lN(e),n=lN(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,o=r<n?r:n;for(let r=0;r<o;++r)if(e[r]!==t[r])return e[r]<t[r]?-1:1;return r===n?0:r<n?-1:1}(lT(e),lT(t));case"Array":return function(e,t){let r=e.length,n=t.length,o=r<n?r:n;for(let r=0;r<o;++r){let n=lR(e[r],t[r]);if(0!==n)return n}return r===n?0:r<n?-1:1}(e,t)}}catch(e){}return NaN}function lN(e){let t=typeof e;if("object"!==t)return t;if(ArrayBuffer.isView(e))return"binary";let r=aZ(e);return"ArrayBuffer"===r?"binary":r}function lT(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}class lA{_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=lb(t.algorithm,e)}_iterate(e,t){return lC(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),r=Object.create(this._ctx);return e&&aE(r,e),t._ctx=r,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read(r=>lC(t,e,r,t.table.core))}count(e){return this._read(e=>{let t=this._ctx,r=t.table.core;if(lS(t,!0))return r.count({trans:e,query:{index:lD(t,r.schema),range:t.range}}).then(e=>Math.min(e,t.limit));var n=0;return lC(t,()=>(++n,!1),e,r).then(()=>n)}).then(e)}sortBy(e,t){let r=e.split(".").reverse(),n=r[0],o=r.length-1;function i(e,t){return t?i(e[r[t]],t-1):e[n]}var a="next"===this._ctx.dir?1:-1;function s(e,t){var r=i(e,o),n=i(t,o);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&&lS(t,!0)&&t.limit>0){let{valueMapper:r}=t,n=lD(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 lC(t,e=>r.push(e),e,t.table.core).then(()=>r)}},e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,lS(t)?lP(t,()=>{var t=e;return(e,r)=>0===t||(1===t?--t:r(()=>{e.advance(t),t=0}),!1)}):lP(t,()=>{var t=e;return()=>--t<0})),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),lP(this._ctx,()=>{var t=e;return function(e,r,n){return--t<=0&&r(n),t>=0}},!0),this}until(e,t){return lO(this._ctx,function(r,n,o){return!e(r.value)||(n(o),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 lO(this._ctx,function(t){return e(t.value)}),(t=this._ctx).isMatch=lb(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&&lS(t,!0)&&t.limit>0)return this._read(e=>{var r=lD(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 lO(this._ctx,function(e){var t=e.primaryKey.toString(),n=aP(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 o=a_(e),i=o.length;n=function(t){for(var r=!1,n=0;n<i;++n){var a=o[n],s=e[a];aF(t,a)!==s&&(aB(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,a_(r)))c.push(r[t])};return this.clone().primaryKeys().then(o=>{let i=c=>{let d=Math.min(u,o.length-c);return a.getMany({trans:r,keys:o.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:aG(t),primKey:o[c+e]};!1!==n.call(r,r.value,r)&&(null==r.value?g.push(o[c+e]):s||0===lR(l(t),l(r.value))?(m.push(r.value),s&&y.push(o[c+e])):(g.push(o[c+e]),h.push(r.value)))}let b=lS(t)&&t.limit===1/0&&("function"!=typeof e||e===l$)&&{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===l$)&&a.mutate({trans:r,type:"delete",keys:g,criteria:b}).then(e=>f(g.length,e))).then(()=>o.length>c+d&&i(c+u))})};return i(0).then(()=>{if(c.length>0)throw new st("Error modifying one or more objects",c,d,p);return o.length})})})}delete(){var e=this._ctx,t=e.range;return lS(e)&&(e.isPrimKey&&!lf||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:o})=>{if(o)throw new st("Could not delete some values",Object.keys(e).map(t=>e[t]),n-o);return n-o}))}):this.modify(l$)}}let l$=(e,t)=>t.value=null;function lI(e,t){return e<t?-1:+(e!==t)}function lM(e,t){return e>t?-1:+(e!==t)}function lL(e,t,r){var n=e instanceof lU?new e.Collection(e):e;return n._ctx.error=r?new r(t):TypeError(t),n}function lF(e){return new e.Collection(e,()=>lW("")).limit(0)}function lB(e,t,r,n){var o,i,a,s,l,u,c,d=r.length;if(!r.every(e=>"string"==typeof e))return lL(e,ld);function p(e){o="next"===e?e=>e.toUpperCase():e=>e.toLowerCase(),i="next"===e?e=>e.toLowerCase():e=>e.toUpperCase(),a="next"===e?lI:lM;var t=r.map(function(e){return{lower:i(e),upper:o(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,()=>lV(s[0],l[d-1]+n));f._ondirectionchange=function(e){p(e)};var h=0;return f._addAlgorithm(function(e,r,n){var o=e.key;if("string"!=typeof o)return!1;var p=i(o);if(t(p,l,h))return!0;for(var f=null,m=h;m<d;++m){var y=function(e,t,r,n,o,i){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>o(e[l],r[l])?e.substr(0,l)+r[l]+r.substr(l+1):0>o(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>o(e[l],u)&&(s=l)}return a<n.length&&"next"===i?e+r.substr(e.length):a<e.length&&"prev"===i?e.substr(0,r.length):s<0?null:e.substr(0,s)+n[s]+r.substr(s+1)}(o,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 lV(e,t,r,n){return{type:2,lower:e,upper:t,lowerOpen:r,upperOpen:n}}function lW(e){return{type:1,lower:e,upper:e}}class lU{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)?lF(this):new this.Collection(this,()=>lV(e,t,!r,!n))}catch(e){return lL(this,lc)}}equals(e){return null==e?lL(this,lc):new this.Collection(this,()=>lW(e))}above(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(e,void 0,!0))}aboveOrEqual(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(e,void 0,!1))}below(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(void 0,e,!1,!0))}belowOrEqual(e){return null==e?lL(this,lc):new this.Collection(this,()=>lV(void 0,e))}startsWith(e){return"string"!=typeof e?lL(this,ld):this.between(e,e+ll,!0,!0)}startsWithIgnoreCase(e){return""===e?this.startsWith(e):lB(this,(e,t)=>0===e.indexOf(t[0]),[e],ll)}equalsIgnoreCase(e){return lB(this,(e,t)=>e===t[0],[e],"")}anyOfIgnoreCase(){var e=aQ.apply(aJ,arguments);return 0===e.length?lF(this):lB(this,(e,t)=>-1!==t.indexOf(e),e,"")}startsWithAnyOfIgnoreCase(){var e=aQ.apply(aJ,arguments);return 0===e.length?lF(this):lB(this,(e,t)=>t.some(t=>0===e.indexOf(t)),e,ll)}anyOf(){let e=aQ.apply(aJ,arguments),t=this._cmp;try{e.sort(t)}catch(e){return lL(this,lc)}if(0===e.length)return lF(this);let r=new this.Collection(this,()=>lV(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,o,i)=>{let a=r.key;for(;t(a,e[n])>0;)if(++n===e.length)return o(i),!1;return 0===t(a,e[n])||(o(()=>{r.continue(e[n])}),!1)}),r}notEqual(e){return this.inAnyRange([[lu,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=aQ.apply(aJ,arguments);if(0===e.length)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return lL(this,lc)}let t=e.reduce((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[lu,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,o=this._descending,i=this._min,a=this._max;if(0===e.length)return lF(this);if(!e.every(e=>void 0!==e[0]&&void 0!==e[1]&&0>=n(e[0],e[1])))return lL(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",so.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,o=e.length;for(;n<o;++n){let o=e[n];if(0>r(t[0],o[1])&&r(t[1],o[0])>0){o[0]=i(o[0],t[0]),o[1]=a(o[1],t[1]);break}}return n===o&&e.push(t),e},[])).sort(d)}catch(e){return lL(this,lc)}let p=0,f=l?e=>n(e,u[p][1])>0:e=>n(e,u[p][1])>=0,h=s?e=>o(e,u[p][0])>0:e=>o(e,u[p][0])>=0,m=f,y=new this.Collection(this,()=>lV(u[0][0],u[u.length-1][1],!s,!l));return y._ondirectionchange=e=>{"next"===e?(m=f,c=n):(m=h,c=o),u.sort(d)},y._addAlgorithm((e,t,r)=>{for(var o=e.key;m(o);)if(++p===u.length)return t(r),!1;return!!(!f(o)&&!h(o))||(0===this._cmp(o,u[p][1])||0===this._cmp(o,u[p][0])||t(()=>{c===n?e.continue(u[p][0]):e.continue(u[p][1])}),!1)}),y}startsWithAnyOf(){let e=aQ.apply(aJ,arguments);return e.every(e=>"string"==typeof e)?0===e.length?lF(this):this.inAnyRange(e.map(e=>[e,e+ll])):lL(this,"startsWithAnyOf() only works with strings")}}function lK(e){return sX(function(t){return lz(t),e(t.target.error),!1})}function lz(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}let lH="storagemutated",lG="x-storagemutated-1",lq=lx(null,lH);class lZ{_lock(){return aI(!sT.global),++this._reculock,1!==this._reculock||sT.global||(sT.lockOwnerFor=this),this}_unlock(){if(aI(!sT.global),0==--this._reculock)for(sT.global||(sT.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{lt(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&sT.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,r=this.db._state.dbOpenError;if(aI(!this.idbtrans),!e&&!t)switch(r&&r.name){case"DatabaseClosedError":throw new so.DatabaseClosed(r);case"MissingAPIError":throw new so.MissingAPI(r.message,r);default:throw new so.OpenFailed(r)}if(!this.active)throw new so.TransactionInactive;return aI(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=sX(t=>{lz(t),this._reject(e.error)}),e.onabort=sX(t=>{lz(t),this.active&&this._reject(new so.Abort(e.error)),this.active=!1,this.on("abort").fire(t)}),e.oncomplete=sX(()=>{this.active=!1,this._resolve(),"mutatedParts"in e&&lq.storagemutated.fire(e.mutatedParts)}),this}_promise(e,t,r){if("readwrite"===e&&"readwrite"!==this.mode)return la(new so.ReadOnly("Transaction is readonly"));if(!this.active)return la(new so.TransactionInactive);if(this._locked())return new sM((n,o)=>{this._blockedFuncs.push([()=>{this._promise(e,t,r).then(n,o)},sT])});if(r)return s3(()=>{var e=new sM((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 sM((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=sM.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 o=t._waitingFor;return new sM((e,n)=>{r.then(r=>t._waitingQueue.push(sX(e.bind(null,r))),e=>t._waitingQueue.push(sX(n.bind(null,e)))).finally(()=>{t._waitingFor===o&&(t._waitingFor=null)})})}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new so.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(aP(t,e))return t[e];let r=this.schema[e];if(!r)throw new so.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 lX(e,t,r,n,o,i,a){return{name:e,keyPath:t,unique:r,multi:n,auto:o,compound:i,src:(r&&!a?"&":"")+(n?"*":"")+(o?"++":"")+lY(t)}}function lY(e){return"string"==typeof e?e:e?"["+[].join.call(e,"+")+"]":""}function lJ(e,t,r){return{name:e,primKey:t,indexes:r,mappedClass:null,idxByName:aL(r,e=>[e.name,e])}}let lQ=e=>{try{return e.only([[]]),lQ=()=>[[]],[[]]}catch(e){return lQ=()=>ll,ll}};function l0(e){return null==e?()=>{}:"string"==typeof e?1===e.split(".").length?t=>t[e]:t=>aF(t,e):t=>aF(t,e)}function l1(e){return[].slice.call(e)}let l4=0;function l3(e){return null==e?":id":"string"==typeof e?e:`[${e.join("+")}]`}function l2({_novip:e},t){let r=t.db,n=function(e,t,{IDBKeyRange:r,indexedDB:n},o){var i;return{dbcore:(i=function(e,t,r){let n;function o(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:o,upperOpen:i}=e;return void 0===r?void 0===n?null:t.upperBound(n,!!i):void 0===n?t.lowerBound(r,!!o):t.bound(r,n,!!o,!!i)}let{schema:i,hasGetAll:a}=(n=l1(e.objectStoreNames),{schema:{name:e.name,tables:n.map(e=>r.objectStore(e)).map(e=>{let{keyPath:t,autoIncrement:r}=e,n=ax(t),o=null==t,i={},a={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:o,compound:n,keyPath:t,autoIncrement:r,unique:!0,extractKey:l0(t)},indexes:l1(e.indexNames).map(t=>e.index(t)).map(e=>{let{name:t,unique:r,multiEntry:n,keyPath:o}=e,a={name:t,compound:ax(o),keyPath:o,unique:r,multiEntry:n,extractKey:l0(o)};return i[l3(o)]=a,a}),getIndexByKeyPath:e=>i[l3(e)]};return i[":id"]=a.primaryKey,null!=t&&(i[l3(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=i.tables.map(e=>{let t;return{name:t=e.name,schema:e,mutate:function({trans:e,type:r,keys:n,values:i,range:a}){return new Promise((s,l)=>{let u;s=sX(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||i||{length:1};if(n&&i&&n.length!==i.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,lz(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(o(a)))}else{let[e,t]=p?d?[i,n]:[i,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,o)=>{n=sX(n);let i=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=lK(o);for(let e=0;e<a;++e)null!=r[e]&&((l=i.get(r[e]))._pos=e,l.onsuccess=d,l.onerror=p,++u);0===u&&n(s)}),get:({trans:e,key:r})=>new Promise((n,o)=>{n=sX(n);let i=e.objectStore(t).get(r);i.onsuccess=e=>n(e.target.result),i.onerror=lK(o)}),query:e=>new Promise((r,n)=>{r=sX(r);let{trans:i,values:s,limit:l,query:u}=e,c=l===1/0?void 0:l,{index:d,range:p}=u,f=i.objectStore(t),h=d.isPrimaryKey?f:f.index(d.name),m=o(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=lK(n)}else{let e=0,t=!s&&"openKeyCursor"in h?h.openKeyCursor(m):h.openCursor(m),o=[];t.onsuccess=n=>{let i=t.result;return i?(o.push(s?i.value:i.primaryKey),++e===l?r({result:o}):void i.continue()):r({result:o})},t.onerror=lK(n)}}),openCursor:function({trans:e,values:r,query:n,reverse:i,unique:a}){return new Promise((s,l)=>{s=sX(s);let{index:u,range:c}=n,d=e.objectStore(t),p=u.isPrimaryKey?d:d.index(u.name),f=i?a?"prevunique":"prev":a?"nextunique":"next",h=!r&&"openKeyCursor"in p?p.openKeyCursor(o(c),f):p.openCursor(o(c),f);h.onerror=lK(l),h.onsuccess=sX(t=>{let r=h.result;if(!r)return void s(null);r.___id=++l4,r.done=!1;let n=r.continue.bind(r),o=r.continuePrimaryKey;o&&(o=o.bind(r));let i=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=sX(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=sX(e),h.onerror=lK(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=sX(e=>{h.onsuccess=s,s()}),r.continue=n,r.continuePrimaryKey=o,r.advance=i,s(),t},s(r)},l)})},count({query:e,trans:r}){let{index:n,range:i}=e;return new Promise((e,a)=>{let s=r.objectStore(t),l=n.isPrimaryKey?s:s.index(n.name),u=o(i),c=u?l.count(u):l.count();c.onsuccess=sX(t=>e(t.target.result)),c.onerror=lK(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:lQ(t),schema:i}}(t,r,o),e.dbcore.reduce((e,{create:t})=>({...e,...t(e)}),i))}}(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 l5({_novip:e},t,r,n){r.forEach(r=>{let o=n[r];t.forEach(t=>{let n=aN(t,r);(!n||"value"in n&&void 0===n.value)&&(t===e.Transaction.prototype||t instanceof e.Transaction?aC(t,r,{get(){return this.table(r)},set(e){ak(this,r,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[r]=new e.Table(r,o))})})}function l6({_novip:e},t){t.forEach(t=>{for(let r in t)t[r]instanceof e.Table&&delete t[r]})}function l7(e,t){return e._cfg.version-t._cfg.version}function l9(e,t){let r,n={del:[],add:[],change:[]};for(r in e)t[r]||n.del.push(r);for(r in t){let o=e[r],i=t[r];if(o){let e={name:r,def:i,recreate:!1,del:[],add:[],change:[]};if(""+(o.primKey.keyPath||"")==""+(i.primKey.keyPath||"")&&(o.primKey.auto===i.primKey.auto||lf)){let t,r=o.idxByName,a=i.idxByName;for(t in r)a[t]||e.del.push(t);for(t in a){let n=r[t],o=a[t];n?n.src!==o.src&&e.change.push(o):e.add.push(o)}(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,i])}return n}function l8(e,t,r,n){let o=e.db.createObjectStore(t,r.keyPath?{keyPath:r.keyPath,autoIncrement:r.auto}:{autoIncrement:r.auto});return n.forEach(e=>ue(o,e)),o}function ue(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function ut(e,t,r){let n={};return aA(t.objectStoreNames,0).forEach(e=>{let t=r.objectStore(e),o=t.keyPath,i=lX(lY(o),o||"",!1,!1,!!t.autoIncrement,o&&"string"!=typeof o,!0),a=[];for(let e=0;e<t.indexNames.length;++e){let r=t.index(t.indexNames[e]);o=r.keyPath;var s=lX(r.name,o,!!r.unique,!!r.multiEntry,!1,o&&"string"!=typeof o,!1);a.push(s)}n[e]=lJ(e,i,a)}),n}function ur({_novip:e},t,r){let n=r.db.objectStoreNames;for(let o=0;o<n.length;++o){let i=n[o],a=r.objectStore(i);e._hasGetAll="getAll"in a;for(let e=0;e<a.indexNames.length;++e){let r=a.indexNames[e],n=a.index(r).keyPath,o="string"==typeof n?n:"["+aA(n).join("+")+"]";if(t[i]){let e=t[i].idxByName[o];e&&(e.name=r,delete t[i].idxByName[o],t[i].idxByName[r]=e)}}}"u">typeof navigator&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&aw.WorkerGlobalScope&&aw instanceof aw.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}class un{_parseStoresSpec(e,t){a_(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 lX(r,n||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),ax(n),0===t)}),o=n.shift();if(o.multi)throw new so.Schema("Primary key cannot be multi-valued");n.forEach(e=>{if(e.auto)throw new so.Schema("Only primary key can be marked as autoIncrement (++)");if(!e.keyPath)throw new so.Schema("Index must have a name and cannot be an empty string")}),t[r]=lJ(r,o,n)}})}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?aE(this._cfg.storesSource,e):e;let r=t._versions,n={},o={};return r.forEach(e=>{aE(n,e._cfg.storesSource),o=e._cfg.dbschema={},e._parseStoresSpec(n,o)}),t._dbSchema=o,l6(t,[t._allTables,t,t.Transaction.prototype]),l5(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],a_(o),o),t._storeNames=a_(o),this}upgrade(e){return this._cfg.contentUpgrade=sm(this._cfg.contentUpgrade||ss,e),this}}function uo(e,t){let r=e._dbNamesDB;return r||(r=e._dbNamesDB=new uE(lm,{addons:[],indexedDB:e,IDBKeyRange:t})).version(1).stores({dbnames:"name"}),r.table("dbnames")}function ui(e){return e&&"function"==typeof e.databases}function ua(e){return s3(function(){return sT.letThrough=!0,e()})}function us(e){var t=t=>e.next(t),r=o(t),n=o(t=>e.throw(t));function o(e){return t=>{var o=e(t),i=o.value;return o.done?i:i&&"function"==typeof i.then?i.then(r,n):ax(i)?Promise.all(i).then(r,n):r(i)}}return o(t)()}function ul(e,t,r){var n=arguments.length;if(n<2)throw new so.InvalidArgument("Too few arguments");for(var o=Array(n-1);--n;)o[n-1]=arguments[n];return r=o.pop(),[e,aU(o),r]}function uu(e,t,r){let n=ax(e)?e.slice():[e];for(let e=0;e<r;++e)n.push(t);return n}let uc={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(e){return{...e,table(t){let r=e.table(t),{schema:n}=r,o={},i=[];function a(e,t,r){let n=l3(e),s=o[n]=o[n]||[],l=null==e?0:"string"==typeof e?1:e.length,u=t>0,c={...r,isVirtual:u,keyTail:t,keyLength:l,extractKey:l0(e),unique:!u&&r.unique};return s.push(c),c.isPrimaryKey||i.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(o[":id"]=[s],n.indexes))a(e.keyPath,0,e);function l(t){var r,n;let o=t.query.index;return o.isVirtual?{...t,query:{index:o,range:(r=t.query.range,n=o.keyTail,{type:1===r.type?2:r.type,lower:uu(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,n),lowerOpen:!0,upper:uu(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,n),upperOpen:!0})}}:t}return{...r,schema:{...n,primaryKey:s,indexes:i,getIndexByKeyPath:function(e){let t=o[l3(e)];return t&&t[0]}},count:e=>r.count(l(e)),query:e=>r.query(l(e)),openCursor(t){let{keyTail:n,isVirtual:o,keyLength:i}=t.query.index;return o?r.openCursor(l(t)).then(r=>r&&Object.create(r,{continue:{value:function(o){null!=o?r.continue(uu(o,t.reverse?e.MAX_KEY:e.MIN_KEY,n)):t.unique?r.continue(r.key.slice(0,i).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,n)):r.continue()}},continuePrimaryKey:{value(t,o){r.continuePrimaryKey(uu(t,e.MAX_KEY,n),o)}},primaryKey:{get:()=>r.primaryKey},key:{get(){let e=r.key;return 1===i?e[0]:e.slice(0,i)}},value:{get:()=>r.value}})):r.openCursor(t)}}}}}};function ud(e,t,r,n){return r=r||{},n=n||"",a_(e).forEach(o=>{if(aP(t,o)){var i=e[o],a=t[o];if("object"==typeof i&&"object"==typeof a&&i&&a){let e=aZ(i);e!==aZ(a)?r[n+o]=t[o]:"Object"===e?ud(i,a,r,n+o+"."):i!==a&&(r[n+o]=t[o])}else i!==a&&(r[n+o]=t[o])}else r[n+o]=void 0}),a_(t).forEach(o=>{aP(e,o)||(r[n+o]=t[o])}),r}let up={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 o=sT.trans,{deleting:i,creating:a,updating:s}=o.table(t).hook;switch(e.type){case"add":if(a.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"put":if(a.fire===ss&&s.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"delete":if(i.fire===ss)break;return o._promise("readwrite",()=>l(e),!0);case"deleteRange":if(i.fire===ss)break;return o._promise("readwrite",()=>(function e(t,o,i){return r.query({trans:t,values:!1,query:{index:n,range:o},limit:i}).then(({result:r})=>l({type:"delete",keys:r,trans:t}).then(n=>n.numFailures>0?Promise.reject(n.failures[0]):r.length<i?{failures:[],numFailures:0,lastResult:void 0}:e(t,{...o,lower:r[r.length-1],lowerOpen:!0},i)))})(e.trans,e.range,1e4),!0)}return r.mutate(e);function l(e){var t,o;let l=sT.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"===(o=e).type?Promise.resolve([]):r.getMany({trans:o.trans,keys:u,cache:"immutable"})).then(t=>{let o=u.map((r,o)=>{let u=t[o],c={onerror:null,onsuccess:null};if("delete"===e.type)i.fire.call(c,r,u,l);else if("add"===e.type||void 0===u){let t=a.fire.call(c,r,e.values[o],l);null==r&&null!=t&&(r=t,e.keys[o]=r,n.outbound||aB(e.values[o],n.keyPath,r))}else{let t=ud(u,e.values[o]),n=s.fire.call(c,t,r,u,l);if(n){let t=e.values[o];Object.keys(n).forEach(e=>{aP(t,e)?t[e]=n[e]:aB(t,e,n[e])})}}return c});return r.mutate(e).then(({failures:r,results:n,numFailures:i,lastResult:a})=>{for(let i=0;i<u.length;++i){let a=n?n[i]:u[i],s=o[i];null==a?s.onerror&&s.onerror(r[i]):s.onsuccess&&s.onsuccess("put"===e.type&&t[i]?e.values[i]:a)}return{failures:r,results:n,numFailures:i,lastResult:a}}).catch(e=>(o.forEach(t=>t.onerror&&t.onerror(e)),Promise.reject(e)))})}}}}})};function uf(e,t,r){try{if(!t||t.keys.length<e.length)return null;let n=[];for(let o=0,i=0;o<t.keys.length&&i<e.length;++o)0===lR(t.keys[o],e[i])&&(n.push(r?aG(t.values[o]):t.values[o]),++i);return n.length===e.length?n:null}catch(e){return null}}let uh={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=uf(e.keys,e.trans._cache,"clone"===e.cache);return t?sM.resolve(t):r.getMany(e).then(t=>(e.trans._cache={keys:e.keys,values:"clone"===e.cache?aG(t):t},t))},mutate:e=>("add"!==e.type&&(e.trans._cache=null),r.mutate(e))}}})};function um(e){return!("from"in e)}let uy=function(e,t){if(!this){let t=new uy;return e&&"d"in e&&aE(t,e),t}aE(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function ug(e,t,r){let n=lR(t,r);if(isNaN(n))return;if(n>0)throw RangeError();if(um(e))return aE(e,{from:t,to:r,d:1});let o=e.l,i=e.r;if(0>lR(r,e.from))return o?ug(o,t,r):e.l={from:t,to:r,d:1,l:null,r:null},uw(e);if(lR(t,e.to)>0)return i?ug(i,t,r):e.r={from:t,to:r,d:1,l:null,r:null},uw(e);0>lR(t,e.from)&&(e.from=t,e.l=null,e.d=i?i.d+1:1),lR(r,e.to)>0&&(e.to=r,e.r=null,e.d=e.l?e.l.d+1:1);let a=!e.r;o&&!e.l&&ub(e,o),i&&a&&ub(e,i)}function ub(e,t){um(t)||function e(t,{from:r,to:n,l:o,r:i}){ug(t,r,n),o&&e(t,o),i&&e(t,i)}(e,t)}function uv(e){let t=um(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>lR(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>=lR(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 uw(e){var t,r;let n=((null==(t=e.r)?void 0:t.d)||0)-((null==(r=e.l)?void 0:r.d)||0),o=n>1?"r":n<-1?"l":"";if(o){let t="r"===o?"l":"r",r={...e},n=e[o];e.from=n.from,e.to=n.to,e[o]=n[o],r[o]=n[t],e[t]=r,r.d=u_(r)}e.d=u_(e)}function u_({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}aD(uy.prototype,{add(e){return ub(this,e),this},addKey(e){return ug(this,e,e),this},addKeys(e){return e.forEach(e=>ug(this,e,e)),this},[aX](){return uv(this)}});let ux={stack:"dbcore",level:0,create:e=>{let t=e.schema.name,r=new uy(e.MIN_KEY,e.MAX_KEY);return{...e,table:n=>{let o=e.table(n),{schema:i}=o,{primaryKey:a}=i,{extractKey:s,outbound:l}=a,u={...o,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 uy)},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 o.mutate(e).then(e=>{if(ax(p)){"delete"!==d&&(p=e.results),u.addKeys(p);let t=uf(p,h);t||"add"===d||c.addKeys(p),(t||f)&&i.indexes.forEach(function(e){let r=l(e.name||"");function n(t){return null!=t?e.extractKey(t):null}let o=t=>e.multiEntry&&ax(t)?t.forEach(e=>r.addKey(e)):r.addKey(t);(t||f).forEach((e,r)=>{let i=t&&n(t[r]),a=f&&n(f[r]);0!==lR(i,a)&&(null!=i&&o(i),null!=a&&o(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),i.indexes.forEach(e=>l(e.name).add(r));return e})}},c=({query:{index:t,range:r}})=>{var n,o;return[t,new uy(null!=(n=r.lower)?n:e.MIN_KEY,null!=(o=r.upper)?o:e.MAX_KEY)]},d={get:e=>[a,new uy(e.key)],getMany:e=>[a,(new uy).addKeys(e.keys)],count:c,query:c,openCursor:c};return a_(d).forEach(e=>{u[e]=function(i){let{subscr:a}=sT;if(a){let u=e=>{let r=`idb://${t}/${n}/${e}`;return a[r]||(a[r]=new uy)},c=u(""),p=u(":dels"),[f,h]=d[e](i);if(u(f.name||"").add(h),!f.isPrimaryKey){if("count"!==e){let t="query"===e&&l&&i.values&&o.query({...i,values:!1});return o[e].apply(this,arguments).then(r=>{if("query"===e){if(l&&i.values)return t.then(({result:e})=>(c.addKeys(e),r));let e=i.values?r.result.map(s):r.result;i.values?c.addKeys(e):p.addKeys(e)}else if("openCursor"===e){let e=i.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 o[e].apply(this,arguments)}}),u}}}};class uE{constructor(e,t){var r;this._middlewares={},this.verno=0;const n=uE.dependencies;this._options=t={addons:uE.addons,autoOpen:!0,indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange,...t},this._deps={indexedDB:t.indexedDB,IDBKeyRange:t.IDBKeyRange};const{addons:o}=t;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;const i={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:ss,dbReadyPromise:null,cancelOpen:ss,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};i.dbReadyPromise=new sM(e=>{i.dbReadyResolve=e}),i.openCanceller=new sM((e,t)=>{i.cancelOpen=t}),this._state=i,this.name=e,this.on=lx(this,"populate","blocked","versionchange","close",{ready:[sm,ss]}),this.on.ready.subscribe=a$(this.on.ready.subscribe,e=>(t,r)=>{uE.vip(()=>{let n=this._state;if(n.openComplete)n.dbOpenError||sM.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,lE(lA.prototype,function(e,t){this.db=r;let n=lv,o=null;if(t)try{n=t()}catch(e){o=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:o,or:i.or,valueMapper:s!==sl?s:null}})),this.Table=function(e){return lE(l_.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:lx(null,{creating:[sd,ss],reading:[su,sl],updating:[sf,ss],deleting:[sp,ss]})})}(this),this.Transaction=function(e){return lE(lZ.prototype,function(t,r,n,o,i){this.db=e,this.mode=t,this.storeNames=r,this.schema=n,this.chromeTransactionDurability=o,this.idbtrans=null,this.on=lx(this,"complete","error","abort"),this.parent=i||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 sM((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 lE(un.prototype,function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})}(this),this.WhereClause=function(e){return lE(lU.prototype,function(t,r,n){this.db=e,this._ctx={table:t,index:":id"===r?null:r,or:n};let o=e._deps.indexedDB;if(!o)throw new so.MissingAPI;this._cmp=this._ascending=o.cmp.bind(o),this._descending=(e,t)=>o.cmp(t,e),this._max=(e,t)=>o.cmp(e,t)>0?e:t,this._min=(e,t)=>0>o.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=lQ(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),lp.filter(e=>e.name===this.name&&e!==this&&!e._state.vcFired).map(t=>t.on("versionchange").fire(e))},this.use(uc),this.use(up),this.use(ux),this.use(uh),this.vip=Object.create(this,{_vip:{value:!0}}),o.forEach(e=>e(this))}version(e){if(isNaN(e)||e<.1)throw new so.Type("Given version is not a positive number");if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new so.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(l7),r.stores({}),this._state.autoSchema=!1,r)}_whenReady(e){return this.idbdb&&(this._state.openComplete||sT.letThrough||this._vip)?e():new sM((e,t)=>{if(this._state.openComplete)return t(new so.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new so.DatabaseClosed);this.open().catch(ss)}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 o=this._middlewares[e]||(this._middlewares[e]=[]);return o.push({stack:e,create:t,level:null==r?10:r,name:n}),o.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);a1&&(r.openCanceller._stackHolder=a2()),r.isBeingOpened=!0,r.dbOpenError=null,r.openComplete=!1;let o=r.openCanceller;function i(){if(r.openCanceller!==o)throw new so.DatabaseClosed("db.open() was cancelled")}let a=r.dbReadyResolve,s=null,l=!1,u=()=>new sM((t,o)=>{if(i(),!n)throw new so.MissingAPI;let a=e.name,u=r.autoSchema?n.open(a):n.open(a,Math.round(10*e.verno));if(!u)throw new so.MissingAPI;u.onerror=lK(o),u.onblocked=sX(e._fireOnBlocked),u.onupgradeneeded=sX(t=>{if(s=u.transaction,r.autoSchema&&!e._options.allowEmptyDB){u.onerror=lz,s.abort(),u.result.close();let e=n.deleteDatabase(a);e.onsuccess=e.onerror=sX(()=>{o(new so.NoSuchDatabase(`Database ${a} doesnt exist`))})}else{let r,n,a,p;s.onerror=lK(o);var i,c,d=t.oldVersion>0x4000000000000000?0:t.oldVersion;l=d<1,e._novip.idbdb=u.result,i=d/10,c=s,r=e._dbSchema,(n=e._createTransaction("readwrite",e._storeNames,r)).create(c),n._completion.catch(o),a=n._reject.bind(n),p=sT.transless||sT,s3(()=>{sT.trans=n,sT.transless=p,0===i?(a_(r).forEach(e=>{l8(c,e,r[e].primKey,r[e].indexes)}),l2(e,c),sM.follow(()=>e.on.populate.fire(n)).catch(a)):(function({_novip:e},t,r,n){let o=[],i=e._versions,a=e._dbSchema=ut(e,e.idbdb,n),s=!1;return i.filter(e=>e._cfg.version>=t).forEach(i=>{o.push(()=>{let o=a,l=i._cfg.dbschema;ur(e,o,n),ur(e,l,n),a=e._dbSchema=l;let u=l9(o,l);u.add.forEach(e=>{l8(n,e[0],e[1].primKey,e[1].indexes)}),u.change.forEach(e=>{if(e.recreate)throw new so.Upgrade("Not yet support for changing primary key");{let t=n.objectStore(e.name);e.add.forEach(e=>ue(t,e)),e.change.forEach(e=>{t.deleteIndex(e.name),ue(t,e)}),e.del.forEach(e=>t.deleteIndex(e))}});let c=i._cfg.contentUpgrade;if(c&&i._cfg.version>t){let t;l2(e,n),r._memoizedTables={},s=!0;let i=aV(l);u.del.forEach(e=>{i[e]=o[e]}),l6(e,[e.Transaction.prototype]),l5(e,[e.Transaction.prototype],a_(i),i),r.schema=i;let a=a0(c);a&&s2();let d=sM.follow(()=>{if((t=c(r))&&a){var e=s5.bind(null,null);t.then(e,e)}});return t&&"function"==typeof t.then?sM.resolve(t):d.then(()=>t)}}),o.push(t=>{var n;s&&lf||(n=i._cfg.dbschema,[].slice.call(t.db.objectStoreNames).forEach(e=>null==n[e]&&t.db.deleteObjectStore(e))),l6(e,[e.Transaction.prototype]),l5(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),r.schema=e._dbSchema})}),(function e(){return o.length?sM.resolve(o.shift()(r.idbtrans)).then(e):sM.resolve()})().then(()=>{var e;a_(e=a).forEach(t=>{n.db.objectStoreNames.contains(t)||l8(n,t,e[t].primKey,e[t].indexes)})})})(e,i,n,c).catch(a)})}},o),u.onsuccess=sX(()=>{s=null;let n=e._novip.idbdb=u.result,o=aA(n.objectStoreNames);if(o.length>0)try{let t,i=n.transaction(1===o.length?o[0]:o,"readonly");r.autoSchema?function({_novip:e},t,r){e.verno=t.version/10;let n=e._dbSchema=ut(0,t,r);e._storeNames=aA(t.objectStoreNames,0),l5(e,[e._allTables],a_(n),n)}(e,n,i):(ur(e,e._dbSchema,i),((t=l9(ut(0,e.idbdb,i),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.")),l2(e,i)}catch(e){}lp.push(e),n.onversionchange=sX(t=>{r.vcFired=!0,e.on("versionchange").fire(t)}),n.onclose=sX(t=>{e.on("close").fire(t)}),l&&function({indexedDB:e,IDBKeyRange:t},r){ui(e)||r===lm||uo(e,t).put({name:r}).catch(ss)}(e._deps,a),t()},o)}).catch(e=>e&&"UnknownError"===e.name&&r.PR1398_maxLoop>0?(r.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),u()):sM.reject(e));return sM.race([o,("u"<typeof navigator?sM.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(u)]).then(()=>(i(),r.onReadyBeingFired=[],sM.resolve(ua(()=>e.on.ready.fire(e.vip))).then(function t(){if(r.onReadyBeingFired.length>0){let n=r.onReadyBeingFired.reduce(sm,ss);return r.onReadyBeingFired=[],sM.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 o===r.openCanceller&&e._close(),la(t)}).finally(()=>{r.openComplete=!0,a()})}(this)}_close(){let e=this._state,t=lp.indexOf(this);if(t>=0&&lp.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new sM(t=>{e.dbReadyResolve=t}),e.openCanceller=new sM((t,r)=>{e.cancelOpen=r})}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new so.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new sM((r,n)=>{let o=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=sX(()=>{!function({indexedDB:e,IDBKeyRange:t},r){ui(e)||r===lm||uo(e,t).delete(r).catch(ss)}(this._deps,this.name),r()}),e.onerror=lK(n),e.onblocked=this._fireOnBlocked};if(e)throw new so.InvalidArgument("Arguments not allowed in db.delete()");t.isBeingOpened?t.dbReadyPromise.then(o):o()})}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 a_(this._allTables).map(e=>this._allTables[e])}transaction(){let e=ul.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,r){let n,o,i=sT.trans;i&&i.db===this&&-1===e.indexOf("!")||(i=null);let a=-1!==e.indexOf("?");e=e.replace("!","").replace("?","");try{if(o=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===ly)n=ly;else{if("rw"!=e&&e!=lg)throw new so.InvalidArgument("Invalid transaction mode: "+e);n=lg}if(i){if(i.mode===ly&&n===lg){if(!a)throw new so.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");i=null}i&&o.forEach(e=>{if(i&&-1===i.storeNames.indexOf(e)){if(!a)throw new so.SubTransaction("Table "+e+" not included in parent transaction.");i=null}}),a&&i&&!i.active&&(i=null)}}catch(e){return i?i._promise(null,(t,r)=>{r(e)}):la(e)}let s=(function e(t,r,n,o,i){return sM.resolve().then(()=>{let a,s=sT.transless||sT,l=t._createTransaction(r,n,t._dbSchema,o);if(o)l.idbtrans=o.idbtrans;else try{l.create(),t._state.PR1398_maxLoop=3}catch(o){return o.name===sn.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,i))):la(o)}let u=a0(i);u&&s2();let c=sM.follow(()=>{if(a=i.call(l,l))if(u){var e=s5.bind(null,null);a.then(e,e)}else"function"==typeof a.next&&"function"==typeof a.throw&&(a=us(a))},{trans:l,transless:s});return(a&&"function"==typeof a.then?sM.resolve(a).then(e=>l.active?e:la(new so.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))):c.then(()=>a)).then(e=>(o&&l._resolve(),l._completion.then(()=>e))).catch(e=>(l._reject(e),la(e)))})}).bind(null,this,n,o,i,r);return i?i._promise(n,s,"lock"):sT.trans?lt(sT.transless,()=>this._whenReady(s)):this._whenReady(s)}table(e){if(!aP(this._allTables,e))throw new so.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}}let uS="u">typeof Symbol&&"observable"in Symbol?Symbol.observable:"@@observable";class uO{constructor(e){this._subscribe=e}subscribe(e,t,r){return this._subscribe(e&&"function"!=typeof e?e:{next:e,error:t,complete:r})}[uS](){return this}}function uP(e,t){return a_(t).forEach(r=>{ub(e[r]||(e[r]=new uy),t[r])}),e}try{i={indexedDB:aw.indexedDB||aw.mozIndexedDB||aw.webkitIndexedDB||aw.msIndexedDB,IDBKeyRange:aw.IDBKeyRange||aw.webkitIDBKeyRange}}catch(e){i={indexedDB:null,IDBKeyRange:null}}function uD(e){let t=uk;try{uk=!0,lq.storagemutated.fire(e)}finally{uk=t}}aD(uE,{...sa,delete:e=>new uE(e,{addons:[]}).delete(),exists:e=>new uE(e,{addons:[]}).open().then(e=>(e.close(),!0)).catch("NoSuchDatabaseError",()=>!1),getDatabaseNames(e){try{return(function({indexedDB:e,IDBKeyRange:t}){return ui(e)?Promise.resolve(e.databases()).then(e=>e.map(e=>e.name).filter(e=>e!==lm)):uo(e,t).toCollection().primaryKeys()})(uE.dependencies).then(e)}catch(e){return la(new so.MissingAPI)}},defineClass:()=>function(e){aE(this,e)},ignoreTransaction:e=>sT.trans?lt(sT.transless,e):e(),vip:ua,async:function(e){return function(){try{var t=us(e.apply(this,arguments));return t&&"function"==typeof t.then?t:sM.resolve(t)}catch(e){return la(e)}}},spawn:function(e,t,r){try{var n=us(e.apply(r,t||[]));return n&&"function"==typeof n.then?n:sM.resolve(n)}catch(e){return la(e)}},currentTransaction:{get:()=>sT.trans||null},waitFor:function(e,t){let r=sM.resolve("function"==typeof e?uE.ignoreTransaction(e):e).timeout(t||6e4);return sT.trans?sT.trans.waitFor(r):r},Promise:sM,debug:{get:()=>a1,set:e=>{a1=e,a4="dexie"===e?()=>!0:lh}},derive:aj,extend:aE,props:aD,override:a$,Events:lx,on:lq,liveQuery:function(e){let t,r=!1,n=new uO(n=>{let o=a0(e),i=!1,a={},s={},l={get closed(){return i},unsubscribe:()=>{i=!0,lq.storagemutated.unsubscribe(p)}};n.start&&n.start(l);let u=!1,c=!1;function d(){return a_(s).some(e=>a[e]&&function(e,t){let r=uv(t),n=r.next();if(n.done)return!1;let o=n.value,i=uv(e),a=i.next(o.from),s=a.value;for(;!n.done&&!a.done;){if(0>=lR(s.from,o.to)&&lR(s.to,o.from)>=0)return!0;0>lR(o.from,s.from)?o=(n=r.next(s.from)).value:s=(a=i.next(o.from)).value}return!1}(a[e],s[e]))}let p=e=>{uP(a,e),d()&&f()},f=()=>{let h,m;if(u||i)return;a={};let y={},g=(o&&s2(),h=()=>s3(e,{subscr:y,trans:null}),m=sT.trans?lt(sT.transless,h):h(),o&&m.then(s5,s5),m);c||(lq(lH,p),c=!0),u=!0,Promise.resolve(g).then(e=>{r=!0,t=e,u=!1,i||(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:uP,getByKeyPath:aF,setByKeyPath:aB,delByKeyPath:function(e,t){"string"==typeof t?aB(e,t,void 0):"length"in t&&[].map.call(t,function(t){aB(e,t,void 0)})},shallowClone:aV,deepClone:aG,getObjectDiff:ud,cmp:lR,asap:aM,minKey:lu,addons:[],connections:lp,errnames:sn,dependencies:i,semVer:ls,version:ls.split(".").map(e=>parseInt(e)).reduce((e,t,r)=>e+t/Math.pow(10,2*r))}),uE.maxKey=lQ(uE.dependencies.IDBKeyRange),"u">typeof dispatchEvent&&"u">typeof addEventListener&&(lq(lH,e=>{if(!uk){let t;lf?(t=document.createEvent("CustomEvent")).initCustomEvent(lG,!0,!0,e):t=new CustomEvent(lG,{detail:e}),uk=!0,dispatchEvent(t),uk=!1}}),addEventListener(lG,({detail:e})=>{uk||uD(e)}));let uk=!1;if("u">typeof BroadcastChannel){let e=new BroadcastChannel(lG);"function"==typeof e.unref&&e.unref(),lq(lH,t=>{uk||e.postMessage(t)}),e.onmessage=e=>{e.data&&uD(e.data)}}else if("u">typeof self&&"u">typeof navigator){lq(lH,e=>{try{uk||("u">typeof localStorage&&localStorage.setItem(lG,JSON.stringify({trig:Math.random(),changedParts:e})),"object"==typeof self.clients&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach(t=>t.postMessage({type:lG,changedParts:e})))}catch(e){}}),"u">typeof addEventListener&&addEventListener("storage",e=>{if(e.key===lG){let t=JSON.parse(e.newValue);t&&uD(t.changedParts)}});let e=self.document&&navigator.serviceWorker;e&&e.addEventListener("message",function({data:e}){e&&e.type===lG&&uD(e.changedParts)})}function uC(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}sM.rejectionMapper=function(e,t){if(!e||e instanceof a8||e instanceof TypeError||e instanceof SyntaxError||!e.name||!si[e.name])return e;var r=new si[e.name](t||e.message,e);return"stack"in e&&aC(r,"stack",{get:function(){return this.inner.stack}}),r},a4=lh;class uj extends uE{constructor(){super("EsmOffline"),uC(this,"syncQueue",void 0),uC(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 uR(){return new uj}let uN=new uj,uT={},uA=G("offline-synchronization",{});function u$(){return uA}async function uI(){if(uA.getState().synchronization)return;let e=await uN.syncQueue.count(),t={},r=Object.entries(uT),n=r.length,o={},i=new AbortController,a=()=>{let e=uA.getState().synchronization;uA.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{uA.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});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)&&(o[n]={},await Promise.all(l),t[n]=uM(s,o,i,a),r.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{uA.setState({synchronization:void 0})}}async function uM({type:e,dependsOn:t,process:r},n,o,i){let a=[],s=[],l=await uL();await uN.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 i=await r(d,{abort:o,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]=i),await uN.syncQueue.delete(c)}catch(e){await uN.syncQueue.update(c,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function uL(){let e=await of();return e?.uuid||"*"}async function uF(e,t,r,n){let o=n&&n.id;return void 0!==o&&await uN.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===o).delete().catch(uE.errnames.DatabaseClosed),await uN.syncQueue.add({type:t,content:r,userId:e,descriptor:n||{},createdOn:new Date}).catch(uE.errnames.DatabaseClosed,()=>-1)}async function uB(e,t,r){let n=await uL();return await uF(n,e,t,r)}async function uV(e,t){return(await uW(e,t)).map(e=>e.content)}async function uW(e,t){return await uN.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(uE.errnames.DatabaseClosed,()=>[])}async function uU(e){let t=await uL();return await uV(t,e)}async function uK(e){let t=await uL();return await uW(t,e)}async function uz(e){return await uN.syncQueue.get(e).catch(uE.errnames.DatabaseClosed,()=>void 0)}function uH(e){return!!uT[e]?.options.onBeginEditSyncItem}async function uG(e){let t=await uz(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let r=uT[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 uq(e){await uN.syncQueue.delete(e).catch(uE.errnames.DatabaseClosed)}function uZ(e,t,r,n={}){uT[e]={type:e,dependsOn:t,process:r,options:n}}let uX="u">typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),uY=new Uint8Array(16),uJ=[];for(let e=0;e<256;++e)uJ.push((e+256).toString(16).slice(1));let uQ=function(e,t,r){if(uX&&!t&&!e)return uX();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(uY)})();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 uJ[e[t+0]]+uJ[e[t+1]]+uJ[e[t+2]]+uJ[e[t+3]]+"-"+uJ[e[t+4]]+uJ[e[t+5]]+"-"+uJ[e[t+6]]+uJ[e[t+7]]+"-"+uJ[e[t+8]]+uJ[e[t+9]]+"-"+uJ[e[t+10]]+uJ[e[t+11]]+uJ[e[t+12]]+uJ[e[t+13]]+uJ[e[t+14]]+uJ[e[t+15]]}(n)},u0="OFFLINE+";function u1(){return u0+uQ()}function u4(e){return e.startsWith(u0)}let u3={};function u2(){return Object.values(u3)}function u5(e){u3[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.`),u3[e.id]=e}async function u6(e){let t=await co();return await u7(t,e)}async function u7(e,t){let r=new uj;return await r.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(uE.errnames.DatabaseClosed,()=>[])}async function u9(e,t){let r=await co();return await u8(r,e,t)}async function u8(e,t,r){let n=new uj,o=await n.dynamicOfflineData.get({type:t,identifier:r}).catch(uE.errnames.DatabaseClosed,()=>void 0);o?o.users.includes(e)||await n.dynamicOfflineData.update(o.id,{users:[...o.users,e]}).catch(uE.errnames.DatabaseClosed):await n.dynamicOfflineData.add({users:[e],type:t,identifier:r}).catch(uE.errnames.DatabaseClosed)}async function ce(e,t){let r=await co();return await ct(r,e,t)}async function ct(e,t,r){let n=new uj,o=await n.dynamicOfflineData.get({type:t,identifier:r,users:e}).catch(uE.errnames.DatabaseClosed,()=>void 0);o&&(o.users.length>1?await n.dynamicOfflineData.update(o.id,{users:o.users.filter(t=>t!==e)}).catch(uE.errnames.DatabaseClosed):await n.dynamicOfflineData.delete(o.id).catch(uE.errnames.DatabaseClosed))}async function cr(e,t){let r=await u6(e);await Promise.all(r.map(async e=>cn(e.type,e.identifier,t)))}async function cn(e,t,r){await u9(e,t);let n=new uj,o=await co(),i=await n.dynamicOfflineData.get({type:e,identifier:t}).catch(uE.errnames.DatabaseClosed,()=>void 0),a=u2().filter(t=>t.type===e);if(!i)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:o,succeededHandlers:l,erroredHandlers:u,errors:c};i.id&&await n.dynamicOfflineData.update(i.id,{syncState:d}).catch(uE.errnames.DatabaseClosed)}async function co(){let e=(await of()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let ci=G("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function ca(){return cu(),ci}function cs(e,t){cu(),u5({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 cl(e){cu(),await cn("patient",e)}function cu(){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 cc(e,t,r=!0){if(e){let n=null,[o,i]=await Promise.all([or(`${n8}/Patient/${e}`,t).catch(e=>n=e),r?cd(e):Promise.resolve(null)]);if(o.ok)return o.data;if(i)return i;if(n)throw n}return null}async function cd(e){let t=(await uU("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function cp(e,t){let r=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(r)}function cf(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 ch=r(9549);function cm(e){return{uuid:e.uuid,display:e.display}}function cy(e=null,t=null){let r=new URLSearchParams;e&&r.set("tag",e),t&&r.set("q",t);let n=r.toString();return on(`${n9}/location${n?"?"+n:""}`).pipe((0,ch.map)(e=>e.data.results.map(cm))).pipe((0,ch.take)(1))}function cg(e){return{uuid:e.uuid,display:e.display,name:e.name}}function cb(){return on(`${n9}/visittype`).pipe((0,ch.map)(e=>e.data.results.map(cg))).pipe((0,ch.take)(1))}var cv=function(){function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e}(),cw=function(e){function t(t,r){var n=e.call(this)||this;return n.subject=t,n.subscriber=r,n.closed=!1,n}return ei(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var r=t.indexOf(this.subscriber);-1!==r&&t.splice(r,1)}}},t}(ef),c_=function(e){function t(t){var r=e.call(this,t)||this;return r.destination=t,r}return ei(t,e),t}(ey),cx=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return ei(t,e),t.prototype[em]=function(){return new c_(this)},t.prototype.lift=function(e){var t=new cE(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new cv;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new cv;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,r=t.length,n=t.slice(),o=0;o<r;o++)n[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new cv;this.isStopped=!0;for(var e=this.observers,t=e.length,r=e.slice(),n=0;n<t;n++)r[n].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(!this.closed)return e.prototype._trySubscribe.call(this,t);throw new cv},t.prototype._subscribe=function(e){if(this.closed)throw new cv;return this.hasError?(e.error(this.thrownError),ef.EMPTY):this.isStopped?(e.complete(),ef.EMPTY):(this.observers.push(e),new cw(this,e))},t.prototype.asObservable=function(){var e=new ev;return e.source=this,e},t.create=function(e,t){return new cE(e,t)},t}(ev),cE=function(e){function t(t,r){var n=e.call(this)||this;return n.destination=t,n.source=r,n}return ei(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):ef.EMPTY},t}(cx),cS=function(e){function t(t){var r=e.call(this)||this;return r._value=t,r}return ei(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var r=e.prototype._subscribe.call(this,t);return r&&!r.closed&&t.next(this._value),r},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(!this.closed)return this._value;throw new cv},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(cx),cO=((ee={}).NEWVISIT="startVisit",ee.EDITVISIT="editVisit",ee.LOADING="loadingVisit",ee),cP=((et={}).NOTSTARTED="notStarted",et.ONGOING="ongoing",et);let cD="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))",ck=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function cC(){return Z("visit",ck)}function cj(e,t){cC().setState({patientUuid:e,manuallySetVisitUuid:t})}function cR(e,t){return or(`${n9}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function cN(e,t,r){return or(`${n9}/visit/${e}`,{signal:r.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function cT(e,t,r){return or(`${n9}/visit?patient=${e}&v=${r??cD}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}cC().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let cA=new cS(null);class c${static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+c$.version}static addUnaryOp(e){return c$.max_unop_len=Math.max(e.length,c$.max_unop_len),c$.unary_ops[e]=1,c$}static addBinaryOp(e,t,r){return c$.max_binop_len=Math.max(e.length,c$.max_binop_len),c$.binary_ops[e]=t,r?c$.right_associative.add(e):c$.right_associative.delete(e),c$}static addIdentifierChar(e){return c$.additional_identifier_chars.add(e),c$}static addLiteral(e,t){return c$.literals[e]=t,c$}static removeUnaryOp(e){return delete c$.unary_ops[e],e.length===c$.max_unop_len&&(c$.max_unop_len=c$.getMaxKeyLen(c$.unary_ops)),c$}static removeAllUnaryOps(){return c$.unary_ops={},c$.max_unop_len=0,c$}static removeIdentifierChar(e){return c$.additional_identifier_chars.delete(e),c$}static removeBinaryOp(e){return delete c$.binary_ops[e],e.length===c$.max_binop_len&&(c$.max_binop_len=c$.getMaxKeyLen(c$.binary_ops)),c$.right_associative.delete(e),c$}static removeAllBinaryOps(){return c$.binary_ops={},c$.max_binop_len=0,c$}static removeLiteral(e){return delete c$.literals[e],c$}static removeAllLiterals(){return c$.literals={},c$}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 c$(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 c$.binary_ops[e]||0}static isIdentifierStart(e){return e>=65&&e<=90||e>=97&&e<=122||e>=128&&!c$.binary_ops[String.fromCharCode(e)]||c$.additional_identifier_chars.has(String.fromCharCode(e))}static isIdentifierPart(e){return c$.isIdentifierStart(e)||c$.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(c$.hooks[e]){let r={context:this,node:t};return c$.hooks.run(e,r),r.node}return t}searchHook(e){if(c$.hooks[e]){let t={context:this};return c$.hooks[e].find(function(e){return e.call(t.context,t),t.node}),t.node}}gobbleSpaces(){let e=this.code;for(;e===c$.SPACE_CODE||e===c$.TAB_CODE||e===c$.LF_CODE||e===c$.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:c$.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)===c$.SEMCOL_CODE||r===c$.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,c$.max_binop_len),t=e.length;for(;t>0;){if(c$.binary_ops.hasOwnProperty(e)&&(!c$.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!c$.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,o,i,a,s,l;if(!(i=this.gobbleToken())||!(t=this.gobbleBinaryOp()))return i;for(o={value:t,prec:c$.binaryPrecedence(t),right_a:c$.right_associative.has(t)},(a=this.gobbleToken())||this.throwError("Expected expression after "+t),n=[i,o,a];t=this.gobbleBinaryOp();){if(0===(r=c$.binaryPrecedence(t))){this.index-=t.length;break}o={value:t,prec:r,right_a:c$.right_associative.has(t)},l=t;let s=e=>o.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,i=n.pop(),e={type:c$.BINARY_EXP,operator:t,left:i,right:a},n.push(e);(e=this.gobbleToken())||this.throwError("Expected expression after "+l),n.push(o,e)}for(s=n.length-1,e=n[s];s>1;)e={type:c$.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,c$.isDecimalDigit(e)||e===c$.PERIOD_CODE)return this.gobbleNumericLiteral();if(e===c$.SQUOTE_CODE||e===c$.DQUOTE_CODE)n=this.gobbleStringLiteral();else if(e===c$.OBRACK_CODE)n=this.gobbleArray();else{for(r=(t=this.expr.substr(this.index,c$.max_unop_len)).length;r>0;){if(c$.unary_ops.hasOwnProperty(t)&&(!c$.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!c$.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:c$.UNARY_EXP,operator:t,argument:e,prefix:!0})}t=t.substr(0,--r)}c$.isIdentifierStart(e)?(n=this.gobbleIdentifier(),c$.literals.hasOwnProperty(n.name)?n={type:c$.LITERAL,value:c$.literals[n.name],raw:n.name}:n.name===c$.this_str&&(n={type:c$.THIS_EXP})):e===c$.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===c$.PERIOD_CODE||t===c$.OBRACK_CODE||t===c$.OPAREN_CODE||t===c$.QUMARK_CODE;){let r;if(t===c$.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==c$.PERIOD_CODE)break;r=!0,this.index+=2,this.gobbleSpaces(),t=this.code}this.index++,t===c$.OBRACK_CODE?((e={type:c$.MEMBER_EXP,computed:!0,object:e,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),(t=this.code)!==c$.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):t===c$.OPAREN_CODE?e={type:c$.CALL_EXP,arguments:this.gobbleArguments(c$.CPAREN_CODE),callee:e}:(t===c$.PERIOD_CODE||r)&&(r&&this.index--,this.gobbleSpaces(),e={type:c$.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(;c$.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);if(this.code===c$.PERIOD_CODE)for(e+=this.expr.charAt(this.index++);c$.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++));c$.isDecimalDigit(this.code);)e+=this.expr.charAt(this.index++);c$.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+e+this.char+")")}return r=this.code,c$.isIdentifierStart(r)?this.throwError("Variable names cannot start with a number ("+e+this.char+")"):(r===c$.PERIOD_CODE||1===e.length&&e.charCodeAt(0)===c$.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:c$.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:c$.LITERAL,value:e,raw:this.expr.substring(t,this.index)}}gobbleIdentifier(){let e=this.code,t=this.index;for(c$.isIdentifierStart(e)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length;)if(e=this.code,c$.isIdentifierPart(e))this.index++;else break;return{type:c$.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 o=this.code;if(o===e){r=!0,this.index++,e===c$.CPAREN_CODE&&n&&n>=t.length&&this.throwError("Unexpected token "+String.fromCharCode(e));break}if(o===c$.COMMA_CODE){if(this.index++,++n!==t.length){if(e===c$.CPAREN_CODE)this.throwError("Unexpected token ,");else if(e===c$.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!==c$.COMPOUND||this.throwError("Expected comma"),t.push(e)}}return r||this.throwError("Expected "+String.fromCharCode(e)),t}gobbleGroup(){this.index++;let e=this.gobbleExpressions(c$.CPAREN_CODE);if(this.code===c$.CPAREN_CODE)return(this.index++,1===e.length)?e[0]:!!e.length&&{type:c$.SEQUENCE_EXP,expressions:e};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:c$.ARRAY_EXP,elements:this.gobbleArguments(c$.CBRACK_CODE)}}}Object.assign(c$,{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)})}}(c$),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"}),c$.max_unop_len=c$.getMaxKeyLen(c$.unary_ops),c$.max_binop_len=c$.getMaxKeyLen(c$.binary_ops);let cI=e=>new c$(e).parse(),cM=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(c$).filter(e=>!cM.includes(e)&&void 0===cI[e]).forEach(e=>{cI[e]=c$[e]}),cI.Jsep=c$,cI.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 o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},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 cL="ArrowFunctionExpression",cF={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)}},cB={...cF,Promise};function cV(e,t={}){return cG(e,t,cX)}async function cW(e,t={}){return cq(e,t,cX)}function cU(e,t={}){return cG(e,t,cY)}function cK(e,t={}){return cq(e,t,cY)}function cz(e,t={}){return cG(e,t,cJ)}function cH(e,t={}){return cq(e,t,cJ)}function cG(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=c3(t,cF),o=cQ("string"==typeof e?cI(e):e,n);if(r(o))return o;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 cq(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=c3(t,cB);return Promise.resolve(cQ("string"==typeof e?cI(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 cZ(e){return cI(e)}function cX(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function cY(e){return"boolean"==typeof e}function cJ(e){return"number"==typeof e}function cQ(e,t){switch(e.type){case"UnaryExpression":var r,n,o,i,a,s,l,u,c,d,p,f,h,m=e,y=t;let g=cQ(m.argument,y);switch(m.operator){case"+":return+g;case"-":return-g;case"~":return~g;case"!":return!g;default:throw`Expression evaluator does not support operator '${m.operator}''`}case"BinaryExpression":var b=e,v=t;switch(b.operator){case"&&":return cQ(b.left,v)&&cQ(b.right,v);case"||":return cQ(b.left,v)||cQ(b.right,v);case"??":return cQ(b.left,v)??cQ(b.right,v)}let w=cQ(b.left,v),x=cQ(b.right,v);switch(b.operator){case"+":return w+x;case"-":return w-x;case"*":return w*x;case"/":return w/x;case"%":return w%x;case"**":return w**x;case"==":return w==x;case"===":return w===x;case"!=":return w!=x;case"!==":return w!==x;case">":return w>x;case">=":return w>=x;case"<":return w<x;case"<=":return w<=x;case"in":return w in x;default:throw`Expression evaluator does not support operator '${b.operator}' operator`}case"ConditionalExpression":return r=e,n=t,cQ(r.test,n)?cQ(r.consequent,n):cQ(r.alternate,n);case"CallExpression":return c6(c1(e,t));case"ArrowFunctionExpression":let E;return o=e,i=t,E=o.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<E.length)throw`Required argument(s) ${E.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(E.reduce((t,r,n)=>{let o=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}(o)&&t.push([r,o]),t},[]));return cQ(o.body,i.addVariables(t))}).bind(null);case"MemberExpression":return c6(c4(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(c7(s));case"SequenceExpression":let S;return l=e,u=t,(S=l.expressions.map(c7(u)))[S.length-1];case"NewExpression":var O=e,P=t;if(O.callee&&"Identifier"===O.callee.type){let e=O.arguments?.map(c7(P));switch(O.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${O.callee.name}`}}if(O.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return c=e,d=t,(c9(c.name),d.variables&&Object.hasOwn(d.variables,c.name))?d.variables[c.name]:Object.hasOwn(d.globals,c.name)?d.globals[c.name]:void 0;case"TemplateLiteral":let D,k;return p=e,f=t,D=p.expressions?.map(c7(f))??[],(k=p.quasis?.map(c7(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+D.join("")+k.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(h=e).cooked,tail:h.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function c0(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return c0(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function c1(e,t){let r=c5(e.callee,t);if(r===c2||e.optional&&null==r)return c2;let n=e.arguments?.map(c7(t));if(r){if("function"!=typeof r)throw`${dt(e.callee)} is not a function`}else throw`No function named ${dt(e.callee)} is defined in this context`;return r(...n)}function c4(e,t){let r=c5(e.object,t);if(r===c2||e.optional&&null==r)return c2;if(null===r)throw TypeError(`TypeError: cannot read properties of null (reading '${de(e.property,t)}')`);if(void 0===r)switch(e.object.type){case"Identifier":{let r=c0(e.object,t);throw ReferenceError(`ReferenceError: ${r} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${de(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof r&&"function"!=typeof r&&"string"!=typeof r&&"number"!=typeof r)throw`VisitMemberExpression does not support member access on type ${typeof r}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(cQ(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);c9(n),function(e,t){if(c8.has(String(t)))return;let r=Object(e);for(;null!==r;){if(Object.hasOwn(r,t)){if(r===Object.prototype||r===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}r=Object.getPrototypeOf(r)}}(r,n);let o=r[n];return"function"==typeof o?o.bind(r):o}function c3(e,t){let r={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return r.addVariables.bind(r),r}cI.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:cL,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=cL,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)})}}),cI.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"}})}}),cI.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="",o=()=>{for(;e.isDecimalDigit(this.code)||95===this.code;)95===this.code?this.index++:n+=this.expr.charAt(this.index++)};o(),this.code===e.PERIOD_CODE&&(n+=this.expr.charAt(this.index++),o());let i=this.char;("e"===i||"E"===i)&&(n+=this.expr.charAt(this.index++),("+"===(i=this.char)||"-"===i)&&(n+=this.expr.charAt(this.index++)),o(),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 o,i,a;let s=this.index,l=this.expr.charAt(this.index+1),u=t.call(this,l);if(!u)return;let c="";for(;o=this.code,i=u,95===o||i.some(([e,t])=>o>=e&&o<=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)})}}),cI.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,o=this.expr.slice(r,this.index),i="";for(;++this.index<this.expr.length;){let e=this.code;if(e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57)i+=this.char;else break}try{n=new RegExp(o,i)}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")}})}}),cI.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 o=this.gobbleExpression();if(o||this.throwError("Expected expression"),t.node={type:"ConditionalExpression",test:r,consequent:n,alternate:o},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 :")}})}}),cI.plugins.register({name:"jsepTemplateLiteral",init(e){function t(e,r=!0){if(96===this.code){let t={type:"TemplateLiteral",quasis:[],expressions:[]},n="",o="",i=!1,a=this.expr.length,s=()=>t.quasis.push({type:"TemplateElement",value:{raw:o,cooked:n},tail:i});for(;this.index<a;){let a=this.expr.charAt(++this.index);if("`"===a)return this.index+=1,i=!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(),o="",n="",t.expressions.push(...this.gobbleExpressions(125)),125!==this.code&&this.throwError("unclosed ${");else if("\\"===a)switch(o+=a,a=this.expr.charAt(++this.index),o+=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,o+=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})}}),cI.addBinaryOp("in",7),cI.addBinaryOp("??",1);let c2=Symbol("optional chain short-circuited");function c5(e,t){switch(e.type){case"MemberExpression":return c4(e,t);case"CallExpression":return c1(e,t);default:return cQ(e,t)}}function c6(e){return e===c2?void 0:e}function c7(e){return function(t){return null===t?null:cQ(t,e)}}function c9(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let c8=new Set(["toString","valueOf","hasOwnProperty"]);function de(e,t){try{return c0(e,t)}catch{return"<computed>"}}function dt(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function dr(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:{...cB},isLocalExpression:!1,variables:new Set};return dn("string"==typeof e?cI(e):e,t),[...t.variables]}function dn(e,t){switch(e.type){case"UnaryExpression":return n=e,o=t,dn(n.argument,o);case"BinaryExpression":return i=e,a=t,[dn(i.left,a),dn(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[dn(s.consequent,l),dn(s.test,l),dn(s.alternate,l)].filter(Boolean);case"CallExpression":let r;return u=e,c=t,r=dn(u.callee,c),u.arguments?.map(di(c)),r;case"ArrowFunctionExpression":var n,o,i,a,s,l,u,c,d,p,f,h,m,y,g,b,v=e,w=t;let x={...w};x.isLocalExpression=!0;let E=v.params?.map(di(x))??[],S=dn(v.body,x)??[];if(S&&Array.isArray(S))for(let e of S)E.includes(e)||w.variables.add(e);return;case"MemberExpression":var O=e,P=t;if(dn(O.object,P),O.computed)return void dn(O.property,P);let D={...P};D.isLocalExpression=!0,dn(O.property,D);return;case"ArrayExpression":return d=e,p=t,void d.elements?.map(di(p));case"SequenceExpression":return f=e,h=t,void f.expressions?.map(di(h));case"NewExpression":return m=e,y=t,void m.arguments?.map(di(y));case"Literal":case"TemplateElement":return;case"Identifier":var k=e,C=t;if(!(k.name in C.globals))if(C.isLocalExpression)return k.name;else C.variables.add(k.name);return;case"TemplateLiteral":return g=e,b=t,void(g.expressions?.map(di(b)),g.quasis?.map(di(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function di(e){return function(t){return null===t?null:dn(t,e)}}let da=Z("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 ds(e,t,r){da.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:r}}}))}function dl(){let e=da.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 du(e){return da.getState().flags[e].enabled}function dc(e,t){da.subscribe(r=>{t(r.flags[e].enabled)})}function dd(e,t){da.setState(r=>({flags:{...r.flags,[e]:{...r.flags[e],enabled:t}}}))}function dp(e){return!window.offlineEnabled||(e??navigator.onLine)}da.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 df=eZ(function(e,t,r){eU(e,t,r)});function dh(e=!0,t=!1){return dm(dp(),e,t)}function dm(e,t=!0,r=!1){return!!(e?t:r)}let dy=G("extensionsInternal",{slots:{},extensions:{}}),dg=G("extensionRenderings",{renderings:new Map}),db=()=>Z("extensionsInternal",{slots:{},extensions:{}}),dv=()=>Z("extensionRenderings",{renderings:new Map});function dw(e){let t=dy.getState(),r=e(t);r!==t&&dy.setState(r)}let d_=null,dx=null;function dE(){let e=dg.getState();return d_&&e===dx||(d_=new Map(e.renderings),dx=e,function(e){for(let t of(dT.clear(),e.values()))d$(t,1);dA=!0}(d_)),d_}function dS(e){dx={renderings:e},dg.setState(dx,!0)}function dO(e){let t=dE();t.has(e.renderingId)||(t.set(e.renderingId,e),d$(e,1),dS(t))}function dP(e){let t=dE(),r=t.get(e);r&&(t.delete(e),d$(r,-1),dS(t))}let dD=()=>Z("extensions",{slots:{}}),dk=0,dC=new Set;function dj(e){dk++;try{return e()}finally{if(0==--dk&&dC.size>0){let e=Array.from(dC);for(let t of(dC.clear(),e))dR(t)}}}function dR(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function dN(e){dk>0?dC.add(e):dR(e)}let dT=new Map,dA=!1;function d$(e,t){let r=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=dT.get(r);if(!n){if(t<0)return;dT.set(r,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),dA=!0;return}n.count+=t,n.count<1&&(dT.delete(r),dA=!0)}function dI(){var e,t;if(dE(),!dA)return;dA=!1;let r=Array.from(dT.values(),({record:e})=>e);r.sort(dM),e=tw.getState().mountedExtensions,t=r,e.length===t.length&&e.every((e,r)=>0===dM(e,t[r]))||tw.setState({mountedExtensions:r})}function dM(e,t){return dL(e.slotName,t.slotName)||dL(e.extensionId,t.extensionId)||dL(e.slotModuleName,t.slotModuleName)||dL(e.extensionModuleName,t.extensionModuleName)}function dL(e,t){return e===t?0:e<t?-1:1}dI(),dg.subscribe(()=>dN(dI));let dF=db(),dB=dD(),dV=tx(),dW=tO(),dU=new Set,dK=!1;function dz(e){if(null===e)dU=null;else if(null!==dU)for(let t of e)dU.add(t);dN(dH)}function dH(){if(!dK){dK=!0;try{for(let e=1;;e++){let t=dU;if(null!==t&&0===t.size)return;dU=new Set;try{!function(e,t,r,n,o,i=null){let a=dB.getState().slots,s={},l=!1,u=dp(),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&&i&&!i.has(n)){s[n]=p;continue}let{config:f}=tS(t,d.name),h=function(e,t,r,n,o,i,a){let s=function(e,t){let r=e.add||[],n=e.remove||[],o=e.order||[],{extensions:i}=dF.getState();return[...t,...r].filter(e=>!n.includes(e)).sort((e,r)=>d3(e,o,i[dX(e)]?.order,t)-d3(r,o,i[dX(r)]?.order,t))}(r,t.slots[e].attachedIds),l=[];for(let u of s){let{config:s}=tD(n,e,u),c=tk(r,e,u),d=c?df({},s,c):s,p=dX(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||!op(e,a.user))||f.featureFlag&&!o.includes(f.featureFlag)||window.offlineEnabled&&!dm(i,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,o.session);p&&p.moduleName===d.moduleName&&ts(p.candidateExtensions,h)?s[n]=p:(s[n]={moduleName:d.moduleName,candidateExtensions:h},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&dB.setState({slots:s})}(dF.getState(),dV.getState(),dW.getState(),da.getState(),oi.getState(),t)}catch(e){throw dU=null===t||null===dU?null:new Set([...t,...dU]),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{dK=!1}}}function dG(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 dq(){dz(null)}function dZ(e,t){return{moduleName:t,name:e,attachedIds:[]}}function dX(e){let[t]=e.split("#");return t}function dY(e,t){let r=dX(t);return e.extensions[r]}function dJ(e){return dY(dF.getState(),e)}dF.subscribe((e,t)=>{dz(e.extensions!==t.extensions?null:dG(e.slots,t.slots))}),dV.subscribe((e,t)=>{dz(dG(e.slots,t.slots))}),dW.subscribe((e,t)=>{dz(dG(e.configs,t.configs))}),da.subscribe(()=>dz(null)),oi.subscribe(()=>dz(null)),dq(),y(dq);let dQ=e=>dw(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function d0(e,t){dw(r=>{let n=r.slots[e];return n?{...r,slots:{...r.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...r,slots:{...r.slots,[e]:{...dZ(e),attachedIds:[t]}}}})}function d1(e,t){dw(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 d4(e){dw(t=>{let r=t.slots[e];return r?{...t,slots:{...t.slots,[e]:{...r,attachedIds:[]}}}:t})}function d3(e,t,r,n){let o=t.indexOf(e);if(-1!==o)return o;{if(void 0!==r)return 1e3+r;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function d2(e,t){return function(e,t,r=null,n){let o;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;o??(o=t&&"object"==typeof t?{session:r,...t}:{session:r});try{return!!cU(i,o)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(d5(e),t,oi.getState().session,e)}function d5(e){return dB.getState().slots[e]?.candidateExtensions??[]}let d6=(e,t)=>dF.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 o=dZ(t,e);return{...r,slots:{...r.slots,[t]:{...o}}}}),d7=()=>{dU=null,dw(()=>({slots:{},extensions:{}})),dv().setState({renderings:new Map}),dB.setState({slots:{}})},d9=G("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function d8({name:e,basePath:t,mode:r,componentContext:n,state:o}){d9.setState({slotName:e,basePath:t,mode:r??"normal",componentContext:n,state:o})}function pe(e){d9.getState().slotName===e&&d9.setState(d9.getInitialState(),!0)}let pt=G("modalRegistry",{modals:{}});function pr(e){pt.setState(t=>(t.modals[e.name]=e,t))}function pn(e){let t=pt.getState().modals[e];if(!t){let r=dJ(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.`),pr(t))}return t}let po=G("workspaceRegistrations",{workspaces:{}}),pi=G("workspaceGroups",{workspaceGroups:{}});function pa(e){po.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 ps(e){pi.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 pl=new Set;function pu(e){let t=po.getState().workspaces;if(t[e])return t[e];{let t=dJ(e);if(t){var r;let n;return pl.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.`),pl.add(e)),{name:t.name,title:(r=t,"string"==typeof(n=r?.meta?.title)?n:n&&"object"==typeof n?it(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 pc(e){let t=pi.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let pd=G("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function pp(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 pf(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 ph(e){let{openedWindows:t}=pd.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function pm(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 py(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 pg(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 pb=0,pv=null,pw={bootstrap:15e3,mount:15e3,unmount:15e3};function p_(e,t){if(e.timeouts)return e;let r=e.name??"parcel",n=Object.fromEntries(Object.keys(pw).filter(t=>e[t]).map(n=>{var o,i;let a,s;return[n,(o=e[n],i=pw[n],a=Array.isArray(o)?o:[o],s=e=>a.reduce((t,o,i)=>t.then(()=>{let t=o(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${r} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,a=new Promise((e,t)=>{o=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${r} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(o)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function px(e,t){var r,n;let o,i,a,s,l,u=await (pv??(pv=new Promise((e,t)=>{ne({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),ne))),pv),c={...t},d=(o=c,i=!1,{retarget:e=>o={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(o),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=u((r=d.onSettled,"function"==typeof e?()=>e().then(e=>p_(e,r)):p_(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 pE(){return pS}function pS(e,t){let r,n=px(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 pO(e,t,r,n,o=e=>e,i={}){let a=dX(n),s=dJ(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(dh(d,p)){let s,d=pb++,p=`${t}/${n}-${d}`;e.dataset.extensionRenderingId=p;let h=e=>{try{dP(p)}catch(t){console.error(e,t)}};try{dO({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 px(o({...s,name:`${t}/${a}-${d}`}),{...i,_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 pP=r(7125),pD=r.n(pP);let pk=(0,pP.createContext)({moduleName:"",featureName:""});function pC({to:e,templateParams:t,onBeforeNavigate:r,children:n,...o}){return(0,pP.useEffect)(()=>{o.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${o.href}'`),o.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),pD().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),r?.(n),nJ({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:nX(e,t),...o},n)}let pj=({state:e,children:t,...r})=>{let{extension:n}=(0,pP.useContext)(pk),o=(0,pP.useRef)(null),i=(0,pP.useRef)(Promise.resolve()),a=(0,pP.useRef)(!1),s=(0,pP.useRef)(!1),l=(0,pP.useRef)(e),u=(0,pP.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),c=(0,pP.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(o.current?.getStatus()==="MOUNTED"&&o.current.update)return o.current.update({...t})}).catch(e=>{let t=o.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,pP.useCallback)(t=>{t&&!o.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,pO(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,o.current=t,a.current)?u(t):t&&l.current!==e&&c(t,l.current)},()=>{s.current=!1}))},[]);return(0,pP.useEffect)(()=>(a.current=!1,()=>{a.current=!0,u(o.current)}),[]),(0,pP.useEffect)(()=>{l.current=e,o.current&&c(o.current,e)},[e]),n?pD().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...r}):null};function pR(e){let t=(0,pP.useRef)(e);return M(t.current,e)||(t.current=e),t.current}function pN(e,t){"function"==typeof t&&(t=t(e));let r={};for(let[n,o]of Object.entries(t)){let t=function(...t){e.setState(e=>o(e,...t))};r[n]=t}return r}let pT=e=>e;function pA(e,t=pT,r){let n=(0,pP.useCallback)(t=>e.subscribe(t),[e]),o=(0,pP.useCallback)(()=>t(e.getState()),[e,t]),i=(0,pP.useSyncExternalStore)(n,o,o),a=(0,pP.useMemo)(()=>r?pN(e,r):null,[e,r]);return(0,pP.useMemo)(()=>a?{...i,...a}:i,[i,a])}function p$(e,t){return pA(e,pT,t)}function pI(e){return function(t){let r=(0,pP.useCallback)(t=>e.subscribe(t),[]),n=(0,pP.useCallback)(()=>e.getState(),[]),o=(0,pP.useSyncExternalStore)(r,n,n),i=(0,pP.useMemo)(()=>t?pN(e,t):null,[t]);return(0,pP.useMemo)(()=>i?{...o,...i}:o,[o,i])}}let pM=[];Object.freeze(pM);let pL={candidateExtensions:pM};Object.freeze(pL);let pF=e=>{let t=(0,pP.useCallback)(t=>t.slots?.[e]??pL,[e]);return pA(dD(),t)},pB=e=>e.session;function pV(e,t){let{candidateExtensions:r}=pF(e),n=pA(oi,pB),o=pR(t);return(0,pP.useMemo)(()=>d2(e,o),[e,o,n,r])}function pW(e,t){let{moduleName:r}=(0,pP.useContext)(pk);if(!r)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,pP.useEffect)(()=>{d6(r,e)},[r,e]),{extensions:pV(e,t),extensionSlotName:e,extensionSlotModuleName:r}}function pU(e){return e}function pK({name:e,extensionSlotName:t,select:r=pU,children:n,state:o,style:i,...a}){if(n&&o)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,pP.useRef)(null),{extensions:u,extensionSlotModuleName:c}=pW(s,o),d=(0,pP.useMemo)(()=>r(u),[r,u]),p=(0,pP.useMemo)(()=>{if("function"==typeof n&&!pD().isValidElement(n))return d.map(e=>n(e,o))},[n,d]);return pD().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":c,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>pD().createElement(pk.Provider,{key:e.id,value:{moduleName:c,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:c}}},p?.[t]??("function"!=typeof n?n:null)??pD().createElement(pj,{state:o}))))}var pz=r(5873);function pH(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 pG(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?pH(Object(r),!0).forEach(function(t){var n,o,i;n=e,o=t,i=r[t],o in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pH(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function pq(e){return(pq="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 pZ(e){return(pZ="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 pX(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(pZ(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(pZ(e)));return e}}var pY=null;try{pY=require("react").createContext()}catch(e){}var pJ={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 pQ(e,t){return e.rootComponent?Promise.resolve():e.loadRootComponent(t).then(function(t){e.rootComponent=t})}function p0(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 o,i=p2(e,t,function(){r(this)}),a=pX(e,t)(),s=function(e){var t=e.reactDom,r=e.renderType,n=e.elementToRender,o=e.domElement,i=t[r];if("function"!=typeof i)throw Error('renderType "'.concat(r,'" did not return a function.'));switch(r){case"createRoot":case"unstable_createRoot":case"createBlockingRoot":case"unstable_createBlockingRoot":var a=i(o);return a.render(n),a;case"hydrateRoot":return i(o,n);default:return i(n,o),null}}({elementToRender:i,domElement:a,reactDom:p3(e),renderType:"function"==typeof(o=e).renderType?o.renderType():o.renderType});e.domElements[t.name]=a,e.renderResults[t.name]=s})}function p1(e,t){return new Promise(function(r){e.unmountResolves[t.name]=r;var n=e.renderResults[t.name];n&&n.unmount?n.unmount():p3(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]})}function p4(e,t){return new Promise(function(r){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(r);var n=p2(e,t,null),o=e.renderResults[t.name];if(o&&o.render)o.render(n);else{var i=pX(e,t)();p3(e).render(n,i)}})}function p3(e){return e.ReactDOMClient||e.ReactDOM}function p2(e,t,r){var n=e.React.createElement(e.rootComponent,t),o=pY?e.React.createElement(pY.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),o=e.React.createElement(e.errorBoundaryClass,t,o)),o=e.React.createElement(e.SingleSpaRoot,pG(pG({},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])}}),o)}var p5=r(5921),p6=r(8909),p7=r.n(p6),p9=r(9106);let p8={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},fe=new Map;(0,p9.initCache)(fe);let ft={errorRetryCount:3,fetcher:or,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof oo){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>fe};function fr(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},p8,e),r={...ft,...t.swrConfig};return function(e){var n,o,i,a,s;return i=o=class extends(n=pD().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 pD().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=pD().createElement(pP.Suspense,{fallback:null},pD().createElement(p6.SWRConfig,{value:r},pD().createElement(pk.Provider,{value:this.state.config},t.disableTranslations?pD().createElement(e,this.props):pD().createElement(p5.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},pD().createElement(e,this.props)))));return t.strictMode&&pD().StrictMode?pD().createElement(pD().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 i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,o}}function fn(e,t){return function(e){if("object"!==pq(e))throw Error("single-spa-react requires a configuration object");var t,r=pG(pG({},pJ),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");!pY&&r.React.createContext&&(pY=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:pQ.bind(null,r),mount:p0.bind(null,r),unmount:p1.bind(null,r)};return r.parcelCanUpdate&&(n.update=p4.bind(null,r)),n}({React:pD(),ReactDOMClient:pz,rootComponent:fr(t)(e)})}function fo(e,t){return()=>e().then(({default:e})=>fn(e,t))}function fi(e,t){return()=>Promise.resolve(fn(e,t))}let fa=fo,fs=V()(()=>({}));q("openmrs-app-context",fs);let fl={};function fu(e,t=e=>e){let r=fs.getState();return e in r?Object.freeze(Object.assign({},t?t(r[e]):r[e])):null}function fc(e,t){fs.setState(r=>(e in r||(r[e]={}),r[e]=t(r[e]),Object.assign({},r)))}function fd(e){return null===e?null:Object.freeze(Object.assign({},e))}let fp=new Map;function ff(e,t){let r=(0,pP.useRef)(t??{}),n=(0,pP.useRef)(t=>fc(e,t)),o=(0,pP.useRef)(Symbol());return(0,pP.useEffect)(()=>{let r=t??{},n=o.current;return null===fu(e)?!function(e,t=fl){fs.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===fl?{}: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.`),fc(e,()=>r)),fp.set(e,n),()=>{fp.get(e)===n&&(fs.setState(t=>(e in t&&delete t[e],t)),fp.delete(e))}},[e]),(0,pP.useEffect)(()=>{let n=t??{};M(r.current,n)||(fc(e,()=>n),r.current=n)},[t]),n.current}function fh({namespace:e,value:t}){return ff(e,t),null}let fm=({children:e,value:t,fallback:r})=>t?pD().createElement(pD().Fragment,null,e):r?pD().createElement(pD().Fragment,null,r):null;function fy(){let e=(0,pP.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,pP.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function fg(e,t=e=>e??{}){let[r,n]=(0,pP.useState)(()=>{if(fb(e))return;let r=fu(e);if(null!==r)return t?t(r):r});return(0,pP.useEffect)(()=>{if(fb(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,pP.useEffect)(()=>{var r;let o;return(r=e=>{if(null==e)return void n(void 0);let r=t?t(e):e;n(e=>M(e,r)?e:r)})(fd(o=fu(e))),fs.subscribe(t=>{let n=e in t?t[e]:null;n!==o&&(o=n,r(fd(n)))})},[e,t]),r}function fb(e){return"string"!=typeof e||0===e.trim().length}function fv(e){let t=pV(e);return(0,pP.useMemo)(()=>t.map(e=>e.id),[t])}function fw(e){return pF(e).candidateExtensions}function f_(e,t,r){let{data:n,error:o,mutate:i,isLoading:a,isValidating:s}=p7()(e?i1(e,t,r):null,or);return(0,pP.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:o,mutate:i,isValidating:s}),[n,o,a,s,i])}function fx(e){(0,pP.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let fE={},fS=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
16
  Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function fO(e){let{moduleName:t,extension:r}=(0,pP.useContext)(pk),n=e?.externalModuleName??t;if(!n&&!r)throw Error(fS);let o=function(e){let t=(0,pP.useMemo)(()=>t_(e),[e]),r=function(e){let[t,r]=(0,pP.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,pP.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&r(e.config)}),[e]),t}(t);if(!r)throw fE[e]||(fE[e]=new Promise(e=>{let r=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),r())})})),fE[e];return r}(n),i=function(e){let t=(0,pP.useMemo)(tO,[]),r=function(e,t){let[r,n]=(0,pP.useState)(t?()=>{let r=tD(e.getState(),t.extensionSlotName,t.extensionId);if(r.loaded&&r.config)return r.config}:null);return(0,pP.useEffect)(()=>{if(t)return e.subscribe(e=>{let o=tD(e,t.extensionSlotName,t.extensionId);o.loaded&&o.config&&!ts(o.config,r)&&n(o.config)})},[e,t,r]),r}(t,e);if(!r&&e){let r=`${e.extensionSlotName}-${e.extensionId}`;throw!fE[r]&&t&&(fE[r]=new Promise(r=>{let n=t.subscribe(t=>{let o=tD(t,e.extensionSlotName,e.extensionId);o.loaded&&o.config&&(r(o.config),n())})})),fE[r]}return r||{}}(r);return(0,pP.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...o}:{...o,...i},[n,e?.externalModuleName,o,i])}let fP=pV;function fD(){let[e,t]=(0,pP.useState)(dp());return(0,pP.useEffect)(()=>y(({online:e})=>t(e)),[]),e}function fk(e,t=300){let[r,n]=(0,pP.useState)(e);return(0,pP.useEffect)(()=>{let r=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(r)}},[e,t]),r}var fC=r(4498),fj=r.n(fC);let fR=`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 fN(){let e=`${n9}/emrapi/configuration?v=${fR}`,t=fj()(e,or);return(0,pP.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let fT=pI(db());function fA(e){let t=pV(e);return(0,pP.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let f$=pI(dD());function fI(e){let{flags:t}=pA(da);return t[e]?.enabled??!1}function fM(){let[,e]=(0,pP.useState)(0);return(0,pP.useCallback)(()=>{e(e=>e+1)},[])}function fL(e,t,r={}){return fB(e,t,fF,r)}let fF={getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(ot(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 fB(e,t,r,n={}){let{getPaginatedUrl:o,getTotalCount:i,getCurrentPageSize:a,getData:s}=r,{immutable:l,swrConfig:u}=n,c=n.fetcher??or,[d,p]=(0,pP.useState)(1),f=(0,pP.useRef)(NaN),h=(0,pP.useRef)(NaN),m=(0,pP.useRef)(d),y=(0,pP.useRef)(!1),g=(0,pP.useRef)(!1),b=e?.toString()??"",[v,w]=(0,pP.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,pP.useMemo)(()=>o(e,t,x),[e,t,x]),{data:S,...O}=(l?fj():p7())(E,c,u);S?.data&&(f.current=i(S?.data),h.current=a(S?.data),y.current=!0);let P=Math.ceil(f.current/t),D=(0,pP.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,pP.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 k=(0,pP.useCallback)(()=>{D(m.current+1)},[D]),C=(0,pP.useCallback)(()=>{D(m.current-1)},[D]);return{data:s(S?.data),totalPages:P,totalCount:f.current,currentPage:d,currentPageSize:h.current,paginated:P>1,showNextButton:d<P,showPreviousButton:d>1,goTo:D,goToNext:k,goToPrevious:C,...O}}function fV(e,t,r={}){return fB(e,t,fW(),r)}function fW(){return{getPaginatedUrl:(e,t,r)=>{if(!e)return null;{let n=new URL(ot(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 fU=r(5292),fK=r.n(fU);function fz(e,t={}){return fH(e,fF,t)}function fH(e,t,r={}){let{swrInfiniteConfig:n,immutable:o}=r,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=r.fetcher??or,u=(0,pP.useCallback)((r,n)=>0==r?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:c,size:d,setSize:p,...f}=fK()(u,l,{...n,...o?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),h=i(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 fG(e,t={}){return fq(e,fF,t)}function fq(e,t,r={}){let n=fH(e,t,r),{hasMore:o,error:i,data:a,loadMore:s,isLoading:l,nextUri:u}=n;return((0,pP.useEffect)(()=>{o&&!i&&s()},[o,u]),r.partialData)?n:{...n,data:o||i?void 0:a,isLoading:l||o}}function fZ(e,t={}){return fq(e,fW(),t)}function fX(e,t={}){return fH(e,fW(),t)}function fY(){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 fJ(){let[e,t]=(0,pP.useState)(fY);return(0,pP.useEffect)(()=>{let e=()=>{t(fY())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let fQ=e=>"small-desktop"===e||"large-desktop"===e;function f0(e){let t=(0,pP.useContext)(pk);(0,pP.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),d8(e),()=>{pe(e.name)}),[t,e])}function f1(){return pA(d9)}function f4(e=null,t=null){let[r,n]=(0,pP.useState)([]);return(0,pP.useEffect)(()=>{let r=cy(e,t).subscribe(e=>{n(e)},e=>{console.error(e)});return()=>r.unsubscribe()},[e,t]),r}function f3(e,t=!0){let r=(0,pP.useRef)(null);return(0,pP.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 f2(e){let t=(0,pP.useRef)();return(0,pP.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 f5(e,t={}){let{abortController:r,fetchInit:n,url:o,swrConfig:i}=t,a=fy(),s=(0,pP.useMemo)(()=>n?.signal??r?.signal??a.signal,[r?.signal,n?.signal,a.signal]),l=(0,pP.useCallback)(e=>or(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,o),{...n,signal:s}),[s,n,o]);return p7()(e,l,i)}function f6(e=[],t=10){let[r,n]=(0,pP.useState)(1),o=(0,pP.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);r>o&&n(o);let i=Math.min(Math.max(1,r),o),a=(0,pP.useMemo)(()=>{let r=(i-1)*t,n=(i+0)*t;return e.slice(r,n)},[e,i,t]),s=(0,pP.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,pP.useCallback)(()=>{n(e=>e+1)},[]),u=(0,pP.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,pP.useMemo)(()=>({results:a,totalPages:o,currentPage:i,paginated:e.length>t,showNextButton:i<o,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:u}),[a,o,e.length,t,i,s,l,u])}function f7(e,t,r,n){return{pageSizes:(0,pP.useMemo)(()=>{let r=Math.ceil(t/e);return isNaN(r)&&(r=0),[...Array(r).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,pP.useMemo)(()=>e>t?t:e*r>t?e*(r-1)+n:e*r,[e,t,r,n])}}function f9(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function f8(e){let[t,r]=(0,pP.useState)(e??f9()),{data:n,error:o,isValidating:i}=p7()(t?["patient",t]:null,()=>cc(t,{}));return(0,pP.useEffect)(()=>{let e=()=>{let e=f9();e!==t&&r(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,pP.useMemo)(()=>({isLoading:i&&!o&&!n,patient:n,patientUuid:t,error:o}),[i,o,n,t])}function he(){let e=`${n9}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:r,isLoading:n}=p7()(e,or);return(0,pP.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:r}),[t,r,n])}function ht(e){let{extensions:t,extensionSlotModuleName:r}=pW(e);return e?t.map(t=>({state:n})=>pD().createElement(pk.Provider,{value:{moduleName:r,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:r}}},pD().createElement(pj,{state:n}))):[]}function hr(){let e=(0,pP.useRef)(),[t,r]=(0,pP.useState)(null),n=null;if(!t){if(s){let e=ol().getState();e.loaded&&(n=e.session)}else s=new Promise(t=>{let r=({loaded:r,session:o})=>{r&&(t(o),n=o,e.current&&(e.current(),e.current=void 0))};r(ol().getState()),n||(e.current=ol().subscribe(r))});if(n)r(n);else throw s}(0,pP.useEffect)(()=>(e.current||(e.current=ol().subscribe(({loaded:e,session:t})=>{e&&(n=t,r(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let o=t||n;if(!o)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 o}let hn=({privilege:e,fallback:t,children:r})=>{let[n,o]=(0,pP.useState)(null);return((0,pP.useEffect)(()=>{let e=os({includeAuthStatus:!1}).subscribe(o);return()=>e.unsubscribe()},[]),n&&op(e,n))?pD().createElement(pD().Fragment,null,r):t?pD().createElement(pD().Fragment,null,t):null};var ho=r(3464),hi=r.n(ho),ha=r(5602);let hs=new Map;function hl(){for(let e of Array.from(hs.values()))e()}let hu={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function hc(e){let t=(0,pP.useId)();return(0,pP.useEffect)(()=>{if(e)return hs.set(t,e),()=>{hs.delete(t)}},[t,e]),{...p$(cC(),hu),mutateVisit:hl}}function hd(e,t=cD){let r=(0,pP.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:o,setVisitContext:i}=hc((0,pP.useCallback)(()=>r.current?.(),[])),a=e&&n==e?o:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:u,error:c,mutate:d,isValidating:p}=p7()(e?`${n9}/visit${s}`:null,or),{data:f,error:h,mutate:m,isValidating:y}=p7()(e&&a?`${n9}/visit${l}`:null,or),g=(0,pP.useMemo)(()=>u?.data.results.find(e=>null===e.stopDatetime)??null,[u]),b=(0,pP.useMemo)(()=>a&&f?f.data:null,[f,a]),v=(0,pP.useRef)(null);(0,pP.useEffect)(()=>{!p&&g&&n===e&&null===o&&i(g),y||(v.current&&b&&v.current.uuid===b.uuid&&!v.current.stopDatetime&&b.stopDatetime&&i(null),v.current=b)},[b,o,g,p,y,n]);let w=(0,pP.useCallback)(()=>{d(),m()},[d,m]);(0,pP.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 hp(){let[e,t]=(0,pP.useState)([]);return(0,pP.useEffect)(()=>{let e=cb().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}ho.extend(ha);let hf=new Map;async function hh(e,t){let r=t.indexOf("#"),n=r>=0,o=n?t.substring(0,r):e,i=n?t.substring(r+1):t,a=await ik(o);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?hy(o,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${o} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${o} for ${t} defined in ${e}'s routes.json`),hm)}let hm={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function hy(e,t){if(e in hf)await hf[e];else{let r=t??await ik(e);await (hf[e]=new Promise((t,n)=>{if(Object.hasOwn(r,"startupApp")){let o=r.startupApp;if("function"==typeof o)return Promise.resolve(o()).then(()=>{tq(e),t(null)}).catch(n)}tq(e),t(null)}))}}function hg(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