diff --git a/dist/assets/main-CLXi7ljE.js b/dist/assets/main-CLXi7ljE.js new file mode 100644 index 0000000..f28b22b --- /dev/null +++ b/dist/assets/main-CLXi7ljE.js @@ -0,0 +1,2 @@ +const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return JU}},Symbol.toStringTag,{value:"Module"}));!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))e(t);new MutationObserver(t=>{for(const n of t)if("childList"===n.type)for(const t of n.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&e(t)}).observe(document,{childList:!0,subtree:!0})}function e(t){if(t.ep)return;t.ep=!0;const e=function(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?e.credentials="include":"anonymous"===t.crossOrigin?e.credentials="omit":e.credentials="same-origin",e}(t);fetch(t.href,e)}}();const e="object"==typeof self&&null!==self&&self.Object===Object&&"undefined"!=typeof Window&&self.constructor===Window&&"object"==typeof document&&null!==document&&self.document===document&&"object"==typeof location&&null!==location&&self.location===location&&"object"==typeof history&&null!==history&&self.history===history&&"object"==typeof navigator&&null!==navigator&&self.navigator===navigator&&"string"==typeof navigator.userAgent,n=e?self:null,i=e?self.location:null,r=e?self.history:null,s=e?self.navigator.userAgent:"Lynx (textmode)",o=!(!e||"object"!=typeof chrome||"object"==typeof opera),a=!!e&&/Firefox|FxiOS/.test(s),l=Object.freeze(Object.defineProperty({__proto__:null,hasDOM:e,history:r,isChrome:o,isFirefox:a,location:i,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function u(t){return t&&t.Object===Object?t:void 0}const c=u((h="object"==typeof global&&global)&&void 0===h.nodeType?h:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var h;const d=function(t,e){return void 0===e?{imports:t,exports:t,lookup:t}:{imports:e.imports||t,exports:e.exports||t,lookup:e.lookup||t}}(c,c.Ember);function p(){return d.lookup}function f(t){d.lookup=t}const g={ENABLE_OPTIONAL_FEATURES:!1,EXTEND_PROTOTYPES:{Array:!1},LOG_STACKTRACE_ON_DEPRECATION:!0,LOG_VERSION:!0,RAISE_ON_DEPRECATION:!1,STRUCTURED_PROFILE:!1,_DEBUG_RENDER_TREE:!1,_ALL_DEPRECATIONS_ENABLED:!1,_OVERRIDE_DEPRECATION_VERSION:null,_DEFAULT_ASYNC_OBSERVERS:!1,_RERENDER_LOOP_LIMIT:1e3,EMBER_LOAD_HOOKS:{},FEATURES:{}};function m(){return g}(t=>{if("object"!=typeof t||null===t)return;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||"EXTEND_PROTOTYPES"===i||"EMBER_LOAD_HOOKS"===i)continue;let e=g[i];g[i]=!0===e?!1!==t[i]:!1===e?!0===t[i]:t[i]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let t=e[i];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[i]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(g.FEATURES[i]=!0===n[i])})(c.EmberENV);let y=()=>{},_=!1;function v(){return _}function b(t){_=Boolean(t)}const{toString:w}=Object.prototype,{toString:x}=Function.prototype,{isArray:S}=Array,{keys:E}=Object,{stringify:C}=JSON,k=100,T=/^[\w$]+$/;function R(t){return"number"==typeof t&&2===arguments.length?this:P(t,0)}function P(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(S(t)){i=!0;break}if(t.toString===w||void 0===t.toString)break;return t.toString();case"function":return t.toString===x?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return C(t);default:return t.toString()}if(void 0===n)n=new WeakSet;else if(n.has(t))return"[Circular]";return n.add(t),i?function(t,e,n){if(e>4)return"[Array]";let i="[";for(let r=0;r=k){i+=`... ${t.length-k} more items`;break}i+=P(t[r],e,n)}return i+=" ]",i}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let i="{",r=E(t);for(let s=0;s=k){i+=`... ${r.length-k} more keys`;break}let o=r[s];i+=`${I(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function I(t){return T.test(t)?t:C(t)}function M(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function O(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let A=0;function L(){return++A}const F="ember",z=new WeakMap,D=new Map,N=M(`__ember${Date.now()}`);function j(t,e=F){let n=e+L().toString();return O(t)&&z.set(t,n),n}function U(t){let e;if(O(t))e=z.get(t),void 0===e&&(e=`${F}${L()}`,z.set(t,e));else if(e=D.get(t),void 0===e){let n=typeof t;e="string"===n?`st${L()}`:"number"===n?`nu${L()}`:"symbol"===n?`sy${L()}`:`(${t})`,D.set(t,e)}return e}const B=void 0,q=/\.(_super|call\(this|apply\(this)/,G=Function.prototype.toString,$=G.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test(G.call(t))}:function(){return!0},V=new WeakMap,W=Object.freeze(function(){});function H(t){let e=V.get(t);return void 0===e&&(e=$(t),V.set(t,e)),e}V.set(W,!1);class K{listeners=void 0;observers=void 0}const X=new WeakMap;function Y(t){let e=X.get(t);return void 0===e&&(e=new K,X.set(t,e)),e}function Z(t){return X.get(t)}function J(t,e){Y(t).observers=e}function Q(t,e){Y(t).listeners=e}const tt=new WeakSet;function et(t,e){return H(t)?!tt.has(e)&&H(e)?nt(t,nt(e,W)):nt(t,e):t}function nt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}tt.add(n);let i=X.get(t);return void 0!==i&&X.set(n,i),n}function it(t,e){let n=t;do{let t=Object.getOwnPropertyDescriptor(n,e);if(void 0!==t)return t;n=Object.getPrototypeOf(n)}while(null!==n);return null}let rt,st,ot;const at=[];function lt(t){return-1!==at.indexOf(t)}function ut(t){return M(`__${t}${N+Math.floor(Math.random()*Date.now()).toString()}__`)}const ct=Symbol,ht=Object.prototype.toString;function dt(t){return null==t}function pt(t){if("string"==typeof t)return t;if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t)){let e="";for(let n=0;n0&&(e+=","),dt(t[n])||(e+=pt(t[n]));return e}return"function"==typeof t.toString?t.toString():ht.call(t)}let ft,gt,mt,yt,_t,vt,bt,wt,xt,St,Et=()=>{},Ct=new WeakMap;function kt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function Tt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function Rt(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Pt(t){let e=Ct.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ct.set(t,e)),e}function It(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function Mt(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";return i[r]=kt(i[r],e),e}function Ot(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";i[r]=Rt(i[r],e)}function At(t){let e=Pt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,Tt(i,At),Tt(r,e=>{e(t)}),Tt(s,e=>{ft(t,e)}),gt(()=>{Tt(n,e=>{!function(t,e){let n=Pt(e);0===n.state&&(n.children=Rt(n.children,t))}(t,e)}),e.state=2})}function Lt(t){let e=Ct.get(t);return void 0!==e&&null!==e.children}function Ft(t){let e=Ct.get(t);return void 0!==e&&e.state>=1}function zt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Dt=Object.prototype;let Nt;const jt=ct("undefined");var Ut=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(Ut||{});let Bt=1;class qt{_descriptors;_mixins;_isInit;_lazyChains;_values;_revisions;source;proto;_parent;_listeners;_listenersVersion=1;_inheritedEnd=-1;_flattenedVersion=0;constructor(t){this._parent=void 0,this._descriptors=void 0,this._mixins=void 0,this._lazyChains=void 0,this._values=void 0,this._revisions=void 0,this._isInit=!1,this.source=t,this.proto=void 0===t.constructor?void 0:t.constructor.prototype,this._listeners=void 0}get parent(){let t=this._parent;if(void 0===t){let e=Gt(this.source);this._parent=t=null===e||e===Dt?null:Ht(e)}return t}setInitializing(){this._isInit=!0}unsetInitializing(){this._isInit=!1}isInitializing(){return this._isInit}isPrototypeMeta(t){return this.proto===this.source&&this.source===t}_getOrCreateOwnMap(t){return this[t]||(this[t]=Object.create(null))}_getOrCreateOwnSet(t){return this[t]||(this[t]=new Set)}_findInheritedMap(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i){let t=i.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i&&i.has(e))return!0;n=n.parent}return!1}valueFor(t){let e=this._values;return void 0!==e?e[t]:void 0}setValueFor(t,e){this._getOrCreateOwnMap("_values")[t]=e}revisionFor(t){let e=this._revisions;return void 0!==e?e[t]:void 0}setRevisionFor(t,e){this._getOrCreateOwnMap("_revisions")[t]=e}writableLazyChainsFor(t){let e=this._getOrCreateOwnMap("_lazyChains"),n=e[t];return void 0===n&&(n=e[t]=[]),n}readableLazyChainsFor(t){let e=this._lazyChains;if(void 0!==e)return e[t]}addMixin(t){this._getOrCreateOwnSet("_mixins").add(t)}hasMixin(t){return this._hasInInheritedSet("_mixins",t)}forEachMixins(t){let e,n=this;for(;null!==n;){let i=n._mixins;void 0!==i&&(e=void 0===e?new Set:e,i.forEach(n=>{e.has(n)||(e.add(n),t(n))})),n=n.parent}}writeDescriptors(t,e){(this._descriptors||(this._descriptors=new Map)).set(t,e)}peekDescriptors(t){let e=this._findInheritedMap("_descriptors",t);return e===jt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,jt)}forEachDescriptors(t){let e,n=this;for(;null!==n;){let i=n._descriptors;void 0!==i&&(e=void 0===e?new Set:e,i.forEach((n,i)=>{e.has(i)||(e.add(i),n!==jt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?Ut.ONCE:Ut.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,Ut.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=Kt(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===Kt(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=Bt}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==Ut.ADD&&i.kind!==Ut.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===Ut.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==Ut.ADD&&n.kind!==Ut.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const Gt=Object.getPrototypeOf,$t=new WeakMap;function Vt(t,e){$t.set(t,e)}function Wt(t){let e=$t.get(t);if(void 0!==e)return e;let n=Gt(t);for(;null!==n;){if(e=$t.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=Gt(n)}return null}const Ht=function(t){let e=Wt(t);if(null!==e&&e.source===t)return e;let n=new qt(t);return Vt(t,n),n};function Kt(t,e,n,i){for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.event===e&&s.target===n&&s.method===i)return r}return-1}let Xt=1;const Yt=Symbol("TAG_COMPUTE");function Zt(t){return t[Yt]()}function Jt(t,e){return e>=t[Yt]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",Yt);const Qt=Symbol("TAG_TYPE");class te{static combine(t){switch(t.length){case 0:return se;case 1:return t[0];default:{let e=new te(2);return e.subtag=t,e}}}constructor(t){this.revision=1,this.lastChecked=1,this.lastValue=1,this.isUpdating=!1,this.subtag=null,this.subtagBufferCache=null,this[Qt]=t}[Yt](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++Xt;else if(t!==Xt){this.isUpdating=!0,this.lastChecked=Xt;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[Yt]();e=Math.max(t,e)}else{let n=t[Yt]();n===this.subtagBufferCache?e=Math.max(e,this.lastValue):(this.subtagBufferCache=null,e=Math.max(e,n))}this.lastValue=e}finally{this.isUpdating=!1}}return this.lastValue}static updateTag(t,e){let n=t,i=e;i===se?n.subtag=null:(n.subtagBufferCache=i[Yt](),n.subtag=i)}static dirtyTag(t,e){t.revision=++Xt,Et()}}const ee=te.dirtyTag,ne=te.updateTag;function ie(){return new te(0)}function re(){return new te(1)}const se=new te(3);function oe(t){return t===se}class ae{[Yt](){return NaN}constructor(){this[Qt]=100}}const le=new ae;class ue{[Yt](){return Xt}constructor(){this[Qt]=101}}const ce=new ue,he=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,he([pe,fe])),Zt(de),ee(pe),Zt(de),ee(fe),Zt(de),ne(de,fe),Zt(de),ee(fe),Zt(de);class ge{add(t){t!==se&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?se:1===t.size?this.last:he(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let me=null;const ye=[];function _e(){ye.push(me),me=new ge}function ve(){let t=me;return me=ye.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function be(){ye.push(me),me=null}function we(){me=ye.pop()||null}function xe(){return null!==me}function Se(t){null!==me&&me.add(t)}const Ee=Symbol("FN"),Ce=Symbol("LAST_VALUE"),ke=Symbol("TAG"),Te=Symbol("SNAPSHOT");function Re(t){return{[Ee]:t,[Ce]:void 0,[ke]:void 0,[Te]:-1}}function Pe(t){let e=t[Ee],n=t[ke],i=t[Te];if(void 0!==n&&Jt(n,i))Se(n);else{_e();try{t[Ce]=e()}finally{n=ve(),t[ke]=n,t[Te]=Zt(n),Se(n)}}return t[Ce]}function Ie(t){return oe(t[ke])}function Me(t){let e;_e();try{t()}finally{e=ve()}return e}function Oe(t){be();try{return t()}finally{we()}}const Ae=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Le=new Set(["fill","push","unshift"]);function Fe(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class ze{#t;constructor(t,e){this.#e=re(),this.#n=new Map,this.#t=e;const n=t.slice(),i=this,r=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Fe(e);if(null!==n)return i.#i(n),Se(i.#e),t[n];if("length"===e)return s?s=!1:Se(i.#e),t[e];if(Le.has(e)&&(s=!0),Ae.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(Se(i.#e),t[e](...n)),r.set(e,n)),n}return t[e]},set(t,e,n){if(i.#t.equals(t[e],n))return!0;t[e]=n;const r=Fe(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>ze.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e),this.#n.clear()}}Object.setPrototypeOf(ze.prototype,Array.prototype);class De{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),i=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[i,e.get(i)],done:!1}}}}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),n||ee(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),this.#n.clear(),ee(this.#e),this.#o.clear())}}Object.setPrototypeOf(De.prototype,Map.prototype);class Ne{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e)}constructor(t,e){this.#n=new Map,this.#e=re(),this.#t=e;const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyDescriptors(t),r=Object.create(n);for(const o in i)Object.defineProperty(r,o,i[o]);const s=this;return new Proxy(r,{get:(t,e)=>(s.#i(e),t[e]),has:(t,e)=>(s.#i(e),e in t),ownKeys:t=>(Se(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#r(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#r(e),s.#n.delete(e),s.#s()),!0),getPrototypeOf:()=>Ne.prototype})}}class je{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}union(t){return Se(this.#e),this.#o.union(t)}intersection(t){return Se(this.#e),this.#o.intersection(t)}difference(t){return Se(this.#e),this.#o.difference(t)}symmetricDifference(t){return Se(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return Se(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return Se(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return Se(this.#e),this.#o.isDisjointFrom(t)}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){return Se(this.#e),this.#o[Symbol.iterator]()}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}add(t){if(this.#o.has(t)){if(this.#t.equals(t,t))return this}else ee(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),ee(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(je.prototype,Set.prototype);class Ue{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Ue.prototype,WeakMap.prototype);class Be{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#r(t)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Be.prototype,WeakSet.prototype);const qe=new WeakMap;function Ge(t,e,n){let i=void 0===n?qe.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ee(r,!0)}function $e(t){let e=qe.get(t);return void 0===e&&(e=new Map,qe.set(t,e)),e}function Ve(t,e,n){let i=void 0===n?$e(t):n,r=i.get(e);return void 0===r&&(r=re(),i.set(e,r)),r}function We(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return Se(Ve(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){Ge(e,t),n.set(e,i)}}}const He=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,He))throw new Error("The `@glimmer/validator` library has been included twice in this application. It could be different versions of the package, or the same version included twice by mistake. `@glimmer/validator` depends on having a single copy of the package in use at any time in an application, even if they are the same version. You must dedupe your build to remove the duplicate packages in order to prevent this error.");Reflect.set(globalThis,He,!0);const Ke=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:Yt,CONSTANT:0,CONSTANT_TAG:se,CURRENT_TAG:ce,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:he,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:Ge,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Ie,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:$e,track:Me,trackedArray:function(t,e){return new ze(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:We,trackedMap:function(t,e){return new De(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedObject:function(t,e){return new Ne(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new je(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new Ue(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new Be(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:Oe,updateTag:ne,validateTag:Jt,valueForTag:Zt},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze([]);function Ye(){return Xe}const Ze=Ye(),Je=Ye();function*Qe(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*tn(t){let e=0;for(const n of t)yield[e++,n]}function en(t){return!!t&&t.length>0}function nn(t){return 0===t.length?void 0:t[t.length-1]}function rn(){return Object.create(null)}function sn(t){return null!=t}function on(t){return"function"==typeof t||"object"==typeof t&&null!==t}class an{constructor(t=[]){this.current=null,this.stack=t}get size(){return this.stack.length}push(t){this.current=t,this.stack.push(t)}pop(){let t=this.stack.pop();return this.current=nn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eRn(t),null,t.debugLabel):t}function En(t){return 3===t[pn]}function Cn(t){const e=xn(()=>Rn(t),e=>Pn(t,e));return e.debugLabel=t.debugLabel,e[pn]=3,e}function kn(t){return t.tag===se}function Tn(t){return null!==t.update}function Rn(t){const e=t;let{tag:n}=e;if(n===se)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&Jt(n,i))r=e.lastValue;else{const{compute:t}=e,i=Me(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=Zt(i)}return Se(n),r}function Pn(t,e){(0,t.update)(e)}function In(t,e){const n=t,i=n[pn];let r,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===i){const t=Rn(n);r=sn(t)?wn(t[e]):mn}else r=xn(()=>{const t=Rn(n);if(sn(t))return _t(t,e)},t=>{const i=Rn(n);if(sn(i))return vt(i,e,t)});return s.set(e,r),r}function Mn(t,e){let n=t;for(const i of e)n=In(n,i);return n}const On={},An=(t,e)=>e,Ln=(t,e)=>String(e),Fn=t=>null===t?On:t;class zn{get weakMap(){return void 0===this._weakMap&&(this._weakMap=new WeakMap),this._weakMap}get primitiveMap(){return void 0===this._primitiveMap&&(this._primitiveMap=new Map),this._primitiveMap}set(t,e){on(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return on(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Dn=new zn;function Nn(t){let e=new zn;return(n,i)=>{let r=t(n,i),s=e.get(r)||0;return e.set(r,s+1),0===s?r:function(t,e){let n=Dn.get(t);void 0===n&&(n=[],Dn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function jn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return Nn(An);case"@index":return Nn(Ln);case"@identity":return Nn(Fn);default:return e=t,Nn(t=>bt(t,e))}var e}(e);if(Array.isArray(n))return new qn(n,i);let r=mt(n);return null===r?new qn(Xe,()=>null):new Bn(r,i)})}function Un(t){let e=t,n=ie();return xn(()=>(Se(n),e),t=>{e!==t&&(e=t,ee(n))})}class Bn{constructor(t,e){this.inner=t,this.keyFor=e}isEmpty(){return this.inner.isEmpty()}next(){let t=this.inner.next();return null!==t&&(t.key=this.keyFor(t.value,t.memo)),t}}let qn=class{constructor(t,e){this.iterator=t,this.keyFor=e,this.pos=0,0===t.length?this.current={kind:"empty"}:this.current={kind:"first",value:t[this.pos]}}isEmpty(){return"empty"===this.current.kind}next(){let t,e=this.current;if("first"===e.kind)this.current={kind:"progress"},t=e.value;else{if(this.pos>=this.iterator.length-1)return null;t=this.iterator[++this.pos]}let{keyFor:n}=this;return{key:n(t,this.pos),value:t,memo:this.pos}}};const Gn=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:In,childRefFromParts:Mn,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:jn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),$n={Empty:0,dynamicLayout:1,dynamicTag:2,prepareArgs:4,createArgs:8,attributeHook:16,elementHook:32,dynamicScope:64,createCaller:128,updateHook:256,createInstance:512,wrapped:1024,willDestroy:2048,hasSubOwner:4096},Vn=1024,Wn=new WeakMap;function Hn(t){return Wn.get(t)}function Kn(t,e){Wn.set(t,e)}function Xn(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Yn{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return Rn(n)}has(t,e){return e in this.named}ownKeys(){return Object.keys(this.named)}isExtensible(){return!1}getOwnPropertyDescriptor(t,e){return{enumerable:!0,configurable:!0}}}class Zn{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=Xn(e);return null!==i&&i{const{named:e,positional:n}=t,i=new Yn(e),r=new Zn(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return Kn(o,(t,n)=>function(t,e){return Me(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Me(()=>{"[]"===e&&t.forEach(Rn);const n=Xn(e);null!==n&&n{let i=this.getDelegateFor(n);const r=Jn(e),s=i.createHelper(t,r);if(si(i)){let t=xn(()=>i.getValue(s),null);return oi(i)&&It(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return It(t,i.getDestroyable(s)),t}return mn}}}class li{createHelper(t,e){return{fn:t,args:e}}getValue({fn:t,args:e}){return Object.keys(e.named).length>0?t(...e.positional,e.named):t(...e.positional)}getDebugName(t){return t.name?`(helper function ${t.name})`:"(anonymous helper function)"}constructor(){this.capabilities={hasValue:!0,hasDestroyable:!1,hasScheduledEffect:!1}}}const ui=new WeakMap,ci=new WeakMap,hi=new WeakMap,di=Object.getPrototypeOf;function pi(t,e,n){return t.set(n,e),n}function fi(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=di(n)}}function gi(t,e){return pi(ci,t,e)}function mi(t){const e=fi(ci,t);return void 0===e?null:e}function yi(t,e){return pi(hi,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(hi,t);return void 0===e&&"function"==typeof t&&(e=_i),e||null}function bi(t,e){return pi(ui,t,e)}function wi(t){const e=fi(ui,t);return void 0===e?null:e}function xi(t){return void 0!==fi(ui,t)}function Si(t){return function(t){return"function"==typeof t}(t)||void 0!==fi(hi,t)}const Ei={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1};function Ci(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function ki(t){return t.capabilities.asyncLifeCycleCallbacks}function Ti(t){return t.capabilities.updateHook}class Ri{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n){let i=this.getDelegateFor(t),r=Jn(n.capture()),s=i.createComponent(e,r);return new Pi(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ti(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){ki(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return ki(t)&&Ti(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return bn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return Mt(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Ei}}class Pi{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Ii(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Mi{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n,i){let r,s=this.getDelegateFor(t),o=Jn(i),a=s.createModifier(n,o);return r={tag:re(),element:e,delegate:s,args:o,modifier:a},Mt(r,()=>s.destroyModifier(a,o)),r}getDebugName(t){return"function"==typeof t?t.name||t.toString():""}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:i}){let{capabilities:r}=i;r.disableAutoTracking?Oe(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?Oe(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Oi(t,e){return bi(new Ri(t),e)}function Ai(t,e){return gi(new Mi(t),e)}function Li(t,e){return yi(new ai(t),e)}const Fi=new WeakMap,zi=Reflect.getPrototypeOf;function Di(t,e){return Fi.set(e,t),e}function Ni(t){let e=t;for(;null!==e;){let t=Fi.get(e);if(void 0!==t)return t;e=zi(e)}}const ji=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Mi,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:Ni,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(ci,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Ii,setComponentManager:Oi,setComponentTemplate:Di,setCustomTagFor:Kn,setHelperManager:Li,setInternalComponentManager:bi,setInternalHelperManager:yi,setInternalModifierManager:gi,setModifierManager:Ai},Symbol.toStringTag,{value:"Module"})),Ui=new WeakSet;function Bi(t){return!!O(t)&&Ui.has(t)}function qi(t){O(t)&&Ui.add(t)}const Gi=new WeakSet;function $i(t){return Gi.has(t)}let Vi=class{size=0;misses=0;hits=0;constructor(t,e,n=new Map){this.limit=t,this.func=e,this.store=n}get(t){return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,this.set(t,this.func(t)))}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}};const Wi="6.11.0-beta.1",Hi=Object.freeze(Object.defineProperty({__proto__:null,default:Wi},Symbol.toStringTag,{value:"Module"})),Ki=Symbol("OWNER");function Xi(t){return t[Ki]}function Yi(t){return Xi(t)}function Zi(t,e){!function(t,e){t[Ki]=e}(t,e)}function Ji(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const Qi=ct("SELF_TAG");function tr(t,e,n=!1,i){let r=Hn(t);return void 0!==r?r(t,e,n):Ve(t,e,i)}function er(t){return O(t)?Ve(t,Qi):se}function nr(t,e){Ge(t,e),Ge(t,Qi)}const ir=new WeakSet;function rr(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(O(n))for(let[t,e]of i)ne(t,or(n,e,$e(n),Wt(n)));i.length=0}}function sr(t,e,n,i){let r=[];for(let s of e)ar(r,t,s,n,i);return he(r)}function or(t,e,n,i){return he(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,c=n.length,h=-1;for(;;){let e=h+1;if(h=n.indexOf(".",e),-1===h&&(h=c),s=n.slice(e,h),"@each"===s&&h!==c){e=h+1,h=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(tr(a,"[]"));break}s=-1===h?n.slice(e):n.slice(e,h);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Cr(t,e,r,o),r||(r=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=r[o]),o.apply(r,n)}return!0}function Tr(t,e){let n=Wt(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function Rr(...t){let e=t.pop();return Q(e,t),e}const Pr=!g._DEFAULT_ASYNC_OBSERVERS,Ir=new Map,Mr=new Map;function Or(t,e,n,i,r=Pr){let s=Sr(e);Er(t,s,n,i,!1,r);let o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Lr(t,s,r)}function Ar(t,e,n,i,r=Pr){let s=Sr(e),o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Dr(t,s,r),Cr(t,s,n,i)}function Lr(t,e,n=!1){let i=function(t,e){let n=!0===e?Ir:Mr;return n.has(t)||(n.set(t,new Map),Mt(t,()=>function(t){Ir.size>0&&Ir.delete(t),Mr.size>0&&Mr.delete(t)}(t),!0)),n.get(t)}(t,n);if(i.has(e))i.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),r=or(t,n,$e(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Fr=!1,zr=[];function Dr(t,e,n=!1){if(!0===Fr)return void zr.push([t,e,n]);let i=!0===n?Ir:Mr,r=i.get(t);if(void 0!==r){let n=r.get(e);n.count--,0===n.count&&(r.delete(e),0===r.size&&i.delete(t))}}function Nr(t){Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let jr=0;function Ur(t){let e=Zt(ce);jr!==e&&(jr=e,Mr.forEach((e,n)=>{let i=Wt(n);e.forEach((e,r)=>{if(!Jt(e.tag,e.lastRevision)){let s=()=>{try{kr(n,r,[n,e.path],void 0,i)}finally{e.tag=or(n,e.path,$e(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Ir.forEach((t,e)=>{let n=Wt(e);t.forEach((t,i)=>{if(!t.suspended&&!Jt(t.tag,t.lastRevision))try{t.suspended=!0,kr(e,i,[e,t.path],void 0,n)}finally{t.tag=or(e,t.path,$e(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Ir.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const Gr=Symbol("PROPERTY_DID_CHANGE");let $r=0;function Vr(t,e,n,i){let r=void 0===n?Wt(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(nr(t,e),$r<=0&&Br(),Gr in t&&(4===arguments.length?t[Gr](e,i):t[Gr](e)))}function Wr(){$r++,Fr=!0}function Hr(){$r--,$r<=0&&(Br(),function(){Fr=!1;for(let[t,e,n]of zr)Dr(t,e,n);zr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends cr{_readOnly=!1;_hasConfig=!1;_getter=void 0;_setter=void 0;constructor(t){super();let e=t[t.length-1];if("function"==typeof e||null!==e&&"object"==typeof e){this._hasConfig=!0;let e=t.pop();if("function"==typeof e)this._getter=e;else{const t=e;this._getter=t.get||Xr,this._setter=t.set}}t.length>0&&this._property(...t)}setup(t,e,n,i){if(super.setup(t,e,n,i),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,i){let r=e.call(this,i);return void 0!==t&&void 0===r?t.call(this):r})}}_property(...t){let e=[];function n(t){e.push(t)}for(let i of t)wr(i,n);this._dependentKeys=e}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;Oe(()=>{n=o.call(t,e)}),void 0!==a&&ne(s,sr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=Ht(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[Gr]&&t.isComponent&&Or(t,e,()=>{t[Gr](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=$e(t),o=Ve(t,e,s),{_dependentKeys:a}=this;void 0!==a&&ne(o,sr(t,a,s,r)),r.setRevisionFor(e,Zt(o))}finally{Hr()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${R(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;qr(t,e,!0);try{r=a.call(t,e,n,o)}finally{qr(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),Vr(t,e,i,n)),r}teardown(t,e,n){void 0!==n.revisionFor(e)&&(n.setRevisionFor(e,void 0),n.setValueFor(e,void 0)),super.teardown(t,e,n)}}class Zr extends Yr{get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Me(()=>{n=r.call(t,e)});ne(s,o),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]",r)),n}}class Jr extends Function{readOnly(){return yr(this)._readOnly=!0,this}meta(t){let e=yr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return yr(this)._getter}set enumerable(t){yr(this).enumerable=t}}function Qr(...t){return lr(t)?fr(new Yr([]),Jr)(t[0],t[1],t[2]):fr(new Yr(t),Jr)}function ts(...t){return fr(new Zr(t),Jr)}function es(t,e){return Boolean(mr(t,e))}function ns(t,e,n,i,r){let s=void 0===r?Ht(t):r,o=mr(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),_r(n)?is(t,e,n,s):null==n?rs(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||Nr(t)}function is(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function rs(t,e,n,i,r=!0){return!0===i||!1===r?Object.defineProperty(t,e,{configurable:!0,enumerable:r,writable:!0,value:n}):t[e]=n,n}const ss=new Vi(1e3,t=>t.indexOf("."));function os(t){return"string"==typeof t&&-1!==ss.get(t)}const as=ct("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?hs(t,e):cs(t,e)}function cs(t,e){if(null==t)return;let n;return"object"==typeof t||"function"==typeof t?(n=t[e],void 0===n&&"object"==typeof t&&!(e in t)&&ls(t)&&(n=t.unknownProperty(e)),xe()&&(Se(Ve(t,e)),(Array.isArray(n)||$i(n))&&Se(Ve(n,"[]")))):n=t[e],n}function hs(t,e,n){let i="string"==typeof e?e.split("."):e;for(let r of i){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===r||"constructor"===r))return;t=cs(t,r)}return t}cs("foo","a"),cs("foo",1),cs({},"a"),cs({},1),cs({unknownProperty(){}},"a"),cs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Me(()=>cs({},"a")),Me(()=>cs({},1)),Me(()=>cs({a:[]},"a")),Me(()=>cs({a:ds},"a"));class ps{_registry;_coreLibIndex;constructor(){this._registry=[],this._coreLibIndex=0}_getLibraryByName(t){let e=this._registry;for(let n of e)if(n.name===t)return n}register(t,e,n){let i=this._registry.length;this._getLibraryByName(t)||(n&&(i=this._coreLibIndex++),this._registry.splice(i,0,{name:t,version:e}))}registerCoreLibrary(t,e){this.register(t,e,!0)}deRegister(t){let e,n=this._getLibraryByName(t);n&&(e=this._registry.indexOf(n),this._registry.splice(e,1))}}const fs=new ps;let gs;function ms(t,...e){let n,i;lr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=Qr({get:function(e){return(Yi(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ns(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function ys(...t){if(!lr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return _s([t,e,{initializer:n||(()=>i)}])};return vr(r),r}return _s(t)}function _s([t,e,n]){let{getter:i,setter:r}=We(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||$i(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),Ge(this,Qi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return pr.add(o),Ht(t).writeDescriptors(e,new vs(s,o)),a}fs.registerCoreLibrary("Ember",Wi);class vs{constructor(t,e){this._get=t,this._set=e,ir.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function bs(t,e,n,i){return t.isDestroyed?n:os(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=hs(t,r,!0);if(null!=o)return bs(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):ws(t,e,n)}function ws(t,e,n){let i,r=it(t,e);return null!==r&&pr.has(r.set)?(t[e]=n,n):(i=t[e],void 0!==i||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,i!==n&&Vr(t,e)):t.setUnknownProperty(e,n),n)}function xs(t,e,n){return bs(t,e,n,!0)}function Ss(t){return fr(new Cs(t),Es)}class Es extends Function{readOnly(){return yr(this).readOnly(),this}oneWay(){return yr(this).oneWay(),this}meta(t){let e=yr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Cs extends cr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),ir.add(this)}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r);Oe(()=>{n=us(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&Jt(s,o)||(ne(s,or(t,this.altKey,r,i)),i.setRevisionFor(e,Zt(s)),rr(i,e,n)),Se(s),n}set(t,e,n){return bs(t,this.altKey,n)}readOnly(){this.set=ks}oneWay(){this.set=Ts}}function ks(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${R(t)}`)}function Ts(t,e,n){return ns(t,e,null),bs(t,e,n)}function Rs(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),kr(t,"@array:before",[t,e,n,i]),t}function Ps(t,e,n,i,r=!0){void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1));let s=Wt(t);if(r&&((i<0||n<0||i-n!==0)&&Vr(t,"length",s),Vr(t,"[]",s)),kr(t,"@array:change",[t,e,n,i]),null!==s){let r=-1===n?0:n,o=t.length-((-1===i?0:i)-r),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&Vr(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)bs(t,i,e[i])}),e}const js=new WeakMap;function Us(t,e){O(t)&&js.set(t,e)}function Bs(t){return js.get(t)}const qs=Object.prototype.hasOwnProperty;let Gs=!1;const $s={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let Vs=!1;const Ws=[],Hs=Object.create(null);function Ks(t){$s.unprocessedNamespaces=!0,Ws.push(t)}function Xs(t){let e=Bs(t);delete Hs[e],Ws.splice(Ws.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function Ys(){if(!$s.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!so(n.charCodeAt(0)))continue;let e=oo(t,n);e&&Us(e,n)}}function Zs(t){return Gs||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=$s.unprocessedNamespaces;if(t&&(Ys(),$s.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return Gs}function eo(t){Gs=Boolean(t)}function no(){Vs=!0}function io(t,e,n){let i=t.length,r=t.join(".");Hs[r]=e,Us(e,r);for(let s in e){if(!qs.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===Bs(r))Us(r,t.join("."));else if(r&&ro(r)){if(n.has(r))continue;n.add(r),io(t,r,n)}}t.length=i}function ro(t){return null!=t&&"object"==typeof t&&t.isNamespace}function so(t){return t>=65&&t<=90}function oo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}const ao={get onerror(){}},lo=setTimeout,uo=()=>{};function co(t){if("function"==typeof Promise){const e=Promise.resolve();return()=>e.then(t)}if("function"==typeof MutationObserver){let e=0,n=new MutationObserver(t),i=document.createTextNode("");return n.observe(i,{characterData:!0}),()=>(e=++e%2,i.data=""+e,e)}return()=>lo(t,0)}function ho(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:co(t),clearNext:e}}const po=/\d+/;function fo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&po.test(t)}function go(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function mo(t,e,n){let i=-1;for(let r=0,s=n.length;r=e[n]?r=n+6:s=n;return t>=e[r]?r+6:r}class bo{constructor(t,e={},n={}){this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=t,this.options=e,this.globalOptions=n}stackFor(t){if(t0){let t=go(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,i=this.targetQueues.get(t);void 0!==i&&i.delete(e);let r=mo(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=mo(t,e,n),r>-1&&(n[r+1]=null,!0))}push(t,e,n,i){return this._queue.push(t,e,n,i),{queue:this,target:t,method:e}}pushUnique(t,e,n,i){let r=this.targetQueues.get(t);void 0===r&&(r=new Map,this.targetQueues.set(t,r));let s=r.get(e);if(void 0===s){let s=this._queue.push(t,e,n,i)-4;r.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=i}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return _o(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,i,r){try{void 0===n?e.call(t):e.apply(t,n)}catch(Gz){i(Gz,r)}}}class wo{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new bo(n,e[n],e),t},this.queues)}schedule(t,e,n,i,r,s){let o=this.queues[t];if(void 0===o)throw new Error(`You attempted to schedule an action in a queue (${t}) that doesn't exist`);if(null==n)throw new Error(`You attempted to schedule an action in a queue (${t}) for a method that doesn't exist`);return this.queueNameIndex=0,r?o.pushUnique(e,n,i,s):o.push(e,n,i,s)}flush(t=!1){let e,n,i=this.queueNames.length;for(;this.queueNameIndexr){let e=i-r;t=new Array(e);for(let n=0;n{Vo++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||ho;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Io,end:0},autoruns:{created:$o,completed:Vo},run:Mo,join:Oo,defer:Ao,schedule:Lo,scheduleIterable:Fo,deferOnce:zo,scheduleOnce:Do,setTimeout:No,later:jo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:Go,loops:{total:Wo,nested:Ho}}}get defaultQueue(){return this._defaultQueue}begin(){Ro++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(Ho++,this.instanceStack.push(n)),Wo++,t=this.currentInstance=new wo(this.queueNames,e),Io++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Po++,this._end(!1)}on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=this._eventCallbacks[t];if(void 0===n)throw new TypeError(`Cannot on() event ${t} because it does not exist`);n.push(e)}off(t,e){let n=this._eventCallbacks[t];if(!t||void 0===n)throw new TypeError(`Cannot off() event ${t} because it does not exist`);let i=!1;if(e)for(let r=0;r0&&fo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){Uo++;let t,[e,n,i,r,s=!0]=ko(...arguments),o=yo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Eo&&(this._timers[e]=i)}return t}debounce(){Bo++;let t,[e,n,i,r,s=!1]=ko(...arguments),o=this._timers,a=yo(e,n,o);if(-1===a)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Eo&&(i=Eo),t=o[a+1];let u=vo(s,o);if(a+6===u)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(u,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){qo++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if(Go++,null==t)return!1;let e=typeof t;return"number"===e?this._cancelLaterTimer(t):!("object"!==e||!t.queue||!t.method)&&t.queue.cancel(t)}ensureInstance(){this._ensureInstance()}getDebugInfo(){if(this.DEBUG)return{autorun:this._autorunStack,counters:this.counters,timers:_o(this._timers,6,2),instanceStack:[this.currentInstance,...this.instanceStack].map(t=>t&&t._getDebugInfo(this.DEBUG))}}_end(t){let e=this.currentInstance,n=null;if(null===e)throw new Error("end called without begin");let i,r=!1;try{i=e.flush(t)}finally{if(!r)if(r=!0,1===i){const t=this.queueNames[e.queueNameIndex];this._scheduleAutorun(t)}else this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",e,n),this._onEnd(e,n)}}_join(t,e,n){return null===this.currentInstance?this._run(t,e,n):void 0===t&&void 0===n?e():e.apply(t,n)}_run(t,e,n){let i=go(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(Gz){i(Gz)}finally{this.end()}else try{return e.apply(t,n)}finally{this.end()}}_cancelAutorun(){this._autorun&&(this._platform.clearNext(),this._autorun=!1,this._autorunStack=null)}_later(t,e,n,i){let r=this.DEBUG?new Error:void 0,s=this._platform.now()+i,o=To++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=vo(s,this._timers);this._timers.splice(i,0,s,o,t,e,n,r),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,i=this._defaultQueue,r=this._platform.now();for(;er);e+=6){let n=t[e+4];if(n!==Eo){let r=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(i,r,s,n,!1,o)}}t.splice(0,e),this._installTimerTimeout()}_reinstallTimerTimeout(){this._clearTimerTimeout(),this._installTimerTimeout()}_clearTimerTimeout(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)}_installTimerTimeout(){if(0===this._timers.length)return;let t=this._timers[0],e=this._platform.now(),n=Math.max(0,t-e);this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}_ensureInstance(){let t=this.currentInstance;return null===t&&(this._autorunStack=this.DEBUG?new Error:void 0,t=this.begin(),this._scheduleAutorun(this.queueNames[0])),t}_scheduleAutorun(t){$o++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=ho,Ko.buildNext=co;let Xo=null;function Yo(){return Xo}const Zo=`${Math.random()}${Date.now()}`.replace(".",""),Jo=["actions","routerTransitions","render","afterRender","destroy",Zo],Qo=new Ko(Jo,{defaultQueue:"actions",onBegin:function(t){Xo=t},onEnd:function(t,e){Xo=e,Ur(ia)},onErrorTarget:ao,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==Zo||Ur(ia),e()}});function ta(...t){return Qo.run(...t)}function ea(t,e,...n){return Qo.join(t,e,...n)}function na(...t){return(...e)=>ea(...t.concat(e))}function ia(...t){return Qo.schedule(...t)}function ra(...t){return Qo.scheduleOnce("actions",...t)}function sa(...t){return Qo.scheduleOnce(...t)}function oa(t){return Qo.cancel(t)}const aa=Object.freeze(Object.defineProperty({__proto__:null,_backburner:Qo,_cancelTimers:function(){Qo.cancelTimers()},_getCurrentRunLoop:Yo,_hasScheduledTimers:function(){return Qo.hasTimers()},_queues:Jo,_rsvpErrorQueue:Zo,begin:function(){Qo.begin()},bind:na,cancel:oa,debounce:function(...t){return Qo.debounce(...t)},end:function(){Qo.end()},join:ea,later:function(...t){return Qo.later(...t)},next:function(...t){return Qo.later(...t,1)},once:ra,run:ta,schedule:ia,scheduleOnce:sa,throttle:function(...t){return Qo.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),la="@warp-drive/core",ua=globalThis;ua.__warpDrive_universalCache=ua.__warpDrive_universalCache??{},ua[la]=ua[la]??{__version:"5.8.1"};const ca=ua[la],ha=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function da(t,e){return e}function pa(t){return ha[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const fa=new WeakMap;function ga(t,e){fa.set(t,e)}const ma=da(0,Symbol("#[]"));function ya(t,e){return pa("signalHooks").createSignal(t,e)}const _a={};function va(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===_a}const ba=da(0,Symbol("Signals"));function wa(t){return t[ba]||function(t){t[ba]=new Map}(t),t[ba]}function xa(t,e,n,i){const r={key:n,context:e,signal:ya(e,n),value:va(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Sa(t,e){return t?.get(e)}function Ea(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),s=r.signal,pa("signalHooks").consumeSignal(s),r;var s}(wa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),r}(wa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){pa("signalHooks").notifySignal(t)}(r.signal)))}}}function Ca(t,e,n){Object.defineProperty(t,e,Ea(e,n))}function ka(t,e,n){const i=Ea(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ta(t,e,n){const i=n.get;return n.get=function(){const t=wa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return pa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Ra=new WeakMap;function Pa(t){return t instanceof DOMException&&"AbortError"===t.name}class Ia{_stream=null;_future;_triggered=!1;_trigger(){if(this._triggered)return;this._triggered=!0;const t=this._future.getStream();t.sizeHint&&(this._sizeHint=t.sizeHint),this.promise=t.then(t=>t?async function(t,e){const n=e,i=t.getReader();let r=0,s=null!==n._stream&&n._stream.readable.locked,o=s,a=n._stream?.writable.getWriter();const l=[];for(n._isPending=!1,n._isStarted=!0,n._startTime=performance.now();;){const{value:t,done:e}=await i.read();if(e)break;if(r+=t.byteLength,n._bytesLoaded=r,n._lastPacketTime=performance.now(),s=s||null!==n._stream&&n._stream.readable.locked,s){if(!o){o=!0,a=n._stream.writable.getWriter();for(const t of l)await a.ready,await a.write(t);l.length=0}await a.ready,await a.write(t)}else l.push(t)}o?(await a.ready,await a.close()):n._stream&&(await n._stream.readable.cancel("The Stream Has Already Ended"),n._stream=null);const u=performance.now();n._endTime=u,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Pa(t)&&(this._isCancelled=!0,this._isComplete=!0),this._isErrored=!0,this._error=t})}promise=null;get isPending(){return this._trigger(),this._isPending}get sizeHint(){return this._trigger(),this._sizeHint}get stream(){if(this._trigger(),!this._stream){if(this._isComplete||this._isCancelled||this._isErrored)return null;this._stream=new TransformStream}return this._stream.readable}get isStarted(){return this._trigger(),this._isStarted}get bytesLoaded(){return this._trigger(),this._bytesLoaded}get startTime(){return this._trigger(),this._startTime}get endTime(){return this._trigger(),this._endTime}get lastPacketTime(){return this._trigger(),this._lastPacketTime}get isComplete(){return this._trigger(),this._isComplete}get isCancelled(){return this._trigger(),this._isCancelled}get isErrored(){return this._trigger(),this._isErrored}get error(){return this._trigger(),this._error}get elapsedTime(){return(this.endTime||this.lastPacketTime)-this.startTime}get completedRatio(){return this.sizeHint?this.bytesLoaded/this.sizeHint:0}get remainingRatio(){return 1-this.completedRatio}get duration(){return this.endTime-this.startTime}get speed(){return this.bytesLoaded/(this.elapsedTime/1e3)}constructor(t){this._future=t}abort=()=>{this._future.abort()}}ka(Ia.prototype,"_isPending",!0),ka(Ia.prototype,"_isStarted",!1),ka(Ia.prototype,"_isComplete",!1),ka(Ia.prototype,"_isCancelled",!1),ka(Ia.prototype,"_isErrored",!1),ka(Ia.prototype,"_error",null),ka(Ia.prototype,"_sizeHint",0),ka(Ia.prototype,"_bytesLoaded",0),ka(Ia.prototype,"_startTime",0),ka(Ia.prototype,"_endTime",0),ka(Ia.prototype,"_lastPacketTime",0);const Ma={};function Oa(t,e,n){const i=Object.assign({},e),r=Object.assign({},i.cacheOptions);return n?r.reload=!0:!1===n?(delete r.reload,r.backgroundReload=!0):(delete r.backgroundReload,delete r.reload),i.cacheOptions=r,t.request(i)}function Aa(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}Ca(Ma,"reason",null),Ca(Ma,"value",null),Ca(Ma,"result",null),Ca(Ma,"error",null),Ca(Ma,"status","pending"),Ca(Ma,"isPending",!0),Ca(Ma,"isLoading",!0),Ca(Ma,"isSuccess",!1),Ca(Ma,"isError",!1),Ca(Ma,"request",null),Ca(Ma,"response",null),Object.defineProperty(Ma,"isCancelled",{get(){return this.isError&&Pa(this.reason)}}),Object.defineProperty(Ma,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const La=Symbol.dispose||Symbol.for("dispose");class Fa{_requester;constructor(t,e){this._args=e,this.store=t,this._subscribedTo=null,this._subscription=null,this._intervalStart=null,this._invalidated=!1,this._nextInterval=null,this._requester=null,this.isDestroyed=!1,this[La]=Da,this._installListeners(),this._beginPolling()}async _beginPolling(){try{this.isIdle||await this.request}catch{}finally{this.isDestroyed||this._scheduleInterval()}}get isIdle(){const{request:t,query:e}=this._args;return Boolean(!t&&!e)}static{Aa(this.prototype,"isIdle",[Ta])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Aa(this.prototype,"autorefreshTypes",[Ta])}async _scheduleInterval(){const{autorefreshThreshold:t}=this._args;if("undefined"!=typeof window&&"number"==typeof t&&t>0&&this.autorefreshTypes.has("interval")&&null===this._intervalStart){if(this._latestRequest){try{await this._latestRequest}catch{}if(this.isDestroyed)return}this._intervalStart=Date.now(),this._nextInterval=setTimeout(()=>{this._maybeUpdate()},t)}}_clearInterval(){this._nextInterval&&(clearTimeout(this._nextInterval),this._intervalStart=null)}_updateSubscriptions(){if(this.isIdle)return;const t=this._request.lid;if(this._subscribedTo===t)return;this._removeSubscriptions();const e=this._getRequester();this._requester=e,t&&za(e)&&(this._subscribedTo=t,this._subscription=e.notifications.subscribe(t,(n,i)=>{if(!this._isUpdating)switch(i){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),i=n?.priority,r=this.reqState;i?i.blocking&&!r.isLoading?(this.isRefreshing=!1,this._maybeUpdate("policy",!0)):this.isRefreshing=!0:this.isRefreshing=!1}}}))}_removeSubscriptions(){const t=this._requester;this._subscription&&t&&za(t)&&(t.notifications.unsubscribe(this._subscription),this._subscribedTo=null,this._subscription=null,this._requester=null)}_installListeners(){"undefined"!=typeof window&&(this.isOnline=window.navigator.onLine,this._unavailableStart=this.isOnline?null:Date.now(),this.isHidden="hidden"===document.visibilityState,this._onlineChanged=t=>{this.isOnline="online"===t.type,"offline"===t.type&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},this._backgroundChanged=()=>{const t="hidden"===document.visibilityState;this.isHidden=t,t&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},window.addEventListener("online",this._onlineChanged,{passive:!0,capture:!0}),window.addEventListener("offline",this._onlineChanged,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",this._backgroundChanged,{passive:!0,capture:!0}))}_maybeUpdate(t,e){if(this.isIdle)return;const{reqState:n}=this;if(n.isPending)return;if(!Boolean(this.isOnline&&!this.isHidden&&(t||this.autorefreshTypes.size))){if(!e&&t&&"_invalidated"!==t)throw new Error("Reload not available: the network is not online or the tab is hidden");return}const{autorefreshTypes:i}=this;let r=this._invalidated||Boolean(t);if(!r&&i.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;r=Boolean(t&&Date.now()-t>n)}if(!r&&i.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(r=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,r){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",i=this._getRequester();switch(n._request.requester||(n._request.requester=i),e){case"reload":this._latestRequest=n.reload();break;case"refresh":this._latestRequest=n.refresh();break;case"policy":this._latestRequest=n.refresh(!0)}"refresh"!==e&&(this._localRequest=this._latestRequest),this._scheduleInterval(),this._latestRequest.finally(()=>{this._isUpdating=!1})}}_getRequester(){return this._args.request?.requester?this._args.request.requester:this.store}retry=async()=>{this._maybeUpdate("reload"),await this._localRequest};refresh=async()=>{this._maybeUpdate("refresh"),await this._latestRequest};get errorFeatures(){return{isHidden:this.isHidden,isOnline:this.isOnline,retry:this.retry}}static{Aa(this.prototype,"errorFeatures",[Ta])}get contentFeatures(){const t={isHidden:this.isHidden,isOnline:this.isOnline,reload:this.retry,refresh:this.refresh,isRefreshing:this.isRefreshing,latestRequest:this._latestRequest};return t.isRefreshing&&(t.abort=()=>{this._latestRequest?.abort()}),t}static{Aa(this.prototype,"contentFeatures",[Ta])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:i,_originalQuery:r}=this;return n&&t===i&&e===r?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Aa(this.prototype,"_request",[Ta])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Aa(this.prototype,"request",[Ta])}get reqState(){return function(t){let e=Ra.get(t);return e||(e=function(t){const e=(n=t,fa.get(n));var n;const i=Object.create(Ma);return i._request=t,i.reload=()=>Oa(t.requester,i.request,!0),i.refresh=(e=!1)=>Oa(t.requester,i.request,!0===e&&null),e?e.isError?(i.error=e.result,i.reason=e.result,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):(i.result=e.result.content,i.value=e.result.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):t.then(e=>{ga(t,{isError:!1,result:e}),i.result=e.content,i.value=e.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response},e=>{ga(t,{isError:!0,result:e}),i.error=e,i.reason=e,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response}),i}(t),Ra.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function za(t){return"requestManager"in t}function Da(){const t=this;t.isDestroyed=!0,t._removeSubscriptions(),"undefined"!=typeof window&&(t._clearInterval(),window.removeEventListener("online",t._onlineChanged,{passive:!0,capture:!0}),window.removeEventListener("offline",t._onlineChanged,{passive:!0,capture:!0}),document.removeEventListener("visibilitychange",t._backgroundChanged,{passive:!0,capture:!0}))}Ca(Fa.prototype,"isOnline",!0),Ca(Fa.prototype,"isHidden",!1),Ca(Fa.prototype,"isRefreshing",!1),Ca(Fa.prototype,"_localRequest",void 0),Ca(Fa.prototype,"_latestRequest",void 0);const Na={};Ca(Na,"reason",null),Ca(Na,"value",null),Ca(Na,"result",null),Ca(Na,"error",null),Ca(Na,"status","pending"),Ca(Na,"isPending",!0),Ca(Na,"isLoading",!0),Ca(Na,"isSuccess",!1),Ca(Na,"isError",!1);const ja=ee;var Ua;Ua=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[tr(t,n),tr(t,"length"),tr(t,"[]")]:tr(t,n),consumeSignal(t){if(Array.isArray(t))return Se(t[0]),Se(t[1]),void Se(t[2]);Se(t)},notifySignal(t){if(Array.isArray(t))return ja(t[0]),ja(t[1]),void ja(t[2]);ja(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Me(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){ha["(transient) signalHooks"]=e}(0,Ua({wellknown:{Array:ma}}));const Ba=Yi,qa=Object.freeze(Object.defineProperty({__proto__:null,getOwner:Ba,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const $a=g.EMBER_LOAD_HOOKS||{},Va={};let Wa=Va;function Ha(t,e){if(Va[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}$a[t]?.forEach(t=>t(e))}class Ka{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=Ga(e.cache||null),this.factoryManagerCache=Ga(e.factoryManagerCache||null),this.isDestroyed=!1,this.isDestroying=!1}lookup(t,e){if(this.isDestroyed)throw new Error(`Cannot call \`.lookup('${t}')\` after the owner has been destroyed`);return function(t,e,n={}){let i=e;if(!0===n.singleton||void 0===n.singleton&&Xa(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Za(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Xa(t,e))&&Ya(t,e)}(t,n,i)){let n=t.cache[e]=r.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:i}){return!1!==n&&(!1===i||!Xa(t,e))&&Ya(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Xa(t,e)&&!Ya(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Xa(t,e)||Ya(t,e))}(t,n,i))return r.class;throw new Error("Could not create factory")}}(t,i,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,Ja(this)}finalizeDestroy(){Qa(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Ja(this),Qa(this)):function(t,e){let n=t.cache[e];delete t.factoryManagerCache[e],n&&(delete t.cache[e],n.destroy&&n.destroy())}(this,this.registry.normalize(t)))}ownerInjection(){let t={};return Zi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return Za(this,this.registry.normalize(t),t)}}function Xa(t,e){return!1!==t.registry.getOption(e,"singleton")}function Ya(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Za(t,e,n){let i=t.factoryManagerCache[e];if(void 0!==i)return i;let r=t.registry.resolve(e);if(void 0===r)return;let s=new il(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Ja(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function Qa(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const tl=Symbol("INIT_FACTORY");function el(t){return t[tl]}function nl(t,e){t[tl]=e}class il{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,i){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=i,this.madeToString=void 0,this.injections=void 0}toString(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString}create(t){let{container:e}=this;if(e.isDestroyed)throw new Error(`Cannot create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);let n=t?{...t}:{};return Zi(n,e.owner),nl(n,this),this.class.create(n)}}const rl=/^[^:]+:[^:]+$/;class sl{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=Ga(t.registrations||null),this._normalizeCache=Ga(null),this._resolveCache=Ga(null),this._failSet=new Set,this._options=Ga(null),this._typeOptions=Ga(null)}container(t){return new Ka(this,t)}register(t,e,n={}){let i=this.normalize(t);this._failSet.delete(i),this.registrations[i]=e,this._options[i]=n}unregister(t){let e=this.normalize(t);delete this.registrations[e],delete this._resolveCache[e],delete this._options[e],this._failSet.delete(e)}resolve(t){let e=function(t,e){let n,i=e,r=t._resolveCache[i];return void 0!==r?r:t._failSet.has(i)?void 0:(t.resolver&&(n=t.resolver.resolve(i)),void 0===n&&(n=t.registrations[i]),void 0===n?t._failSet.add(i):t._resolveCache[i]=n,n)}(this,this.normalize(t));return void 0===e&&null!==this.fallback&&(e=this.fallback.resolve(t)),e}describe(t){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(t):null!==this.fallback?this.fallback.describe(t):t}normalizeFullName(t){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(t):null!==this.fallback?this.fallback.normalizeFullName(t):t}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this.normalizeFullName(t))}makeToString(t,e){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(t,e):null!==this.fallback?this.fallback.makeToString(t,e):"string"==typeof t?t:t.name??"(unknown class)"}has(t){return!!this.isValidFullName(t)&&function(t,e){return void 0!==t.resolve(e)}(this,this.normalize(t))}optionsForType(t,e){this._typeOptions[t]=e}getOptionsForType(t){let e=this._typeOptions[t];return void 0===e&&null!==this.fallback&&(e=this.fallback.getOptionsForType(t)),e}options(t,e){let n=this.normalize(t);this._options[n]=e}getOptions(t){let e=this.normalize(t),n=this._options[e];return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(t)),n}getOption(t,e){let n=this._options[t];if(void 0!==n&&void 0!==n[e])return n[e];let i=t.split(":")[0];return n=this._typeOptions[i],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,i=Ga(null),r=Object.keys(this.registrations);for(let s of r)s.split(":")[0]===t&&(i[s]=!0);return null!==this.fallback&&(e=this.fallback.knownForType(t)),null!==this.resolver&&this.resolver.knownForType&&(n=this.resolver.knownForType(t)),Object.assign({},e,i,n)}isValidFullName(t){return rl.test(t)}}const ol=Ga(null),al=`${Math.random()}${Date.now()}`.replace(".","");function ll([t]){let e=ol[t];if(e)return e;let[n,i]=t.split(":");return ol[t]=M(`${n}:${i}-${al}`)}const ul=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?ul.call(r,e[t]):e[t]),r}function hl(t,e,n,i){if(!0===n)return e;let r=n._getter;if(void 0===r)return e;let s=i[t],o="function"==typeof s?yr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,u=et(r,a),c=n._setter,h=o._setter;if(l=void 0!==h?void 0!==c?et(c,h):h:c,u!==r||l!==c){let t=n._dependentKeys||[],e=new Yr([...t,{get:u,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,fr(e,Yr)}return e}function dl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function pl(t){return t?Array.isArray(t)?t:[t]:[]}function fl(t,e,n){return pl(n[t]).concat(pl(e))}function gl(t,e,n){let i=n[t];if(!i)return e;let r=Object.assign({},i),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,r[a]=dl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function ml(t,e,n,i,r,s,o){let a;for(let l=0;l{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else yl(e,a,n,i,r,s,o)}function yl(t,e,n,i,r,s,o){let a=cl("concatenatedProperties",e,i,r),l=cl("mergedProperties",e,i,r),u=Object.keys(e);for(let c of u){let u=e[c];if(void 0===u)continue;if(-1===s.indexOf(c)){s.push(c);let e=t.peekDescriptors(c);if(void 0===e){if(!_r(u)){let t=i[c]=r[c];"function"==typeof t&&_l(r,c,t,!1)}}else n[c]=e,o.push(c),e.teardown(r,c,t)}let h="function"==typeof u;if(h){let t=yr(u);if(void 0!==t){n[c]=hl(c,u,t,n),i[c]=void 0;continue}}a&&a.indexOf(c)>=0||"concatenatedProperties"===c||"mergedProperties"===c?u=fl(c,u,i):l&&l.indexOf(c)>-1?u=gl(c,u,i):h&&(u=dl(c,u,i,n)),i[c]=u,n[c]=void 0}}function _l(t,e,n,i){let r=Z(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Or:Ar;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Er:Cr;for(let i of o)n(t,i,null,e)}}function vl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,ml(e,s,i,r,t,o,a);for(let l of o){let e=r[l],o=i[l];void 0!==e?("function"==typeof e&&_l(t,l,e,!0),rs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&is(t,l,o,s)}return s.isPrototypeMeta(t)||Nr(t),t}const bl=new WeakSet;class wl{mixins;properties;ownerConstructor;_without;constructor(t,e){bl.add(this),this.properties=function(t){if(void 0!==t)for(let e of Object.keys(t)){let n=Object.getOwnPropertyDescriptor(t,e);void 0===n.get&&void 0===n.set||Object.defineProperty(t,e,{value:ur(n)})}return t}(e),this.mixins=xl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return no(),new this(t,void 0)}static mixins(t){let e=Wt(t),n=[];return null===e||e.forEachMixins(t=>{t.properties||n.push(t)}),n}reopen(...t){if(0===t.length)return this;if(this.properties){let t=new wl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(xl(t)),this}apply(t,e=!1){return vl(t,[this],e)}applyPartial(t){return vl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(bl.has(t))return Sl(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new wl([this]);return e._without=t,e}keys(){return El(this)}toString(){return"(unknown mixin)"}}function xl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iSl(t,e,n))}function El(t,e=new Set,n=new Set){if(!n.has(t)){if(n.add(t),t.properties){let n=Object.keys(t.properties);for(let t of n)e.add(t)}else t.mixins&&t.mixins.forEach(t=>El(t,e,n));return e}}const Cl=wl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:kl("register"),unregister:kl("unregister"),hasRegistration:kl("has"),registeredOption:kl("getOption"),registerOptions:kl("options"),registeredOptions:kl("getOptions"),registerOptionsForType:kl("optionsForType"),registeredOptionsForType:kl("getOptionsForType")});function kl(t){return function(...e){return this.__registry__[t](...e)}}const Tl=wl.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&ea(()=>{t.destroy(),ia("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Rl=wl.create({compare:null}),Pl=wl.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=us(this,"target");n&&n.send(...arguments)}});function Il(t){let e=us(t,"content");return ne(er(t),er(e)),e}function Ml(t,e,n){let i=$e(t),r=Ve(t,e,i);if(e in t)return r;{let s=[r,Ve(t,"content",i)],o=Il(t);return O(o)&&s.push(tr(o,e,n)),he(s)}}const Ol=wl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ml)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:Qr("content",function(){return Boolean(us(this,"content"))}),unknownProperty(t){let e=Il(this);return e?us(e,t):void 0},setUnknownProperty(t,e){let n=Ht(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ns(this,t,null,e),e):bs(Il(this),t,e)}}),Al=wl.create(),Ll=wl.create(Al),Fl=Object.freeze(Object.defineProperty({__proto__:null,default:Ll},Symbol.toStringTag,{value:"Module"})),zl=wl.create({target:null,action:null,actionContext:null,actionContextObject:Qr("actionContext",function(){let t=us(this,"actionContext");if("string"==typeof t){let e=us(this,t);return void 0===e&&(e=us(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||us(this,"action"),n=n||function(t){let e=us(t,"target");if(e){if("string"==typeof e){let n=us(t,e);return void 0===n&&(n=us(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=us(this,"actionContextObject")||this);let r=Array.isArray(i)?i:[i];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...r):n[e](...r),!1!==t)return!0}var s;return!1}});function Dl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const Nl={mixin(t){return t.on=this.on,t.off=this.off,t.trigger=this.trigger,t._promiseCallbacks=void 0,t},on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=Dl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=Dl(this);if(!e)return void(n[t]=[]);let i=n[t],r=i.indexOf(e);-1!==r&&i.splice(r,1)},trigger(t,e,n){let i=Dl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Zl(t,n):Xl(t,n)},e=>Jl(t,e))}(t,e):"function"==typeof n?function(t,e,n){jl.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Zl(t,n):Xl(t,n))},e=>{i||(i=!0,Jl(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Jl(t,r))},t)}(t,e,n):Zl(t,e)}function Xl(t,e){if(t===e)Zl(t,e);else if(function(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){let n;try{n=e.then}catch(Gz){return void Jl(t,Gz)}Kl(t,e,n)}else Zl(t,e)}function Yl(t){t._onError&&t._onError(t._result),tu(t)}function Zl(t,e){t._state===Vl&&(t._result=e,t._state=Wl,0===t._subscribers.length?jl.instrument&&ql("fulfilled",t):jl.async(tu,t))}function Jl(t,e){t._state===Vl&&(t._state=Hl,t._result=e,jl.async(Yl,t))}function Ql(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Wl]=n,r[s+Hl]=i,0===s&&t._state&&jl.async(tu,t)}function tu(t){let e=t._subscribers,n=t._state;if(jl.instrument&&ql(n===Wl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;oeu(r,s,n,o))}return s}class iu{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t($l,i),this._abortOnReject=n,this._isUsingOwnPromise=t===au,this._isUsingOwnResolve=t.resolve===Gl,this._init(...arguments)}_init(t,e){let n=e.length||0;this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(e)}_enumerate(t){let e=this.length,n=this.promise;for(let i=0;n._state===Vl&&ie(t)),e,n)}else this._willSettleAt(i.resolve(t),e,n)}_eachEntry(t,e,n){null!==t&&"object"==typeof t?this._settleMaybeThenable(t,e,n):this._setResultAt(Wl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Vl&&(this._abortOnReject&&t===Hl?Jl(r,n):(this._setResultAt(t,e,n,i),this._checkFullfillment()))}_setResultAt(t,e,n,i){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){Ql(t,void 0,t=>this._settledAt(Wl,e,t,n),t=>this._settledAt(Hl,e,t,n))}}function ru(t,e,n){this._remaining--,this._result[e]=t===Wl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const su="rsvp_"+Date.now()+"-";let ou=0,au=class t{constructor(e,n){this._id=ou++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],jl.instrument&&ql("created",this),$l!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){let n=!1;try{e(e=>{n||(n=!0,Xl(t,e))},e=>{n||(n=!0,Jl(t,e))})}catch(i){Jl(t,i)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}_onError(t){jl.after(()=>{this._onError&&jl.trigger("error",t,this._label)})}catch(t,e){return this.then(void 0,t,e)}finally(t,e){let n=this,i=n.constructor;return"function"==typeof t?n.then(e=>i.resolve(t()).then(()=>e),e=>i.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function lu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function uu(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tcu(t,e,n,i))}(s,i,t,this):cu(s,i,t,this)};return n.__proto__=t,n}function cu(t,e,n,i){try{n.apply(i,e)}catch(Gz){Jl(t,Gz)}return t}function hu(t,e){return au.all(t,e)}au.cast=Gl,au.all=function(t,e){return Array.isArray(t)?new iu(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},au.race=function(t,e){let n=this,i=new n($l,e);if(!Array.isArray(t))return Jl(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Vl&&rXl(i,t),t=>Jl(i,t));return i},au.resolve=Gl,au.reject=function(t,e){let n=new this($l,e);return Jl(n,t),n},au.prototype._guidKey=su,au.prototype.then=nu;class du extends iu{constructor(t,e,n){super(t,e,!1,n)}}function pu(t,e){return Array.isArray(t)?new du(au,t,e).promise:au.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function fu(t,e){return au.race(t,e)}du.prototype._setResultAt=ru;class gu extends iu{constructor(t,e,n=!0,i){super(t,e,n,i)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,i=Object.keys(t),r=i.length,s=this.promise;this._remaining=r;for(let o=0;s._state===Vl&&o{throw t}),t}function bu(t){let e={resolve:void 0,reject:void 0};return e.promise=new au((t,n)=>{e.resolve=t,e.reject=n},t),e}yu.prototype._setResultAt=ru;class wu extends iu{constructor(t,e,n,i){super(t,e,!0,i,n)}_init(t,e,n,i,r){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=r,this._enumerate(e)}_setResultAt(t,e,n,i){if(i)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(Gz){this._settledAt(Hl,e,Gz,!1)}else this._remaining--,this._result[e]=n}}function xu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("map expects a function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new wu(au,t,e,n).promise})}function Su(t,e){return au.resolve(t,e)}function Eu(t,e){return au.reject(t,e)}const Cu={};class ku extends wu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==Cu);Zl(this.promise,t),this._result=null}}_setResultAt(t,e,n,i){if(i){this._result[e]=n;let t,i=!0;try{t=this._mapFn(n,e)}catch(Gz){i=!1,this._settledAt(Hl,e,Gz,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=Cu)}}function Tu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("filter expects function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new ku(au,t,e,n).promise})}let Ru,Pu=0;function Iu(t,e){Du[Pu]=t,Du[Pu+1]=e,Pu+=2,2===Pu&&ju()}const Mu="undefined"!=typeof window?window:void 0,Ou=Mu||{},Au=Ou.MutationObserver||Ou.WebKitMutationObserver,Lu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Fu="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function zu(){return()=>setTimeout(Nu,1)}const Du=new Array(1e3);function Nu(){for(let t=0;tt(Nu)}():Au?function(){let t=0,e=new Au(Nu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Fu?function(){let t=new MessageChannel;return t.port1.onmessage=Nu,()=>t.port2.postMessage(0)}():void 0===Mu&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Ru=t.runOnLoop||t.runOnContext,void 0!==Ru?function(){Ru(Nu)}:zu()}catch(t){return zu()}}():zu(),jl.async=Iu,jl.after=t=>setTimeout(t,0);const Uu=Su,Bu=(t,e)=>jl.async(t,e);function qu(){jl.on(...arguments)}function Gu(){jl.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Ul("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&qu(e,t[e])}const $u={asap:Iu,cast:Uu,Promise:au,EventTarget:Nl,all:hu,allSettled:pu,race:fu,hash:mu,hashSettled:_u,rethrow:vu,defer:bu,denodeify:uu,configure:Ul,on:qu,off:Gu,resolve:Su,reject:Eu,map:xu,async:Bu,filter:Tu},Vu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:Nl,Promise:au,all:hu,allSettled:pu,asap:Iu,async:Bu,cast:Uu,configure:Ul,default:$u,defer:bu,denodeify:uu,filter:Tu,hash:mu,hashSettled:_u,map:xu,off:Gu,on:qu,race:fu,reject:Eu,resolve:Su,rethrow:vu},Symbol.toStringTag,{value:"Module"}));function Wu(t){let e=function(t){if(!t)return;let e=t;return e.errorThrown?function(t){let e=t.errorThrown;return"string"==typeof e&&(e=new Error(e)),Object.defineProperty(e,"__reason_with_error_thrown__",{value:t,enumerable:!1}),e}(e):"UnrecognizedURLError"!==t.name&&"TransitionAborted"!==t.name?t:void 0}(t);if(e)throw e}Ul("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Ul("after",t=>{Qo.schedule(Zo,null,t)}),qu("error",Wu);const{isArray:Hu}=Array;function Ku(t){return null==t?[]:Hu(t)?t:[t]}function Xu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Yu=wl.prototype.reopen,Zu=new WeakSet,Ju=new WeakMap,Qu=new Set;function tc(t){Qu.has(t)||t.destroy()}function ec(t,e){let n=Ht(t);if(void 0!==e){let i=t.concatenatedProperties,r=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=mr(t,o,n),l=void 0!==a;if(!l){if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=e?Ku(e).concat(s):Ku(s)}if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):Xu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let i=n.observerEvents();if(void 0!==i)for(let r=0;rn.willDestroy()),Ht(e).setInitializing()}reopen(...t){return vl(this,t),this}init(t){}get isDestroyed(){return zt(this)}set isDestroyed(t){}get isDestroying(){return Ft(this)}set isDestroying(t){}destroy(){Qu.add(this);try{At(this)}finally{Qu.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${el(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Yu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),nl(e,el(n))):e=new this,t.length<=1?ec(e,n):ec(e,ic.apply(this,t)),e}static reopen(...t){return this.willReopen(),Yu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Zu.has(t)&&(Zu.delete(t),Ju.has(this)&&Ju.set(this,wl.create(this.PrototypeMixin)))}static reopenClass(...t){return vl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return mr(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};Ht(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=Ju.get(this);return void 0===t&&(t=wl.create(),t.ownerConstructor=this,Ju.set(this,t)),t}static get superclass(){let t=Object.getPrototypeOf(this);return t!==Function.prototype?t:void 0}static proto(){let t=this.prototype;if(!Zu.has(t)){Zu.add(t);let e=this.superclass;e&&e.proto(),Ju.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${el(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function ic(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return J(e,{paths:s,sync:i}),e},set:bs,setProperties:Ns,trySet:xs},Symbol.toStringTag,{value:"Module"}));function dc(t){if(!(t instanceof MouseEvent))return!1;let e=t.shiftKey||t.metaKey||t.altKey||t.ctrlKey,n=t.which>1;return!e&&!n}function pc(t){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: "'+t+'"'}function fc(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let i=e[t];null===i.parentView&&n.push(i)}),n}function gc(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const mc=new WeakMap,yc=new WeakMap;function _c(t){return mc.get(t)||null}function vc(t){return yc.get(t)||null}function bc(t,e){mc.set(t,e)}function wc(t,e){yc.set(t,e)}function xc(t){mc.delete(t)}function Sc(t){yc.delete(t)}const Ec=new WeakMap;function Cc(t){return function(t,e){let n=[],i=Ec.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,Yi(t).lookup("-view-registry:main"))}function kc(t,e){let n=Ec.get(t);void 0===n&&(n=function(t){let e=new Set;return Ec.set(t,e),e}(t)),n.add(gc(e))}function Tc(t){return t.renderer.getBounds(t)}function Rc(t){let e=Tc(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Pc(t){return Rc(t).getClientRects()}function Ic(t){return Rc(t).getBoundingClientRect()}const Mc="ember-application";class Oc extends ac{events={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",focusin:"focusIn",focusout:"focusOut",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};rootElement="body";_eventHandlers=Object.create(null);_didSetup=!1;finalEventNameMapping=null;_sanitizedRootElement=null;lazyEvents=new Map;_reverseEventNameMapping=null;setup(t,e){let n=this.finalEventNameMapping={...us(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let i=n[e];return i?{...t,[i]:e}:t},{});let i=this.lazyEvents;null!=e&&bs(this,"rootElement",e);let r=us(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(Mc),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&i.set(o,n[o]??null);this._didSetup=!0}setupHandlerForBrowserEvent(t){this.setupHandler(this._sanitizedRootElement,t,this.finalEventNameMapping[t]??null)}setupHandlerForEmberEvent(t){let e=this._reverseEventNameMapping?.[t];e&&this.setupHandler(this._sanitizedRootElement,e,t)}setupHandler(t,e,n){if(null===n||!this.lazyEvents.has(e))return;let i=(t,e)=>{let i=_c(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(_c(e)){if(!1===i(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,r),this.lazyEvents.delete(e)}destroy(){if(!1===this._didSetup)return;let t=this._sanitizedRootElement;if(t){for(let e in this._eventHandlers)t.removeEventListener(e,this._eventHandlers[e]);return t.classList.remove(Mc),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Ac=wl.create({on(t,e,n){return Er(this,t,e,n),this},one(t,e,n){return Er(this,t,e,n,!0),this},trigger(t,...e){kr(this,t,e)},off(t,e,n){return Cr(this,t,e,n),this},has(t){return Tr(this,t)}}),Lc=Object.freeze(Object.defineProperty({__proto__:null,default:Ac,on:Rr},Symbol.toStringTag,{value:"Module"}));let Fc=class extends ac{},zc=[],Dc={};const Nc=(()=>{let t="undefined"!=typeof window&&window.performance||{},e=t.now||t.mozNow||t.webkitNow||t.msNow||t.oNow;return e?e.bind(t):Date.now})();function jc(t,e,n){return n()}function Uc(){}function Bc(t,e,n){if(0===zc.length)return Uc;let i=Dc[t];if(i||(i=function(t){let e=[];for(let n of zc)n.regex.test(t)&&e.push(n.object);return Dc[t]=e,e}(t)),0===i.length)return Uc;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=Nc();for(let c of i)a.push(c.before(t,l,s));const u=i;return function(){let e=Nc();for(let n=0;na);return l===Uc?s.call(o):function(t,e,n,i){try{return t.call(i)}catch(r){throw n.exception=r,r}finally{e()}}(s,l,a,o)},reset:function(){zc.length=0,Dc={}},subscribe:function(t,e){let n=t.split("."),i=[];for(let o of n)"*"===o?i.push("[^\\.]*"):i.push(o);let r=i.join("\\.");r=`${r}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${r}$`),object:e};return zc.push(s),Dc={},s},subscribers:zc,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),$c=Object.freeze({...Gc}),Vc=Object.freeze({...Gc,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||jc(0,0,()=>ea(t,t.trigger,e,n))}),Wc=Object.freeze({...Vc,enter(t){t.renderer.register(t)}}),Hc=Object.freeze({...Gc,appendChild(){throw new Error("You can't call appendChild on a view being destroyed")},rerender(){throw new Error("You can't call rerender on a view being destroyed")}}),Kc=Object.freeze({preRender:$c,inDOM:Wc,hasElement:Vc,destroying:Hc});var Xc=Object.defineProperty;((t,e)=>{for(var n in e)Xc(t,n,{get:e[n],enumerable:!0})})({},{c:()=>nh,f:()=>Zc,g:()=>Jc,i:()=>eh,m:()=>Qc,n:()=>th,p:()=>ih});var Yc=new WeakMap;function Zc(t,e,n,i){return Jc(t.prototype,e,n,i)}function Jc(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=Yc.get(t);i||(i=new Map,Yc.set(t,i)),i.set(e,n)}(t,e,r)}function Qc({prototype:t},e,n){return th(t,e,n)}function th(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function eh(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Yc.get(n)?.get(e);if(t)return t;n=n.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}function nh(t,e){return e.reduce((t,e)=>e(t)||t,t)}function ih(t,e){for(let[n,i,r]of e)"field"===n?rh(t,i,r):th(t,i,r);return t}function rh(t,e,n){let i={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let r of n)i=r(t,e,i)||i;i.initializer&&(i.value=i.initializer.call(t),delete i.initializer),Object.defineProperty(t,e,i)}class sh extends(Fc.extend(Ac,Pl)){isView=!0;_superTrigger;_superHas;init(t){super.init(t),this._superTrigger=this.trigger,this.trigger=this._trigger,this._superHas=this.has,this.has=this._has,this.parentView??=null,this._state="preRender",this._currentState=this._states.preRender}static{Jc(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void eh(this,"renderer");instrumentDetails(t){return t.object=this.toString(),t.containerKey=this._debugContainerKey,t.view=this,t}_trigger(t,...e){this._superTrigger(t,...e);let n=this[t];if("function"==typeof n)return n.apply(this,e)}_has(t){return"function"==typeof this[t]||this._superHas(t)}static isViewFactory=!0}sh.prototype._states=Kc;const oh=wl.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=us(this,"target");i&&i.send(...arguments)}}),ah={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object AsyncFunction]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:lh}=Object.prototype;function uh(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=ah[lh.call(t)]||"object";return"function"===e?nc.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof nc?e="instance":t instanceof Date&&(e="date")),e}const ch={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10,regexp:11,filelist:12,error:13};function hh(t,e){return Math.sign(t-e)}function dh(t,e){if(t===e)return 0;let n=uh(t),i=uh(e);if("instance"===n&&ph(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&ph(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=hh(ch[n],ch[i]);if(0!==r)return r;switch(n){case"boolean":return hh(Number(t),Number(e));case"number":return hh(t,e);case"string":return hh(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function mh(t,e=gh){let n=Oh(),i=new Set,r="function"==typeof e?e:t=>us(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function yh(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function _h(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function xh(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),_h(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Sh(t,e,n){return Ms(t,e,n??1,fh),t}function Eh(t,e,n){return Ms(t,e,0,[n]),n}function Ch(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Rh.detect(t))return!0;let e=uh(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function kh(t){let e=Qr(t);return e.enumerable=!1,e}function Th(t){return this.map(e=>us(e,t))}const Rh=wl.create(Al,{init(){this._super(...arguments),Gi.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":kh({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:kh(function(){return Ji(this,0)}).readOnly(),lastObject:kh(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Oh(),r=this.length;for(t<0&&(t=r+t),n=void 0===e||e>r?r:e<0?r+e:e;t=n)&&(e=n-1),e<0&&(e+=n);for(let i=e;i>=0;i--)if(Ji(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;ibs(n,t,e))},map(t,e=null){let n=Oh();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Th,filter(t,e=null){let n=Oh();return this.forEach((i,r,s)=>{t.call(e,i,r,s)&&n.push(i)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(yh(...arguments))},rejectBy(){return this.reject(yh(...arguments))},find(t,e=null){return vh(this,t,e)},findBy(){return vh(this,yh(...arguments))},every(t,e=null){return wh(this,t,e)},isEvery(){return wh(this,yh(...arguments))},any(t,e=null){return bh(this,t,e)},isAny(){return bh(this,yh(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,i){n=t(n,e,i,this)},this),n},invoke(t,...e){let n=Oh();return this.forEach(i=>n.push(i[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==xh(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let i=0;ie!==t:t=>t==t;return this.filter(e)}}),Ph=wl.create(Rh,Ll,{clear(){let t=this.length;return 0===t||this.replace(0,t,fh),this},insertAt(t,e){return Eh(this,t,e),this},removeAt(t,e){return Sh(this,t,e)},pushObject(t){return Eh(this,this.length,t)},pushObjects(t){return this.replace(this.length,0,t),this},popObject(){let t=this.length;if(0===t)return null;let e=Ji(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=Ji(this,0);return this.removeAt(0),t},unshiftObject(t){return Eh(this,0,t)},unshiftObjects(t){return this.replace(0,0,t),this},reverseObjects(){let t=this.length;if(0===t)return this;let e=this.toArray().reverse();return this.replace(0,t,e),this},setObjects(t){if(0===t.length)return this.clear();let e=this.length;return this.replace(0,e,t),this},removeObject(t){let e=this.length||0;for(;--e>=0;)Ji(this,e)===t&&this.removeAt(e);return this},removeObjects(t){Wr();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return Hr(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return Wr(),t.forEach(t=>this.addObject(t)),Hr(),this}});let Ih=wl.create(Ph,sc,{objectAt(t){return this[t]},replace(t,e,n=fh){return As(this,t,e,n),this}});const Mh=["length"];let Oh;Ih.keys().forEach(t=>{Array.prototype[t]&&Mh.push(t)}),Ih=Ih.without(...Mh),Oh=function(t){return $i(t)?t:Ih.apply(t??[])};const Ah=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Oh},MutableArray:Ph,get NativeArray(){return Ih},default:Rh,isArray:Ch,makeArray:Ku,removeAt:Sh,uniqBy:mh},Symbol.toStringTag,{value:"Module"})),Lh=ct("MODEL"),Fh=wl.create(Pl,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=Yi(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:Qr({get(){return this[Lh]},set(t,e){return this[Lh]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,us(t,i))}});class zh extends(Fc.extend(Fh)){}const Dh=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Fh,default:zh,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),Nh=Symbol("ENGINE_PARENT");function jh(t){return t[Nh]}class Uh extends(ac.extend(Cl,Tl)){static setupRegistry(t,e){}[Nh];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new sl({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Vu.Promise(e=>{e(this._bootSync(t))})),this._bootPromise}_bootSync(t){return this._booted||(this.cloneParentDependencies(),this.setupRegistry(t),this.base.runInstanceInitializers(this),this._booted=!0),this}setupRegistry(t=this.__container__.lookup("-environment:main")){this.constructor.setupRegistry(this.__registry__,t)}unregister(t){this.__container__.reset(t),this.__registry__.unregister(t)}buildChildEngineInstance(t,e={}){let n=this.lookup(`engine:${t}`);if(!n)throw new Error(`You attempted to mount the engine '${t}', but it is not registered with its parent.`);let i=n.buildInstance(e);return i[Nh]=this,i}cloneParentDependencies(){const t=jh(this);["route:basic","service:-routing"].forEach(e=>{let n=t.resolveRegistration(e);this.register(e,n)});let e=t.lookup("-environment:main");this.register("-environment:main",e,{instantiate:!1});let n=["router:main",ll`-bucket-cache:main`,"-view-registry:main","renderer:-dom","service:-document"];e.isInteractive&&n.push("event_dispatcher:main"),n.forEach(e=>{let n=t.lookup(e);this.register(e,n,{instantiate:!1})})}}let Bh=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Me(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function qh(...t){if(lr(t)){let[e,n,i]=t;return Bh(0,n,i)}{const e=t[0];let n=function(t,n){return Bh(0,n,e)};return vr(n),n}}vr(qh);var Gh=Object.create;function $h(){var t=Gh(null);return t.__=void 0,delete t.__,t}var Vh=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Vh.prototype.to=function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}};var Wh=function(t){this.routes=$h(),this.children=$h(),this.target=t};function Hh(t,e,n){return function(i,r){var s=t+i;if(!r)return new Vh(s,e,n);r(Hh(s,e,n))}}function Kh(t,e,n){for(var i=0,r=0;r0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var i=e.split("/"),r=void 0,s=void 0,o=0;o2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=r[1]?md(r[1]):""),a?n[s].push(l):n[s]=l}return n},yd.prototype.recognize=function(t){var e,n=[this.rootState],i={},r=!1,s=t.indexOf("#");-1!==s&&(t=t.substr(0,s));var o=t.indexOf("?");if(-1!==o){var a=t.substr(o+1,t.length);t=t.substr(0,o),i=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;yd.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Yh(t):(t=decodeURI(t),l=decodeURI(l));var u=t.length;u>1&&"/"===t.charAt(u-1)&&(t=t.substr(0,u-1),l=l.substr(0,l.length-1),r=!0);for(var c=0;c0){let r=t[i-1];if(function(t){if(t&&"object"==typeof t){let e=t;return"queryParams"in e&&Object.keys(e.queryParams).every(t=>"string"==typeof t)}return!1}(r))return n=r.queryParams,e=bd.call(t,0,i-1),[e,n]}return[t,null]}function Ed(t){for(let e in t){let n=t[e];if("number"==typeof n)t[e]=""+n;else if(Array.isArray(n))for(let t=0,e=n.length;t{throw this.router.transitionDidError(t,this)},Id("Handle Abort"))}else this.promise=au.resolve(this[Md]),this[Od]={}}then(t,e,n){return this.promise.then(t,e,n)}catch(t,e){return this.promise.catch(t,e)}finally(t,e){return this.promise.finally(t,e)}abort(){this.rollback();let t=new Fd(this.router,void 0,void 0,void 0);return t.to=this.from,t.from=this.from,t.isAborted=!0,this.router.routeWillChange(t),this.router.routeDidChange(t),this}rollback(){this.isAborted||(Cd(this.router,this.sequence,this.targetName+": transition was aborted"),void 0!==this.intent&&null!==this.intent&&(this.intent.preTransitionState=this.router.state),this.isAborted=!0,this.isActive=!1,this.router.activeTransition=void 0)}redirect(t){this[Ld]=t,this.rollback(),this.router.routeWillChange(t)}retry(){this.abort();let t=this.router.transitionByIntent(this.intent,!1);return null!==this.urlMethod&&t.method(this.urlMethod),t}method(t){return this.urlMethod=t,this}send(t=!1,e,n,i,r){this.trigger(t,e,n,i,r)}trigger(t=!1,e,...n){"string"==typeof t&&(e=t,t=!1),this.router.triggerEvent(this[Md].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Ld]?this[Ld].followRedirects():au.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){Cd(this.router,this.sequence,t)}}function zd(t){return Cd(t.router,t.sequence,"detected abort."),_d()}function Dd(t){return"object"==typeof t&&t instanceof Fd&&t.isTransition}const Nd=function(){function t(e){let n=Error.call(this,e);this.name="UnrecognizedURLError",this.message=e||"UnrecognizedURL",Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=n.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function jd(t,e){let n=t.factoryFor("controller:basic").class;n=class extends n{toString(){return`(generated ${e} controller)`}};let i=`controller:${e}`;return t.register(i,n),t.factoryFor(i)}function Ud(t,e){jd(t,e);let n=`controller:${e}`;return t.lookup(n)}const Bd=/\./g;function qd(t){let e,n,i=(t=t.slice())[t.length-1];return function(t){if(t&&"object"==typeof t){let e=t.queryParams;if(e&&"object"==typeof e)return Object.keys(e).every(t=>"string"==typeof t)}return!1}(i)?(t.pop(),e=i.queryParams):e={},"string"==typeof t[0]&&(n=t.shift()),{routeName:n,models:t,queryParams:e}}function Gd(t,e){if(e._namesStashed)return;let n,i=e[e.length-1].name,r=t._routerMicrolib.recognizer.handlersFor(i);for(let s=0;s(t[e]=n,t),s)}serializeQueryParamKey(t){return t}serializeQueryParam(t,e,n){return this._router._serializeQueryParam(t,n)}deserializeQueryParam(t,e,n){return this._router._deserializeQueryParam(t,n)}_optionsForQueryParam(t){const e=us(this,"queryParams");return us(e,t.urlKey)||us(e,t.prop)||e[t.urlKey]||e[t.prop]||{}}resetController(t,e,n){return this}exit(t){this.deactivate(t),this.trigger("deactivate",t),this.teardownViews()}_internalReset(t,e){let n=this.controller;n._qpDelegate=us(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Yd]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=Yi(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],Hd(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${r}.${n}`,e[0]=n}return e}(this,t);this._router.intermediateTransitionTo(e,...n)}refresh(){return this._router._routerMicrolib.refresh(this)}setup(t,e){let n=this.controllerName||this.routeName,i=this.controllerFor(n,!0)??this.generateController(n),r=us(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===mr(t,e)){let n=it(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ns(t,e,qh({get:n.get,set:n.set}))}Or(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){Gd(this._router,e[Md].routeInfos);let t=this._bucketCache,n=e[Od];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Vd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=tp(this,e[Md]);Ns(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Xd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Vd(n.route.fullRouteName,n.parts,n.values);i.stash(r,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,i,r=us(this,"_qp").map;for(let s in t){if("queryParams"===s||r&&s in r)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),i=!0}if(!n){if(i)return Object.assign({},t);if(e.resolveIndex<1)return;return e[Md].routeInfos[e.resolveIndex-1].context}}deserialize(t,e){return this.model(this._paramsFor(this.routeName,t),e)}setupController(t,e,n){t&&void 0!==e&&bs(t,"model",e)}controllerFor(t,e=!1){let n=Yi(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return Ud(Yi(this),t)}modelFor(t){let e,n=Yi(this),i=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==i?np(n,t):t;let r=n.lookup(`route:${e}`);if(null!=i){let t=r&&r.routeName||e;if(Object.prototype.hasOwnProperty.call(i.resolvedModels,t))return i.resolvedModels[t]}return r?.currentModel}[Yd]=void 0;[Xd](){this[Yd]=function(t){let e,n=Yi(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?xi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),ra(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Yd]&&(this[Yd]=void 0,ra(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=Yi(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{th(this.prototype,"_store",[Qr])}get _qp(){let t={},e=this.controllerName||this.routeName,n=Yi(this),i=n.lookup(`controller:${e}`),r=us(this,"queryParams"),s=Object.keys(r).length>0;i?t=function(t,e){let n={},i={defaultValue:!0,type:!0,scope:!0,as:!0};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]={...t[r],...e[r]},i[r]=!0);for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!i[r]&&(n[r]={...e[r],...t[r]});return n}(function(t){let e={};for(let n of t)Wd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Ud(n,e),t=r);let o=[],a={},l=[];for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;if("unknownProperty"===u||"_super"===u)continue;let n,r=t[u],s=r.scope||"model";"controller"===s&&(n=[]);let c=r.as||this.serializeQueryParamKey(u),h=us(i,u);h=ep(h);let d=r.type||uh(h),p=this.serializeQueryParam(h,c,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:h,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:c,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[c]=a[f]=g,o.push(g),l.push(u)}return{qps:o,map:a,propertyNames:l,states:{inactive:(t,e)=>{let n=a[t];this._qpChanged(t,e,n)},active:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._activeQPChanged(n,e)},allowOverrides:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._updatingQPChanged(n)}}}}static{th(this.prototype,"_qp",[Qr])}}function Jd(t){return t[Yd]}function Qd(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),i={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,i),n&&(e.fullQueryParams=i),i}function tp(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=Qd(t._router,e),s=e.queryParamsFor[n]={},o=us(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:ep(a.defaultValue)}return s}function ep(t){return Array.isArray(t)?Oh(t.slice()):t}function np(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const ip=Zd.prototype.serialize;Zd.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!v())this._router.send(...t);else{let e=t.shift(),n=this.actions[e];if(n)return n.apply(this,t)}},actions:{queryParamsDidChange(t,e,n){let i=us(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&us(this._optionsForQueryParam(t),"refreshModel")&&this._router.currentState){this.refresh();break}}return!0},finalizeQueryParamChange(t,e,n){if("application"!==this.fullRouteName)return!0;if(!n)return;let i,r=n[Md].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;Gd(s,r);for(let u of o.qps){let r,s,o=u.route,c=o.controller,h=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(c,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):h?(s=t[h],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=ep(u.defaultValue)),c._qpDelegate=us(o,"_qp").states.inactive,s!==u.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=us(o._optionsForQueryParam(u),"replace");t?i=!0:!1===t&&(i=!1)}bs(c,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:h||u.urlKey})}!0===l&&Ur(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=us(t.route,"_qp");t.route.controller._qpDelegate=us(e,"states.active")}),s._qpUpdates.clear()}}});class rp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let i=this.cache.get(t);void 0===i&&(i=new Map,this.cache.set(t,i)),i.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let i=this.cache.get(t);return i.has(e)?i.get(e):n}}let sp=0;function op(t){return"function"==typeof t}class ap{parent;matches;enableLoadingSubstates;explicitIndex=!1;options;constructor(t=null,e){this.parent=t,this.enableLoadingSubstates=Boolean(e&&e.enableLoadingSubstates),this.matches=[],this.options=e}route(t,e,n){let i,r=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(op(e)?(i={},r=e):op(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(up(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),up(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=lp(this,t,i.resetNamespace),n=new ap(e,this.options);up(n,"loading"),up(n,"error",{path:s}),r.call(n),up(this,t,i,n.generate())}else up(this,t,i)}push(t,e,n,i){let r=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);i&&(n.serializeMethod=i),this.options.addRouteForEngine(e,n)}else if(i)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==r[r.length-1]||(this.explicitIndex=!0),this.matches.push(t,e,n)}generate(){let t=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),e=>{for(let n=0;n0){let r=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,r),Kd(r,i.queryParams)}return!0}}let hp=new WeakMap;function dp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:u,route:c}=r,h=r;if(hp.has(h)&&n.includeAttributes){let t=hp.get(h);t=function(t,e){let n={get metadata(){return fp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(c,t);let e=pp(t,u);return i.set(h,t),n.localizeMapUpdates||hp.set(h,e),e}const d=n.localizeMapUpdates?i:hp;let p={find(e,n){let i,r=[];3===e.length&&(r=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(i=d.get(t[s]),e.call(n,i,s,r))return i},get name(){return o},get paramNames(){return l},get metadata(){return fp(r.route)},get parent(){let e=t[s-1];return void 0===e?null:d.get(e)},get child(){let e=t[s+1];return void 0===e?null:d.get(e)},get localName(){let t=this.name.split(".");return t[t.length-1]},get params(){return a},get queryParams(){return e}};return n.includeAttributes&&(p=pp(p,u)),i.set(r,p),n.localizeMapUpdates||hp.set(r,p),p})}function pp(t,e){let n={get attributes(){return e}};return!Object.isExtensible(t)||t.hasOwnProperty("attributes")?Object.freeze(Object.assign({},t,n)):Object.assign(t,n)}function fp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class gp{constructor(t,e,n,i){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,i&&this._processRoute(i)}getModel(t){return au.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return au.resolve(this.routePromise).then(e=>(vd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>vd(t)).then(()=>this.getModel(t)).then(e=>(vd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,i=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[Od]=t[Od]||{},t[Od][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=hp.get(this),o=new mp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&hp.set(o,s),o}shouldSupersede(t){if(!t)return!0;let e=t.context===this.context;return t.name!==this.name||"context"in this&&!e||this.hasOwnProperty("params")&&!function(t,e){if(t===e)return!0;if(!t||!e)return!1;for(let n in t)if(t.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}(this.params,t.params)}get route(){return null!==this._route?this._route:this.fetchRoute()}set route(t){this._route=t}get routePromise(){return this._routePromise||this.fetchRoute(),this._routePromise}set routePromise(t){this._routePromise=t}log(t,e){t.log&&t.log(this.name+": "+e)}updateRoute(t){return t._internalName=this.name,this.route=t}runBeforeModelHook(t){let e;return t.trigger&&t.trigger(!0,"willResolveModel",t,this.route),this.route&&void 0!==this.route.beforeModel&&(e=this.route.beforeModel(t)),Dd(e)&&(e=null),au.resolve(e)}runAfterModelHook(t,e){let n,i=this.name;var r;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=Dd(r=n)?null:r,au.resolve(n).then(()=>t.resolvedModels[i])}stashResolvedModel(t,e){t.resolvedModels=t.resolvedModels||{},t.resolvedModels[this.name]=e}fetchRoute(){let t=this.router.getRoute(this.name);return this._processRoute(t)}_processRoute(t){return this.routePromise=au.resolve(t),null!==(e=t)&&"object"==typeof e&&"function"==typeof e.then?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0;var e}}class mp extends gp{constructor(t,e,n,i,r,s){super(t,e,n,r),this.params=i,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),au.resolve(this)}}class yp extends gp{constructor(t,e,n,i,r){super(t,e,n,r),this.params={},i&&(this.params=i)}getModel(t){let e=this.params;t&&t[Ad]&&(e={},xd(e,this.params),e.queryParams=t[Ad]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&Dd(n)&&(n=void 0),au.resolve(n)}}class _p extends gp{constructor(t,e,n,i){super(t,e,n),this.context=i,this.serializer=this.router.getSerializer(e)}getModel(t){return void 0!==this.router.log&&this.router.log(this.name+": resolving provided model"),super.getModel(t)}serialize(t){let{paramNames:e,context:n}=this;t||(t=n);let i={};if(kd(t))return i[e[0]]=t,i;if(this.serializer)return this.serializer.call(null,t,e);if(void 0!==this.route&&this.route.serialize)return this.route.serialize(t,e);if(1!==e.length)return;let r=e[0];return/_id$/.test(r)?i[r]=t.id:i[r]=t,i}}class vp{constructor(t,e={}){this.router=t,this.data=e}}function bp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Ep(n,t.routeInfos[r].route,s,t)}function wp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=xp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function xp(t,e,n){let i=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!i){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return vd(e),wp(t,e)}class Sp{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Td(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Td(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=wp.bind(null,this,t),i=bp.bind(null,this,t);return au.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Ep{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class Cp extends vp{constructor(t,e,n,i=[],r={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=i,this.queryParams=r}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),i=n[n.length-1].handler;return this.applyToHandlers(t,n,i,e,!1)}applyToHandlers(t,e,n,i,r){let s,o,a=new Sp,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],c=o.handler,h=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(c,o.names,l,h):this.getHandlerInfoForDynamicSegment(c,o.names,l,h,n,s):this.createParamHandlerInfo(c,o.names,l,h),r){d=d.becomeResolved(null,d.context);let t=h&&h.context;o.names.length>0&&void 0!==h.context&&d.context===t&&(d.params=h&&h.params),d.context=t}let p=h;(s>=u||d.shouldSupersede(h))&&(u=Math.min(s,u),p=d),i&&!r&&(p=p.becomeResolved(null,p.context)),a.routeInfos.unshift(p)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(a.routeInfos,u),xd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&xd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],kd(o))return this.createParamHandlerInfo(t,e,n,i);n.pop()}else{if(i&&i.name===t)return i;if(!this.preTransitionState)return i;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new _p(this.router,t,e,o)}createParamHandlerInfo(t,e,n,i){let r={},s=e.length,o=[];for(;s--;){let a=i&&t===i.name&&i.params||{},l=n[n.length-1],u=e[s];kd(l)?r[u]=""+n.pop():a.hasOwnProperty(u)?r[u]=a[u]:o.push(u)}if(o.length>0)throw new Error(`You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route ${t}. Missing params: ${o}`);return new yp(this.router,t,e,r)}}class kp extends vp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Sp,r=this.router.recognizer.recognize(this.url);if(!r)throw new Nd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new Nd(o);return t}for(e=0,n=r.length;e=0&&i;--n){let r=e[n],s=r.handler;t.add(e,{as:s}),i="/"===r.path||""===r.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,i){if(this.fireQueryParamDidChange(i,t),!e&&this.activeTransition)return this.activeTransition;{let t=new Fd(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Ad]=i.queryParams,this.toReadOnlyInfos(t,i),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,i.routeInfos,!0),this.routeDidChange(t)),e),null,Id("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new Fd(this,t,void 0,n,void 0)}}recognize(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=dp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return au.reject(`URL ${t} was not recognized`);let i=new Fd(this,e,n,void 0);return i.then(()=>{let t=dp(n.routeInfos,i[Ad],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(e){return null}}getTransitionByIntent(t,e){let n,i=!!this.activeTransition,r=i?this.activeTransition[Md]:this.state,s=t.applyToState(r,e),o=Rd(r.queryParams,s.queryParams);if(Rp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Fd(this,void 0,void 0)}if(e){let t=new Fd(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Fd(this,t,s,void 0,this.activeTransition),function(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;nthis.finalizeTransition(n,t),null,Id("Settle transition promise when transition is finalized")),i||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let i,r=e[e.length-1],s={};if(r&&Object.prototype.hasOwnProperty.call(r,"queryParams")&&(s=e.pop().queryParams),void 0===t){Cd(this,"Updating query params");let{routeInfos:t}=this.state;i=new Cp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(Cd(this,"Attempting URL transition to "+t),i=new kp(this,t)):(Cd(this,"Attempting transition to "+t),i=new Cp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{Cd(t.router,t.sequence,"Resolved all models on destination route; finalizing transition.");let n=e.routeInfos;return this.setupContexts(e,t),t.isAborted?(this.state.routeInfos=this.currentRouteInfos,au.reject(zd(t))):(this._updateURL(t,e),t.isActive=!1,this.activeTransition=void 0,this.triggerEvent(this.currentRouteInfos,!0,"didTransition",[]),this.didTransition(this.currentRouteInfos),this.toInfos(t,e.routeInfos,!0),this.routeDidChange(t),Cd(this,t.sequence,"TRANSITION COMPLETE."),n[n.length-1].route)}catch(i){if("object"!=typeof(n=i)||null===n||"TRANSITION_ABORTED"!==n.code){let e=t[Md].routeInfos;t.trigger(!0,"error",i,t,e[e.length-1].route),t.abort()}throw i}var n}setupContexts(t,e){let n,i,r,s=this.partitionRoutes(this.state,t);for(n=0,i=s.exited.length;n=0;--o){let t=i[o];xd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let i=this.recognizer.generate(r,s),o=t.isCausedByInitialTransition,a="replace"===n&&!t.isCausedByAbortingTransition,l=t.queryParamsOnly&&"replace"===n,u="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||u?this.replaceURL(i):this.updateURL(i)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let i=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,i,n]),n&&(n._visibleQueryParams={});let r={};for(let s=0,o=i.length;s0){let n=dp(e,Object.assign({},this._lastQueryParams),{includeAttributes:!0,localizeMapUpdates:!1});t.from=n[n.length-1]||null}}toInfos(t,e,n=!1){if(void 0!==t&&e.length>0){let i=dp(e,Object.assign({},t[Ad]),{includeAttributes:n,localizeMapUpdates:!1});t.to=i[i.length-1]||null}}notifyExistingHandlers(t,e){let n,i,r,s,o=this.state.routeInfos;for(i=o.length,n=0;n{t.setURL(n),bs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return Np.bind(e)(t,n,i,r)}routeWillChange(t){e.trigger("routeWillChange",t),e._routerService.trigger("routeWillChange",t),t.isIntermediate&&e.set("currentRoute",t.to)}routeDidChange(t){e.set("currentRoute",t.to),ra(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?zd(n):(n.trigger(!1,"error",t.error,n,t.route),e._isErrorHandled(t.error)?(n.rollback(),this.routeDidChange(n),t.error):(n.abort(),t.error))}replaceURL(n){t.replaceURL?ra(()=>{t.replaceURL(n),bs(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[Ip],o=this._buildDSL();o.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){for(let t=0;tn.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new ap(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(Ba(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=us(this,"initialURL");void 0===t&&(t=us(this,"location").getURL());let e=this.handleURL(t);if(e&&e.error)throw e.error}}setupRouter(){if(this._didSetupRouter)return!1;this._didSetupRouter=!0,this._setupLocation();let t=us(this,"location");return!us(t,"cancelRouterSetup")&&(this._initRouterJs(),t.onUpdateURL(t=>{this.handleURL(t)}),!0)}_setOutlets(){if(this.isDestroying||this.isDestroyed)return;let t=this._routerMicrolib.currentRouteInfos;if(!t)return;let e=null,n=null;for(let i of t){let t=Jd(i.route);if(!t)break;{let i={render:t,outlets:{main:void 0}};n?n.outlets.main=i:e=i,n=i}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=Ba(this),n=t.factoryFor("view:-outlet"),i=t.lookup("application:main"),r=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:r,template:s,application:i}),this._toplevelView.setOutletState(e);let o=t.lookup("-application-instance:main");o&&o.didCreateRootView(this._toplevelView)}}handleURL(t){let e=t.split(/#(.+)?/)[0];return this._doURLTransition("handleURL",e)}_doURLTransition(t,e){this._initialTransitionStarted=!0;let n=this._routerMicrolib[t](e||"/");return Bp(n,this),n}transitionTo(...t){if(Hd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Up(this)}replaceWith(...t){return this.transitionTo(...t).method("replace")}generate(t,...e){let n=this._routerMicrolib.generate(t,...e);return this.location.formatURL(n)}isActive(t){return this._routerMicrolib.isActive(t)}isActiveIntent(t,e,n){return this.currentState.isActiveIntent(t,e,n)}send(t,...e){this._routerMicrolib.trigger(t,...e)}hasRoute(t){return this._routerMicrolib.hasRoute(t)}reset(){this._didSetupRouter=!1,this._initialTransitionStarted=!1,this._routerMicrolib&&this._routerMicrolib.reset()}willDestroy(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),super.willDestroy(),this.reset();let t=this._engineInstances;for(let e in t){let n=t[e];for(let t in n)ta(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,ra(this,this._fireQueryParamTransition)}_updatingQPChanged(t){this._qpUpdates.add(t)}_fireQueryParamTransition(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()}_setupLocation(){let t=this.location,e=this.rootURL,n=Ba(this);"string"==typeof t&&(t=bs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&bs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{if(i)delete e[t],e[i.urlKey]=i.route.serializeQueryParam(n,i.urlKey,i.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,uh(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{i&&(delete e[t],e[i.prop]=i.route.deserializeQueryParam(n,i.urlKey,i.type))})}_deserializeQueryParam(t,e){return null==t?t:"boolean"===e?"true"===t:"number"===e?Number(t).valueOf():"array"===e?Oh(JSON.parse(t)):t}_pruneDefaultQueryParamValues(t,e){let n=this._queryParamsFor(t);for(let i in e){let t=n.map[i];t&&t.serializedDefaultValue===e[i]&&delete e[i]}}_doTransition(t,e,n,i){let r=t||function(t){let e=t.activeTransition?t.activeTransition[Md].routeInfos:t.state.routeInfos;return e[e.length-1].name}(this._routerMicrolib);this._initialTransitionStarted=!0;let s={};this._processActiveTransitionQueryParams(r,e,s,n),Object.assign(s,n),this._prepareQueryParams(r,e,s,Boolean(i));let o=this._routerMicrolib.transitionTo(r,...e,{queryParams:s});return Bp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=Qd(this,this._routerMicrolib.activeTransition[Md]);for(let a in o)s.has(a)||(r[a]=o[a]);this._fullyScopeQueryParams(t,e,i),this._fullyScopeQueryParams(t,e,r),Object.assign(n,r)}_prepareQueryParams(t,e,n,i){let r=jp(this,t,e);this._hydrateUnsuppliedQueryParams(r,n,Boolean(i)),this._serializeQueryParams(r.routeInfos,n),i||this._pruneDefaultQueryParamValues(r.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&us(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let i,r=!0,s={},o=[];for(let l of t)if(i=this._getQPMeta(l),i){for(let t of i.qps)o.push(t);Object.assign(s,i.map)}else r=!1;let a={qps:o,map:s};return r&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let i,r=jp(this,t,e).routeInfos;for(let s of r)if(i=this._getQPMeta(s),i)for(let t of i.qps){let e=t.prop in n&&t.prop||t.scopedPropertyName in n&&t.scopedPropertyName||t.urlKey in n&&t.urlKey;e&&e!==t.scopedPropertyName&&(n[t.scopedPropertyName]=n[e],delete n[e])}}_hydrateUnsuppliedQueryParams(t,e,n){let i,r,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(i=this._getQPMeta(l),i)for(let n=0,o=i.qps.length;n=0;--n){let i=t[n],r=i.route;if(void 0!==r&&!0!==e(r,i))return}}let Lp={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];Ap(t,(t,n)=>{if(n!==r){let n=zp(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Fp(t,"error");return!s||(i._markErrorAsHandled(e),i.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,i=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&i.push(e),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),console.error(...i)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,i=t[t.length-1];Ap(t,(t,r)=>{if(r!==i){let e=zp(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Fp(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Fp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return Dp(n,s,`${i}_${e}`,o)?o:""}function zp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return Dp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function Dp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function Np(t,e,n,i){if(!t){if(e)return;throw new Error(`Can't trigger action '${n}' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call \`.send()\` on the \`Transition\` object passed to the \`model/beforeModel/afterModel\` hooks.`)}let r,s,o,a=!1;for(let u=t.length-1;u>=0;u--)if(r=t[u],s=r.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,i))return void("error"===n&&s._router._markErrorAsHandled(i[0]));a=!0}let l=Lp[n];if(l)l.call(this,t,...i);else if(!a&&!e)throw new Error(`Nothing handled the action '${n}'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.`)}function jp(t,e,n){let i=t._routerMicrolib.applyIntent(e,n),{routeInfos:r,params:s}=i;for(let o of r)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return i}function Up(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Op._routePath(e),i=e[e.length-1].name,r=t.location.getURL();bs(t,"currentPath",n),bs(t,"currentRouteName",i),bs(t,"currentURL",r)}function Bp(t,e){let n=new cp(e,e._routerMicrolib,t[Md]);e.currentState||e.set("currentState",n),e.set("targetState",n),t.promise=t.catch(t=>{if(!e._isErrorHandled(t))throw t;e._clearHandledError(t)},"Transition Error")}function qp(t,e,n,i){let r=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&i(s,n[s],r.map[s])}function Gp(t){return void 0!==t.hash?t.hash.substring(0):""}Op.reopen({didTransition:function(){Up(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:Qr(function(){let t=us(this,"location");if("string"!=typeof t)return t.getURL()})});class $p extends ac{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return Gp(this.location)}getURL(){let t=this.getHash().substring(1),e=t;return"/"!==e[0]&&(e="/",t&&(e+=`#${t}`)),e}setURL(t){this.location.hash=t,this.lastSetURL=t}replaceURL(t){this.location.replace(`#${t}`),this.lastSetURL=t}lastSetURL=null;onUpdateURL(t){this._removeEventListener(),this._hashchangeHandler=na(this,function(){let e=this.getURL();this.lastSetURL!==e&&(this.lastSetURL=null,t(e))}),window.addEventListener("hashchange",this._hashchangeHandler)}formatURL(t){return`#${t}`}willDestroy(){this._removeEventListener()}_removeEventListener(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}}let Vp=!1;function Wp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e,n;return e=16*Math.random()|0,n="x"===t?e:3&e|8,n.toString(16)})}class Hp extends ac{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return Gp(this.location)}init(){this._super(...arguments);let t=document.querySelector("base"),e="";null!==t&&t.hasAttribute("href")&&(e=t.getAttribute("href")??""),this.baseURL=e,this.location=this.location??window.location,this._popstateHandler=void 0}initState(){let t=this.history??window.history;this.history=t;let{state:e}=t,n=this.formatURL(this.getURL());e&&e.path===n?this._previousURL=this.getURL():this.replaceState(n)}getURL(){let{location:t,rootURL:e,baseURL:n}=this,i=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let r=i.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return r+=(t.search||"")+this.getHash(),r}setURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.pushState(t)}replaceURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.replaceState(t)}pushState(t){let e={path:t,uuid:Wp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Wp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Vp||(Vp=!0,this.getURL()!==this._previousURL))&&t(this.getURL())},window.addEventListener("popstate",this._popstateHandler)}formatURL(t){let{rootURL:e,baseURL:n}=this;return""!==t?(e=e.replace(/\/$/,""),n=n.replace(/\/$/,"")):"/"===n[0]&&"/"===e[0]&&(n=n.replace(/\/$/,"")),n+e+t}willDestroy(){this._removeEventListener()}_removeEventListener(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}}class Kp extends ac{updateCallback;initState(){this._super(...arguments);let{rootURL:t}=this}getURL(){let{path:t,rootURL:e}=this;return e=e.replace(/\/$/,""),t.replace(new RegExp(`^${e}(?=/|$)`),"")}setURL(t){this.path=t}onUpdateURL(t){this.updateCallback=t}handleURL(t){this.path=t,this.updateCallback&&this.updateCallback(t)}formatURL(t){let{rootURL:e}=this;return""!==t&&(e=e.replace(/\/$/,"")),e+t}}function Xp(t){return Ss(t).readOnly()}Kp.reopen({path:"",rootURL:"/"});const Yp=/[ _]/g,Zp=new Vi(1e3,t=>{return(e=t,rf.get(e)).replace(Yp,"-");var e}),Jp=/^(-|_)+(.)?/,Qp=/(.)(-|_|\.|\s)+(.)?/g,tf=/(^|\/|\.)([a-z])/g,ef=new Vi(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),nf=/([a-z\d])([A-Z])/g,rf=new Vi(1e3,t=>t.replace(nf,"$1_$2").toLowerCase());function sf(t){return Zp.get(t)}function of(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let af=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function lf(t){return function(t,e=af){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function uf(t){return{options:t,test:!of(t),isEnabled:of(t)||lf(t),isRemoved:lf(t)}}const cf={DEPRECATE_IMPORT_INJECT:uf({for:"ember-source",id:"importing-inject-from-ember-service",since:{available:"6.2.0",enabled:"6.3.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/importing-inject-from-ember-service"}),DEPRECATE_AMD_BUNDLES:uf({for:"ember-source",id:"using-amd-bundles",since:{available:"6.10.0",enabled:"6.10.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/using-amd-bundles"})};function hf(...t){return ms("service",...t)}class df extends Fc{static isServiceFactory=!0}const pf=Object.freeze(Object.defineProperty({__proto__:null,default:df,inject:function(...t){return function(t,e){const{options:n}=e;if(e.isRemoved)throw new Error(`The API deprecated by ${n.id} was removed in ember-source ${n.until}. The message was: Importing \`inject\` from \`@ember/service\` is deprecated. Please import \`service\` instead.. Please see ${n.url} for more details.`)}(0,cf.DEPRECATE_IMPORT_INJECT),ms("service",...t)},service:hf},Symbol.toStringTag,{value:"Module"})),ff=Symbol("ROUTER");function gf(t,e){return"/"===e?t:t.substring(e.length)}class mf extends(df.extend(Ac)){[ff];get _router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[ff]=e}willDestroy(){super.willDestroy(),this[ff]=void 0}transitionTo(...t){if(Hd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._router._doTransition(e,n,i,!0)}replaceWith(...t){return this.transitionTo(...t).method("replace")}urlFor(t,...e){return this._router.setupRouter(),this._router.generate(t,...e)}isActive(...t){let{routeName:e,models:n,queryParams:i}=qd(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(Se(Ve(this._router,"currentURL")),!r.isActiveIntent(e,n))return!1;if(Object.keys(i).length>0){let t=e;i=Object.assign({},i),this._router._prepareQueryParams(t,n,i,!0);let s=Object.assign({},r.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),Kd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=Yi(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{Jc(this.prototype,"currentRouteName",[Xp("_router.currentRouteName")])}#u=void eh(this,"currentRouteName");static{Jc(this.prototype,"currentURL",[Xp("_router.currentURL")])}#c=void eh(this,"currentURL");static{Jc(this.prototype,"location",[Xp("_router.location")])}#h=void eh(this,"location");static{Jc(this.prototype,"rootURL",[Xp("_router.rootURL")])}#d=void eh(this,"rootURL");static{Jc(this.prototype,"currentRoute",[Xp("_router.currentRoute")])}#p=void eh(this,"currentRoute")}class yf extends df{[ff];get router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[ff]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,i){let r=this.router._doTransition(t,e,n);return i&&r.method("replace"),r}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let i={};return n&&(Object.assign(i,n),this.normalizeQueryParams(t,e,i)),this.router.generate(t,...e,{queryParams:i})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(i){return}}isActiveForRoute(t,e,n,i){let r=this.router._routerMicrolib.recognizer.handlersFor(n),s=r[r.length-1].handler,o=function(t,e){let n=0;for(let i=0;io&&(n=s),i.isActiveIntent(n,t,e)}}yf.reopen({targetState:Xp("router.targetState"),currentState:Xp("router.currentState"),currentRouteName:Xp("router.currentRouteName"),currentPath:Xp("router.currentPath")});class _f{constructor(t){this.buffer=t,this.size=0}encode(t,e,...n){if(t>255)throw new Error(`Opcode type over 8-bits. Got ${t}.`);let i=t|e|arguments.length-2<<8;this.buffer.push(i);for(const r of n)this.buffer.push(r);this.size=this.buffer.length}patch(t,e){if(-1!==this.buffer[t+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.");this.buffer[t+1]=e}}const vf=32,bf=31;function wf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function xf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===bf||n===vf||n===t}}[1,-1].forEach(t=>{return e=wf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Sf=xf(39),Ef=xf(38),Cf=xf(37),kf=xf(35);function Tf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Rf(t){return{type:1,value:t}}function Pf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Mf(t){return{type:8,value:t}}class Of{label(t,e){this.labels[t]=e}target(t,e){this.targets.push({at:t,target:e})}patch(t){let{targets:e,labels:n}=this;for(const{at:i,target:r}of e){let e=n[r]-i;t.getbyaddr(i),t.setbyaddr(i,e)}}constructor(){this.labels=rn(),this.targets=[]}}function Af(t,e,n,i){let{program:{constants:r},resolver:s}=e;if(function(t){return t<1e3}(i[0])){let[e,...n]=i;t.push(r,e,...n)}else switch(i[0]){case 1e3:return t.label(i[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,i,r]){if(Sf(i),i[0]===vf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[i[1]];r(e.component(a,s,!1,o?.at(i[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupComponent?.(a,o)??null;r(e.resolvedComponent(l,a))}}(s,r,n,i);case 1003:return function(t,e,n,[,i,r]){Ef(i);let s=i[0];if(s===vf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===bf){let{symbols:{upvars:s}}=n,o=s[i[1]],a=t?.lookupBuiltInModifier?.(o)??null;r(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupModifier?.(a,o)??null;r(e.modifier(l))}}(s,r,n,i);case 1005:return function(t,e,n,[,i,r]){Cf(i);let s=i[0];if(s===vf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===bf)r(Tf(i,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupHelper?.(a,o)??null;r(e.helper(l,a))}}(s,r,n,i);case 1007:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s}]){kf(i);let o=i[0];if(o===vf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],u=e.component(l,o,!0,a?.at(i[1]));if(null!==u)return void r(u);s(e.helper(l,null,!0))}else if(o===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)r(e.resolvedComponent(u,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,r,n,i);case 1008:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s,ifValue:o}]){kf(i);let a=i[0];if(a===vf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,u=t[i[1]];if("function"!=typeof u&&("object"!=typeof u||null===u))return void o(e.value(u));let c=e.component(u,a,!0,l?.at(i[1]));if(null!==c)return void r(c);let h=e.helper(u,null,!0);if(null!==h)return void s(h);o(e.value(u))}else if(a===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)return void r(e.resolvedComponent(u,l));let c=t?.lookupHelper?.(l,a)??null;null!==c&&s(e.helper(c,l))}}(s,r,n,i);case 1010:{let[,t,e]=i;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=i,s=n.scopeValues[t];e(r.value(s));break}default:throw new Error(`Unexpected high level opcode ${i[0]}`)}}class Lf{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new an,this.encoder=new _f([]),this.errors=[],this.handle=t.malloc()}error(t){this.encoder.encode(30,0),this.errors.push(t)}commit(t){let e=this.handle;return this.heap.pushMachine(5),this.heap.finishMalloc(e,t),(n=this.errors)&&n.length>0?{errors:this.errors,handle:e}:e;var n}push(t,e,...n){let{heap:i}=this;var r;let s=e|((r=e)>=0&&r<=15?Vn:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?wf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function qf(t,e,n,i){t(0),Yf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Yf(t,e,n,!1),t(33,2,1),t(107),i?(t(36,8),i(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function $f(t,e,n,i,r){t(0),Yf(t,i,r,!1),t(86),jf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Vf(t,e,n){Yf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Wf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):Bf(t,null)}(t,e&&e[1]),t(62),Xf(t,e)}function Hf(t,e){t(0),Xf(t,e),t(61),t(2),t(1)}function Kf(t,e,n){let i=e[1],r=i.length,s=Math.min(n,r);if(0!==s){if(t(0),s){t(39);for(let e=0;e{for(let n of e)jf(t,n);t(27,e.length)}),Df.add(28,(t,[,e,n,i])=>{Cf(e)?t(1005,e,e=>{qf(t,e,n,i)}):(jf(t,e),Gf(t,n,i))}),Df.add(50,(t,[,e,n,i,r])=>{$f(t,n,e,i,r)}),Df.add(30,(t,[,e,n])=>{t(21,e),Nf(t,n)}),Df.add(vf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),Nf(t,n)})}),Df.add(bf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(27,t=>Uf(t,void 0)),Df.add(48,(t,[,e])=>{jf(t,e),t(25)}),Df.add(49,(t,[,e])=>{jf(t,e),t(24),t(61),t(26)}),Df.add(52,(t,[,e,n,i])=>{jf(t,i),jf(t,n),jf(t,e),t(109)}),Df.add(51,(t,[,e])=>{jf(t,e),t(110)}),Df.add(53,(t,[,e])=>{jf(t,e),t(111)}),Df.add(54,(t,[,e])=>{t(0),Yf(t,e,null,!1),t(112),t(1),t(36,8)});class Qf{constructor(t){this.blocks=t,this.names=t?Object.keys(t):[]}get(t){return this.blocks&&this.blocks[t]||null}has(t){let{blocks:e}=this;return null!==e&&t in e}with(t,e){let{blocks:n}=this;return new Qf(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const tg=new Qf(null);function eg(t){if(null===t)return tg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new Qf(e)}function ng(t,e,n){let i=[],r=0;n(function(t,e){i.push({match:t,callback:e,label:"CLAUSE"+r++})}),t(69,1),e(),t(1001);for(let s of i.slice(0,-1))t(67,Rf(s.label),s.match);for(let s=i.length-1;s>=0;s--){let e=i[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,Rf("END"))}t(1e3,"END"),t(1002),t(70)}function ig(t,e,n){t(1001),t(0),t(6,Rf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function rg(t,e,n,i){return ig(t,e,()=>{t(66,Rf("ELSE")),n(),t(4,Rf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function sg(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,c=eg(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(ii(e,$n.prepareArgs))return void ag(t,{capabilities:e,elementBlock:i,positional:r,named:s,atNames:!0,blocks:o,layout:n});t(36,4),t(33,3,1),t(35,4),t(0);let{symbols:l}=a,u=[],c=[],h=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Wf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Wf(t,o.get(p)),u.push(e))}if(ii(e,$n.createArgs)){let e=Zf(t,r)<<4;e|=8;let n=Ze;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of Qe(c))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of Qe(u))t(20,p+1);t(28,Mf(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,$n.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:c})):(t(78,l),ag(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:c}))}function og(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=eg(s);ig(t,()=>(jf(t,e),t(33,3,0),2),()=>{t(66,Rf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),ag(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function ag(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,$n.prepareArgs)||!(!r||0===r[0].length),c=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,i,r){let s=i.names;for(const l of s)Wf(t,i.get(l));let o=Zf(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=Xe;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,If(a.symbolTable)),t(28,Mf(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function lg(t,e,n,i,r=null){t(97,4),t(59),t(87,0|e),r&&r(),t(88,4),t(90,4),t(38,4),t(19,0),i&&t(17,4),n&&t(18,4),t(34,1),t(96,4),t(100,4),t(1),t(40),t(60),t(98)}const ug=new zf,cg=["class","id","value","name","type","style","href"],hg=["div","span","p","a"];function dg(t){return"string"==typeof t?t:hg[t]}function pg(t){return"string"==typeof t?t:cg[t]}function fg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}ug.add(3,(t,e)=>t(42,e[1])),ug.add(13,t=>t(55)),ug.add(12,t=>t(54)),ug.add(4,(t,[,e,n,i])=>{Ef(e)?t(1003,e,e=>{t(0),Yf(t,n,i,!1),t(57,e),t(1)}):(jf(t,e),t(0),Yf(t,n,i,!1),t(33,2,1),t(108),t(1))}),ug.add(14,(t,[,e,n,i])=>{t(51,pg(e),n,i??null)}),ug.add(24,(t,[,e,n,i])=>{t(105,pg(e),n,i??null)}),ug.add(15,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!1,i??null)}),ug.add(22,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!0,i??null)}),ug.add(16,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!1,i??null)}),ug.add(23,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!0,i??null)}),ug.add(10,(t,[,e])=>{t(48,dg(e))}),ug.add(11,(t,[,e])=>{t(89),t(48,dg(e))}),ug.add(8,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,n,null,i,r)}):og(t,e,n,null,i,r,!0,!0)}),ug.add(18,(t,[,e,n])=>Vf(t,e,n)),ug.add(17,(t,[,e])=>Vf(t,e,null)),ug.add(26,(t,[,e,n,i])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,i))}),ug.add(1,(t,[,e])=>{if(Array.isArray(e))if(kf(e))t(1008,e,{ifComponent(e){sg(t,e,null,null,null,null)},ifHelper(e){t(0),qf(t,e,null,null),t(3,Pf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Pf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;kf(n)?t(1007,n,{ifComponent(e){sg(t,e,null,i,fg(r),null)},ifHelper(e){t(0),qf(t,e,i,r),t(3,Pf("cautious-non-dynamic-append")),t(1)}}):ng(t,()=>{jf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),ag(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:eg(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Pf("cautious-non-dynamic-append"))})})})}else t(0),jf(t,e),t(3,Pf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),ug.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),jf(t,e),t(3,Pf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),ug.add(6,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)}),ug.add(40,(t,[,e,n,i,r])=>{rg(t,()=>(jf(t,n),void 0===r?Uf(t,void 0):jf(t,r),jf(t,i),t(33,3,0),4),()=>{t(50),Hf(t,e),t(56)})}),ug.add(41,(t,[,e,n,i])=>rg(t,()=>(jf(t,e),t(71),1),()=>{Hf(t,n)},i?()=>{Hf(t,i)}:void 0)),ug.add(42,(t,[,e,n,i,r])=>ig(t,()=>(n?jf(t,n):Uf(t,null),jf(t,e),2),()=>{t(72,Rf("BODY"),Rf("ELSE")),t(0),t(33,2,1),t(6,Rf("ITER")),t(1e3,"ITER"),t(74,Rf("BREAK")),t(1e3,"BODY"),Kf(t,i,2),t(34,2),t(4,Rf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Rf("FINALLY")),t(1e3,"ELSE"),r&&Hf(t,r)})),ug.add(44,(t,[,e,n])=>{Kf(t,n,Zf(t,e))}),ug.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Zf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Hf(t,n)})}else Hf(t,n)}),ug.add(46,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)});class gg{constructor(t,e,n,i="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=i,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:i}=t,r=function(t,e,n){let i=ug,r=Ff(n,e),{encoder:s,evaluation:o}=r;function a(...t){Af(s,o,e,t)}for(const l of t)i.compile(a,l);return r.encoder.commit(e.size)}(n,i,e);return t.compiled=r,r}(this,t)}}class mg{constructor(t,e,n,i,r){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=i,this.cautiousNonDynamicAppend=r}get"trusting-append"(){return this.trustingGuardedAppend}get"cautious-append"(){return this.cautiousGuardedAppend}get"trusting-non-dynamic-append"(){return this.trustingNonDynamicAppend}get"cautious-non-dynamic-append"(){return this.cautiousNonDynamicAppend}getAppend(t){return t?this.trustingGuardedAppend:this.cautiousGuardedAppend}}function yg(t,e,n){ng(t,()=>t(76),i=>{i(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(i(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),lg(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{Gf(t,null,null,()=>{t(3,n)})})):(i(0,()=>{t(47)}),i(1,()=>{t(47)})),i(4,()=>{t(68),t(44)}),i(5,()=>{t(68),t(45)}),i(6,()=>{t(68),t(46)})})}const _g={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function vg(t,e){let n=new Lf(t.program.heap,_g);e(function(...e){Af(n,t,_g,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class bg{constructor({constants:t,heap:e},n,i){this.constants=t,this.heap=e,this.resolver=i.resolver,this.createOp=n,this.env=i.env,this.program=i.program,this.stdlib=function(t){let e=vg(t,t=>function(t){t(75,4),lg(t,!1,!1,!0)}(t)),n=vg(t,t=>yg(t,!0,null)),i=vg(t,t=>yg(t,!1,null)),r=vg(t,t=>yg(t,!0,n)),s=vg(t,t=>yg(t,!1,i));return new mg(e,r,s,n,i)}(this)}}class wg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,i]=n;i=i.slice();let r=i.indexOf("&attrs");this.attrsBlockNumber=-1===r?i.push("&attrs"):r+1,this.symbolTable={symbols:i},this.meta=Jf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Jf(this.layout),n=Ff(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Af(i,r,e,t)},o=this.layout,a=this.attrsBlockNumber,s(1001),function(t,e,n){t(36,5),n(),t(35,5)}(s,0,()=>{s(91,4),s(31),s(33,3,0)}),s(66,Rf("BODY")),s(36,5),s(89),s(49),s(99,4),Vf(s,a,null),s(54),s(1e3,"BODY"),Hf(s,[o.block[0],[]]),s(36,5),s(66,Rf("END")),s(55),s(1e3,"END"),s(35,5),s(1002);let l=n.encoder.commit(e.size);return"number"!=typeof l||(this.compiled=l),l}}let xg=0,Sg={cacheHit:0,cacheMiss:0};function Eg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+xg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Sg.cacheMiss++,a=new Cg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Sg.cacheHit++,a;let u=l.get(t);return void 0===u?(Sg.cacheMiss++,u=new Cg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Sg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class Cg{constructor(t){this.parsedLayout=t,this.result="ok",this.layout=null,this.wrappedLayout=null}get moduleName(){return this.parsedLayout.moduleName}get id(){return this.parsedLayout.id}get referrer(){return{moduleName:this.parsedLayout.moduleName,owner:this.parsedLayout.owner}}asLayout(){return this.layout?this.layout:this.layout=function(t,e){let[n,i]=t.block;return new gg(n,Jf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new wg(un({},this.parsedLayout),this.moduleName)}}function kg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Tg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Rg=Object.freeze([]),Pg=[!1,!0,null,void 0,Rg],Ig=Pg.indexOf(Rg);class Mg{value(t){let e=this.indexMap,n=e.get(t);return void 0===n&&(n=this.values.push(t)-1,e.set(t,n)),n}array(t){if(0===t.length)return Ig;let e=new Array(t.length);for(let n=0;nt}helper(t,e=null,n){let i=this.helperDefinitionCache.get(t);if(void 0===i){let e=vi(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);i=this.value(n),this.helperDefinitionCache.set(t,i),this.helperDefinitionCount++}return i}modifier(t,e=null,n){let i=this.modifierDefinitionCache.get(t);if(void 0===i){let n=mi(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let r={resolvedName:e,manager:n,state:t};i=this.value(r),this.modifierDefinitionCache.set(t,i),this.modifierDefinitionCount++}return i}component(t,e,n,i){let r=this.componentDefinitionCache.get(t);if(void 0===r){let n=wi(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=ti(n.getCapabilities(t)),a=Ni(t),l=null;s=ni(0,o,$n.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=kg(s),l=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),r={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},r.handle=this.value(r),i&&(r.debugName=i),this.componentDefinitionCache.set(t,r),this.componentDefinitionCount++}return r}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:i,state:r,template:s}=t,o=ti(i.getCapabilities(t)),a=null;ni(0,o,$n.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=kg(s),a=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:i,capabilities:o,state:r,compilable:a},n.handle=this.value(n),this.componentDefinitionCache.set(t,n),this.componentDefinitionCount++}return n}getValue(t){return this.values[t]}getArray(t){let e=this.reifiedArrs,n=e[t];if(void 0===n){let i=this.getValue(t);n=new Array(i.length);for(const[t,e]of tn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[Ig]:Rg},this.defaultTemplate=Eg(Tg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Pg.slice(),this.indexMap=new Map(this.values.map((t,e)=>[t,e])),this.helperDefinitionCache=new WeakMap,this.modifierDefinitionCache=new WeakMap,this.componentDefinitionCache=new WeakMap}}class Og{constructor(t){this.heap=t,this.offset=0}get size(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}get isMachine(){return this.heap.getbyaddr(this.offset)&Vn?1:0}get type(){return 255&this.heap.getbyaddr(this.offset)}get op1(){return this.heap.getbyaddr(this.offset+1)}get op2(){return this.heap.getbyaddr(this.offset+2)}get op3(){return this.heap.getbyaddr(this.offset+3)}}class Ag{constructor(){this.offset=0,this.handle=0,this.heap=new Int32Array(1048576),this.handleTable=[],this.handleState=[]}entries(){return this.offset}pushRaw(t){this.sizeCheck(),this.heap[this.offset++]=t}pushOp(t){this.pushRaw(t)}pushMachine(t){this.pushRaw(t|Vn)}sizeCheck(){let{heap:t}=this;if(this.offset===this.heap.length){let e=new Int32Array(t.length+1048576);e.set(t,0),this.heap=e}}getbyaddr(t){return this.heap[t]}setbyaddr(t,e){this.heap[t]=e}malloc(){return this.handleTable.push(this.offset),this.handleTable.length-1}finishMalloc(t){}size(){return this.offset}getaddr(t){return this.handleTable[t]}sizeof(t){return this.handleTable,-1}free(t){this.handleState[t]=1}compact(){let t=0,{handleTable:e,handleState:n,heap:i}=this;for(let r=0;r-536870913?function(t){return~t}(t):function(t){return 536870912|t}(t)}[1,-1].forEach(t=>{return Ug((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const Bg=new class{constructor(){this.evaluateOpcode=new Array(113).fill(null)}add(t,e,n="syscall"){this.evaluateOpcode[t]={syscall:"machine"!==n,evaluate:e}}evaluate(t,e,n){let i=this.evaluateOpcode[n];i.syscall?(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t,e)):(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t.lowlevel,e))}},qg=Symbol("TYPE"),Gg=Symbol("INNER"),$g=Symbol("OWNER"),Vg=Symbol("ARGS"),Wg=Symbol("RESOLVED"),Hg=new WeakSet;function Kg(t){return Hg.has(t)}function Xg(t,e){return Kg(t)&&t[qg]===e}class Yg{constructor(t,e,n,i,r=!1){Hg.add(this),this[qg]=t,this[Gg]=e,this[$g]=n,this[Vg]=i,this[Wg]=r}}function Zg(t){let e,n,i,r,s,o=t;for(;;){let{[Vg]:t,[Gg]:a}=o;if(null!==t){let{named:i,positional:r}=t;r.length>0&&(e=void 0===e?r:r.concat(e)),void 0===n&&(n=[]),n.unshift(i)}if(!Kg(a)){i=a,r=o[$g],s=o[Wg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Jg(t,e,n,i,r=!1){return new Yg(t,e,n,i,r)}class Qg{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new Qg(this.bucket)}}class tm{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new tm(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new tm(t,n,null)}constructor(t,e,n){this.owner=t,this.slots=e,this.callerScope=n}init({self:t}){return this.slots[0]=t,this}snapshot(){return this.slots.slice()}getSelf(){return this.get(0)}getSymbol(t){return this.get(t)}getBlock(t){let e=this.get(t);return e===mn?null:e}bind(t,e){this.set(t,e)}bindSelf(t){this.set(0,t)}bindSymbol(t,e){this.set(t,e)}bindBlock(t,e){this.set(t,e)}bindCallerScope(t){this.callerScope=t}getCallerScope(){return this.callerScope}child(){return new tm(this.owner,this.slots.slice(),this.callerScope)}get(t){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);return this.slots[t]}set(t,e){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);this.slots[t]=e}}class em{constructor(t,e){this.element=t,this.nextSibling=e}}class nm{constructor(t,e,n){this.parentNode=t,this.first=e,this.last=n}parentElement(){return this.parentNode}firstNode(){return this.first}lastNode(){return this.last}}function im(t,e){let n=t.parentElement(),i=t.firstNode(),r=t.lastNode(),s=i;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===r)return t;s=t}}function rm(t){let e=t.parentElement(),n=t.firstNode(),i=t.lastNode(),r=n;for(;;){let t=r.nextSibling;if(e.removeChild(r),r===i)return t;r=t}}function sm(t){return"getDebugCustomRenderTree"in t}let om=0;class am{constructor(t){this.id=om++,this.value=t}get(){return this.value}release(){this.value=null}toString(){let t=`Ref ${this.id}`;if(null===this.value)return`${t} (released)`;try{return`${t}: ${this.value}`}catch{return t}}}class lm{begin(){this.reset()}create(t,e){let n=un({},e,{bounds:null,refs:new Set});this.nodes.set(t,n),this.appendChild(n,t),this.enter(t)}update(t){this.enter(t)}didRender(t,e){this.nodeFor(t).bounds=e,this.exit()}willDestroy(t){this.refs.get(t).release()}commit(){this.reset()}capture(){return this.captureRefs(this.roots)}reset(){if(0!==this.stack.size){let t=this.stack.toArray()[0],e=this.refs.get(t);for(void 0!==e&&this.roots.delete(e);!this.stack.isEmpty();)this.stack.pop()}}enter(t){this.stack.push(t)}exit(){this.stack.pop()}nodeFor(t){return this.nodes.get(t)}appendChild(t,e){let n=this.stack.current,i=new am(e);if(this.refs.set(e,i),n){let e=this.nodeFor(n);e.refs.add(i),t.parent=e}else this.roots.add(i)}captureRefs(t){let e=[];return t.forEach(n=>{let i=n.get();i?e.push(this.captureNode(`render-node:${n.id}`,i)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:i,name:r,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),u=this.captureBounds(n),c=this.captureRefs(a);return{id:t,type:i,name:r,args:$m(s),instance:o,template:l,bounds:u,children:c}}captureTemplate({template:t}){return t||null}captureBounds(t){let e=t.bounds;return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}constructor(){this.stack=new an,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function um(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function hm(t){return null!==t&&"object"==typeof t}function dm(t){return hm(t)&&"function"==typeof t.toHTML}function pm(t){return"string"==typeof t}Bg.add(39,t=>t.pushChildScope()),Bg.add(40,t=>t.popScope()),Bg.add(59,t=>t.pushDynamicScope()),Bg.add(60,t=>t.popDynamicScope()),Bg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),Bg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Ug(e))}),Bg.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?mn:null===i?yn:!0===i?_n:!1===i?vn:gn(i),n.push(e)}),Bg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),Bg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),Bg.add(35,(t,{op1:e})=>{t.load(e)}),Bg.add(36,(t,{op1:e})=>{t.fetch(e)}),Bg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),Bg.add(69,(t,{op1:e})=>{t.enter(e)}),Bg.add(70,t=>{t.exit()}),Bg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(62,t=>{t.stack.push(t.scope())}),Bg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),Bg.add(64,t=>{let{stack:e}=t,n=e.pop(),i=e.pop(),r=e.pop(),s=e.pop();if(null===r||null===n)return t.lowlevel.pushFrame(),void t.pushScope(i??t.scope());let o=i;{let t=r.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),Bg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new fm(e))}),Bg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class fm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class gm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(Rn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(Rn(n))&&t.throw()}}class mm{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&Jt(e,i)&&(Se(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=Zt(this.tag),Se(t)}constructor(){this.tag=se,this.lastRevision=1}}class ym{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class _m{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}Bg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),Bg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),Bg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),Bg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),Bg.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=Rn(e),s=Rn(n),o=Rn(i);kn(e)||t.updateWith(new fm(e)),void 0===s||kn(n)||t.updateWith(new fm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=Nm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),Mt(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),Bg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),Bg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),Bg.add(55,t=>{let e=t.tree().closeElement();null!==e&&e.forEach(e=>{t.env.scheduleInstallModifier(e);const n=e.manager.getDestroyable(e.state);null!==n&&t.associateDestroyable(n)})}),Bg.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),i=t.stack.pop(),r=t.constants.getValue(e),{manager:s}=r,{constructing:o}=t.tree(),a=i.capture(),l=s.create(n,o,r.state,a),u={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,u,a);let c=s.getTag(l);return null!==c?(Se(c),t.updateWith(new vm(c,u))):void 0}),Bg.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),i=e.pop().capture(),{positional:r,named:s}=i,{constructing:o}=t.tree(),a=t.getOwner(),l=xn(()=>{let t,e,l=Rn(n);if(!on(l))return;if(Xg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Zg(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==u&&(i.named=Object.assign({},...u,s))}else e=l,t=a;let u=mi(e);if(null===u)throw new Error("BUG: modifier manager expected");let c={resolvedName:null,manager:u,state:e},h=u.create(t,o,c.state,i);return{manager:u,state:h,definition:c}}),u=Rn(l),c=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),c=u.manager.getTag(u.state),null!==c&&Se(c)),!kn(n)||c?t.updateWith(new bm(c,u,l)):void 0});class vm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=Zt(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;Se(n),Jt(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=Zt(n))}}class bm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??ce)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=Rn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&At(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&It(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=Zt(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||Jt(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=Zt(e));null!==e&&Se(e)}}Bg.add(51,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.tree().setStaticAttribute(r,s,o)}),Bg.add(52,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=Rn(o),l=i?t.constants.getValue(i):null,u=t.tree().setDynamicAttribute(r,a,s,l);kn(o)||t.updateWith(new wm(o,u,t.env))});class wm{constructor(t,e,n){let i=!1;this.updateRef=xn(()=>{let r=Rn(t);i?e.update(r,n):i=!0}),Rn(this.updateRef)}evaluate(){Rn(this.updateRef)}}Bg.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:i,capabilities:r}=n,s={definition:n,manager:i,capabilities:r,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),Bg.add(80,(t,{op1:e})=>{let n,i=t.stack,r=Rn(i.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof r){let e=function(t,e,n,i){let r=t?.lookupComponent?.(n,i)??null;return e.resolvedComponent(r,n)}(t.context.resolver,s,r,o);n=e}else n=Kg(r)?r:s.component(r,o);i.push(n)}),Bg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Kg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),Bg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Kg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),Bg.add(82,(t,{op1:e,op2:n,op3:i})=>{let r=t.stack,s=t.constants.getArray(e),o=i>>4,a=8&i,l=7&i?t.constants.getArray(n):Ze;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),Bg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),Bg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),Bg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Xg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Zg(s);if(a)s=n;else if("string"==typeof n){let i=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(i,n)}else s=e.component(n,o);void 0!==u&&r.named.merge(un({},...u)),void 0!==l&&(r.realloc(l.length),r.positional.prepend(l));let{manager:c}=s;i.definition=s,i.manager=c,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,$n.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,c=o.prepareArgs(a,r);if(c){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,$n.createInstance))return;let o=null;ni(0,s,$n.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,$n.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,$n.createCaller)&&(u=t.getSelf());let c=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=c,ni(0,s,$n.updateHook)&&t.updateWith(new km(c,r,o))}),Bg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),Bg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),Bg.add(89,t=>{t.loadValue(6,new xm)}),Bg.add(53,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=i?t.constants.getValue(i):null;t.fetchValue(6).setAttribute(r,o,s,a)}),Bg.add(105,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.fetchValue(6).setStaticAttribute(r,s,o)});class xm{setAttribute(t,e,n,i){let r={value:e,namespace:i,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}setStaticAttribute(t,e,n){let i={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:i,definition:r,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=r.resolvedName??i.getDebugName(r.state),u=i.getDebugInstance(s),c=new nm(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,c),t.associateDestroyable(s),t.updateWith(new Rm(s)),t.updateWith(new Pm(s,c)),Mt(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let i in this.attributes){if("type"===i){e=n[i];continue}let r=this.attributes[i];"class"===i?Em(t,"class",Sm(this.classes),r.namespace,r.trusting):Em(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Em(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Sm(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,xn(()=>{let t=[];for(const n of e){let e=um("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Em(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,Rn(n),r,i);kn(n)||t.updateWith(new wm(n,s,t.env))}}function Cm(t,e,n,i,r){let s=n.table.symbols.indexOf(t),o=i.get(e);-1!==s&&r.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}Bg.add(99,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=t.fetchValue(6);r.didCreateElement(i,t.tree().constructing,s)}),Bg.add(90,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e),{definition:r,state:s}=i,{manager:o}=r,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let i,r,o=t.fetchValue(e),{definition:l,manager:u}=o;if(t.stack.peek()===t.args)i=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),i=t.args.capture()}let c=l.compilable;if(null===c){ni(0,o.capabilities,$n.dynamicLayout);let e=t.context.resolver;c=null===e?null:u.getDynamicLayout(s,e),r=null!==c?c.moduleName:"__default__.hbs"}else r=c.moduleName;if(t.associateDestroyable(o),sm(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Rm(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,u);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:Rn(a)}),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Rm(o))}}t.stack.push(a)}),Bg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),Bg.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,definition:r}=n,{stack:s}=t,{compilable:o}=r;if(null===o){let{capabilities:e}=n,r=t.context.resolver;o=null===r?null:i.getDynamicLayout(n.state,r),null===o&&(o=ni(0,e,$n.wrapped)?jg(t.constants.defaultTemplate).asWrappedLayout():jg(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),Bg.add(75,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),{manager:r,capabilities:s}=n,o={definition:n,manager:r,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null};t.loadValue(e,o)}),Bg.add(95,(t,{op1:e})=>{let{stack:n}=t,i=n.pop(),r=n.pop(),s=t.fetchValue(e);s.handle=i,s.table=r}),Bg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,$n.hasSubOwner)?(n=r.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(i.symbols.length+1,n)}),Bg.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),i=t.scope(),r=t.stack.peek(),s=r.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=r.named.get(t,!0);-1!==e&&i.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),Bg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))Cm(i.symbolNames[r],i.names[r],n,i,t)}),Bg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),Bg.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,state:r,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(sm(i)?i.getDebugCustomRenderTree(n.definition.state,r,Hm).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o)))),ni(0,s,$n.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Tm(n,o)))}),Bg.add(98,t=>{t.commitCacheGroup()});class km{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:i}=this;n.update(e,i)}}class Tm{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:i,state:r}=e;i.didUpdateLayout(r,n),t.env.didUpdate(e)}}class Rm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Pm{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class Im{constructor(){this.stack=null,this.positional=new Om,this.named=new Am,this.blocks=new zm}empty(t){let e=t.registers[3]+1;return this.named.empty(t,e),this.positional.empty(t,e),this.blocks.empty(t,e),this}setup(t,e,n,i,r){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,r);let l=a-i;this.positional.setup(t,l,i);let u=this.blocks,c=n.length,h=l-3*c;u.setup(t,h,c,n)}get base(){return this.blocks.base}get length(){return this.positional.length+this.named.length+3*this.blocks.length}at(t){return this.positional.at(t)}realloc(t){let{stack:e}=this;if(t>0&&null!==e){let{positional:n,named:i}=this,r=n.base+t;for(let t=n.length+i.length-1;t>=0;t--)e.copy(t+n.base,t+r);n.base+=t,i.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Wm:this.positional.capture();return{named:0===this.named.length?Vm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Mm=Ye();class Om{constructor(){this.base=0,this.length=0,this.stack=null,this._references=null}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=Mm}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Mm:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?mn:i.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:i,stack:r}=this;this.base=n-=e,this.length=i+e;for(let s=0;s0){let{names:n,length:i,stack:r}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(i=s.push(o),r.push(t[o]));this.length=i,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:i}=this;t=this._references=i.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function Lm(t){return`&${t}`}const Fm=Ye();class zm{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=Ze,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=Ze,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=se,this.internalValues=Fm}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=se,this.internalValues=Fm):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:i}=this;t=this.internalValues=i.slice(e,e+3*n)}return t}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);if(-1===e)return null;let{base:n,stack:i}=this,r=i.get(3*e,n),s=i.get(3*e+1,n),o=i.get(3*e+2,n);return null===o?null:[o,s,r]}capture(){return new Dm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Lm)),t}}class Dm{constructor(t,e){this.names=t,this.values=e,this.length=t.length}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);return-1===e?null:[this.values[3*e+2],this.values[3*e+1],this.values[3*e]]}}function Nm(t,e){return{named:t,positional:e}}function jm(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Um(t){return t.map(Rn)}const Bm=Symbol("ARGUMENT_ERROR");function qm(t){return null!==t&&"object"==typeof t&&t[Bm]}function Gm(t){return{[Bm]:!0,error:t}}function $m(t){return{named:function(t){let e=rn();for(const[i,r]of Object.entries(t))try{e[i]=Rn(r)}catch(n){e[i]=Gm(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return Rn(t)}catch(e){return Gm(e)}}))};var e}const Vm=Object.freeze(Object.create(null)),Wm=Mm,Hm=Nm(Vm,Wm);function Km(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Xm(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Ym(t){return t===mn}Bg.add(77,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=i.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,i){let r,s;return xn(()=>{let o=Rn(e);return o===r||(s=Xg(o,t)?i?Jg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Jg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),Bg.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=xn(()=>{void 0!==e&&At(e);let t=Rn(i);if(Xg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Zg(t),l=Xm(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),It(o,e)}else if(on(t)){let n=Xm(t);e=n(r,s),Lt(e)&&It(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),Bg.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Lt(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),Bg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),Bg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),Bg.add(20,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),r=t.stack.pop();t.scope().bindBlock(e,[n,i,r])}),Bg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),Bg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(In(i,n))}),Bg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),Bg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Ym(n)){let[t,i,r]=n;e.push(r),e.push(i),e.push(t)}else e.push(null),e.push(null),e.push(null)}),Bg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Ym(n)?e.push(_n):e.push(vn)}),Bg.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?_n:vn)}),Bg.add(27,(t,{op1:e})=>{let n=new Array(e);for(let r=e;r>0;r--)n[r-1]=t.stack.pop();var i;t.stack.push((i=n,xn(()=>{const t=[];for(const e of i){const n=Rn(e);null!=n&&t.push(Km(n))}return t.length>0?t.join(""):null})))}),Bg.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(xn(()=>yt(Rn(e))?Rn(n):Rn(i)))}),Bg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),Bg.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(xn(()=>{let t=String(Rn(i));return Rn(e.get(t))}))}),Bg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Um(e))}))});class Zm{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=Rn(this.reference),{lastValue:n}=this;e!==n&&(t=cm(e)?"":pm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Jm(t){return function(t){return pm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Xg(t,0)||xi(t)?0:Xg(t,1)||Si(t)?1:dm(t)?4:function(t){return hm(t)&&11===t.nodeType}(t)?5:function(t){return hm(t)&&"number"==typeof t.nodeType}(t)?6:2}function Qm(t){return on(t)?Xg(t,0)||xi(t)?0:1:2}function ty(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}Bg.add(76,t=>{let e=t.stack.peek();t.stack.push(Jm(Rn(e))),kn(e)||t.updateWith(new gm(e,Jm))}),Bg.add(106,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new gm(e,Qm))}),Bg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),Bg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),Bg.add(47,t=>{let e=t.stack.pop(),n=Rn(e),i=cm(n)?"":String(n),r=t.tree().appendDynamicText(i);kn(e)||t.updateWith(new Zm(r,e,i))}),Bg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),Bg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ey=ty;class ny{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,i=this.#f,r=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():i.locals[s]?e=n.getSymbol(i.locals[s]):(e=this.scope.getSelf(),o=r),o.reduce((t,e)=>In(t,e),e)}}Bg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new ny(t.scope(),n);ey(Rn(t.getSelf()),t=>Rn(i.get(t)))}),Bg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=jn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new gm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),Bg.add(73,t=>{t.exitList()}),Bg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const iy={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!1,wrapped:!1,willDestroy:!1,hasSubOwner:!1};class ry{getCapabilities(){return iy}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const sy=new ry;class oy{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ay(t,e){return new oy(t,e)}bi(sy,oy.prototype);const ly={foreignObject:1,desc:1,title:1},uy=Object.create(null);class cy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,i,r,s;if(e?(n=e.namespaceURI===zg||"svg"===t,r=e.namespaceURI===Fg||"math"===t,i=!!ly[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(uy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Fg:zg,this.document.createElementNS(s,t)}insertBefore(t,e,n){t.insertBefore(e,n)}insertHTMLBefore(t,e,n){if(""===n){const n=this.createComment("");return t.insertBefore(n,e),new nm(t,n,n)}const i=e?e.previousSibling:t.lastChild;let r;if(null===e)t.insertAdjacentHTML("beforeend",n),r=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),r=e.previousSibling;else{const{uselessElement:i}=this;t.insertBefore(i,e),i.insertAdjacentHTML("beforebegin",n),r=i.previousSibling,t.removeChild(i)}const s=i?i.nextSibling:t.firstChild;return new nm(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function hy(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==zg}}(t,n))return e;const i=t.createElement("div");return class extends e{insertHTMLBefore(t,e,r){return""===r||t.namespaceURI!==n?super.insertHTMLBefore(t,e,r):function(t,e,n,i){let r;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild}return function(t,e,n){const i=t.firstChild;let r=i,s=i;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),r=s,s=t}return new nm(e,i,r)}(r,t,i)}(t,i,r,e)}}}function dy(t,e){return t&&function(t){const e=t.createElement("div");return e.appendChild(t.createTextNode("first")),e.insertAdjacentHTML("beforeend","second"),2!==e.childNodes.length}(t)?class extends e{constructor(t){super(t),this.uselessComment=t.createComment("")}insertHTMLBefore(t,e,n){if(""===n)return super.insertHTMLBefore(t,e,n);let i=!1;const r=e?e.previousSibling:t.lastChild;r&&r instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return i&&t.removeChild(this.uselessComment),s}}:e}const py="undefined"==typeof document?null:Dg(document);let fy=class extends cy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,i=null){i?t.setAttributeNS(i,e,n):t.setAttribute(e,n)}};fy=dy(py,fy),fy=hy(py,fy,zg);const gy=fy;["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(t=>uy[t]=1);const my=/[\t\n\v\f\r \xa0\u{1680}\u{180e}\u{2000}-\u{200a}\u{2028}\u{2029}\u{202f}\u{205f}\u{3000}\u{feff}]/u,yy="undefined"==typeof document?null:Dg(document);class _y extends cy{constructor(t){super(t),this.document=t,this.namespace=null}setAttribute(t,e,n){t.setAttribute(e,n)}removeAttribute(t,e){t.removeAttribute(e)}insertAfter(t,e,n){this.insertBefore(t,e,n.nextSibling)}}let vy=_y;vy=dy(yy,vy),vy=hy(yy,vy,zg);const by=vy;function wy(t,e){let n,i;if(e in t)i=e,n="prop";else{let r=e.toLowerCase();r in t?(n="prop",i=r):(n="attr",i=e)}return"prop"!==n||"style"!==i.toLowerCase()&&!function(t,e){let n=xy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const xy={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},OUTPUT:{form:!0},BUTTON:{form:!0}},Sy=Symbol("TRANSACTION");class Ey{didCreate(t){this.createdComponents.push(t)}didUpdate(t){this.updatedComponents.push(t)}scheduleInstallModifier(t){this.scheduledInstallModifiers.push(t)}scheduleUpdateModifier(t){this.scheduledUpdateModifiers.push(t)}commit(){let{createdComponents:t,updatedComponents:e}=this;for(const{manager:r,state:s}of t)r.didCreate(s);for(const{manager:r,state:s}of e)r.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:i}=this;for(const{manager:r,state:s,definition:o}of n){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.install(s));ne(t,e)}else r.install(s)}for(const{manager:r,state:s,definition:o}of i){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class Cy{static{Ry=Sy}constructor(t,e){this.delegate=e,this[Ry]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new lm:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?qm:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new gy(t.document),this.updateOperations=new _y(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Sy],this.debugRenderTree?.begin(),this[Sy]=new Ey}get transaction(){return this[Sy]}didCreate(t){this.transaction.didCreate(t)}didUpdate(t){this.transaction.didUpdate(t)}scheduleInstallModifier(t){this.isInteractive&&this.transaction.scheduleInstallModifier(t)}scheduleUpdateModifier(t){this.isInteractive&&this.transaction.scheduleUpdateModifier(t)}commit(){let t=this.transaction;this[Sy]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function ky(t,e,n,i){return{env:new Cy(t,e),program:new Lg(n.constants,n.heap),resolver:i}}function Ty(t,e){if(t[Sy])e();else{t.begin();try{e()}finally{t.commit()}}}var Ry;function Py(t){return yi(t,{})}const Iy=Py(({positional:t})=>xn(()=>Um(t),null)),My=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Oy=Py(({positional:t})=>xn(()=>Um(t).map(My).join(""),null)),Ay=Py(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Um(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Ly=Py(({positional:t})=>{let e=t[0]??mn,n=t[1]??mn;return xn(()=>{let t=Rn(e);if(sn(t))return bt(t,String(Rn(n)))},t=>{let i=Rn(e);if(sn(i))return wt(i,String(Rn(n)),t)})}),Fy=Py(({named:t})=>{let e=xn(()=>jm(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function zy(t){return Pe(t.argsCache)}class Dy{constructor(t,e=()=>Hm){let n=Re(()=>e(t));this.argsCache=n}get named(){return zy(this).named||Vm}get positional(){return zy(this).positional||Wm}}class Ny{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,Mt(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;By(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=Rn(e.positional[0]);e.positional[1];let r,s,o,a=Rn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=Rn(t)),n&&(s=Rn(n)),i&&(o=Rn(i))}let l,u=!1;if(u=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,u&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),u){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&By(t,n.eventName,n.callback,n.options),function(t,e,n,i){jy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let jy=0,Uy=0;function By(t,e,n,i){Uy++,t.removeEventListener(e,n,i)}const qy=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:jy,removes:Uy}}create(t,e,n,i){return new Ny(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class Gy{constructor(t,e,n,i){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=i}fetchRegister(t){return this.registers[t]}loadRegister(t,e){this.registers[t]=e}setPc(t){this.registers[0]=t}pushFrame(){this.stack.push(this.registers[1]),this.stack.push(this.registers[2]),this.registers[2]=this.registers[3]-1}popFrame(){this.registers[3]=this.registers[2]-1,this.registers[1]=this.stack.get(0),this.registers[2]=this.stack.get(1)}pushSmallFrame(){this.stack.push(this.registers[1])}popSmallFrame(){this.registers[1]=this.stack.pop()}goto(t){this.setPc(this.target(t))}target(t){return this.registers[0]+t-this.currentOpSize}call(t){this.registers[1]=this.registers[0],this.setPc(this.context.program.heap.getaddr(t))}returnTo(t){this.registers[1]=this.target(t)}return(){this.setPc(this.registers[1])}nextStatement(){let{registers:t,context:e}=this,n=t[0];if(-1===n)return null;let i=e.program.opcode(n),r=this.currentOpSize=i.size;return this.registers[0]+=r,i}evaluateOuter(t,e){this.evaluateInner(t,e)}evaluateInner(t,e){t.isMachine?this.evaluateMachine(t,e):this.evaluateSyscall(t,e)}evaluateMachine(t,e){switch(t.type){case 0:return void this.pushFrame();case 1:return void this.popFrame();case 3:return void this.call(t.op1);case 2:return void e.call(this.stack.pop());case 4:return void this.goto(t.op1);case 5:return void e.return();case 6:return void this.returnTo(t.op1)}}evaluateSyscall(t,e){Bg.evaluate(e,t,t.type)}}const $y=["javascript:","vbscript:"],Vy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Wy=["EMBED"],Hy=["href","src","background","action"],Ky=["src"];function Xy(t,e){return-1!==t.indexOf(e)}function Yy(t,e){return(null===t||Xy(Vy,t))&&Xy(Hy,e)}function Zy(t,e){return null!==t&&Xy(Wy,t)&&Xy(Ky,e)}function Jy(t,e){return Yy(t,e)||Zy(t,e)}let Qy;function t_(t,e,n){if(null==n)return n;if(dm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=um(n);if(Yy(i,e)){let t=(s=r,Qy||(Qy=function(){const t=URL;if("object"==typeof t&&null!==t&&"function"==typeof t.parse){let e=t;return t=>{let n=null;return"string"==typeof t&&(n=e.parse(t).protocol),null===n?":":n}}if("function"==typeof t)return e=>{try{return new t(e).protocol}catch{return":"}};throw new Error('@glimmer/runtime needs a valid "globalThis.URL"')}()),Qy(s));if(Xy($y,t))return`unsafe:${r}`}var s;return Zy(i,e)?`unsafe:${r}`:r}function e_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===zg)return n_(i,e,s);const{type:o,normalized:a}=wy(t,e);return"attr"===o?n_(i,a,s):function(t,e,n){return Jy(t,e)?new o_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new l_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new u_(e,n):new s_(e,n)}(i,a,s)}function n_(t,e,n){return Jy(t,e)?new a_(n):new r_(n)}class i_{constructor(t){this.attribute=t}}class r_ extends i_{set(t,e,n){const i=c_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=c_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class s_ extends i_{constructor(t,e){super(e),this.normalizedName=t}set(t,e,n){null!=e&&(this.value=e,t.__setProperty(this.normalizedName,e))}update(t,e){const{element:n}=this.attribute;this.value!==t&&(n[this.normalizedName]=this.value=t,null==t&&this.removeAttribute())}removeAttribute(){const{element:t,namespace:e}=this.attribute;e?t.removeAttributeNS(e,this.normalizedName):t.removeAttribute(this.normalizedName)}}class o_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class a_ extends r_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e){t.__setProperty("value",um(e))}update(t){const e=this.attribute.element,n=e.value,i=um(t);n!==i&&(e.value=i)}}class u_ extends s_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function c_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class h_{constructor(t){this.node=t}firstNode(){return this.node}}class d_{constructor(t){this.node=t}lastNode(){return this.node}}class p_{static forInitialRender(t,e){return new this(t,e.element,e.nextSibling).initialize()}static resume(t,e){let n=new this(t,e.parentElement(),e.reset(t)).initialize();return n.pushBlock(e),n}constructor(t,e,n){this.constructing=null,this.operations=null,this.cursors=new an,this.modifierStack=new an,this.blockStack=new an,this.pushElement(e,n),this.env=t,this.dom=t.getAppendOperations(),this.updateOperations=t.getDOM()}initialize(){return this.pushAppendingBlock(),this}debugBlocks(){return this.blockStack.toArray()}get element(){return this.cursors.current.element}get nextSibling(){return this.cursors.current.nextSibling}get hasBlocks(){return this.blockStack.size>0}block(){return this.blockStack.current}popElement(){this.cursors.pop(),this.cursors.current}pushAppendingBlock(){return this.pushBlock(new f_(this.element))}pushResettableBlock(){return this.pushBlock(new m_(this.element))}pushBlockList(t){return this.pushBlock(new y_(this.element,t))}pushBlock(t,e=!1){let n=this.blockStack.current;return null!==n&&(e||n.didAppendBounds(t)),this.__openBlock(),this.blockStack.push(t),t}popBlock(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()}__openBlock(){}__closeBlock(){}openElement(t){let e=this.__openElement(t);return this.constructing=e,e}__openElement(t){return this.dom.createElement(t,this.element)}flushElement(t){let e=this.element,n=this.constructing;this.__flushElement(e,n),this.constructing=null,this.operations=null,this.pushModifiers(t),this.pushElement(n,null),this.didOpenElement(n)}__flushElement(t,e){this.dom.insertBefore(t,e,this.nextSibling)}closeElement(){return this.willCloseElement(),this.popElement(),this.popModifiers()}pushRemoteElement(t,e,n){return this.__pushRemoteElement(t,e,n)}__pushRemoteElement(t,e,n){if(this.pushElement(t,n),void 0===n)for(;t.lastChild;)t.removeChild(t.lastChild);let i=new g_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new em(t,e))}pushModifiers(t){this.modifierStack.push(t)}popModifiers(){return this.modifierStack.pop()}didAppendBounds(t){return this.block().didAppendBounds(t),t}didAppendNode(t){return this.block().didAppendNode(t),t}didOpenElement(t){return this.block().openElement(t),t}willCloseElement(){this.block().closeElement()}appendText(t){return this.didAppendNode(this.__appendText(t))}__appendText(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createTextNode(t);return e.insertBefore(n,r,i),r}__appendNode(t){return this.dom.insertBefore(this.element,t,this.nextSibling),t}__appendFragment(t){let e=t.firstChild;if(e){let n=new nm(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new nm(this.element,t,t)}}__appendHTML(t){return this.dom.insertHTMLBefore(this.element,this.nextSibling,t)}appendDynamicHTML(t){let e=this.trustedContent(t);this.didAppendBounds(e)}appendDynamicText(t){let e=this.untrustedContent(t);return this.didAppendNode(e),e}appendDynamicFragment(t){let e=this.__appendFragment(t);this.didAppendBounds(e)}appendDynamicNode(t){let e=this.__appendNode(t),n=new nm(this.element,e,e);this.didAppendBounds(n)}trustedContent(t){return this.__appendHTML(t)}untrustedContent(t){return this.__appendText(t)}appendComment(t){return this.didAppendNode(this.__appendComment(t))}__appendComment(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createComment(t);return e.insertBefore(n,r,i),r}__setAttribute(t,e,n){this.dom.setAttribute(this.constructing,t,e,n)}__setProperty(t,e){this.constructing[t]=e}setStaticAttribute(t,e,n){this.__setAttribute(t,e,n)}setDynamicAttribute(t,e,n,i){let r=e_(this.constructing,t,i);return r.set(this,e,this.env),r}}class f_{constructor(t){this.parent=t,this.first=null,this.last=null,this.nesting=0}parentElement(){return this.parent}firstNode(){return this.first.firstNode()}lastNode(){return this.last.lastNode()}openElement(t){this.didAppendNode(t),this.nesting++}closeElement(){this.nesting--}didAppendNode(t){0===this.nesting&&(this.first||(this.first=new h_(t)),this.last=new d_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class g_ extends f_{constructor(t){super(t),Mt(this,()=>{this.parentElement()===this.firstNode().parentNode&&rm(this)})}}class m_ extends f_{constructor(t){super(t)}reset(){At(this);let t=rm(this);return this.first=null,this.last=null,this.nesting=0,t}}class y_{constructor(t,e){this.parent=t,this.boundList=e,this.parent=t,this.boundList=e}parentElement(){return this.parent}firstNode(){return this.boundList[0].firstNode()}lastNode(){let t=this.boundList;return t[t.length-1].lastNode()}openElement(t){}closeElement(){}didAppendNode(t){}didAppendBounds(t){}finalize(t){this.boundList.length}}function __(t,e){return p_.forInitialRender(t,e)}class v_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new an,this.env=t,this.dom=t.getDOM(),this.alwaysRevalidate=e}execute(t,e){this._execute(t,e)}_execute(t,e){let{frameStack:n}=this;for(this.try(t,e);!n.isEmpty();){let t=this.frame.nextStatement();void 0!==t?t.evaluate(this):n.pop()}}get frame(){return this.frameStack.current}goto(t){this.frame.goto(t)}try(t,e){this.frameStack.push(new E_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class b_{constructor(t,e,n,i){this.state=t,this.context=e,this.children=i,this.bounds=n}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}evaluate(t){t.try(this.children,null)}}class w_ extends b_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Pt(t);Tt(e,At)}(this);let i=p_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});It(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class x_ extends w_{constructor(t,e,n,i,r,s){super(t,e,n,[]),this.key=i,this.memo=r,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class S_ extends b_{constructor(t,e,n,i,r){super(t,e,n,i),this.iterableRef=r,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=Rn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=Rn(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:i}=t,r=this.marker=i.createComment("");i.insertAfter(n.parentElement(),r,n.lastNode()),this.sync(e),this.parentElement().removeChild(r),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,i=0,r=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[i],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++i];if(void 0!==o&&o.key===a)this.retainItem(o,s),i++;else if(e.has(a)){let t=e.get(a);if(t.index{let i=e.enterItem(t);i.index=s.length,s.push(i),n.set(a,i),It(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;Pn(t.memo,e.memo),Pn(t.value,e.value),t.retained=!0,void 0===n?im(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&im(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),rm(t),this.opcodeMap.delete(t.key)}}class E_{constructor(t,e){this.ops=t,this.exceptionHandler=e,this.current=0}goto(t){this.current=t}nextStatement(){return this.ops[this.current++]}handleException(){this.exceptionHandler&&this.exceptionHandler.handleException()}}class C_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,It(this,i),Mt(this,()=>rm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new v_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class k_{static restore(t,e){const n=new this(t.slice(),[0,-1,t.length-1,0]);return n.registers[0]=e,n.registers[3]=t.length-1,n.registers[2]=-1,n}constructor(t=[],e){this.stack=t,this.registers=e}push(t){this.stack[++this.registers[3]]=t}dup(t=this.registers[3]){this.stack[++this.registers[3]]=this.stack[t]}copy(t,e){this.stack[e]=this.stack[t]}pop(t=1){let e=this.stack[this.registers[3]];return this.registers[3]-=t,e}peek(t=0){return this.stack[this.registers[3]-t]}get(t,e=this.registers[2]){return this.stack[e+t]}set(t,e,n=this.registers[2]){this.stack[n+e]=t}slice(t,e){return this.stack.slice(t,e)}capture(t){let e=this.registers[3]+1,n=e-t;return this.stack.slice(n,e)}reset(){this.stack.length=0}}class T_{constructor(t,e){this.drop={},this.scope=new an,this.dynamicScope=new an,this.updating=new an,this.cache=new an,this.list=new an,this.destroyable=new an,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class R_{#g;get stack(){return this.lowlevel.stack}get pc(){return this.lowlevel.fetchRegister(0)}#m;fetch(t){let e=this.fetchValue(t);this.stack.push(e)}load(t){let e=this.stack.pop();this.loadValue(t,e)}loadValue(t,e){this.#m[t]=e}fetchValue(t){return function(t){return t<=3}(t)?this.lowlevel.fetchRegister(t):this.#m[t]}call(t){null!==t&&this.lowlevel.call(t)}return(){this.lowlevel.return()}#y;constructor({scope:t,dynamicScope:e,stack:n,pc:i},r,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=k_.restore(n,i);this.#y=s,this.context=r,this.#g=new T_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=tm.root(e.owner,e.scope??{self:mn,size:0});const i=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new R_(i,t,e.tree)}compile(t){return Ng(t.compile(this.context))}get constants(){return this.context.program.constants}get program(){return this.context.program}get env(){return this.context.env}captureClosure(t,e=this.lowlevel.fetchRegister(0)){return{pc:e,scope:this.scope(),dynamicScope:this.dynamicScope(),stack:this.stack.capture(t)}}capture(t,e=this.lowlevel.fetchRegister(0)){return new P_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new mm;e.push(n),e.push(new ym(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new _m(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new w_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=Un(e),s=Un(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new x_(o,this.context,a,t,s,r);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],i=this.lowlevel.target(e),r=this.capture(0,i),s=this.tree().pushBlockList(n),o=new S_(r,this.context,s,n,t);this.#g.list.push(o),this.didEnter(o)}didEnter(t){this.associateDestroyable(t),this.#g.destroyable.push(t),this.updateWith(t),this.pushUpdating(t.children)}exit(){this.#g.destroyable.pop(),this.#y.popBlock(),this.popUpdating()}exitList(){this.exit(),this.#g.list.pop()}pushRootScope(t,e){let n=tm.sized(e,t);return this.#g.scope.push(n),n}pushChildScope(){this.#g.scope.push(this.scope().child())}pushScope(t){this.#g.scope.push(t)}popScope(){this.#g.scope.pop()}pushDynamicScope(){let t=this.dynamicScope().child();return this.#g.dynamicScope.push(t),t}bindDynamicScope(t){let e=this.dynamicScope();for(const n of Qe(t))e.set(n,this.stack.pop())}pushUpdating(t=[]){this.#g.updating.push(t)}popUpdating(){return this.#g.updating.pop()}updateWith(t){this.updating().push(t)}listBlock(){return this.#g.list.current}associateDestroyable(t){It(this.#g.destroyable.current,t)}updating(){return this.#g.updating.current}tree(){return this.#y}scope(){return this.#g.scope.current}dynamicScope(){return this.#g.dynamicScope.current}popDynamicScope(){this.#g.dynamicScope.pop()}getOwner(){return this.scope().owner}getSelf(){return this.scope().getSelf()}referenceForSymbol(t){return this.scope().getSymbol(t)}execute(t){return this._execute(t)}_execute(t){let e;t&&t(this);do{e=this.next()}while(!e.done);return e.value}next(){let t,{env:e}=this,n=this.lowlevel.nextStatement();return null!==n?(this.lowlevel.evaluateOuter(n,this),t={done:!1,value:null}):(this.stack.reset(),t={done:!0,value:new C_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class P_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new R_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function M_(t,e,n,i,r,s=new Qg){let o=Ng(r.compile(t)),a=r.symbolTable.symbols.length,l=R_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function O_(t,e,n,i,r={},s=new Qg){return function(t,e,n,i,r){const s=Object.keys(r).map(t=>[t,r[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(i,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let h=0;h<3*o.length;h++)t.stack.push(null);t.stack.push(null),s.forEach(([,e])=>{t.stack.push(e)}),t.args.setup(t.stack,a,o,0,!0);const u=l.compilable,c={handle:Ng(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(c),t.stack.push(l),new I_(t)}(R_.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=bn(t);return Object.keys(t).reduce((t,n)=>(t[n]=In(e,n),t),{})}(r))}class A_ extends em{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class L_ extends p_{constructor(t,e,n){if(super(t,e,n),this.unmatchedAttributes=null,this.blockDepth=0,n)throw new Error("Rehydration with nextSibling not supported");let i=this.currentCursor.element.firstChild;for(;null!==i&&!F_(i);)i=i.nextSibling;this.candidate=i;const r=D_(i);if(0!==r){const t=r-1,e=this.dom.createComment(`%+b:${t}%`);i.parentNode.insertBefore(e,this.candidate);let n=i.nextSibling;for(;null!==n&&(!z_(n)||D_(n)!==r);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);i.parentNode.insertBefore(s,n.nextSibling),this.candidate=e,this.startingBlockOffset=t}else this.startingBlockOffset=0}get currentCursor(){return this.cursors.current}get candidate(){return this.currentCursor?this.currentCursor.candidate:null}set candidate(t){this.currentCursor.candidate=t}disableRehydration(t){const e=this.currentCursor;e.candidate=null,e.nextSibling=t}enableRehydration(t){const e=this.currentCursor;e.candidate=t,e.nextSibling=null}pushElement(t,e=null){const n=new A_(t,e,this.blockDepth||0);null!==this.candidate&&(n.candidate=t.firstChild,this.candidate=t.nextSibling),this.cursors.push(n)}clearMismatch(t){let e=t;const n=this.currentCursor;if(null!==n){const t=n.openBlockDepth;if(t>=n.startingBlockDepth)for(;e&&!(z_(e)&&t>=N_(e,this.startingBlockOffset));)e=this.remove(e);else for(;null!==e;)e=this.remove(e);this.disableRehydration(e)}}__openBlock(){const{currentCursor:t}=this;if(null===t)return;const e=this.blockDepth;this.blockDepth++;const{candidate:n}=t;if(null===n)return;const{tagName:i}=t.element;F_(n)&&N_(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==i&&"SCRIPT"!==i&&"STYLE"!==i&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let i=!1;if(null!==n)if(i=!0,z_(n)&&N_(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),i=!1;if(!i){const e=t.nextSibling;if(null!==e&&z_(e)&&N_(e,this.startingBlockOffset)===this.blockDepth){const n=this.remove(e);this.enableRehydration(n),t.openBlockDepth--}}}__appendNode(t){const{candidate:e}=this;return e||super.__appendNode(t)}__appendHTML(t){const e=this.markerBounds();if(e){const t=e.firstNode(),n=e.lastNode(),i=new nm(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&B_(r)&&(this.candidate=this.remove(r),null!==this.candidate&&this.clearMismatch(this.candidate)),i}return super.__appendHTML(t)}remove(t){const e=t.parentNode,n=t.nextSibling;return e.removeChild(t),n}markerBounds(){const t=this.candidate;if(t&&U_(t)){const e=t;let n=e.nextSibling;for(;!U_(n);)n=n.nextSibling;return new nm(this.element,e,n)}return null}__appendText(t){const{candidate:e}=this;return e?3===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):8===(n=e).nodeType&&"%|%"===n.nodeValue||B_(e)&&""===t?(this.candidate=this.remove(e),this.__appendText(t)):(this.clearMismatch(e),super.__appendText(t)):super.__appendText(t);var n}__appendComment(t){const e=this.candidate;return e&&8===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):(e&&this.clearMismatch(e),super.__appendComment(t))}__openElement(t){const e=this.candidate;if(e&&j_(e)&&function(t,e){return t.namespaceURI===zg?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(j_(e)&&"TBODY"===e.tagName)return this.pushElement(e,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t);this.clearMismatch(e)}return super.__openElement(t)}__setAttribute(t,e,n){const i=this.unmatchedAttributes;if(i){const n=q_(i,t);if(n)return n.value!==e&&(n.value=e),void i.splice(i.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const i=q_(n,t);if(i)return i.value!==e&&(i.value=e),void n.splice(n.indexOf(i),1)}return super.__setProperty(t,e)}__flushElement(t,e){const{unmatchedAttributes:n}=this;if(n){for(const t of n)this.constructing.removeAttribute(t.name);this.unmatchedAttributes=null}else super.__flushElement(t,e)}willCloseElement(){const{candidate:t,currentCursor:e}=this;null!==t&&this.clearMismatch(t),e&&e.injectedOmittedNode&&this.popElement(),super.willCloseElement()}getMarker(t,e){const n=t.querySelector(`script[glmr="${e}"]`);return n?Dg(n):null}__pushRemoteElement(t,e,n){const i=this.getMarker(t,e);if(!i||i.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==i;)this.remove(t.firstChild);n=null}const r=new A_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new g_(t);return this.pushBlock(s,!0)}didAppendBounds(t){if(super.didAppendBounds(t),this.candidate){const e=t.lastNode();this.candidate=e.nextSibling}return t}}function F_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function z_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function D_(t){return parseInt(t.nodeValue.slice(4),10)}function N_(t,e){return D_(t)-e}function j_(t){return 1===t.nodeType}function U_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function B_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function q_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return L_.forInitialRender(t,e)}const $_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:nm,CurriedValue:Yg,CursorImpl:em,DOMChanges:by,DOMTreeConstruction:gy,DynamicAttribute:i_,DynamicScopeImpl:Qg,EMPTY_ARGS:Hm,EMPTY_NAMED:Vm,EMPTY_POSITIONAL:Wm,EnvironmentImpl:Cy,IDOMChanges:_y,LowLevelVM:Gy,NewTreeBuilder:p_,RehydrateTree:L_,RemoteBlock:g_,ResettableBlockImpl:m_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:tm,SimpleDynamicAttribute:r_,TEMPLATE_ONLY_COMPONENT_MANAGER:sy,TemplateOnlyComponent:oy,TemplateOnlyComponentManager:ry,UpdatingVM:v_,array:Iy,clear:rm,clientBuilder:__,concat:Oy,createCapturedArgs:Nm,curry:Jg,destroy:At,dynamicAttribute:e_,fn:Ay,get:Ly,hash:Fy,inTransaction:Ty,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new Dy(t,n),a=r.createHelper(e,o);if(!si(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=Re(()=>r.getValue(a)),It(t,s),oi(r)&&It(s,r.getDestroyable(a)),s},isDestroyed:zt,isDestroying:Ft,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return my.test(t)},normalizeProperty:wy,on:qy,registerDestructor:Mt,rehydrationBuilder:G_,reifyArgs:function(t){return{named:jm(t.named),positional:Um(t.positional)}},reifyNamed:jm,reifyPositional:Um,renderComponent:O_,renderMain:M_,renderSync:function(t,e){let n;return Ty(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ey=ty},runtimeOptions:ky,setDebuggerCallback:function(t){ey=t},templateOnlyComponent:ay},Symbol.toStringTag,{value:"Module"})),V_=qy,W_=Symbol("MUTABLE_CELL"),H_=Eg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),K_=Eg({id:"Cc/BCoQJ",block:'[[[11,"input"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,4,[30,0,["type"]]],[16,"checked",[30,0,["checked"]]],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/input.hbs",scope:()=>[V_],isStrictMode:!0});function X_(){}class Y_{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,Zi(this,t)}get id(){return U(this)}get class(){return"ember-view"}validateArguments(){for(let t of Object.keys(this.args.named))this.isSupportedArgument(t)||this.onUnsupportedArgument(t)}named(t){let e=this.args.named[t];return e?Rn(e):void 0}positional(t){let e=this.args.positional[t];return e?Rn(e):void 0}listenerFor(t){return this.named(t)||X_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const Z_=new WeakMap;function J_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return Z_.set(n,t),bi(tv,n),Di(e,n),n}const Q_={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},tv=new class{getCapabilities(){return Q_}create(t,e,n,i,r,s){var o;let a=new(o=e,Z_.get(o))(t,n.capture(),Rn(s));return Oe(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return bn(t)}getDestroyable(t){return t}},ev=Object.freeze({});function nv(t){return function(t){return t.target}(t).value}function iv(t){return void 0===t?new rv(void 0):kn(t)?new rv(Rn(t)):Tn(t)?new sv(t):new ov(t)}class rv{static{Jc(this.prototype,"value",[ys])}#_=void eh(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class sv{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class ov{local;upstream;lastUpstreamValue=ev;constructor(t){this.upstream=new sv(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new rv(t)),this.local.get()}set(t){this.local.set(t)}}class av extends Y_{validateArguments(){super.validateArguments()}_value=iv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=nv(t)}static{th(this.prototype,"valueDidChange",[cc])}change(t){this.valueDidChange(t)}input(t){this.valueDidChange(t)}keyUp(t){switch(t.key){case"Enter":this.listenerFor("enter")(t),this.listenerFor("insert-newline")(t);break;case"Escape":this.listenerFor("escape-press")(t)}}static{th(this.prototype,"keyUp",[cc])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(nv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let lv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,lv=n=>{let i=t[n];if(void 0===i){try{e.type=n,i=e.type===n}catch(r){i=!1}finally{e.type="text"}t[n]=i}return i}}else lv=t=>""!==t;class uv extends av{static toString(){return"Input"}get class(){return this.isCheckbox?"ember-checkbox ember-view":"ember-text-field ember-view"}get type(){let t=this.named("type");return null==t?"text":lv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=iv(this.args.named.checked);get checked(){return this.isCheckbox?this._checked.get():void 0}set checked(t){this._checked.set(t)}change(t){this.isCheckbox?this.checkedDidChange(t):super.change(t)}static{th(this.prototype,"change",[cc])}input(t){this.isCheckbox||super.input(t)}static{th(this.prototype,"input",[cc])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{th(this.prototype,"checkedDidChange",[cc])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=J_(uv,K_),hv=Eg({id:"7Z3LFeO/",block:'[[[11,3],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[16,"role",[30,0,["role"]]],[16,"title",[30,0,["title"]]],[16,"rel",[30,0,["rel"]]],[16,"tabindex",[30,0,["tabindex"]]],[16,"target",[30,0,["target"]]],[17,1],[16,6,[30,0,["href"]]],[4,[32,0],["click",[30,0,["click"]]],null],[12],[18,2,null],[13]],["&attrs","&default"],["yield"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",scope:()=>[V_],isStrictMode:!0}),dv=[],pv={};function fv(t){return null==t}function gv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class mv extends Y_{static toString(){return"LinkTo"}static{Jc(this.prototype,"routing",[hf("-routing")])}#v=void eh(this,"routing");validateArguments(){super.validateArguments()}get class(){let t="ember-view";return this.isActive?(t+=this.classFor("active"),!1===this.willBeActive&&(t+=" ember-transitioning-out")):this.willBeActive&&(t+=" ember-transitioning-in"),this.isLoading&&(t+=this.classFor("loading")),this.isDisabled&&(t+=this.classFor("disabled")),t}get href(){if(this.isLoading)return"#";let{routing:t,route:e,models:n,query:i}=this;return Se(Ve(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!dc(t))return;let e=t.currentTarget;if(""!==e.target&&"_self"!==e.target)return;if(this.preventDefault(t),this.isDisabled)return;if(this.isLoading)return;let{routing:n,route:i,models:r,query:s,replace:o}=this,a={transition:void 0};jc(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{th(this.prototype,"click",[cc])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=Re(()=>(Se(Ve(this.routing,"currentState")),Oe(()=>this.routing.currentRouteName)));get currentRoute(){return Pe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:dv}get query(){return"query"in this.args.named?{...this.named("query")}:pv}get replace(){return!0===this.named("replace")}get isActive(){return this.isActiveForState(this.routing.currentState)}get willBeActive(){let t=this.routing.currentState,e=this.routing.targetState;return t===e?null:this.isActiveForState(e)}get isLoading(){return fv(this.route)||this.models.some(t=>fv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==jh(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||fv(e)?` ${t}`:e?` ${e}`:""}namespaceRoute(t){let{engineMountPoint:e}=this;return void 0===e?t:"application"===t?e:`${e}.${t}`}isActiveForState(t){if(!function(t){return!fv(t)}(t))return!1;if(this.isLoading)return!1;let e=this.named("current-when");if("boolean"==typeof e)return e;if("string"==typeof e){let{models:n,routing:i}=this;return e.split(" ").some(e=>i.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:i,routing:r}=this;return r.isActiveForRoute(n,i,e,t)}}preventDefault(t){t.preventDefault()}isSupportedArgument(t){return-1!==["route","model","models","query","replace","disabled","current-when","activeClass","loadingClass","disabledClass"].indexOf(t)||super.isSupportedArgument(t)}}let{prototype:yv}=mv,_v=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||_v(Object.getPrototypeOf(t),e):null;{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=_v(yv,"models").get;Object.defineProperty(yv,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&gv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=_v(yv,"query").get;Object.defineProperty(yv,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return gv(t)?t.values??pv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(gv(t)&&null!==t.values)return t.values}return pv}}})}{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const vv=J_(mv,hv),bv=Eg({id:"KVdeMchh",block:'[[[11,"textarea"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",scope:()=>[V_],isStrictMode:!0});class wv extends av{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{th(this.prototype,"change",[cc])}input(t){super.input(t)}static{th(this.prototype,"input",[cc])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const xv=J_(wv,bv);function Sv(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Ev(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?In(t,e[0]):Mn(t,e)}function Cv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function kv(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=us(t,r);null==e&&(e=t.elementId);let n=gn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?Ev(e,r.split(".")):In(e,r);i.setAttribute(s,a,!1,null)}function Tv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=sf(e)):i||0===i?String(i):null})}function Rv(){}class Pv{classRef=null;rootRef;argsRevision;constructor(t,e,n,i,r,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=i,this.hasWrappedElement=r,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:Zt(n),this.rootRef=bn(t),Mt(this,()=>this.willDestroy(),!0),Mt(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=vc(t);e&&(xc(e),Sc(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Rv}}function Iv(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=Rn(r);Tn(r)?e[i]=new Ov(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Mv=Symbol("REF");class Ov{value;[W_];[Mv];constructor(t,e){this[W_]=!0,this[Mv]=t,this.value=e}update(t){Pn(this[Mv],t)}}const Av=ut("ARGS"),Lv=ut("HAS_BLOCK"),Fv=Symbol("DIRTY_TAG"),zv=Symbol("IS_DISPATCHING_ATTRS"),Dv=Symbol("BOUNDS"),Nv=gn("ember-view");class jv{templateFor(t){let e,{layout:n,layoutName:i}=t,r=Yi(t);if(void 0===n){if(void 0===i)return null;e=r.lookup(`template:${i}`)}else{if("function"!=typeof n)return null;e=n}return Sv(e(r)).asWrappedLayout()}getDynamicLayout(t){return this.templateFor(t.component)}getTagName(t){let{component:e,hasWrappedElement:n}=t;return n?e&&e.tagName||"div":null}getCapabilities(){return qv}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=Rn(t);return{positional:i.positional,named:{...n,...i.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let i;if("string"==typeof n){let t=e.positional.capture();i={[n]:xn(()=>Um(t))},Object.assign(i,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);i={},Object.assign(i,e.named.capture());for(let r=0;r{s.setAttribute("class",gn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let i=e.split(":"),[r,s,o]=i;if(""===r)n.setAttribute("class",gn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?Ev(t,a):In(t,r);e=void 0===s?Tv(l,i?a[a.length-1]:r):function(t,e,n){return xn(()=>Rn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",Nv,!1,null),"ariaRole"in t&&s.setAttribute("role",In(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[Dv]=e,t.finalize()}didCreate({component:t,isInteractive:e}){e&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))}update(t){let{component:e,args:n,argsTag:i,argsRevision:r,isInteractive:s}=t;if(t.finalizer=Bc("render.component",Bv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[zv]=!0,e.setProperties(r),e[zv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Fv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Uv(t){return t.instrumentDetails({initialRender:!0})}function Bv(t){return t.instrumentDetails({initialRender:!1})}const qv={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!0,hasSubOwner:!1},Gv=new jv;function $v(t){return t===Gv}let Vv=new WeakMap;const Wv=Object.freeze([]);class Hv extends(sh.extend(zl,oh,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Wv,classNameBindings:Wv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[zv]=!1,this[Fv]=ie(),this[Dv]=null;const e=this._dispatcher;if(e){let t=Vv.get(e);t||(t=new WeakSet,Vv.set(e,t));let n=Object.getPrototypeOf(this);t.has(n)||(e.lazyEvents.forEach((t,n)=>{null!==t&&"function"==typeof this[t]&&e.setupHandlerForBrowserEvent(n)}),t.add(n))}this.elementId||""===this.tagName||(this.elementId=U(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=Yi(this);if(t.lookup("-environment:main").isInteractive){let e=t.lookup("event_dispatcher:main");this.__dispatcher=e}else this.__dispatcher=null}return this.__dispatcher}on(t,e,n){return this._dispatcher?.setupHandlerForEmberEvent(t),super.on(t,e,n)}_rerender(){ee(this[Fv]),this._superRerender()}[Gr](t,e){if(this[zv])return;let n=this[Av],i=void 0!==n?n[t]:void 0;void 0!==i&&Tn(i)&&Pn(i,2===arguments.length?e:us(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=vc(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=wy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return Cc(this)}static{th(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){kc(this,t)}_transitionTo(t){let e=this._currentState,n=this._currentState=this._states[t];this._state=t,e&&e.exit&&e.exit(this),n.enter&&n.enter(this)}nearestOfType(t){let e=this.parentView;for(;e;){if(t.detect(e.constructor))return e;e=e.parentView}}nearestWithProperty(t){let e=this.parentView;for(;e;){if(t in e)return e;e=e.parentView}}rerender(){return this._currentState.rerender(this)}get element(){return this.renderer.getElement(this)}static{th(this.prototype,"element",[ur({configurable:!1,enumerable:!1})])}appendTo(t){let n;return n=e&&"string"==typeof t?document.querySelector(t):t,this.renderer.appendTo(this,n),this}append(){return this.appendTo(document.body)}willInsertElement(){return this}didInsertElement(){return this}willClearRender(){return this}destroy(){return super.destroy(),this._currentState.destroy(this),this}willDestroyElement(){return this}didDestroyElement(){return this}parentViewDidChange(){return this}handleEvent(t,e){return this._currentState.handleEvent(this,t,e)}static isComponentFactory=!0;static toString(){return"@ember/component"}}Hv.reopenClass({positionalParams:[]}),bi(Gv,Hv);const Kv=Symbol("RECOMPUTE_TAG"),Xv=Symbol("IS_CLASSIC_HELPER");class Yv extends Fc{static isHelperFactory=!0;static[Xv]=!0;static helper=eb;init(t){super.init(t),this[Kv]=ie()}recompute(){ea(()=>ee(this[Kv]))}}class Zv{capabilities=ri(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};Zi(e,t),this.ownerInjection=e}createHelper(t,e){var n;return{instance:null!=(n=t)&&"class"in n?t.create():t.create(this.ownerInjection),args:e}}getDestroyable({instance:t}){return t}getValue({instance:t,args:e}){let{positional:n,named:i}=e,r=t.compute(n,i);return Se(t[Kv]),r}getDebugName(t){return B((t.class||t).prototype)}}Li(t=>new Zv(t),Yv);const Jv=vi(Yv);class Qv{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const tb=new class{capabilities=ri(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return B(t.compute)}};function eb(t){return new Qv(t)}function nb(t){return{object:`${t.name}:main`}}Li(()=>tb,Qv.prototype);const ib={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},rb=ti(ib),sb=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:Bc("render.outlet",nb,e)};if(void 0!==i.debugRenderTree){let t=Rn(s),e=t?.render?.owner,n=Rn(o),i=n?.render?.owner;if(e&&e!==i){let{mountPoint:t}=i;t&&(a.engine={mountPoint:t,instance:i})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Hm,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Hm,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return ib}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ob=Eg({id:"Hacwyo/Q",block:'[[[8,[30,1],null,[["@controller","@model"],[[30,2],[30,3]]],null]],["@Component","@controller","@model"],[]]',moduleName:"/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",isStrictMode:!0});class ab{handle=-1;resolvedName=null;manager=sb;capabilities=rb;compilable;constructor(t,e){this.state=e,this.compilable=Sv(ob(t)).asLayout()}}class lb extends jv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=Bc("render.component",Uv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Pv(s,null,se,o,a,i);return Se(s[Fv]),l}}const ub={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!1,hasSubOwner:!1};class cb{handle=-1;resolvedName="-top-level";state;manager;capabilities=ti(ub);compilable=null;constructor(t){this.manager=new lb(t);let e=el(t);this.state=e}}function hb(t){return yi(t,{})}class db{constructor(t){this.inner=t}}const pb=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new db(t)})});class fb{position=0;constructor(t){this.length=t}isEmpty(){return!1}memoFor(t){return t}next(){let{length:t,position:e}=this;if(e>=t)return null;let n=this.valueFor(e),i=this.memoFor(e);return this.position++,{value:n,memo:i}}}class gb extends fb{static from(t){return t.length>0?new this(t):null}static fromForEachable(t){let e=[];return t.forEach(t=>e.push(t)),this.from(e)}constructor(t){super(t.length),this.array=t}valueFor(t){return this.array[t]}}class mb extends fb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return Ji(this.array,t)}}class yb extends fb{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let i of e){let e;e=t[i],xe()&&(Se(Ve(t,i)),Array.isArray(e)&&Se(Ve(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],i=0,r=!1;return t.forEach(function(t,s){r=r||arguments.length>=2,r&&e.push(s),n.push(t),i++}),0===i?null:r?new this(e,n):new gb(n)}constructor(t,e){super(e.length),this.keys=t,this.values=e}valueFor(t){return this.values[t]}memoFor(t){return this.keys[t]}}class _b{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:i}=n;return i?null:new this(e,n)}position=0;constructor(t,e){this.iterable=t,this.result=e}isEmpty(){return!1}next(){let{iterable:t,result:e,position:n}=this;if(e.done)return null;let i=this.valueFor(e,n),r=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:i,memo:r}}}class vb extends _b{valueFor(t){return t.value}memoFor(t,e){return e}}class bb extends _b{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function wb(t){return null!=t&&"function"==typeof t.forEach}function xb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Sb;Sb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):Ch(t)?(Se(tr(t,"[]")),0!==t.length):null!==(e=t)&&"object"==typeof e&&"function"==typeof e.toHTML?Boolean(t.toString()):Boolean(t);var e},toIterator:function(t){return t instanceof db?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||$i(t)?yb.fromIndexable(t):xb(t)?bb.from(t):wb(t)?yb.fromForEachable(t):yb.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?gb.from(t):$i(t)?mb.from(t):xb(t)?vb.from(t):wb(t)?gb.fromForEachable(t):null:null}(t)},getProp:cs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Sb.scheduleRevalidate,ft=Sb.scheduleDestroy,gt=Sb.scheduleDestroyed,mt=Sb.toIterator,yt=Sb.toBool,_t=Sb.getProp,vt=Sb.setProp,bt=Sb.getPath,wt=Sb.setPath;class Eb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const Cb=hb(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return Rn(i),Rn(r),Rn(s),xn(()=>Rn(n))});let kb;kb=t=>t.positional[0];const Tb=hb(kb),Rb=hb(({positional:t})=>xn(()=>{let e=t[0],n=t[1],i=Rn(e).split("."),r=i[i.length-1],s=Rn(n);return!0===s?sf(r):s||0===s?String(s):""})),Pb=hb(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Mb=hb(({positional:t})=>Cn(t[0])),Ob=hb(({positional:t})=>Sn(t[0])),Ab=hb(({positional:t,named:e})=>wn(Rn(t[0]))),Lb=hb(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Fb={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!0},zb=new class{getDynamicLayout(t){return Sv(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Fb}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,u=r.factoryFor("controller:application")||jd(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=u.create(),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=Rn(l);s=u.create({model:t}),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&It(r,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,i){return[{bucket:e.engine,instance:e.engine,type:"engine",name:t.name,args:n},{bucket:e.controller,instance:e.controller,type:"route-template",name:"application",args:n,template:i}]}getSelf({self:t}){return t}getDestroyable(t){return t.engine}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}update(t){let{controller:e,modelRef:n}=t;void 0!==n&&e.set("model",Rn(n))}};class Db{handle=-1;state;manager=zb;compilable=null;capabilities=ti(Fb);constructor(t){this.resolvedName=t,this.state={name:t}}}const Nb=hb((t,e)=>{let n,i,r,s=t.positional[0];return n=Nm(t.named,Wm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Jg(0,new Db(t),e,n,!0)),r):(r=null,i=null,null)})}),jb={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},Ub=ti(jb),Bb=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:Rn(i)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,i){return[{bucket:n,type:"route-template",name:t,args:i,instance:n.controller,template:e}]}getCapabilities(){return jb}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class qb{handle=-1;resolvedName;state;manager=Bb;capabilities=Ub;compilable;constructor(t,e){let n=Sv(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Jg(0,new qb(e,n),t,null,!0)}const $b=hb((t,e,n)=>{let i=xn(()=>{let t=Rn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return xn(()=>{let t=Rn(i),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let i=n.template;return null==i?null:{ref:t,name:n.name,template:i,controller:n.controller}}(i,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,r))if(r=n,null!==n){let o,a=t?.render?.owner??e,l=rn(),u=n.template;o=xi(u)?u:Gb(a,n.name,u),l.Component=bn(o),l.controller=bn(n.controller);let c=Mn(i,["render","model"]),h=Rn(c);l.model=xn(()=>(r===n&&(h=Rn(c)),h));let d=Nm(l,Wm);s=Jg(0,new ab(e,n),a,d,!0)}else s=null;return s})});function Vb(t){return{object:`component:${t}`}}const Wb={mut:Mb,readonly:Ob,unbound:Ab,"-hash":Fy,"-each-in":pb,"-normalize-class":Rb,"-resolve":Pb,"-track-array":Ib,"-mount":Nb,"-outlet":$b,"-in-el-null":Tb},Hb={...Wb,array:Iy,concat:Oy,fn:Ay,get:Ly,hash:Fy,"unique-id":Lb};Hb["-disallow-dynamic-resolution"]=Cb;const Kb={},Xb={...Kb,on:qy};class Yb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Hb[t];if(void 0!==n)return n;let i=e.factoryFor(`helper:${t}`);if(void 0===i)return null;let r=i.class;return void 0===r?null:"function"==typeof r&&!0===r[Xv]?(yi(Jv,i),i):r}lookupBuiltInHelper(t){return Wb[t]??null}lookupModifier(t,e){let n=Xb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Kb[t]??null}lookupComponent(t,e){let n=function(t,e){let n=function(t,e){let n=`component:${t}`;return e.factoryFor(n)||null}(e,t);if(null!=(i=n)&&"function"==typeof i.create&&n.class){let t=Ni(n.class);if(void 0!==t)return{component:n,layout:t}}var i;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let i,r=null;i=null===n.component?r=n.layout(e):n.component;let s=this.componentDefinitionCache.get(i);if(void 0!==s)return s;null===r&&null!==n.layout&&(r=n.layout(e));let o=Bc("render.getComponentDefinition",Vb,t),a=null;if(null===n.component)a={state:ay(void 0,t),manager:sy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:$v(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Zb="-top-level";class Jb{static extend(t){return class extends Jb{static create(e){return e?super.create(Object.assign({},t,e)):super.create(t)}}}static reopenClass(t){Object.assign(this,t)}static create(t){let{environment:e,application:n,template:i}=t,r=Yi(t),s=i(r);return new Jb(e,r,s,n)}ref;state;constructor(t,e,n,i){this._environment=t,this.owner=e,this.template=n,this.namespace=i;let r=ie(),s={outlets:{main:void 0},render:{owner:e,name:Zb,controller:void 0,model:void 0,template:n}},o=this.ref=xn(()=>(Se(r),s),t=>{ee(r),s.outlets.main=t});this.state={ref:o,name:Zb,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ia("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){Pn(this.ref,t)}destroy(){}}class Qb{constructor(t,e){this.view=t,this.outletState=e}child(){return new Qb(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const tw=()=>{};class ew{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=O_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();It(this,this.#b),this.#w=()=>{if(!Ft(r)&&!zt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return zt(this)}get result(){return this.#b}}class nw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Jb?U(t):gc(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Sv(i).asLayout(),l=M_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();It(n,u),this.render=()=>{if(!Ft(u)&&!zt(u))return u.rerender({alwaysRevalidate:!1})}}}isFor(t){return this.root===t}destroy(){let{result:t,env:e}=this;this.destroyed=!0,this.root=null,this.result=void 0,this.render=void 0,void 0!==t&&Ty(e,()=>At(t))}}const iw=[];function rw(t){let e=iw.indexOf(t);iw.splice(e,1)}let sw=null,ow=0;Qo.on("begin",function(){for(let t of iw)t.rerender()}),Qo.on("end",function(){for(let t of iw)if(!t.isValid()){if(ow>g._RERENDER_LOOP_LIMIT)throw ow=0,t.destroy(),new Error("infinite rendering invalidation detected");return ow++,Qo.join(null,tw)}ow=0,function(){if(null!==sw){let t=sw.resolve;sw=null,Qo.join(null,t)}}()});class aw{static create(t,e){const n=new aw(t,e);return It(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,Mt(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#k,inRenderTransaction:this.#E,isInteractive:this.isInteractive}}get roots(){return this.#k}get owner(){return this.#x.owner}get builder(){return this.#x.builder}get context(){return this.#x.context}get env(){return this.context.env}get isInteractive(){return this.#x.context.env.isInteractive}renderRoot(t,e){let n=this.#k;return n.push(t),It(this,t),1===n.length&&function(t){iw.push(t)}(e),this.#R(e),t}#R(t){if(this.#E)return;this.#E=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=Zt(ce)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ty(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(ce)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&rw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(ce,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#k;for(let n of e)At(n);this.#T.length=0,this.#k=[],e.length&&rw(t)}}class lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}state;constructor(t,e,n,i,r){let s={constants:new Mg,heap:new Ag},o=ky({document:n},new Eb(t,e.isInteractive),s,i),a=new bg(s,t=>new Og(t),o);this.state=aw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){At(this)}render(t,e){const n=new ew(this.state,t,{args:e.args,into:(i=e.into,"element"in i?i:{element:i,nextSibling:null})});var i;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class uw extends lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=Yi(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(ll`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=__,o=new Yb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new ab((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=rn();o.Component=bn(Gb(t.owner,r,s)),o.controller=mn,o.model=mn;let a=Nm(o,Wm);this._appendDefinition(t,Jg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Jg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new Qb(null,mn),s=new nw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(zt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let i=e[n];"classic"===i.type&&i.isFor(t)&&(i.destroy(),e.splice(n,1))}}remove(t){t._transitionTo("destroying"),this.cleanupRootFor(t),this.state.isInteractive&&t.trigger("didDestroyElement")}get _roots(){return this.state.debug.roots}get _inRenderTransaction(){return this.state.debug.inRenderTransaction}get _isInteractive(){return this.state.debug.isInteractive}get _context(){return this.state.context}register(t){let e=gc(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[gc(t)]}getElement(t){if(this._isInteractive)return vc(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[Dv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Eg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[$b],isStrictMode:!0});class hw extends Uh{rootElement=null;init(t){super.init(t),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})}_bootSync(t){return this._booted||(t=new dw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&bs(this.router,"location",t.location),this.application.runInstanceInitializers(this),t.isInteractive&&this.setupEventDispatcher(),this._booted=!0),this}setupRegistry(t){this.constructor.setupRegistry(this.__registry__,t)}_router;get router(){if(!this._router){let t=this.lookup("router:main");this._router=t}return this._router}didCreateRootView(t){t.appendTo(this.rootElement)}startRouting(){this.router.startRouting()}setupRouter(){this.router.setupRouter()}handleURL(t){return this.setupRouter(),this.router.handleURL(t)}setupEventDispatcher(){let t=this.lookup("event_dispatcher:main"),e=us(this.application,"customEvents"),n=us(this,"customEvents"),i=Object.assign({},e,n);return t.setup(i,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,i=()=>e.options.shouldRender?(null===sw&&(sw=$u.defer(),Yo()||Qo.schedule("actions",null,tw)),sw.promise).then(()=>this):this,r=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(i,r);throw"TransitionAborted"===t.name?new Error(t.message):t},s=us(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(i,r)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof dw?e:new dw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class dw{isInteractive;_renderMode;isBrowser;location=null;shouldRender;document;rootElement;constructor(t={}){this.isInteractive=Boolean(e),this._renderMode=t._renderMode,void 0!==t.isBrowser?this.isBrowser=Boolean(t.isBrowser):this.isBrowser=Boolean(e),this.isBrowser||(this.isInteractive=!1,this.location="none"),void 0!==t.shouldRender?this.shouldRender=Boolean(t.shouldRender):this.shouldRender=!0,this.shouldRender||(this.isInteractive=!1),t.document?this.document=t.document:this.document="undefined"!=typeof document?document:null,t.rootElement&&(this.rootElement=t.rootElement),void 0!==t.location&&(this.location=t.location),void 0!==t.isInteractive&&(this.isInteractive=Boolean(t.isInteractive))}toEnvironment(){return{...l,hasDOM:this.isBrowser,isInteractive:this.isInteractive,_renderMode:this._renderMode,options:this}}}class pw extends ac{static NAMESPACES=Ws;static NAMESPACES_BY_ID=Hs;static processAll=Qs;static byName=Zs;init(t){super.init(t),Ks(this)}toString(){let t=us(this,"name")||us(this,"modulePrefix");if(t)return t;Ys();let e=Bs(this);return void 0===e&&(e=U(this),Us(this,e)),e}nameClasses(){Js(this)}destroy(){return Xs(this),super.destroy()}}pw.prototype.isNamespace=!0;const fw=Object.freeze(Object.defineProperty({__proto__:null,default:pw},Symbol.toStringTag,{value:"Module"}));var gw=function(){function t(){this._vertices=new mw}return t.prototype.add=function(t,e,n,i){if(!t)throw new Error("argument `key` is required");var r=this._vertices,s=r.add(t);if(s.val=e,n)if("string"==typeof n)r.addEdge(s,r.add(n));else for(var o=0;o0){var i="cycle detected: "+e;throw this.each(this.path,function(t){i+=" <- "+t}),new Error(i)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,r.push(o),e===a.key)break;i.push(~o),this.pushIncoming(a)}else r.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var i=t[n];this[i].flag||e.push(i)}},t.prototype.each=function(t,e){for(var n=0,i=t.length;n{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.test(e)&&"class"===uh(t[e])&&n.push(sf(e.replace(i,"")))}),n}}class vw extends ac{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let i=`template:components/${t}`;return e.lookup(i,n)}}const bw=new WeakMap;class ww extends p_{__openBlock(){let{tagName:t}=this.element;if("TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=this.serializeBlockDepth++;this.__appendComment(`%+b:${t}%`)}super.__openBlock()}__closeBlock(){let{tagName:t}=this.element;if(super.__closeBlock(),"TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=--this.serializeBlockDepth;this.__appendComment(`%-b:${t}%`)}}__appendHTML(t){let{tagName:e}=this.element;if("TITLE"===e||"SCRIPT"===e||"STYLE"===e)return super.__appendHTML(t);let n=this.__appendComment("%glmr%");if("TABLE"===e){let e=t.indexOf("<");e>-1&&"tr"===t.slice(e+1,e+3)&&(t=`${t}`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let i=this.__appendComment("%glmr%");return new nm(this.element,n,i)}__appendText(t){let{tagName:e}=this.element,n=function(t){let{element:e,nextSibling:n}=t;return null===n?e.lastChild:n.previousSibling}(this);return"TITLE"===e||"SCRIPT"===e||"STYLE"===e?super.__appendText(t):""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),super.__appendText(t))}closeElement(){return bw.has(this.element)&&(bw.delete(this.element),super.closeElement()),super.closeElement()}openElement(t){return"tr"===t&&"TBODY"!==this.element.tagName&&"THEAD"!==this.element.tagName&&"TFOOT"!==this.element.tagName&&(this.openElement("tbody"),bw.set(this.constructing,!0),this.flushElement(null)),super.openElement(t)}pushRemoteElement(t,e,n=null){let{dom:i}=this,r=i.createElement("script");return r.setAttribute("glmr",e),i.insertBefore(t,r,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function xw(t,e){return ww.forInitialRender(t,e)}function Sw(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return xw.bind(null);case"rehydrate":return G_.bind(null);default:return __.bind(null)}}}),t.register(ll`template:-root`,H_),t.register("renderer:-dom",uw)}class Ew extends(pw.extend(Cl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");static buildRegistry(t){let e=new sl({resolver:Cw(t)});return e.set=bs,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",zh,{instantiate:!1}),t.register("service:-routing",yf),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",_w),t.register("component-lookup:main",vw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Jb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",vv),t.register("component:textarea",xv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Uh.create({...t,base:this})}buildRegistry(){return this.__registry__=this.constructor.buildRegistry(this)}initializer(t){this.constructor.initializer(t)}instanceInitializer(t){this.constructor.instanceInitializer(t)}runInitializers(){this._runInitializer("initializers",(t,e)=>{e.initialize(this)})}runInstanceInitializers(t){this._runInitializer("instanceInitializers",(e,n)=>{n.initialize(t)})}_runInitializer(t,e){let n,i=us(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new gw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function Cw(t){let e={namespace:t};return t.Resolver.create(e)}function kw(t){return function(e){let n=this.superclass;if(void 0!==n[t]&&n[t]===this[t]){let e={[t]:Object.create(this[t])};this.reopenClass(e)}this[t][e.name]=e}}const Tw=Ba,Rw=Zi;class Pw extends Ew{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Op),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Zd),t.register("event_dispatcher:main",Oc),t.register("location:hash",$p),t.register("location:history",Hp),t.register("location:none",Kp),t.register(ll`-bucket-cache:main`,{create:()=>new rp}),t.register("service:router",mf)}(e),Sw(e),e}static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");init(t){super.init(t),this.rootElement??="body",this._document??=null,this.eventDispatcher??=null,this.customEvents??=null,this.autoboot??=!0,this._document??=e?window.document:null,this._globalsMode??=!0,this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=new Set,this.autoboot=this._globalsMode=Boolean(this.autoboot),this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()}buildInstance(t={}){return hw.create({...t,base:this,application:this})}_watchInstance(t){this._applicationInstances.add(t)}_unwatchInstance(t){return this._applicationInstances.delete(t)}Router;_prepareForGlobalsMode(){this.Router=(this.Router||Op).extend(),this._buildDeprecatedInstance()}__deprecatedInstance__;__container__;_buildDeprecatedInstance(){let t=this.buildInstance();this.__deprecatedInstance__=t,this.__container__=t.__container__}waitForDOMReady(){const t=this._document;if(null===t||"loading"!==t.readyState)ia("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ta(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&ra(this,this.didBecomeReady)}_bootPromise=null;boot(){if(this._bootPromise)return this._bootPromise;try{this._bootSync()}catch(t){}return this._bootPromise}_bootResolver=null;_bootSync(){if(this._booted||this.isDestroying||this.isDestroyed)return;let t=this._bootResolver=Vu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ha("application",this),this.advanceReadiness()}catch(Gz){throw t.reject(Gz),Gz}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,ea(this,function(){ta(t,"destroy"),this._buildDeprecatedInstance(),ia("actions",this,"_bootSync")})}didBecomeReady(){if(!this.isDestroying&&!this.isDestroyed)try{if(this.autoboot){let t;t=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),t._bootSync(),this.ready(),t.startRouting()}this._bootResolver.resolve(this),this._booted=!0}catch(Gz){throw this._bootResolver.reject(Gz),Gz}}ready(){return this}willDestroy(){super.willDestroy(),Wa.application===this&&(Wa.application=void 0),this._applicationInstances.size&&(this._applicationInstances.forEach(t=>t.destroy()),this._applicationInstances.clear())}visit(t,e){return this.boot().then(()=>{let n=this.buildInstance();return n.boot(e).then(()=>n.visit(t)).catch(t=>{throw ta(n,"destroy"),t})})}}const Iw=Object.freeze(Object.defineProperty({__proto__:null,_loaded:Wa,default:Pw,getOwner:Tw,onLoad:function(t,e){let n=Va[t];($a[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ha,setOwner:Rw},Symbol.toStringTag,{value:"Module"})),Mw=Object.assign({},{});function Ow(){return Aw.global}const Aw={packages:{},global:{}};let Lw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Lw){let t={config:function(t){return Aw.packages[t]},getGlobalConfig:Ow,setConfig(t,e){Aw.packages[t]=e},setGlobalConfig(t,e){Aw.global[t]=e}};for(let e of Lw)e(t)}const Fw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},zw=Object.freeze(Object.defineProperty({__proto__:null,default:Fw,enterTestMode:function(){Fw.locationType="none",Fw.APP.rootElement="#ember-testing",Fw.APP.autoboot=!1;const t=Ow()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var Dw;Dw={throwOnUnhandled:!1,workflow:[]},self.deprecationWorkflow=self.deprecationWorkflow||{},self.deprecationWorkflow.deprecationLog={messages:new Set},self.deprecationWorkflow.flushDeprecations=t=>function({handler:t="silence",config:e={}}={}){let n=self.deprecationWorkflow.deprecationLog.messages,i=e.workflow??[],r=n.values().filter(t=>!i.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...i,...r]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:Dw,...t});const Nw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let jw;!function(){const t="TEST_WAITERS",e="undefined"!=typeof Symbol?Symbol.for(t):t,n=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw new Error("unable to locate global object")}();let i=n[e];void 0===i&&(i=n[e]=new Map)}(),jw=Op;var Uw=jw;class Bw extends Uw{location=Fw.locationType;rootURL=Fw.rootURL}Bw.map(function(){this.route("place",{path:"/place/:place_id"})});const qw=Object.freeze(Object.defineProperty({__proto__:null,default:Bw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends df{async getNearbyPois(t,e,n=50){const i=`\n[out:json][timeout:25];\n(\n nwr["amenity"](around:${n},${t},${e});\n nwr["shop"](around:${n},${t},${e});\n nwr["tourism"](around:${n},${t},${e});\n nwr["leisure"](around:${n},${t},${e});\n nwr["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),r=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(i)}`,s=await fetch(r);if(!s.ok)throw new Error("Overpass request failed");return(await s.json()).elements}async getPoiById(t){const e=`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n relation(${t});\n);\nout center;\n `.trim(),n=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(e)}`,i=await fetch(n);if(!i.ok)throw new Error("Overpass request failed");return(await i.json()).elements[0]}}},Symbol.toStringTag,{value:"Module"}));function $w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Vw,Ww={exports:{}},Hw=(Vw||(Vw=1,Ww.exports=function(){var t={548:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Access=void 0;class n{constructor(){this.reset()}get scopes(){return Object.keys(this.scopeModeMap).map(t=>({name:t,mode:this.scopeModeMap[t]}))}get scopeParameter(){return this.scopes.map(t=>`${this._scopeNameForParameter(t)}:${t.mode}`).join(" ")}claim(t,e){if("string"!=typeof t||-1!==t.indexOf("/")||0===t.length)throw new Error("Scope should be a non-empty string without forward slashes");if("string"!=typeof e||!e.match(/^rw?$/))throw new Error("Mode should be either 'r' or 'rw'");this._adjustRootPaths(t),this.scopeModeMap[t]=e}get(t){return this.scopeModeMap[t]}remove(t){const e={};for(const n in this.scopeModeMap)e[n]=this.scopeModeMap[n];this.reset(),delete e[t];for(const n in e)this.claim(n,e[n])}checkPermission(t,e){const n=this.get(t);return n&&("r"===e||"rw"===n)}checkPathPermission(t,e){if(this.checkPermission("*",e))return!0;const n=this._getModuleName(t);return!!this.checkPermission(n,e)}reset(){this.rootPaths=[],this.scopeModeMap={}}_getModuleName(t){if("/"!==t[0])throw new Error("Path should start with a slash");const e=t.replace(/^\/public/,"").match(/^\/([^/]*)\//);return e?e[1]:"*"}_adjustRootPaths(t){"*"in this.scopeModeMap||"*"===t?this.rootPaths=["/"]:t in this.scopeModeMap||(this.rootPaths.push("/"+t+"/"),this.rootPaths.push("/public/"+t+"/"))}_scopeNameForParameter(t){if("*"===t.name&&this.storageType){if("2012.04"===this.storageType)return"";if(this.storageType.match(/remotestorage-0[01]/))return"root"}return t.name}setStorageType(t){this.storageType=t}static _rs_init(){}}e.Access=n,e.default=n},275:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=r(n(334)),o=n(746),a=r(n(503)),l=n(368);let u;function c(t){const e=t||h.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const i=e.indexOf("#");if(-1===i)return n;const r=e.substring(i+1);return r.includes("=")?r.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const i=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(i)),e=e.replace(new RegExp("&?rsDiscovery="+i),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class h{static authorize(t,e){if((0,s.default)("[Authorize] authURL = ",e.authURL,"scope = ",e.scope,"redirectUri = ",e.redirectUri,"clientId = ",e.clientId,"response_type =",e.response_type),!e.scope)throw new Error("Cannot authorize due to undefined or empty scope; did you forget to access.claim()?");if(!(0,o.localStorageAvailable)()&&"remotestorage"===t.backend){e.redirectUri+=e.redirectUri.indexOf("#")>0?"&":"#";const n={userAddress:t.remote.userAddress,href:t.remote.href,storageApi:t.remote.storageApi,properties:t.remote.properties};e.redirectUri+="rsDiscovery="+(0,o.toBase64)(JSON.stringify(n))}const n=function(t){const e=new URL(t.redirectUri);t.state||(t.state=e.hash?e.hash.substring(1):""),t.response_type||(t.response_type="token");const n=new URL(t.authURL);n.searchParams.set("redirect_uri",t.redirectUri.replace(/#.*$/,"")),n.searchParams.set("scope",t.scope),n.searchParams.set("client_id",t.clientId);for(const i of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[i];e&&n.searchParams.set(i,e)}return n.href}(e);o.globalContext.cordova?h.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):h.setLocation(n)}static refreshAccessToken(t,e,n){return i(this,void 0,void 0,function*(){var t,i,r;yield e.configure({token:null,tokenType:null});const o=new URLSearchParams({grant_type:"refresh_token",client_id:e.clientId,refresh_token:n}),u=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==u?void 0:u.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(u.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==u?void 0:u.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==u?void 0:u.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==u?void 0:u.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${u.response}`);yield e.configure(n)}})}static setLocation(t){if("string"==typeof t)document.location.href=t;else{if("object"!=typeof t)throw"Invalid location "+t;document.location=t}}static _rs_supported(){return"undefined"!=typeof document}static _rs_cleanup(t){t.removeEventListener("features-loaded",u)}}e.Authorize=h,h.IMPLIED_FAKE_TOKEN=!1,h.getLocation=function(){return document.location},h.openWindow=function(t,e,n){return new Promise((i,r)=>{const s=open(t,"_blank",n);function o(){r("Authorization was canceled")}s&&!s.closed?(s.addEventListener("loadstart",function(t){if(0!==t.url.indexOf(e))return;s.removeEventListener("exit",o),s.close();const n=c(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},h._rs_init=function(t){const e=c();let n;e&&(n=h.getLocation(),n.hash=""),u=function(){let r=!1;if(e){if(e.error)throw"access_denied"===e.error?new a.default("Authorization failed: access denied",{code:"access_denied"}):new a.default(`Authorization failed: ${e.error}`);e.rsDiscovery&&t.remote.configure(e.rsDiscovery),e.access_token&&(t.remote.configure({token:e.access_token}),r=!0),e.remotestorage&&(t.connect(e.remotestorage),r=!0),e.state&&(n=h.getLocation(),h.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const u=sessionStorage.getItem("remotestorage:codeVerifier");if(!u)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=h.getLocation();let c=n.origin;"/"!==n.pathname&&(c+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:c,code_verifier:u}),p=yield(0,l.requestWithTimeout)("POST",t.remote.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),responseType:"json"});if(200===p.status){(0,s.default)(`[Authorize] access token good for ${null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.expires_in} seconds`);const e={token:null===(r=null==p?void 0:p.response)||void 0===r?void 0:r.access_token,refreshToken:null===(o=null==p?void 0:p.response)||void 0===o?void 0:o.refresh_token,tokenType:null===(a=null==p?void 0:p.response)||void 0===a?void 0:a.token_type};e.token?t.remote.configure(e):t._emit("error",new Error(`no access_token in "successful" response: ${p.response}`)),sessionStorage.removeItem("remotestorage:codeVerifier")}else t._emit("error",new Error(`${p.statusText}: ${p.response}`))})}(e.code),r=!0),r||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",u)},e.default=h},424:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=r(n(439)),o=r(n(613)),a=r(n(491)),l=r(n(93)),u=r(n(28)),c=n(746);class h{constructor(t,e){if(this.schemas={configurable:!0,get(){return h.Types.inScope(this.moduleName)}},"/"!==e[e.length-1])throw"Not a folder: "+e;"/"===e&&(this.makePath=t=>("/"===t[0]?"":"/")+t),this.storage=t,this.base=e,this.moduleName=function(t){const e=t.split("/");return t.length>2?e[1]:"root"}(this.base),this.addEvents(["change"]),this.on=this.on.bind(this),t.onChange(this.base,this._fireChange.bind(this))}scope(t){return new h(this.storage,this.makePath(t))}getListing(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(t=>404===t.statusCode?{}:t.body)})}getAll(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(n=>{if(404===n.statusCode)return{};if("object"==typeof n.body){const i=Object.keys(n.body);if(0===i.length)return{};const r=i.map(i=>this.storage.get(this.makePath(t+i),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[i]=t.body)}));return Promise.all(r).then(()=>n.body)}})})}getFile(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getFile must be a string"):this.storage.get(this.makePath(t),e).then(t=>({data:t.body,contentType:t.contentType,revision:t.revision}))})}storeFile(t,e,n){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'contentType' of baseClient.storeFile must be a string"):"string"!=typeof e?Promise.reject("Argument 'path' of baseClient.storeFile must be a string"):"string"!=typeof n&&"object"!=typeof n?Promise.reject("Argument 'body' of baseClient.storeFile must be a string, ArrayBuffer, or ArrayBufferView"):(this.storage.access.checkPathPermission(this.makePath(e),"rw")||console.warn("WARNING: Editing a document to which only read access ('r') was claimed"),this.storage.put(this.makePath(e),n,t).then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode)))})}getObject(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getObject must be a string"):this.storage.get(this.makePath(t),e).then(e=>{if("object"==typeof e.body)return e.body;if("string"==typeof e.body)try{return JSON.parse(e.body)}catch(e){throw new Error("Not valid JSON: "+this.makePath(t))}else if(void 0!==e.body&&200===e.statusCode)return Promise.reject("Not an object: "+this.makePath(t))})})}storeObject(t,e,n){return i(this,void 0,void 0,function*(){if("string"!=typeof t)return Promise.reject("Argument 'typeAlias' of baseClient.storeObject must be a string");if("string"!=typeof e)return Promise.reject("Argument 'path' of baseClient.storeObject must be a string");if("object"!=typeof n)return Promise.reject("Argument 'object' of baseClient.storeObject must be an object");this._attachType(n,t);try{const t=this.validate(n);if(!t.valid)return Promise.reject(t)}catch(t){return Promise.reject(t)}return this.storage.put(this.makePath(e),JSON.stringify(n),"application/json; charset=UTF-8").then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode))})}remove(t){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.remove must be a string"):(this.storage.access.checkPathPermission(this.makePath(t),"rw")||console.warn("WARNING: Removing a document to which only read access ('r') was claimed"),this.storage.delete(this.makePath(t),this.storage.connected))})}getItemURL(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.getItemURL must be a string";return this.storage.connected?(t=(0,c.cleanPath)(this.makePath(t)),this.storage.remote.href+t):void 0}cache(t,e="ALL"){if("string"!=typeof t)throw"Argument 'path' of baseClient.cache must be a string";if("string"!=typeof e)throw"Argument 'strategy' of baseClient.cache must be a string or undefined";if("FLUSH"!==e&&"SEEN"!==e&&"ALL"!==e)throw'Argument \'strategy\' of baseclient.cache must be one of ["FLUSH", "SEEN", "ALL"]';return this.storage.caching.set(this.makePath(t),e),this}declareType(t,e,n){let i;if(n&&"string"==typeof e)i=e;else if(n||"string"==typeof e){if(!n&&"string"==typeof e)throw new Error("declareType() requires a JSON Schema object to be passed, in order to validate object types/formats")}else n=e,i=this._defaultTypeURI(t);h.Types.declare(this.moduleName,t,i,n)}validate(t){const e=h.Types.getSchema(t["@context"]);if(e)return s.default.validateResult(t,e);throw new a.default(t["@context"])}_defaultTypeURI(t){return"http://remotestorage.io/spec/modules/"+encodeURIComponent(this.moduleName)+"/"+encodeURIComponent(t)}_attachType(t,e){t["@context"]=h.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){u.default.changeEvents[t.origin]&&(["new","old","lastCommon"].forEach(function(e){if((!t[e+"ContentType"]||/^application\/(.*)json(.*)/.exec(t[e+"ContentType"]))&&"string"==typeof t[e+"Value"])try{t[e+"Value"]=JSON.parse(t[e+"Value"])}catch(t){}}),this._emit("change",t))}static _rs_init(){}}e.BaseClient=h,h.Types=o.default,(0,c.applyMixins)(h,[l.default]),e.default=h},285:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const r=n(746),s=i(n(334));class o{constructor(t){this.pendingActivations=[],this._access=t.access,this.reset()}set(t,e){if("string"!=typeof t)throw new Error("path should be a string");if(!(0,r.isFolder)(t))throw new Error("path should be a folder");if(!this._access.checkPathPermission(t,"r"))throw new Error('No access to path "'+t+'". You must claim access to it first.');if(void 0===e||!e.match(/^(FLUSH|SEEN|ALL)$/))throw new Error("strategy should be 'FLUSH', 'SEEN', or 'ALL'");this._rootPaths[t]=e,"ALL"===e&&(this.activateHandler?this.activateHandler(t):this.pendingActivations.push(t))}enable(t){this.set(t,"ALL")}disable(t){this.set(t,"FLUSH")}onActivate(t){(0,s.default)("[Caching] Setting activate handler",t,this.pendingActivations),this.activateHandler=t;for(let e=0;e{this.emitChange(t.data)})}get(t,e,n){return i(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,u.pathsFromRoot)(t)).then(i=>{const r=c(i[t]);return h(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=c(e[t]);if(n){if((0,u.isFolder)(t))for(const t in n.itemsMap)n.itemsMap.hasOwnProperty(t)&&!1===n.itemsMap[t]&&delete n.itemsMap[t];return{statusCode:200,body:n.body||n.itemsMap,contentType:n.contentType}}return{statusCode:404}})})}put(t,e,n){return i(this,void 0,void 0,function*(){const i=(0,u.pathsFromRoot)(t);return this._updateNodes(i,function(t,i){try{for(let r=0,s=t.length;r0)break}else console.error("Cannot delete non-existing node "+r)}return n})})}flush(t){return this._getAllDescendentPaths(t).then(t=>this.getNodes(t)).then(t=>{for(const e in t){const n=t[e];n&&n.common&&n.local&&this.emitChange({path:n.path,origin:"local",oldValue:!1===n.local.body?void 0:n.local.body,newValue:!1===n.common.body?void 0:n.common.body}),t[e]=void 0}return this.setNodes(t)})}emitChange(t){a.default.changeEvents[t.origin]&&this._emit("change",t)}fireInitial(){a.default.changeEvents.local&&this.forAllNodes(t=>{if((0,u.isDocument)(t.path)){const e=c(t);e&&this.emitChange({path:t.path,origin:"local",oldValue:void 0,oldContentType:void 0,newValue:e.body,newContentType:e.contentType})}}).then(()=>{this._emit("local-events-done")})}onDiff(t){this.diffHandler=t}_updateNodes(t,e){return new Promise((n,i)=>{this._doUpdateNodes(t,e,{resolve:n,reject:i})})}_doUpdateNodes(t,e,n){return i(this,void 0,void 0,function*(){if(this._updateNodesRunning)return void this._updateNodesQueued.push({paths:t,cb:e,promise:n});this._updateNodesRunning=!0;try{let i=yield this.getNodes(t);const r=(0,u.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,u.equal)(e,r[t])?delete i[t]:(0,u.isDocument)(t)&&((0,u.equal)(e.local.body,e.local.previousBody)&&e.local.contentType===e.local.previousContentType||s.push({path:t,origin:"window",oldValue:e.local.previousBody,newValue:!1===e.local.body?void 0:e.local.body,oldContentType:e.local.previousContentType,newContentType:e.local.contentType}),void 0===e.local.body?i[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(i),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const i=this._updateNodesQueued.shift();i&&(yield this._doUpdateNodes(i.paths,i.cb,i.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e{const n=[t],i=c(e[t]),r=Object.keys(i.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,i=t.length;en)}):Promise.resolve([t])}_getInternals(){return{getLatest:c,makeNode:d,isOutdated:h}}}(0,u.applyMixins)(f,[o.default]),t.exports=f},28:function(t){t.exports={cache:!0,changeEvents:{local:!0,window:!1,remote:!0,conflict:!0},cordovaRedirectUri:void 0,logging:!1,modules:[],backgroundSyncInterval:6e4,disableFeatures:[],discoveryTimeout:5e3,isBackground:!1,requestTimeout:3e4,syncInterval:1e4}},373:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(199)),s=i(n(28)),o=i(n(334)),a=n(746);let l;const u="remotestorage:discover";let c={};const h=function(t){return new Promise((e,n)=>{if(t in c)return e(c[t]);const i=new r.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),i.lookup(t,function(i,r){if(i)return n(i);if("object"!=typeof r.idx.links.remotestorage||"number"!=typeof r.idx.links.remotestorage.length||r.idx.links.remotestorage.length<=0)return(0,o.default)("[Discover] WebFinger record for "+t+" does not have remotestorage defined in the links section ",JSON.stringify(r.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=r.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],h=s.properties["http://remotestorage.io/spec/version"]||s.type;return c[t]={href:s.href,storageApi:h,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:c})),e(c[t])})})};(h.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),h.DiscoveryError.prototype.constructor=h.DiscoveryError,h._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(c=t.cache)}},h._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},h._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=h},706:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(424)),a=r(n(941)),l=r(n(982)),u=r(n(503)),c=n(746),h=n(368),d=n(684),p=r(n(275));let f;const g="remotestorage:dropbox",m="https://api.dropboxapi.com/2/files/list_folder",y="https://api.dropboxapi.com/2/files/list_folder/continue",_="/remotestorage";function v(t){return(_+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const b=/[\u007f-\uffff]/g;function w(t){return JSON.stringify(t).replace(b,function(t){return"\\u"+("000"+t.charCodeAt(0).toString(16)).slice(-4)})}function x(t,e){return new RegExp("^"+e.join("\\/")+"(\\/|$)").test(t.error_summary)}function S(t){return t instanceof ArrayBuffer||(0,h.isArrayBufferView)(t)}class E extends d.RemoteBase{constructor(t){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this._initialFetchDone=!1,this.addEvents(["connected","not-connected"]),this.clientId=t.apiKeys.dropbox.appKey,this.TOKEN_URL="https://api.dropboxapi.com/oauth2/token",this._revCache=new a.default("rev"),this._fetchDeltaCursor=null,this._fetchDeltaPromise=null,this._itemRefs={},f=(0,c.localStorageAvailable)(),f){const t=(0,c.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,c.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return i(this,void 0,void 0,function*(){try{if(this.rs.setBackend("dropbox"),this.token)T(this.rs);else{const{codeVerifier:t,codeChallenge:e,state:n}=yield(0,c.generateCodeVerifier)();sessionStorage.setItem("remotestorage:codeVerifier",t),sessionStorage.setItem("remotestorage:state",n),this.rs.authorize({authURL:"https://www.dropbox.com/oauth2/authorize",scope:"account_info.read files.content.read files.content.write files.metadata.read files.metadata.write",clientId:this.clientId,response_type:"code",state:n,code_challenge:e,code_challenge_method:"S256",token_access_type:"offline"})}}catch(t){throw this.rs._emit("error",t),this.rs.setBackend(void 0),t}})}configure(t){return i(this,void 0,void 0,function*(){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token),void 0!==t.refreshToken&&(this.refreshToken=t.refreshToken),void 0!==t.tokenType&&(this.tokenType=t.tokenType);const e=()=>{f&&localStorage.setItem(g,JSON.stringify({userAddress:this.userAddress,token:this.token,refreshToken:this.refreshToken,tokenType:this.tokenType}))};if(this.refreshToken||this.token)if(this.connected=!0,this.userAddress)this._emit("connected"),e();else try{const t=yield this.info();this.userAddress=t.email,this._emit("connected"),e()}catch(t){this.connected=!1,this.rs._emit("error",new Error("Could not fetch user info.")),e.apply(this)}else(()=>{this.connected=!1,f&&localStorage.removeItem(g),this.rs.setBackend(void 0)})()})}_getFolder(t){const e=this._revCache,n=n=>{let r;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{r=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(r,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+r.error_summary));const s=r.entries.reduce((n,i)=>{try{const r="folder"===i[".tag"],s=i.path_display.split("/").slice(-1)[0]+(r?"/":"");if(r)n[s]={ETag:e.get(t+s)};else{const e=new Date(i.server_modified);n[s]={ETag:i.rev,"Content-Length":i.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,i.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(i)}:`,e)}return n},{});return r.has_more?i(r.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},i=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:v(t)}}).then(n).then(function(n){return Promise.resolve({statusCode:200,body:n,contentType:"application/json; charset=UTF-8",revision:e.get(t)})})}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n=this._revCache.get(t);if(null===n)return Promise.resolve({statusCode:404});if(e&&e.ifNoneMatch){if(!this._initialFetchDone)return this.fetchDelta().then(()=>this.get(t,e));if(n&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304})}if("/"===t.slice(-1))return this._getFolder(t);const i={headers:{"Dropbox-API-Arg":w({path:v(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(i.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",i).then(e=>{const n=e.status;let i,r,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(i=e.getResponseHeader("Dropbox-API-Result"),(0,c.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{r=a,409===n&&(i=r);try{i=JSON.parse(i)}catch(t){return Promise.reject(t)}if(409===n)return x(i,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+i.error_summary));if(s=e.getResponseHeader("Content-Type"),o=i.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,c.shouldBeTreatedAsBinary)(a,s))r=e.response;else try{r=JSON.parse(r),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:r,contentType:s,revision:o}}))})}put(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const r=this._revCache.get(t);if(i&&i.ifMatch&&r&&r!==i.ifMatch)return{statusCode:412,revision:r};if(i&&"*"===i.ifNoneMatch&&r&&"rev"!==r)return{statusCode:412,revision:r};if(!n.match(/charset=/)&&S(e)&&(n+="; charset=binary"),e.length>157286400)throw new Error("Cannot upload file larger than 150MB");const s={body:e,contentType:n,path:t};if(i&&(i.ifMatch||"*"===i.ifNoneMatch)){const e=yield this._getMetadata(t);if(i&&"*"===i.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(i&&i.ifMatch&&e&&e.rev!==i.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return i(this,arguments,void 0,function*(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const n=this._revCache.get(t);if((null==e?void 0:e.ifMatch)&&n&&e.ifMatch!==n)return{statusCode:412,revision:n};if(null==e?void 0:e.ifMatch){const n=yield this._getMetadata(t);if((null==e?void 0:e.ifMatch)&&n&&n.rev!==e.ifMatch)return{statusCode:412,revision:n.rev}}return this._deleteSimple(t)})}_shareIfNeeded(t){if(t.match(/^\/public\/.*[^/]$/)&&void 0===this._itemRefs[t])return this.share(t)}share(t){const e={body:{path:v(t)}};return this._request("POST","https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings",e).then(e=>{if(200!==e.status&&409!==e.status)return Promise.reject(new Error("Invalid response status:"+e.status));let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid response body: "+e.responseText))}return 409===e.status?x(n,["shared_link_already_exists"])?this._getSharedLink(t):Promise.reject(new Error("API error: "+n.error_summary)):Promise.resolve(n.url)}).then(e=>(this._itemRefs[t]=e,f&&localStorage.setItem(g+":shares",JSON.stringify(this._itemRefs)),Promise.resolve(e)),e=>(e.message='Sharing Dropbox file or folder ("'+t+'") failed: '+e.message,Promise.reject(e)))}info(){return this._request("POST","https://api.dropboxapi.com/2/users/get_current_account",{}).then(function(t){let e;try{const n=JSON.parse(t.responseText);e=null==n?void 0:n.email}catch(e){return Promise.reject(new Error("Could not query current account info: Invalid API response: "+t.responseText))}return Promise.resolve({email:e})})}_request(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i=1){if(this.isForbiddenRequestMethod(t,e))throw`Don't use ${t} on directories!`;if(!this.token)throw new u.default("No access token");n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,"object"!=typeof n.body||S(n.body)||(n.body=JSON.stringify(n.body),n.headers["Content-Type"]="application/json; charset=UTF-8"),this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)});try{const r=yield(0,h.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),401===(null==r?void 0:r.status)&&this.refreshToken?i>=3?(console.error(`Abandoned after ${i} attempts: ${t} ${e}`),r):(this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),this._request(t,e,n,i+1)):[503,429].includes(null==r?void 0:r.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),i>=3?(console.warn(`Abandoned after ${i} attempts: ${t} ${e}`),r):(yield new Promise(t=>setTimeout(t,(0,h.retryAfterMs)(r))),this._request(t,e,n,i+1))):r}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>i(this,void 0,void 0,function*(){let n,i;"string"==typeof t?(n=y,i={cursor:t}):(n=m,i={path:_,recursive:!0,include_deleted:!0});try{const r=yield this._request("POST",n,{body:i});if(401===r.status)throw new u.default;if(200!==r.status&&409!==r.status)throw new Error("Invalid response status: "+r.status);let s;try{s=JSON.parse(r.responseText)}catch(t){throw new Error("Invalid response body: "+r.responseText)}if(409===r.status){if(!x(s,["path","not_found"]))throw new Error("API returned an error: "+s.error_summary);s={cursor:null,entries:[],has_more:!1}}if(t||this._revCache.deactivatePropagation(),s.entries.forEach(t=>{const e=t.path_display.slice(14);"deleted"===t[".tag"]?(this._revCache.delete(e),this._revCache.delete(e+"/")):"file"===t[".tag"]&&this._revCache.set(e,t.rev)}),this._fetchDeltaCursor=s.cursor,s.has_more)return e(s.cursor);this._revCache.activatePropagation(),this._initialFetchDone=!0}catch(t){if("timeout"===t)return;throw t}});return this._fetchDeltaPromise=e(this._fetchDeltaCursor).catch(t=>("object"==typeof t&&"message"in t?t.message="Dropbox: fetchDelta: "+t.message:t=`Dropbox: fetchDelta: ${t}`,this.rs._emit("error",t),this._fetchDeltaPromise=null,Promise.reject(t))).then(()=>(this._fetchDeltaPromise=null,Promise.resolve(t))),this._fetchDeltaPromise}_getMetadata(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/get_metadata",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status:"+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?x(e,["path","not_found"])?Promise.resolve():Promise.reject(new Error("API error: "+e.error_summary)):Promise.resolve(e)}).then(void 0,e=>(e.message='Could not load metadata for file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_uploadSimple(t){const e={path:v(t.path),mode:{".tag":"overwrite",update:void 0},mute:!0};return t.ifMatch&&(e.mode={".tag":"update",update:t.ifMatch}),this._request("POST","https://content.dropboxapi.com/2/files/upload",{body:t.body,headers:{"Content-Type":"application/octet-stream","Dropbox-API-Arg":w(e)}}).then(e=>{if(200!==e.status&&409!==e.status)return Promise.resolve({statusCode:e.status});let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid API result: "+e.responseText))}return 409===e.status?x(n,["path","conflict"])?this._getMetadata(t.path).then(function(t){return Promise.resolve({statusCode:412,revision:t.rev})}):(this.rs._emit("error",new Error(n.error_summary)),Promise.resolve({statusCode:e.status})):(this._revCache.set(t.path,n.rev),Promise.resolve({statusCode:e.status,revision:n.rev}))})}_deleteSimple(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/delete",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.resolve({statusCode:t.status});let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}if(409===t.status){if(x(e,["path_lookup","not_found"]))return Promise.resolve({statusCode:404});this.rs._emit("error",new Error(e.error_summary))}return Promise.resolve({statusCode:t.status})}).then(e=>(200!==e.statusCode&&404!==e.statusCode||(this._revCache.delete(t),delete this._itemRefs[t]),Promise.resolve(e)),e=>(e.message='Could not delete Dropbox file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_getSharedLink(t){return i(this,void 0,void 0,function*(){const e={body:{path:v(t),direct_only:!0}};return this._request("POST","https://api.dropbox.com/2/sharing/list_shared_links",e).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status: "+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?Promise.reject(new Error("API error: "+(null==e?void 0:e.error_summary)||0)):e.links.length?Promise.resolve(e.links[0].url):Promise.reject(new Error("No links returned"))},e=>(e.message='Could not get link to a shared file or folder ("'+t+'"): '+e.message,Promise.reject(e)))})}static _rs_init(t){f=(0,c.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new E(t)),"dropbox"===t.backend&&T(t)}static _rs_supported(){return!0}static _rs_cleanup(t){!function(t){(function(t){t._origRemote&&(t.remote=t._origRemote,delete t._origRemote)})(t),function(t){t._dropboxOrigSync&&(t.sync.sync=t._dropboxOrigSync,delete t._dropboxOrigSync)}(t),function(t){t._origBaseClientGetItemURL&&(o.default.prototype.getItemURL=t._origBaseClientGetItemURL,delete t._origBaseClientGetItemURL)}(t),k(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function C(t,...e){t._dropboxOrigSync||(t._dropboxOrigSync=t.sync.sync.bind(t.sync),t.sync.sync=function(){return this.dropbox.fetchDelta(t,...e).then(t._dropboxOrigSync,function(e){t._emit("error",new l.default(e)),t._emit("sync-done")})}.bind(t))}function k(t){t._dropboxOrigSyncCycle&&(t.syncCycle=t._dropboxOrigSyncCycle,delete t._dropboxOrigSyncCycle)}function T(t){!function(t){t._origRemote||(t._origRemote=t.remote,t.remote=t.dropbox)}(t),t.sync?C(t):function(t,...e){t._dropboxOrigSyncCycle||(t._dropboxOrigSyncCycle=t.syncCycle,t.syncCycle=()=>{if(!t.sync)throw new Error("expected sync to be initialized by now");C(t),t._dropboxOrigSyncCycle(t,...e),k(t)})}(t),function(t){t._origBaseClientGetItemURL||(t._origBaseClientGetItemURL=o.default.prototype.getItemURL,o.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Dropbox yet")})}(t)}(0,c.applyMixins)(E,[s.default]),t.exports=E},451:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=n(746),o=i(n(334));class a{constructor(){this.addEvents(["background","foreground"]),this.mode="undefined"!=typeof window?"browser":"node","browser"===this.mode&&(this.setBrowserPrefixedNames(),document.addEventListener(this.visibilityChangeEvent,this.setVisibility.bind(this),!1),this.setVisibility())}setBrowserPrefixedNames(){"browser"===this.mode&&(void 0!==document.hidden?(this.hiddenProperty="hidden",this.visibilityChangeEvent="visibilitychange"):void 0!==document.mozHidden?(this.hiddenProperty="mozHidden",this.visibilityChangeEvent="mozvisibilitychange"):void 0!==document.msHidden?(this.hiddenProperty="msHidden",this.visibilityChangeEvent="msvisibilitychange"):void 0!==document.webkitHidden&&(this.hiddenProperty="webkitHidden",this.visibilityChangeEvent="webkitvisibilitychange"))}setVisibility(){document[this.hiddenProperty]?((0,o.default)("[Env] Going into background mode"),this.goBackground()):((0,o.default)("[Env] Going into foreground mode"),this.goForeground())}isBrowser(){return"browser"===this.mode}isNode(){return"node"===this.mode}goBackground(){this._emit("background")}goForeground(){this._emit("foreground")}static _rs_init(){}static _rs_cleanup(){}}(0,s.applyMixins)(a,[r.default]),t.exports=a},93:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const r=i(n(334));class s{addEvents(t){t.forEach(t=>this._addEvent(t))}addEventListener(t,e){if("string"!=typeof t)throw new Error("Argument eventName should be a string");if("function"!=typeof e)throw new Error("Argument handler should be a function");(0,r.default)("[EventHandling] Adding event listener",t),this._validateEvent(t),this._handlers[t].push(e)}on(t,e){return this.addEventListener(t,e)}removeEventListener(t,e){this._validateEvent(t);const n=this._handlers[t].length;for(let i=0;i{t(...e)})}_validateEvent(t){if(!(t in this._handlers))throw new Error("Unknown event: "+t)}_delegateEvent(t,e){e.on(t,e=>{this._emit(t,e)})}_addEvent(t){void 0===this._handlers&&(this._handlers={}),this._handlers[t]=[]}}e.EventHandling=s,e.default=s},545:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(28)),s=i(n(451)),o=i(n(334)),a=n(746),l=i(n(370)),u=i(n(548)),c=i(n(275)),h=i(n(373)),d=i(n(424)),p=i(n(801)),f=i(n(706)),g=i(n(600)),m=i(n(313)),y=i(n(285)),_=i(n(567)),v=i(n(794)),b=i(n(365)),w={features:[],featuresDone:0,readyFired:!1,loadFeatures(){this.features=[],this.featuresDone=0,this.readyFired=!1,this.featureModules={WireClient:g.default,Dropbox:f.default,GoogleDrive:p.default,Access:u.default,Discover:h.default,Authorize:c.default,BaseClient:d.default,Env:s.default},r.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:_.default,LocalStorage:v.default,InMemoryStorage:b.default,Sync:m.default}),r.default.disableFeatures.forEach(t=>{this.featureModules[t]&&delete this.featureModules[t]}),this._allLoaded=!1;for(const t in this.featureModules)this.loadFeature(t)},hasFeature(t){for(let e=this.features.length-1;e>=0;e--)if(this.features[e].name===t)return this.features[e].supported;return!1},loadFeature(t){const e=this.featureModules[t],n=!e._rs_supported||e._rs_supported();(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initializing ...`),"object"==typeof n?n.then(()=>{this.featureSupported(t,!0),this.initFeature(t)},()=>{this.featureSupported(t,!1)}):"boolean"==typeof n?(this.featureSupported(t,n),n&&this.initFeature(t)):this.featureSupported(t,!1)},initFeature(t){const e=this.featureModules[t];let n;try{n=e._rs_init(this)}catch(e){return void this.featureFailed(t,e)}"object"==typeof n&&"function"==typeof n.then?n.then(()=>{this.featureInitialized(t)},e=>{this.featureFailed(t,e)}):this.featureInitialized(t)},featureFailed(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialization failed (${e})`),this.featureDone()},featureSupported(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}]${e?"":"not "} supported`),e||this.featureDone()},featureInitialized(t){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialized`),this.features.push({name:t,init:this.featureModules[t]._rs_init,supported:!0,cleanup:this.featureModules[t]._rs_cleanup}),this.featureDone()},featureDone(){this.featuresDone++,this.featuresDone===Object.keys(this.featureModules).length&&setTimeout(this.featuresLoaded.bind(this),0)},_setCachingModule(){["IndexedDB","LocalStorage","InMemoryStorage"].some(t=>{if(this.features.some(e=>e.name===t))return this.features.local=this.featureModules[t],!0})},_fireReady(){try{this.readyFired||(this._emit("ready"),this.readyFired=!0)}catch(t){console.error("'ready' failed: ",t,t.stack),this._emit("error",t)}},featuresLoaded(){(0,o.default)("[RemoteStorage] All features loaded"),this._setCachingModule(),this.local=r.default.cache&&this.features.local&&new this.features.local,this.local&&this.remote?(this._setGPD(l.default,this),this._bindChange(this.local)):this.remote&&this._setGPD(this.remote,this.remote),this.remote&&(this.remote.on("connected",()=>{this._fireReady(),this._emit("connected")}),this.remote.on("not-connected",()=>{this._fireReady(),this._emit("not-connected")}),this.remote.connected&&(this._fireReady(),this._emit("connected")),this.hasFeature("Authorize")||this.remote.stopWaitingForToken()),this._collectCleanupFunctions();try{this._allLoaded=!0,this._emit("features-loaded")}catch(t){(0,a.logError)(t),this._emit("error",t)}this._processPending()},_collectCleanupFunctions(){this._cleanups=[];for(let t=0;t=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class _ extends l.RemoteBase{constructor(t,e){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this.addEvents(["connected","not-connected"]),this.clientId=e,this._fileIdCache=new y(300),d=(0,o.localStorageAvailable)(),d){const t=(0,o.getJSONFromLocalStorage)(c);t&&this.configure(t)}}configure(t){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token);const e=function(){d&&localStorage.setItem(c,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(c)};this.token?(this.connected=!0,this.userAddress?(this._emit("connected"),e.apply(this)):this.info().then(t=>{this.userAddress=t.user.emailAddress,this._emit("connected"),e.apply(this)}).catch(()=>{n.apply(this),this.rs._emit("error",new Error("Could not fetch user info."))})):n.apply(this)}connect(){this.rs.setBackend("googledrive"),this.rs.authorize({authURL:"https://accounts.google.com/o/oauth2/auth",scope:"https://www.googleapis.com/auth/drive",clientId:this.clientId})}get(t,e={}){return(0,o.isFolder)(t)?this._getFolder(m(t)):this._getFile(m(t),e)}put(t,e,n,i={}){const r=m(t);function s(t){if(t.status>=200&&t.status<300){const e=JSON.parse(t.responseText),n=this.stripQuotes(e.etag);return Promise.resolve({statusCode:200,contentType:e.mimeType,revision:n})}return 412===t.status?Promise.resolve({statusCode:412,revision:"conflict"}):Promise.reject("PUT failed with status "+t.status+" ("+t.responseText+")")}return this._getFileId(r).then(t=>t?i&&"*"===i.ifNoneMatch?s({status:412}):this._updateFile(t,r,e,n,i).then(s):this._createFile(r,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let i;return"object"==typeof n&&"string"==typeof n.etag&&(i=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==i?{statusCode:412,revision:i}:this._request("DELETE",u+"/drive/v2/files/"+t,{}).then(t=>200===t.status||204===t.status?{statusCode:200}:Promise.reject("Delete failed: "+t.status+" ("+t.responseText+")"))}):Promise.resolve({statusCode:200}))}info(){const t=u+"/drive/v2/about?fields=user";return this._request("GET",t,{}).then(function(t){try{const e=JSON.parse(t.responseText);return Promise.resolve(e)}catch(t){return Promise.reject(t)}})}_updateFile(t,e,n,i,r){const s={mimeType:i},o={"Content-Type":"application/json; charset=UTF-8"};return r&&r.ifMatch&&(o["If-Match"]=this.addQuotes(r.ifMatch)),this._request("PUT",u+"/upload/drive/v2/files/"+t+"?uploadType=resumable",{body:JSON.stringify(s),headers:o}).then(t=>412===t.status?t:this._request("PUT",t.getResponseHeader("Location"),{body:i.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(i=>{const r={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:i}]};return this._request("POST",u+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(r),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>this._request("POST",t.getResponseHeader("Location"),{body:n.match(/^application\/json/)?JSON.stringify(e):e}))})}_getFile(t,e){return this._getFileId(t).then(t=>this._getMeta(t).then(t=>{let n;if("object"==typeof t&&"string"==typeof t.etag&&(n=this.stripQuotes(t.etag)),e&&e.ifNoneMatch&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304});if(!t.downloadUrl){if(!t.exportLinks||!t.exportLinks["text/html"])return Promise.resolve({statusCode:200,body:"",contentType:t.mimeType,revision:n});t.mimeType+=";export=text/html",t.downloadUrl=t.exportLinks["text/html"]}return this._request("GET",t.downloadUrl,{responseType:"arraybuffer"}).then(e=>(0,o.getTextFromArrayBuffer)(e.response,"UTF-8").then(function(i){let r=i;if(t.mimeType.match(/^application\/json/))try{r=JSON.parse(r)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(i,t.mimeType)&&(r=e.response);return{statusCode:200,body:r,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,i,r;if(!e)return Promise.resolve({statusCode:404});const s="'"+e+"' in parents";return this._request("GET",u+"/drive/v2/files?q="+encodeURIComponent(s)+"&fields="+encodeURIComponent("items(downloadUrl,etag,fileSize,id,mimeType,title,labels)")+"&maxResults=1000&trashed=false",{}).then(e=>{var s;if(200!==e.status)return Promise.reject("request failed or something: "+e.status);try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject("non-JSON response from GoogleDrive")}r={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(i=this.stripQuotes(a.etag),a.mimeType===h?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),r[a.title+"/"]={ETag:i}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),r[a.title]={ETag:i,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:r,contentType:"application/json; charset=UTF-8",revision:void 0})})})}_getParentId(t){const e=f(t);return this._getFileId(e).then(t=>t?Promise.resolve(t):this._createFolder(e))}_createFolder(t){return this._getParentId(t).then(e=>this._request("POST",u+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:h,parents:[{id:e}]}),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>{const e=JSON.parse(t.responseText);return Promise.resolve(e.id)}))}_getFileId(t){let e;return"/"===t?Promise.resolve("root"):(e=this._fileIdCache.get(t))?Promise.resolve(e):this._getFolder(f(t)).then(()=>(e=this._fileIdCache.get(t),e?Promise.resolve(e):"/"===t.substr(-1)?this._createFolder(t).then(()=>this._getFileId(t)):Promise.resolve()))}_getMeta(t){return this._request("GET",u+"/drive/v2/files/"+t,{}).then(function(e){return 200===e.status?Promise.resolve(JSON.parse(e.responseText)):Promise.reject("request (getting metadata for "+t+") failed with status: "+e.status)})}_request(t,e,n){return this.isForbiddenRequestMethod(t,e)?Promise.reject(`Don't use ${t} on directories!`):(n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,this.rs._emit("wire-busy",{method:t,isFolder:(0,o.isFolder)(e)}),(0,a.requestWithTimeout)(t,e,n).then(n=>n&&401===n.status?void this.connect():(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!0}),Promise.resolve(n)),n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!1}),Promise.reject(n))))}static _rs_init(t){const e=t.apiKeys.googledrive;var n;e&&(t.googledrive=new _(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=r.default.prototype.getItemURL,r.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Google Drive yet")})))}static _rs_supported(){return!0}static _rs_cleanup(t){var e;t.setBackend(void 0),t._origRemote&&(t.remote=t._origRemote,delete t._origRemote),(e=t)._origBaseClientGetItemURL&&(r.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(_,[s.default]),t.exports=_},567:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(496)),a=r(n(334)),l=n(746),u="remotestorage";let c;class h extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||c,this.db?(this.getsRunning=0,this.putsRunning=0,this.changesQueued={},this.changesRunning={},this.commitSlownessWarning=null):(0,a.default)("[IndexedDB] Failed to open DB")}getNodes(t){return i(this,void 0,void 0,function*(){const e=[],n={};for(let i=0,r=t.length;i0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return i(this,void 0,void 0,function*(){for(const e in t)this.changesQueued[e]=t[e]||!1;this.maybeFlush()})}maybeFlush(){0===this.putsRunning?this.flushChangesQueued():this.commitSlownessWarning||(this.commitSlownessWarning=n.g.setInterval(function(){console.warn("WARNING: waited more than 10 seconds for previous commit to finish")},1e4))}flushChangesQueued(){this.commitSlownessWarning&&(clearInterval(this.commitSlownessWarning),this.commitSlownessWarning=null),Object.keys(this.changesQueued).length>0&&(this.changesRunning=this.changesQueued,this.changesQueued={},this.setNodesInDb(this.changesRunning).then(this.flushChangesQueued.bind(this)))}getNodesFromDb(t){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readonly"),r=i.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{r.get(t).onsuccess=e=>{s[t]=e.target.result}}),i.oncomplete=()=>{e(s),this.getsRunning--},i.onerror=i.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readwrite"),r=i.objectStore("nodes"),s=(new Date).getTime();this.putsRunning++,(0,a.default)("[IndexedDB] Starting puts",t,this.putsRunning);for(const o in t){const e=t[o];if("object"==typeof e)try{r.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{r.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",r,e,t),t}}i.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},i.onerror=()=>{this.putsRunning--,n("transaction error")},i.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),h.clean(e,()=>{h.open(e,(n,i)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=i,"function"==typeof t&&t(self)})})}forAllNodes(t){return i(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const i=n.target.result;i?(t(i.value),i.continue()):e()}})})}closeDB(){0===this.putsRunning?this.db.close():setTimeout(this.closeDB.bind(this),100)}static open(t,e){const n=setTimeout(function(){e("timeout trying to open db")},1e4);try{const i=indexedDB.open(t,2);i.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",i),clearTimeout(n),e(i.error)},i.onupgradeneeded=function(t){const e=i.result;(0,a.default)("[IndexedDB] Upgrade: from ",t.oldVersion," to ",t.newVersion),1!==t.oldVersion&&((0,a.default)("[IndexedDB] Creating object store: nodes"),e.createObjectStore("nodes",{keyPath:"path"})),(0,a.default)("[IndexedDB] Creating object store: changes"),e.createObjectStore("changes",{keyPath:"path"})},i.onsuccess=function(){clearTimeout(n);const r=i.result;if(!r.objectStoreNames.contains("nodes")||!r.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void h.clean(t,function(){h.open(t,e)});e(null,i.result)}}catch(i){(0,a.default)("[IndexedDB] Failed to open database: "+i),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),h.clean(t,function(){h.open(t,e)})}}static clean(t,e){const n=indexedDB.deleteDatabase(t);n.onsuccess=function(){(0,a.default)(`[IndexedDB] Deleted database "${t}"`),e()},n.onerror=n.onabort=function(e){console.error('Failed to remove database "'+t+'"',e)}}static _rs_init(t){return new Promise((e,n)=>{h.open(u,function(i,r){i?n(i):(c=r,r.onerror=()=>{t._emit("error",i)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let i=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(i=!0)),"indexedDB"in n&&!i)try{const n=indexedDB.open("rs-check");n.onerror=function(){e()},n.onsuccess=function(){n.result.close(),indexedDB.deleteDatabase("rs-check"),t()}}catch(t){e()}else e()})}static _rs_cleanup(t){return new Promise(e=>{t.local instanceof h&&t.local.closeDB(),h.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(h,[s.default]),t.exports=h},365:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=i(n(496)),o=n(746);class a extends s.default{constructor(){super(),this._storage={},this.addEvents(["change","local-events-done"])}getNodes(t){const e={};for(let n=0,i=t.length;n=2e3&&t<=36e5}var k;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(k||(k={}));class T{constructor(t){if(this._pending=[],this._cleanups=[],this._pathHandlers={change:{}},this.apiKeys={},this._init=b.default.loadFeatures,this.features=b.default.features,this.loadFeature=b.default.loadFeature,this.featureSupported=b.default.featureSupported,this.featureDone=b.default.featureDone,this.featuresDone=b.default.featuresDone,this.featuresLoaded=b.default.featuresLoaded,this.featureInitialized=b.default.featureInitialized,this.featureFailed=b.default.featureFailed,this.hasFeature=b.default.hasFeature,this._setCachingModule=b.default._setCachingModule,this._collectCleanupFunctions=b.default._collectCleanupFunctions,this._fireReady=b.default._fireReady,this.initFeature=b.default.initFeature,"object"==typeof t&&(0,u.extend)(a.default,t),this.addEvents(["ready","authing","connecting","connected","disconnected","not-connected","conflict","error","features-loaded","sync-interval-change","sync-started","sync-req-done","sync-done","wire-busy","wire-done","network-offline","network-online"]),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")}),S=(0,u.localStorageAvailable)(),S){this.apiKeys=(0,u.getJSONFromLocalStorage)("remotestorage:api-keys")||{};const t=localStorage.getItem("remotestorage:backend");"dropbox"===t||"googledrive"===t?this.setBackend(t):this.setBackend("remotestorage")}const e=this.on;this.on=function(t,n){if(this._allLoaded)switch(t){case"features-loaded":setTimeout(n,0);break;case"ready":this.remote&&setTimeout(n,0);break;case"connected":this.remote&&this.remote.connected&&setTimeout(n,0);break;case"not-connected":this.remote&&!this.remote.connected&&setTimeout(n,0)}return e.call(this,t,n)},this._init(),this.fireInitial=function(){this.local&&setTimeout(this.local.fireInitial.bind(this.local),0)}.bind(this),this.on("ready",this.fireInitial.bind(this)),this.loadModules()}get connected(){return this.remote.connected}loadModules(){a.default.modules.forEach(this.addModule.bind(this))}authorize(t){if(this.access.setStorageType(this.remote.storageApi),void 0===t.scope&&(t.scope=this.access.scopeParameter),x.cordova)t.redirectUri=a.default.cordovaRedirectUri;else{const e=h.default.getLocation();let n=e.origin;"/"!==e.pathname&&(n+=e.pathname),t.redirectUri=n}void 0===t.clientId&&(t.clientId=t.redirectUri.match(/^(https?:\/\/[^/]+)/)[0]),h.default.authorize(this,t)}impliedauth(t,e){t=t||this.remote.storageApi,e=e||String(document.location),(0,l.default)("ImpliedAuth proceeding due to absent authURL; storageApi = "+t+" redirectUri = "+e),this.remote.configure({token:h.default.IMPLIED_FAKE_TOKEN}),document.location.href=e}connect(t,e){if(this.setBackend("remotestorage"),t.indexOf("@")<0&&!t.match(/^(https?:\/\/)?[^\s\/$\.?#]+\.[^\s]*$/))this._emit("error",new T.DiscoveryError("Not a valid user address or URL."));else{if(t.indexOf("@")<0&&!t.match(/^https?:\/\//)&&(t=`https://${t}`),x.cordova){if("string"!=typeof a.default.cordovaRedirectUri)return void this._emit("error",new T.DiscoveryError("Please supply a custom HTTPS redirect URI for your Cordova app"));if(!x.cordova.InAppBrowser)return void this._emit("error",new T.DiscoveryError("Please include the InAppBrowser Cordova plugin to enable OAuth"))}this.remote.configure({userAddress:t}),this._emit("connecting"),(0,y.default)(t).then(n=>{if(this._emit("authing"),n.userAddress=t,this.remote.configure(n),!this.remote.connected)if(n.authURL)if(void 0===e)this.authorize({authURL:n.authURL});else{if("string"!=typeof e)throw new Error("Supplied bearer token must be a string");(0,l.default)("Skipping authorization sequence and connecting with known token"),this.remote.configure({token:e})}else this.impliedauth()},()=>{this._emit("error",new T.DiscoveryError("No storage information found for this user address."))})}}reconnect(){this.remote.configure({token:null}),"remotestorage"===this.backend?this.connect(this.remote.userAddress):this.remote.connect()}disconnect(){this.remote&&this.remote.configure({userAddress:null,href:null,storageApi:null,token:null,properties:null}),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")});const t=this._cleanups.length;let e=0;const n=()=>{e++,e>=t&&(this._init(),(0,l.default)('Cleanups done, emitting "disconnected" event'),this._emit("disconnected"))};t>0?this._cleanups.forEach(t=>{const e=t(this);"object"==typeof e&&"function"==typeof e.then?e.then(n):n()}):n()}setBackend(t){this.backend=t,S&&(void 0!==t?localStorage.setItem("remotestorage:backend",t):localStorage.removeItem("remotestorage:backend"))}onChange(t,e){this._pathHandlers.change[t]||(this._pathHandlers.change[t]=[]),this._pathHandlers.change[t].push(e)}enableLog(){a.default.logging=!0}disableLog(){a.default.logging=!1}log(...t){l.default.apply(T,t)}setApiKeys(t){const e=[k.GOOGLE,k.DROPBOX];if("object"!=typeof t||!Object.keys(t).every(t=>e.includes(t)))return console.error("setApiKeys() was called with invalid arguments"),!1;Object.keys(t).forEach(e=>{const n=t[e];if(n){switch(e){case k.DROPBOX:this.apiKeys[k.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case k.GOOGLE:this.apiKeys[k.GOOGLE]={clientId:n},void 0!==this.googledrive&&this.googledrive.clientId===n||g.default._rs_init(this)}return!0}delete this.apiKeys[e]}),S&&localStorage.setItem("remotestorage:api-keys",JSON.stringify(this.apiKeys))}setCordovaRedirectUri(t){if("string"!=typeof t||!t.match(/http(s)?:\/\//))throw new Error("Cordova redirect URI must be a URI string");a.default.cordovaRedirectUri=t}_setGPD(t,e){function n(t){return function(...n){return t.apply(e,n).then(E.bind(this))}}this.get=n(t.get),this.put=n(t.put),this.delete=n(t.delete)}_pendingGPD(t){return(...e)=>{const n=Array.prototype.slice.call(e);return new Promise((e,i)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:i}})})}}_processPending(){this._pending.forEach(t=>{try{this[t.method](...t.args).then(t.promise.resolve,t.promise.reject)}catch(e){t.promise.reject(e)}}),this._pending=[]}_bindChange(t){t.on("change",this._dispatchEvent.bind(this,"change"))}_dispatchEvent(t,e){Object.keys(this._pathHandlers[t]).forEach(n=>{const i=n.length;e.path.substr(0,i)===n&&this._pathHandlers[t][n].forEach(t=>{const i={};for(const n in e)i[n]=e[n];i.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(i)}catch(t){console.error("'change' handler failed: ",t,t.stack),this._emit("error",t)}})})}scope(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.scope must be a string";return this.access.checkPathPermission(t,"r")||console.warn("WARNING: Please use remoteStorage.access.claim() to ask for access permissions first: https://remotestorage.io/rs.js/docs/api/access/classes/Access.html#claim"),new d.default(this,t)}getSyncInterval(){return a.default.syncInterval}setSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.syncInterval;a.default.syncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getBackgroundSyncInterval(){return a.default.backgroundSyncInterval}setBackgroundSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.backgroundSyncInterval;a.default.backgroundSyncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getCurrentSyncInterval(){return a.default.isBackground?a.default.backgroundSyncInterval:a.default.syncInterval}getRequestTimeout(){return a.default.requestTimeout}setRequestTimeout(t){if("number"!=typeof t)throw t+" is not a valid request timeout";a.default.requestTimeout=t}setupSyncCycle(){this.sync&&!this.sync.stopped&&((0,l.default)("[Sync] Setting up sync cycle"),this.on("sync-done",()=>{(0,l.default)("[Sync] Sync done. Setting timer to",this.getCurrentSyncInterval()),this.sync&&!this.sync.stopped&&(this._syncTimer&&clearTimeout(this._syncTimer),this._syncTimer=setTimeout(this.sync.sync.bind(this.sync),this.getCurrentSyncInterval()))}),this.sync.sync())}startSync(){return a.default.cache?(this.sync.stopped=!1,this.syncStopped=!1,this.sync.sync()):(console.warn("Nothing to sync, because caching is disabled."),Promise.resolve())}stopSync(){clearTimeout(this._syncTimer),this._syncTimer=void 0,this.sync?((0,l.default)("[Sync] Stopping sync"),this.sync.stopped=!0):((0,l.default)("[Sync] Will instantiate sync stopped"),this.syncStopped=!0)}addModule(t){const e=t.name,n=t.builder;if(Object.defineProperty(this,e,{configurable:!0,get:function(){const t=this._loadModule(e,n);return Object.defineProperty(this,e,{value:t}),t}}),-1!==e.indexOf("-")){const t=e.replace(/\-[a-z]/g,function(t){return t[1].toUpperCase()});Object.defineProperty(this,t,{get:function(){return this[e]}})}}_loadModule(t,e){if(e)return e(new d.default(this,"/"+t+"/"),new d.default(this,"/public/"+t+"/")).exports;throw"Unknown module: "+t}}e.RemoteStorage=T,T.SyncError=_.default,T.Unauthorized=v.default,T.DiscoveryError=y.default.DiscoveryError,T.util=w,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new c.default;return Object.defineProperty(this,"access",{value:t}),t}}),Object.defineProperty(T.prototype,"caching",{configurable:!0,get:function(){const t=new p.default(this);return Object.defineProperty(this,"caching",{value:t}),t}}),(0,u.applyMixins)(T,[f.EventHandling]),e.default=T},368:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isArrayBufferView=void 0,e.retryAfterMs=function(t){const e=1e3*parseInt(t.getResponseHeader("Retry-After"));return e>=1e3?e:Math.max(1500,Math.min(6e4,Math.round(o.default.syncInterval/(2.9+.2*Math.random()))))},e.requestWithTimeout=function(t,n,r){return i(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return i(this,void 0,void 0,function*(){const i="function"==typeof AbortController?new AbortController:null;let r;const a=new Promise((t,e)=>{r=setTimeout(()=>{i&&i.abort(),e("timeout")},o.default.requestTimeout)});let l;const u={},c=fetch(e,{method:t,headers:n.headers,body:n.body,signal:i?i.signal:void 0}).then(t=>{switch((0,s.default)("[requests fetch]",t),t.headers.forEach((t,e)=>{u[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>u[t.toUpperCase()]||null,responseType:n.responseType,responseURL:e},n.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json();case void 0:case"":case"text":return t.text();default:throw new Error("responseType 'document' is not currently supported using fetch")}}).then(t=>(l.response=t,n.responseType&&"text"!==n.responseType||(l.responseText=t),l)).finally(()=>{clearTimeout(r)});return Promise.race([c,a])})}(t,n,r):"function"==typeof XMLHttpRequest?function(t,n,r){return i(this,void 0,void 0,function*(){return new Promise((i,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const u=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),c=new XMLHttpRequest;if(c.open(t,n,!0),r.responseType&&(c.responseType=r.responseType),r.headers)for(const t in r.headers)c.setRequestHeader(t,r.headers[t]);c.onload=()=>{l||(clearTimeout(u),i(c))},c.onerror=t=>{l||(clearTimeout(u),a(t))};let h=r.body;"object"==typeof h&&!(0,e.isArrayBufferView)(h)&&h instanceof ArrayBuffer&&(h=new Uint8Array(h)),c.send(h)})})}(t,n,r):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=r(n(334)),o=r(n(28));if("function"==typeof(n.g||window).ArrayBufferView)e.isArrayBufferView=function(t){return t&&t instanceof(n.g||window).ArrayBufferView};else{const t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];e.isArrayBufferView=function(e){for(let n=0;n<8;n++)if(e instanceof t[n])return!0;return!1}}},941:function(t){t.exports=class{constructor(t){this._itemsRev={},this._storage={},this._canPropagate=!1,this.defaultValue=t,this.activatePropagation()}get(t){t=t.toLowerCase();let e=this._storage[t];return void 0===e&&(e=this.defaultValue,this._storage[t]=e),e}set(t,e){return t=t.toLowerCase(),this._storage[t]===e||(this._storage[t]=e,e||delete this._itemsRev[t],this._updateParentFolderItemRev(t,e),this._canPropagate&&this._propagate(t)),e}delete(t){return this.set(t,null)}deactivatePropagation(){return this._canPropagate=!1,!0}activatePropagation(){return this._canPropagate||(this._generateFolderRev("/"),this._canPropagate=!0),!0}_hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n0&&(n=this._generateHash(t))}return this.set(t,n),n}}},491:function(t){class e extends Error{constructor(t){super();const e=new Error("Schema not found: "+t);return e.name="SchemaNotFound",e}}t.exports=e},982:function(t){class e extends Error{constructor(t){super(),this.name="SyncError",this.message="Sync failed: ","string"==typeof t?this.message+=t:(this.message+=t.message,this.stack=t.stack,this.originalError=t)}}t.exports=e},313:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=r(n(28)),o=r(n(451)),a=r(n(93)),l=r(n(334)),u=r(n(275)),c=r(n(982)),h=r(n(503)),d=n(746);let p,f;function g(t,e,n){return{action:t,path:e,promise:n}}function m(t,e){return t.common.revision!==e&&(!t.remote||t.remote.revision!==e)}function y(t){return!!t.common&&!!t.common.revision}class _{constructor(t){this.numThreads=10,this._tasks={},this._running={},this._timeStarted={},this._finishedTasks=[],this.rs=t,this.rs.local.onDiff(t=>{this.addTask(t),this.doTasks()}),this.rs.caching.onActivate(t=>{this.addTask(t),this.doTasks()}),this.addEvents(["done","req-done"])}now(){return(new Date).getTime()}queueGetRequest(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{this.rs.remote.connected?this.rs.remote.online?(this.addTask(t,function(){this.rs.local.get(t).then(t=>e(t))}.bind(this)),this.doTasks()):n("cannot fulfill maxAge requirement - remote is not online"):n("cannot fulfill maxAge requirement - remote is not connected")})})}corruptServerItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t){const n=t[e];if("object"!=typeof n)return!0;if("string"!=typeof n.ETag)return!0;if((0,d.isFolder)(e)){if(-1!==e.substring(0,e.length-1).indexOf("/"))return!0}else if(-1!==e.indexOf("/"))return!0}return!1}corruptItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t)if("boolean"!=typeof t[e])return!0;return!1}corruptRevision(t){return"object"!=typeof t||Array.isArray(t)||t.revision&&"string"!=typeof t.revision||t.body&&"string"!=typeof t.body&&"object"!=typeof t.body||t.contentType&&"string"!=typeof t.contentType||t.contentLength&&"number"!=typeof t.contentLength||t.timestamp&&"number"!=typeof t.timestamp||t.itemsMap&&this.corruptItemsMap(t.itemsMap)}isCorrupt(t){return"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.path||this.corruptRevision(t.common)||t.local&&this.corruptRevision(t.local)||t.remote&&this.corruptRevision(t.remote)||t.push&&this.corruptRevision(t.push)}hasTasks(){return Object.keys(this._tasks).length>0}collectDiffTasks(){return i(this,void 0,void 0,function*(){let t=0;return this.rs.local.forAllNodes(e=>{t>100||(this.isCorrupt(e)?((0,l.default)("[Sync] WARNING: corrupt node in local cache",e),"object"==typeof e&&e.path&&(this.addTask(e.path),t++)):(this.needsFetch(e)&&this.rs.access.checkPathPermission(e.path,"r")||(0,d.isDocument)(e.path)&&this.needsPush(e)&&this.rs.access.checkPathPermission(e.path,"rw"))&&(this.addTask(e.path),t++))}).then(()=>t)})}inConflict(t){return!(!t.local||!t.remote||void 0===t.remote.body&&!t.remote.itemsMap)}needsRefresh(t){return!!t.common&&(!t.common.timestamp||this.now()-t.common.timestamp>s.default.syncInterval)}needsFetch(t){return!!this.inConflict(t)||!(!t.common||void 0!==t.common.itemsMap||void 0!==t.common.body)||!(!t.remote||void 0!==t.remote.itemsMap||void 0!==t.remote.body)}needsPush(t){return!this.inConflict(t)&&(!(!t.local||t.push)||void 0)}needsRemotePut(t){return t.local&&"string"==typeof t.local.body}needsRemoteDelete(t){return t.local&&!1===t.local.body}getParentPath(t){const e=t.match(/^(.*\/)([^\/]+\/?)$/);if(e)return e[1];throw new Error('Not a valid path: "'+t+'"')}deleteChildPathsFromTasks(){for(const t in this._tasks){const e=(0,d.pathsFromRoot)(t);for(let n=1;n{let e;if(this.needsRefresh(t)){try{e=this.getParentPath(t.path)}catch(t){}e&&this.rs.access.checkPathPermission(e,"r")?this.addTask(e):this.rs.access.checkPathPermission(t.path,"r")&&this.addTask(t.path)}}),this.deleteChildPathsFromTasks()})}flush(t){for(const e in t)"FLUSH"===this.rs.caching.checkPath(e)&&t[e]&&!t[e].local&&((0,l.default)("[Sync] Flushing",e),t[e]=void 0);return t}doTask(t){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(e=>{const n=e[t];return void 0===n||function(t){return!(!t.remote||!t.remote.revision||t.remote.itemsMap||t.remote.body)}(n)?g("get",t,this.rs.remote.get(t)):this.needsRemotePut(n)?(n.push=(0,d.deepClone)(n.local),n.push.timestamp=this.now(),this.rs.local.setNodes(this.flush(e)).then(()=>{let e;return e=y(n)?{ifMatch:n.common.revision}:{ifNoneMatch:"*"},g("put",t,this.rs.remote.put(t,n.push.body,n.push.contentType,e))})):this.needsRemoteDelete(n)?(n.push={body:!1,timestamp:this.now()},this.rs.local.setNodes(this.flush(e)).then(()=>y(n)?g("delete",t,this.rs.remote.delete(t,{ifMatch:n.common.revision})):g("get",t,this.rs.remote.get(t)))):y(n)?g("get",t,this.rs.remote.get(t,{ifNoneMatch:n.common.revision})):g("get",t,this.rs.remote.get(t))})})}autoMergeFolder(t){if(t.remote.itemsMap&&(t.common=t.remote,delete t.remote,t.common.itemsMap)){for(const e in t.common.itemsMap)t.local.itemsMap[e]||(t.local.itemsMap[e]=!1);for(const e in t.local.itemsMap)t.common.itemsMap[e]||this.addTask(t.path+e);(0,d.equal)(t.local.itemsMap,t.common.itemsMap)&&delete t.local}return t}autoMergeDocument(t){var e;return function(t){return(!t.remote||!t.remote.revision||t.remote.revision===t.common.revision)&&(void 0===t.common.body&&!1===t.remote.body||t.remote.body===t.common.body&&t.remote.contentType===t.common.contentType)}(t)?delete(t=function(t){return t.remote&&!1===t.remote.body&&t.local&&!1===t.local.body&&delete t.local,t}(t)).remote:void 0!==t.remote.body&&(!1===t.remote.body&&!1===(null===(e=t.local)||void 0===e?void 0:e.body)||((0,l.default)("[Sync] Emitting conflict event"),setTimeout(this.rs.local.emitChange.bind(this.rs.local),10,{origin:"conflict",path:t.path,oldValue:t.local.body,newValue:t.remote.body,lastCommonValue:t.common.body,oldContentType:t.local.contentType,newContentType:t.remote.contentType,lastCommonContentType:t.common.contentType})),!1===t.remote.body?t.common={}:t.common=t.remote,delete t.remote,delete t.local),t}autoMerge(t){if(t.remote){if(t.local)return(0,d.isFolder)(t.path)?this.autoMergeFolder(t):this.autoMergeDocument(t);if((0,d.isFolder)(t.path))void 0!==t.remote.itemsMap&&(t.common=t.remote,delete t.remote);else if(void 0!==t.remote.body){const e={origin:"remote",path:t.path,oldValue:!1===t.common.body?void 0:t.common.body,newValue:!1===t.remote.body?void 0:t.remote.body,oldContentType:t.common.contentType,newContentType:t.remote.contentType};if(void 0===e.oldValue&&void 0===e.newValue||this.rs.local.emitChange(e),!1===t.remote.body)return;t.common=t.remote,delete t.remote}return t}t.common.body&&this.rs.local.emitChange({origin:"remote",path:t.path,oldValue:t.common.body,newValue:void 0,oldContentType:t.common.contentType,newContentType:void 0})}updateCommonTimestamp(t,e){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(n=>(n[t]&&n[t].common&&n[t].common.revision===e&&(n[t].common.timestamp=this.now()),this.rs.local.setNodes(this.flush(n))))})}markChildren(t,e,n,r){return i(this,void 0,void 0,function*(){const i=[],s={},o={};for(const n in e)i.push(t+n),s[t+n]=e[n];for(const e in r)i.push(t+e);const a=yield this.rs.local.getNodes(i);let l,u;for(const e in a)if(u=a[e],s[e])u&&u.common?m(u,s[e].ETag)&&(n[e]=(0,d.deepClone)(u),n[e].remote={revision:s[e].ETag,timestamp:this.now()},n[e]=this.autoMerge(n[e])):(l=this.rs.caching.checkPath(e),"ALL"===l&&(n[e]={path:e,common:{timestamp:this.now()},remote:{revision:s[e].ETag,timestamp:this.now()}})),n[e]&&s[e]["Content-Type"]&&(n[e].remote.contentType=s[e]["Content-Type"]),n[e]&&s[e]["Content-Length"]&&(n[e].remote.contentLength=s[e]["Content-Length"]);else if(r[e.substring(t.length)]&&u&&u.common){if(u.common.itemsMap)for(const t in u.common.itemsMap)o[e+t]=!0;if(u.local&&u.local.itemsMap)for(const t in u.local.itemsMap)o[e+t]=!0;if(u.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(u),void 0===n[e]){const i=this.getParentPath(e),r=n[i],s=e.substring(t.length);r&&r.local&&(delete r.local.itemsMap[s],(0,d.equal)(r.local.itemsMap,r.common.itemsMap)&&delete r.local)}}const c=yield this.markRemoteDeletions(Object.keys(o),n);c&&(yield this.rs.local.setNodes(this.flush(c)))})}markRemoteDeletions(t,e){return i(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),i={};function r(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)i[e+n]=!0}for(const t in n){const i=n[t];i&&((0,d.isFolder)(t)?(r(i.common,t),r(i.local,t)):i.common&&void 0!==i.common.body&&(e[t]=(0,d.deepClone)(i),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(i),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,r){return i(this,void 0,void 0,function*(){let i,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?i=[t]:(s=o[1],i=[t,s]);const a=yield this.rs.local.getNodes(i),l=a[s],u={};let c,h=a[t];function p(t){if(t&&t.itemsMap)for(c in t.itemsMap)e[c]||(u[c]=!0)}if("object"==typeof h&&h.path===t&&"object"==typeof h.common||(h={path:t,common:{}},a[t]=h),h.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(c in p(h.common),p(h.remote),h.remote.itemsMap={},e)h.remote.itemsMap[c]=!0;else h.remote.body=e,h.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(c=t.substring(s.length),!1!==e?l.local.itemsMap[c]=!0:l.local.itemsMap[c]&&delete l.local.itemsMap[c],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(h),{toBeSaved:a,missingChildren:u}})}completePush(t,e,n,r){return i(this,void 0,void 0,function*(){const i=yield this.rs.local.getNodes([t]),s=i[t];if(!s.push)throw this.stopped=!0,new Error("completePush called but no push version!");n?((0,l.default)("[Sync] We have a conflict"),s.remote&&s.remote.revision===r||(s.remote={revision:r||"conflict",timestamp:this.now()},delete s.push),i[t]=this.autoMerge(s)):(s.common={revision:r,timestamp:this.now()},"put"===e?(s.common.body=s.push.body,s.common.contentType=s.push.contentType,(0,d.equal)(s.local.body,s.push.body)&&s.local.contentType===s.push.contentType&&delete s.local,delete s.push):"delete"===e&&(!1===s.local.body?i[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(i))})}dealWithFailure(t){return i(this,void 0,void 0,function*(){const e=yield this.rs.local.getNodes([t]);if(e[t])return delete e[t].push,this.rs.local.setNodes(this.flush(e))})}interpretStatus(t){const e={statusCode:t,successful:void 0,conflict:void 0,unAuth:void 0,notFound:void 0,changed:void 0,networkProblems:void 0};if("string"==typeof t&&("offline"===t||"timeout"===t))return e.successful=!1,e.networkProblems=!0,e;if("number"==typeof t){const n=Math.floor(t/100);return e.successful=2===n||304===t||412===t||404===t,e.conflict=412===t,e.unAuth=401===t&&this.rs.remote.token!==u.default.IMPLIED_FAKE_TOKEN||402===t||403===t,e.notFound=404===t,e.changed=304!==t,e}}handleGetResponse(t,e,n,r,s){return i(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,r,s);if((0,d.isFolder)(t)){if(this.corruptServerItemsMap(n))return(0,l.default)("[Sync] WARNING: Discarding corrupt folder description from server for "+t),!1;yield this.markChildren(t,n,e.toBeSaved,e.missingChildren)}else yield this.rs.local.setNodes(this.flush(e.toBeSaved))}else yield this.updateCommonTimestamp(t,s);return!0})}handleResponse(t,e,n){return i(this,void 0,void 0,function*(){const i=this.interpretStatus(n.statusCode);if(i.successful){if("get"===e)return this.handleGetResponse(t,i,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,i.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=i.unAuth?new h.default:i.networkProblems?new c.default("Network request failed."):new Error("HTTP response code "+i.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return i(this,arguments,void 0,function*(t,e=!0){if(void 0===t.action)return void delete this._running[t.path];if(e&&((0,l.default)("[Sync] queue finished task:",t.path),this._finishedTasks.push(t),this._finishedTasks.length>1))return void(0,l.default)("[Sync] delaying finished task:",t.path);let n;(0,l.default)("[Sync] run task:",t.path);try{n=yield t.promise}catch(e){(0,l.default)("[Sync] wire client rejects its promise",t.path,t.action,e),n={statusCode:"offline"}}try{const e=yield this.handleResponse(t.path,t.action,n);this.finishSuccessfulTask(t,e)}catch(e){this.finishUnsuccessfulTask(t,e)}})}finishSuccessfulTask(t,e){return i(this,void 0,void 0,function*(){if(this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],e&&this._tasks[t.path]){for(let e=0;e0?yield this.finishTask(this._finishedTasks[0],!1):yield this.collectTasks(!1).then(()=>{!this.hasTasks()||this.stopped?(this.done||(this.done=!0),this.rs._emit("sync-done",{completed:!0})):setTimeout(()=>{this.doTasks()},10)})})}finishUnsuccessfulTask(t,e){return i(this,void 0,void 0,function*(){(0,l.default)("[Sync]",e.message),this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],this.rs._emit("sync-req-done",{tasksRemaining:Object.keys(this._tasks).length}),this._finishedTasks.length>0?yield this.finishTask(this._finishedTasks[0],!1):this.done||(this.done=!0,this.rs._emit("sync-done",{completed:!1}))})}tasksWanted(){return this.rs.remote.connected?this.rs.remote.online?this.numThreads:1:0}doTasks(){const t=this.tasksWanted()-Object.keys(this._running).length;if(t<=0)return!0;this.hasTasks()&&!this.done&&this.rs._emit("sync-started");let e,n=0;for(e in this._tasks)if(!this._running[e]&&(this._timeStarted[e]=this.now(),this._running[e]=this.doTask(e).then(this.finishTask.bind(this)),n++,n>=t))break;return n>=t}collectTasks(){return i(this,arguments,void 0,function*(t=!0){if(!this.hasTasks()&&!this.stopped)return(yield this.collectDiffTasks())>0?void 0:t?this.collectRefreshTasks():void 0})}addTask(t,e){this._tasks[t]||(this._tasks[t]=[]),"function"==typeof e&&this._tasks[t].push(e)}sync(){return i(this,void 0,void 0,function*(){if(this.done=!1,!this.doTasks()){try{yield this.collectTasks()}catch(t){throw(0,l.default)("[Sync] Sync error",t),new Error("Local cache unavailable")}this.doTasks()}})}static _rs_init(t){p=function(){const e=new o.default;e.isBrowser()&&function(t,e){function n(t){const n=e.getCurrentSyncInterval();s.default.isBackground=!t;const i=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:i})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new _(t),t.syncStopped&&((0,l.default)("[Sync] Initializing with sync stopped"),t.sync.stopped=!0,delete t.syncStopped)),t.setupSyncCycle()},f=function(){t.removeEventListener("connected",f),t.startSync()},t.on("ready",p),t.on("connected",f)}static _rs_cleanup(t){t.stopSync(),t.removeEventListener("ready",p),t.removeEventListener("connected",f),t.sync=void 0,delete t.sync}}e.Sync=_,(0,d.applyMixins)(_,[a.default]),e.default=_},370:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(334));function s(t){return"dropbox"===this.backend&&!!t.match(/^\/public\/.*[^\/]$/)}const o={get:function(t,e){if(this.local){if(void 0===e)e="object"==typeof(n=this).remote&&n.remote.connected&&n.remote.online?2*n.getSyncInterval():((0,r.default)("Not setting default maxAge, because remote is offline or not connected"),!1);else if("number"!=typeof e&&!1!==e)return Promise.reject("Argument 'maxAge' must be 'false' or a number");return this.local.get(t,e,this.sync.queueGetRequest.bind(this.sync))}return this.remote.get(t);var n},put:function(t,e,n){return s.bind(this)(t)?o._wrapBusyDone.call(this,this.remote.put(t,e,n)):this.local?this.local.put(t,e,n):o._wrapBusyDone.call(this,this.remote.put(t,e,n))},delete:function(t,e){return this.local?this.local.delete(t,e):o._wrapBusyDone.call(this,this.remote.delete(t,e))},_wrapBusyDone:function(t){return i(this,void 0,void 0,function*(){return this._emit("wire-busy"),t.then(t=>(this._emit("wire-done",{success:!0}),Promise.resolve(t)),t=>(this._emit("wire-done",{success:!1}),Promise.reject(t)))})}};t.exports=o},613:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClientTypes=void 0;class n{constructor(){this.uris={},this.schemas={},this.aliases={}}declare(t,e,n,i){const r=t+"/"+e;if(i.extends){const e=i.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+r+"' tries to extend unknown schema '"+n+"'";i.extends=this.schemas[s]}this.uris[r]=n,this.aliases[n]=r,this.schemas[n]=i}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const i in this.uris)if(i.substr(0,e+1)===t+"/"){const t=this.uris[i];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const i=new n;e.default=i},503:function(t){class e extends Error{constructor(t,e={}){super(),this.name="Unauthorized",this.message=void 0===t?"App authorization expired or revoked.":t,void 0!==e.code&&(this.code=e.code),this.stack=(new Error).stack}}t.exports=e},746:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function r(t,e){if("object"==typeof t&&!Array.isArray(t)&&null!==t)for(const n in t)if("object"==typeof t[n]&&null!==t[n])if("[object ArrayBuffer]"===t[n].toString()){e[n]=new ArrayBuffer(t[n].byteLength);const i=new Int8Array(t[n]);new Int8Array(e[n]).set(i)}else r(t[n],e[n])}Object.defineProperty(e,"__esModule",{value:!0}),e.toBase64=e.getTextFromArrayBuffer=e.shouldBeTreatedAsBinary=e.getJSONFromLocalStorage=e.localStorageAvailable=e.pathsFromRoot=e.deepClone=e.equal=e.bindAll=e.cleanPath=e.baseName=e.isDocument=e.isFolder=e.containingFolder=e.extend=e.getGlobalContext=e.globalContext=e.logError=void 0,e.generateCodeVerifier=function(){return i(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=Array.from(e).map(t=>n[t%66]),r=i.join(""),s=Uint8Array.from(i.map(t=>t.charCodeAt(0))),o=(a=yield crypto.subtle.digest("SHA-256",s),btoa(String.fromCharCode.apply(null,new Uint8Array(a))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""));var a;return crypto.getRandomValues(e),{codeVerifier:r,codeChallenge:o,state:Array.from(e).map(t=>n[t%66]).join("")}})},e.applyMixins=function(t,e){e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n))})})},e.logError=t=>{"string"==typeof t?console.error(t):console.error(t.message,t.stack)},e.globalContext="undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.getGlobalContext=()=>"undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.extend=(...t)=>{const e=t[0];return Array.prototype.slice.call(t,1).forEach(function(t){for(const n in t)e[n]=t[n]}),e},e.containingFolder=t=>{if(""===t)return"/";if(!t)throw"Path not given!";return t.replace(/\/+/g,"/").replace(/[^\/]+\/?$/,"")},e.isFolder=t=>"/"===t.slice(-1),e.isDocument=t=>!(0,e.isFolder)(t),e.baseName=t=>{const n=t.split("/");return(0,e.isFolder)(t)?n[n.length-2]+"/":n[n.length-1]},e.cleanPath=t=>t.replace(/\/+/g,"/").split("/").map(encodeURIComponent).join("/").replace(/'/g,"%27"),e.bindAll=t=>{for(const e in this)"function"==typeof t[e]&&(t[e]=t[e].bind(t))},e.equal=(t,n,i=[])=>{let r;if(typeof t!=typeof n)return!1;if("number"==typeof t||"boolean"==typeof t||"string"==typeof t)return t===n;if("function"==typeof t)return t.toString()===n.toString();if(t instanceof ArrayBuffer&&n instanceof ArrayBuffer&&(t=new Uint8Array(t),n=new Uint8Array(n)),t instanceof Array){if(t.length!==n.length)return!1;for(let r=0,s=t.length;r=0)continue;s=i.slice(),s.push(n[r])}if(!(0,e.equal)(t[r],n[r],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return r(t,e),e}},e.pathsFromRoot=t=>{const e=[t],n=t.replace(/\/$/,"").split("/");for(;n.length>1;)n.pop(),e.push(n.join("/")+"/");return e},e.localStorageAvailable=()=>{const t=(0,e.getGlobalContext)();if(!("localStorage"in t))return!1;try{return t.localStorage.setItem("rs-check","1"),t.localStorage.removeItem("rs-check"),!0}catch(t){return!1}},e.getJSONFromLocalStorage=t=>{const n=(0,e.getGlobalContext)();try{return JSON.parse(n.localStorage.getItem(t))}catch(t){}},e.shouldBeTreatedAsBinary=(t,e)=>!!(e&&e.match(/charset=binary/)||/[\x00-\x08\x0E-\x1F\uFFFD]/.test(t)),e.getTextFromArrayBuffer=(t,n)=>new Promise(i=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);i(e.toString(n))}else{let r;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),r=e.getBlob()}else r=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){i(t.target.result)}):o.onloadend=function(t){i(t.target.result)},o.readAsText(r,n)}}),e.toBase64=t=>{const n=(0,e.getGlobalContext)();return"btoa"in n?n.btoa(t):Buffer.from(t).toString("base64")}},600:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(275)),o=r(n(93)),a=r(n(503)),l=r(n(334)),u=n(746),c=n(368),h=n(684);let d;const p="remotestorage:wireclient",f={"draft-dejong-remotestorage-00":2,"draft-dejong-remotestorage-01":3,"draft-dejong-remotestorage-02":4,"https://www.w3.org/community/rww/wiki/read-write-web-00#simple":1};class g extends h.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,u.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,u.getJSONFromLocalStorage)(p)||{},{userAddress:e,href:n,storageApi:i,token:r,properties:s}=t;return{userAddress:e,href:n,storageApi:i,token:r,properties:s}}();t&&setTimeout(()=>{this.configure(t)},0)}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}get storageType(){if(this.storageApi){const t=this.storageApi.match(/draft-dejong-(remotestorage-\d\d)/);return t?t[1]:"2012.04"}}_request(t,e,n,r,o,h,d){return i(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let i;return n!==s.default.IMPLIED_FAKE_TOKEN&&(r.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),(0,c.requestWithTimeout)(t,e,{body:o,headers:r,responseType:"arraybuffer"}).then(n=>{if(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),r=n.status,[401,403,404,412].indexOf(r)>=0)return(0,l.default)("[WireClient] Error response status",n.status),i=h?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:i});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return i=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,revision:i});{const t=n.getResponseHeader("Content-Type");i=h?this.stripQuotes(n.getResponseHeader("ETag")):200===n.status?d:void 0;const e=function(t){let e,n="utf-8";return t&&(e=t.match(/charset=(.+)$/),e&&(n=e[1])),n}(t);return(0,u.shouldBeTreatedAsBinary)(n.response,t)?((0,l.default)("[WireClient] Successful request with unknown or binary mime-type",i),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:i})):(0,u.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:i})))}var r},n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),Promise.reject(n)))})}configure(t){if("object"!=typeof t)throw new Error("WireClient configure settings parameter should be an object");if(void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.href&&(this.href=t.href),void 0!==t.storageApi&&(this.storageApi=t.storageApi),void 0!==t.token&&(this.token=t.token),void 0!==t.properties&&(this.properties=t.properties),"string"==typeof this.storageApi){const t=f[this.storageApi]||5;this.supportsRevs=t>=2}this.href&&this.token?(this.connected=!0,this.online=!0,this._emit("connected")):this.connected=!1,d&&localStorage.setItem(p,JSON.stringify({userAddress:this.userAddress,href:this.href,storageApi:this.storageApi,token:this.token,properties:this.properties}))}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n={};return this.supportsRevs&&e.ifNoneMatch&&(n["If-None-Match"]=this.addQuotes(e.ifNoneMatch)),this._request("GET",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,u.isFolder)(t))return Promise.resolve(e);let n={};if(void 0!==e.body)try{e.body=JSON.parse(e.body)}catch(e){return Promise.reject("Folder description at "+this.href+(0,u.cleanPath)(t)+" is not JSON")}if(200===e.statusCode&&"object"==typeof e.body){if(0===Object.keys(e.body).length)e.statusCode=404;else if("http://remotestorage.io/spec/folder-description"===(i=e.body)["@context"]&&"object"==typeof i.items){for(const n in e.body.items)this._revisionCache[t+n]=e.body.items[n].ETag;n=e.body.items}else Object.keys(e.body).forEach(i=>{this._revisionCache[t+i]=e.body[i],n[i]={ETag:e.body[i]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var i})}put(t,e,n,i={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,c.isArrayBufferView)(e))&&(n+="; charset=binary");const r={"Content-Type":n};return this.supportsRevs&&(i.ifMatch&&(r["If-Match"]=this.addQuotes(i.ifMatch)),i.ifNoneMatch&&(r["If-None-Match"]=this.addQuotes(i.ifNoneMatch))),this._request("PUT",this.href+(0,u.cleanPath)(t),this.token,r,e,this.supportsRevs)}delete(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");e||(e={});const n={};return this.supportsRevs&&e.ifMatch&&(n["If-Match"]=this.addQuotes(e.ifMatch)),this._request("DELETE",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs)}static _rs_init(t){t.remote=new g(t),t.remote.online=!0}static _rs_supported(){return"function"==typeof fetch||"function"==typeof XMLHttpRequest}static _rs_cleanup(){d&&delete localStorage[p]}}(0,u.applyMixins)(g,[o.default]),t.exports=g},439:function(t,e){var n,i;n=function(){var t,e,n,i;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in r)t.call(r,o)&&s.push(o);if(e)for(var a=0;a>>0;if(0===n)return-1;var i=0;if(arguments.length>1&&((i=Number(arguments[1]))!=i?i=0:0!==i&&i!==1/0&&i!==-1/0&&(i=(i>0||-1)*Math.floor(Math.abs(i)))),i>=n)return-1;for(var r=i>=0?i:Math.max(n-Math.abs(i),0);r0&&(e+=c.suffices["*"]&&n||",",c.suffices["*"]&&l&&(e+=c.name+"=")),e+=a?encodeURIComponent(h[p]).replace(/!/g,"%21"):o(h[p])}else if("object"==typeof h){l&&!c.suffices["*"]&&(e+=c.name+"=");var f=!0;for(var g in h)f||(e+=c.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=c.suffices["*"]?"=":",",e+=a?encodeURIComponent(h[g]).replace(/!/g,"%21"):o(h[g])}else l&&(e+=c.name,u&&""===h||(e+="=")),null!=c.truncate&&(h=h.substring(0,c.truncate)),e+=a?encodeURIComponent(h).replace(/!/g,"%21"):o(h)}return e};return b.varNames=c,{prefix:i,substitution:b}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],i=[],r=[],s=[];e.length>0;){var o=e.shift(),u=o.split("}")[0],c=o.substring(u.length+1),h=a(u);r.push(h.substitution),i.push(h.prefix),n.push(c),s=s.concat(h.substitution.varNames)}this.fill=function(t){for(var e=n[0],i=0;i0&&"/"===e.charAt(t.length-1)||"#"===n.charAt(0)||"?"===n.charAt(0))return!0}return!1}(e,t.id)&&void 0===this.schemas[t.id]&&(this.schemas[t.id]=t),t)if("enum"!==i)if("object"==typeof t[i])this.searchSchemas(t[i],e);else if("$ref"===i){var r=g(t[i]);r&&void 0===this.schemas[r]&&void 0===this.missingMap[r]&&(this.missingMap[r]=r)}},u.prototype.addSchema=function(t,e){if("string"!=typeof t||void 0===e){if("object"!=typeof t||"string"!=typeof t.id)return;t=(e=t).id}t===g(t)+"#"&&(t=g(t)),this.schemas[t]=e,delete this.missingMap[t],m(e,t),this.searchSchemas(e,t)},u.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},u.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},u.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},u.prototype.dropSchemas=function(){this.schemas={},this.reset()},u.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},u.prototype.validateAll=function(t,e,n,i,r){var s;if(!(e=this.resolveRefs(e)))return null;if(e instanceof x)return this.errors.push(e),e;var o,a=this.errors.length,l=null,u=null;if(this.checkRecursive&&t&&"object"==typeof t){if(s=!this.scanned.length,t[this.validatedSchemasKey]){var c=t[this.validatedSchemasKey].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(t[this.validationErrorsKey][c]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var h=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][h]),null}if(this.scanned.push(t),Object.isFrozen(t))-1===o&&(o=this.scannedFrozen.length,this.scannedFrozen.push(t),this.scannedFrozenSchemas.push([])),l=this.scannedFrozenSchemas[o].length,this.scannedFrozenSchemas[o][l]=e,this.scannedFrozenValidationErrors[o][l]=[];else{if(!t[this.validatedSchemasKey])try{Object.defineProperty(t,this.validatedSchemasKey,{value:[],configurable:!0}),Object.defineProperty(t,this.validationErrorsKey,{value:[],configurable:!0})}catch(e){t[this.validatedSchemasKey]=[],t[this.validationErrorsKey]=[]}u=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][u]=e,t[this.validationErrorsKey][u]=[]}}var d=this.errors.length,p=this.validateBasic(t,e,r)||this.validateNumeric(t,e,r)||this.validateString(t,e,r)||this.validateArray(t,e,r)||this.validateObject(t,e,r)||this.validateCombinations(t,e,r)||this.validateHypermedia(t,e,r)||this.validateFormat(t,e,r)||this.validateDefinedKeywords(t,e,r)||null;if(s){for(;this.scanned.length;)delete this.scanned.pop()[this.validatedSchemasKey];this.scannedFrozen=[],this.scannedFrozenSchemas=[]}if(p||d!==this.errors.length)for(;n&&n.length||i&&i.length;){var f=n&&n.length?""+n.pop():null,g=i&&i.length?""+i.pop():null;p&&(p=p.prefixWith(f,g)),this.prefixErrors(d,f,g)}return null!==l?this.scannedFrozenValidationErrors[o][l]=this.errors.slice(a):null!==u&&(t[this.validationErrorsKey][u]=this.errors.slice(a)),this.handleError(p)},u.prototype.validateFormat=function(t,e){if("string"!=typeof e.format||!this.formatValidators[e.format])return null;var n=this.formatValidators[e.format].call(null,t,e);return"string"==typeof n||"number"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},u.prototype.validateDefinedKeywords=function(t,e,n){for(var i in this.definedKeywords)if(void 0!==e[i])for(var r=this.definedKeywords[i],s=0;s=h&&ie.maximum)return this.createError(_.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(_.NUMBER_MAXIMUM_EXCLUSIVE,{value:t,maximum:e.maximum},"","/exclusiveMaximum",null,t,e)}return null},u.prototype.validateNaN=function(t,e){return"number"!=typeof t?null:!0===isNaN(t)||t===1/0||t===-1/0?this.createError(_.NUMBER_NOT_A_NUMBER,{value:t},"","/type",null,t,e):null},u.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},u.prototype.validateStringLength=function(t,e){return"string"!=typeof t?null:void 0!==e.minLength&&t.lengthe.maxLength?this.createError(_.STRING_LENGTH_LONG,{length:t.length,maximum:e.maxLength},"","/maxLength",null,t,e):null},u.prototype.validateStringPattern=function(t,e){if("string"!=typeof t||"string"!=typeof e.pattern&&!(e.pattern instanceof RegExp))return null;var n;if(e.pattern instanceof RegExp)n=e.pattern;else{var i,r="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(i=s[1],r=s[2]):i=e.pattern,n=new RegExp(i,r)}return n.test(t)?null:this.createError(_.STRING_PATTERN,{pattern:e.pattern},"","/pattern",null,t,e)},u.prototype.validateArray=function(t,e,n){return Array.isArray(t)&&(this.validateArrayLength(t,e,n)||this.validateArrayUniqueItems(t,e,n)||this.validateArrayItems(t,e,n))||null},u.prototype.validateArrayLength=function(t,e){var n;return void 0!==e.minItems&&t.lengthe.maxItems&&(n=this.createError(_.ARRAY_LENGTH_LONG,{length:t.length,maximum:e.maxItems},"","/maxItems",null,t,e),this.handleError(n))?n:null},u.prototype.validateArrayUniqueItems=function(t,e){if(e.uniqueItems)for(var n=0;ne.maxProperties&&(n=this.createError(_.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:i.length,maximum:e.maxProperties},"","/maxProperties",null,t,e),this.handleError(n))?n:null},u.prototype.validateObjectRequiredProperties=function(t,e){if(void 0!==e.required)for(var n=0;n 10000");if(void 0!==_[t])throw new Error("Error already defined: "+t+" as "+_[t]);if(void 0!==v[e])throw new Error("Error code already used: "+v[e]+" as "+e);for(var i in _[t]=e,v[e]=t,w[t]=w[e]=n,S){var r=S[i];r[t]&&(r[e]=r[e]||r[t])}},reset:function(){i.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:_};return r.language("en"),r}();return E.addLanguage("en-gb",w),E.tv4=E,E},void 0===(i=n.apply(e,[]))||(t.exports=i)},199:function(t,e,n){var i;"function"!=typeof fetch&&"function"!=typeof XMLHttpRequest&&(XMLHttpRequest=n(317)),function(){var n={"http://webfist.org/spec/rel":"webfist","http://webfinger.net/rel/avatar":"avatar",remotestorage:"remotestorage","http://tools.ietf.org/id/draft-dejong-remotestorage":"remotestorage",remoteStorage:"remotestorage","http://www.packetizer.com/rel/share":"share","http://webfinger.net/rel/profile-page":"profile",me:"profile",vcard:"vcard",blog:"blog","http://packetizer.com/rel/blog":"blog","http://schemas.google.com/g/2010#updates-from":"updates","https://camlistore.org/rel/server":"camilstore"},r={avatar:[],remotestorage:[],blog:[],vcard:[],updates:[],share:[],profile:[],webfist:[],camlistore:[]},s=["webfinger","host-meta","host-meta.json"];function o(t){return t.toString=function(){return this.message},t}function a(t){"object"!=typeof t&&(t={}),this.config={tls_only:void 0===t.tls_only||t.tls_only,webfist_fallback:void 0!==t.webfist_fallback&&t.webfist_fallback,uri_fallback:void 0!==t.uri_fallback&&t.uri_fallback,request_timeout:void 0!==t.request_timeout?t.request_timeout:1e4}}a.prototype.__fetchJRD=function(t,e,n){if("function"==typeof fetch)return this.__fetchJRD_fetch(t,e,n);if("function"==typeof XMLHttpRequest)return this.__fetchJRD_XHR(t,e,n);throw new Error("add a polyfill for fetch or XMLHttpRequest")},a.prototype.__fetchJRD_fetch=function(t,e,n){var i,r=this;"function"==typeof AbortController&&(i=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:i?i.signal:void 0}).then(function(e){if(e.ok)return e.text();throw 404===e.status?o({message:"resource not found",url:t,status:e.status}):o({message:"error during request",url:t,status:e.status})},function(e){throw o({message:"error during request",url:t,status:void 0,err:e})}).then(function(e){if(r.__isValidJSON(e))return e;throw o({message:"invalid json",url:t,status:void 0})}),a=new Promise(function(e,n){setTimeout(function(){n(o({message:"request timed out",url:t,status:void 0})),i&&i.abort()},r.config.request_timeout)});Promise.race([s,a]).then(function(t){n(t)}).catch(function(t){e(t)})},a.prototype.__fetchJRD_XHR=function(t,e,n){var i=this,r=!1,s=new XMLHttpRequest;function a(){if(!r)return r=!0,200===s.status?i.__isValidJSON(s.responseText)?n(s.responseText):e(o({message:"invalid json",url:t,status:s.status})):404===s.status?e(o({message:"resource not found",url:t,status:s.status})):s.status>=301&&s.status<=302?function(t){return"string"==typeof t&&"https"===t.split("://")[0]}(s.getResponseHeader("Location"))?l():e(o({message:"no redirect URL found",url:t,status:s.status})):e(o({message:"error during request",url:t,status:s.status}))}function l(){s.onreadystatechange=function(){4===s.readyState&&a()},s.onload=function(){a()},s.ontimeout=function(){return e(o({message:"request timed out",url:t,status:s.status}))},s.open("GET",t,!0),s.timeout=i.config.request_timeout,s.setRequestHeader("Accept","application/jrd+json, application/json"),s.send()}return l()},a.prototype.__isValidJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},a.prototype.__isLocalhost=function(t){return/^localhost(\.localdomain)?(\:[0-9]+)?$/.test(t)},a.prototype.__processJRD=function(t,e,i,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?i(o({message:a.error,request:t})):i(o({message:"unknown response from server",request:t}));var l=a.links;Array.isArray(l)||(l=[]);var u={object:a,json:e,idx:{}};u.idx.properties={name:void 0},u.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&u.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),u.idx.links[n[t.rel]].push(e)}});var c=JSON.parse(e).properties;for(var h in c)c.hasOwnProperty(h)&&"http://packetizer.com/ns/name"===h&&(u.idx.properties.name=c[h]);return s(u)},a.prototype.lookup=function(t,e){if("string"!=typeof t)throw new Error("first parameter must be a user address");if("function"!=typeof e)throw new Error("second parameter must be a callback");var n=this,i="";i=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var r=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+i+"/.well-known/"+s[r]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==i&&r!==s.length-1)return r+=1,u();if(!n.config.tls_only&&"https"===o)return r=0,o="http",u();if(!n.config.webfist_fallback||"webfist.org"===i)return e(t);r=0,o="http",i="webfist.org";var l=a();n.__fetchJRD(l,e,function(t){n.__processJRD(l,t,e,function(t){"object"==typeof t.idx.links.webfist&&"string"==typeof t.idx.links.webfist[0].href&&n.__fetchJRD(t.idx.links.webfist[0].href,e,function(t){n.__processJRD(l,t,e,function(){return e(null,e)})})})})}function u(){var t=a();n.__fetchJRD(t,l,function(i){n.__processJRD(t,i,e,function(t){e(null,t)})})}return n.__isLocalhost(i)&&(o="http"),setTimeout(u,0)},a.prototype.lookupLink=function(t,e,n){if(!r.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,i){var r=i.idx.links[e];return t?n(t):0===r.length?n('no links found with rel="'+e+'"'):n(null,r[0])})},void 0===(i=function(){return a}.apply(e,[]))||(t.exports=i)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,n),s.exports}return n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n(423).default}()),Ww.exports); +/*! For license information please see remotestorage.js.LICENSE.txt */const Kw=$w(Hw),Xw="0123456789bcdefghjkmnpqrstuvwxyz";let Yw=class t{static encode(e,n,i){if(void 0===i){for(let i=1;i<=12;i++){const r=t.encode(e,n,i),s=t.decode(r);if(s.lat==e&&s.lon==n)return r}i=12}if(e=Number(e),n=Number(n),i=Number(i),isNaN(e)||isNaN(n)||isNaN(i))throw new Error("Invalid geohash");let r=0,s=0,o=!0,a="",l=-90,u=90,c=-180,h=180;for(;a.length=t?(r=2*r+1,c=t):(r*=2,h=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Xw.charAt(r),s=0,r=0)}return a}static decode(e){const n=t.bounds(e),i=n.sw.lat,r=n.sw.lon,s=n.ne.lat,o=n.ne.lon;let a=(i+s)/2,l=(r+o)/2;return a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),l=l.toFixed(Math.floor(2-Math.log(o-r)/Math.LN10)),{lat:Number(a),lon:Number(l)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(e,n){if(e=e.toLowerCase(),n=n.toLowerCase(),0==e.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(n))throw new Error("Invalid direction");const i=e.slice(-1);let r=e.slice(0,-1);const s=e.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[n][s].indexOf(i)&&""!=r&&(r=t.adjacent(r,n)),r+Xw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[n][s].indexOf(i))}static neighbours(e){return{n:t.adjacent(e,"n"),ne:t.adjacent(t.adjacent(e,"n"),"e"),e:t.adjacent(e,"e"),se:t.adjacent(t.adjacent(e,"s"),"e"),s:t.adjacent(e,"s"),sw:t.adjacent(t.adjacent(e,"s"),"w"),w:t.adjacent(e,"w"),nw:t.adjacent(t.adjacent(e,"n"),"w")}}};const Zw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Jw=0xffffffffffff;var Qw;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(Qw||(Qw={}));class tx extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function ex(t){const e=Math.floor(32*t())%32;return Zw.charAt(e)}const nx={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,2)}/${t.substring(2,4)}/${e}`}t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]});const n={store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new tx(Qw.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Jw)throw new tx(Qw.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Jw}: ${t}`);if(t<0)throw new tx(Qw.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Zw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=ex(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Yw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){let n="";return e.length>=2&&(n+=e.substring(0,2)+"/"),e.length>=4&&(n+=e.substring(2,4)+"/"),t.getAll(n)},getPlaces:async function(e){const n=[],i=async e=>{const i=await t.getAll(e,!1);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&!t.toString().endsWith("/")&&n.push(t)})};if(e&&e.length>0){const t=e.map(async t=>{if(t.length<4)return;const e=t.substring(0,2),n=t.substring(2,4);await i(`${e}/${n}/`)});await Promise.all(t)}else{const e=t=>{if(!t||"object"!=typeof t)return[];let e=t;return t.items&&"object"==typeof t.items&&(e=t.items),Object.keys(e).filter(t=>t.endsWith("/")&&!t.startsWith("@"))},n=await t.getListing("",!1),r=e(n);await Promise.all(r.map(async n=>{const r=await t.getListing(n,!1),s=e(r);await Promise.all(s.map(async t=>{await i(n+t)}))}))}return n}};return{exports:n}}};var ix;ix||(ix=1,self,(()=>{var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};t.d({},{default:()=>n});var e=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.rs=e,this.leaveOpen=!!n.leaveOpen&&n.leaveOpen,this.autoCloseAfter=n.autoCloseAfter?n.autoCloseAfter:1500,this.skipInitial=!!n.skipInitial&&n.skipInitial,this.logging=!!n.logging&&n.logging,this.parentContainerEl=null,n.hasOwnProperty("modalBackdrop")){if("boolean"!=typeof n.modalBackdrop&&"onlySmallScreens"!==n.modalBackdrop)throw'options.modalBackdrop has to be true/false or "onlySmallScreens"';this.modalBackdrop=n.modalBackdrop}else this.modalBackdrop="onlySmallScreens";this.active=!1,this.online=!1,this.closed=!1,this.lastSynced=null,this.lastSyncedUpdateLoop=null}var e,n;return e=t,n=[{key:"log",value:function(){if(this.logging){for(var t,e=arguments.length,n=new Array(e),i=0;i

Connect your storage

To sync data with your account
';var e=document.createElement("style");return e.innerHTML='#remotestorage-widget {\n z-index: 21000000;\n}\n\n.rs-widget {\n box-sizing: border-box;\n overflow: hidden;\n max-width: 350px;\n padding: 10px;\n margin: 10px;\n border-radius: 3px;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n font-family: arial, sans-serif;\n font-size: 16px;\n color: #333;\n will-change: max-height, height, width, opacity, max-width, background, box-shadow;\n transition-property: width, height, opacity, max-width, max-height, background, box-shadow;\n transition-duration: 300ms;\n}\n\n.rs-widget * {\n box-sizing: border-box;\n}\n\n.rs-widget .rs-hidden {\n display: none;\n}\n\n.rs-box {\n overflow: hidden;\n will-change: height;\n transition-property: height, width, max-height;\n transition-duration: 300ms;\n transition-timing-function: ease-in;\n opacity: 0;\n max-height: 0px;\n}\n\n.rs-box.rs-selected:not([aria-hidden=true]) {\n opacity: 1;\n max-height: 420px;\n}\n\n/* Main logo */\n.rs-main-logo {\n float: left;\n height: 36px;\n width: 36px;\n margin-top: 1px;\n margin-right: 0.625em;\n transition: margin-left 300ms ease-out, transform 300ms ease-out;\n cursor: pointer;\n}\n.rs-widget .rs-backend-remotestorage svg#rs-main-logo-remotestorage {\n display: block;\n}\n.rs-widget[class*="rs-backend-"]:not(.rs-backend-remotestorage) svg#rs-main-logo-remotestorage {\n display: none;\n}\n.rs-widget.rs-backend-dropbox svg#rs-main-logo-dropbox {\n display: block;\n}\n.rs-widget:not(.rs-backend-dropbox) svg#rs-main-logo-dropbox {\n display: none;\n}\n.rs-widget.rs-backend-googledrive svg#rs-main-logo-googledrive {\n display: block;\n}\n.rs-widget:not(.rs-backend-googledrive) svg#rs-main-logo-googledrive {\n display: none;\n}\n\npolygon.rs-logo-shape {\n fill: #FF4B03;\n}\n\npolygon.rs-logo-shape,\n#rs-main-logo-dropbox path,\n#rs-main-logo-googledrive path {\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n.rs-offline polygon.rs-logo-shape,\n.rs-offline #rs-main-logo-dropbox path,\n.rs-offline #rs-main-logo-googledrive path {\n fill: #888;\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n/* Hide everything except logo when connected and clicked outside of box */\n.rs-closed {\n max-width: 56px;\n background-color: transparent;\n box-shadow: none;\n opacity: 0.5;\n\n transition: max-height 100ms ease-out 0ms, max-width 300ms ease-out 300ms, background 300ms ease-in 200ms, opacity 300ms ease 200ms;\n}\n\n.rs-closed:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.rs-box-initial {\n transition-duration: 0ms;\n}\n\n.rs-box-initial:hover {\n cursor: pointer;\n}\n\n.rs-widget a {\n color: #0093cc;\n}\n\n/* HEADLINE */\n.rs-small-headline {\n font-size: 1em;\n font-weight: bold;\n margin: 0;\n margin-bottom: 2px;\n height: 1.2em;\n word-break: break-all;\n overflow: hidden;\n line-height: 1em;\n}\n\n.rs-sub-headline {\n word-break: break-all;\n overflow: hidden;\n color: #666;\n font-size: 0.92em;\n height: 1.2em;\n}\n.rs-big-headline {\n font-size: 1.625em;\n font-weight: normal;\n text-align: center;\n margin-top: 20px;\n margin-bottom: 20px;\n}\n\n/* BUTTONS */\n.rs-button {\n font: inherit;\n color: inherit;\n background-color: transparent;\n border: 1px solid #dcdcdc;\n border-radius: 3px;\n cursor: pointer;\n}\n.rs-button-small {\n padding: 0.6em 0.7em;\n margin-left: 0.2em;\n transition: border-color 300ms ease-out;\n}\n.rs-button-small svg {\n vertical-align: top;\n}\n.rs-button-wrap {\n margin-top: 10px;\n}\n\n.rs-button-wrap img,\n.rs-button-wrap svg {\n float: left;\n margin-right: 0.6em;\n width: 40px;\n height: 40px;\n}\n\n.rs-button-big {\n padding: 15px 10px;\n margin-bottom: 10px;\n display: block;\n width: 100%;\n text-align: left;\n transition: box-shadow 200ms;\n}\n.rs-button-big > div {\n font-size: 1.125em;\n padding: 10px 0;\n}\n.rs-button-big:hover {\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:active {\n background-color: #eee;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:last-child {\n margin-bottom: 0;\n}\n\n.rs-content {\n padding: 0 10px 10px 10px;\n}\n\n\n.rs-state-choose .rs-main-logo,\n.rs-state-sign-in .rs-main-logo {\n margin-left: 45%;\n float: none;\n}\n\n.rs-sign-in-form input[type=text] {\n padding: 15px 10px;\n display: block;\n width: 100%;\n font: inherit;\n height: 52px;\n border: 1px solid #aaa;\n border-radius: 0;\n box-shadow: none;\n}\n.rs-sign-in-form button.rs-connect {\n padding: 15px 10px;\n margin-top: 20px;\n margin-bottom: 15px;\n display: block;\n width: 100%;\n border: none;\n border-radius: 3px;\n background-color: #3fb34f;\n font: inherit;\n color: #fff;\n transition: box-shadow 200ms, background-color 200ms;\n}\n\n.rs-sign-in-form button.rs-connect:hover {\n cursor: pointer;\n background-color: #4BCB5D;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n\n.rs-sign-in-form button.rs-connect:active {\n background-color: #3fb34f;\n}\n\n.rs-sign-in-form button.rs-connect:disabled,\n.rs-sign-in-form button.rs-connect:disabled:hover {\n background-color: #aaa;\n}\n\n.rs-sign-in-form button.rs-connecting svg {\n height: 1em;\n width: auto;\n vertical-align: middle;\n margin-left: 0.5em;\n animation: rs-spin 1s linear infinite;\n}\n\n.rs-sign-in-error.rs-hidden,\n.rs-box-error.rs-hidden {\n height: 0;\n}\n\n.rs-sign-in-error.rs-visible,\n.rs-box-error.rs-visible {\n height: auto;\n border-radius: 3px;\n padding: 0.5em 0.5em;\n margin-top: 0.5em;\n text-align: center;\n background-color: rgba(255,0,0,0.1);\n color: darkred;\n}\n\n.rs-box-error {\n display: flex;\n flex-direction: row;\n}\n\n.rs-box-error .rs-error-message {\n flex: auto;\n}\n\n /*Choose provider box */\n.rs-box-choose {\n text-align: center;\n overflow: hidden;\n}\n\n.rs-box-choose p {\n margin-top: 0;\n margin-bottom: 20px;\n line-height: 1.4em;\n}\n\n/*Connected box */\n.rs-box-connected {\n display: flex;\n flex-direction: row;\n height: 40px;\n transition: height 0s;\n}\n.rs-connected-text {\n flex: auto;\n min-width: 0;\n}\n.rs-box-connected .rs-user {\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n word-break: keep-all;\n}\n.rs-connected-buttons, .rs-error-buttons {\n flex: none;\n}\n.rs-disconnect:hover {\n border-color: #FF2D2D;\n}\n.rs-disconnect:hover .rs-icon{\n fill: #FF2D2D;\n}\n.rs-sync:hover {\n border-color: #FFBB0C;\n}\n.rs-sync:hover .rs-icon {\n fill: #FFBB0C;\n}\n.rs-sync.rs-rotate {\n border-color: #FFBB0C;\n}\n.rs-sync.rs-rotate .rs-icon {\n fill: #FFBB0C;\n animation: rs-spin 1s linear infinite;\n}\n\n/* Floating widget styles (top right corner) */\n.rs-floating {\n position: fixed;\n top: 0;\n right: 0;\n}\n\n@keyframes rs-spin {\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Small/mobile screens */\n@media screen and (max-width: 420px) {\n .rs-widget {\n font-size: 100%;\n transition: all 300ms ease-out;\n max-width: 400px;\n }\n .rs-floating {\n position: relative;\n top: auto;\n right: auto\n }\n .rs-closed {\n max-width: 56px;\n }\n .rs-state-choose,\n .rs-state-sign-in {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n }\n}\n\n/* remove dotted outline border on Firefox */\n.rs-widget a:focus,\n.rs-widget a:active,\n.rs-widget button:focus,\n.rs-widget input:focus {\n outline:none;\n}\n.rs-widget button::-moz-focus-inner,\n.rs-widget input[type="button"]::-moz-focus-inner {\n border:0;\n}\n\n/* prevent rounded buttons on mobile Safari */\n.rs-widget button,\n.rs-widget input[type="button"] {\n -webkit-appearance: none;\n}\n\n.remotestorage-widget-modal-backdrop {\n display: none;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.3s linear;\n}\n\n.remotestorage-widget-modal-backdrop.visible {\n opacity: 1;\n transition: opacity 0.3s linear;\n}\n',t.appendChild(e),t}},{key:"setModalClass",value:function(){if(this.modalBackdrop){if("onlySmallScreens"===this.modalBackdrop&&!this.isSmallScreen())return;this.rsWidget.classList.add("rs-modal")}}},{key:"setupElements",value:function(){if(!this.parentContainerEl)throw new Error("Parent container element not found");this.rsWidget=this.parentContainerEl.querySelector(".rs-widget"),this.rsBackdrop=this.parentContainerEl.querySelector(".remotestorage-widget-modal-backdrop"),this.rsInitial=this.parentContainerEl.querySelector(".rs-box-initial"),this.rsChoose=this.parentContainerEl.querySelector(".rs-box-choose"),this.rsConnected=this.parentContainerEl.querySelector(".rs-box-connected"),this.rsSignIn=this.parentContainerEl.querySelector(".rs-box-sign-in"),this.rsConnectedLabel=this.parentContainerEl.querySelector(".rs-box-connected .rs-sub-headline"),this.rsChooseRemoteStorageButton=this.parentContainerEl.querySelector("button.rs-choose-rs"),this.rsChooseDropboxButton=this.parentContainerEl.querySelector("button.rs-choose-dropbox"),this.rsChooseGoogleDriveButton=this.parentContainerEl.querySelector("button.rs-choose-googledrive"),this.rsErrorBox=this.parentContainerEl.querySelector(".rs-box-error .rs-error-message"),this.rs.apiKeys.hasOwnProperty("googledrive")||this.rsChooseGoogleDriveButton.parentNode.removeChild(this.rsChooseGoogleDriveButton),this.rs.apiKeys.hasOwnProperty("dropbox")||this.rsChooseDropboxButton.parentNode.removeChild(this.rsChooseDropboxButton),this.rsSignInForm=this.parentContainerEl.querySelector(".rs-sign-in-form"),this.rsAddressInput=this.rsSignInForm.querySelector("input[name=rs-user-address]"),this.rsConnectButton=this.parentContainerEl.querySelector(".rs-connect"),this.rsDisconnectButton=this.parentContainerEl.querySelector(".rs-disconnect"),this.rsSyncButton=this.parentContainerEl.querySelector(".rs-sync"),this.rsLogo=this.parentContainerEl.querySelector(".rs-widget-icon"),this.rsErrorReconnectLink=this.parentContainerEl.querySelector(".rs-box-error a.rs-reconnect"),this.rsErrorDisconnectButton=this.parentContainerEl.querySelector(".rs-box-error button.rs-disconnect"),this.rsConnectedUser=this.parentContainerEl.querySelector(".rs-connected-text h1.rs-user")}},{key:"setupHandlers",value:function(){var t=this;this.rs.on("connected",function(){return t.eventHandler("connected")}),this.rs.on("ready",function(){return t.eventHandler("ready")}),this.rs.on("disconnected",function(){return t.eventHandler("disconnected")}),this.rs.on("network-online",function(){return t.eventHandler("network-online")}),this.rs.on("network-offline",function(){return t.eventHandler("network-offline")}),this.rs.on("error",function(e){return t.eventHandler("error",e)}),this.setEventListeners(),this.setClickHandlers()}},{key:"attach",value:function(t){var e=this.createHtmlTemplate(t);if(this.parentContainerEl,t instanceof HTMLElement)this.parentContainerEl=t;else if("string"==typeof t){if(this.parentContainerEl=document.getElementById(t),!this.parentContainerEl)throw new Error('Failed to find target DOM element with id="'+t+'"')}else{if(t)throw new Error("Unknown element type. Expected instance of HTMLElement or type of string.");this.parentContainerEl=document.body}this.parentContainerEl.appendChild(e),this.setupElements(),this.setupHandlers(),this.setInitialState(),this.setModalClass()}},{key:"setEventListeners",value:function(){var t=this;this.rsSignInForm.addEventListener("submit",function(e){e.preventDefault();var n=t.parentContainerEl.querySelector("input[name=rs-user-address]").value;t.disableConnectButton(),t.rs.connect(n)})}},{key:"showChooseOrSignIn",value:function(){this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.style.display="block",this.rsBackdrop.classList.add("visible")),this.rs.apiKeys&&Object.keys(this.rs.apiKeys).length>0?this.setState("choose"):this.setState("sign-in")}},{key:"setClickHandlers",value:function(){var t=this;this.rsInitial.addEventListener("click",function(){return t.showChooseOrSignIn()}),this.rsChooseRemoteStorageButton.addEventListener("click",function(){t.setState("sign-in"),t.rsAddressInput.focus()}),this.rsChooseDropboxButton.addEventListener("click",function(){return t.rs.dropbox.connect()}),this.rsChooseGoogleDriveButton.addEventListener("click",function(){return t.rs.googledrive.connect()}),this.rsDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rsErrorReconnectLink.addEventListener("click",function(){return t.rs.reconnect()}),this.rsErrorDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rs.hasFeature("Sync")&&this.rsSyncButton.addEventListener("click",function(){t.rsSyncButton.classList.contains("rs-rotate")?(t.rs.stopSync(),t.rsSyncButton.classList.remove("rs-rotate")):(t.rsConnectedLabel.textContent="Synchronizing",t.rs.startSync(),t.rsSyncButton.classList.add("rs-rotate"))}),document.addEventListener("click",function(){return t.close()}),this.rsWidget.addEventListener("click",function(t){return t.stopPropagation()}),this.rsLogo.addEventListener("click",function(){return t.toggle()})}},{key:"toggle",value:function(){this.closed?this.open():"initial"===this.state?this.showChooseOrSignIn():this.close()}},{key:"open",value:function(){this.closed=!1,this.rsWidget.classList.remove("rs-closed"),this.shouldCloseWhenSyncDone=!1;var t=this.parentContainerEl.querySelector(".rs-box.rs-selected");t&&t.setAttribute("aria-hidden","false")}},{key:"close",value:function(){var t=this;if("error"!==this.state){if(!this.leaveOpen&&this.active){this.closed=!0,this.rsWidget.classList.add("rs-closed");var e=this.parentContainerEl.querySelector(".rs-box.rs-selected");e&&e.setAttribute("aria-hidden","true")}else this.active?this.setState("connected"):this.setInitialState();this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.classList.remove("visible"),setTimeout(function(){t.rsBackdrop.style.display="none"},300))}}},{key:"disableConnectButton",value:function(){this.rsConnectButton.disabled=!0,this.rsConnectButton.classList.add("rs-connecting"),this.rsConnectButton.innerHTML="Connecting ".concat('\n \n \n \n \n \n \n\n')}},{key:"enableConnectButton",value:function(){this.rsConnectButton.disabled=!1,this.rsConnectButton.textContent="Connect",this.rsConnectButton.classList.remove("rs-connecting")}},{key:"setOffline",value:function(){this.online&&(this.rsWidget.classList.add("rs-offline"),this.rsConnectedLabel.textContent="Offline",this.online=!1)}},{key:"setOnline",value:function(){this.online||(this.rsWidget.classList.remove("rs-offline"),this.active&&(this.rsConnectedLabel.textContent="Connected")),this.online=!0}},{key:"setBackendClass",value:function(t){this.rsWidget.classList.remove("rs-backend-remotestorage"),this.rsWidget.classList.remove("rs-backend-dropbox"),this.rsWidget.classList.remove("rs-backend-googledrive"),t&&this.rsWidget.classList.add("rs-backend-".concat(t))}},{key:"showErrorBox",value:function(t){this.rsErrorBox.innerHTML=t,this.setState("error")}},{key:"hideErrorBox",value:function(){this.rsErrorBox.innerHTML="",this.close()}},{key:"handleSyncStarted",value:function(){var t=this;this.syncInProgress=!0,this.rsSyncButton.classList.add("rs-rotate"),setTimeout(function(){t.syncInProgress&&(t.rsConnectedLabel.textContent="Synchronizing")},1e3)}},{key:"handleDiscoveryError",value:function(t){var e=this.parentContainerEl.querySelector(".rs-sign-in-error");e.innerHTML=t.message,e.classList.remove("rs-hidden"),e.classList.add("rs-visible"),this.enableConnectButton()}},{key:"handleSyncError",value:function(){this.setOffline()}},{key:"handleUnauthorized",value:function(t){t.code&&"access_denied"===t.code?this.rs.disconnect():(this.open(),this.showErrorBox(t.message+" "),this.rsErrorBox.appendChild(this.rsErrorReconnectLink),this.rsErrorReconnectLink.classList.remove("rs-hidden"))}},{key:"updateLastSyncedStatus",value:function(){var t=new Date;this.online?(this.lastSynced=t,this.rsConnectedLabel.textContent="Synced"):this.rsWidget.classList.contains("rs-state-unauthorized")||(this.rsConnectedLabel.textContent="Offline")}},{key:"isSmallScreen",value:function(){return window.innerWidth<421}}],n&&function(t,e){for(var n=0;n=t?(i=2*i+1,u=t):(i*=2,c=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=rx.charAt(i),r=0,i=0)}return o}static decode(t){const e=sx.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=sx.adjacent(i,e)),i+rx.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:sx.adjacent(t,"n"),ne:sx.adjacent(sx.adjacent(t,"n"),"e"),e:sx.adjacent(t,"e"),se:sx.adjacent(sx.adjacent(t,"s"),"e"),s:sx.adjacent(t,"s"),sw:sx.adjacent(sx.adjacent(t,"s"),"w"),w:sx.adjacent(t,"w"),nw:sx.adjacent(sx.adjacent(t,"n"),"w")}}}function ox(t){const{minLat:e,minLon:n,maxLat:i,maxLon:r}=t,s=new Set;if(Math.abs(i-e)>20||Math.abs(r-n)>20)return console.warn("BBox too large for 4-char geohash scanning, aborting fine scan."),[];for(let a=e;a<=i+.1;a+=.1)for(let t=n;t<=r+.1;t+=.1){const e=Math.min(a,i),n=Math.min(t,r);try{const t=sx.encode(e,n,4);s.add(t)}catch(o){}}try{s.add(sx.encode(e,n,4))}catch(o){}try{s.add(sx.encode(i,r,4))}catch(o){}try{s.add(sx.encode(e,r,4))}catch(o){}try{s.add(sx.encode(i,n,4))}catch(o){}return Array.from(s)}const ax=Object.freeze(Object.defineProperty({__proto__:null,getGeohashPrefixesInBbox:ox},Symbol.toStringTag,{value:"Module"})),lx=new WeakMap;function ux(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=lx.get(t);i||(i=new Map,lx.set(t,i)),i.set(e,n)}(t,e,r)}function cx(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function hx(t,e){let n=function(t,e){var n;let i=t.prototype;for(;i;){let t=null==(n=lx.get(i))?void 0:n.get(e);if(t)return t;i=i.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}class dx extends df{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void hx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#I=void hx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#M=void hx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void hx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Kw({modules:[nx]}),this.rs.access.claim("places","rw"),this.rs.caching.enable("/places/"),window.remoteStorage=this.rs,this.rs.on("ready",()=>{}),this.rs.scope("/places/").on("change",()=>{if(this.currentBbox){console.log("Reloading loaded prefixes due to change event");const t=ox(this.currentBbox);this.loadAllPlaces(t)}})}get places(){return this.rs.places}notifyChange(){this.version++}async loadPlacesInBounds(t){const e=ox(t).filter(t=>!this.loadedPrefixes.includes(t));0!==e.length&&(console.log("Loading new prefixes:",e),await this.loadAllPlaces(e),this.loadedPrefixes=[...this.loadedPrefixes,...e],this.currentBbox=t)}async loadAllPlaces(t=null){try{const e=await this.rs.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const t=new Set(this.savedPlaces.map(t=>t.id)),n=e.filter(e=>!t.has(e.id));this.savedPlaces=[...this.savedPlaces,...n]}else this.savedPlaces=e;else t||(this.savedPlaces=[]);console.log("Loaded saved places:",this.savedPlaces.length)}catch(e){console.error("Failed to load places:",e)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const px=Object.freeze(Object.defineProperty({__proto__:null,default:dx},Symbol.toStringTag,{value:"Module"}));function fx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const gx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:fx},Symbol.toStringTag,{value:"Module"}));function mx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function yx(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function _x(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var vx,bx,wx,xx,Sx;const Ex="undefined"!=typeof FastBoot,Cx="routeDidChange",kx=["separator","prepend","replace"];let Tx=(vx=hf("router"),bx=hf("-document"),wx=class extends df{constructor(t){if(super(t),yx(this,"router",xx,this),yx(this,"document",Sx,this),mx(this,"tokens",[]),mx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),mx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&kx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(Cx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!Ex)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew zx(t),Dx);const Nx=Object.freeze(Object.defineProperty({__proto__:null,default:Dx},Symbol.toStringTag,{value:"Module"}));var jx,Ux,Bx;let qx=(jx=hf("page-title"),Bx=_x((Ux=class extends Yv{constructor(t){super(t),yx(this,"tokens",Bx,this),mx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[jx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const Gx=Ai;class $x{capabilities=Ii();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}Gx(t=>new $x(t),class{constructor(t,e){Rw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Ii();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function Wx(t){return t.toString=()=>t.name,Gx(()=>Vx,t)}const Hx="add",Kx="remove",Xx="propertychange",Yx="change",Zx="contextmenu",Jx="click",Qx="keydown",tS="keypress",eS="touchmove",nS="wheel";class iS{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function rS(t,e){return t>e?1:te?-1:0}function oS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=dS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function vS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function bS(t,e,n,i){return vS(t,e,n,i,!0)}function wS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),gS(t))}class xS extends _S{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Yx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new PS(Hx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new PS(Kx,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new PS(Kx,n,t)),this.dispatchEvent(new PS(Hx,e,t))}updateLength_(){this.set(RS,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new OS(AS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==AS.POINTERUP||e.type==AS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=AS.POINTERDOWN&&e.type!=AS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new OS(AS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new OS(AS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(vS(t,AS.POINTERMOVE,this.handlePointerMove_,this),vS(t,AS.POINTERUP,this.handlePointerUp_,this),vS(this.element_,AS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(vS(this.element_.getRootNode(),AS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new OS(AS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new OS(AS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(wS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(eS,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(wS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(wS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const $S="postrender",VS="loadstart",WS="loadend",HS="layergroup",KS="size",XS="target",YS="view";function ZS(t,e){if(!t)throw new Error(e)}const JS=1/0;class QS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,gS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){ZS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=JS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Yx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Yx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const eE={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function nE(t,e,n){return Math.min(Math.max(t,e),n)}function iE(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return rE(t,e,n,i)}function rE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function sE(t){return 180*t/Math.PI}function oE(t){return t*Math.PI/180}function aE(t,e){const n=t%e;return n*e<0?n+e:n}function lE(t,e,n){return t+n*(e-t)}function uE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function cE(t,e){return Math.floor(uE(t,e))}function hE(t,e){return Math.ceil(uE(t,e))}function dE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=nE(i[0],d,p),y=nE(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function fE(t){return t}function gE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function SE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function EE(t){return SE(1/0,1/0,-1/0,-1/0,t)}function CE(t,e){const n=t[0],i=t[1];return SE(n,i,n,i,e)}function kE(t,e,n,i,r){return IE(EE(r),t,e,n,i)}function TE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function RE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function PE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function IE(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function WE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=$E(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function XE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];KE(t,e);const r=$E(i);if($E(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function YE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function ZE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function JE(t,e){if(e.canWrapX()){const n=$E(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||$E(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function QE(t){return Math.pow(t,3)}function tC(t){return 1-QE(1-t)}function eC(t){return 3*t*t-2*t*t*t}function nC(t){return t}function iC(t,e,n){n=n||6371008.8;const i=oE(t[1]),r=oE(e[1]),s=(r-i)/2,o=oE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function rC(...t){console.warn(...t)}const sC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class oC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||sC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const aC=6378137,lC=Math.PI*aC,uC=[-lC,-lC,lC,lC],cC=[-180,-85,180,85],hC=aC*Math.log(Math.tan(Math.PI/2));class dC extends oC{constructor(t){super({code:t,units:"m",extent:uC,global:!0,worldExtent:cC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/aC)}})}}const pC=[new dC("EPSG:3857"),new dC("EPSG:102100"),new dC("EPSG:102113"),new dC("EPSG:900913"),new dC("http://www.opengis.net/def/crs/EPSG/0/3857"),new dC("http://www.opengis.net/gml/srs/epsg.xml#3857")],fC=[-180,-90,180,90],gC=6378137*Math.PI/180;class mC extends oC{constructor(t,e){super({code:t,units:"degrees",extent:fC,axisOrientation:e,global:!0,metersPerUnit:gC,worldExtent:fC})}}const yC=[new mC("CRS:84"),new mC("EPSG:4326","neu"),new mC("urn:ogc:def:crs:OGC:1.3:CRS84"),new mC("urn:ogc:def:crs:OGC:2:84"),new mC("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new mC("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new mC("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let _C={},vC={};function bC(t,e,n){const i=t.getCode(),r=e.getCode();i in vC||(vC[i]={}),vC[i][r]=n}function wC(t,e){return t in vC&&e in vC[t]?vC[t][e]:null}const xC=.9996,SC=.00669438,EC=SC*SC,CC=EC*SC,kC=SC/(1-SC),TC=Math.sqrt(1-SC),RC=(1-TC)/(1+TC),PC=RC*RC,IC=PC*RC,MC=IC*RC,OC=MC*RC,AC=.9983242984503243,LC=15*EC/256+45*CC/1024,FC=35*CC/3072,zC=1.5*RC-27/32*IC+269/512*OC,DC=21/16*PC-55/32*MC,NC=151/96*IC-417/128*OC,jC=1097/512*MC,UC=6378137;function BC(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/xC/(UC*AC),s=r+zC*Math.sin(2*r)+DC*Math.sin(4*r)+NC*Math.sin(6*r)+jC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,c=u*u,h=c*c,d=1-SC*a,p=Math.sqrt(1-SC*a),f=kC*l**2,g=f*f,m=i/(UC/p*xC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-SC)/d)*(y/2-v/24*(5+3*c+10*f-4*g-9*kC))+b*m/720*(61+90*c+298*f+45*h-252*kC-3*g);let x=(m-_/6*(1+2*c+f)+b/120*(5-2*f+28*c-3*g+8*kC+24*h))/l;return x=dE(x+oE(GC(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function qC(t,e,n){t=dE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=oE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=oE(t),c=oE(GC(n.number)),h=UC/Math.sqrt(1-SC*r**2),d=kC*s**2,p=s*dE(u-c,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=UC*(AC*i-.002514607064228144*Math.sin(2*i)+LC*Math.sin(4*i)-FC*Math.sin(6*i)),b=xC*h*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*kC))+5e5;let w=xC*(v+h*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*kC)));return n.north||(w+=1e7),[b,w]}function GC(t){return 6*(t-1)-180+3}const $C=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function VC(t){let e=0;for(const r of $C){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function WC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a180)&&(e[0]=aE(n+180,360)-180),e}function sk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||ok(t,e)===ZC)&&n}function ok(t,e){const n=t.getCode(),i=e.getCode();let r=wC(n,i);if(r)return r;let s=null,o=null;for(const l of HC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=ak(s.inverse,o.forward);else{const t=wC(n,a);t&&(r=ak(t,o.forward))}else{const t=wC(a,i);t&&(r=ak(s.inverse,t))}return r&&(JC(t),JC(e),bC(t,e,r)),r}function ak(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function lk(t,e){return ok(QC(t),QC(e))}function uk(t,e,n){const i=lk(e,n);if(!i){const t=QC(e).getCode(),i=QC(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function ck(t,e,n,i){return HE(t,lk(e,n),void 0,i)}function hk(t){return t}function dk(t){return XC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(XC=!1,rC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function pk(t){return t}var fk,gk,mk;ek(pC),ek(yC),fk=pC,gk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;shC?n=hC:n<-hC&&(n=-hC),e[s+1]=n}return e},mk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return SS()}closestPointXY(t,e,n,i){return SS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Ik,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return SS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&EE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){SS()}scale(t,e,n){SS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return SS()}getType(){return SS()}applyTransform(t){SS()}intersectsExtent(t){return SS()}translate(t,e){SS()}transform(t,e){const n=QC(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);Sk(Pk,o[0],o[3],a,-a,0,0,0);const l=Tk(t,0,t.length,r,Pk,i),u=lk(n,e);return u?u(l,l,r):l}:lk(n,e);return this.applyTransform(i),this}}class Ok extends Mk{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return kE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return SS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)h=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function jk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],h=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(c=e,o=n)}o>r&&(l[(c-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=h):(s[o++]=a,s[o++]=l,u=a,c=l,a=n,l=h)}return s[o++]=a,s[o++]=l,o}function Jk(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function iT(t,e,n,i,r,s){if(0===n.length)return!1;if(!nT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(c+h)/2,iT(t,e,n,i,u,f)&&(m=u,y=r)),c=h}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function sT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||oT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=xE(t,e),s=xE(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],c=e[0],h=e[1],d=n[0],p=n[1],f=(p-h)/(d-c);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function lT(t,e,n,i,r){return!!(aT(t,e,n,i,r)||nT(t,e,n,i,r[0],r[1])||nT(t,e,n,i,r[0],r[3])||nT(t,e,n,i,r[2],r[1])||nT(t,e,n,i,r[2],r[3]))}function uT(t,e,n,i,r){if(!lT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function dT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sc&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?aE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&CT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],ZE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?hk(t,this.getProjection()):t}getCenterInternal(){return this.get(eE.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();ZS(e,"The view center is not defined");const n=this.getResolution();ZS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return ZS(void 0!==i,"The view rotation is not defined"),NE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(eE.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(pk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=$E(t)/e[0],i=UE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(eE.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=TT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=oS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=nE(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,nE(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(ZS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))ZS(!WE(t),"Cannot fit empty extent provided as `geometry`"),n=_T(pk(t,this.getProjection()));else if("Circle"===t.getType()){const e=pk(t.getExtent(),this.getProjection());n=_T(e),n.rotate(this.getRotation(),zE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let c=0,h=r.length;ct.trim().replace(/^['"]|['"]$/g,"")),n};function zT(t,e,n,i){let r;return r=n&&n.length?n.shift():NS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let DT;function NT(){return DT||(DT=zT(1,1)),DT}function jT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function UT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function BT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function qT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class GT extends TS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>fS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!uS(e,this.renderedAttributions_)){!function(t){for(;t.lastChild;)t.lastChild.remove()}(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:tC}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(RT);t||0!==n?t&&0!==n&&this.element.classList.remove(RT):this.element.classList.add(RT)}this.label_.style.transform=t}this.rotation_=n}}class WT extends GT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Jx,this.handleClick_.bind(this,n),!1);const c=document.createElement("button");c.className=r,c.setAttribute("type","button"),c.title=l,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const h=e+" "+PT+" "+IT,d=this.element;d.className=h,d.appendChild(u),d.appendChild(c),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:tC})):e.setZoom(i)}}}function HT(t){t=t||{};const e=new IS;return(void 0===t.zoom||t.zoom)&&e.push(new WT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new VT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new $T(t.attributionOptions)),e}class KT{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const XT="active";class YT extends TS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(XT)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(XT,t)}setMap(t){this.map_=t}}function ZT(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:tC})}class JT extends YT{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==AS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;ZT(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function QT(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==AS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==AS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function cR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class dR extends uR{constructor(t){t=t||{},super({stopDown:hS}),this.condition_=t.condition?t.condition:tR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!aR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===xT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!aR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!aR(t)||!iR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class pR extends iS{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new yT([n])}getGeometry(){return this.geometry_}}const fR="boxcancel";class gR extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class mR extends uR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new pR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??iR,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new gR("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new gR(e?"boxend":fR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new gR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gR(fR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new gR(fR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class yR extends mR{constructor(t){super({condition:(t=t||{}).condition?t.condition:sR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:tC})}}const _R="ArrowLeft",vR="ArrowRight",bR="ArrowDown";class wR extends YT{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return rR(t)&&oR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Qx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==bR||i==_R||i==vR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==bR?a=-s:i==_R?o=-s:i==vR?o=s:a=s;const l=[o,a];ZE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:nC,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class xR extends YT{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return zS?e.metaKey:e.ctrlKey}(t)&&oR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Qx||t.type==tS){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;ZT(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class SR extends YT{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:nR;this.condition_=t.onFocusOnly?QT(eR,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==nS)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-nE(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),ZT(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class ER extends uR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=hS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==xT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(cR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class CR extends uR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=hS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(cR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const kR="opacity",TR="visible",RR="extent",PR="zIndex",IR="maxResolution",MR="minResolution",OR="maxZoom",AR="minZoom",LR="source";class FR extends TS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[kR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[kR],"Layer opacity must be a number"),e[TR]=void 0===t.visible||t.visible,e[PR]=t.zIndex,e[IR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[MR]=void 0!==t.minResolution?t.minResolution:0,e[AR]=void 0!==t.minZoom?t.minZoom:-1/0,e[OR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=nE(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return SS()}getLayerStatesArray(t){return SS()}getExtent(){return this.get(RR)}getMaxResolution(){return this.get(IR)}getMinResolution(){return this.get(MR)}getMinZoom(){return this.get(AR)}getMaxZoom(){return this.get(OR)}getOpacity(){return this.get(kR)}getSourceState(){return SS()}getVisible(){return this.get(TR)}getZIndex(){return this.get(PR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(RR,t)}setMaxResolution(t){this.set(IR,t)}setMinResolution(t){this.set(MR,t)}setMaxZoom(t){this.set(OR,t)}setMinZoom(t){this.set(AR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(kR,t)}setVisible(t){this.set(TR,t)}setZIndex(t){this.set(PR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const zR="addlayer",DR="removelayer";class NR extends yS{constructor(t,e){super(t),this.layer=e}}const jR="layers";class UR extends FR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(jR,this.handleLayersChanged_),n?Array.isArray(n)?n=new IS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new IS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(wS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(vS(t,Hx,this.handleLayersAdd_,this),vS(t,Kx,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(wS);gS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof ET?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return WR(i,e.viewState)&&(!r||VE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof ET?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(wS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(wS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=vS(t,GR,this.handlePrecompose_,this),this.mapRenderKey_=vS(this,Yx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);ZS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(LR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function WR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function HR(t,e,n=0,i=t.length-1,r=XR){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);HR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(KR(t,n,e),r(t[i],s)>0&&KR(t,n,i);o0;)a--}0===r(t[n],s)?KR(t,n,a):(a++,KR(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function KR(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function XR(t,e){return te?1:0}let YR=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!lP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=uP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,JR(n,this.toBBox),JR(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=uP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,JR(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=QR(t,0,o,this.toBBox),a=QR(t,o,n,this.toBBox),l=oP(e,a),u=iP(e)+iP(a);l=e;l--){const e=t.children[l];tP(o,t.leaf?r(e):e),a+=rP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)tP(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():JR(t[n],this.toBBox)}};function ZR(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function uP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function cP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;HR(t,o,e,n,r),s.push(e,o,o,n)}}const hP=[NaN,NaN,NaN,0];let dP;const pP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,fP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,gP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,mP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function yP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function _P(t){throw new Error('failed to parse "'+t+'" as color')}function vP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(fP)||t.match(pP)||t.match(gP);if(e){const t=e[4],n=100/255;return[nE(yP(e[1],n)+.5|0,0,255),nE(yP(e[2],n)+.5|0,0,255),nE(yP(e[3],n)+.5|0,0,255),void 0!==t?nE(yP(t,100),0,1):1]}_P(t)}if(t.startsWith("#")){if(mP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function EP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function CP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function kP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function TP(t){const e=CP(t[0]),n=CP(t[1]),i=CP(t[2]),r=kP(.222488403*e+.716873169*n+.06060791*i),s=500*(kP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-kP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function RP(t){if("none"===t)return hP;if(bP.hasOwnProperty(t))return bP[t];if(wP>=1024){let t=0;for(const e in bP)3&t++||(delete bP[e],--wP)}const e=vP(t);4!==e.length&&_P(t);for(const n of e)isNaN(n)&&_P(t);return bP[t]=e,++wP,e}function PP(t){return Array.isArray(t)?t:RP(t)}function IP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function MP(t){return t[0]>0&&t[1]>0}function OP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let AP=0;const LP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function KI(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case qI:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case QP:return t=>t.geometryType;case JP:{const e=t.args.map(t=>tM(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case rI:return t=>t.resolution;case eI:case nI:case PI:case AI:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case AI:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case aI:case lI:case"<":case dI:case">":case cI:return function(t){const e=t.operator,n=tM(t.args[0]),i=tM(t.args[1]);switch(e){case aI:return t=>n(t)===i(t);case lI:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case cI:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case yI:case"%":case"^":case bI:case wI:case xI:case SI:case EI:case CI:case kI:case TI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case yI:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case bI:return t=>Math.abs(i[0](t));case wI:return t=>Math.floor(i[0](t));case xI:return t=>Math.ceil(i[0](t));case SI:return t=>Math.round(i[0](t));case EI:return t=>Math.sin(i[0](t));case CI:return t=>Math.cos(i[0](t));case kI:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case TI:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case OI:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?nM(i,r,s,o,e,l):eM(i,r,s,o,e,l);s=e,o=l}return o}}(t);case BI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===DP?IP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function eM(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function nM(t,e,n,i,r,s){if(0===r-n)return i;const o=TP(i),a=TP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=EP(e),s=EP(e+n/500*Math.cos(i)),o=EP(e-n/200*Math.sin(i)),a=SP(3.021973625*s-1.617392459*r-.404875592*o),l=SP(-.943766287*s+1.916279586*r+.027607165*o),u=SP(.069407491*s-.22898585*r+1.159737864*o);return[nE(a+.5|0,0,255),nE(l+.5|0,0,255),nE(u+.5|0,0,255),t[3]]}([eM(t,e,n,o[0],r,a[0]),eM(t,e,n,o[1],r,a[1]),o[2]+eM(t,e,n,0,r,l),eM(t,e,n,i[3],r,s[3])])}class iM extends _S{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Yx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;fS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||US&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function rM(t,e,n){return e+":"+t+":"+(n?PP(n):"null")}const sM=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=rM(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=rM(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=rM(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=NT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=NT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let oM=null;class aM extends _S{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){oM||(oM=zT(1,1,void 0,{willReadFrequently:!0})),oM.drawImage(this.image_,0,0);try{oM.getImageData(0,0,1,1),this.tainted_=!1}catch{oM=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Yx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=zT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&jS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=zT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:IP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Yx,e),t())};this.addEventListener(Yx,e)}})),this.ready_}}function lM(t,e,n,i,r,s){let o=void 0===e?void 0:sM.get(e,n,r);return o||(o=new aM(t,t&&"src"in t?t.src||void 0:e,n,i,r),sM.set(e,n,r,o,s)),s&&o&&!sM.getPattern(e,n,r)&&sM.set(e,n,r,o,s),o}function uM(t){return t?Array.isArray(t)?IP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return sM.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=sM.getPattern(e,void 0,t.color);if(n)return n;const i=sM.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=zT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),lM(r.canvas,e,void 0,2,t.color,!0),sM.getPattern(e,void 0,t.color)}(t):t:null}const cM="10px sans-serif",hM="#000",dM="round",pM=[],fM="round",gM="#000",mM="center",yM="middle",_M=[0,0,0,0],vM=new TS;let bM,wM=null;const xM={},SM=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function EM(t,e,n){return`${t} ${e} 16px "${n}"`}const CM=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=FT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=LT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=vM.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,RM(t,n)),0);return n[e]=i,i}class IM{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=OP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new IM({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return SS()}getImage(t){return SS()}getHitDetectionImage(){return SS()}getPixelRatio(t){return 1}getImageState(){return SS()}getImageSize(){return SS()}getOrigin(){return SS()}getSize(){return SS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=OP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class MM extends IM{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new MM({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=sM.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=zT(r,r);this.draw_(e,s,t),i=s.canvas,sM.set(n,null,null,new aM(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?CS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:PP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function LM(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class FM extends IM{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(ZS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||CS(s)),ZS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),ZS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?PP(t.color):null,this.iconImage_=lM(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(LM(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(LM(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new FM({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=lM(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Yx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Yx,t)}ready(){return this.iconImage_.ready()}}class zM{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new zM({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class DM{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=UM,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new DM({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=UM,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let NM=null;function jM(){if(!NM){const t=new AM({color:"rgba(255,255,255,0.4)"}),e=new zM({color:"#3399CC",width:1.25});NM=[new DM({image:new OM({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return NM}function UM(t){return t.getGeometry()}let BM=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=OP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new AM({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof AM?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=OP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function qM(){return!0}function GM(t){const e=KP(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=ZM(t,e+"fill-color",n)}if(!i)return null;const r=new AM;return function(t){const e=i(t);return e===hP?null:(r.setColor(e),r)}}function HM(t,e,n){const i=KM(t,e+"stroke-width",n),r=ZM(t,e+"stroke-color",n);if(!i&&!r)return null;const s=XM(t,e+"stroke-line-cap",n),o=XM(t,e+"stroke-line-join",n),a=JM(t,e+"stroke-line-dash",n),l=KM(t,e+"stroke-line-dash-offset",n),u=KM(t,e+"stroke-miter-limit",n),c=new zM;return function(t){if(r){const e=r(t);if(e===hP)return null;c.setColor(e)}if(i&&c.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");c.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");c.setLineJoin(e)}return a&&c.setLineDash(a(t)),l&&c.setLineDashOffset(l(t)),u&&c.setMiterLimit(u(t)),c}}function KM(t,e,n){if(!(e in t))return;const i=QI(t[e],FP,n);return function(t){return lO(i(t),e)}}function XM(t,e,n){if(!(e in t))return null;const i=QI(t[e],zP,n);return function(t){return aO(i(t),e)}}function YM(t,e,n){if(!(e in t))return null;const i=QI(t[e],LP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function ZM(t,e,n){if(!(e in t))return null;const i=QI(t[e],DP,n);return function(t){return uO(i(t),e)}}function JM(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){return oO(i(t),e)}}function QM(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){const n=oO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function tO(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP,n);return function(t){return cO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=QI(t[e],NP|FP,n);return function(t){return function(t,e){return"number"==typeof t?t:cO(t,e)}(i(t),e)}}function nO(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function iO(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function rO(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function sO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function oO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function cO(t,e){const n=oO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const hO="renderOrder";class dO extends VR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(hO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new YR(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(hO,t)}setStyle(t){this.style_=void 0===t?jM:t;const e=function(t){if(void 0===t)return jM;if(!t)return null;if("function"==typeof t)return t;if(t instanceof DM)return t;if(!Array.isArray(t))return $M([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof DM){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&WR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=c.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,cS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){sM.canExpireCache()&&t.postRenderFunctions.push(gO)}}function gO(){sM.expire()}class mO extends fO{constructor(t){super(t),this.fontChangeListenerKey_=vS(vM,Xx,t.redrawText,t),this.element_=NS?BT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=PT+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new pO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){wS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(GR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof dO&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),qT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...kk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function yO(t){t instanceof VR?t.setMapInternal(null):t instanceof UR&&t.getLayers().forEach(yO)}function _O(t,e){if(t instanceof VR)t.setMapInternal(e);else if(t instanceof UR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(NS?new IS:HT()),this.interactions=e.interactions||(NS?new IS:function(t){t=t||{};const e=new IS,n=new KT(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new dR),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new JT({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new hR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new ER),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new CR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new wR),e.push(new xR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new SR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new yR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new tE(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(HS,this.handleLayerGroupChanged_),this.addChangeListener(YS,this.handleViewChanged_),this.addChangeListener(KS,this.handleSizeChanged_),this.addChangeListener(XS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof ET||t.view.then(function(t){n.setView(new ET(t))}),this.controls.addEventListener(Hx,t=>{t.element.setMap(this)}),this.controls.addEventListener(Kx,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Hx,t=>{t.element.setMap(this)}),this.interactions.addEventListener(Kx,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Hx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener(Kx,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){_O(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:cS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof UR?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:cS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(XS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return hk(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?wk(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(HS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof IS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new NR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof ET)return void this.set(YS,t);this.set(YS,new ET);const e=this;t.then(function(t){e.setView(new ET(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(qT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!MP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&rC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&uS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};class bO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const wO=11,xO=[8],SO=[12],EO=[1],CO=[3];class kO extends bO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Vk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Vk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[wO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!uS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=yE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;mE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class TO extends kO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(EO),this.hitDetectionInstructions.push(EO);for(let l=0;l=t){const e=(t-a+h)/h,d=lE(n,u,e),p=lE(i,c,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function PO(t,e,n,i,r){let s,o,a,l,u,c,h,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,h=p,d=f),u=n,c=i}return _+=l,_>y?[v,o]:[g,m]}const IO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},MO={Circle:TO,Default:kO,Image:class extends kO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!vE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*c]&&o[2*(t+n)+1]===u[n*c+1];return i||--t,i})}this.saveTextStates_();const h=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=_M&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==_M?_M:p.map(function(t){return t*f}),h,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=h?h.slice(0):null;m&&(m[1]=hM),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?hM:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!VE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,I=[],M=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],M){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return I[0]=[t,e,(C-s)/2,O,r],I}for(let A=0,L=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const h=A;let d=0;for(;A{if("function"==typeof NT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function VO(t,e,n){return n%2==0&&(t+=e),t}class WO{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new FO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],c=a.justify?IO[a.justify]:GO(Array.isArray(t)?t[0]:t,a.textAlign||mM),h=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce($O,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,c=e.length;u<=c;u+=2){const h=e[u];if("\n"===h||u===c){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=RM(d,h);n.push(p),o+=p;const f=kM(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+h,v=[],b=(_+2)*u[0],w=(f+h)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",h),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-c;let E=c*_+S*h;const C=[],k=[];let T,R=0,P=0,I=0,M=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*h[0]+p[1],w=p[0]+v*h[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==c)&&(DO[0]=x,UO[0]=x,DO[1]=S,NO[1]=S,NO[0]=x+b,jO[0]=NO[0],jO[1]=S+w,UO[1]=jO[1]),0!==c?(E=Sk([1,0,0,1,0,0],n,i,1,1,c,-n,-i),wk(E,DO),wk(E,NO),wk(E,jO),wk(E,UO),SE(Math.min(DO[0],NO[0],jO[0],UO[0]),Math.min(DO[1],NO[1],jO[1],UO[1]),Math.max(DO[0],NO[0],jO[0],UO[0]),Math.max(DO[1],NO[1],jO[1],UO[1]),zO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),zO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:zO[0],minY:zO[1],maxX:zO[2],maxY:zO[3],value:g},canvasTransform:E,scale:h}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,DO,NO,jO,UO,s,o),function(t,e,n,i,r,s,o,a,l,u,c){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(c[0],c[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iL&&(this.fill_(t),R=0),P>L&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],c=u[T+1],h=u[T+2]-i,p=u[T+3]-c,j=Math.sqrt(h*h+p*p);t.moveTo(i+j,c),t.arc(i,c,j,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=F,d in I||(I[d]=[]);const G=I[d];q?q(u,T,f,2,G):(G[0]=u[T],G[1]=u[T+1],G.length=2),l&&(l.zIndex=n[6]),B(G,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let $=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,$=x.height,n[6]=$,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=_M,et=null,nt=null),K&&O?X+=M:K||O||(X-=M);let it=0;for(;T!KO.includes(t));class YO{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new WO(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(h[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(rS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=HO.length-1;m>=0;--m)if(d=HO[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,c),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return Tk(o,0,8,2,t,o),o}isEmpty(){return mS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?sS:rS),s=s||HO;const l=HO.length;for(let u=0,c=a.length;up.execute(t,e,n,i,r,o)):p.execute(h,e,n,i,r,o),d&&h.restore(),s){s.offset();const t=a[u]*l+HO.indexOf(c);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(rS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const ZO={};class JO extends bO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?uE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=Tk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,c=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:fM,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:uM(t||gM)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:uM(t||hM)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:dM,lineDash:i||pM,lineDashOffset:r||0,lineJoin:void 0!==s?s:fM,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:uM(t||gM)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),c=t.getTextAlign(),h=t.getTextBaseline();this.textState_={font:void 0!==i?i:cM,textAlign:void 0!==c?c:mM,textBaseline:void 0!==h?h:yM},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const QO=.5;function tA(t,e,n,i,r,s,o,a,l){const u=r,c=zT(t[0]*QO,t[1]*QO);c.imageSmoothingEnabled=!1;const h=c.canvas,d=new JO(c,QO,r,null,o,a,l?ok(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return h&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?aA(t,l,n,e,o):(0,nA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),h}function aA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return SS()}getData(t){return null}prepareFrame(t){return SS()}renderFrame(t,e){return SS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Yx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const uA=[];let cA=null;class hA extends lA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;cA||(cA=zT(1,1,void 0,{willReadFrequently:!0})),cA.clearRect(0,0,1,1);try{cA.drawImage(t,e,n,1,1,0,0,1,1),i=cA.getImageData(0,0,1,1).data}catch{return cA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&uS(PP(t.style.backgroundColor),PP(n)))){const e=t.firstElementChild;qT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=kk(t),i=kk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Ck[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=NS?BT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=zT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=qE(n),r=GE(n),s=FE(n),o=LE(n);wk(e.coordinateToPixelTransform,i),wk(e.coordinateToPixelTransform,r),wk(e.coordinateToPixelTransform,s),wk(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;wk(a,i),wk(a,r),wk(a,s),wk(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round($E(n)/i*s),a=Math.round(UE(n)/i*s);Sk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Ek(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new pO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(BR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(qR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new FO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(BR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(qR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,c=-u,h=-t[0]+o,d=-t[1];return Sk(this.tempTransform,a,l,u,c,-n,h,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class dA extends hA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),c=this.getLayer().getSource(),h=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round($E(i)/o*d),y=Math.round(UE(i)/o*d),_=c.getWrapX()&&a.canWrapX(),v=_?$E(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?HO:n?KO:XO,n?h&&e.declutter[h]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*QO,u=t[1]*QO;a.push(this.getRenderTransform(e,n,i,QO,l,u,0).slice());const c=o.getSource(),h=r.getExtent();if(c.getWrapX()&&r.canWrapX()&&!bE(h,s)){let t=s[0];const r=$E(h);let o,c=0;for(;th[2];)++c,o=r*c,a.push(this.getRenderTransform(e,n,i,QO,l,u,o).slice()),t-=r}this.hitDetectionImageData_=tA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,rA(n,this.renderedPixelRatio_),null)}e(eA(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=CS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,c=l.resolution,h=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=iA);const g=l.center.slice(),m=mE(a,p*c),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=$E(v),e=Math.max($E(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,JE(g,u);const n=KE(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==c&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&bE(this.wrappedRenderedExtent_,m))return uS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new OO(sA(c,h),m,c,h);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,c)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function gA(t,e){return function(n,i,r,s,o){fA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function mA(){return[[-1/0,-1/0,1/0,1/0]]}function yA(t){return[t]}class _A extends TS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new _A(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(wS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=vS(t,Yx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(ZS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function vA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(c,h);d<0?(l=(h-c[-d-2])/(c[-d-1]-c[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let c=0;c>1;rt.clone())}class EA extends Ok{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){lS(this.flatCoordinates,t),this.changed()}clone(){const t=new EA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i<_E(this.getExtent(),t,e)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Nk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Uk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return oT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinateAtM(t,e){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(e=void 0!==e&&e,wA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Vk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return bA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return AO(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(t){const e=[];return e.length=Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new EA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return aT(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,this.getExtent())}setCoordinates(t,e){this.setLayout(e,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=qk(this.flatCoordinates,0,t,this.stride),this.changed()}}class CA extends Ok{constructor(t,e,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(t[0]))this.setCoordinates(t,e);else if(void 0!==e&&n)this.setFlatCoordinates(e,t),this.ends_=n;else{const e=t,n=[],i=[];for(let t=0,s=e.length;t{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Kk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Xk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new PA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}PA.prototype.getFlatCoordinates=PA.prototype.getOrientedFlatCoordinates;class IA{constructor(t){this.rbush_=new YR(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[CS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const AA="addfeature",LA="removefeature";class FA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class zA extends MA{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=dS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(ZS(this.format_,"`format` must be set when `url` is set"),this.loader_=gA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:mA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new IA:null,this.loadedExtentsRtree_=new IA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new IS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=CS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new FA(AA,t))}setupChangeEvents_(t,e){e instanceof PA||(this.featureChangeKeys_[t]=[vS(e,Yx,this.handleFeatureChange_,this),vS(e,Xx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof PA){const i=this.idIndex_[t];i instanceof PA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(ZS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener(Kx,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(wS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new FA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof PA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof PA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),mS(this.nullGeometryFeatures_)||lS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=XE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||cS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof PA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new FA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new FA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(TE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function jA(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const sL=[qA,GA,$A,VA,WA,HA,ZA,KA,iL(XA),JA,tL,QA,eL,nL];function oL(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!oL(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of sL)if(!oL(t,e))return null}return`Expected ${rL(t)} but found ${rL(e)} instead.`}function aL(t,e){return e.some(e=>e.kind===t.kind)}function lL(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function uL(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const cL=.96422,hL=.82521,dL=4/29,pL=6/29,fL=3*pL*pL,gL=pL*pL*pL,mL=Math.PI/180,yL=180/Math.PI;function _L(t){return(t%=360)<0&&(t+=360),t}function vL([t,e,n,i]){let r,s;const o=wL((.2225045*(t=bL(t))+.7168786*(e=bL(e))+.0606169*(n=bL(n)))/1);t===e&&e===n?r=s=o:(r=wL((.4360747*t+.3850649*e+.1430804*n)/cL),s=wL((.0139322*t+.0971045*e+.7141733*n)/hL));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function bL(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function wL(t){return t>gL?Math.pow(t,1/3):t/fL+dL}function xL([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*EL(r),s=cL*EL(s),o=hL*EL(o),[SL(3.1338561*s-1.6168667*r-.4906146*o),SL(-.9787684*s+1.9161415*r+.033454*o),SL(.0719453*s-.2289914*r+1.4052427*o),i]}function SL(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function EL(t){return t>pL?t*t*t:fL*(t-dL)}const CL=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function kL(t,e){return CL(t,e)?t[e]:void 0}function TL(t){return parseInt(t.padEnd(2,t),16)/255}function RL(t,e){return PL(e?t/100:t,0,1)}function PL(t,e,n){return Math.min(Math.max(e,t),n)}function IL(t){return!t.some(Number.isNaN)}const ML={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function OL(t,e,n){return t+n*(e-t)}function AL(t,e,n){return t.map((t,i)=>OL(t,e[i],n))}class LL{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof LL)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=kL(ML,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[TL(t.slice(n,n+=e)),TL(t.slice(n,n+=e)),TL(t.slice(n,n+=e)),TL(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,c,h,d]=n,p=[r||" ",a||" ",c].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[PL(+e/n,0,1),PL(+s/n,0,1),PL(+l/n,0,1),h?RL(+h,d):1];if(IL(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,c=[i||" ",s||" ",a].join("");if(" "===c||" /"===c||",,"===c||",,,"===c){const t=[+e,PL(+r,0,100),PL(+o,0,100),l?RL(+l,u):1];if(IL(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=_L(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new LL(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=vL(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?_L(Math.atan2(i,n)*yL):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",vL(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=AL(t.rgb,e.rgb,n);return new LL(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,c]=e.hcl;let h,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?h=NaN:(h=a,1!==s&&0!==s||(d=l)):(h=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),h=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*mL,xL([n,Math.cos(t)*e,Math.sin(t)*e,i])}([h,null!=d?d:OL(r,l,n),OL(s,u,n),OL(o,c,n)]);return new LL(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=xL(AL(t.lab,e.lab,n));return new LL(i,r,s,o,!1)}}}}LL.black=new LL(0,0,0,1),LL.white=new LL(1,1,1,1),LL.transparent=new LL(0,0,0,0),LL.red=new LL(1,0,0,1);class FL{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const zL=["bottom","center","top"];class DL{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class NL{constructor(t){this.sections=t}static fromString(t){return new NL([new DL(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof NL?t:NL.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class jL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof jL)return t;if("number"==typeof t)return new jL([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new jL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new jL(AL(t.values,e.values,n))}}class UL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof UL)return t;if("number"==typeof t)return new UL([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new UL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new UL(AL(t.values,e.values,n))}}class BL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof BL)return t;if("string"==typeof t){const e=LL.parse(t);if(!e)return;return new BL([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=LL.parse(n);if(!t)return;e.push(t)}return new BL(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function KL(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof WL||t instanceof LL||t instanceof FL||t instanceof NL||t instanceof jL||t instanceof UL||t instanceof BL||t instanceof $L||t instanceof VL)return!0;if(Array.isArray(t)){for(const e of t)if(!KL(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!KL(t[e]))return!1;return!0}return!1}function XL(t){if(null===t)return qA;if("string"==typeof t)return $A;if("boolean"==typeof t)return VA;if("number"==typeof t)return GA;if(t instanceof LL)return WA;if(t instanceof WL)return HA;if(t instanceof FL)return YA;if(t instanceof NL)return ZA;if(t instanceof jL)return JA;if(t instanceof UL)return tL;if(t instanceof BL)return QA;if(t instanceof $L)return nL;if(t instanceof VL)return eL;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=XL(i);if(n){if(n===t)continue;n=XA;break}n=t}return iL(n||XA,e)}return KA}function YL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof LL||t instanceof WL||t instanceof NL||t instanceof jL||t instanceof UL||t instanceof BL||t instanceof $L||t instanceof VL?t.toString():JSON.stringify(t)}class ZL{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!KL(t[1]))return e.error("invalid value");const n=t[1];let i=XL(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new ZL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const JL={string:$A,number:GA,boolean:VA,object:KA};class QL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in JL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=JL[n],i++}else r=XA;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=iL(r,s)}else{if(!JL[r])throw new Error(`Types doesn't contain name = ${r}`);n=JL[r]}const s=[];for(;it.outputDefined())}}const tF={"to-boolean":VA,"to-color":WA,"to-number":GA,"to-string":$A};class eF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!tF[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=tF[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:HL(e[0],e[1],e[2],e[3]),!n))return new LL(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new qL(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=jL.parse(e);if(i)return i}throw new qL(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=UL.parse(e);if(i)return i}throw new qL(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=BL.parse(e);if(i)return i}throw new qL(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=$L.parse(e);if(i)return i}throw new qL(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new qL(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return NL.fromString(YL(this.args[0].evaluate(t)));case"resolvedImage":return VL.fromString(YL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return YL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const nF=["Unknown","Point","LineString","Polygon"];class iF{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?nF[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=LL.parse(t),this._parseColorCache.set(t,e)),e}}class rF{constructor(t,e,n=[],i,r=new BA,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new QL(e,[t]):"coerce"===n?new eF(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof ZL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new iF;try{r=new ZL(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new rF(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new UA(n,t))}checkSubtype(t,e){const n=oL(t,e);return n&&this.error(n),n}}class sF{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new qL(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new qL(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class lF{constructor(t,e){this.type=VA,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,XA);return n&&i?aL(n.type,[VA,$A,GA,qA,XA])?new lF(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${rL(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!lL(e,["boolean","string","number","null"]))throw new qL(`Expected first argument to be of type boolean, string, number or null, but found ${rL(XL(e))} instead.`);if(!lL(n,["string","array"]))throw new qL(`Expected second argument to be of type array or string, but found ${rL(XL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class uF{constructor(t,e,n){this.type=GA,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,XA);if(!n||!i)return null;if(!aL(n.type,[VA,$A,GA,qA,XA]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${rL(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,GA);return r?new uF(n,i,r):null}return new uF(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!lL(e,["boolean","string","number","null"]))throw new qL(`Expected first argument to be of type boolean, string, number or null, but found ${rL(XL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),lL(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(lL(n,["array"]))return n.indexOf(e,i);throw new qL(`Expected second argument to be of type array or string, but found ${rL(XL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class cF{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,XL(t)))return null}else n=XL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const c=e.parse(a,l,i);if(!c)return null;i=i||c.type,s.push(c)}const o=e.parse(t[1],1,XA);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new cF(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(XL(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class hF{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class dF{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,XA),i=e.parse(t[2],2,GA);if(!n||!i)return null;if(!aL(n.type,[iL(XA),$A,XA]))return e.error(`Expected first argument to be of type array or string, but found ${rL(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,GA);return r?new dF(n.type,n,i,r):null}return new dF(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),lL(e,["string"]))return[...e].slice(n,i).join("");if(lL(e,["array"]))return e.slice(n,i);throw new qL(`Expected first argument to be of type array or string, but found ${rL(XL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function pF(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new qL("Input is not a number.");o=a-1}return 0}class fF{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,GA);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new fF(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[pF(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function gF(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var mF,yF,_F=function(){if(yF)return mF;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return yF=1,mF=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},mF}(),vF=gF(_F);class bF{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=wF(e,t.base,n,i);else if("linear"===t.name)r=wF(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new vF(s[0],s[1],s[2],s[3]).solve(wF(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,GA),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==QA?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=WA;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return uL(a,GA)||uL(a,HA)||uL(a,WA)||uL(a,JA)||uL(a,tL)||uL(a,QA)||uL(a,nL)||uL(a,iL(GA))?new bF(a,n,i,r,o):e.error(`Type ${rL(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=pF(e,i),o=e[s],a=e[s+1],l=bF.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),c=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return OL(u,c,l);case"color":return LL.interpolate(u,c,l);case"padding":return jL.interpolate(u,c,l);case"colorArray":return BL.interpolate(u,c,l);case"numberArray":return UL.interpolate(u,c,l);case"variableAnchorOffsetCollection":return $L.interpolate(u,c,l);case"array":return AL(u,c,l);case"projectionDefinition":return WL.interpolate(u,c,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return LL.interpolate(u,c,l,"hcl");case"colorArray":return BL.interpolate(u,c,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return LL.interpolate(u,c,l,"lab");case"colorArray":return BL.interpolate(u,c,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function wF(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class xF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>oL(i,t.type));return new xF(s?XA:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof VL&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function SF(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function EF(t,e,n,i){return 0===i.compare(e,n)}function CF(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=VA,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,XA);if(!s)return null;if(!SF(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${rL(s.type)}'.`);let o=e.parse(t[2],2,XA);if(!o)return null;if(!SF(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${rL(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${rL(s.type)}' and '${rL(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new QL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new QL(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,YA),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=XL(s),n=XL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new qL(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=XL(s),n=XL(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const kF=CF("==",function(t,e,n){return e===n},EF),TF=CF("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!EF(0,e,n,i)}),RF=CF("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),IF=CF("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),MF=CF(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class OF{constructor(t,e,n){this.type=YA,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,VA);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,VA);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,$A),!s)?null:new OF(i,r,s)}evaluate(t){return new FL(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class AF{constructor(t,e,n,i,r){this.type=$A,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,GA);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,$A),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,$A),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,GA),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,GA),!a)?null:new AF(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class LF{constructor(t){this.type=ZA,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,GA),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,iL($A)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,WA),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!zL.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,$A),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,XA);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new LF(i)}evaluate(t){return new NL(this.sections.map(e=>{const n=e.content.evaluate(t);return XL(n)===eL?new DL("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new DL(YL(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class FF{constructor(t){this.type=eL,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,$A);return n?new FF(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=VL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class zF{constructor(t){this.type=GA,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${rL(n.type)} instead.`):new zF(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new qL(`Expected value to be of type string or array, but found ${rL(XL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const DF=8192;function NF(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*DF),Math.round(i*s*DF)]}function jF(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/DF+e.x)/n,360*r-180),(i=(t[1]/DF+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function UF(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function BF(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function qF(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function GF(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function $F(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!YF(t,e,n,i)||!YF(n,i,t,e));var s,o}function VF(t,e,n){for(const i of n)for(let n=0;n0&&h<0||c<0&&h>0}function ZF(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}UF(e,t)}function tz(t,e,n,i){const r=Math.pow(2,i.z)*DF,s=[i.x*DF,i.y*DF],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];QF(i,e,n,r),o.push(i)}return o}function ez(t,e,n,i){const r=Math.pow(2,i.z)*DF,s=[i.x*DF,i.y*DF],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];UF(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)QF(i,e,n,r)}return o}class nz{constructor(t,e){this.type=VA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(KL(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new nz(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new nz(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new nz(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=ZF(e.coordinates,i,r),o=tz(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!WF(t,s))return!1}if("MultiPolygon"===e.type){const s=JF(e.coordinates,i,r),o=tz(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!HF(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=ZF(e.coordinates,i,r),o=ez(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!KF(t,s))return!1}if("MultiPolygon"===e.type){const s=JF(e.coordinates,i,r),o=ez(t.geometry(),n,i,r);if(!BF(n,i))return!1;for(const t of o)if(!XF(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class iz{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function rz(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=c/this.kx*d,u+=h/this.ky*d)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const p=c*c+h*h;p180;)t-=360;return t}}function uz(t,e){return e[0]-t[0]}function cz(t){return t[1]-t[0]+1}function hz(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=cz(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function pz(t,e){if(!hz(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)UF(n,t[i]);return n}function fz(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)UF(e,t);return e}function gz(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function mz(t,e,n){if(!gz(t)||!gz(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(BF(r,s)){if(Sz(t,e))return 0}else if(Sz(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(cz(l)<=u){if(!hz(l,t.length))return NaN;if(e){const e=xz(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=wz(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=dz(l,e);Cz(o,s,i,t,a,n[0]),Cz(o,s,i,t,a,n[1])}}return s}function Rz(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new iz([[0,[0,t.length-1],[0,n.length-1]]],uz);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],c=e?50:100,h=i?50:100;if(cz(l)<=c&&cz(u)<=h){if(!hz(l,t.length)&&hz(u,n.length))return NaN;let s;if(e&&i)s=vz(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=yz(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=yz(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=bz(t,l,n,u,r),o=Math.min(o,s)}else{const s=dz(l,e),c=dz(u,i);kz(a,o,r,t,n,s[0],c[0]),kz(a,o,r,t,n,s[0],c[1]),kz(a,o,r,t,n,s[1],c[0]),kz(a,o,r,t,n,s[1],c[1])}}return o}function Pz(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class Iz{constructor(t,e){this.type=GA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(KL(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Iz(e,e.features.map(t=>Pz(t.geometry)).flat());if("Feature"===e.type)return new Iz(e,Pz(e.geometry));if("type"in e&&"coordinates"in e)return new Iz(e,Pz(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>jF([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new lz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Rz(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Rz(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,Tz(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>jF([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new lz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Rz(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Rz(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,Tz(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=rz(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>jF([e.x,e.y],t.canonical)))),r=new lz(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,Tz([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,Tz(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,Ez(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class Mz{constructor(t){this.type=XA,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new Mz(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?kL(n,this.key):null}eachChild(){}outputDefined(){return!1}}const Oz={"==":kF,"!=":TF,">":PF,"<":RF,">=":MF,"<=":IF,array:QL,at:aF,boolean:QL,case:hF,coalesce:xF,collator:OF,format:LF,image:FF,in:lF,"index-of":uF,interpolate:bF,"interpolate-hcl":bF,"interpolate-lab":bF,length:zF,let:sF,literal:ZL,match:cF,number:QL,"number-format":AF,object:QL,slice:dF,step:fF,string:QL,"to-boolean":eF,"to-color":eF,"to-number":eF,"to-string":eF,var:oF,within:nz,distance:Iz,"global-state":Mz};class Az{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=Az.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new rF(e.registry,Nz,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(rL).join(", ")})`:`(${rL(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&Nz(t):n&&t instanceof ZL}),!!n&&jz(t)&&Bz(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function jz(t){if(t instanceof Az){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof nz)return!1;if(t instanceof Iz)return!1;let e=!0;return t.eachChild(t=>{e&&!jz(t)&&(e=!1)}),e}function Uz(t){if(t instanceof Az&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!Uz(t)&&(e=!1)}),e}function Bz(t,e){if(t instanceof Az&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!Bz(t,e)&&(n=!1)}),n}function qz(t){return{result:"success",value:t}}function Gz(t){return{result:"error",value:t}}function $z(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&XL(t)===KA}Az.register(Oz,{error:[{kind:"error"},[$A],(t,[e])=>{throw new qL(e.evaluate(t))}],typeof:[$A,[XA],(t,[e])=>rL(XL(e.evaluate(t)))],"to-rgba":[iL(GA,4),[WA],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[WA,[GA,GA,GA],Lz],rgba:[WA,[GA,GA,GA,GA],Lz],has:{type:VA,overloads:[[[$A],(t,[e])=>Fz(e.evaluate(t),t.properties())],[[$A,KA],(t,[e,n])=>Fz(e.evaluate(t),n.evaluate(t))]]},get:{type:XA,overloads:[[[$A],(t,[e])=>zz(e.evaluate(t),t.properties())],[[$A,KA],(t,[e,n])=>zz(e.evaluate(t),n.evaluate(t))]]},"feature-state":[XA,[$A],(t,[e])=>zz(e.evaluate(t),t.featureState||{})],properties:[KA,[],t=>t.properties()],"geometry-type":[$A,[],t=>t.geometryType()],id:[XA,[],t=>t.id()],zoom:[GA,[],t=>t.globals.zoom],"heatmap-density":[GA,[],t=>t.globals.heatmapDensity||0],elevation:[GA,[],t=>t.globals.elevation||0],"line-progress":[GA,[],t=>t.globals.lineProgress||0],accumulated:[XA,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[GA,Dz(GA),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[GA,Dz(GA),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:GA,overloads:[[[GA,GA],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[GA],(t,[e])=>-e.evaluate(t)]]},"/":[GA,[GA,GA],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[GA,[GA,GA],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[GA,[],()=>Math.LN2],pi:[GA,[],()=>Math.PI],e:[GA,[],()=>Math.E],"^":[GA,[GA,GA],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[GA,[GA],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))],log2:[GA,[GA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[GA,[GA],(t,[e])=>Math.sin(e.evaluate(t))],cos:[GA,[GA],(t,[e])=>Math.cos(e.evaluate(t))],tan:[GA,[GA],(t,[e])=>Math.tan(e.evaluate(t))],asin:[GA,[GA],(t,[e])=>Math.asin(e.evaluate(t))],acos:[GA,[GA],(t,[e])=>Math.acos(e.evaluate(t))],atan:[GA,[GA],(t,[e])=>Math.atan(e.evaluate(t))],min:[GA,Dz(GA),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[GA,Dz(GA),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[GA,[GA],(t,[e])=>Math.abs(e.evaluate(t))],round:[GA,[GA],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[GA,[GA],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[GA,[GA],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[VA,[$A,XA],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[VA,[XA],(t,[e])=>t.id()===e.value],"filter-type-==":[VA,[$A],(t,[e])=>t.geometryType()===e.value],"filter-<":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[VA,[$A,XA],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[VA,[XA],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[VA,[XA],(t,[e])=>e.value in t.properties()],"filter-has-id":[VA,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[VA,[iL($A)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[VA,[iL(XA)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[VA,[$A,iL(XA)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[VA,[$A,iL(XA)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:VA,overloads:[[[VA,VA],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[Dz(VA),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:VA,overloads:[[[VA,VA],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[Dz(VA),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[VA,[VA],(t,[e])=>!e.evaluate(t)],"is-supported-script":[VA,[$A],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[$A,[$A],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[$A,[$A],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[$A,Dz(XA),(t,e)=>e.map(e=>YL(e.evaluate(t))).join("")],"resolved-locale":[$A,[YA],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Vz{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new iF,this._defaultValue=e?function(t){if("color"===t.type&&$z(t.default))return new LL(0,0,0,0);switch(t.type){case"color":return LL.parse(t.default)||null;case"padding":return jL.parse(t.default)||null;case"numberArray":return UL.parse(t.default)||null;case"colorArray":return BL.parse(t.default)||null;case"variableAnchorOffsetCollection":return $L.parse(t.default)||null;case"projectionDefinition":return WL.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new qL(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function Wz(t,e){const n=new rF(Oz,Nz,[],e?function(t){const e={color:WA,string:$A,number:GA,enum:$A,boolean:VA,formatted:ZA,padding:JA,numberArray:tL,colorArray:QA,projectionDefinition:HA,resolvedImage:eL,variableAnchorOffsetCollection:nL};return"array"===t.type?iL(e[t.value]||XA,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?qz(new Vz(i,e)):Gz(n.errors)}class Hz{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Uz(e.expression),this.globalStateRefs=Zz(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class Kz{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Uz(e.expression),this.globalStateRefs=Zz(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?bF.interpolationFactor(this.interpolationType,t,e,n):0}}function Xz(t,e){const n=Wz(t,e);if("error"===n.result)return n;const i=n.value.expression,r=jz(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return Gz([new UA("","data expressions not supported")]);var s;const o=Bz(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return Gz([new UA("","zoom expressions not supported")]);const a=Yz(i);if(!a&&!o)return Gz([new UA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof UA)return Gz([a]);if(a instanceof bF&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return Gz([new UA("",'"interpolate" expressions cannot be used with this property')]);if(!a)return qz(new Hz(r?"constant":"source",n.value));const l=a instanceof bF?a.interpolation:void 0;return qz(new Kz(r?"camera":"composite",n.value,a.labels,l))}function Yz(t){let e=null;if(t instanceof sF)e=Yz(t.result);else if(t instanceof xF){for(const n of t.args)if(e=Yz(n),e)break}else(t instanceof fF||t instanceof bF)&&t.input instanceof Az&&"zoom"===t.input.name&&(e=t);return e instanceof UA||t.eachChild(t=>{const n=Yz(t);n instanceof UA?e=n:!e&&n?e=new UA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new UA("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function Zz(t,e=new Set){return t instanceof Mz&&e.add(t.key),t.eachChild(t=>{Zz(t,e)}),e}function Jz(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!Jz(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Qz={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function tD(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Jz(t)||(t=iD(t));const e=Wz(t,Qz);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:nD(t),getGlobalStateRefs:()=>Zz(e.value.expression)}}function eD(t,e){return te?1:0}function nD(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?rD(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(iD))):"all"===e?["all"].concat(t.slice(1).map(iD)):"none"===e?["all"].concat(t.slice(1).map(iD).map(aD)):"in"===e?sD(t[1],t.slice(2)):"!in"===e?aD(sD(t[1],t.slice(2))):"has"===e?oD(t[1]):"!has"!==e||aD(oD(t[1]));var n}function rD(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function sD(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(eD)]]:["filter-in-small",t,["literal",e]]}}function oD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function aD(t){return["!",t]}function lD(t){return"object"==typeof t?["literal",t]:t}function uD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function cD(t,e){const n=lD((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function hD(t,e,n){const i=fD(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(cD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)pD(i,t[0],t[1],!1);return i.push(cD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)pD(e,t[0],t[1],!0);return dD(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,lD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[uD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)pD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,lD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function dD(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function pD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function fD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function gD(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var yD={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},_D=" ",vD=/(italic|oblique)$/i,bD={};function wD(t,e,n){var i=bD[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,c=t.length;u1?h[h.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:yD[p],h.pop(),f&&p.startsWith(f)&&h.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=h.join(_D).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(_D)&&(g='"'+g+'"'),l.push(g)}i=bD[t]=[a,o,l]}return i[0]+_D+i[1]+_D+e+"px"+(n?"/"+n:"")+_D+i[2]}class xD extends iM{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class SD extends _S{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Yx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){SS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:QE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class ED extends SD{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,NS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=zT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(NS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[bS(i,"load",function(){o=!0,s||e()})];return i.src&&jS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(bS(i,"error",n)),function(){r=!1,a.forEach(wS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class CD{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function kD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new CD(t,e,n,i)}const TD=[];class RD extends SD{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=zT(1,1,TD)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=CS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(jT(this.context_),TD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let PD=class extends SD{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const ID="https://api.mapbox.com";function MD(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function OD(t,e,n){const i=MD(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${ID}/styles/v1/${r}/sprite?access_token=${e}`}function AD(t,e){const n=MD(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${ID}/styles/v1/${i}?&access_token=${e}`}const LD=["a","b","c","d"];function FD(t,e,n,i){const r=new URL(t,i||location.href),s=MD(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return LD.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const zD=Object.freeze({}),DD={},ND={};let jD=0;function UD(t){return t.id||(t.id=jD++),t.id}function BD(t){let e=DD[t.id];return e||(e={},DD[UD(t)]=e),e}function qD(t){return t*Math.PI/180}const GD=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function $D(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function VD(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return HD[e]=[r,a],a}function XD(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return KD("Style",t=AD(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(Gz){return Promise.reject(Gz)}}const YD={};function ZD(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=YD[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof PD)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};fS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();fS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=FD(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=KD("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),FD(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),FD(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));YD[i]=r}return r}function JD(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=$D(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,c=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function QD(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function tN(t,e,n){const i=$D(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const eN=Array(256).join(" ");function nN(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=eN.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let iN;function rN(){return iN||(iN=$D(1,1).getContext("2d")),iN}function sN(t,e){return rN().measureText(t).width+(t.length-1)*e}const oN={};function aN(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=rN();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(sN(t,i)<.35*r){const r=e>0?sN(l[e-1],i):1/0,s=e.7*r&&sN(s,i)<.6*r){const o=t.split(" "),a=o.pop();sN(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=nN(s,i),oN[r]=s}return s}vM.on("propertychange",()=>{for(const t in oN)delete oN[t]});const lN=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],uN={},cN={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},hN={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},dN={zoom:0,distanceFromCenter:0};let pN,fN;function gN(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||zD)[n];const r=mD[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in Oz);if(!s&&$z(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,lD(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],gD(t[1])]:[t[0],lD(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=LL.parse(i)),a[n]=function(){return i}}}var l;return a[n](dN,i,s)}function mN(t,e,n,i){return gN(t,"layout",`${n}-allow-overlap`,e,i)?gN(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function yN(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=tD(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](dN,n)}function _N(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}Az.register(Oz,{...Az.definitions,pitch:[{kind:"number"},[],()=>dN.pitch||90],"distance-from-center":[{kind:"number"},[],()=>dN.distanceFromCenter||0]});const vN=/\{[^{}}]*\}/g;function bN(t,e){return t.replace(vN,function(t){return e[t.slice(1,-1)]||""})}function wN(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const xN={};class SN{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=_A,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?QC(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=QC(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return SS()}readFeature(t,e){return SS()}readFeatures(t,e){return SS()}readGeometry(t,e){return SS()}readProjection(t){return SS()}writeFeature(t,e){return SS()}writeFeatures(t,e){return SS()}writeGeometry(t,e){return SS()}}function EN(t,e,n){const i=n?QC(n.featureProjection):null,r=n?QC(n.dataProjection):null;let s=t;if(i&&r&&!sk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(lk(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nkN({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return EN(new PA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(pT(t,0,e,n)||gT(t=t.slice(),0,e,n),t):(dT(t,0,e,n)||fT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function TN(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>TN(t,e));return new xA(n)}return EN(new(0,CN[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class RN extends SN{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(PN(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(PN(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(PN(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(PN(t))}readProjectionFromObject(t){return SS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return SS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return SS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return SS()}}function PN(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class IN extends RN{constructor(t){t=t||{},super(),this.dataProjection=QC(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=QC(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=MN(n.geometry);if(this.featureClass===PA)return kN({geometry:i,id:n.id,properties:n.properties},e);const r=new _A;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(TN(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*AN;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*AN;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return DN(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return DN(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&FN?FN.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&NN(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&NN(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,jN,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,UN,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,GN,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,BN,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,qN,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,$N,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,VN,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,WN,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,HN,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function DN(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function NN(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function jN(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>c&&(i.push(u),c=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>c&&(n.push(n[c],n[c+1]),u+=2)}}u>c&&(i.push(u),c=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===PA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=mT(a,l);t=e.length>1?new TA(a,"XY",e):new yT(a,"XY",l)}else t="Point"===u?new tT(a,"XY"):"LineString"===u?new EA(a,"XY"):"MultiPoint"===u?new kA(a,"XY"):"MultiLineString"===u?new CA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=EN(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=QC((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new zN(t),s=r.readFields(XN,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function ZN(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=UE(s),c=Math.floor(o.height*((s[3]-i[1])/u));return c<0||c>=o.height?null:this.getImageData(o,l,c)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,c=t.viewState,h=c.center,d=c.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=pk(l.extent,c.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=Sk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-h[0])/s,a*(h[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class tj extends VR{constructor(t){super(t=t||{})}}class ej extends tj{constructor(t){super(t)}createRenderer(){return new QN(this)}getData(t){return super.getData(t)}}function nj(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const ij=new Error("disposed"),rj=[256,256];class sj extends SD{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=nj(this.data_);return t?[t.width,t.height]:rj}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(ij),this.controller_=null),super.disposeInternal()}}let oj;const aj=[];function lj(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function uj(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function cj(t,e,n,i){const r=uk(n,e,t);let s=tk(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||vE(l,r)){const e=tk(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function hj(t,e,n,i,r,s,o,a,l,u,c,h,d){const p=zT(Math.round(n*t),Math.round(n*e),aj);if(h||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){RE(g,t.extent)});const y=n/i,_=(h?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=zT(Math.round($E(g)*y),Math.round(UE(g)*y),aj),h||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=$E(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=$E(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=qE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],c=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,c-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,c,0,0,x-d],[0,0,o,a,w-y],[0,0,u,c,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===oj){const t=zT(6,6,aj);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",lj(t,4,5,4,0),lj(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;oj=uj(e,0)||uj(e,4)||uj(e,8),jT(t),aj.push(t.canvas)}return oj}()||!h){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iwk(o,uk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):lk(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&$E(i)>=$E(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?$E(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?$E(this.targetProj_.getExtent()):null;const c=qE(n),h=GE(n),d=FE(n),p=LE(n),f=this.transformInv_(c),g=this.transformInv_(h),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(AE(n)/(s*s*256*256)))):0);if(this.addQuad_(c,h,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&c<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=$E(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&c&&(p=c>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!VE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(aE(r[0],h)+aE(o[0],h))/2-aE(i[0],h):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],c=this.transformInv_(u),h=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(h);this.addQuad_(t,e,u,h,r,s,c,d,l-1),this.addQuad_(h,u,n,i,d,c,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],c=this.transformInv_(u),h=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(h);this.addQuad_(t,u,h,i,r,c,d,a,l-1),this.addQuad_(u,e,n,h,c,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;PE(t,n[0]),PE(t,n[1]),PE(t,n[2])}),t}getTriangles(){return this.triangles_}}class pj extends SD{constructor(t,e,n,i,r,s,o,a,l,u,c,h){super(r,0,h),this.renderEdges_=void 0!==c&&c,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?BE(d,p):d;if(0===AE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?BE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=zE(n);let s=cj(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=cj(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new dj(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=nE(b[1],f[1],f[3]),b[3]=nE(b[3],f[1],f[3])):b=BE(b,f)),AE(b)){let n=0,i=0;t.canWrapX()&&(n=$E(m),i=Math.floor((b[0]-m[0])/n)),XE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=hj(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=vS(e,Yx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(wS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(wS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(jT(this.canvas_.getContext("2d")),aj.push(this.canvas_),this.canvas_=null),super.release()}}class fj{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof iS&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return ZS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return ZS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){ZS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function gj(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function mj(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function yj(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function _j(t,e,n){const i=t[n];return!!i&&i.delete(e)}function vj(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,pk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=BE(e,n))}return e}class bj extends hA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new CD(0,0,0,0),this.tempTileCoord_=gj(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new fj(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new fj(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=mj(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||sk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=wk(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!vE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),c=OP(a.getTileSize(u)),h=a.getResolution(u);let d;if(n instanceof ED||n instanceof pj)d=n.getImage();else{if(!(n instanceof sj))continue;if(d=nj(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/h-t[1]*c[0])),f=Math.floor(l*((r[1]-i[1])/h-t[2]*c[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=CS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const c=t.wantedTiles[u],h=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),h?h.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?jE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!yj(i,n,g))continue;const o=n.getKey();if(c[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=gj(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,h-1,x,S-1)},0),!(h in x))return this.container;const C=CS(this),k=t.time;for(const A of x[h]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){_j(x,A,h),t.animate=!0;continue}if(this.findAltTiles_(c,n,h+1,x))continue;const i=c.getMinZoom();for(let t=h-1;t>=i&&!this.findAltTiles_(c,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);Sk(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let I;P.sort(rS);const M=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=c.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=c.getTileCoordForCoordAndZ(qE(w),e),h=c.getTileCoordExtent(l),p=wk(this.tempTransform,[g*(h[0]-w[0])/d,g*(w[3]-h[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),c=l[2]-n[2],h=Math.round(p[1]-(c-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-c*o),m=a-d,y=h-g,_=1===P.length;let v=!1;I=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=M.length;t{const n=CS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof sj){if(l=nj(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),c=CS(this),h=e.layerStatesArray[e.layerIndex],d=h.opacity*(a?t.getAlpha(c,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==h.opacity?e.animate=!0:a&&t.endTransition(c)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=CS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const wj="preload",xj="useInterimTilesOnError";class Sj extends VR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(wj)}setPreload(t){this.set(wj,t)}getUseInterimTilesOnError(){return this.get(xj)}setUseInterimTilesOnError(t){this.set(xj,t)}getData(t){return super.getData(t)}}class Ej extends Sj{constructor(t){super(t)}createRenderer(){return new bj(this,{cacheSize:this.getCacheSize()})}}const Cj={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},kj={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Tj extends bj{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),c=!(a[0]||a[1]),h=u.getZForResolution(o,l.zDirection)===t;return c&&h?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),c=l.getTileGrid(),h=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=CS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!VE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=wk(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),c=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!c||c.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(c.tileCoord))&&JE(l,r);const h=CS(n),d=qE(a.getTileCoordExtent(c.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=c.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=c.hitDetectionImageData[h];if(!g){const t=OP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=tA(t,[this.getRenderTransform(a.getTileCoordCenter(c.wrappedTileCoord),o,0,QO,t[0]*QO,t[1]*QO,0)],f,n.getStyleFunction(),a.getTileCoordExtent(c.wrappedTileCoord),c.getReplayState(n).renderedResolution,e),c.hitDetectionImageData[h]=g}e(eA(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,KO,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=CS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,d=c.getTileCoordExtent(t.wrappedTileCoord),p=c.getTileCoordExtent(h,this.tempExtent)[0]-d[0];return vk(xk(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?kj[s].filter(t=>!KO.includes(t)):kj[s],u=e.viewState,c=u.rotation,h=r.getSource(),d=h.getTileGridForProjection(u.projection).getZForResolution(u.resolution,h.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=CS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let h=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new FO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){wS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class Mj extends yS{constructor(t,e){super(t),this.image=e}}class Oj extends MA{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[oS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||sk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&sk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&TE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Ij(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=zE(t),s=hE($E(t)/i,4),o=hE(UE(t)/i,4);return NE(r,i,0,[s+2*hE(0*s/2,4),o+2*hE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&bE(this.wantedExtent_,r)||bE(this.image.getExtent(),r))&&(this.wantedResolution_&&Pj(this.wantedResolution_)===s||Pj(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new iM(r,s,n,this.loader),this.image.addEventListener(Yx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new Mj(n,e))}}const Aj=[0,0,0];class Lj{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,ZS(function(t){const e=((t,e)=>e-t)||rS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new CD(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=kD(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class Uj extends yS{constructor(t,e){super(t),this.tile=e}}function Bj(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=mj(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=QC(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function iU(t,e){if(NS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class rU extends nU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:QC("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+CS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=QC("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=ok(e,n);i=HE(t.bounds,r)}const r=Nj(n),s=t.minzoom||0,o=zj({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=tU(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return VE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class sU extends eU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||Nj(e),i=t.tileGrid||zj({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:oU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:PD,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);mE(s,-a,s);const l=this.projection;e&&this.projection&&!sk(e,l)&&(s=ck(s,e,l));const u=this.tileGrid,c=u.getExtent();c&&BE(s,c,s);let h=a;e&&l&&!sk(e,l)&&(h=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(h,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Yx,t),0===n.loadingSourceTiles&&n.setState(mS(n.errorTileKeys)?2:3)}};s.addEventListener(Yx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{c=c&&!this.tileUrlFunction(t,i,l)})}const h=new RD(s,c?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return h.key=this.getKey(),h}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!sk(i,t))return Fj(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?h-A+d:d-A,O=Math.atan(Math.sqrt(I*I+M*M)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),L=Math.cos(O),F=255*q,j=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,D={r:(1-L)*v.r*j*255,g:(1-L)*v.g*j*255,b:(1-L)*v.b*j*255,a:(1-L)*v.a*j*255},z=Math.abs(((A+f)/Math.PI+.5)%2-1),N={r:(y.r*(1-z)+_.r*z)*F,g:(y.g*(1-z)+_.g*z)*F,b:(y.b*(1-z)+_.b*z)*F,a:(y.a*(1-z)+_.a*z)*F},T=4*(x*i+w),o[T]=D.r*(1-z)+N.r,o[T+1]=D.g*(1-z)+N.g,o[T+2]=D.b*(1-z)+N.b,o[T+3]=s[T+3]*e.opacity*j*Math.sin(B);return new ImageData(o,i,r)}function lU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let c,h,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(h=0;h<=l;++h)for(c=0;c<=a;++c){d=4*(h*i+c),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function hU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function dU(t,e,n){const i=new rU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=QC(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ik([n[0],n[1]],e),i=ik([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return QC(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,c=r.maxzoom||22,h={attributions:i.getAttributions(),projection:o,tileGrid:new Lj({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:uU(o,e.tileSize).slice(0,c+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?h.urls=r.tiles:h.url=r.tiles,h}function pU(t,e,n){return new Promise(function(i,r){ZD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=dU(t,e,n);s.tileLoadFunction=r,s.format=new KN({layerName:"mvt:layer"});const o=new sU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function fU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function gU(t,e,n){const i=new Ej;return function(t,e,n){return new Promise(function(i,r){ZD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new rU({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=dU(t,e,n).tileGrid,n.projection&&(s.projection=QC(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=fU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function mU(t,e,n){const i=n.projection?new IN({dataProjection:n.projection}):new IN,r=t.data,s={};if("string"==typeof r){const[s]=FD(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=fU(n);return s.replace(i,`${t.join(",")}`)},r=new zA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{KD("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:yA});return r.set("mapbox-source",t),r}const o=new zA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{KD("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new zA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function yU(t,e,n,i){const r=BD(t),s=t.layers,o=n.type,a=n.source||hU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=NS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new VR({source:new MA({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,dN.zoom=VD(e,n.resolutions||GD),dN.distanceFromCenter=0;const l=gN(r,"paint","background-color",zD,i);return void 0!==o["background-opacity"]&&(a=gN(r,"paint","background-opacity",zD,i)),"none"==s.visibility?void 0:_N(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Rj({declutter:!0,visible:!1});return pU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=gU(t,e,n);return new ej({source:new Vj({operationType:"image",operation:lU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){dN.zoom=VD(t.resolution,i.resolutions||GD),dN.distanceFromCenter=0;const e=t.data;e.saturation=gN(n,"paint","raster-saturation",zD,r),e.contrast=gN(n,"paint","raster-contrast",zD,r),e.brightnessHigh=gN(n,"paint","raster-brightness-max",zD,r),e.brightnessLow=gN(n,"paint","raster-brightness-min",zD,r),e.hueRotate=gN(n,"paint","raster-hue-rotate",zD,r)})):u=gU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){dN.zoom=n,dN.distanceFromCenter=0;const r=gN(t,"paint","raster-opacity",zD,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new pA({declutter:!0,source:mU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=gU(t,e,n);return new ej({source:new Vj({operationType:"image",operation:aU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=tk(i.projection||"EPSG:3857",t.resolution,zE(t.extent),"m"),dN.zoom=VD(t.resolution,i.resolutions||GD),dN.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*gN(n,"paint","hillshade-exaggeration",zD,r),e.sunAz=gN(n,"paint","hillshade-illumination-direction",zD,r),e.sunEl=35,e.opacity=.3,e.highlightColor=gN(n,"paint","hillshade-highlight-color",zD,r),e.shadowColor=gN(n,"paint","hillshade-shadow-color",zD,r),e.accentColor=gN(n,"paint","hillshade-accent-color",zD,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const c=a;return u&&u.set("mapbox-source",c),u}function _U(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,c=l.length;u0||n>0)&&t.setMaxResolution(Math.min(WD(Math.max(0,o-1e-12),GD),WD(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(WD(a,GD))}}else o>0&&t.setMaxResolution(WD(Math.max(0,o-1e-12),GD));c instanceof zA||c instanceof sU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:AD(s,a.accessToken),a=cU(s,a)),new Promise(function(n,i){XD(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof pA||t instanceof Rj))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const c=t instanceof Rj?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===c}).source,l=o),!o)return i(new Error(`No ${c} source found in the glStyle.`));function h(){if(!u)return Promise.resolve();if(t instanceof Rj)return pU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===oU&&n.setTileLoadFunction(e.getTileLoadFunction()),sk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(WD(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=mU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),h().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=QC(a.projection).getUnits();"m"!==t&&(r=GD.map(e=>e/sC[t]))}let s;const u=t.getSource();u instanceof sU&&u.format_ instanceof KN&&(s=u.format_.layerName_),p=function(t,e,n,i=GD,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");xN[function(t,e){return UD(t)+"."+CS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];fS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=jA(e.layers),c={},h=[],d={},p={},f=BD(e),g=function(t){let e=ND[t.id];return e||(e={},ND[UD(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=h.maxzoom)continue;const k=h.filter;if(!k||yN(x,k,T,g)){let i,u,g,b,w,x;const k=c.index;if(3==S&&("fill"==h.type||"fill-extrusion"==h.type))if(u=gN(h,"paint",h.type+"-opacity",T,f,R),h.type+"-pattern"in C){const t=gN(h,"paint",h.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?bN(t,m):t.toString(),n=wN(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new DM({fill:new AM}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=$D(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=_N(gN(h,"paint",h.type+"-color",T,f,R),u),h.type+"-outline-color"in C&&(w=_N(gN(h,"paint",h.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new DM({fill:i?new AM:void 0,stroke:w?new zM:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==h.type){i="line-pattern"in C?void 0:_N(gN(h,"paint","line-color",T,f,R),gN(h,"paint","line-opacity",T,f,R));const t=gN(h,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new DM({stroke:new zM}),v[P]=x),b=x.getStroke(),b.setLineCap(gN(h,"layout","line-cap",T,f,R)),b.setLineJoin(gN(h,"layout","line-join",T,f,R)),b.setMiterLimit(gN(h,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?gN(h,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let I,M,O,A,L,F,z,D,N,j=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=gN(h,"layout","icon-image",T,f,R);if(e){let i;I="string"==typeof e?bN(e,m):e.toString();const o=a?a(t,I):void 0,u=wN(I,l);if(r&&r[I]&&u||o){const t=gN(h,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(fN||(pN=[NaN,NaN],fN=new PA("Point",pN,[],2,{},void 0)),i=fN,pN[0]=n[0],pN[1]=n[1],"line"===gN(h,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=gN(h,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?gN(h,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=gN(h,"paint","icon-halo-color",T,f,R),s=gN(h,"paint","icon-halo-width",T,f,R);let a=`${I}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),M=d[a],!M){const l=mN(h,T,"icon",f);let c;"icon-offset"in E&&(c=gN(h,"layout","icon-offset",T,f,R).slice(0),c[0]*=e,c[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:c,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),M=new FM(n)}else{const o=r[I];let a,h,d;if(s)o.sdf?(a=JD(tN(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=JD(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=tN(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,h=[o.width,o.height],d=[o.x,o.y]}M=new FM({color:p,img:a,imgSize:u.size,size:h,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:c,declutterMode:l})}d[a]=M}}M&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x),x.setGeometry(i),M.setRotation(B+qD(gN(h,"layout","icon-rotate",T,f,R))),M.setOpacity(gN(h,"paint","icon-opacity",T,f,R)),M.setAnchor(hN[gN(h,"layout","icon-anchor",T,f,R)]),x.setImage(M),U=x.getText(),x.setText(void 0),x.setZIndex(k),j=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===h.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x);const t="circle-radius"in C?gN(h,"paint","circle-radius",T,f,R):5,e=_N(gN(h,"paint","circle-stroke-color",T,f,R),gN(h,"paint","circle-stroke-opacity",T,f,R)),n=gN(h,"paint","circle-translate",T,f,R),i=_N(gN(h,"paint","circle-color",T,f,R),gN(h,"paint","circle-opacity",T,f,R)),r=gN(h,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];M=d[s],M||(M=new OM({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new zM({width:r,color:e}):void 0,fill:i?new AM({color:i}):void 0,declutterMode:"none"}),d[s]=M),x.setImage(M),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),j=!0}if("text-field"in E){z=Math.round(gN(h,"layout","text-size",T,f,R));const t=gN(h,"layout","text-font",T,f,R);F=gN(h,"layout","text-line-height",T,f,R),L=wD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,z,F),L.includes("sans-serif")||(L+=",sans-serif"),D=gN(h,"layout","text-letter-spacing",T,f,R),N=gN(h,"layout","text-max-width",T,f,R);const n=gN(h,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=wD(o?o(i):i,z*(n.scale||1),F);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(nN(s,D),r),e;s=aN(s,r,N,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):bN(n,m).trim(),u=gN(h,"paint","text-opacity",T,f,R)}if(A&&u&&!O){j||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new DM,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=mN(h,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new BM({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=gN(h,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?nN(A,D):aN(A,L,N,D);if(U.setText(n),U.setFont(L),U.setRotation(qD(gN(h,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=gN(h,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=gN(h,"layout","text-anchor",T,f,R),r=j||1==S?"point":gN(h,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=gN(h,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=gN(h,"paint","text-halo-width",T,f,R);const a=gN(h,"layout","text-offset",T,f,R),l=gN(h,"paint","text-translate",T,f,R);let c=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=gN(h,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(qD(gN(h,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",c=-o-.5*(F-1)*z):0==i.indexOf("top")&&(p="top",c=o+.5*(F-1)*z),U.setTextBaseline(p);const g=gN(h,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*z+d+l[0]),U.setOffsetY(a[1]*z+c+l[1]),_.setColor(_N(gN(h,"paint","text-color",T,f,R),u)),U.setFill(_);const m=_N(gN(h,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*z;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=gN(h,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",h),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(NS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?h().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:OD(t,e,n)}];for(const i of t)i.url=OD(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=NS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){KD("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,KD("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=jA(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const h=r.getLayers();-1===h.getArray().indexOf(t)&&h.push(t),t.getSource()?c():t.once("change:source",c)})}class vU extends Dx{static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");mapInstance;bookmarkSource;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new UR;this.bookmarkSource=new zA;const n=new pA({source:this.bookmarkSource,style:new DM({image:new OM({radius:7,fill:new AM({color:"#ffcc33"}),stroke:new zM({color:"#fff",width:2})})}),zIndex:10});this.mapInstance=new vO({target:t,layers:[e,n],controls:HT({zoom:!1}),view:new ET({center:ik([99.05738,7.55087]),zoom:13,projection:"EPSG:3857"})}),function(t,e,n={}){let i,r;if(NS){if(!(t instanceof vO||t instanceof UR))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new vO({target:t}):t;{const t=e.startsWith("data:")?location.href:AD(e,n.accessToken);n=cU(t,n),i=new Promise(function(i,s){XD(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof vO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?QC(i.projection):s.getProjection();s=new ET(Object.assign(s.getProperties(),{maxResolution:GD[0]/sC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ik(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(GD[0]/sC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,c=[];for(let h=0,d=o.length;h{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e);this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()}),this.storage.rs.scope("/places/").on("change",t=>{console.log("RemoteStorage change detected:",t),this.handleMapMove()})});updateBookmarks=Wx(()=>{this.storage.version>=0&&this.handleMapMove()});async loadBookmarks(t=[]){try{t&&0!==t.length||(t=this.storage.savedPlaces),this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new _A({geometry:new tT(ik([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(e){console.error("Failed to load bookmarks:",e)}}handleMapMove=async()=>{if(!this.mapInstance)return;const t=this.mapInstance.getSize(),e=this.mapInstance.getView().calculateExtent(t),[n,i]=rk([e[0],e[1]]),[r,s]=rk([e[2],e[3]]),o={minLat:i,minLon:n,maxLat:s,maxLon:r};await this.storage.loadPlacesInBounds(o),this.loadBookmarks(this.storage.savedPlaces)};handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel);let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=rk(t.coordinate),[o,a]=s;try{const t=i?30:50;let e=await this.osm.getNearbyPois(a,o,t);e=e.map(t=>{const e=t.lat||t.center?.lat,n=t.lon||t.center?.lon;return{...t,_distance:e&&n?fx(a,o,e,n):9999}}).sort((t,e)=>t._distance-e._distance);let n=null;if(i&&e.length>0&&(n=e.find(t=>t.tags&&(t.tags.name===i||t.tags["name:en"]===i)),!n)){const t=e[0];if(t._distance<=20){const e=t.tags.amenity||t.tags.shop||t.tags.tourism;r&&e&&(r===e||e.includes(r))?(console.log("Heuristic match found (distance + type):",t),n=t):t._distance<=10&&(console.log("Heuristic match found (proximity):",t),n=t)}}this.args.onPlacesFound&&this.args.onPlacesFound(e,n)}catch(Gz){console.error("Failed to fetch POIs:",Gz)}};static{Di(Eg({id:"SKcemzjO",block:'[[[11,0],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const bU=Ay;function wU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:Ch(t)?0!==t.length:!!t}class xU extends Yv{compute(t){for(let e=0,n=t.length;e[V_,xU,bU],isStrictMode:!0}),this)}}class EU extends Yv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{cx(this.prototype,"showPlaces",[cc])}selectFromList(t){if(t){const e=t.id||t.osmId;e&&this.router.transitionTo("place",e)}}static{cx(this.prototype,"selectFromList",[cc])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{cx(this.prototype,"closeSidebar",[cc])}refreshBookmarks(){this.storage.notifyChange()}static{cx(this.prototype,"refreshBookmarks",[cc])}static{Di(Eg({id:"blSKCVz1",block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[qx,vU,EU,CU,SU],isStrictMode:!0}),this)}}const TU=Object.freeze(Object.defineProperty({__proto__:null,default:kU},Symbol.toStringTag,{value:"Module"}));class RU extends Zd{static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage")}const PU=Object.freeze(Object.defineProperty({__proto__:null,default:RU},Symbol.toStringTag,{value:"Module"}));class IU extends Dx{static{ux(this.prototype,"router",[hf])}#F=void hx(this,"router");static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#D=void hx(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{cx(this.prototype,"handleUpdate",[cc])}refreshMap(){this.storage.notifyChange()}static{cx(this.prototype,"refreshMap",[cc])}close(){this.router.transitionTo("index")}static{cx(this.prototype,"close",[cc])}static{Di(Eg({id:"UQo8iDu3",block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[SU],isStrictMode:!0}),this)}}const MU=Object.freeze(Object.defineProperty({__proto__:null,default:IU},Symbol.toStringTag,{value:"Module"}));class OU extends Zd{static{ux(this.prototype,"storage",[hf])}#L=void hx(this,"storage");static{ux(this.prototype,"osm",[hf])}#A=void hx(this,"osm");async model(t){const e=t.place_id;let n=this.storage.findPlaceById(e);if(n)return console.log("Found in bookmarks:",n.title),n;console.log("Not in bookmarks, fetching from OSM:",e);try{const t=await this.osm.getPoiById(e);if(t)return{title:t.tags.name||t.tags["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,tags:t.tags,url:t.tags.website,osmId:String(t.id),description:t.tags.description}}catch(i){console.error("Failed to fetch POI",i)}return null}}const AU=Object.freeze(Object.defineProperty({__proto__:null,default:OU},Symbol.toStringTag,{value:"Module"})),LU=Object.assign({},Mw,{"marco/app":t,"marco/config/environment":zw,"marco/deprecation-workflow":Nw,"marco/router":qw,"marco/services/osm":Gw,"marco/services/storage":px,"marco/utils/geo":gx,"marco/utils/geohash-coverage":ax,"marco/services/page-title":Rx,"marco/templates/application":TU,"marco/routes/application":PU,"marco/templates/place":MU,"marco/routes/place":AU},{});class FU{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const zU=/[ _]/g,DU=new FU(1e3,t=>{return(e=t,WU.get(e)).replace(zU,"-");var e}),NU=/^(\-|_)+(.)?/,jU=/(.)(\-|\_|\.|\s)+(.)?/g,UU=/(^|\/|\.)([a-z])/g,BU=new FU(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),qU=/([a-z\d])([A-Z]+)/g,GU=/\-|\s+/g,$U=new FU(1e3,t=>t.replace(qU,"$1_$2").replace(GU,"_").toLowerCase()),VU=/([a-z\d])([A-Z])/g,WU=new FU(1e3,t=>t.replace(VU,"$1_$2").toLowerCase());class HU{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class KU{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new HU)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,BU.get(a))};var a}resolveOther(t){XU("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),DU.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return XU(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function XU(t,e){if(!e)throw new Error(t)}const YU={};function ZU(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in YU)return;YU[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-BQKlU62x.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class JU extends Pw{modulePrefix=Fw.modulePrefix;podModulePrefix=Fw.podModulePrefix;Resolver=KU.withModules(LU);inspector=ZU(this)}JU.create(Fw.APP);export{to as $,Mr as A,is as B,cr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,Gr as P,Ds as Q,Tr as R,Ir as S,vs as T,ls as U,ms as V,_r as W,es as X,Ie as Y,lr as Z,hs as _,y as a,Tl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,zs as a9,Hv as aA,Ni as aB,Px as aC,Di as aD,U as aE,Ph as aF,ac as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,he as aN,g as aO,d as aP,m as aQ,p as aR,c as aS,f as aT,qt as aU,jt as aV,Nt as aW,Ht as aX,Vt as aY,Pl as aZ,Rl as a_,Cr as aa,Xs as ab,Ar as ac,Ms as ad,As as ae,Nr as af,kr as ag,vr as ah,eo as ai,Ns as aj,no as ak,er as al,tr as am,ys as an,xs as ao,Mt as ap,Ot as aq,St as ar,It as as,At as at,xt as au,zt as av,Ft as aw,cv as ax,xv as ay,Ci as az,v as b,$u as b$,Ll as b0,Vu as b1,Cl as b2,zl as b3,Ol as b4,Il as b5,Wu as b6,Vi as b7,N as b8,W as b9,W_ as bA,Kc as bB,kc as bC,xc as bD,Sc as bE,pc as bF,Cc as bG,_c as bH,fc as bI,Ic as bJ,Tc as bK,Pc as bL,vc as bM,gc as bN,dc as bO,bc as bP,wc as bQ,wl as bR,Fc as bS,Nl as bT,au as bU,hu as bV,pu as bW,Iu as bX,Bu as bY,Uu as bZ,Ul as b_,$ as ba,Ga as bb,ut as bc,j as bd,B as be,Bs as bf,M as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ct as br,st as bs,pt as bt,L as bu,et as bv,oh as bw,vw as bx,sh as by,Oc as bz,Re as c,bu as c0,uu as c1,Tu as c2,mu as c3,_u as c4,xu as c5,Gu as c6,qu as c7,fu as c8,Eu as c9,Su as ca,vu as cb,Iw as cc,fw as cd,Ah as ce,Dh as cf,hc as cg,Fl as ch,qc as ci,rc as cj,Lc as ck,oc as cl,aa as cm,pf as cn,qa as co,Hi as cp,Nx as cq,ji as cr,Gn as cs,$_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,cs as k,ws as l,Lr as m,Fs as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; diff --git a/dist/assets/main-CSfb0M2L.js b/dist/assets/main-CSfb0M2L.js deleted file mode 100644 index 545f19a..0000000 --- a/dist/assets/main-CSfb0M2L.js +++ /dev/null @@ -1,2 +0,0 @@ -const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return HU}},Symbol.toStringTag,{value:"Module"}));!function(){const t=document.createElement("link").relList;if(!(t&&t.supports&&t.supports("modulepreload"))){for(const t of document.querySelectorAll('link[rel="modulepreload"]'))e(t);new MutationObserver(t=>{for(const n of t)if("childList"===n.type)for(const t of n.addedNodes)"LINK"===t.tagName&&"modulepreload"===t.rel&&e(t)}).observe(document,{childList:!0,subtree:!0})}function e(t){if(t.ep)return;t.ep=!0;const e=function(t){const e={};return t.integrity&&(e.integrity=t.integrity),t.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),"use-credentials"===t.crossOrigin?e.credentials="include":"anonymous"===t.crossOrigin?e.credentials="omit":e.credentials="same-origin",e}(t);fetch(t.href,e)}}();const e="object"==typeof self&&null!==self&&self.Object===Object&&"undefined"!=typeof Window&&self.constructor===Window&&"object"==typeof document&&null!==document&&self.document===document&&"object"==typeof location&&null!==location&&self.location===location&&"object"==typeof history&&null!==history&&self.history===history&&"object"==typeof navigator&&null!==navigator&&self.navigator===navigator&&"string"==typeof navigator.userAgent,n=e?self:null,i=e?self.location:null,r=e?self.history:null,s=e?self.navigator.userAgent:"Lynx (textmode)",o=!(!e||"object"!=typeof chrome||"object"==typeof opera),a=!!e&&/Firefox|FxiOS/.test(s),l=Object.freeze(Object.defineProperty({__proto__:null,hasDOM:e,history:r,isChrome:o,isFirefox:a,location:i,userAgent:s,window:n},Symbol.toStringTag,{value:"Module"}));function u(t){return t&&t.Object===Object?t:void 0}const c=u((h="object"==typeof global&&global)&&void 0===h.nodeType?h:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var h;const d=function(t,e){return void 0===e?{imports:t,exports:t,lookup:t}:{imports:e.imports||t,exports:e.exports||t,lookup:e.lookup||t}}(c,c.Ember);function p(){return d.lookup}function f(t){d.lookup=t}const g={ENABLE_OPTIONAL_FEATURES:!1,EXTEND_PROTOTYPES:{Array:!1},LOG_STACKTRACE_ON_DEPRECATION:!0,LOG_VERSION:!0,RAISE_ON_DEPRECATION:!1,STRUCTURED_PROFILE:!1,_DEBUG_RENDER_TREE:!1,_ALL_DEPRECATIONS_ENABLED:!1,_OVERRIDE_DEPRECATION_VERSION:null,_DEFAULT_ASYNC_OBSERVERS:!1,_RERENDER_LOOP_LIMIT:1e3,EMBER_LOAD_HOOKS:{},FEATURES:{}};function m(){return g}(t=>{if("object"!=typeof t||null===t)return;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||"EXTEND_PROTOTYPES"===i||"EMBER_LOAD_HOOKS"===i)continue;let e=g[i];g[i]=!0===e?!1!==t[i]:!1===e?!0===t[i]:t[i]}let{EMBER_LOAD_HOOKS:e}=t;if("object"==typeof e&&null!==e)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let t=e[i];Array.isArray(t)&&(g.EMBER_LOAD_HOOKS[i]=t.filter(t=>"function"==typeof t))}let{FEATURES:n}=t;if("object"==typeof n&&null!==n)for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&(g.FEATURES[i]=!0===n[i])})(c.EmberENV);let y=()=>{},_=!1;function v(){return _}function b(t){_=Boolean(t)}const{toString:w}=Object.prototype,{toString:x}=Function.prototype,{isArray:S}=Array,{keys:E}=Object,{stringify:C}=JSON,k=100,T=/^[\w$]+$/;function R(t){return"number"==typeof t&&2===arguments.length?this:P(t,0)}function P(t,e,n){let i=!1;switch(typeof t){case"undefined":return"undefined";case"object":if(null===t)return"null";if(S(t)){i=!0;break}if(t.toString===w||void 0===t.toString)break;return t.toString();case"function":return t.toString===x?t.name?`[Function:${t.name}]`:"[Function]":t.toString();case"string":return C(t);default:return t.toString()}if(void 0===n)n=new WeakSet;else if(n.has(t))return"[Circular]";return n.add(t),i?function(t,e,n){if(e>4)return"[Array]";let i="[";for(let r=0;r=k){i+=`... ${t.length-k} more items`;break}i+=P(t[r],e,n)}return i+=" ]",i}(t,e+1,n):function(t,e,n){if(e>4)return"[Object]";let i="{",r=E(t);for(let s=0;s=k){i+=`... ${r.length-k} more keys`;break}let o=r[s];i+=`${I(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function I(t){return T.test(t)?t:C(t)}function M(t){let e=Object.create(null);e[t]=1;for(let n in e)if(n===t)return n;return t}function O(t){return null!==t&&("object"==typeof t||"function"==typeof t)}let A=0;function F(){return++A}const L="ember",z=new WeakMap,D=new Map,N=M(`__ember${Date.now()}`);function j(t,e=L){let n=e+F().toString();return O(t)&&z.set(t,n),n}function U(t){let e;if(O(t))e=z.get(t),void 0===e&&(e=`${L}${F()}`,z.set(t,e));else if(e=D.get(t),void 0===e){let n=typeof t;e="string"===n?`st${F()}`:"number"===n?`nu${F()}`:"symbol"===n?`sy${F()}`:`(${t})`,D.set(t,e)}return e}const B=void 0,q=/\.(_super|call\(this|apply\(this)/,G=Function.prototype.toString,$=G.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test(G.call(t))}:function(){return!0},V=new WeakMap,W=Object.freeze(function(){});function H(t){let e=V.get(t);return void 0===e&&(e=$(t),V.set(t,e)),e}V.set(W,!1);class K{listeners=void 0;observers=void 0}const X=new WeakMap;function Y(t){let e=X.get(t);return void 0===e&&(e=new K,X.set(t,e)),e}function Z(t){return X.get(t)}function J(t,e){Y(t).observers=e}function Q(t,e){Y(t).listeners=e}const tt=new WeakSet;function et(t,e){return H(t)?!tt.has(e)&&H(e)?nt(t,nt(e,W)):nt(t,e):t}function nt(t,e){function n(){let n=this._super;this._super=e;let i=t.apply(this,arguments);return this._super=n,i}tt.add(n);let i=X.get(t);return void 0!==i&&X.set(n,i),n}function it(t,e){let n=t;do{let t=Object.getOwnPropertyDescriptor(n,e);if(void 0!==t)return t;n=Object.getPrototypeOf(n)}while(null!==n);return null}let rt,st,ot;const at=[];function lt(t){return-1!==at.indexOf(t)}function ut(t){return M(`__${t}${N+Math.floor(Math.random()*Date.now()).toString()}__`)}const ct=Symbol,ht=Object.prototype.toString;function dt(t){return null==t}function pt(t){if("string"==typeof t)return t;if(null===t)return"null";if(void 0===t)return"undefined";if(Array.isArray(t)){let e="";for(let n=0;n0&&(e+=","),dt(t[n])||(e+=pt(t[n]));return e}return"function"==typeof t.toString?t.toString():ht.call(t)}let ft,gt,mt,yt,_t,vt,bt,wt,xt,St,Et=()=>{},Ct=new WeakMap;function kt(t,e){return null===t?e:Array.isArray(t)?(t.push(e),t):[t,e]}function Tt(t,e){Array.isArray(t)?t.forEach(e):null!==t&&e(t)}function Rt(t,e){if(Array.isArray(t)&&t.length>1){let n=t.indexOf(e);return t.splice(n,1),t}return null}function Pt(t){let e=Ct.get(t);return void 0===e&&(e={parents:null,children:null,eagerDestructors:null,destructors:null,state:0},Ct.set(t,e)),e}function It(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function Mt(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";return i[r]=kt(i[r],e),e}function Ot(t,e,n=!1){let i=Pt(t),r=n?"eagerDestructors":"destructors";i[r]=Rt(i[r],e)}function At(t){let e=Pt(t);if(e.state>=1)return;let{parents:n,children:i,eagerDestructors:r,destructors:s}=e;e.state=1,Tt(i,At),Tt(r,e=>{e(t)}),Tt(s,e=>{ft(t,e)}),gt(()=>{Tt(n,e=>{!function(t,e){let n=Pt(e);0===n.state&&(n.children=Rt(n.children,t))}(t,e)}),e.state=2})}function Ft(t){let e=Ct.get(t);return void 0!==e&&null!==e.children}function Lt(t){let e=Ct.get(t);return void 0!==e&&e.state>=1}function zt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Dt=Object.prototype;let Nt;const jt=ct("undefined");var Ut=function(t){return t[t.ADD=0]="ADD",t[t.ONCE=1]="ONCE",t[t.REMOVE=2]="REMOVE",t}(Ut||{});let Bt=1;class qt{_descriptors;_mixins;_isInit;_lazyChains;_values;_revisions;source;proto;_parent;_listeners;_listenersVersion=1;_inheritedEnd=-1;_flattenedVersion=0;constructor(t){this._parent=void 0,this._descriptors=void 0,this._mixins=void 0,this._lazyChains=void 0,this._values=void 0,this._revisions=void 0,this._isInit=!1,this.source=t,this.proto=void 0===t.constructor?void 0:t.constructor.prototype,this._listeners=void 0}get parent(){let t=this._parent;if(void 0===t){let e=Gt(this.source);this._parent=t=null===e||e===Dt?null:Ht(e)}return t}setInitializing(){this._isInit=!0}unsetInitializing(){this._isInit=!1}isInitializing(){return this._isInit}isPrototypeMeta(t){return this.proto===this.source&&this.source===t}_getOrCreateOwnMap(t){return this[t]||(this[t]=Object.create(null))}_getOrCreateOwnSet(t){return this[t]||(this[t]=new Set)}_findInheritedMap(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i){let t=i.get(e);if(void 0!==t)return t}n=n.parent}}_hasInInheritedSet(t,e){let n=this;for(;null!==n;){let i=n[t];if(void 0!==i&&i.has(e))return!0;n=n.parent}return!1}valueFor(t){let e=this._values;return void 0!==e?e[t]:void 0}setValueFor(t,e){this._getOrCreateOwnMap("_values")[t]=e}revisionFor(t){let e=this._revisions;return void 0!==e?e[t]:void 0}setRevisionFor(t,e){this._getOrCreateOwnMap("_revisions")[t]=e}writableLazyChainsFor(t){let e=this._getOrCreateOwnMap("_lazyChains"),n=e[t];return void 0===n&&(n=e[t]=[]),n}readableLazyChainsFor(t){let e=this._lazyChains;if(void 0!==e)return e[t]}addMixin(t){this._getOrCreateOwnSet("_mixins").add(t)}hasMixin(t){return this._hasInInheritedSet("_mixins",t)}forEachMixins(t){let e,n=this;for(;null!==n;){let i=n._mixins;void 0!==i&&(e=void 0===e?new Set:e,i.forEach(n=>{e.has(n)||(e.add(n),t(n))})),n=n.parent}}writeDescriptors(t,e){(this._descriptors||(this._descriptors=new Map)).set(t,e)}peekDescriptors(t){let e=this._findInheritedMap("_descriptors",t);return e===jt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,jt)}forEachDescriptors(t){let e,n=this;for(;null!==n;){let i=n._descriptors;void 0!==i&&(e=void 0===e?new Set:e,i.forEach((n,i)=>{e.has(i)||(e.add(i),n!==jt&&t(i,n))})),n=n.parent}}addToListeners(t,e,n,i,r){this.pushListener(t,e,n,i?Ut.ONCE:Ut.ADD,r)}removeFromListeners(t,e,n){this.pushListener(t,e,n,Ut.REMOVE)}pushListener(t,e,n,i,r=!1){let s=this.writableListeners(),o=Kt(s,t,e,n);if(-1!==o&&o0&&(t.splice(0,this._inheritedEnd),this._inheritedEnd=0);for(let n of e)-1===Kt(t,n.event,n.target,n.method)&&(t.unshift(n),this._inheritedEnd++)}}this._flattenedVersion=Bt}return this._listeners}matchingListeners(t){let e,n=this.flattenedListeners();if(void 0!==n)for(let i of n)i.event!==t||i.kind!==Ut.ADD&&i.kind!==Ut.ONCE||(void 0===e&&(e=[]),e.push(i.target,i.method,i.kind===Ut.ONCE));return e}observerEvents(){let t,e=this.flattenedListeners();if(void 0!==e)for(let n of e)n.kind!==Ut.ADD&&n.kind!==Ut.ONCE||-1===n.event.indexOf(":change")||(void 0===t&&(t=[]),t.push(n));return t}}const Gt=Object.getPrototypeOf,$t=new WeakMap;function Vt(t,e){$t.set(t,e)}function Wt(t){let e=$t.get(t);if(void 0!==e)return e;let n=Gt(t);for(;null!==n;){if(e=$t.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=Gt(n)}return null}const Ht=function(t){let e=Wt(t);if(null!==e&&e.source===t)return e;let n=new qt(t);return Vt(t,n),n};function Kt(t,e,n,i){for(let r=t.length-1;r>=0;r--){let s=t[r];if(s.event===e&&s.target===n&&s.method===i)return r}return-1}let Xt=1;const Yt=Symbol("TAG_COMPUTE");function Zt(t){return t[Yt]()}function Jt(t,e){return e>=t[Yt]()}Reflect.set(globalThis,"COMPUTE_SYMBOL",Yt);const Qt=Symbol("TAG_TYPE");class te{static combine(t){switch(t.length){case 0:return se;case 1:return t[0];default:{let e=new te(2);return e.subtag=t,e}}}constructor(t){this.revision=1,this.lastChecked=1,this.lastValue=1,this.isUpdating=!1,this.subtag=null,this.subtagBufferCache=null,this[Qt]=t}[Yt](){let{lastChecked:t}=this;if(this.isUpdating)this.lastChecked=++Xt;else if(t!==Xt){this.isUpdating=!0,this.lastChecked=Xt;try{let{subtag:t,revision:e}=this;if(null!==t)if(Array.isArray(t))for(const n of t){let t=n[Yt]();e=Math.max(t,e)}else{let n=t[Yt]();n===this.subtagBufferCache?e=Math.max(e,this.lastValue):(this.subtagBufferCache=null,e=Math.max(e,n))}this.lastValue=e}finally{this.isUpdating=!1}}return this.lastValue}static updateTag(t,e){let n=t,i=e;i===se?n.subtag=null:(n.subtagBufferCache=i[Yt](),n.subtag=i)}static dirtyTag(t,e){t.revision=++Xt,Et()}}const ee=te.dirtyTag,ne=te.updateTag;function ie(){return new te(0)}function re(){return new te(1)}const se=new te(3);function oe(t){return t===se}class ae{[Yt](){return NaN}constructor(){this[Qt]=100}}const le=new ae;class ue{[Yt](){return Xt}constructor(){this[Qt]=101}}const ce=new ue,he=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,he([pe,fe])),Zt(de),ee(pe),Zt(de),ee(fe),Zt(de),ne(de,fe),Zt(de),ee(fe),Zt(de);class ge{add(t){t!==se&&(this.tags.add(t),this.last=t)}combine(){let{tags:t}=this;return 0===t.size?se:1===t.size?this.last:he(Array.from(this.tags))}constructor(){this.tags=new Set,this.last=null}}let me=null;const ye=[];function _e(){ye.push(me),me=new ge}function ve(){let t=me;return me=ye.pop()||null,function(t){if(null==t)throw new Error("Expected value to be present");return t}(t).combine()}function be(){ye.push(me),me=null}function we(){me=ye.pop()||null}function xe(){return null!==me}function Se(t){null!==me&&me.add(t)}const Ee=Symbol("FN"),Ce=Symbol("LAST_VALUE"),ke=Symbol("TAG"),Te=Symbol("SNAPSHOT");function Re(t){return{[Ee]:t,[Ce]:void 0,[ke]:void 0,[Te]:-1}}function Pe(t){let e=t[Ee],n=t[ke],i=t[Te];if(void 0!==n&&Jt(n,i))Se(n);else{_e();try{t[Ce]=e()}finally{n=ve(),t[ke]=n,t[Te]=Zt(n),Se(n)}}return t[Ce]}function Ie(t){return oe(t[ke])}function Me(t){let e;_e();try{t()}finally{e=ve()}return e}function Oe(t){be();try{return t()}finally{we()}}const Ae=new Set([Symbol.iterator,"concat","entries","every","filter","find","findIndex","flat","flatMap","forEach","includes","indexOf","join","keys","lastIndexOf","map","reduce","reduceRight","slice","some","values"]),Fe=new Set(["fill","push","unshift"]);function Le(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class ze{#t;constructor(t,e){this.#e=re(),this.#n=new Map,this.#t=e;const n=t.slice(),i=this,r=new Map;let s=!1;return new Proxy(n,{get(t,e){const n=Le(e);if(null!==n)return i.#i(n),Se(i.#e),t[n];if("length"===e)return s?s=!1:Se(i.#e),t[e];if(Fe.has(e)&&(s=!0),Ae.has(e)){let n=r.get(e);return void 0===n&&(n=(...n)=>(Se(i.#e),t[e](...n)),r.set(e,n)),n}return t[e]},set(t,e,n){if(i.#t.equals(t[e],n))return!0;t[e]=n;const r=Le(e);return null!==r?(i.#r(r),i.#s()):"length"===e&&i.#s(),!0},getPrototypeOf:()=>ze.prototype})}#e;#n;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e),this.#n.clear()}}Object.setPrototypeOf(ze.prototype,Array.prototype);class De{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=t instanceof Map?new Map(t.entries()):new Map(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){let t=this.keys(),e=this;return{next(){let n=t.next(),i=n.value;return n.done?{value:[void 0,void 0],done:!0}:{value:[i,e.get(i)],done:!1}}}}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),n||ee(this.#e),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),this.#n.clear(),ee(this.#e),this.#o.clear())}}Object.setPrototypeOf(De.prototype,Map.prototype);class Ne{#t;#n;#e;#i(t){let e=this.#n.get(t);void 0===e&&(e=re(),this.#n.set(t,e)),Se(e)}#r(t){const e=this.#n.get(t);e&&ee(e)}#s(){ee(this.#e)}constructor(t,e){this.#n=new Map,this.#e=re(),this.#t=e;const n=Object.getPrototypeOf(t),i=Object.getOwnPropertyDescriptors(t),r=Object.create(n);for(const o in i)Object.defineProperty(r,o,i[o]);const s=this;return new Proxy(r,{get:(t,e)=>(s.#i(e),t[e]),has:(t,e)=>(s.#i(e),e in t),ownKeys:t=>(Se(s.#e),Reflect.ownKeys(t)),set:(t,e,n)=>(s.#t.equals(t[e],n)||(t[e]=n,s.#r(e),s.#s()),!0),deleteProperty:(t,e)=>(e in t&&(delete t[e],s.#r(e),s.#n.delete(e),s.#s()),!0),getPrototypeOf:()=>Ne.prototype})}}class je{#t;#e;#n;#o;#a(t){const e=this.#n;let n=e.get(t);return void 0===n&&(n=re(),e.set(t,n)),n}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#e=re(),this.#n=new Map,this.#o=new Set(t),this.#t=e}has(t){return Se(this.#a(t)),this.#o.has(t)}entries(){return Se(this.#e),this.#o.entries()}keys(){return Se(this.#e),this.#o.keys()}values(){return Se(this.#e),this.#o.values()}union(t){return Se(this.#e),this.#o.union(t)}intersection(t){return Se(this.#e),this.#o.intersection(t)}difference(t){return Se(this.#e),this.#o.difference(t)}symmetricDifference(t){return Se(this.#e),this.#o.symmetricDifference(t)}isSubsetOf(t){return Se(this.#e),this.#o.isSubsetOf(t)}isSupersetOf(t){return Se(this.#e),this.#o.isSupersetOf(t)}isDisjointFrom(t){return Se(this.#e),this.#o.isDisjointFrom(t)}forEach(t){Se(this.#e),this.#o.forEach(t)}get size(){return Se(this.#e),this.#o.size}[Symbol.iterator](){return Se(this.#e),this.#o[Symbol.iterator]()}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}add(t){if(this.#o.has(t)){if(this.#t.equals(t,t))return this}else ee(this.#e);return this.#r(t),this.#o.add(t),this}delete(t){return!this.#o.has(t)||(this.#r(t),ee(this.#e),this.#n.delete(t),this.#o.delete(t))}clear(){0!==this.#o.size&&(this.#n.forEach(t=>ee(t)),ee(this.#e),this.#n.clear(),this.#o.clear())}}Object.setPrototypeOf(je.prototype,Set.prototype);class Ue{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#o=t instanceof WeakMap?t:new WeakMap(t),this.#t=e}get(t){return Se(this.#a(t)),this.#o.get(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}set(t,e){let n=this.#o.get(t);return n&&this.#t.equals(n,e)||(this.#r(t),this.#o.set(t,e)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Ue.prototype,WeakMap.prototype);class Be{#t;#n;#o;#a(t){let e=this.#n.get(t);return void 0===e&&(e=re(),this.#n.set(t,e)),e}#r(t){const e=this.#n.get(t);e&&ee(e)}constructor(t,e){this.#n=new WeakMap,this.#t=e,this.#o=new WeakSet(t)}has(t){return Se(this.#a(t)),this.#o.has(t)}add(t){return this.#o.has(t)&&this.#t.equals(t,t)||(this.#o.add(t),this.#r(t)),this}delete(t){return!this.#o.has(t)||(this.#r(t),this.#n.delete(t),this.#o.delete(t))}get[Symbol.toStringTag](){return this.#o[Symbol.toStringTag]}}Object.setPrototypeOf(Be.prototype,WeakSet.prototype);const qe=new WeakMap;function Ge(t,e,n){let i=void 0===n?qe.get(t):n;if(void 0===i)return;let r=i.get(e);void 0!==r&&ee(r,!0)}function $e(t){let e=qe.get(t);return void 0===e&&(e=new Map,qe.set(t,e)),e}function Ve(t,e,n){let i=void 0===n?$e(t):n,r=i.get(e);return void 0===r&&(r=re(),i.set(e,r)),r}function We(t,e){let n=new WeakMap,i="function"==typeof e;return{getter:function(r){let s;return Se(Ve(r,t)),i&&!n.has(r)?(s=e.call(r),n.set(r,s)):s=n.get(r),s},setter:function(e,i){Ge(e,t),n.set(e,i)}}}const He=Symbol("GLIMMER_VALIDATOR_REGISTRATION");if(Reflect.has(globalThis,He))throw new Error("The `@glimmer/validator` library has been included twice in this application. It could be different versions of the package, or the same version included twice by mistake. `@glimmer/validator` depends on having a single copy of the package in use at any time in an application, even if they are the same version. You must dedupe your build to remove the duplicate packages in order to prevent this error.");Reflect.set(globalThis,He,!0);const Ke=Object.freeze(Object.defineProperty({__proto__:null,ALLOW_CYCLES:void 0,COMPUTE:Yt,CONSTANT:0,CONSTANT_TAG:se,CURRENT_TAG:ce,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:he,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:Ge,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Ie,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:$e,track:Me,trackedArray:function(t,e){return new ze(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedData:We,trackedMap:function(t,e){return new De(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedObject:function(t,e){return new Ne(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new je(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakMap:function(t,e){return new Ue(t??[],{equals:e?.equals??Object.is,description:e?.description})},trackedWeakSet:function(t,e){return new Be(t??[],{equals:e?.equals??Object.is,description:e?.description})},untrack:Oe,updateTag:ne,validateTag:Jt,valueForTag:Zt},Symbol.toStringTag,{value:"Module"})),Xe=Object.freeze([]);function Ye(){return Xe}const Ze=Ye(),Je=Ye();function*Qe(t){for(let e=t.length-1;e>=0;e--)yield t[e]}function*tn(t){let e=0;for(const n of t)yield[e++,n]}function en(t){return!!t&&t.length>0}function nn(t){return 0===t.length?void 0:t[t.length-1]}function rn(){return Object.create(null)}function sn(t){return null!=t}function on(t){return"function"==typeof t||"object"==typeof t&&null!==t}class an{constructor(t=[]){this.current=null,this.stack=t}get size(){return this.stack.length}push(t){this.current=t,this.stack.push(t)}pop(){let t=this.stack.pop();return this.current=nn(this.stack)??null,void 0===t?null:t}nth(t){let e=this.stack.length;return eRn(t),null,t.debugLabel):t}function En(t){return 3===t[pn]}function Cn(t){const e=xn(()=>Rn(t),e=>Pn(t,e));return e.debugLabel=t.debugLabel,e[pn]=3,e}function kn(t){return t.tag===se}function Tn(t){return null!==t.update}function Rn(t){const e=t;let{tag:n}=e;if(n===se)return e.lastValue;const{lastRevision:i}=e;let r;if(null!==n&&Jt(n,i))r=e.lastValue;else{const{compute:t}=e,i=Me(()=>{r=e.lastValue=t()});n=e.tag=i,e.lastRevision=Zt(i)}return Se(n),r}function Pn(t,e){(0,t.update)(e)}function In(t,e){const n=t,i=n[pn];let r,s=n.children;if(null===s)s=n.children=new Map;else{const t=s.get(e);if(t)return t}if(2===i){const t=Rn(n);r=sn(t)?wn(t[e]):mn}else r=xn(()=>{const t=Rn(n);if(sn(t))return _t(t,e)},t=>{const i=Rn(n);if(sn(i))return vt(i,e,t)});return s.set(e,r),r}function Mn(t,e){let n=t;for(const i of e)n=In(n,i);return n}const On={},An=(t,e)=>e,Fn=(t,e)=>String(e),Ln=t=>null===t?On:t;class zn{get weakMap(){return void 0===this._weakMap&&(this._weakMap=new WeakMap),this._weakMap}get primitiveMap(){return void 0===this._primitiveMap&&(this._primitiveMap=new Map),this._primitiveMap}set(t,e){on(t)?this.weakMap.set(t,e):this.primitiveMap.set(t,e)}get(t){return on(t)?this.weakMap.get(t):this.primitiveMap.get(t)}}const Dn=new zn;function Nn(t){let e=new zn;return(n,i)=>{let r=t(n,i),s=e.get(r)||0;return e.set(r,s+1),0===s?r:function(t,e){let n=Dn.get(t);void 0===n&&(n=[],Dn.set(t,n));let i=n[e];return void 0===i&&(i={value:t,count:e},n[e]=i),i}(r,s)}}function jn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return Nn(An);case"@index":return Nn(Fn);case"@identity":return Nn(Ln);default:return e=t,Nn(t=>bt(t,e))}var e}(e);if(Array.isArray(n))return new qn(n,i);let r=mt(n);return null===r?new qn(Xe,()=>null):new Bn(r,i)})}function Un(t){let e=t,n=ie();return xn(()=>(Se(n),e),t=>{e!==t&&(e=t,ee(n))})}class Bn{constructor(t,e){this.inner=t,this.keyFor=e}isEmpty(){return this.inner.isEmpty()}next(){let t=this.inner.next();return null!==t&&(t.key=this.keyFor(t.value,t.memo)),t}}let qn=class{constructor(t,e){this.iterator=t,this.keyFor=e,this.pos=0,0===t.length?this.current={kind:"empty"}:this.current={kind:"first",value:t[this.pos]}}isEmpty(){return"empty"===this.current.kind}next(){let t,e=this.current;if("first"===e.kind)this.current={kind:"progress"},t=e.value;else{if(this.pos>=this.iterator.length-1)return null;t=this.iterator[++this.pos]}let{keyFor:n}=this;return{key:n(t,this.pos),value:t,memo:this.pos}}};const Gn=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:In,childRefFromParts:Mn,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:jn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),$n={Empty:0,dynamicLayout:1,dynamicTag:2,prepareArgs:4,createArgs:8,attributeHook:16,elementHook:32,dynamicScope:64,createCaller:128,updateHook:256,createInstance:512,wrapped:1024,willDestroy:2048,hasSubOwner:4096},Vn=1024,Wn=new WeakMap;function Hn(t){return Wn.get(t)}function Kn(t,e){Wn.set(t,e)}function Xn(t){if("symbol"==typeof t)return null;const e=Number(t);return isNaN(e)?null:e%1==0?e:null}class Yn{constructor(t){this.named=t}get(t,e){const n=this.named[e];if(void 0!==n)return Rn(n)}has(t,e){return e in this.named}ownKeys(){return Object.keys(this.named)}isExtensible(){return!1}getOwnPropertyDescriptor(t,e){return{enumerable:!0,configurable:!0}}}class Zn{constructor(t){this.positional=t}get(t,e){let{positional:n}=this;if("length"===e)return n.length;const i=Xn(e);return null!==i&&i{const{named:e,positional:n}=t,i=new Yn(e),r=new Zn(n),s=Object.create(null),o=new Proxy(s,i),a=new Proxy([],r);return Kn(o,(t,n)=>function(t,e){return Me(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Me(()=>{"[]"===e&&t.forEach(Rn);const n=Xn(e);null!==n&&n{let i=this.getDelegateFor(n);const r=Jn(e),s=i.createHelper(t,r);if(si(i)){let t=xn(()=>i.getValue(s),null);return oi(i)&&It(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return It(t,i.getDestroyable(s)),t}return mn}}}class li{createHelper(t,e){return{fn:t,args:e}}getValue({fn:t,args:e}){return Object.keys(e.named).length>0?t(...e.positional,e.named):t(...e.positional)}getDebugName(t){return t.name?`(helper function ${t.name})`:"(anonymous helper function)"}constructor(){this.capabilities={hasValue:!0,hasDestroyable:!1,hasScheduledEffect:!1}}}const ui=new WeakMap,ci=new WeakMap,hi=new WeakMap,di=Object.getPrototypeOf;function pi(t,e,n){return t.set(n,e),n}function fi(t,e){let n=e;for(;null!==n;){const e=t.get(n);if(void 0!==e)return e;n=di(n)}}function gi(t,e){return pi(ci,t,e)}function mi(t){const e=fi(ci,t);return void 0===e?null:e}function yi(t,e){return pi(hi,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(hi,t);return void 0===e&&"function"==typeof t&&(e=_i),e||null}function bi(t,e){return pi(ui,t,e)}function wi(t){const e=fi(ui,t);return void 0===e?null:e}function xi(t){return void 0!==fi(ui,t)}function Si(t){return function(t){return"function"==typeof t}(t)||void 0!==fi(hi,t)}const Ei={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1};function Ci(t,e={}){let n=Boolean(e.updateHook);return{asyncLifeCycleCallbacks:Boolean(e.asyncLifecycleCallbacks),destructor:Boolean(e.destructor),updateHook:n}}function ki(t){return t.capabilities.asyncLifeCycleCallbacks}function Ti(t){return t.capabilities.updateHook}class Ri{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n){let i=this.getDelegateFor(t),r=Jn(n.capture()),s=i.createComponent(e,r);return new Pi(s,i,r)}getDebugName(t){return"function"==typeof t?t.name:t.toString()}update(t){let{delegate:e}=t;if(Ti(e)){let{component:n,args:i}=t;e.updateComponent(n,i)}}didCreate({component:t,delegate:e}){ki(e)&&e.didCreateComponent(t)}didUpdate({component:t,delegate:e}){(function(t){return ki(t)&&Ti(t)})(e)&&e.didUpdateComponent(t)}didRenderLayout(){}didUpdateLayout(){}getSelf({component:t,delegate:e}){return bn(e.getContext(t))}getDestroyable(t){const{delegate:e}=t;if(function(t){return t.capabilities.destructor}(e)){const{component:n}=t;return Mt(t,()=>e.destroyComponent(n)),t}return null}getCapabilities(){return Ei}}class Pi{constructor(t,e,n){this.component=t,this.delegate=e,this.args=n}}function Ii(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Mi{constructor(t){this.factory=t,this.componentManagerDelegates=new WeakMap}getDelegateFor(t){let{componentManagerDelegates:e}=this,n=e.get(t);if(void 0===n){let{factory:i}=this;n=i(t),e.set(t,n)}return n}create(t,e,n,i){let r,s=this.getDelegateFor(t),o=Jn(i),a=s.createModifier(n,o);return r={tag:re(),element:e,delegate:s,args:o,modifier:a},Mt(r,()=>s.destroyModifier(a,o)),r}getDebugName(t){return"function"==typeof t?t.name||t.toString():""}getDebugInstance({modifier:t}){return t}getTag({tag:t}){return t}install({element:t,args:e,modifier:n,delegate:i}){let{capabilities:r}=i;r.disableAutoTracking?Oe(()=>i.installModifier(n,t,e)):i.installModifier(n,t,e)}update({args:t,modifier:e,delegate:n}){let{capabilities:i}=n;i.disableAutoTracking?Oe(()=>n.updateModifier(e,t)):n.updateModifier(e,t)}getDestroyable(t){return t}}function Oi(t,e){return bi(new Ri(t),e)}function Ai(t,e){return gi(new Mi(t),e)}function Fi(t,e){return yi(new ai(t),e)}const Li=new WeakMap,zi=Reflect.getPrototypeOf;function Di(t,e){return Li.set(e,t),e}function Ni(t){let e=t;for(;null!==e;){let t=Li.get(e);if(void 0!==t)return t;e=zi(e)}}const ji=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Mi,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:Ni,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(ci,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Ii,setComponentManager:Oi,setComponentTemplate:Di,setCustomTagFor:Kn,setHelperManager:Fi,setInternalComponentManager:bi,setInternalHelperManager:yi,setInternalModifierManager:gi,setModifierManager:Ai},Symbol.toStringTag,{value:"Module"})),Ui=new WeakSet;function Bi(t){return!!O(t)&&Ui.has(t)}function qi(t){O(t)&&Ui.add(t)}const Gi=new WeakSet;function $i(t){return Gi.has(t)}let Vi=class{size=0;misses=0;hits=0;constructor(t,e,n=new Map){this.limit=t,this.func=e,this.store=n}get(t){return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,this.set(t,this.func(t)))}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}};const Wi="6.11.0-beta.1",Hi=Object.freeze(Object.defineProperty({__proto__:null,default:Wi},Symbol.toStringTag,{value:"Module"})),Ki=Symbol("OWNER");function Xi(t){return t[Ki]}function Yi(t){return Xi(t)}function Zi(t,e){!function(t,e){t[Ki]=e}(t,e)}function Ji(t,e){return Array.isArray(t)?t[e]:t.objectAt(e)}const Qi=ct("SELF_TAG");function tr(t,e,n=!1,i){let r=Hn(t);return void 0!==r?r(t,e,n):Ve(t,e,i)}function er(t){return O(t)?Ve(t,Qi):se}function nr(t,e){Ge(t,e),Ge(t,Qi)}const ir=new WeakSet;function rr(t,e,n){let i=t.readableLazyChainsFor(e);if(void 0!==i){if(O(n))for(let[t,e]of i)ne(t,or(n,e,$e(n),Wt(n)));i.length=0}}function sr(t,e,n,i){let r=[];for(let s of e)ar(r,t,s,n,i);return he(r)}function or(t,e,n,i){return he(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,c=n.length,h=-1;for(;;){let e=h+1;if(h=n.indexOf(".",e),-1===h&&(h=c),s=n.slice(e,h),"@each"===s&&h!==c){e=h+1,h=n.indexOf(".",e);let i=a.length;if("number"!=typeof i||!Array.isArray(a)&&!("objectAt"in a))break;if(0===i){t.push(tr(a,"[]"));break}s=-1===h?n.slice(e):n.slice(e,h);for(let e=0;e=0;s-=3){let r=i[s],o=i[s+1],a=i[s+2];if(!o)continue;a&&Cr(t,e,r,o),r||(r=t);let l=typeof o;"string"!==l&&"symbol"!==l||(o=r[o]),o.apply(r,n)}return!0}function Tr(t,e){let n=Wt(t);if(null===n)return!1;let i=n.matchingListeners(e);return void 0!==i&&i.length>0}function Rr(...t){let e=t.pop();return Q(e,t),e}const Pr=!g._DEFAULT_ASYNC_OBSERVERS,Ir=new Map,Mr=new Map;function Or(t,e,n,i,r=Pr){let s=Sr(e);Er(t,s,n,i,!1,r);let o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Fr(t,s,r)}function Ar(t,e,n,i,r=Pr){let s=Sr(e),o=Wt(t);null!==o&&(o.isPrototypeMeta(t)||o.isInitializing())||Dr(t,s,r),Cr(t,s,n,i)}function Fr(t,e,n=!1){let i=function(t,e){let n=!0===e?Ir:Mr;return n.has(t)||(n.set(t,new Map),Mt(t,()=>function(t){Ir.size>0&&Ir.delete(t),Mr.size>0&&Mr.delete(t)}(t),!0)),n.get(t)}(t,n);if(i.has(e))i.get(e).count++;else{let n=e.substring(0,e.lastIndexOf(":")),r=or(t,n,$e(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Lr=!1,zr=[];function Dr(t,e,n=!1){if(!0===Lr)return void zr.push([t,e,n]);let i=!0===n?Ir:Mr,r=i.get(t);if(void 0!==r){let n=r.get(e);n.count--,0===n.count&&(r.delete(e),0===r.size&&i.delete(t))}}function Nr(t){Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,$e(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let jr=0;function Ur(t){let e=Zt(ce);jr!==e&&(jr=e,Mr.forEach((e,n)=>{let i=Wt(n);e.forEach((e,r)=>{if(!Jt(e.tag,e.lastRevision)){let s=()=>{try{kr(n,r,[n,e.path],void 0,i)}finally{e.tag=or(n,e.path,$e(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Ir.forEach((t,e)=>{let n=Wt(e);t.forEach((t,i)=>{if(!t.suspended&&!Jt(t.tag,t.lastRevision))try{t.suspended=!0,kr(e,i,[e,t.path],void 0,n)}finally{t.tag=or(e,t.path,$e(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Ir.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const Gr=Symbol("PROPERTY_DID_CHANGE");let $r=0;function Vr(t,e,n,i){let r=void 0===n?Wt(t):n;null!==r&&(r.isInitializing()||r.isPrototypeMeta(t))||(nr(t,e),$r<=0&&Br(),Gr in t&&(4===arguments.length?t[Gr](e,i):t[Gr](e)))}function Wr(){$r++,Lr=!0}function Hr(){$r--,$r<=0&&(Br(),function(){Lr=!1;for(let[t,e,n]of zr)Dr(t,e,n);zr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends cr{_readOnly=!1;_hasConfig=!1;_getter=void 0;_setter=void 0;constructor(t){super();let e=t[t.length-1];if("function"==typeof e||null!==e&&"object"==typeof e){this._hasConfig=!0;let e=t.pop();if("function"==typeof e)this._getter=e;else{const t=e;this._getter=t.get||Xr,this._setter=t.set}}t.length>0&&this._property(...t)}setup(t,e,n,i){if(super.setup(t,e,n,i),!1===this._hasConfig){let{get:t,set:e}=n;void 0!==t&&(this._getter=t),void 0!==e&&(this._setter=function(n,i){let r=e.call(this,i);return void 0!==t&&void 0===r?t.call(this):r})}}_property(...t){let e=[];function n(t){e.push(t)}for(let i of t)wr(i,n);this._dependentKeys=e}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:o,_dependentKeys:a}=this;Oe(()=>{n=o.call(t,e)}),void 0!==a&&ne(s,sr(t,a,r,i)),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]")),n}set(t,e,n){this._readOnly&&this._throwReadOnlyError(t,e);let i,r=Ht(t);r.isInitializing()&&void 0!==this._dependentKeys&&this._dependentKeys.length>0&&"function"==typeof t[Gr]&&t.isComponent&&Or(t,e,()=>{t[Gr](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=$e(t),o=Ve(t,e,s),{_dependentKeys:a}=this;void 0!==a&&ne(o,sr(t,a,s,r)),r.setRevisionFor(e,Zt(o))}finally{Hr()}return i}_throwReadOnlyError(t,e){throw new Error(`Cannot set read-only property "${e}" on object: ${R(t)}`)}_set(t,e,n,i){let r,s=void 0!==i.revisionFor(e),o=i.valueFor(e),{_setter:a}=this;qr(t,e,!0);try{r=a.call(t,e,n,o)}finally{qr(t,e,!1)}return s&&o===r||(i.setValueFor(e,r),Vr(t,e,i,n)),r}teardown(t,e,n){void 0!==n.revisionFor(e)&&(n.setRevisionFor(e,void 0),n.setValueFor(e,void 0)),super.teardown(t,e,n)}}class Zr extends Yr{get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r),o=i.revisionFor(e);if(void 0!==o&&Jt(s,o))n=i.valueFor(e);else{let{_getter:r}=this,o=Me(()=>{n=r.call(t,e)});ne(s,o),i.setValueFor(e,n),i.setRevisionFor(e,Zt(s)),rr(i,e,n)}return Se(s),Array.isArray(n)&&Se(Ve(n,"[]",r)),n}}class Jr extends Function{readOnly(){return yr(this)._readOnly=!0,this}meta(t){let e=yr(this);return 0===arguments.length?e._meta||{}:(e._meta=t,this)}get _getter(){return yr(this)._getter}set enumerable(t){yr(this).enumerable=t}}function Qr(...t){return lr(t)?fr(new Yr([]),Jr)(t[0],t[1],t[2]):fr(new Yr(t),Jr)}function ts(...t){return fr(new Zr(t),Jr)}function es(t,e){return Boolean(mr(t,e))}function ns(t,e,n,i,r){let s=void 0===r?Ht(t):r,o=mr(t,e,s),a=void 0!==o;a&&o.teardown(t,e,s),_r(n)?is(t,e,n,s):null==n?rs(t,e,i,a,!0):Object.defineProperty(t,e,n),s.isPrototypeMeta(t)||Nr(t)}function is(t,e,n,i){let r;return r=n(t,e,void 0,i),Object.defineProperty(t,e,r),n}function rs(t,e,n,i,r=!0){return!0===i||!1===r?Object.defineProperty(t,e,{configurable:!0,enumerable:r,writable:!0,value:n}):t[e]=n,n}const ss=new Vi(1e3,t=>t.indexOf("."));function os(t){return"string"==typeof t&&-1!==ss.get(t)}const as=ct("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?hs(t,e):cs(t,e)}function cs(t,e){if(null==t)return;let n;return"object"==typeof t||"function"==typeof t?(n=t[e],void 0===n&&"object"==typeof t&&!(e in t)&&ls(t)&&(n=t.unknownProperty(e)),xe()&&(Se(Ve(t,e)),(Array.isArray(n)||$i(n))&&Se(Ve(n,"[]")))):n=t[e],n}function hs(t,e,n){let i="string"==typeof e?e.split("."):e;for(let r of i){if(null==t||t.isDestroyed)return;if(n&&("__proto__"===r||"constructor"===r))return;t=cs(t,r)}return t}cs("foo","a"),cs("foo",1),cs({},"a"),cs({},1),cs({unknownProperty(){}},"a"),cs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Me(()=>cs({},"a")),Me(()=>cs({},1)),Me(()=>cs({a:[]},"a")),Me(()=>cs({a:ds},"a"));class ps{_registry;_coreLibIndex;constructor(){this._registry=[],this._coreLibIndex=0}_getLibraryByName(t){let e=this._registry;for(let n of e)if(n.name===t)return n}register(t,e,n){let i=this._registry.length;this._getLibraryByName(t)||(n&&(i=this._coreLibIndex++),this._registry.splice(i,0,{name:t,version:e}))}registerCoreLibrary(t,e){this.register(t,e,!0)}deRegister(t){let e,n=this._getLibraryByName(t);n&&(e=this._registry.indexOf(n),this._registry.splice(e,1))}}const fs=new ps;let gs;function ms(t,...e){let n,i;lr(e)?n=e:"string"==typeof e[0]&&(i=e[0]);let r=Qr({get:function(e){return(Yi(this)||this.container).lookup(`${t}:${i||e}`)},set(t,e){ns(this,t,null,e)}});return n?r(n[0],n[1],n[2]):r}function ys(...t){if(!lr(t)){let e=t[0],n=e?e.initializer:void 0,i=e?e.value:void 0,r=function(t,e){return _s([t,e,{initializer:n||(()=>i)}])};return vr(r),r}return _s(t)}function _s([t,e,n]){let{getter:i,setter:r}=We(e,n?n.initializer:void 0);function s(){let t=i(this);return(Array.isArray(t)||$i(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),Ge(this,Qi)}let a={enumerable:!0,configurable:!0,isTracked:!0,get:s,set:o};return pr.add(o),Ht(t).writeDescriptors(e,new vs(s,o)),a}fs.registerCoreLibrary("Ember",Wi);class vs{constructor(t,e){this._get=t,this._set=e,ir.add(this)}get(t){return this._get.call(t)}set(t,e,n){this._set.call(t,n)}}function bs(t,e,n,i){return t.isDestroyed?n:os(e)?function(t,e,n,i){let r=e.split("."),s=r.pop(),o=hs(t,r,!0);if(null!=o)return bs(o,s,n);if(!i)throw new Error(`Property set failed: object in path "${r.join(".")}" could not be found.`)}(t,e,n,i):ws(t,e,n)}function ws(t,e,n){let i,r=it(t,e);return null!==r&&pr.has(r.set)?(t[e]=n,n):(i=t[e],void 0!==i||"object"!=typeof t||e in t||"function"!=typeof t.setUnknownProperty?(t[e]=n,i!==n&&Vr(t,e)):t.setUnknownProperty(e,n),n)}function xs(t,e,n){return bs(t,e,n,!0)}function Ss(t){return fr(new Cs(t),Es)}class Es extends Function{readOnly(){return yr(this).readOnly(),this}oneWay(){return yr(this).oneWay(),this}meta(t){let e=yr(this);if(0===arguments.length)return e._meta||{};e._meta=t}}class Cs extends cr{altKey;constructor(t){super(),this.altKey=t}setup(t,e,n,i){super.setup(t,e,n,i),ir.add(this)}get(t,e){let n,i=Ht(t),r=$e(t),s=Ve(t,e,r);Oe(()=>{n=us(t,this.altKey)});let o=i.revisionFor(e);return void 0!==o&&Jt(s,o)||(ne(s,or(t,this.altKey,r,i)),i.setRevisionFor(e,Zt(s)),rr(i,e,n)),Se(s),n}set(t,e,n){return bs(t,this.altKey,n)}readOnly(){this.set=ks}oneWay(){this.set=Ts}}function ks(t,e){throw new Error(`Cannot set read-only property '${e}' on object: ${R(t)}`)}function Ts(t,e,n){return ns(t,e,null),bs(t,e,n)}function Rs(t,e,n,i){return void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1)),kr(t,"@array:before",[t,e,n,i]),t}function Ps(t,e,n,i,r=!0){void 0===e?(e=0,n=i=-1):(void 0===n&&(n=-1),void 0===i&&(i=-1));let s=Wt(t);if(r&&((i<0||n<0||i-n!==0)&&Vr(t,"length",s),Vr(t,"[]",s)),kr(t,"@array:change",[t,e,n,i]),null!==s){let r=-1===n?0:n,o=t.length-((-1===i?0:i)-r),a=e<0?o+e:e;void 0!==s.revisionFor("firstObject")&&0===a&&Vr(t,"firstObject",s),void 0!==s.revisionFor("lastObject")&&o-1{let n=Object.keys(e);for(let i of n)bs(t,i,e[i])}),e}const js=new WeakMap;function Us(t,e){O(t)&&js.set(t,e)}function Bs(t){return js.get(t)}const qs=Object.prototype.hasOwnProperty;let Gs=!1;const $s={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(t){this._set++,this._unprocessedNamespaces=t}};let Vs=!1;const Ws=[],Hs=Object.create(null);function Ks(t){$s.unprocessedNamespaces=!0,Ws.push(t)}function Xs(t){let e=Bs(t);delete Hs[e],Ws.splice(Ws.indexOf(t),1),e in d.lookup&&t===d.lookup[e]&&(d.lookup[e]=void 0)}function Ys(){if(!$s.unprocessedNamespaces)return;let t=d.lookup,e=Object.keys(t);for(let n of e){if(!so(n.charCodeAt(0)))continue;let e=oo(t,n);e&&Us(e,n)}}function Zs(t){return Gs||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=$s.unprocessedNamespaces;if(t&&(Ys(),$s.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return Gs}function eo(t){Gs=Boolean(t)}function no(){Vs=!0}function io(t,e,n){let i=t.length,r=t.join(".");Hs[r]=e,Us(e,r);for(let s in e){if(!qs.call(e,s))continue;let r=e[s];if(t[i]=s,r&&void 0===Bs(r))Us(r,t.join("."));else if(r&&ro(r)){if(n.has(r))continue;n.add(r),io(t,r,n)}}t.length=i}function ro(t){return null!=t&&"object"==typeof t&&t.isNamespace}function so(t){return t>=65&&t<=90}function oo(t,e){try{let n=t[e];return(null!==n&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(n){}}const ao={get onerror(){}},lo=setTimeout,uo=()=>{};function co(t){if("function"==typeof Promise){const e=Promise.resolve();return()=>e.then(t)}if("function"==typeof MutationObserver){let e=0,n=new MutationObserver(t),i=document.createTextNode("");return n.observe(i,{characterData:!0}),()=>(e=++e%2,i.data=""+e,e)}return()=>lo(t,0)}function ho(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:co(t),clearNext:e}}const po=/\d+/;function fo(t){let e=typeof t;return"number"===e&&t==t||"string"===e&&po.test(t)}function go(t){return t.onError||t.onErrorTarget&&t.onErrorTarget[t.onErrorMethod]}function mo(t,e,n){let i=-1;for(let r=0,s=n.length;r=e[n]?r=n+6:s=n;return t>=e[r]?r+6:r}class bo{constructor(t,e={},n={}){this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=t,this.options=e,this.globalOptions=n}stackFor(t){if(t0){let t=go(this.globalOptions);s=t?this.invokeWithOnError:this.invoke;for(let o=this.index;o0&&this.flush(!0)}hasWork(){return this._queueBeingFlushed.length>0||this._queue.length>0}cancel({target:t,method:e}){let n=this._queue,i=this.targetQueues.get(t);void 0!==i&&i.delete(e);let r=mo(t,e,n);return r>-1?(n[r+1]=null,!0):(n=this._queueBeingFlushed,r=mo(t,e,n),r>-1&&(n[r+1]=null,!0))}push(t,e,n,i){return this._queue.push(t,e,n,i),{queue:this,target:t,method:e}}pushUnique(t,e,n,i){let r=this.targetQueues.get(t);void 0===r&&(r=new Map,this.targetQueues.set(t,r));let s=r.get(e);if(void 0===s){let s=this._queue.push(t,e,n,i)-4;r.set(e,s)}else{let t=this._queue;t[s+2]=n,t[s+3]=i}return{queue:this,target:t,method:e}}_getDebugInfo(t){if(t)return _o(this._queue,4)}invoke(t,e,n){void 0===n?e.call(t):e.apply(t,n)}invokeWithOnError(t,e,n,i,r){try{void 0===n?e.call(t):e.apply(t,n)}catch(Nz){i(Nz,r)}}}class wo{constructor(t=[],e){this.queues={},this.queueNameIndex=0,this.queueNames=t,t.reduce(function(t,n){return t[n]=new bo(n,e[n],e),t},this.queues)}schedule(t,e,n,i,r,s){let o=this.queues[t];if(void 0===o)throw new Error(`You attempted to schedule an action in a queue (${t}) that doesn't exist`);if(null==n)throw new Error(`You attempted to schedule an action in a queue (${t}) for a method that doesn't exist`);return this.queueNameIndex=0,r?o.pushUnique(e,n,i,s):o.push(e,n,i,s)}flush(t=!1){let e,n,i=this.queueNames.length;for(;this.queueNameIndexr){let e=i-r;t=new Array(e);for(let n=0;n{Vo++,!1!==this._autorun&&(this._autorun=!1,this._autorunStack=null,this._end(!0))};let n=this.options._buildPlatform||ho;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Io,end:0},autoruns:{created:$o,completed:Vo},run:Mo,join:Oo,defer:Ao,schedule:Fo,scheduleIterable:Lo,deferOnce:zo,scheduleOnce:Do,setTimeout:No,later:jo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:Go,loops:{total:Wo,nested:Ho}}}get defaultQueue(){return this._defaultQueue}begin(){Ro++;let t,e=this.options,n=this.currentInstance;return!1!==this._autorun?(t=n,this._cancelAutorun()):(null!==n&&(Ho++,this.instanceStack.push(n)),Wo++,t=this.currentInstance=new wo(this.queueNames,e),Io++,this._trigger("begin",t,n)),this._onBegin(t,n),t}end(){Po++,this._end(!1)}on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=this._eventCallbacks[t];if(void 0===n)throw new TypeError(`Cannot on() event ${t} because it does not exist`);n.push(e)}off(t,e){let n=this._eventCallbacks[t];if(!t||void 0===n)throw new TypeError(`Cannot off() event ${t} because it does not exist`);let i=!1;if(e)for(let r=0;r0&&fo(n[r-1])&&(i=parseInt(n.pop(),10)),[t,e,n,i]}(...arguments);return this._later(t,e,n,i)}throttle(){Uo++;let t,[e,n,i,r,s=!0]=ko(...arguments),o=yo(e,n,this._timers);if(-1===o)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{t=this._timers[o+1];let e=o+4;this._timers[e]!==Eo&&(this._timers[e]=i)}return t}debounce(){Bo++;let t,[e,n,i,r,s=!1]=ko(...arguments),o=this._timers,a=yo(e,n,o);if(-1===a)t=this._later(e,n,s?Eo:i,r),s&&this._join(e,n,i);else{let s=this._platform.now()+r,l=a+4;o[l]===Eo&&(i=Eo),t=o[a+1];let u=vo(s,o);if(a+6===u)o[a]=s,o[l]=i;else{let r=this._timers[a+5];this._timers.splice(u,0,s,t,e,n,i,r),this._timers.splice(a,6)}0===a&&this._reinstallTimerTimeout()}return t}cancelTimers(){qo++,this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()}hasTimers(){return this._timers.length>0||this._autorun}cancel(t){if(Go++,null==t)return!1;let e=typeof t;return"number"===e?this._cancelLaterTimer(t):!("object"!==e||!t.queue||!t.method)&&t.queue.cancel(t)}ensureInstance(){this._ensureInstance()}getDebugInfo(){if(this.DEBUG)return{autorun:this._autorunStack,counters:this.counters,timers:_o(this._timers,6,2),instanceStack:[this.currentInstance,...this.instanceStack].map(t=>t&&t._getDebugInfo(this.DEBUG))}}_end(t){let e=this.currentInstance,n=null;if(null===e)throw new Error("end called without begin");let i,r=!1;try{i=e.flush(t)}finally{if(!r)if(r=!0,1===i){const t=this.queueNames[e.queueNameIndex];this._scheduleAutorun(t)}else this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",e,n),this._onEnd(e,n)}}_join(t,e,n){return null===this.currentInstance?this._run(t,e,n):void 0===t&&void 0===n?e():e.apply(t,n)}_run(t,e,n){let i=go(this.options);if(this.begin(),i)try{return e.apply(t,n)}catch(Nz){i(Nz)}finally{this.end()}else try{return e.apply(t,n)}finally{this.end()}}_cancelAutorun(){this._autorun&&(this._platform.clearNext(),this._autorun=!1,this._autorunStack=null)}_later(t,e,n,i){let r=this.DEBUG?new Error:void 0,s=this._platform.now()+i,o=To++;if(0===this._timers.length)this._timers.push(s,o,t,e,n,r),this._installTimerTimeout();else{let i=vo(s,this._timers);this._timers.splice(i,0,s,o,t,e,n,r),this._reinstallTimerTimeout()}return o}_cancelLaterTimer(t){for(let e=1;e0&&(this.begin(),this._scheduleExpiredTimers(),this.end())}_scheduleExpiredTimers(){let t=this._timers,e=0,n=t.length,i=this._defaultQueue,r=this._platform.now();for(;er);e+=6){let n=t[e+4];if(n!==Eo){let r=t[e+2],s=t[e+3],o=t[e+5];this.currentInstance.schedule(i,r,s,n,!1,o)}}t.splice(0,e),this._installTimerTimeout()}_reinstallTimerTimeout(){this._clearTimerTimeout(),this._installTimerTimeout()}_clearTimerTimeout(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)}_installTimerTimeout(){if(0===this._timers.length)return;let t=this._timers[0],e=this._platform.now(),n=Math.max(0,t-e);this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}_ensureInstance(){let t=this.currentInstance;return null===t&&(this._autorunStack=this.DEBUG?new Error:void 0,t=this.begin(),this._scheduleAutorun(this.queueNames[0])),t}_scheduleAutorun(t){$o++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=ho,Ko.buildNext=co;let Xo=null;function Yo(){return Xo}const Zo=`${Math.random()}${Date.now()}`.replace(".",""),Jo=["actions","routerTransitions","render","afterRender","destroy",Zo],Qo=new Ko(Jo,{defaultQueue:"actions",onBegin:function(t){Xo=t},onEnd:function(t,e){Xo=e,Ur(ia)},onErrorTarget:ao,onErrorMethod:"onerror",flush:function(t,e){"render"!==t&&t!==Zo||Ur(ia),e()}});function ta(...t){return Qo.run(...t)}function ea(t,e,...n){return Qo.join(t,e,...n)}function na(...t){return(...e)=>ea(...t.concat(e))}function ia(...t){return Qo.schedule(...t)}function ra(...t){return Qo.scheduleOnce("actions",...t)}function sa(...t){return Qo.scheduleOnce(...t)}function oa(t){return Qo.cancel(t)}const aa=Object.freeze(Object.defineProperty({__proto__:null,_backburner:Qo,_cancelTimers:function(){Qo.cancelTimers()},_getCurrentRunLoop:Yo,_hasScheduledTimers:function(){return Qo.hasTimers()},_queues:Jo,_rsvpErrorQueue:Zo,begin:function(){Qo.begin()},bind:na,cancel:oa,debounce:function(...t){return Qo.debounce(...t)},end:function(){Qo.end()},join:ea,later:function(...t){return Qo.later(...t)},next:function(...t){return Qo.later(...t,1)},once:ra,run:ta,schedule:ia,scheduleOnce:sa,throttle:function(...t){return Qo.throttle(...t)}},Symbol.toStringTag,{value:"Module"})),la="@warp-drive/core",ua=globalThis;ua.__warpDrive_universalCache=ua.__warpDrive_universalCache??{},ua[la]=ua[la]??{__version:"5.8.1"};const ca=ua[la],ha=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function da(t,e){return e}function pa(t){return ha[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const fa=new WeakMap;function ga(t,e){fa.set(t,e)}const ma=da(0,Symbol("#[]"));function ya(t,e){return pa("signalHooks").createSignal(t,e)}const _a={};function va(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===_a}const ba=da(0,Symbol("Signals"));function wa(t){return t[ba]||function(t){t[ba]=new Map}(t),t[ba]}function xa(t,e,n,i){const r={key:n,context:e,signal:ya(e,n),value:va(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Sa(t,e){return t?.get(e)}function Ea(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),s=r.signal,pa("signalHooks").consumeSignal(s),r;var s}(wa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Sa(t,n);return r||(r=xa(t,e,n,i)),r}(wa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){pa("signalHooks").notifySignal(t)}(r.signal)))}}}function Ca(t,e,n){Object.defineProperty(t,e,Ea(e,n))}function ka(t,e,n){const i=Ea(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ta(t,e,n){const i=n.get;return n.get=function(){const t=wa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return pa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Ra=new WeakMap;function Pa(t){return t instanceof DOMException&&"AbortError"===t.name}class Ia{_stream=null;_future;_triggered=!1;_trigger(){if(this._triggered)return;this._triggered=!0;const t=this._future.getStream();t.sizeHint&&(this._sizeHint=t.sizeHint),this.promise=t.then(t=>t?async function(t,e){const n=e,i=t.getReader();let r=0,s=null!==n._stream&&n._stream.readable.locked,o=s,a=n._stream?.writable.getWriter();const l=[];for(n._isPending=!1,n._isStarted=!0,n._startTime=performance.now();;){const{value:t,done:e}=await i.read();if(e)break;if(r+=t.byteLength,n._bytesLoaded=r,n._lastPacketTime=performance.now(),s=s||null!==n._stream&&n._stream.readable.locked,s){if(!o){o=!0,a=n._stream.writable.getWriter();for(const t of l)await a.ready,await a.write(t);l.length=0}await a.ready,await a.write(t)}else l.push(t)}o?(await a.ready,await a.close()):n._stream&&(await n._stream.readable.cancel("The Stream Has Already Ended"),n._stream=null);const u=performance.now();n._endTime=u,n._isComplete=!0,n._isStarted=!1}(t,this):(this._isPending=!1,void(this._isComplete=!0)),t=>{this._isPending=!1,this._isStarted=!1,Pa(t)&&(this._isCancelled=!0,this._isComplete=!0),this._isErrored=!0,this._error=t})}promise=null;get isPending(){return this._trigger(),this._isPending}get sizeHint(){return this._trigger(),this._sizeHint}get stream(){if(this._trigger(),!this._stream){if(this._isComplete||this._isCancelled||this._isErrored)return null;this._stream=new TransformStream}return this._stream.readable}get isStarted(){return this._trigger(),this._isStarted}get bytesLoaded(){return this._trigger(),this._bytesLoaded}get startTime(){return this._trigger(),this._startTime}get endTime(){return this._trigger(),this._endTime}get lastPacketTime(){return this._trigger(),this._lastPacketTime}get isComplete(){return this._trigger(),this._isComplete}get isCancelled(){return this._trigger(),this._isCancelled}get isErrored(){return this._trigger(),this._isErrored}get error(){return this._trigger(),this._error}get elapsedTime(){return(this.endTime||this.lastPacketTime)-this.startTime}get completedRatio(){return this.sizeHint?this.bytesLoaded/this.sizeHint:0}get remainingRatio(){return 1-this.completedRatio}get duration(){return this.endTime-this.startTime}get speed(){return this.bytesLoaded/(this.elapsedTime/1e3)}constructor(t){this._future=t}abort=()=>{this._future.abort()}}ka(Ia.prototype,"_isPending",!0),ka(Ia.prototype,"_isStarted",!1),ka(Ia.prototype,"_isComplete",!1),ka(Ia.prototype,"_isCancelled",!1),ka(Ia.prototype,"_isErrored",!1),ka(Ia.prototype,"_error",null),ka(Ia.prototype,"_sizeHint",0),ka(Ia.prototype,"_bytesLoaded",0),ka(Ia.prototype,"_startTime",0),ka(Ia.prototype,"_endTime",0),ka(Ia.prototype,"_lastPacketTime",0);const Ma={};function Oa(t,e,n){const i=Object.assign({},e),r=Object.assign({},i.cacheOptions);return n?r.reload=!0:!1===n?(delete r.reload,r.backgroundReload=!0):(delete r.backgroundReload,delete r.reload),i.cacheOptions=r,t.request(i)}function Aa(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}Ca(Ma,"reason",null),Ca(Ma,"value",null),Ca(Ma,"result",null),Ca(Ma,"error",null),Ca(Ma,"status","pending"),Ca(Ma,"isPending",!0),Ca(Ma,"isLoading",!0),Ca(Ma,"isSuccess",!1),Ca(Ma,"isError",!1),Ca(Ma,"request",null),Ca(Ma,"response",null),Object.defineProperty(Ma,"isCancelled",{get(){return this.isError&&Pa(this.reason)}}),Object.defineProperty(Ma,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const Fa=Symbol.dispose||Symbol.for("dispose");class La{_requester;constructor(t,e){this._args=e,this.store=t,this._subscribedTo=null,this._subscription=null,this._intervalStart=null,this._invalidated=!1,this._nextInterval=null,this._requester=null,this.isDestroyed=!1,this[Fa]=Da,this._installListeners(),this._beginPolling()}async _beginPolling(){try{this.isIdle||await this.request}catch{}finally{this.isDestroyed||this._scheduleInterval()}}get isIdle(){const{request:t,query:e}=this._args;return Boolean(!t&&!e)}static{Aa(this.prototype,"isIdle",[Ta])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Aa(this.prototype,"autorefreshTypes",[Ta])}async _scheduleInterval(){const{autorefreshThreshold:t}=this._args;if("undefined"!=typeof window&&"number"==typeof t&&t>0&&this.autorefreshTypes.has("interval")&&null===this._intervalStart){if(this._latestRequest){try{await this._latestRequest}catch{}if(this.isDestroyed)return}this._intervalStart=Date.now(),this._nextInterval=setTimeout(()=>{this._maybeUpdate()},t)}}_clearInterval(){this._nextInterval&&(clearTimeout(this._nextInterval),this._intervalStart=null)}_updateSubscriptions(){if(this.isIdle)return;const t=this._request.lid;if(this._subscribedTo===t)return;this._removeSubscriptions();const e=this._getRequester();this._requester=e,t&&za(e)&&(this._subscribedTo=t,this._subscription=e.notifications.subscribe(t,(n,i)=>{if(!this._isUpdating)switch(i){case"invalidated":this.autorefreshTypes.has("invalid")&&(this._invalidated=!0,this._maybeUpdate());break;case"state":{const n=e.requestManager._deduped.get(t),i=n?.priority,r=this.reqState;i?i.blocking&&!r.isLoading?(this.isRefreshing=!1,this._maybeUpdate("policy",!0)):this.isRefreshing=!0:this.isRefreshing=!1}}}))}_removeSubscriptions(){const t=this._requester;this._subscription&&t&&za(t)&&(t.notifications.unsubscribe(this._subscription),this._subscribedTo=null,this._subscription=null,this._requester=null)}_installListeners(){"undefined"!=typeof window&&(this.isOnline=window.navigator.onLine,this._unavailableStart=this.isOnline?null:Date.now(),this.isHidden="hidden"===document.visibilityState,this._onlineChanged=t=>{this.isOnline="online"===t.type,"offline"===t.type&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},this._backgroundChanged=()=>{const t="hidden"===document.visibilityState;this.isHidden=t,t&&null===this._unavailableStart&&(this._unavailableStart=Date.now()),this._maybeUpdate()},window.addEventListener("online",this._onlineChanged,{passive:!0,capture:!0}),window.addEventListener("offline",this._onlineChanged,{passive:!0,capture:!0}),document.addEventListener("visibilitychange",this._backgroundChanged,{passive:!0,capture:!0}))}_maybeUpdate(t,e){if(this.isIdle)return;const{reqState:n}=this;if(n.isPending)return;if(!Boolean(this.isOnline&&!this.isHidden&&(t||this.autorefreshTypes.size))){if(!e&&t&&"_invalidated"!==t)throw new Error("Reload not available: the network is not online or the tab is hidden");return}const{autorefreshTypes:i}=this;let r=this._invalidated||Boolean(t);if(!r&&i.has("online")){const{_unavailableStart:t}=this,{autorefreshThreshold:e}=this._args,n="number"==typeof e?e:3e4;r=Boolean(t&&Date.now()-t>n)}if(!r&&i.has("interval")){const{_intervalStart:t}=this,{autorefreshThreshold:e}=this._args;t&&"number"==typeof e&&e>0&&(r=Boolean(Date.now()-t>=e))}if(this._unavailableStart=null,this._invalidated=!1,r){this._clearInterval(),this._isUpdating=!0;const e=("_invalidated"===t?null:t)??this._args.autorefreshBehavior??"policy",i=this._getRequester();switch(n._request.requester||(n._request.requester=i),e){case"reload":this._latestRequest=n.reload();break;case"refresh":this._latestRequest=n.refresh();break;case"policy":this._latestRequest=n.refresh(!0)}"refresh"!==e&&(this._localRequest=this._latestRequest),this._scheduleInterval(),this._latestRequest.finally(()=>{this._isUpdating=!1})}}_getRequester(){return this._args.request?.requester?this._args.request.requester:this.store}retry=async()=>{this._maybeUpdate("reload"),await this._localRequest};refresh=async()=>{this._maybeUpdate("refresh"),await this._latestRequest};get errorFeatures(){return{isHidden:this.isHidden,isOnline:this.isOnline,retry:this.retry}}static{Aa(this.prototype,"errorFeatures",[Ta])}get contentFeatures(){const t={isHidden:this.isHidden,isOnline:this.isOnline,reload:this.retry,refresh:this.refresh,isRefreshing:this.isRefreshing,latestRequest:this._latestRequest};return t.isRefreshing&&(t.abort=()=>{this._latestRequest?.abort()}),t}static{Aa(this.prototype,"contentFeatures",[Ta])}get _request(){const{request:t,query:e}=this._args,{_localRequest:n,_originalRequest:i,_originalQuery:r}=this;return n&&t===i&&e===r?n:(this._originalQuery=e,this._originalRequest=t,t||this.store.request(e))}static{Aa(this.prototype,"_request",[Ta])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Aa(this.prototype,"request",[Ta])}get reqState(){return function(t){let e=Ra.get(t);return e||(e=function(t){const e=(n=t,fa.get(n));var n;const i=Object.create(Ma);return i._request=t,i.reload=()=>Oa(t.requester,i.request,!0),i.refresh=(e=!1)=>Oa(t.requester,i.request,!0===e&&null),e?e.isError?(i.error=e.result,i.reason=e.result,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):(i.result=e.result.content,i.value=e.result.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.result.request,i.response=e.result.response):t.then(e=>{ga(t,{isError:!1,result:e}),i.result=e.content,i.value=e.content,i.status="fulfilled",i.isSuccess=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response},e=>{ga(t,{isError:!0,result:e}),i.error=e,i.reason=e,i.status="rejected",i.isError=!0,i.isPending=!1,i.isLoading=!1,i.request=e.request,i.response=e.response}),i}(t),Ra.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function za(t){return"requestManager"in t}function Da(){const t=this;t.isDestroyed=!0,t._removeSubscriptions(),"undefined"!=typeof window&&(t._clearInterval(),window.removeEventListener("online",t._onlineChanged,{passive:!0,capture:!0}),window.removeEventListener("offline",t._onlineChanged,{passive:!0,capture:!0}),document.removeEventListener("visibilitychange",t._backgroundChanged,{passive:!0,capture:!0}))}Ca(La.prototype,"isOnline",!0),Ca(La.prototype,"isHidden",!1),Ca(La.prototype,"isRefreshing",!1),Ca(La.prototype,"_localRequest",void 0),Ca(La.prototype,"_latestRequest",void 0);const Na={};Ca(Na,"reason",null),Ca(Na,"value",null),Ca(Na,"result",null),Ca(Na,"error",null),Ca(Na,"status","pending"),Ca(Na,"isPending",!0),Ca(Na,"isLoading",!0),Ca(Na,"isSuccess",!1),Ca(Na,"isError",!1);const ja=ee;var Ua;Ua=function(t){const e=t.wellknown.Array;return{createSignal:(t,n)=>n===e?[tr(t,n),tr(t,"length"),tr(t,"[]")]:tr(t,n),consumeSignal(t){if(Array.isArray(t))return Se(t[0]),Se(t[1]),void Se(t[2]);Se(t)},notifySignal(t){if(Array.isArray(t))return ja(t[0]),ja(t[1]),void ja(t[2]);ja(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Me(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){ha["(transient) signalHooks"]=e}(0,Ua({wellknown:{Array:ma}}));const Ba=Yi,qa=Object.freeze(Object.defineProperty({__proto__:null,getOwner:Ba,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const $a=g.EMBER_LOAD_HOOKS||{},Va={};let Wa=Va;function Ha(t,e){if(Va[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}$a[t]?.forEach(t=>t(e))}class Ka{static _leakTracking;owner;registry;cache;factoryManagerCache;validationCache;isDestroyed;isDestroying;constructor(t,e={}){this.registry=t,this.owner=e.owner||null,this.cache=Ga(e.cache||null),this.factoryManagerCache=Ga(e.factoryManagerCache||null),this.isDestroyed=!1,this.isDestroying=!1}lookup(t,e){if(this.isDestroyed)throw new Error(`Cannot call \`.lookup('${t}')\` after the owner has been destroyed`);return function(t,e,n={}){let i=e;if(!0===n.singleton||void 0===n.singleton&&Xa(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Za(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Xa(t,e))&&Ya(t,e)}(t,n,i)){let n=t.cache[e]=r.create();return t.isDestroying&&"function"==typeof n.destroy&&n.destroy(),n}if(function(t,e,{instantiate:n,singleton:i}){return!1!==n&&(!1===i||!Xa(t,e))&&Ya(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Xa(t,e)&&!Ya(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Xa(t,e)||Ya(t,e))}(t,n,i))return r.class;throw new Error("Could not create factory")}}(t,i,e,n)}(this,this.registry.normalize(t),e)}destroy(){this.isDestroying=!0,Ja(this)}finalizeDestroy(){Qa(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Ja(this),Qa(this)):function(t,e){let n=t.cache[e];delete t.factoryManagerCache[e],n&&(delete t.cache[e],n.destroy&&n.destroy())}(this,this.registry.normalize(t)))}ownerInjection(){let t={};return Zi(t,this.owner),t}factoryFor(t){if(this.isDestroyed)throw new Error(`Cannot call \`.factoryFor('${t}')\` after the owner has been destroyed`);return Za(this,this.registry.normalize(t),t)}}function Xa(t,e){return!1!==t.registry.getOption(e,"singleton")}function Ya(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Za(t,e,n){let i=t.factoryManagerCache[e];if(void 0!==i)return i;let r=t.registry.resolve(e);if(void 0===r)return;let s=new il(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Ja(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function Qa(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const tl=Symbol("INIT_FACTORY");function el(t){return t[tl]}function nl(t,e){t[tl]=e}class il{container;owner;class;fullName;normalizedName;madeToString;injections;constructor(t,e,n,i){this.container=t,this.owner=t.owner,this.class=e,this.fullName=n,this.normalizedName=i,this.madeToString=void 0,this.injections=void 0}toString(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString}create(t){let{container:e}=this;if(e.isDestroyed)throw new Error(`Cannot create new instances after the owner has been destroyed (you attempted to create ${this.fullName})`);let n=t?{...t}:{};return Zi(n,e.owner),nl(n,this),this.class.create(n)}}const rl=/^[^:]+:[^:]+$/;class sl{_failSet;resolver;fallback;registrations;_normalizeCache;_options;_resolveCache;_typeOptions;constructor(t={}){this.fallback=t.fallback||null,this.resolver=t.resolver||null,this.registrations=Ga(t.registrations||null),this._normalizeCache=Ga(null),this._resolveCache=Ga(null),this._failSet=new Set,this._options=Ga(null),this._typeOptions=Ga(null)}container(t){return new Ka(this,t)}register(t,e,n={}){let i=this.normalize(t);this._failSet.delete(i),this.registrations[i]=e,this._options[i]=n}unregister(t){let e=this.normalize(t);delete this.registrations[e],delete this._resolveCache[e],delete this._options[e],this._failSet.delete(e)}resolve(t){let e=function(t,e){let n,i=e,r=t._resolveCache[i];return void 0!==r?r:t._failSet.has(i)?void 0:(t.resolver&&(n=t.resolver.resolve(i)),void 0===n&&(n=t.registrations[i]),void 0===n?t._failSet.add(i):t._resolveCache[i]=n,n)}(this,this.normalize(t));return void 0===e&&null!==this.fallback&&(e=this.fallback.resolve(t)),e}describe(t){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(t):null!==this.fallback?this.fallback.describe(t):t}normalizeFullName(t){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(t):null!==this.fallback?this.fallback.normalizeFullName(t):t}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this.normalizeFullName(t))}makeToString(t,e){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(t,e):null!==this.fallback?this.fallback.makeToString(t,e):"string"==typeof t?t:t.name??"(unknown class)"}has(t){return!!this.isValidFullName(t)&&function(t,e){return void 0!==t.resolve(e)}(this,this.normalize(t))}optionsForType(t,e){this._typeOptions[t]=e}getOptionsForType(t){let e=this._typeOptions[t];return void 0===e&&null!==this.fallback&&(e=this.fallback.getOptionsForType(t)),e}options(t,e){let n=this.normalize(t);this._options[n]=e}getOptions(t){let e=this.normalize(t),n=this._options[e];return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(t)),n}getOption(t,e){let n=this._options[t];if(void 0!==n&&void 0!==n[e])return n[e];let i=t.split(":")[0];return n=this._typeOptions[i],n&&void 0!==n[e]?n[e]:null!==this.fallback?this.fallback.getOption(t,e):void 0}knownForType(t){let e,n,i=Ga(null),r=Object.keys(this.registrations);for(let s of r)s.split(":")[0]===t&&(i[s]=!0);return null!==this.fallback&&(e=this.fallback.knownForType(t)),null!==this.resolver&&this.resolver.knownForType&&(n=this.resolver.knownForType(t)),Object.assign({},e,i,n)}isValidFullName(t){return rl.test(t)}}const ol=Ga(null),al=`${Math.random()}${Date.now()}`.replace(".","");function ll([t]){let e=ol[t];if(e)return e;let[n,i]=t.split(":");return ol[t]=M(`${n}:${i}-${al}`)}const ul=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?ul.call(r,e[t]):e[t]),r}function hl(t,e,n,i){if(!0===n)return e;let r=n._getter;if(void 0===r)return e;let s=i[t],o="function"==typeof s?yr(s):s;if(void 0===o||!0===o)return e;let a=o._getter;if(void 0===a)return e;let l,u=et(r,a),c=n._setter,h=o._setter;if(l=void 0!==h?void 0!==c?et(c,h):h:c,u!==r||l!==c){let t=n._dependentKeys||[],e=new Yr([...t,{get:u,set:l}]);return e._readOnly=n._readOnly,e._meta=n._meta,e.enumerable=n.enumerable,fr(e,Yr)}return e}function dl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function pl(t){return t?Array.isArray(t)?t:[t]:[]}function fl(t,e,n){return pl(n[t]).concat(pl(e))}function gl(t,e,n){let i=n[t];if(!i)return e;let r=Object.assign({},i),s=!1,o=Object.keys(e);for(let a of o){let t=e[a];"function"==typeof t?(s=!0,r[a]=dl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function ml(t,e,n,i,r,s,o){let a;for(let l=0;l{let e=s.indexOf(t);-1!==e&&s.splice(e,1)}))}else yl(e,a,n,i,r,s,o)}function yl(t,e,n,i,r,s,o){let a=cl("concatenatedProperties",e,i,r),l=cl("mergedProperties",e,i,r),u=Object.keys(e);for(let c of u){let u=e[c];if(void 0===u)continue;if(-1===s.indexOf(c)){s.push(c);let e=t.peekDescriptors(c);if(void 0===e){if(!_r(u)){let t=i[c]=r[c];"function"==typeof t&&_l(r,c,t,!1)}}else n[c]=e,o.push(c),e.teardown(r,c,t)}let h="function"==typeof u;if(h){let t=yr(u);if(void 0!==t){n[c]=hl(c,u,t,n),i[c]=void 0;continue}}a&&a.indexOf(c)>=0||"concatenatedProperties"===c||"mergedProperties"===c?u=fl(c,u,i):l&&l.indexOf(c)>-1?u=gl(c,u,i):h&&(u=dl(c,u,i,n)),i[c]=u,n[c]=void 0}}function _l(t,e,n,i){let r=Z(n);if(void 0===r)return;let{observers:s,listeners:o}=r;if(void 0!==s){let n=i?Or:Ar;for(let i of s.paths)n(t,i,null,e,s.sync)}if(void 0!==o){let n=i?Er:Cr;for(let i of o)n(t,i,null,e)}}function vl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,ml(e,s,i,r,t,o,a);for(let l of o){let e=r[l],o=i[l];void 0!==e?("function"==typeof e&&_l(t,l,e,!0),rs(t,l,e,-1!==a.indexOf(l),!n)):void 0!==o&&is(t,l,o,s)}return s.isPrototypeMeta(t)||Nr(t),t}const bl=new WeakSet;class wl{mixins;properties;ownerConstructor;_without;constructor(t,e){bl.add(this),this.properties=function(t){if(void 0!==t)for(let e of Object.keys(t)){let n=Object.getOwnPropertyDescriptor(t,e);void 0===n.get&&void 0===n.set||Object.defineProperty(t,e,{value:ur(n)})}return t}(e),this.mixins=xl(t),this.ownerConstructor=void 0,this._without=void 0}static create(...t){return no(),new this(t,void 0)}static mixins(t){let e=Wt(t),n=[];return null===e||e.forEachMixins(t=>{t.properties||n.push(t)}),n}reopen(...t){if(0===t.length)return this;if(this.properties){let t=new wl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(xl(t)),this}apply(t,e=!1){return vl(t,[this],e)}applyPartial(t){return vl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(bl.has(t))return Sl(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new wl([this]);return e._without=t,e}keys(){return El(this)}toString(){return"(unknown mixin)"}}function xl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iSl(t,e,n))}function El(t,e=new Set,n=new Set){if(!n.has(t)){if(n.add(t),t.properties){let n=Object.keys(t.properties);for(let t of n)e.add(t)}else t.mixins&&t.mixins.forEach(t=>El(t,e,n));return e}}const Cl=wl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:kl("register"),unregister:kl("unregister"),hasRegistration:kl("has"),registeredOption:kl("getOption"),registerOptions:kl("options"),registeredOptions:kl("getOptions"),registerOptionsForType:kl("optionsForType"),registeredOptionsForType:kl("getOptionsForType")});function kl(t){return function(...e){return this.__registry__[t](...e)}}const Tl=wl.create({__container__:null,ownerInjection(){return this.__container__.ownerInjection()},lookup(t,e){return this.__container__.lookup(t,e)},destroy(){let t=this.__container__;t&&ea(()=>{t.destroy(),ia("destroy",t,"finalizeDestroy")}),this._super()},factoryFor(t){return this.__container__.factoryFor(t)}}),Rl=wl.create({compare:null}),Pl=wl.create({mergedProperties:["actions"],send(t,...e){if(this.actions&&this.actions[t]&&!0!==this.actions[t].apply(this,e))return;let n=us(this,"target");n&&n.send(...arguments)}});function Il(t){let e=us(t,"content");return ne(er(t),er(e)),e}function Ml(t,e,n){let i=$e(t),r=Ve(t,e,i);if(e in t)return r;{let s=[r,Ve(t,"content",i)],o=Il(t);return O(o)&&s.push(tr(o,e,n)),he(s)}}const Ol=wl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ml)},willDestroy(){this.set("content",null),this._super(...arguments)},isTruthy:Qr("content",function(){return Boolean(us(this,"content"))}),unknownProperty(t){let e=Il(this);return e?us(e,t):void 0},setUnknownProperty(t,e){let n=Ht(this);return n.isInitializing()||n.isPrototypeMeta(this)?(ns(this,t,null,e),e):bs(Il(this),t,e)}}),Al=wl.create(),Fl=wl.create(Al),Ll=Object.freeze(Object.defineProperty({__proto__:null,default:Fl},Symbol.toStringTag,{value:"Module"})),zl=wl.create({target:null,action:null,actionContext:null,actionContextObject:Qr("actionContext",function(){let t=us(this,"actionContext");if("string"==typeof t){let e=us(this,t);return void 0===e&&(e=us(d.lookup,t)),e}return t}),triggerAction(t={}){let{action:e,target:n,actionContext:i}=t;e=e||us(this,"action"),n=n||function(t){let e=us(t,"target");if(e){if("string"==typeof e){let n=us(t,e);return void 0===n&&(n=us(d.lookup,e)),n}return e}return t._target?t._target:null}(this),void 0===i&&(i=us(this,"actionContextObject")||this);let r=Array.isArray(i)?i:[i];if(n&&e){let t;if(t=null!=(s=n)&&"object"==typeof s&&"function"==typeof s.send?n.send(e,...r):n[e](...r),!1!==t)return!0}var s;return!1}});function Dl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const Nl={mixin(t){return t.on=this.on,t.off=this.off,t.trigger=this.trigger,t._promiseCallbacks=void 0,t},on(t,e){if("function"!=typeof e)throw new TypeError("Callback must be a function");let n=Dl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=Dl(this);if(!e)return void(n[t]=[]);let i=n[t],r=i.indexOf(e);-1!==r&&i.splice(r,1)},trigger(t,e,n){let i=Dl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Zl(t,n):Xl(t,n)},e=>Jl(t,e))}(t,e):"function"==typeof n?function(t,e,n){jl.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Zl(t,n):Xl(t,n))},e=>{i||(i=!0,Jl(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Jl(t,r))},t)}(t,e,n):Zl(t,e)}function Xl(t,e){if(t===e)Zl(t,e);else if(function(t){let e=typeof t;return null!==t&&("object"===e||"function"===e)}(e)){let n;try{n=e.then}catch(Nz){return void Jl(t,Nz)}Kl(t,e,n)}else Zl(t,e)}function Yl(t){t._onError&&t._onError(t._result),tu(t)}function Zl(t,e){t._state===Vl&&(t._result=e,t._state=Wl,0===t._subscribers.length?jl.instrument&&ql("fulfilled",t):jl.async(tu,t))}function Jl(t,e){t._state===Vl&&(t._state=Hl,t._result=e,jl.async(Yl,t))}function Ql(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Wl]=n,r[s+Hl]=i,0===s&&t._state&&jl.async(tu,t)}function tu(t){let e=t._subscribers,n=t._state;if(jl.instrument&&ql(n===Wl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;oeu(r,s,n,o))}return s}class iu{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t($l,i),this._abortOnReject=n,this._isUsingOwnPromise=t===au,this._isUsingOwnResolve=t.resolve===Gl,this._init(...arguments)}_init(t,e){let n=e.length||0;this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(e)}_enumerate(t){let e=this.length,n=this.promise;for(let i=0;n._state===Vl&&ie(t)),e,n)}else this._willSettleAt(i.resolve(t),e,n)}_eachEntry(t,e,n){null!==t&&"object"==typeof t?this._settleMaybeThenable(t,e,n):this._setResultAt(Wl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Vl&&(this._abortOnReject&&t===Hl?Jl(r,n):(this._setResultAt(t,e,n,i),this._checkFullfillment()))}_setResultAt(t,e,n,i){this._remaining--,this._result[e]=n}_willSettleAt(t,e,n){Ql(t,void 0,t=>this._settledAt(Wl,e,t,n),t=>this._settledAt(Hl,e,t,n))}}function ru(t,e,n){this._remaining--,this._result[e]=t===Wl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const su="rsvp_"+Date.now()+"-";let ou=0,au=class t{constructor(e,n){this._id=ou++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],jl.instrument&&ql("created",this),$l!==e&&("function"!=typeof e&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof t?function(t,e){let n=!1;try{e(e=>{n||(n=!0,Xl(t,e))},e=>{n||(n=!0,Jl(t,e))})}catch(i){Jl(t,i)}}(this,e):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}_onError(t){jl.after(()=>{this._onError&&jl.trigger("error",t,this._label)})}catch(t,e){return this.then(void 0,t,e)}finally(t,e){let n=this,i=n.constructor;return"function"==typeof t?n.then(e=>i.resolve(t()).then(()=>e),e=>i.resolve(t()).then(()=>{throw e})):n.then(t,t)}};function lu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function uu(t,e){let n=function(){let n=arguments.length,i=new Array(n+1),r=!1;for(let t=0;tcu(t,e,n,i))}(s,i,t,this):cu(s,i,t,this)};return n.__proto__=t,n}function cu(t,e,n,i){try{n.apply(i,e)}catch(Nz){Jl(t,Nz)}return t}function hu(t,e){return au.all(t,e)}au.cast=Gl,au.all=function(t,e){return Array.isArray(t)?new iu(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},au.race=function(t,e){let n=this,i=new n($l,e);if(!Array.isArray(t))return Jl(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Vl&&rXl(i,t),t=>Jl(i,t));return i},au.resolve=Gl,au.reject=function(t,e){let n=new this($l,e);return Jl(n,t),n},au.prototype._guidKey=su,au.prototype.then=nu;class du extends iu{constructor(t,e,n){super(t,e,!1,n)}}function pu(t,e){return Array.isArray(t)?new du(au,t,e).promise:au.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function fu(t,e){return au.race(t,e)}du.prototype._setResultAt=ru;class gu extends iu{constructor(t,e,n=!0,i){super(t,e,n,i)}_init(t,e){this._result={},this._enumerate(e)}_enumerate(t){let e,n,i=Object.keys(t),r=i.length,s=this.promise;this._remaining=r;for(let o=0;s._state===Vl&&o{throw t}),t}function bu(t){let e={resolve:void 0,reject:void 0};return e.promise=new au((t,n)=>{e.resolve=t,e.reject=n},t),e}yu.prototype._setResultAt=ru;class wu extends iu{constructor(t,e,n,i){super(t,e,!0,i,n)}_init(t,e,n,i,r){let s=e.length||0;this.length=s,this._remaining=s,this._result=new Array(s),this._mapFn=r,this._enumerate(e)}_setResultAt(t,e,n,i){if(i)try{this._eachEntry(this._mapFn(n,e),e,!1)}catch(Nz){this._settledAt(Hl,e,Nz,!1)}else this._remaining--,this._result[e]=n}}function xu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("map expects a function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new wu(au,t,e,n).promise})}function Su(t,e){return au.resolve(t,e)}function Eu(t,e){return au.reject(t,e)}const Cu={};class ku extends wu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==Cu);Zl(this.promise,t),this._result=null}}_setResultAt(t,e,n,i){if(i){this._result[e]=n;let t,i=!0;try{t=this._mapFn(n,e)}catch(Nz){i=!1,this._settledAt(Hl,e,Nz,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=Cu)}}function Tu(t,e,n){return"function"!=typeof e?au.reject(new TypeError("filter expects function as a second argument"),n):au.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new ku(au,t,e,n).promise})}let Ru,Pu=0;function Iu(t,e){Du[Pu]=t,Du[Pu+1]=e,Pu+=2,2===Pu&&ju()}const Mu="undefined"!=typeof window?window:void 0,Ou=Mu||{},Au=Ou.MutationObserver||Ou.WebKitMutationObserver,Fu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Lu="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function zu(){return()=>setTimeout(Nu,1)}const Du=new Array(1e3);function Nu(){for(let t=0;tt(Nu)}():Au?function(){let t=0,e=new Au(Nu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Lu?function(){let t=new MessageChannel;return t.port1.onmessage=Nu,()=>t.port2.postMessage(0)}():void 0===Mu&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Ru=t.runOnLoop||t.runOnContext,void 0!==Ru?function(){Ru(Nu)}:zu()}catch(t){return zu()}}():zu(),jl.async=Iu,jl.after=t=>setTimeout(t,0);const Uu=Su,Bu=(t,e)=>jl.async(t,e);function qu(){jl.on(...arguments)}function Gu(){jl.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Ul("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&qu(e,t[e])}const $u={asap:Iu,cast:Uu,Promise:au,EventTarget:Nl,all:hu,allSettled:pu,race:fu,hash:mu,hashSettled:_u,rethrow:vu,defer:bu,denodeify:uu,configure:Ul,on:qu,off:Gu,resolve:Su,reject:Eu,map:xu,async:Bu,filter:Tu},Vu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:Nl,Promise:au,all:hu,allSettled:pu,asap:Iu,async:Bu,cast:Uu,configure:Ul,default:$u,defer:bu,denodeify:uu,filter:Tu,hash:mu,hashSettled:_u,map:xu,off:Gu,on:qu,race:fu,reject:Eu,resolve:Su,rethrow:vu},Symbol.toStringTag,{value:"Module"}));function Wu(t){let e=function(t){if(!t)return;let e=t;return e.errorThrown?function(t){let e=t.errorThrown;return"string"==typeof e&&(e=new Error(e)),Object.defineProperty(e,"__reason_with_error_thrown__",{value:t,enumerable:!1}),e}(e):"UnrecognizedURLError"!==t.name&&"TransitionAborted"!==t.name?t:void 0}(t);if(e)throw e}Ul("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Ul("after",t=>{Qo.schedule(Zo,null,t)}),qu("error",Wu);const{isArray:Hu}=Array;function Ku(t){return null==t?[]:Hu(t)?t:[t]}function Xu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Yu=wl.prototype.reopen,Zu=new WeakSet,Ju=new WeakMap,Qu=new Set;function tc(t){Qu.has(t)||t.destroy()}function ec(t,e){let n=Ht(t);if(void 0!==e){let i=t.concatenatedProperties,r=t.mergedProperties,s=Object.keys(e);for(let o of s){let s=e[o],a=mr(t,o,n),l=void 0!==a;if(!l){if(void 0!==i&&i.length>0&&i.includes(o)){let e=t[o];s=e?Ku(e).concat(s):Ku(s)}if(void 0!==r&&r.length>0&&r.includes(o)){let e=t[o];s=Object.assign({},e,s)}}l?a.set(t,o,s):Xu(t)&&!(o in t)?t.setUnknownProperty(o,s):t[o]=s}}t.init(e),n.unsetInitializing();let i=n.observerEvents();if(void 0!==i)for(let r=0;rn.willDestroy()),Ht(e).setInitializing()}reopen(...t){return vl(this,t),this}init(t){}get isDestroyed(){return zt(this)}set isDestroyed(t){}get isDestroying(){return Lt(this)}set isDestroying(t){}destroy(){Qu.add(this);try{At(this)}finally{Qu.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${el(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Yu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),nl(e,el(n))):e=new this,t.length<=1?ec(e,n):ec(e,ic.apply(this,t)),e}static reopen(...t){return this.willReopen(),Yu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Zu.has(t)&&(Zu.delete(t),Ju.has(this)&&Ju.set(this,wl.create(this.PrototypeMixin)))}static reopenClass(...t){return vl(this,t),this}static detect(t){if("function"!=typeof t)return!1;for(;t;){if(t===this)return!0;t=t.superclass}return!1}static detectInstance(t){return t instanceof this}static metaForProperty(t){return mr(this.proto(),t)._meta||{}}static eachComputedProperty(t,e=this){this.proto();let n={};Ht(this.prototype).forEachDescriptors((i,r)=>{if(r.enumerable){let s=r._meta||n;t.call(e,i,s)}})}static get PrototypeMixin(){let t=Ju.get(this);return void 0===t&&(t=wl.create(),t.ownerConstructor=this,Ju.set(this,t)),t}static get superclass(){let t=Object.getPrototypeOf(this);return t!==Function.prototype?t:void 0}static proto(){let t=this.prototype;if(!Zu.has(t)){Zu.add(t);let e=this.superclass;e&&e.proto(),Ju.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${el(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function ic(...t){let e={};for(let n of t){let t=Object.keys(n);for(let i=0,r=t.length;is.push(t));return J(e,{paths:s,sync:i}),e},set:bs,setProperties:Ns,trySet:xs},Symbol.toStringTag,{value:"Module"}));function dc(t){if(!(t instanceof MouseEvent))return!1;let e=t.shiftKey||t.metaKey||t.altKey||t.ctrlKey,n=t.which>1;return!e&&!n}function pc(t){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://deprecations.emberjs.com/v1.x/#toc_binding-style-attributes. Style affected: "'+t+'"'}function fc(t){let e=t.lookup("-view-registry:main"),n=[];return Object.keys(e).forEach(t=>{let i=e[t];null===i.parentView&&n.push(i)}),n}function gc(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const mc=new WeakMap,yc=new WeakMap;function _c(t){return mc.get(t)||null}function vc(t){return yc.get(t)||null}function bc(t,e){mc.set(t,e)}function wc(t,e){yc.set(t,e)}function xc(t){mc.delete(t)}function Sc(t){yc.delete(t)}const Ec=new WeakMap;function Cc(t){return function(t,e){let n=[],i=Ec.get(t);return void 0!==i&&i.forEach(t=>{let i=e[t];!i||i.isDestroying||i.isDestroyed||n.push(i)}),n}(t,Yi(t).lookup("-view-registry:main"))}function kc(t,e){let n=Ec.get(t);void 0===n&&(n=function(t){let e=new Set;return Ec.set(t,e),e}(t)),n.add(gc(e))}function Tc(t){return t.renderer.getBounds(t)}function Rc(t){let e=Tc(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Pc(t){return Rc(t).getClientRects()}function Ic(t){return Rc(t).getBoundingClientRect()}const Mc="ember-application";class Oc extends ac{events={touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",focusin:"focusIn",focusout:"focusOut",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"};rootElement="body";_eventHandlers=Object.create(null);_didSetup=!1;finalEventNameMapping=null;_sanitizedRootElement=null;lazyEvents=new Map;_reverseEventNameMapping=null;setup(t,e){let n=this.finalEventNameMapping={...us(this,"events"),...t};this._reverseEventNameMapping=Object.keys(n).reduce((t,e)=>{let i=n[e];return i?{...t,[i]:e}:t},{});let i=this.lazyEvents;null!=e&&bs(this,"rootElement",e);let r=us(this,"rootElement"),s="string"!=typeof r?r:document.querySelector(r);s.classList.add(Mc),this._sanitizedRootElement=s;for(let o in n)Object.prototype.hasOwnProperty.call(n,o)&&i.set(o,n[o]??null);this._didSetup=!0}setupHandlerForBrowserEvent(t){this.setupHandler(this._sanitizedRootElement,t,this.finalEventNameMapping[t]??null)}setupHandlerForEmberEvent(t){let e=this._reverseEventNameMapping?.[t];e&&this.setupHandler(this._sanitizedRootElement,e,t)}setupHandler(t,e,n){if(null===n||!this.lazyEvents.has(e))return;let i=(t,e)=>{let i=_c(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(_c(e)){if(!1===i(e,t)){t.preventDefault(),t.stopPropagation();break}if(!0===t.cancelBubble)break}e=e.parentNode}while(e instanceof Element)};t.addEventListener(e,r),this.lazyEvents.delete(e)}destroy(){if(!1===this._didSetup)return;let t=this._sanitizedRootElement;if(t){for(let e in this._eventHandlers)t.removeEventListener(e,this._eventHandlers[e]);return t.classList.remove(Mc),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Ac=wl.create({on(t,e,n){return Er(this,t,e,n),this},one(t,e,n){return Er(this,t,e,n,!0),this},trigger(t,...e){kr(this,t,e)},off(t,e,n){return Cr(this,t,e,n),this},has(t){return Tr(this,t)}}),Fc=Object.freeze(Object.defineProperty({__proto__:null,default:Ac,on:Rr},Symbol.toStringTag,{value:"Module"}));let Lc=class extends ac{},zc=[],Dc={};const Nc=(()=>{let t="undefined"!=typeof window&&window.performance||{},e=t.now||t.mozNow||t.webkitNow||t.msNow||t.oNow;return e?e.bind(t):Date.now})();function jc(t,e,n){return n()}function Uc(){}function Bc(t,e,n){if(0===zc.length)return Uc;let i=Dc[t];if(i||(i=function(t){let e=[];for(let n of zc)n.regex.test(t)&&e.push(n.object);return Dc[t]=e,e}(t)),0===i.length)return Uc;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=Nc();for(let c of i)a.push(c.before(t,l,s));const u=i;return function(){let e=Nc();for(let n=0;na);return l===Uc?s.call(o):function(t,e,n,i){try{return t.call(i)}catch(r){throw n.exception=r,r}finally{e()}}(s,l,a,o)},reset:function(){zc.length=0,Dc={}},subscribe:function(t,e){let n=t.split("."),i=[];for(let o of n)"*"===o?i.push("[^\\.]*"):i.push(o);let r=i.join("\\.");r=`${r}(\\..*)?`;let s={pattern:t,regex:new RegExp(`^${r}$`),object:e};return zc.push(s),Dc={},s},subscribers:zc,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),$c=Object.freeze({...Gc}),Vc=Object.freeze({...Gc,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||jc(0,0,()=>ea(t,t.trigger,e,n))}),Wc=Object.freeze({...Vc,enter(t){t.renderer.register(t)}}),Hc=Object.freeze({...Gc,appendChild(){throw new Error("You can't call appendChild on a view being destroyed")},rerender(){throw new Error("You can't call rerender on a view being destroyed")}}),Kc=Object.freeze({preRender:$c,inDOM:Wc,hasElement:Vc,destroying:Hc});var Xc=Object.defineProperty;((t,e)=>{for(var n in e)Xc(t,n,{get:e[n],enumerable:!0})})({},{c:()=>nh,f:()=>Zc,g:()=>Jc,i:()=>eh,m:()=>Qc,n:()=>th,p:()=>ih});var Yc=new WeakMap;function Zc(t,e,n,i){return Jc(t.prototype,e,n,i)}function Jc(t,e,n,i){let r={configurable:!0,enumerable:!0,writable:!0,initializer:null};i&&(r.initializer=i);for(let s of n)r=s(t,e,r)||r;void 0===r.initializer?Object.defineProperty(t,e,r):function(t,e,n){let i=Yc.get(t);i||(i=new Map,Yc.set(t,i)),i.set(e,n)}(t,e,r)}function Qc({prototype:t},e,n){return th(t,e,n)}function th(t,e,n){let i={...Object.getOwnPropertyDescriptor(t,e)};for(let r of n)i=r(t,e,i)||i;void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(t):void 0,i.initializer=void 0),Object.defineProperty(t,e,i)}function eh(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Yc.get(n)?.get(e);if(t)return t;n=n.prototype}}(t.constructor,e);n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(t):void 0})}function nh(t,e){return e.reduce((t,e)=>e(t)||t,t)}function ih(t,e){for(let[n,i,r]of e)"field"===n?rh(t,i,r):th(t,i,r);return t}function rh(t,e,n){let i={configurable:!0,enumerable:!0,writable:!0,initializer:()=>Object.getOwnPropertyDescriptor(t,e)?.value};for(let r of n)i=r(t,e,i)||i;i.initializer&&(i.value=i.initializer.call(t),delete i.initializer),Object.defineProperty(t,e,i)}class sh extends(Lc.extend(Ac,Pl)){isView=!0;_superTrigger;_superHas;init(t){super.init(t),this._superTrigger=this.trigger,this.trigger=this._trigger,this._superHas=this.has,this.has=this._has,this.parentView??=null,this._state="preRender",this._currentState=this._states.preRender}static{Jc(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void eh(this,"renderer");instrumentDetails(t){return t.object=this.toString(),t.containerKey=this._debugContainerKey,t.view=this,t}_trigger(t,...e){this._superTrigger(t,...e);let n=this[t];if("function"==typeof n)return n.apply(this,e)}_has(t){return"function"==typeof this[t]||this._superHas(t)}static isViewFactory=!0}sh.prototype._states=Kc;const oh=wl.create({send(t,...e){let n=this.actions&&this.actions[t];if(n&&!0!==n.apply(this,e))return;let i=us(this,"target");i&&i.send(...arguments)}}),ah={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object AsyncFunction]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},{toString:lh}=Object.prototype;function uh(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=ah[lh.call(t)]||"object";return"function"===e?nc.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof nc?e="instance":t instanceof Date&&(e="date")),e}const ch={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10,regexp:11,filelist:12,error:13};function hh(t,e){return Math.sign(t-e)}function dh(t,e){if(t===e)return 0;let n=uh(t),i=uh(e);if("instance"===n&&ph(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&ph(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=hh(ch[n],ch[i]);if(0!==r)return r;switch(n){case"boolean":return hh(Number(t),Number(e));case"number":return hh(t,e);case"string":return hh(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function mh(t,e=gh){let n=Oh(),i=new Set,r="function"==typeof e?e:t=>us(t,e);return t.forEach(t=>{let e=r(t);i.has(e)||(i.add(e),n.push(t))}),n}function yh(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function _h(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function xh(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),_h(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Sh(t,e,n){return Ms(t,e,n??1,fh),t}function Eh(t,e,n){return Ms(t,e,0,[n]),n}function Ch(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Rh.detect(t))return!0;let e=uh(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function kh(t){let e=Qr(t);return e.enumerable=!1,e}function Th(t){return this.map(e=>us(e,t))}const Rh=wl.create(Al,{init(){this._super(...arguments),Gi.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":kh({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:kh(function(){return Ji(this,0)}).readOnly(),lastObject:kh(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Oh(),r=this.length;for(t<0&&(t=r+t),n=void 0===e||e>r?r:e<0?r+e:e;t=n)&&(e=n-1),e<0&&(e+=n);for(let i=e;i>=0;i--)if(Ji(this,i)===t)return i;return-1},forEach(t,e=null){let n=this.length;for(let i=0;ibs(n,t,e))},map(t,e=null){let n=Oh();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Th,filter(t,e=null){let n=Oh();return this.forEach((i,r,s)=>{t.call(e,i,r,s)&&n.push(i)}),n},reject(t,e=null){return this.filter(function(){return!t.apply(e,arguments)})},filterBy(){return this.filter(yh(...arguments))},rejectBy(){return this.reject(yh(...arguments))},find(t,e=null){return vh(this,t,e)},findBy(){return vh(this,yh(...arguments))},every(t,e=null){return wh(this,t,e)},isEvery(){return wh(this,yh(...arguments))},any(t,e=null){return bh(this,t,e)},isAny(){return bh(this,yh(...arguments))},reduce(t,e){let n=e;return this.forEach(function(e,i){n=t(n,e,i,this)},this),n},invoke(t,...e){let n=Oh();return this.forEach(i=>n.push(i[t]?.(...e))),n},toArray(){return this.map(t=>t)},compact(){return this.filter(t=>null!=t)},includes(t,e){return-1!==xh(this,t,e,!0)},sortBy(){let t=arguments;return this.toArray().sort((e,n)=>{for(let i=0;ie!==t:t=>t==t;return this.filter(e)}}),Ph=wl.create(Rh,Fl,{clear(){let t=this.length;return 0===t||this.replace(0,t,fh),this},insertAt(t,e){return Eh(this,t,e),this},removeAt(t,e){return Sh(this,t,e)},pushObject(t){return Eh(this,this.length,t)},pushObjects(t){return this.replace(this.length,0,t),this},popObject(){let t=this.length;if(0===t)return null;let e=Ji(this,t-1);return this.removeAt(t-1,1),e},shiftObject(){if(0===this.length)return null;let t=Ji(this,0);return this.removeAt(0),t},unshiftObject(t){return Eh(this,0,t)},unshiftObjects(t){return this.replace(0,0,t),this},reverseObjects(){let t=this.length;if(0===t)return this;let e=this.toArray().reverse();return this.replace(0,t,e),this},setObjects(t){if(0===t.length)return this.clear();let e=this.length;return this.replace(0,e,t),this},removeObject(t){let e=this.length||0;for(;--e>=0;)Ji(this,e)===t&&this.removeAt(e);return this},removeObjects(t){Wr();for(let e=t.length-1;e>=0;e--)this.removeObject(t[e]);return Hr(),this},addObject(t){return this.includes(t)||this.pushObject(t),this},addObjects(t){return Wr(),t.forEach(t=>this.addObject(t)),Hr(),this}});let Ih=wl.create(Ph,sc,{objectAt(t){return this[t]},replace(t,e,n=fh){return As(this,t,e,n),this}});const Mh=["length"];let Oh;Ih.keys().forEach(t=>{Array.prototype[t]&&Mh.push(t)}),Ih=Ih.without(...Mh),Oh=function(t){return $i(t)?t:Ih.apply(t??[])};const Ah=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Oh},MutableArray:Ph,get NativeArray(){return Ih},default:Rh,isArray:Ch,makeArray:Ku,removeAt:Sh,uniqBy:mh},Symbol.toStringTag,{value:"Module"})),Fh=ct("MODEL"),Lh=wl.create(Pl,{isController:!0,concatenatedProperties:["queryParams"],target:null,store:null,init(){this._super(...arguments);let t=Yi(this);t&&(this.namespace=t.lookup("application:main"),this.target=t.lookup("router:main"))},model:Qr({get(){return this[Fh]},set(t,e){return this[Fh]=e}}),queryParams:null,_qpDelegate:null,_qpChanged(t,e){let n=e.indexOf(".[]"),i=-1===n?e:e.slice(0,n);(0,t._qpDelegate)(i,us(t,i))}});class zh extends(Lc.extend(Lh)){}const Dh=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Lh,default:zh,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),Nh=Symbol("ENGINE_PARENT");function jh(t){return t[Nh]}class Uh extends(ac.extend(Cl,Tl)){static setupRegistry(t,e){}[Nh];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new sl({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Vu.Promise(e=>{e(this._bootSync(t))})),this._bootPromise}_bootSync(t){return this._booted||(this.cloneParentDependencies(),this.setupRegistry(t),this.base.runInstanceInitializers(this),this._booted=!0),this}setupRegistry(t=this.__container__.lookup("-environment:main")){this.constructor.setupRegistry(this.__registry__,t)}unregister(t){this.__container__.reset(t),this.__registry__.unregister(t)}buildChildEngineInstance(t,e={}){let n=this.lookup(`engine:${t}`);if(!n)throw new Error(`You attempted to mount the engine '${t}', but it is not registered with its parent.`);let i=n.buildInstance(e);return i[Nh]=this,i}cloneParentDependencies(){const t=jh(this);["route:basic","service:-routing"].forEach(e=>{let n=t.resolveRegistration(e);this.register(e,n)});let e=t.lookup("-environment:main");this.register("-environment:main",e,{instantiate:!1});let n=["router:main",ll`-bucket-cache:main`,"-view-registry:main","renderer:-dom","service:-document"];e.isInteractive&&n.push("event_dispatcher:main"),n.forEach(e=>{let n=t.lookup(e);this.register(e,n,{instantiate:!1})})}}let Bh=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Me(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function qh(...t){if(lr(t)){let[e,n,i]=t;return Bh(0,n,i)}{const e=t[0];let n=function(t,n){return Bh(0,n,e)};return vr(n),n}}vr(qh);var Gh=Object.create;function $h(){var t=Gh(null);return t.__=void 0,delete t.__,t}var Vh=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Vh.prototype.to=function(t,e){var n=this.delegate;if(n&&n.willAddRoute&&(t=n.willAddRoute(this.matcher.target,t)),this.matcher.add(this.path,t),e){if(0===e.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,t,e,this.delegate)}};var Wh=function(t){this.routes=$h(),this.children=$h(),this.target=t};function Hh(t,e,n){return function(i,r){var s=t+i;if(!r)return new Vh(s,e,n);r(Hh(s,e,n))}}function Kh(t,e,n){for(var i=0,r=0;r0&&47===e.charCodeAt(0)&&(e=e.substr(1));for(var i=e.split("/"),r=void 0,s=void 0,o=0;o2&&"[]"===s.slice(o-2)&&(a=!0,n[s=s.slice(0,o-2)]||(n[s]=[])),l=r[1]?md(r[1]):""),a?n[s].push(l):n[s]=l}return n},yd.prototype.recognize=function(t){var e,n=[this.rootState],i={},r=!1,s=t.indexOf("#");-1!==s&&(t=t.substr(0,s));var o=t.indexOf("?");if(-1!==o){var a=t.substr(o+1,t.length);t=t.substr(0,o),i=this.parseQueryString(a)}"/"!==t.charAt(0)&&(t="/"+t);var l=t;yd.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Yh(t):(t=decodeURI(t),l=decodeURI(l));var u=t.length;u>1&&"/"===t.charAt(u-1)&&(t=t.substr(0,u-1),l=l.substr(0,l.length-1),r=!0);for(var c=0;c0){let r=t[i-1];if(function(t){if(t&&"object"==typeof t){let e=t;return"queryParams"in e&&Object.keys(e.queryParams).every(t=>"string"==typeof t)}return!1}(r))return n=r.queryParams,e=bd.call(t,0,i-1),[e,n]}return[t,null]}function Ed(t){for(let e in t){let n=t[e];if("number"==typeof n)t[e]=""+n;else if(Array.isArray(n))for(let t=0,e=n.length;t{throw this.router.transitionDidError(t,this)},Id("Handle Abort"))}else this.promise=au.resolve(this[Md]),this[Od]={}}then(t,e,n){return this.promise.then(t,e,n)}catch(t,e){return this.promise.catch(t,e)}finally(t,e){return this.promise.finally(t,e)}abort(){this.rollback();let t=new Ld(this.router,void 0,void 0,void 0);return t.to=this.from,t.from=this.from,t.isAborted=!0,this.router.routeWillChange(t),this.router.routeDidChange(t),this}rollback(){this.isAborted||(Cd(this.router,this.sequence,this.targetName+": transition was aborted"),void 0!==this.intent&&null!==this.intent&&(this.intent.preTransitionState=this.router.state),this.isAborted=!0,this.isActive=!1,this.router.activeTransition=void 0)}redirect(t){this[Fd]=t,this.rollback(),this.router.routeWillChange(t)}retry(){this.abort();let t=this.router.transitionByIntent(this.intent,!1);return null!==this.urlMethod&&t.method(this.urlMethod),t}method(t){return this.urlMethod=t,this}send(t=!1,e,n,i,r){this.trigger(t,e,n,i,r)}trigger(t=!1,e,...n){"string"==typeof t&&(e=t,t=!1),this.router.triggerEvent(this[Md].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Fd]?this[Fd].followRedirects():au.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){Cd(this.router,this.sequence,t)}}function zd(t){return Cd(t.router,t.sequence,"detected abort."),_d()}function Dd(t){return"object"==typeof t&&t instanceof Ld&&t.isTransition}const Nd=function(){function t(e){let n=Error.call(this,e);this.name="UnrecognizedURLError",this.message=e||"UnrecognizedURL",Error.captureStackTrace?Error.captureStackTrace(this,t):this.stack=n.stack}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}();function jd(t,e){let n=t.factoryFor("controller:basic").class;n=class extends n{toString(){return`(generated ${e} controller)`}};let i=`controller:${e}`;return t.register(i,n),t.factoryFor(i)}function Ud(t,e){jd(t,e);let n=`controller:${e}`;return t.lookup(n)}const Bd=/\./g;function qd(t){let e,n,i=(t=t.slice())[t.length-1];return function(t){if(t&&"object"==typeof t){let e=t.queryParams;if(e&&"object"==typeof e)return Object.keys(e).every(t=>"string"==typeof t)}return!1}(i)?(t.pop(),e=i.queryParams):e={},"string"==typeof t[0]&&(n=t.shift()),{routeName:n,models:t,queryParams:e}}function Gd(t,e){if(e._namesStashed)return;let n,i=e[e.length-1].name,r=t._routerMicrolib.recognizer.handlersFor(i);for(let s=0;s(t[e]=n,t),s)}serializeQueryParamKey(t){return t}serializeQueryParam(t,e,n){return this._router._serializeQueryParam(t,n)}deserializeQueryParam(t,e,n){return this._router._deserializeQueryParam(t,n)}_optionsForQueryParam(t){const e=us(this,"queryParams");return us(e,t.urlKey)||us(e,t.prop)||e[t.urlKey]||e[t.prop]||{}}resetController(t,e,n){return this}exit(t){this.deactivate(t),this.trigger("deactivate",t),this.teardownViews()}_internalReset(t,e){let n=this.controller;n._qpDelegate=us(this,"_qp").states.inactive,this.resetController(n,t,e)}enter(t){this[Yd]=void 0,this.activate(t),this.trigger("activate",t)}deactivate(t){}activate(t){}intermediateTransitionTo(...t){let[e,...n]=function(t,e){let n,i=Yi(t),r=i.mountPoint;if(i.routable&&"string"==typeof e[0]){if(n=e[0],Hd(n))throw new Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.");n=`${r}.${n}`,e[0]=n}return e}(this,t);this._router.intermediateTransitionTo(e,...n)}refresh(){return this._router._routerMicrolib.refresh(this)}setup(t,e){let n=this.controllerName||this.routeName,i=this.controllerFor(n,!0)??this.generateController(n),r=us(this,"_qp");if(!this.controller){let t=r.propertyNames;!function(t,e){e.forEach(e=>{if(void 0===mr(t,e)){let n=it(t,e);null===n||"function"!=typeof n.get&&"function"!=typeof n.set||ns(t,e,qh({get:n.get,set:n.set}))}Or(t,`${e}.[]`,t,t._qpChanged,!1)})}(i,t),this.controller=i}let s=r.states;if(i._qpDelegate=s.allowOverrides,e){Gd(this._router,e[Md].routeInfos);let t=this._bucketCache,n=e[Od];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Vd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=tp(this,e[Md]);Ns(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Xd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Vd(n.route.fullRouteName,n.parts,n.values);i.stash(r,t,e)}beforeModel(t){}afterModel(t,e){}redirect(t,e){}contextDidChange(){this.currentModel=this.context}model(t,e){let n,i,r=us(this,"_qp").map;for(let s in t){if("queryParams"===s||r&&s in r)continue;let t=s.match(/^(.*)_id$/);null!==t&&(n=t[1]),i=!0}if(!n){if(i)return Object.assign({},t);if(e.resolveIndex<1)return;return e[Md].routeInfos[e.resolveIndex-1].context}}deserialize(t,e){return this.model(this._paramsFor(this.routeName,t),e)}setupController(t,e,n){t&&void 0!==e&&bs(t,"model",e)}controllerFor(t,e=!1){let n=Yi(this),i=n.lookup(`route:${t}`);return i&&i.controllerName&&(t=i.controllerName),n.lookup(`controller:${t}`)}generateController(t){return Ud(Yi(this),t)}modelFor(t){let e,n=Yi(this),i=this._router&&this._router._routerMicrolib?this._router._routerMicrolib.activeTransition:void 0;e=n.routable&&void 0!==i?np(n,t):t;let r=n.lookup(`route:${e}`);if(null!=i){let t=r&&r.routeName||e;if(Object.prototype.hasOwnProperty.call(i.resolvedModels,t))return i.resolvedModels[t]}return r?.currentModel}[Yd]=void 0;[Xd](){this[Yd]=function(t){let e,n=Yi(t),i=t.routeName,r=n.lookup(`controller:${t.controllerName||i}`),s=t.currentModel,o=n.lookup(`template:${t.templateName||i}`);return e=o?xi(o)?o:o(n):t._topLevelViewTemplate(n),{owner:n,name:i,controller:r,model:s,template:e}}(this),ra(this._router,"_setOutlets")}willDestroy(){this.teardownViews()}teardownViews(){this[Yd]&&(this[Yd]=void 0,ra(this._router,"_setOutlets"))}buildRouteInfoMetadata(){}_paramsFor(t,e){return void 0!==this._router._routerMicrolib.activeTransition?this.paramsFor(t):e}get _store(){const t=Yi(this);return this.routeName,{find(e,n){let i=t.factoryFor(`model:${e}`);if(i)return i=i.class,i.find(n)}}}static{th(this.prototype,"_store",[Qr])}get _qp(){let t={},e=this.controllerName||this.routeName,n=Yi(this),i=n.lookup(`controller:${e}`),r=us(this,"queryParams"),s=Object.keys(r).length>0;i?t=function(t,e){let n={},i={defaultValue:!0,type:!0,scope:!0,as:!0};for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]={...t[r],...e[r]},i[r]=!0);for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!i[r]&&(n[r]={...e[r],...t[r]});return n}(function(t){let e={};for(let n of t)Wd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Ud(n,e),t=r);let o=[],a={},l=[];for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;if("unknownProperty"===u||"_super"===u)continue;let n,r=t[u],s=r.scope||"model";"controller"===s&&(n=[]);let c=r.as||this.serializeQueryParamKey(u),h=us(i,u);h=ep(h);let d=r.type||uh(h),p=this.serializeQueryParam(h,c,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:h,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:c,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[c]=a[f]=g,o.push(g),l.push(u)}return{qps:o,map:a,propertyNames:l,states:{inactive:(t,e)=>{let n=a[t];this._qpChanged(t,e,n)},active:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._activeQPChanged(n,e)},allowOverrides:(t,e)=>{let n=a[t];return this._qpChanged(t,e,n),this._updatingQPChanged(n)}}}}static{th(this.prototype,"_qp",[Qr])}}function Jd(t){return t[Yd]}function Qd(t,e){if(e.fullQueryParams)return e.fullQueryParams;let n=e.routeInfos.every(t=>t.route),i={...e.queryParams};return t._deserializeQueryParams(e.routeInfos,i),n&&(e.fullQueryParams=i),i}function tp(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=Qd(t._router,e),s=e.queryParamsFor[n]={},o=us(t,"_qp").qps;for(let a of o){let t=a.prop in r;s[a.prop]=t?r[a.prop]:ep(a.defaultValue)}return s}function ep(t){return Array.isArray(t)?Oh(t.slice()):t}function np(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const ip=Zd.prototype.serialize;Zd.reopen({mergedProperties:["queryParams"],queryParams:{},templateName:null,controllerName:null,send(...t){if(this._router&&this._router._routerMicrolib||!v())this._router.send(...t);else{let e=t.shift(),n=this.actions[e];if(n)return n.apply(this,t)}},actions:{queryParamsDidChange(t,e,n){let i=us(this,"_qp").map,r=Object.keys(t).concat(Object.keys(n));for(let s of r){let t=i[s];if(t&&us(this._optionsForQueryParam(t),"refreshModel")&&this._router.currentState){this.refresh();break}}return!0},finalizeQueryParamChange(t,e,n){if("application"!==this.fullRouteName)return!0;if(!n)return;let i,r=n[Md].routeInfos,s=this._router,o=s._queryParamsFor(r),a=s._qpUpdates,l=!1;Gd(s,r);for(let u of o.qps){let r,s,o=u.route,c=o.controller,h=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(c,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):h?(s=t[h],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=ep(u.defaultValue)),c._qpDelegate=us(o,"_qp").states.inactive,s!==u.serializedValue){if(n.queryParamsOnly&&!1!==i){let t=us(o._optionsForQueryParam(u),"replace");t?i=!0:!1===t&&(i=!1)}bs(c,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:h||u.urlKey})}!0===l&&Ur(!1),i&&n.method("replace"),o.qps.forEach(t=>{let e=us(t.route,"_qp");t.route.controller._qpDelegate=us(e,"states.active")}),s._qpUpdates.clear()}}});class rp{cache;constructor(){this.cache=new Map}has(t){return this.cache.has(t)}stash(t,e,n){let i=this.cache.get(t);void 0===i&&(i=new Map,this.cache.set(t,i)),i.set(e,n)}lookup(t,e,n){if(!this.has(t))return n;let i=this.cache.get(t);return i.has(e)?i.get(e):n}}let sp=0;function op(t){return"function"==typeof t}class ap{parent;matches;enableLoadingSubstates;explicitIndex=!1;options;constructor(t=null,e){this.parent=t,this.enableLoadingSubstates=Boolean(e&&e.enableLoadingSubstates),this.matches=[],this.options=e}route(t,e,n){let i,r=null,s=`/_unused_dummy_error_path_route_${t}/:error`;if(op(e)?(i={},r=e):op(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(up(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),up(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=lp(this,t,i.resetNamespace),n=new ap(e,this.options);up(n,"loading"),up(n,"error",{path:s}),r.call(n),up(this,t,i,n.generate())}else up(this,t,i)}push(t,e,n,i){let r=e.split(".");if(this.options.engineInfo){let t=e.slice(this.options.engineInfo.fullName.length+1),n=Object.assign({localFullName:t},this.options.engineInfo);i&&(n.serializeMethod=i),this.options.addRouteForEngine(e,n)}else if(i)throw new Error(`Defining a route serializer on route '${e}' outside an Engine is not allowed.`);""!==t&&"/"!==t&&"index"!==r[r.length-1]||(this.explicitIndex=!0),this.matches.push(t,e,n)}generate(){let t=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),e=>{for(let n=0;n0){let r=Object.assign({},n);return this.emberRouter._prepareQueryParams(t,e,r),Kd(r,i.queryParams)}return!0}}let hp=new WeakMap;function dp(t,e={},n={includeAttributes:!1,localizeMapUpdates:!1}){const i=new WeakMap;return t.map((r,s)=>{let{name:o,params:a,paramNames:l,context:u,route:c}=r,h=r;if(hp.has(h)&&n.includeAttributes){let t=hp.get(h);t=function(t,e){let n={get metadata(){return fp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(c,t);let e=pp(t,u);return i.set(h,t),n.localizeMapUpdates||hp.set(h,e),e}const d=n.localizeMapUpdates?i:hp;let p={find(e,n){let i,r=[];3===e.length&&(r=t.map(t=>d.get(t)));for(let s=0;t.length>s;s++)if(i=d.get(t[s]),e.call(n,i,s,r))return i},get name(){return o},get paramNames(){return l},get metadata(){return fp(r.route)},get parent(){let e=t[s-1];return void 0===e?null:d.get(e)},get child(){let e=t[s+1];return void 0===e?null:d.get(e)},get localName(){let t=this.name.split(".");return t[t.length-1]},get params(){return a},get queryParams(){return e}};return n.includeAttributes&&(p=pp(p,u)),i.set(r,p),n.localizeMapUpdates||hp.set(r,p),p})}function pp(t,e){let n={get attributes(){return e}};return!Object.isExtensible(t)||t.hasOwnProperty("attributes")?Object.freeze(Object.assign({},t,n)):Object.assign(t,n)}function fp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class gp{constructor(t,e,n,i){this._routePromise=void 0,this._route=null,this.params={},this.isResolved=!1,this.name=e,this.paramNames=n,this.router=t,i&&this._processRoute(i)}getModel(t){return au.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return au.resolve(this.routePromise).then(e=>(vd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>vd(t)).then(()=>this.getModel(t)).then(e=>(vd(t),e)).then(e=>this.runAfterModelHook(t,e)).then(e=>this.becomeResolved(t,e))}becomeResolved(t,e){let n,i=this.serialize(e);t&&(this.stashResolvedModel(t,e),t[Od]=t[Od]||{},t[Od][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=hp.get(this),o=new mp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&hp.set(o,s),o}shouldSupersede(t){if(!t)return!0;let e=t.context===this.context;return t.name!==this.name||"context"in this&&!e||this.hasOwnProperty("params")&&!function(t,e){if(t===e)return!0;if(!t||!e)return!1;for(let n in t)if(t.hasOwnProperty(n)&&t[n]!==e[n])return!1;return!0}(this.params,t.params)}get route(){return null!==this._route?this._route:this.fetchRoute()}set route(t){this._route=t}get routePromise(){return this._routePromise||this.fetchRoute(),this._routePromise}set routePromise(t){this._routePromise=t}log(t,e){t.log&&t.log(this.name+": "+e)}updateRoute(t){return t._internalName=this.name,this.route=t}runBeforeModelHook(t){let e;return t.trigger&&t.trigger(!0,"willResolveModel",t,this.route),this.route&&void 0!==this.route.beforeModel&&(e=this.route.beforeModel(t)),Dd(e)&&(e=null),au.resolve(e)}runAfterModelHook(t,e){let n,i=this.name;var r;return this.stashResolvedModel(t,e),void 0!==this.route&&void 0!==this.route.afterModel&&(n=this.route.afterModel(e,t)),n=Dd(r=n)?null:r,au.resolve(n).then(()=>t.resolvedModels[i])}stashResolvedModel(t,e){t.resolvedModels=t.resolvedModels||{},t.resolvedModels[this.name]=e}fetchRoute(){let t=this.router.getRoute(this.name);return this._processRoute(t)}_processRoute(t){return this.routePromise=au.resolve(t),null!==(e=t)&&"object"==typeof e&&"function"==typeof e.then?(this.routePromise=this.routePromise.then(t=>this.updateRoute(t)),this.route=void 0):t?this.updateRoute(t):void 0;var e}}class mp extends gp{constructor(t,e,n,i,r,s){super(t,e,n,r),this.params=i,this.isResolved=!0,this.context=s}resolve(t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),au.resolve(this)}}class yp extends gp{constructor(t,e,n,i,r){super(t,e,n,r),this.params={},i&&(this.params=i)}getModel(t){let e=this.params;t&&t[Ad]&&(e={},xd(e,this.params),e.queryParams=t[Ad]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&Dd(n)&&(n=void 0),au.resolve(n)}}class _p extends gp{constructor(t,e,n,i){super(t,e,n),this.context=i,this.serializer=this.router.getSerializer(e)}getModel(t){return void 0!==this.router.log&&this.router.log(this.name+": resolving provided model"),super.getModel(t)}serialize(t){let{paramNames:e,context:n}=this;t||(t=n);let i={};if(kd(t))return i[e[0]]=t,i;if(this.serializer)return this.serializer.call(null,t,e);if(void 0!==this.route&&this.route.serialize)return this.route.serialize(t,e);if(1!==e.length)return;let r=e[0];return/_id$/.test(r)?i[r]=t.id:i[r]=t,i}}class vp{constructor(t,e={}){this.router=t,this.data=e}}function bp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Ep(n,t.routeInfos[r].route,s,t)}function wp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=xp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function xp(t,e,n){let i=t.routeInfos[e.resolveIndex].isResolved;if(t.routeInfos[e.resolveIndex++]=n,!i){let{route:t}=n;void 0!==t&&t.redirect&&t.redirect(n.context,e)}return vd(e),wp(t,e)}class Sp{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Td(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Td(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=wp.bind(null,this,t),i=bp.bind(null,this,t);return au.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Ep{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class Cp extends vp{constructor(t,e,n,i=[],r={},s){super(t,s),this.preTransitionState=void 0,this.name=e,this.pivotHandler=n,this.contexts=i,this.queryParams=r}applyToState(t,e){let n=this.router.recognizer.handlersFor(this.name),i=n[n.length-1].handler;return this.applyToHandlers(t,n,i,e,!1)}applyToHandlers(t,e,n,i,r){let s,o,a=new Sp,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],c=o.handler,h=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(c,o.names,l,h):this.getHandlerInfoForDynamicSegment(c,o.names,l,h,n,s):this.createParamHandlerInfo(c,o.names,l,h),r){d=d.becomeResolved(null,d.context);let t=h&&h.context;o.names.length>0&&void 0!==h.context&&d.context===t&&(d.params=h&&h.params),d.context=t}let p=h;(s>=u||d.shouldSupersede(h))&&(u=Math.min(s,u),p=d),i&&!r&&(p=p.becomeResolved(null,p.context)),a.routeInfos.unshift(p)}if(l.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(a.routeInfos,u),xd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&xd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],kd(o))return this.createParamHandlerInfo(t,e,n,i);n.pop()}else{if(i&&i.name===t)return i;if(!this.preTransitionState)return i;{let t=this.preTransitionState.routeInfos[s];o=null==t?void 0:t.context}}return new _p(this.router,t,e,o)}createParamHandlerInfo(t,e,n,i){let r={},s=e.length,o=[];for(;s--;){let a=i&&t===i.name&&i.params||{},l=n[n.length-1],u=e[s];kd(l)?r[u]=""+n.pop():a.hasOwnProperty(u)?r[u]=a[u]:o.push(u)}if(o.length>0)throw new Error(`You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route ${t}. Missing params: ${o}`);return new yp(this.router,t,e,r)}}class kp extends vp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Sp,r=this.router.recognizer.recognize(this.url);if(!r)throw new Nd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new Nd(o);return t}for(e=0,n=r.length;e=0&&i;--n){let r=e[n],s=r.handler;t.add(e,{as:s}),i="/"===r.path||""===r.path||".index"===s.slice(-6)}})}hasRoute(t){return this.recognizer.hasRoute(t)}queryParamsTransition(t,e,n,i){if(this.fireQueryParamDidChange(i,t),!e&&this.activeTransition)return this.activeTransition;{let t=new Ld(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Ad]=i.queryParams,this.toReadOnlyInfos(t,i),this.routeWillChange(t),t.promise=t.promise.then(e=>(t.isAborted||(this._updateURL(t,n),this.didTransition(this.currentRouteInfos),this.toInfos(t,i.routeInfos,!0),this.routeDidChange(t)),e),null,Id("Transition complete")),t}}transitionByIntent(t,e){try{return this.getTransitionByIntent(t,e)}catch(n){return new Ld(this,t,void 0,n,void 0)}}recognize(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=dp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new kp(this,t),n=this.generateNewState(e);if(null===n)return au.reject(`URL ${t} was not recognized`);let i=new Ld(this,e,n,void 0);return i.then(()=>{let t=dp(n.routeInfos,i[Ad],{includeAttributes:!0,localizeMapUpdates:!1});return t[t.length-1]})}generateNewState(t){try{return t.applyToState(this.state,!1)}catch(e){return null}}getTransitionByIntent(t,e){let n,i=!!this.activeTransition,r=i?this.activeTransition[Md]:this.state,s=t.applyToState(r,e),o=Rd(r.queryParams,s.queryParams);if(Rp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Ld(this,void 0,void 0)}if(e){let t=new Ld(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Ld(this,t,s,void 0,this.activeTransition),function(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;nthis.finalizeTransition(n,t),null,Id("Settle transition promise when transition is finalized")),i||this.notifyExistingHandlers(s,n),this.fireQueryParamDidChange(s,o),n}doTransition(t,e=[],n=!1){let i,r=e[e.length-1],s={};if(r&&Object.prototype.hasOwnProperty.call(r,"queryParams")&&(s=e.pop().queryParams),void 0===t){Cd(this,"Updating query params");let{routeInfos:t}=this.state;i=new Cp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(Cd(this,"Attempting URL transition to "+t),i=new kp(this,t)):(Cd(this,"Attempting transition to "+t),i=new Cp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{Cd(t.router,t.sequence,"Resolved all models on destination route; finalizing transition.");let n=e.routeInfos;return this.setupContexts(e,t),t.isAborted?(this.state.routeInfos=this.currentRouteInfos,au.reject(zd(t))):(this._updateURL(t,e),t.isActive=!1,this.activeTransition=void 0,this.triggerEvent(this.currentRouteInfos,!0,"didTransition",[]),this.didTransition(this.currentRouteInfos),this.toInfos(t,e.routeInfos,!0),this.routeDidChange(t),Cd(this,t.sequence,"TRANSITION COMPLETE."),n[n.length-1].route)}catch(i){if("object"!=typeof(n=i)||null===n||"TRANSITION_ABORTED"!==n.code){let e=t[Md].routeInfos;t.trigger(!0,"error",i,t,e[e.length-1].route),t.abort()}throw i}var n}setupContexts(t,e){let n,i,r,s=this.partitionRoutes(this.state,t);for(n=0,i=s.exited.length;n=0;--o){let t=i[o];xd(s,t.params),t.route.inaccessibleByURL&&(n=null)}if(n){s.queryParams=t._visibleQueryParams||e.queryParams;let i=this.recognizer.generate(r,s),o=t.isCausedByInitialTransition,a="replace"===n&&!t.isCausedByAbortingTransition,l=t.queryParamsOnly&&"replace"===n,u="replace"===n&&t.isCausedByAbortingReplaceTransition;o||a||l||u?this.replaceURL(i):this.updateURL(i)}}finalizeQueryParamChange(t,e,n){for(let s in e)e.hasOwnProperty(s)&&null===e[s]&&delete e[s];let i=[];this.triggerEvent(t,!0,"finalizeQueryParamChange",[e,i,n]),n&&(n._visibleQueryParams={});let r={};for(let s=0,o=i.length;s0){let n=dp(e,Object.assign({},this._lastQueryParams),{includeAttributes:!0,localizeMapUpdates:!1});t.from=n[n.length-1]||null}}toInfos(t,e,n=!1){if(void 0!==t&&e.length>0){let i=dp(e,Object.assign({},t[Ad]),{includeAttributes:n,localizeMapUpdates:!1});t.to=i[i.length-1]||null}}notifyExistingHandlers(t,e){let n,i,r,s,o=this.state.routeInfos;for(i=o.length,n=0;n{t.setURL(n),bs(e,"currentURL",n)})}didTransition(t){e.didTransition(t)}willTransition(t,n){e.willTransition(t,n)}triggerEvent(t,n,i,r){return Np.bind(e)(t,n,i,r)}routeWillChange(t){e.trigger("routeWillChange",t),e._routerService.trigger("routeWillChange",t),t.isIntermediate&&e.set("currentRoute",t.to)}routeDidChange(t){e.set("currentRoute",t.to),ra(()=>{e.trigger("routeDidChange",t),e._routerService.trigger("routeDidChange",t)})}transitionDidError(t,n){return t.wasAborted||n.isAborted?zd(n):(n.trigger(!1,"error",t.error,n,t.route),e._isErrorHandled(t.error)?(n.rollback(),this.routeDidChange(n),t.error):(n.abort(),t.error))}replaceURL(n){t.replaceURL?ra(()=>{t.replaceURL(n),bs(e,"currentURL",n)}):this.updateURL(n)}},s=this.constructor.dslCallbacks||[Ip],o=this._buildDSL();o.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){for(let t=0;tn.factoryFor(`route-map:${t}`),addRouteForEngine(t,n){e._engineInfoByRoute[t]||(e._engineInfoByRoute[t]=n)}};return new ap(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(Ba(this),"application.__registry__.resolver.moduleBasedResolver");return Boolean(t)}startRouting(){if(this.setupRouter()){let t=us(this,"initialURL");void 0===t&&(t=us(this,"location").getURL());let e=this.handleURL(t);if(e&&e.error)throw e.error}}setupRouter(){if(this._didSetupRouter)return!1;this._didSetupRouter=!0,this._setupLocation();let t=us(this,"location");return!us(t,"cancelRouterSetup")&&(this._initRouterJs(),t.onUpdateURL(t=>{this.handleURL(t)}),!0)}_setOutlets(){if(this.isDestroying||this.isDestroyed)return;let t=this._routerMicrolib.currentRouteInfos;if(!t)return;let e=null,n=null;for(let i of t){let t=Jd(i.route);if(!t)break;{let i={render:t,outlets:{main:void 0}};n?n.outlets.main=i:e=i,n=i}}if(null!==e)if(this._toplevelView)this._toplevelView.setOutletState(e);else{let t=Ba(this),n=t.factoryFor("view:-outlet"),i=t.lookup("application:main"),r=t.lookup("-environment:main"),s=t.lookup("template:-outlet");this._toplevelView=n.create({environment:r,template:s,application:i}),this._toplevelView.setOutletState(e);let o=t.lookup("-application-instance:main");o&&o.didCreateRootView(this._toplevelView)}}handleURL(t){let e=t.split(/#(.+)?/)[0];return this._doURLTransition("handleURL",e)}_doURLTransition(t,e){this._initialTransitionStarted=!0;let n=this._routerMicrolib[t](e||"/");return Bp(n,this),n}transitionTo(...t){if(Hd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Up(this)}replaceWith(...t){return this.transitionTo(...t).method("replace")}generate(t,...e){let n=this._routerMicrolib.generate(t,...e);return this.location.formatURL(n)}isActive(t){return this._routerMicrolib.isActive(t)}isActiveIntent(t,e,n){return this.currentState.isActiveIntent(t,e,n)}send(t,...e){this._routerMicrolib.trigger(t,...e)}hasRoute(t){return this._routerMicrolib.hasRoute(t)}reset(){this._didSetupRouter=!1,this._initialTransitionStarted=!1,this._routerMicrolib&&this._routerMicrolib.reset()}willDestroy(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),super.willDestroy(),this.reset();let t=this._engineInstances;for(let e in t){let n=t[e];for(let t in n)ta(n[t],"destroy")}}_activeQPChanged(t,e){this._queuedQPChanges[t]=e,ra(this,this._fireQueryParamTransition)}_updatingQPChanged(t){this._qpUpdates.add(t)}_fireQueryParamTransition(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()}_setupLocation(){let t=this.location,e=this.rootURL,n=Ba(this);"string"==typeof t&&(t=bs(this,"location",n.lookup(`location:${t}`))),null!==t&&"object"==typeof t&&(e&&bs(t,"rootURL",e),"function"==typeof t.initState&&t.initState())}_serializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{if(i)delete e[t],e[i.urlKey]=i.route.serializeQueryParam(n,i.urlKey,i.type);else{if(void 0===n)return;e[t]=this._serializeQueryParam(n,uh(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){qp(this,t,e,(t,n,i)=>{i&&(delete e[t],e[i.prop]=i.route.deserializeQueryParam(n,i.urlKey,i.type))})}_deserializeQueryParam(t,e){return null==t?t:"boolean"===e?"true"===t:"number"===e?Number(t).valueOf():"array"===e?Oh(JSON.parse(t)):t}_pruneDefaultQueryParamValues(t,e){let n=this._queryParamsFor(t);for(let i in e){let t=n.map[i];t&&t.serializedDefaultValue===e[i]&&delete e[i]}}_doTransition(t,e,n,i){let r=t||function(t){let e=t.activeTransition?t.activeTransition[Md].routeInfos:t.state.routeInfos;return e[e.length-1].name}(this._routerMicrolib);this._initialTransitionStarted=!0;let s={};this._processActiveTransitionQueryParams(r,e,s,n),Object.assign(s,n),this._prepareQueryParams(r,e,s,Boolean(i));let o=this._routerMicrolib.transitionTo(r,...e,{queryParams:s});return Bp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=Qd(this,this._routerMicrolib.activeTransition[Md]);for(let a in o)s.has(a)||(r[a]=o[a]);this._fullyScopeQueryParams(t,e,i),this._fullyScopeQueryParams(t,e,r),Object.assign(n,r)}_prepareQueryParams(t,e,n,i){let r=jp(this,t,e);this._hydrateUnsuppliedQueryParams(r,n,Boolean(i)),this._serializeQueryParams(r.routeInfos,n),i||this._pruneDefaultQueryParamValues(r.routeInfos,n)}_getQPMeta(t){let e=t.route;return e&&us(e,"_qp")}_queryParamsFor(t){let e=t[t.length-1].name,n=this._qpCache[e];if(void 0!==n)return n;let i,r=!0,s={},o=[];for(let l of t)if(i=this._getQPMeta(l),i){for(let t of i.qps)o.push(t);Object.assign(s,i.map)}else r=!1;let a={qps:o,map:s};return r&&(this._qpCache[e]=a),a}_fullyScopeQueryParams(t,e,n){let i,r=jp(this,t,e).routeInfos;for(let s of r)if(i=this._getQPMeta(s),i)for(let t of i.qps){let e=t.prop in n&&t.prop||t.scopedPropertyName in n&&t.scopedPropertyName||t.urlKey in n&&t.urlKey;e&&e!==t.scopedPropertyName&&(n[t.scopedPropertyName]=n[e],delete n[e])}}_hydrateUnsuppliedQueryParams(t,e,n){let i,r,s,o=t.routeInfos,a=this._bucketCache;for(let l of o)if(i=this._getQPMeta(l),i)for(let n=0,o=i.qps.length;n=0;--n){let i=t[n],r=i.route;if(void 0!==r&&!0!==e(r,i))return}}let Fp={willResolveModel(t,e,n){this._scheduleLoadingEvent(e,n)},error(t,e,n){let i=this,r=t[t.length-1];Ap(t,(t,n)=>{if(n!==r){let n=zp(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Lp(t,"error");return!s||(i._markErrorAsHandled(e),i.intermediateTransitionTo(s,e),!1)}),function(t,e){let n,i=[];n=t&&"object"==typeof t&&"object"==typeof t.errorThrown?t.errorThrown:t,e&&i.push(e),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),console.error(...i)}(e,`Error while processing route: ${n.targetName}`)},loading(t,e){let n=this,i=t[t.length-1];Ap(t,(t,r)=>{if(r!==i){let e=zp(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Lp(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Lp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return Dp(n,s,`${i}_${e}`,o)?o:""}function zp(t,e){let n=Ba(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return Dp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function Dp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function Np(t,e,n,i){if(!t){if(e)return;throw new Error(`Can't trigger action '${n}' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call \`.send()\` on the \`Transition\` object passed to the \`model/beforeModel/afterModel\` hooks.`)}let r,s,o,a=!1;for(let u=t.length-1;u>=0;u--)if(r=t[u],s=r.route,o=s&&s.actions&&s.actions[n],o){if(!0!==o.apply(s,i))return void("error"===n&&s._router._markErrorAsHandled(i[0]));a=!0}let l=Fp[n];if(l)l.call(this,t,...i);else if(!a&&!e)throw new Error(`Nothing handled the action '${n}'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.`)}function jp(t,e,n){let i=t._routerMicrolib.applyIntent(e,n),{routeInfos:r,params:s}=i;for(let o of r)o.isResolved?s[o.name]=o.params:s[o.name]=o.serialize(o.context);return i}function Up(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Op._routePath(e),i=e[e.length-1].name,r=t.location.getURL();bs(t,"currentPath",n),bs(t,"currentRouteName",i),bs(t,"currentURL",r)}function Bp(t,e){let n=new cp(e,e._routerMicrolib,t[Md]);e.currentState||e.set("currentState",n),e.set("targetState",n),t.promise=t.catch(t=>{if(!e._isErrorHandled(t))throw t;e._clearHandledError(t)},"Transition Error")}function qp(t,e,n,i){let r=t._queryParamsFor(e);for(let s in n)Object.prototype.hasOwnProperty.call(n,s)&&i(s,n[s],r.map[s])}function Gp(t){return void 0!==t.hash?t.hash.substring(0):""}Op.reopen({didTransition:function(){Up(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState)},willTransition:function(){},rootURL:"/",location:"hash",url:Qr(function(){let t=us(this,"location");if("string"!=typeof t)return t.getURL()})});class $p extends ac{_hashchangeHandler;_location;init(){this.location=this._location??window.location,this._hashchangeHandler=void 0}getHash(){return Gp(this.location)}getURL(){let t=this.getHash().substring(1),e=t;return"/"!==e[0]&&(e="/",t&&(e+=`#${t}`)),e}setURL(t){this.location.hash=t,this.lastSetURL=t}replaceURL(t){this.location.replace(`#${t}`),this.lastSetURL=t}lastSetURL=null;onUpdateURL(t){this._removeEventListener(),this._hashchangeHandler=na(this,function(){let e=this.getURL();this.lastSetURL!==e&&(this.lastSetURL=null,t(e))}),window.addEventListener("hashchange",this._hashchangeHandler)}formatURL(t){return`#${t}`}willDestroy(){this._removeEventListener()}_removeEventListener(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}}let Vp=!1;function Wp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){let e,n;return e=16*Math.random()|0,n="x"===t?e:3&e|8,n.toString(16)})}class Hp extends ac{history;_previousURL;_popstateHandler;rootURL="/";getHash(){return Gp(this.location)}init(){this._super(...arguments);let t=document.querySelector("base"),e="";null!==t&&t.hasAttribute("href")&&(e=t.getAttribute("href")??""),this.baseURL=e,this.location=this.location??window.location,this._popstateHandler=void 0}initState(){let t=this.history??window.history;this.history=t;let{state:e}=t,n=this.formatURL(this.getURL());e&&e.path===n?this._previousURL=this.getURL():this.replaceState(n)}getURL(){let{location:t,rootURL:e,baseURL:n}=this,i=t.pathname;e=e.replace(/\/$/,""),n=n.replace(/\/$/,"");let r=i.replace(new RegExp(`^${n}(?=/|$)`),"").replace(new RegExp(`^${e}(?=/|$)`),"").replace(/\/\//g,"/");return r+=(t.search||"")+this.getHash(),r}setURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.pushState(t)}replaceURL(t){let{state:e}=this.history;t=this.formatURL(t),e&&e.path===t||this.replaceState(t)}pushState(t){let e={path:t,uuid:Wp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Wp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Vp||(Vp=!0,this.getURL()!==this._previousURL))&&t(this.getURL())},window.addEventListener("popstate",this._popstateHandler)}formatURL(t){let{rootURL:e,baseURL:n}=this;return""!==t?(e=e.replace(/\/$/,""),n=n.replace(/\/$/,"")):"/"===n[0]&&"/"===e[0]&&(n=n.replace(/\/$/,"")),n+e+t}willDestroy(){this._removeEventListener()}_removeEventListener(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}}class Kp extends ac{updateCallback;initState(){this._super(...arguments);let{rootURL:t}=this}getURL(){let{path:t,rootURL:e}=this;return e=e.replace(/\/$/,""),t.replace(new RegExp(`^${e}(?=/|$)`),"")}setURL(t){this.path=t}onUpdateURL(t){this.updateCallback=t}handleURL(t){this.path=t,this.updateCallback&&this.updateCallback(t)}formatURL(t){let{rootURL:e}=this;return""!==t&&(e=e.replace(/\/$/,"")),e+t}}function Xp(t){return Ss(t).readOnly()}Kp.reopen({path:"",rootURL:"/"});const Yp=/[ _]/g,Zp=new Vi(1e3,t=>{return(e=t,rf.get(e)).replace(Yp,"-");var e}),Jp=/^(-|_)+(.)?/,Qp=/(.)(-|_|\.|\s)+(.)?/g,tf=/(^|\/|\.)([a-z])/g,ef=new Vi(1e3,t=>{let e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),nf=/([a-z\d])([A-Z])/g,rf=new Vi(1e3,t=>t.replace(nf,"$1_$2").toLowerCase());function sf(t){return Zp.get(t)}function of(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let af=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function lf(t){return function(t,e=af){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function uf(t){return{options:t,test:!of(t),isEnabled:of(t)||lf(t),isRemoved:lf(t)}}const cf={DEPRECATE_IMPORT_INJECT:uf({for:"ember-source",id:"importing-inject-from-ember-service",since:{available:"6.2.0",enabled:"6.3.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/importing-inject-from-ember-service"}),DEPRECATE_AMD_BUNDLES:uf({for:"ember-source",id:"using-amd-bundles",since:{available:"6.10.0",enabled:"6.10.0"},until:"7.0.0",url:"https://deprecations.emberjs.com/id/using-amd-bundles"})};function hf(...t){return ms("service",...t)}class df extends Lc{static isServiceFactory=!0}const pf=Object.freeze(Object.defineProperty({__proto__:null,default:df,inject:function(...t){return function(t,e){const{options:n}=e;if(e.isRemoved)throw new Error(`The API deprecated by ${n.id} was removed in ember-source ${n.until}. The message was: Importing \`inject\` from \`@ember/service\` is deprecated. Please import \`service\` instead.. Please see ${n.url} for more details.`)}(0,cf.DEPRECATE_IMPORT_INJECT),ms("service",...t)},service:hf},Symbol.toStringTag,{value:"Module"})),ff=Symbol("ROUTER");function gf(t,e){return"/"===e?t:t.substring(e.length)}class mf extends(df.extend(Ac)){[ff];get _router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[ff]=e}willDestroy(){super.willDestroy(),this[ff]=void 0}transitionTo(...t){if(Hd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=qd(t);return this._router._doTransition(e,n,i,!0)}replaceWith(...t){return this.transitionTo(...t).method("replace")}urlFor(t,...e){return this._router.setupRouter(),this._router.generate(t,...e)}isActive(...t){let{routeName:e,models:n,queryParams:i}=qd(t);this._router.setupRouter();let r=this._router._routerMicrolib;if(Se(Ve(this._router,"currentURL")),!r.isActiveIntent(e,n))return!1;if(Object.keys(i).length>0){let t=e;i=Object.assign({},i),this._router._prepareQueryParams(t,n,i,!0);let s=Object.assign({},r.state.queryParams);return this._router._prepareQueryParams(t,n,s,!0),Kd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=gf(t,this.rootURL);return this._router._routerMicrolib.recognizeAndLoad(e)}refresh(t){if(!t)return this._router._routerMicrolib.refresh();let e=Yi(this).lookup(`route:${t}`);return this._router._routerMicrolib.refresh(e)}static{Jc(this.prototype,"currentRouteName",[Xp("_router.currentRouteName")])}#u=void eh(this,"currentRouteName");static{Jc(this.prototype,"currentURL",[Xp("_router.currentURL")])}#c=void eh(this,"currentURL");static{Jc(this.prototype,"location",[Xp("_router.location")])}#h=void eh(this,"location");static{Jc(this.prototype,"rootURL",[Xp("_router.rootURL")])}#d=void eh(this,"rootURL");static{Jc(this.prototype,"currentRoute",[Xp("_router.currentRoute")])}#p=void eh(this,"currentRoute")}class yf extends df{[ff];get router(){let t=this[ff];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[ff]=e}hasRoute(t){return this.router.hasRoute(t)}transitionTo(t,e,n,i){let r=this.router._doTransition(t,e,n);return i&&r.method("replace"),r}normalizeQueryParams(t,e,n){this.router._prepareQueryParams(t,e,n)}_generateURL(t,e,n){let i={};return n&&(Object.assign(i,n),this.normalizeQueryParams(t,e,i)),this.router.generate(t,...e,{queryParams:i})}generateURL(t,e,n){if(this.router._initialTransitionStarted)return this._generateURL(t,e,n);try{return this._generateURL(t,e,n)}catch(i){return}}isActiveForRoute(t,e,n,i){let r=this.router._routerMicrolib.recognizer.handlersFor(n),s=r[r.length-1].handler,o=function(t,e){let n=0;for(let i=0;io&&(n=s),i.isActiveIntent(n,t,e)}}yf.reopen({targetState:Xp("router.targetState"),currentState:Xp("router.currentState"),currentRouteName:Xp("router.currentRouteName"),currentPath:Xp("router.currentPath")});class _f{constructor(t){this.buffer=t,this.size=0}encode(t,e,...n){if(t>255)throw new Error(`Opcode type over 8-bits. Got ${t}.`);let i=t|e|arguments.length-2<<8;this.buffer.push(i);for(const r of n)this.buffer.push(r);this.size=this.buffer.length}patch(t,e){if(-1!==this.buffer[t+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.");this.buffer[t+1]=e}}const vf=32,bf=31;function wf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function xf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===bf||n===vf||n===t}}[1,-1].forEach(t=>{return e=wf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Sf=xf(39),Ef=xf(38),Cf=xf(37),kf=xf(35);function Tf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Rf(t){return{type:1,value:t}}function Pf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Mf(t){return{type:8,value:t}}class Of{label(t,e){this.labels[t]=e}target(t,e){this.targets.push({at:t,target:e})}patch(t){let{targets:e,labels:n}=this;for(const{at:i,target:r}of e){let e=n[r]-i;t.getbyaddr(i),t.setbyaddr(i,e)}}constructor(){this.labels=rn(),this.targets=[]}}function Af(t,e,n,i){let{program:{constants:r},resolver:s}=e;if(function(t){return t<1e3}(i[0])){let[e,...n]=i;t.push(r,e,...n)}else switch(i[0]){case 1e3:return t.label(i[1]);case 1001:return t.startLabels();case 1002:return t.stopLabels();case 1004:return function(t,e,n,[,i,r]){if(Sf(i),i[0]===vf){let{scopeValues:t,owner:s,symbols:{lexical:o}}=n,a=t[i[1]];r(e.component(a,s,!1,o?.at(i[1])))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupComponent?.(a,o)??null;r(e.resolvedComponent(l,a))}}(s,r,n,i);case 1003:return function(t,e,n,[,i,r]){Ef(i);let s=i[0];if(s===vf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===bf){let{symbols:{upvars:s}}=n,o=s[i[1]],a=t?.lookupBuiltInModifier?.(o)??null;r(e.modifier(a,o))}else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupModifier?.(a,o)??null;r(e.modifier(l))}}(s,r,n,i);case 1005:return function(t,e,n,[,i,r]){Cf(i);let s=i[0];if(s===vf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===bf)r(Tf(i,t,n,e));else{let{symbols:{upvars:s},owner:o}=n,a=s[i[1]],l=t?.lookupHelper?.(a,o)??null;r(e.helper(l,a))}}(s,r,n,i);case 1007:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s}]){kf(i);let o=i[0];if(o===vf){let{scopeValues:t,owner:o,symbols:{lexical:a}}=n,l=t[i[1]],u=e.component(l,o,!0,a?.at(i[1]));if(null!==u)return void r(u);s(e.helper(l,null,!0))}else if(o===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)r(e.resolvedComponent(u,l));else{let n=t?.lookupHelper?.(l,a)??null;s(e.helper(n,l))}}}(s,r,n,i);case 1008:return function(t,e,n,[,i,{ifComponent:r,ifHelper:s,ifValue:o}]){kf(i);let a=i[0];if(a===vf){let{scopeValues:t,owner:a,symbols:{lexical:l}}=n,u=t[i[1]];if("function"!=typeof u&&("object"!=typeof u||null===u))return void o(e.value(u));let c=e.component(u,a,!0,l?.at(i[1]));if(null!==c)return void r(c);let h=e.helper(u,null,!0);if(null!==h)return void s(h);o(e.value(u))}else if(a===bf)s(Tf(i,t,n,e));else{let{symbols:{upvars:o},owner:a}=n,l=o[i[1]],u=t?.lookupComponent?.(l,a)??null;if(null!==u)return void r(e.resolvedComponent(u,l));let c=t?.lookupHelper?.(l,a)??null;null!==c&&s(e.helper(c,l))}}(s,r,n,i);case 1010:{let[,t,e]=i;e(n.symbols.upvars[t],n.moduleName);break}case 1011:{let[,t,e]=i,s=n.scopeValues[t];e(r.value(s));break}default:throw new Error(`Unexpected high level opcode ${i[0]}`)}}class Ff{constructor(t,e,n){this.heap=t,this.meta=e,this.stdlib=n,this.labelsStack=new an,this.encoder=new _f([]),this.errors=[],this.handle=t.malloc()}error(t){this.encoder.encode(30,0),this.errors.push(t)}commit(t){let e=this.handle;return this.heap.pushMachine(5),this.heap.finishMalloc(e,t),(n=this.errors)&&n.length>0?{errors:this.errors,handle:e}:e;var n}push(t,e,...n){let{heap:i}=this;var r;let s=e|((r=e)>=0&&r<=15?Vn:0)|n.length<<8;i.pushRaw(s);for(let o=0;o=-536870912?wf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function qf(t,e,n,i){t(0),Yf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Yf(t,e,n,!1),t(33,2,1),t(107),i?(t(36,8),i(),t(1),t(34,1)):(t(1),t(34,1),t(36,8))}function $f(t,e,n,i,r){t(0),Yf(t,i,r,!1),t(86),jf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Vf(t,e,n){Yf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Wf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):Bf(t,null)}(t,e&&e[1]),t(62),Xf(t,e)}function Hf(t,e){t(0),Xf(t,e),t(61),t(2),t(1)}function Kf(t,e,n){let i=e[1],r=i.length,s=Math.min(n,r);if(0!==s){if(t(0),s){t(39);for(let e=0;e{for(let n of e)jf(t,n);t(27,e.length)}),Df.add(28,(t,[,e,n,i])=>{Cf(e)?t(1005,e,e=>{qf(t,e,n,i)}):(jf(t,e),Gf(t,n,i))}),Df.add(50,(t,[,e,n,i,r])=>{$f(t,n,e,i,r)}),Df.add(30,(t,[,e,n])=>{t(21,e),Nf(t,n)}),Df.add(vf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),Nf(t,n)})}),Df.add(bf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{qf(t,e,null,null)})})}),Df.add(27,t=>Uf(t,void 0)),Df.add(48,(t,[,e])=>{jf(t,e),t(25)}),Df.add(49,(t,[,e])=>{jf(t,e),t(24),t(61),t(26)}),Df.add(52,(t,[,e,n,i])=>{jf(t,i),jf(t,n),jf(t,e),t(109)}),Df.add(51,(t,[,e])=>{jf(t,e),t(110)}),Df.add(53,(t,[,e])=>{jf(t,e),t(111)}),Df.add(54,(t,[,e])=>{t(0),Yf(t,e,null,!1),t(112),t(1),t(36,8)});class Qf{constructor(t){this.blocks=t,this.names=t?Object.keys(t):[]}get(t){return this.blocks&&this.blocks[t]||null}has(t){let{blocks:e}=this;return null!==e&&t in e}with(t,e){let{blocks:n}=this;return new Qf(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const tg=new Qf(null);function eg(t){if(null===t)return tg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new Qf(e)}function ng(t,e,n){let i=[],r=0;n(function(t,e){i.push({match:t,callback:e,label:"CLAUSE"+r++})}),t(69,1),e(),t(1001);for(let s of i.slice(0,-1))t(67,Rf(s.label),s.match);for(let s=i.length-1;s>=0;s--){let e=i[s];t(1e3,e.label),t(34,1),e.callback(),0!==s&&t(4,Rf("END"))}t(1e3,"END"),t(1002),t(70)}function ig(t,e,n){t(1001),t(0),t(6,Rf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function rg(t,e,n,i){return ig(t,e,()=>{t(66,Rf("ELSE")),n(),t(4,Rf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function sg(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,c=eg(s);o?(t(78,l),function(t,{capabilities:e,layout:n,elementBlock:i,positional:r,named:s,blocks:o}){let{symbolTable:a}=n;if(ii(e,$n.prepareArgs))return void ag(t,{capabilities:e,elementBlock:i,positional:r,named:s,atNames:!0,blocks:o,layout:n});t(36,4),t(33,3,1),t(35,4),t(0);let{symbols:l}=a,u=[],c=[],h=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Wf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Wf(t,o.get(p)),u.push(e))}if(ii(e,$n.createArgs)){let e=Zf(t,r)<<4;e|=8;let n=Ze;if(null!==s){n=s[0];let e=s[1];for(let i=0;i0?1:0),t(19,0);for(const p of Qe(c))-1===p?t(34,1):t(19,p+1);null!==r&&t(34,r.length);for(const p of Qe(u))t(20,p+1);t(28,Mf(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,$n.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:c})):(t(78,l),ag(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:c}))}function og(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=eg(s);ig(t,()=>(jf(t,e),t(33,3,0),2),()=>{t(66,Rf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),ag(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function ag(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,$n.prepareArgs)||!(!r||0===r[0].length),c=o.with("attrs",n);t(36,4),t(33,3,1),t(35,4),t(0),function(t,e,n,i,r){let s=i.names;for(const l of s)Wf(t,i.get(l));let o=Zf(t,e)<<4;r&&(o|=8),i.hasAny&&(o|=7);let a=Xe;if(n){a=n[0];let e=n[1];for(let n=0;n{a?(t(63,If(a.symbolTable)),t(28,Mf(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function lg(t,e,n,i,r=null){t(97,4),t(59),t(87,0|e),r&&r(),t(88,4),t(90,4),t(38,4),t(19,0),i&&t(17,4),n&&t(18,4),t(34,1),t(96,4),t(100,4),t(1),t(40),t(60),t(98)}const ug=new zf,cg=["class","id","value","name","type","style","href"],hg=["div","span","p","a"];function dg(t){return"string"==typeof t?t:hg[t]}function pg(t){return"string"==typeof t?t:cg[t]}function fg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}ug.add(3,(t,e)=>t(42,e[1])),ug.add(13,t=>t(55)),ug.add(12,t=>t(54)),ug.add(4,(t,[,e,n,i])=>{Ef(e)?t(1003,e,e=>{t(0),Yf(t,n,i,!1),t(57,e),t(1)}):(jf(t,e),t(0),Yf(t,n,i,!1),t(33,2,1),t(108),t(1))}),ug.add(14,(t,[,e,n,i])=>{t(51,pg(e),n,i??null)}),ug.add(24,(t,[,e,n,i])=>{t(105,pg(e),n,i??null)}),ug.add(15,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!1,i??null)}),ug.add(22,(t,[,e,n,i])=>{jf(t,n),t(52,pg(e),!0,i??null)}),ug.add(16,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!1,i??null)}),ug.add(23,(t,[,e,n,i])=>{jf(t,n),t(53,pg(e),!0,i??null)}),ug.add(10,(t,[,e])=>{t(48,dg(e))}),ug.add(11,(t,[,e])=>{t(89),t(48,dg(e))}),ug.add(8,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,n,null,i,r)}):og(t,e,n,null,i,r,!0,!0)}),ug.add(18,(t,[,e,n])=>Vf(t,e,n)),ug.add(17,(t,[,e])=>Vf(t,e,null)),ug.add(26,(t,[,e,n,i])=>{t(103,function(t,e,n){return{type:3,value:{locals:t,upvars:e,lexical:n}}}(e,n,i))}),ug.add(1,(t,[,e])=>{if(Array.isArray(e))if(kf(e))t(1008,e,{ifComponent(e){sg(t,e,null,null,null,null)},ifHelper(e){t(0),qf(t,e,null,null),t(3,Pf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Pf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;kf(n)?t(1007,n,{ifComponent(e){sg(t,e,null,i,fg(r),null)},ifHelper(e){t(0),qf(t,e,i,r),t(3,Pf("cautious-non-dynamic-append")),t(1)}}):ng(t,()=>{jf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),ag(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:eg(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Pf("cautious-non-dynamic-append"))})})})}else t(0),jf(t,e),t(3,Pf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),ug.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),jf(t,e),t(3,Pf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),ug.add(6,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)}),ug.add(40,(t,[,e,n,i,r])=>{rg(t,()=>(jf(t,n),void 0===r?Uf(t,void 0):jf(t,r),jf(t,i),t(33,3,0),4),()=>{t(50),Hf(t,e),t(56)})}),ug.add(41,(t,[,e,n,i])=>rg(t,()=>(jf(t,e),t(71),1),()=>{Hf(t,n)},i?()=>{Hf(t,i)}:void 0)),ug.add(42,(t,[,e,n,i,r])=>ig(t,()=>(n?jf(t,n):Uf(t,null),jf(t,e),2),()=>{t(72,Rf("BODY"),Rf("ELSE")),t(0),t(33,2,1),t(6,Rf("ITER")),t(1e3,"ITER"),t(74,Rf("BREAK")),t(1e3,"BODY"),Kf(t,i,2),t(34,2),t(4,Rf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Rf("FINALLY")),t(1e3,"ELSE"),r&&Hf(t,r)})),ug.add(44,(t,[,e,n])=>{Kf(t,n,Zf(t,e))}),ug.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Zf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Hf(t,n)})}else Hf(t,n)}),ug.add(46,(t,[,e,n,i,r])=>{Sf(e)?t(1004,e,e=>{sg(t,e,null,n,fg(i),r)}):og(t,e,null,n,i,r,!1,!1)});class gg{constructor(t,e,n,i="plain block"){this.statements=t,this.meta=e,this.symbolTable=n,this.moduleName=i,this.compiled=null}compile(t){return function(t,e){if(null!==t.compiled)return t.compiled;t.compiled=-1;let{statements:n,meta:i}=t,r=function(t,e,n){let i=ug,r=Lf(n,e),{encoder:s,evaluation:o}=r;function a(...t){Af(s,o,e,t)}for(const l of t)i.compile(a,l);return r.encoder.commit(e.size)}(n,i,e);return t.compiled=r,r}(this,t)}}class mg{constructor(t,e,n,i,r){this.main=t,this.trustingGuardedAppend=e,this.cautiousGuardedAppend=n,this.trustingNonDynamicAppend=i,this.cautiousNonDynamicAppend=r}get"trusting-append"(){return this.trustingGuardedAppend}get"cautious-append"(){return this.cautiousGuardedAppend}get"trusting-non-dynamic-append"(){return this.trustingNonDynamicAppend}get"cautious-non-dynamic-append"(){return this.cautiousNonDynamicAppend}getAppend(t){return t?this.trustingGuardedAppend:this.cautiousGuardedAppend}}function yg(t,e,n){ng(t,()=>t(76),i=>{i(2,()=>{e?(t(68),t(43)):t(47)}),"number"==typeof n?(i(0,()=>{t(81),t(79),function(t){t(36,4),t(33,3,1),t(35,4),t(0),t(83),t(85,4),lg(t,!1,!1,!0,()=>{t(92,4),t(95,4)}),t(35,4)}(t)}),i(1,()=>{Gf(t,null,null,()=>{t(3,n)})})):(i(0,()=>{t(47)}),i(1,()=>{t(47)})),i(4,()=>{t(68),t(44)}),i(5,()=>{t(68),t(45)}),i(6,()=>{t(68),t(46)})})}const _g={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function vg(t,e){let n=new Ff(t.program.heap,_g);e(function(...e){Af(n,t,_g,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class bg{constructor({constants:t,heap:e},n,i){this.constants=t,this.heap=e,this.resolver=i.resolver,this.createOp=n,this.env=i.env,this.program=i.program,this.stdlib=function(t){let e=vg(t,t=>function(t){t(75,4),lg(t,!1,!1,!0)}(t)),n=vg(t,t=>yg(t,!0,null)),i=vg(t,t=>yg(t,!1,null)),r=vg(t,t=>yg(t,!0,n)),s=vg(t,t=>yg(t,!1,i));return new mg(e,r,s,n,i)}(this)}}class wg{constructor(t,e){this.layout=t,this.moduleName=e,this.compiled=null;let{block:n}=t,[,i]=n;i=i.slice();let r=i.indexOf("&attrs");this.attrsBlockNumber=-1===r?i.push("&attrs"):r+1,this.symbolTable={symbols:i},this.meta=Jf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Jf(this.layout),n=Lf(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Af(i,r,e,t)},o=this.layout,a=this.attrsBlockNumber,s(1001),function(t,e,n){t(36,5),n(),t(35,5)}(s,0,()=>{s(91,4),s(31),s(33,3,0)}),s(66,Rf("BODY")),s(36,5),s(89),s(49),s(99,4),Vf(s,a,null),s(54),s(1e3,"BODY"),Hf(s,[o.block[0],[]]),s(36,5),s(66,Rf("END")),s(55),s(1e3,"END"),s(35,5),s(1002);let l=n.encoder.commit(e.size);return"number"!=typeof l||(this.compiled=l),l}}let xg=0,Sg={cacheHit:0,cacheMiss:0};function Eg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+xg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Sg.cacheMiss++,a=new Cg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Sg.cacheHit++,a;let u=l.get(t);return void 0===u?(Sg.cacheMiss++,u=new Cg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Sg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class Cg{constructor(t){this.parsedLayout=t,this.result="ok",this.layout=null,this.wrappedLayout=null}get moduleName(){return this.parsedLayout.moduleName}get id(){return this.parsedLayout.id}get referrer(){return{moduleName:this.parsedLayout.moduleName,owner:this.parsedLayout.owner}}asLayout(){return this.layout?this.layout:this.layout=function(t,e){let[n,i]=t.block;return new gg(n,Jf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new wg(un({},this.parsedLayout),this.moduleName)}}function kg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Tg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Rg=Object.freeze([]),Pg=[!1,!0,null,void 0,Rg],Ig=Pg.indexOf(Rg);class Mg{value(t){let e=this.indexMap,n=e.get(t);return void 0===n&&(n=this.values.push(t)-1,e.set(t,n)),n}array(t){if(0===t.length)return Ig;let e=new Array(t.length);for(let n=0;nt}helper(t,e=null,n){let i=this.helperDefinitionCache.get(t);if(void 0===i){let e=vi(t);if(null===e)return this.helperDefinitionCache.set(t,null),null;let n="function"==typeof e?e:e.getHelper(t);i=this.value(n),this.helperDefinitionCache.set(t,i),this.helperDefinitionCount++}return i}modifier(t,e=null,n){let i=this.modifierDefinitionCache.get(t);if(void 0===i){let n=mi(t);if(null===n)return this.modifierDefinitionCache.set(t,null),null;let r={resolvedName:e,manager:n,state:t};i=this.value(r),this.modifierDefinitionCache.set(t,i),this.modifierDefinitionCount++}return i}component(t,e,n,i){let r=this.componentDefinitionCache.get(t);if(void 0===r){let n=wi(t);if(null===n)return this.componentDefinitionCache.set(t,null),null;let s,o=ti(n.getCapabilities(t)),a=Ni(t),l=null;s=ni(0,o,$n.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=kg(s),l=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),r={resolvedName:null,handle:-1,manager:n,capabilities:o,state:t,compilable:l},r.handle=this.value(r),i&&(r.debugName=i),this.componentDefinitionCache.set(t,r),this.componentDefinitionCount++}return r}resolvedComponent(t,e){let n=this.componentDefinitionCache.get(t);if(void 0===n){let{manager:i,state:r,template:s}=t,o=ti(i.getCapabilities(t)),a=null;ni(0,o,$n.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=kg(s),a=ni(0,o,$n.wrapped)?s.asWrappedLayout():s.asLayout()),n={resolvedName:e,handle:-1,manager:i,capabilities:o,state:r,compilable:a},n.handle=this.value(n),this.componentDefinitionCache.set(t,n),this.componentDefinitionCount++}return n}getValue(t){return this.values[t]}getArray(t){let e=this.reifiedArrs,n=e[t];if(void 0===n){let i=this.getValue(t);n=new Array(i.length);for(const[t,e]of tn(i))n[t]=this.getValue(e);e[t]=n}return n}constructor(){this.reifiedArrs={[Ig]:Rg},this.defaultTemplate=Eg(Tg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Pg.slice(),this.indexMap=new Map(this.values.map((t,e)=>[t,e])),this.helperDefinitionCache=new WeakMap,this.modifierDefinitionCache=new WeakMap,this.componentDefinitionCache=new WeakMap}}class Og{constructor(t){this.heap=t,this.offset=0}get size(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}get isMachine(){return this.heap.getbyaddr(this.offset)&Vn?1:0}get type(){return 255&this.heap.getbyaddr(this.offset)}get op1(){return this.heap.getbyaddr(this.offset+1)}get op2(){return this.heap.getbyaddr(this.offset+2)}get op3(){return this.heap.getbyaddr(this.offset+3)}}class Ag{constructor(){this.offset=0,this.handle=0,this.heap=new Int32Array(1048576),this.handleTable=[],this.handleState=[]}entries(){return this.offset}pushRaw(t){this.sizeCheck(),this.heap[this.offset++]=t}pushOp(t){this.pushRaw(t)}pushMachine(t){this.pushRaw(t|Vn)}sizeCheck(){let{heap:t}=this;if(this.offset===this.heap.length){let e=new Int32Array(t.length+1048576);e.set(t,0),this.heap=e}}getbyaddr(t){return this.heap[t]}setbyaddr(t,e){this.heap[t]=e}malloc(){return this.handleTable.push(this.offset),this.handleTable.length-1}finishMalloc(t){}size(){return this.offset}getaddr(t){return this.handleTable[t]}sizeof(t){return this.handleTable,-1}free(t){this.handleState[t]=1}compact(){let t=0,{handleTable:e,handleState:n,heap:i}=this;for(let r=0;r-536870913?function(t){return~t}(t):function(t){return 536870912|t}(t)}[1,-1].forEach(t=>{return Ug((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const Bg=new class{constructor(){this.evaluateOpcode=new Array(113).fill(null)}add(t,e,n="syscall"){this.evaluateOpcode[t]={syscall:"machine"!==n,evaluate:e}}evaluate(t,e,n){let i=this.evaluateOpcode[n];i.syscall?(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t,e)):(e.isMachine,i.syscall,e.isMachine,e.type,i.evaluate(t.lowlevel,e))}},qg=Symbol("TYPE"),Gg=Symbol("INNER"),$g=Symbol("OWNER"),Vg=Symbol("ARGS"),Wg=Symbol("RESOLVED"),Hg=new WeakSet;function Kg(t){return Hg.has(t)}function Xg(t,e){return Kg(t)&&t[qg]===e}class Yg{constructor(t,e,n,i,r=!1){Hg.add(this),this[qg]=t,this[Gg]=e,this[$g]=n,this[Vg]=i,this[Wg]=r}}function Zg(t){let e,n,i,r,s,o=t;for(;;){let{[Vg]:t,[Gg]:a}=o;if(null!==t){let{named:i,positional:r}=t;r.length>0&&(e=void 0===e?r:r.concat(e)),void 0===n&&(n=[]),n.unshift(i)}if(!Kg(a)){i=a,r=o[$g],s=o[Wg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Jg(t,e,n,i,r=!1){return new Yg(t,e,n,i,r)}class Qg{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new Qg(this.bucket)}}class tm{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new tm(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new tm(t,n,null)}constructor(t,e,n){this.owner=t,this.slots=e,this.callerScope=n}init({self:t}){return this.slots[0]=t,this}snapshot(){return this.slots.slice()}getSelf(){return this.get(0)}getSymbol(t){return this.get(t)}getBlock(t){let e=this.get(t);return e===mn?null:e}bind(t,e){this.set(t,e)}bindSelf(t){this.set(0,t)}bindSymbol(t,e){this.set(t,e)}bindBlock(t,e){this.set(t,e)}bindCallerScope(t){this.callerScope=t}getCallerScope(){return this.callerScope}child(){return new tm(this.owner,this.slots.slice(),this.callerScope)}get(t){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);return this.slots[t]}set(t,e){if(t>=this.slots.length)throw new RangeError(`BUG: cannot get $${t} from scope; length=${this.slots.length}`);this.slots[t]=e}}class em{constructor(t,e){this.element=t,this.nextSibling=e}}class nm{constructor(t,e,n){this.parentNode=t,this.first=e,this.last=n}parentElement(){return this.parentNode}firstNode(){return this.first}lastNode(){return this.last}}function im(t,e){let n=t.parentElement(),i=t.firstNode(),r=t.lastNode(),s=i;for(;;){let t=s.nextSibling;if(n.insertBefore(s,e),s===r)return t;s=t}}function rm(t){let e=t.parentElement(),n=t.firstNode(),i=t.lastNode(),r=n;for(;;){let t=r.nextSibling;if(e.removeChild(r),r===i)return t;r=t}}function sm(t){return"getDebugCustomRenderTree"in t}let om=0;class am{constructor(t){this.id=om++,this.value=t}get(){return this.value}release(){this.value=null}toString(){let t=`Ref ${this.id}`;if(null===this.value)return`${t} (released)`;try{return`${t}: ${this.value}`}catch{return t}}}class lm{begin(){this.reset()}create(t,e){let n=un({},e,{bounds:null,refs:new Set});this.nodes.set(t,n),this.appendChild(n,t),this.enter(t)}update(t){this.enter(t)}didRender(t,e){this.nodeFor(t).bounds=e,this.exit()}willDestroy(t){this.refs.get(t).release()}commit(){this.reset()}capture(){return this.captureRefs(this.roots)}reset(){if(0!==this.stack.size){let t=this.stack.toArray()[0],e=this.refs.get(t);for(void 0!==e&&this.roots.delete(e);!this.stack.isEmpty();)this.stack.pop()}}enter(t){this.stack.push(t)}exit(){this.stack.pop()}nodeFor(t){return this.nodes.get(t)}appendChild(t,e){let n=this.stack.current,i=new am(e);if(this.refs.set(e,i),n){let e=this.nodeFor(n);e.refs.add(i),t.parent=e}else this.roots.add(i)}captureRefs(t){let e=[];return t.forEach(n=>{let i=n.get();i?e.push(this.captureNode(`render-node:${n.id}`,i)):t.delete(n)}),e}captureNode(t,e){let n=this.nodeFor(e),{type:i,name:r,args:s,instance:o,refs:a}=n,l=this.captureTemplate(n),u=this.captureBounds(n),c=this.captureRefs(a);return{id:t,type:i,name:r,args:$m(s),instance:o,template:l,bounds:u,children:c}}captureTemplate({template:t}){return t||null}captureBounds(t){let e=t.bounds;return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}constructor(){this.stack=new an,this.refs=new WeakMap,this.roots=new Set,this.nodes=new WeakMap}}function um(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function hm(t){return null!==t&&"object"==typeof t}function dm(t){return hm(t)&&"function"==typeof t.toHTML}function pm(t){return"string"==typeof t}Bg.add(39,t=>t.pushChildScope()),Bg.add(40,t=>t.popScope()),Bg.add(59,t=>t.pushDynamicScope()),Bg.add(60,t=>t.popDynamicScope()),Bg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),Bg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Ug(e))}),Bg.add(31,t=>{let e,n=t.stack,i=n.pop();e=void 0===i?mn:null===i?yn:!0===i?_n:!1===i?vn:gn(i),n.push(e)}),Bg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),Bg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),Bg.add(35,(t,{op1:e})=>{t.load(e)}),Bg.add(36,(t,{op1:e})=>{t.fetch(e)}),Bg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),Bg.add(69,(t,{op1:e})=>{t.enter(e)}),Bg.add(70,t=>{t.exit()}),Bg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),Bg.add(62,t=>{t.stack.push(t.scope())}),Bg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),Bg.add(64,t=>{let{stack:e}=t,n=e.pop(),i=e.pop(),r=e.pop(),s=e.pop();if(null===r||null===n)return t.lowlevel.pushFrame(),void t.pushScope(i??t.scope());let o=i;{let t=r.parameters,e=t.length;if(e>0){o=o.child();for(let n=0;n{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i&&t.lowlevel.goto(e):(i&&t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(66,(t,{op1:e})=>{let n=t.stack.pop(),i=Boolean(Rn(n));kn(n)?i||t.lowlevel.goto(e):(i||t.lowlevel.goto(e),t.updateWith(new fm(n)))}),Bg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),Bg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new fm(e))}),Bg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class fm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class gm{constructor(t,e){this.ref=t,this.filter=e,this.last=e(Rn(t))}evaluate(t){let{last:e,ref:n,filter:i}=this;e!==i(Rn(n))&&t.throw()}}class mm{finalize(t,e){this.target=e,this.didModify(t)}evaluate(t){let{tag:e,target:n,lastRevision:i}=this;!t.alwaysRevalidate&&Jt(e,i)&&(Se(e),t.goto(n))}didModify(t){this.tag=t,this.lastRevision=Zt(this.tag),Se(t)}constructor(){this.tag=se,this.lastRevision=1}}class ym{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class _m{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}Bg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),Bg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),Bg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),Bg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),Bg.add(50,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop(),r=Rn(e),s=Rn(n),o=Rn(i);kn(e)||t.updateWith(new fm(e)),void 0===s||kn(n)||t.updateWith(new fm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=Nm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),Mt(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),Bg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),Bg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),Bg.add(55,t=>{let e=t.tree().closeElement();null!==e&&e.forEach(e=>{t.env.scheduleInstallModifier(e);const n=e.manager.getDestroyable(e.state);null!==n&&t.associateDestroyable(n)})}),Bg.add(57,(t,{op1:e})=>{if(!t.env.isInteractive)return;let n=t.getOwner(),i=t.stack.pop(),r=t.constants.getValue(e),{manager:s}=r,{constructing:o}=t.tree(),a=i.capture(),l=s.create(n,o,r.state,a),u={manager:s,state:l,definition:r};t.fetchValue(6).addModifier(t,u,a);let c=s.getTag(l);return null!==c?(Se(c),t.updateWith(new vm(c,u))):void 0}),Bg.add(108,t=>{if(!t.env.isInteractive)return;let{stack:e}=t,n=e.pop(),i=e.pop().capture(),{positional:r,named:s}=i,{constructing:o}=t.tree(),a=t.getOwner(),l=xn(()=>{let t,e,l=Rn(n);if(!on(l))return;if(Xg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Zg(l);e=n,t=o,void 0!==a&&(i.positional=a.concat(r)),void 0!==u&&(i.named=Object.assign({},...u,s))}else e=l,t=a;let u=mi(e);if(null===u)throw new Error("BUG: modifier manager expected");let c={resolvedName:null,manager:u,state:e},h=u.create(t,o,c.state,i);return{manager:u,state:h,definition:c}}),u=Rn(l),c=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),c=u.manager.getTag(u.state),null!==c&&Se(c)),!kn(n)||c?t.updateWith(new bm(c,u,l)):void 0});class vm{constructor(t,e){this.tag=t,this.modifier=e,this.lastUpdated=Zt(t)}evaluate(t){let{modifier:e,tag:n,lastUpdated:i}=this;Se(n),Jt(n,i)||(t.env.scheduleUpdateModifier(e),this.lastUpdated=Zt(n))}}class bm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??ce)}evaluate(t){let{tag:e,lastUpdated:n,instance:i,instanceRef:r}=this,s=Rn(r);if(s!==i){if(void 0!==i){let t=i.manager.getDestroyable(i.state);null!==t&&At(t)}if(void 0!==s){let{manager:n,state:i}=s,r=n.getDestroyable(i);null!==r&&It(this,r),e=n.getTag(i),null!==e&&(this.lastUpdated=Zt(e)),this.tag=e,t.env.scheduleInstallModifier(s)}this.instance=s}else null===e||Jt(e,n)||(t.env.scheduleUpdateModifier(i),this.lastUpdated=Zt(e));null!==e&&Se(e)}}Bg.add(51,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.tree().setStaticAttribute(r,s,o)}),Bg.add(52,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=Rn(o),l=i?t.constants.getValue(i):null,u=t.tree().setDynamicAttribute(r,a,s,l);kn(o)||t.updateWith(new wm(o,u,t.env))});class wm{constructor(t,e,n){let i=!1;this.updateRef=xn(()=>{let r=Rn(t);i?e.update(r,n):i=!0}),Rn(this.updateRef)}evaluate(){Rn(this.updateRef)}}Bg.add(78,(t,{op1:e})=>{let n=t.constants.getValue(e),{manager:i,capabilities:r}=n,s={definition:n,manager:i,capabilities:r,state:null,handle:null,table:null,lookup:null};t.stack.push(s)}),Bg.add(80,(t,{op1:e})=>{let n,i=t.stack,r=Rn(i.pop()),s=t.constants,o=t.getOwner();if(s.getValue(e),t.loadValue(7,null),"string"==typeof r){let e=function(t,e,n,i){let r=t?.lookupComponent?.(n,i)??null;return e.resolvedComponent(r,n)}(t.context.resolver,s,r,o);n=e}else n=Kg(r)?r:s.component(r,o);i.push(n)}),Bg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Kg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),Bg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Kg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),Bg.add(82,(t,{op1:e,op2:n,op3:i})=>{let r=t.stack,s=t.constants.getArray(e),o=i>>4,a=8&i,l=7&i?t.constants.getArray(n):Ze;t.args.setup(r,s,l,o,!!a),r.push(t.args)}),Bg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),Bg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),Bg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Xg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Zg(s);if(a)s=n;else if("string"==typeof n){let i=t.context.resolver?.lookupComponent?.(n,o)??null;s=e.resolvedComponent(i,n)}else s=e.component(n,o);void 0!==u&&r.named.merge(un({},...u)),void 0!==l&&(r.realloc(l.length),r.positional.prepend(l));let{manager:c}=s;i.definition=s,i.manager=c,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,$n.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,c=o.prepareArgs(a,r);if(c){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,$n.createInstance))return;let o=null;ni(0,s,$n.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,$n.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,$n.createCaller)&&(u=t.getSelf());let c=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=c,ni(0,s,$n.updateHook)&&t.updateWith(new km(c,r,o))}),Bg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),Bg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),Bg.add(89,t=>{t.loadValue(6,new xm)}),Bg.add(53,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=t.stack.pop(),a=i?t.constants.getValue(i):null;t.fetchValue(6).setAttribute(r,o,s,a)}),Bg.add(105,(t,{op1:e,op2:n,op3:i})=>{let r=t.constants.getValue(e),s=t.constants.getValue(n),o=i?t.constants.getValue(i):null;t.fetchValue(6).setStaticAttribute(r,s,o)});class xm{setAttribute(t,e,n,i){let r={value:e,namespace:i,trusting:n};"class"===t&&this.classes.push(e),this.attributes[t]=r}setStaticAttribute(t,e,n){let i={value:e,namespace:n};"class"===t&&this.classes.push(e),this.attributes[t]=i}addModifier(t,e,n){if(this.modifiers.push(e),void 0!==t.env.debugRenderTree){const{manager:i,definition:r,state:s}=e;if(null===s||"object"!=typeof s&&"function"!=typeof s)return;let{element:o,constructing:a}=t.tree(),l=r.resolvedName??i.getDebugName(r.state),u=i.getDebugInstance(s),c=new nm(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,c),t.associateDestroyable(s),t.updateWith(new Rm(s)),t.updateWith(new Pm(s,c)),Mt(s,()=>{t.env.debugRenderTree?.willDestroy(s)})}}flush(t){let e,n=this.attributes;for(let i in this.attributes){if("type"===i){e=n[i];continue}let r=this.attributes[i];"class"===i?Em(t,"class",Sm(this.classes),r.namespace,r.trusting):Em(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Em(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Sm(t){return 0===t.length?"":1===t.length?t[0]:function(t){return t.every(t=>"string"==typeof t)}(t)?t.join(" "):(e=t,xn(()=>{let t=[];for(const n of e){let e=um("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Em(t,e,n,i,r=!1){if("string"==typeof n)t.tree().setStaticAttribute(e,n,i);else{let s=t.tree().setDynamicAttribute(e,Rn(n),r,i);kn(n)||t.updateWith(new wm(n,s,t.env))}}function Cm(t,e,n,i,r){let s=n.table.symbols.indexOf(t),o=i.get(e);-1!==s&&r.scope().bindBlock(s+1,o),n.lookup&&(n.lookup[t]=o)}Bg.add(99,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=t.fetchValue(6);r.didCreateElement(i,t.tree().constructing,s)}),Bg.add(90,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e),{definition:r,state:s}=i,{manager:o}=r,a=o.getSelf(s);if(void 0!==t.env.debugRenderTree){let i,r,o=t.fetchValue(e),{definition:l,manager:u}=o;if(t.stack.peek()===t.args)i=t.args.capture();else{let e=t.constants.getArray(n);t.args.setup(t.stack,e,[],0,!0),i=t.args.capture()}let c=l.compilable;if(null===c){ni(0,o.capabilities,$n.dynamicLayout);let e=t.context.resolver;c=null===e?null:u.getDynamicLayout(s,e),r=null!==c?c.moduleName:"__default__.hbs"}else r=c.moduleName;if(t.associateDestroyable(o),sm(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Rm(n))});else{let e=function(t,e=t.manager){return t.resolvedName??t.debugName??e.getDebugName(t.state)}(l,u);t.env.debugRenderTree.create(o,{type:"component",name:e,args:i,template:r,instance:Rn(a)}),Mt(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Rm(o))}}t.stack.push(a)}),Bg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),Bg.add(92,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,definition:r}=n,{stack:s}=t,{compilable:o}=r;if(null===o){let{capabilities:e}=n,r=t.context.resolver;o=null===r?null:i.getDynamicLayout(n.state,r),null===o&&(o=ni(0,e,$n.wrapped)?jg(t.constants.defaultTemplate).asWrappedLayout():jg(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),Bg.add(75,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),{manager:r,capabilities:s}=n,o={definition:n,manager:r,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null};t.loadValue(e,o)}),Bg.add(95,(t,{op1:e})=>{let{stack:n}=t,i=n.pop(),r=n.pop(),s=t.fetchValue(e);s.handle=i,s.table=r}),Bg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,$n.hasSubOwner)?(n=r.getOwner(o),t.loadValue(7,null)):(n=t.fetchValue(7),null===n?n=t.getOwner():t.loadValue(7,null)),t.pushRootScope(i.symbols.length+1,n)}),Bg.add(17,(t,{op1:e})=>{let n=t.fetchValue(e),i=t.scope(),r=t.stack.peek(),s=r.named.atNames;for(let o=s.length-1;o>=0;o--){let t=s[o],e=n.table.symbols.indexOf(t),a=r.named.get(t,!0);-1!==e&&i.bindSymbol(e+1,a),n.lookup&&(n.lookup[t]=a)}}),Bg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))Cm(i.symbolNames[r],i.names[r],n,i,t)}),Bg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),Bg.add(100,(t,{op1:e})=>{let n=t.fetchValue(e),{manager:i,state:r,capabilities:s}=n,o=t.tree().popBlock();void 0!==t.env.debugRenderTree&&(sm(i)?i.getDebugCustomRenderTree(n.definition.state,r,Hm).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Pm(n,o)))),ni(0,s,$n.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Tm(n,o)))}),Bg.add(98,t=>{t.commitCacheGroup()});class km{constructor(t,e,n){this.component=t,this.manager=e,this.dynamicScope=n}evaluate(t){let{component:e,manager:n,dynamicScope:i}=this;n.update(e,i)}}class Tm{constructor(t,e){this.component=t,this.bounds=e}evaluate(t){let{component:e,bounds:n}=this,{manager:i,state:r}=e;i.didUpdateLayout(r,n),t.env.didUpdate(e)}}class Rm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Pm{constructor(t,e){this.bucket=t,this.bounds=e}evaluate(t){t.env.debugRenderTree?.didRender(this.bucket,this.bounds)}}class Im{constructor(){this.stack=null,this.positional=new Om,this.named=new Am,this.blocks=new zm}empty(t){let e=t.registers[3]+1;return this.named.empty(t,e),this.positional.empty(t,e),this.blocks.empty(t,e),this}setup(t,e,n,i,r){this.stack=t;let s=this.named,o=e.length,a=t.registers[3]-o+1;s.setup(t,a,o,e,r);let l=a-i;this.positional.setup(t,l,i);let u=this.blocks,c=n.length,h=l-3*c;u.setup(t,h,c,n)}get base(){return this.blocks.base}get length(){return this.positional.length+this.named.length+3*this.blocks.length}at(t){return this.positional.at(t)}realloc(t){let{stack:e}=this;if(t>0&&null!==e){let{positional:n,named:i}=this,r=n.base+t;for(let t=n.length+i.length-1;t>=0;t--)e.copy(t+n.base,t+r);n.base+=t,i.base+=t,e.registers[3]+=t}}capture(){let t=0===this.positional.length?Wm:this.positional.capture();return{named:0===this.named.length?Vm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Mm=Ye();class Om{constructor(){this.base=0,this.length=0,this.stack=null,this._references=null}empty(t,e){this.stack=t,this.base=e,this.length=0,this._references=Mm}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Mm:null}at(t){let{base:e,length:n,stack:i}=this;return t<0||t>=n?mn:i.get(t,e)}capture(){return this.references}prepend(t){let e=t.length;if(e>0){let{base:n,length:i,stack:r}=this;this.base=n-=e,this.length=i+e;for(let s=0;s0){let{names:n,length:i,stack:r}=this,s=n.slice();for(const o of e)-1===s.indexOf(o)&&(i=s.push(o),r.push(t[o]));this.length=i,this._references=null,this._names=s,this._atNames=null}}get references(){let t=this._references;if(!t){let{base:e,length:n,stack:i}=this;t=this._references=i.slice(e,e+n)}return t}toSyntheticName(t){return t.slice(1)}toAtName(t){return`@${t}`}}function Fm(t){return`&${t}`}const Lm=Ye();class zm{constructor(){this.internalValues=null,this._symbolNames=null,this.internalTag=null,this.names=Ze,this.length=0,this.base=0}empty(t,e){this.stack=t,this.names=Ze,this.base=e,this.length=0,this._symbolNames=null,this.internalTag=se,this.internalValues=Lm}setup(t,e,n,i){this.stack=t,this.names=i,this.base=e,this.length=n,this._symbolNames=null,0===n?(this.internalTag=se,this.internalValues=Lm):(this.internalTag=null,this.internalValues=null)}get values(){let t=this.internalValues;if(!t){let{base:e,length:n,stack:i}=this;t=this.internalValues=i.slice(e,e+3*n)}return t}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);if(-1===e)return null;let{base:n,stack:i}=this,r=i.get(3*e,n),s=i.get(3*e+1,n),o=i.get(3*e+2,n);return null===o?null:[o,s,r]}capture(){return new Dm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Fm)),t}}class Dm{constructor(t,e){this.names=t,this.values=e,this.length=t.length}has(t){return-1!==this.names.indexOf(t)}get(t){let e=this.names.indexOf(t);return-1===e?null:[this.values[3*e+2],this.values[3*e+1],this.values[3*e]]}}function Nm(t,e){return{named:t,positional:e}}function jm(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Um(t){return t.map(Rn)}const Bm=Symbol("ARGUMENT_ERROR");function qm(t){return null!==t&&"object"==typeof t&&t[Bm]}function Gm(t){return{[Bm]:!0,error:t}}function $m(t){return{named:function(t){let e=rn();for(const[i,r]of Object.entries(t))try{e[i]=Rn(r)}catch(n){e[i]=Gm(n)}return e}(t.named),positional:(e=t.positional,e.map(t=>{try{return Rn(t)}catch(e){return Gm(e)}}))};var e}const Vm=Object.freeze(Object.create(null)),Wm=Mm,Hm=Nm(Vm,Wm);function Km(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Xm(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Ym(t){return t===mn}Bg.add(77,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=i.pop(),o=t.getOwner();t.context.resolver,t.loadValue(8,function(t,e,n,i){let r,s;return xn(()=>{let o=Rn(e);return o===r||(s=Xg(o,t)?i?Jg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Jg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),Bg.add(107,t=>{let e,n=t.stack,i=n.pop(),r=n.pop().capture(),s=t.getOwner(),o=xn(()=>{void 0!==e&&At(e);let t=Rn(i);if(Xg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Zg(t),l=Xm(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),It(o,e)}else if(on(t)){let n=Xm(t);e=n(r,s),Ft(e)&&It(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),Bg.add(16,(t,{op1:e})=>{let n=t.stack,i=t.constants.getValue(e)(n.pop().capture(),t.getOwner(),t.dynamicScope());Ft(i)&&t.associateDestroyable(i),t.loadValue(8,i)}),Bg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),Bg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),Bg.add(20,(t,{op1:e})=>{let n=t.stack.pop(),i=t.stack.pop(),r=t.stack.pop();t.scope().bindBlock(e,[n,i,r])}),Bg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),Bg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(In(i,n))}),Bg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),Bg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Ym(n)){let[t,i,r]=n;e.push(r),e.push(i),e.push(t)}else e.push(null),e.push(null),e.push(null)}),Bg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Ym(n)?e.push(_n):e.push(vn)}),Bg.add(26,t=>{t.stack.pop(),t.stack.pop();let e=t.stack.pop(),n=e&&e.parameters.length;t.stack.push(n?_n:vn)}),Bg.add(27,(t,{op1:e})=>{let n=new Array(e);for(let r=e;r>0;r--)n[r-1]=t.stack.pop();var i;t.stack.push((i=n,xn(()=>{const t=[];for(const e of i){const n=Rn(e);null!=n&&t.push(Km(n))}return t.length>0?t.join(""):null})))}),Bg.add(109,t=>{let e=t.stack.pop(),n=t.stack.pop(),i=t.stack.pop();t.stack.push(xn(()=>yt(Rn(e))?Rn(n):Rn(i)))}),Bg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),Bg.add(111,t=>{let e=t.dynamicScope(),n=t.stack,i=n.pop();n.push(xn(()=>{let t=String(Rn(i));return Rn(e.get(t))}))}),Bg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Um(e))}))});class Zm{constructor(t,e,n){this.node=t,this.reference=e,this.lastValue=n}evaluate(){let t,e=Rn(this.reference),{lastValue:n}=this;e!==n&&(t=cm(e)?"":pm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Jm(t){return function(t){return pm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Xg(t,0)||xi(t)?0:Xg(t,1)||Si(t)?1:dm(t)?4:function(t){return hm(t)&&11===t.nodeType}(t)?5:function(t){return hm(t)&&"number"==typeof t.nodeType}(t)?6:2}function Qm(t){return on(t)?Xg(t,0)||xi(t)?0:1:2}function ty(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}Bg.add(76,t=>{let e=t.stack.peek();t.stack.push(Jm(Rn(e))),kn(e)||t.updateWith(new gm(e,Jm))}),Bg.add(106,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new gm(e,Qm))}),Bg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),Bg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),Bg.add(47,t=>{let e=t.stack.pop(),n=Rn(e),i=cm(n)?"":String(n),r=t.tree().appendDynamicText(i);kn(e)||t.updateWith(new Zm(r,e,i))}),Bg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),Bg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ey=ty;class ny{#f;constructor(t,e){this.scope=t,this.#f=e}get(t){let e,{scope:n}=this,i=this.#f,r=t.split("."),[s,...o]=t.split(".");return"this"===s?e=n.getSelf():i.locals[s]?e=n.getSymbol(i.locals[s]):(e=this.scope.getSelf(),o=r),o.reduce((t,e)=>In(t,e),e)}}Bg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new ny(t.scope(),n);ey(Rn(t.getSelf()),t=>Rn(i.get(t)))}),Bg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=jn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new gm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),Bg.add(73,t=>{t.exitList()}),Bg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const iy={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!1,wrapped:!1,willDestroy:!1,hasSubOwner:!1};class ry{getCapabilities(){return iy}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const sy=new ry;class oy{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ay(t,e){return new oy(t,e)}bi(sy,oy.prototype);const ly={foreignObject:1,desc:1,title:1},uy=Object.create(null);class cy{constructor(t){this.document=t,this.setupUselessElement()}setupUselessElement(){this.uselessElement=this.document.createElement("div")}createElement(t,e){let n,i,r,s;if(e?(n=e.namespaceURI===zg||"svg"===t,r=e.namespaceURI===Lg||"math"===t,i=!!ly[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(uy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Lg:zg,this.document.createElementNS(s,t)}insertBefore(t,e,n){t.insertBefore(e,n)}insertHTMLBefore(t,e,n){if(""===n){const n=this.createComment("");return t.insertBefore(n,e),new nm(t,n,n)}const i=e?e.previousSibling:t.lastChild;let r;if(null===e)t.insertAdjacentHTML("beforeend",n),r=t.lastChild;else if(e instanceof HTMLElement)e.insertAdjacentHTML("beforebegin",n),r=e.previousSibling;else{const{uselessElement:i}=this;t.insertBefore(i,e),i.insertAdjacentHTML("beforebegin",n),r=i.previousSibling,t.removeChild(i)}const s=i?i.nextSibling:t.firstChild;return new nm(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function hy(t,e,n){if(!t)return e;if(!function(t,e){const n=t.createElementNS(e,"svg");try{n.insertAdjacentHTML("beforeend","")}catch{}finally{return 1!==n.childNodes.length||n.firstChild.namespaceURI!==zg}}(t,n))return e;const i=t.createElement("div");return class extends e{insertHTMLBefore(t,e,r){return""===r||t.namespaceURI!==n?super.insertHTMLBefore(t,e,r):function(t,e,n,i){let r;if("FOREIGNOBJECT"===t.tagName.toUpperCase()){const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild.firstChild}else{const t=""+n+"";ln(e),e.insertAdjacentHTML("afterbegin",t),r=e.firstChild}return function(t,e,n){const i=t.firstChild;let r=i,s=i;for(;s;){const t=s.nextSibling;e.insertBefore(s,n),r=s,s=t}return new nm(e,i,r)}(r,t,i)}(t,i,r,e)}}}function dy(t,e){return t&&function(t){const e=t.createElement("div");return e.appendChild(t.createTextNode("first")),e.insertAdjacentHTML("beforeend","second"),2!==e.childNodes.length}(t)?class extends e{constructor(t){super(t),this.uselessComment=t.createComment("")}insertHTMLBefore(t,e,n){if(""===n)return super.insertHTMLBefore(t,e,n);let i=!1;const r=e?e.previousSibling:t.lastChild;r&&r instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,e));const s=super.insertHTMLBefore(t,e,n);return i&&t.removeChild(this.uselessComment),s}}:e}const py="undefined"==typeof document?null:Dg(document);let fy=class extends cy{createElementNS(t,e){return this.document.createElementNS(t,e)}setAttribute(t,e,n,i=null){i?t.setAttributeNS(i,e,n):t.setAttribute(e,n)}};fy=dy(py,fy),fy=hy(py,fy,zg);const gy=fy;["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(t=>uy[t]=1);const my=/[\t\n\v\f\r \xa0\u{1680}\u{180e}\u{2000}-\u{200a}\u{2028}\u{2029}\u{202f}\u{205f}\u{3000}\u{feff}]/u,yy="undefined"==typeof document?null:Dg(document);class _y extends cy{constructor(t){super(t),this.document=t,this.namespace=null}setAttribute(t,e,n){t.setAttribute(e,n)}removeAttribute(t,e){t.removeAttribute(e)}insertAfter(t,e,n){this.insertBefore(t,e,n.nextSibling)}}let vy=_y;vy=dy(yy,vy),vy=hy(yy,vy,zg);const by=vy;function wy(t,e){let n,i;if(e in t)i=e,n="prop";else{let r=e.toLowerCase();r in t?(n="prop",i=r):(n="attr",i=e)}return"prop"!==n||"style"!==i.toLowerCase()&&!function(t,e){let n=xy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const xy={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},OUTPUT:{form:!0},BUTTON:{form:!0}},Sy=Symbol("TRANSACTION");class Ey{didCreate(t){this.createdComponents.push(t)}didUpdate(t){this.updatedComponents.push(t)}scheduleInstallModifier(t){this.scheduledInstallModifiers.push(t)}scheduleUpdateModifier(t){this.scheduledUpdateModifiers.push(t)}commit(){let{createdComponents:t,updatedComponents:e}=this;for(const{manager:r,state:s}of t)r.didCreate(s);for(const{manager:r,state:s}of e)r.didUpdate(s);let{scheduledInstallModifiers:n,scheduledUpdateModifiers:i}=this;for(const{manager:r,state:s,definition:o}of n){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.install(s));ne(t,e)}else r.install(s)}for(const{manager:r,state:s,definition:o}of i){let t=r.getTag(s);if(null!==t){let e=Me(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class Cy{static{Ry=Sy}constructor(t,e){this.delegate=e,this[Ry]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new lm:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?qm:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new gy(t.document),this.updateOperations=new _y(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Sy],this.debugRenderTree?.begin(),this[Sy]=new Ey}get transaction(){return this[Sy]}didCreate(t){this.transaction.didCreate(t)}didUpdate(t){this.transaction.didUpdate(t)}scheduleInstallModifier(t){this.isInteractive&&this.transaction.scheduleInstallModifier(t)}scheduleUpdateModifier(t){this.isInteractive&&this.transaction.scheduleUpdateModifier(t)}commit(){let t=this.transaction;this[Sy]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function ky(t,e,n,i){return{env:new Cy(t,e),program:new Fg(n.constants,n.heap),resolver:i}}function Ty(t,e){if(t[Sy])e();else{t.begin();try{e()}finally{t.commit()}}}var Ry;function Py(t){return yi(t,{})}const Iy=Py(({positional:t})=>xn(()=>Um(t),null)),My=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Oy=Py(({positional:t})=>xn(()=>Um(t).map(My).join(""),null)),Ay=Py(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Um(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Fy=Py(({positional:t})=>{let e=t[0]??mn,n=t[1]??mn;return xn(()=>{let t=Rn(e);if(sn(t))return bt(t,String(Rn(n)))},t=>{let i=Rn(e);if(sn(i))return wt(i,String(Rn(n)),t)})}),Ly=Py(({named:t})=>{let e=xn(()=>jm(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function zy(t){return Pe(t.argsCache)}class Dy{constructor(t,e=()=>Hm){let n=Re(()=>e(t));this.argsCache=n}get named(){return zy(this).named||Vm}get positional(){return zy(this).positional||Wm}}class Ny{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,Mt(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;By(t,n,i,r)}})}updateListener(){let{element:t,args:e,listener:n}=this;e.positional[0];let i=Rn(e.positional[0]);e.positional[1];let r,s,o,a=Rn(e.positional[1]);{let{once:t,passive:n,capture:i}=e.named;t&&(r=Rn(t)),n&&(s=Rn(n)),i&&(o=Rn(i))}let l,u=!1;if(u=null===n||i!==n.eventName||a!==n.userProvidedCallback||r!==n.once||s!==n.passive||o!==n.capture,u&&(void 0===r&&void 0===s&&void 0===o||(l={once:r,passive:s,capture:o})),u){let e=a;this.listener={eventName:i,callback:e,userProvidedCallback:a,once:r,passive:s,capture:o,options:l},n&&By(t,n.eventName,n.callback,n.options),function(t,e,n,i){jy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let jy=0,Uy=0;function By(t,e,n,i){Uy++,t.removeEventListener(e,n,i)}const qy=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:jy,removes:Uy}}create(t,e,n,i){return new Ny(e,i)}getTag({tag:t}){return t}install(t){t.updateListener()}update(t){t.updateListener()}getDestroyable(t){return t}},{});class Gy{constructor(t,e,n,i){this.stack=t,this.externs=n,this.currentOpSize=0,this.context=e,this.registers=i}fetchRegister(t){return this.registers[t]}loadRegister(t,e){this.registers[t]=e}setPc(t){this.registers[0]=t}pushFrame(){this.stack.push(this.registers[1]),this.stack.push(this.registers[2]),this.registers[2]=this.registers[3]-1}popFrame(){this.registers[3]=this.registers[2]-1,this.registers[1]=this.stack.get(0),this.registers[2]=this.stack.get(1)}pushSmallFrame(){this.stack.push(this.registers[1])}popSmallFrame(){this.registers[1]=this.stack.pop()}goto(t){this.setPc(this.target(t))}target(t){return this.registers[0]+t-this.currentOpSize}call(t){this.registers[1]=this.registers[0],this.setPc(this.context.program.heap.getaddr(t))}returnTo(t){this.registers[1]=this.target(t)}return(){this.setPc(this.registers[1])}nextStatement(){let{registers:t,context:e}=this,n=t[0];if(-1===n)return null;let i=e.program.opcode(n),r=this.currentOpSize=i.size;return this.registers[0]+=r,i}evaluateOuter(t,e){this.evaluateInner(t,e)}evaluateInner(t,e){t.isMachine?this.evaluateMachine(t,e):this.evaluateSyscall(t,e)}evaluateMachine(t,e){switch(t.type){case 0:return void this.pushFrame();case 1:return void this.popFrame();case 3:return void this.call(t.op1);case 2:return void e.call(this.stack.pop());case 4:return void this.goto(t.op1);case 5:return void e.return();case 6:return void this.returnTo(t.op1)}}evaluateSyscall(t,e){Bg.evaluate(e,t,t.type)}}const $y=["javascript:","vbscript:"],Vy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Wy=["EMBED"],Hy=["href","src","background","action"],Ky=["src"];function Xy(t,e){return-1!==t.indexOf(e)}function Yy(t,e){return(null===t||Xy(Vy,t))&&Xy(Hy,e)}function Zy(t,e){return null!==t&&Xy(Wy,t)&&Xy(Ky,e)}function Jy(t,e){return Yy(t,e)||Zy(t,e)}let Qy;function t_(t,e,n){if(null==n)return n;if(dm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=um(n);if(Yy(i,e)){let t=(s=r,Qy||(Qy=function(){const t=URL;if("object"==typeof t&&null!==t&&"function"==typeof t.parse){let e=t;return t=>{let n=null;return"string"==typeof t&&(n=e.parse(t).protocol),null===n?":":n}}if("function"==typeof t)return e=>{try{return new t(e).protocol}catch{return":"}};throw new Error('@glimmer/runtime needs a valid "globalThis.URL"')}()),Qy(s));if(Xy($y,t))return`unsafe:${r}`}var s;return Zy(i,e)?`unsafe:${r}`:r}function e_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===zg)return n_(i,e,s);const{type:o,normalized:a}=wy(t,e);return"attr"===o?n_(i,a,s):function(t,e,n){return Jy(t,e)?new o_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new l_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new u_(e,n):new s_(e,n)}(i,a,s)}function n_(t,e,n){return Jy(t,e)?new a_(n):new r_(n)}class i_{constructor(t){this.attribute=t}}class r_ extends i_{set(t,e,n){const i=c_(e);if(null!==i){const{name:e,namespace:n}=this.attribute;t.__setAttribute(e,i,n)}}update(t,e){const n=c_(t),{element:i,name:r}=this.attribute;null===n?i.removeAttribute(r):i.setAttribute(r,n)}}class s_ extends i_{constructor(t,e){super(e),this.normalizedName=t}set(t,e,n){null!=e&&(this.value=e,t.__setProperty(this.normalizedName,e))}update(t,e){const{element:n}=this.attribute;this.value!==t&&(n[this.normalizedName]=this.value=t,null==t&&this.removeAttribute())}removeAttribute(){const{element:t,namespace:e}=this.attribute;e?t.removeAttributeNS(e,this.normalizedName):t.removeAttribute(this.normalizedName)}}class o_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class a_ extends r_{set(t,e,n){const{element:i,name:r}=this.attribute,s=t_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=t_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e){t.__setProperty("value",um(e))}update(t){const e=this.attribute.element,n=e.value,i=um(t);n!==i&&(e.value=i)}}class u_ extends s_{set(t,e){null!=e&&!1!==e&&t.__setProperty("selected",!0)}update(t){this.attribute.element.selected=!!t}}function c_(t){return!1===t||null==t||void 0===t.toString?null:!0===t?"":"function"==typeof t?null:String(t)}class h_{constructor(t){this.node=t}firstNode(){return this.node}}class d_{constructor(t){this.node=t}lastNode(){return this.node}}class p_{static forInitialRender(t,e){return new this(t,e.element,e.nextSibling).initialize()}static resume(t,e){let n=new this(t,e.parentElement(),e.reset(t)).initialize();return n.pushBlock(e),n}constructor(t,e,n){this.constructing=null,this.operations=null,this.cursors=new an,this.modifierStack=new an,this.blockStack=new an,this.pushElement(e,n),this.env=t,this.dom=t.getAppendOperations(),this.updateOperations=t.getDOM()}initialize(){return this.pushAppendingBlock(),this}debugBlocks(){return this.blockStack.toArray()}get element(){return this.cursors.current.element}get nextSibling(){return this.cursors.current.nextSibling}get hasBlocks(){return this.blockStack.size>0}block(){return this.blockStack.current}popElement(){this.cursors.pop(),this.cursors.current}pushAppendingBlock(){return this.pushBlock(new f_(this.element))}pushResettableBlock(){return this.pushBlock(new m_(this.element))}pushBlockList(t){return this.pushBlock(new y_(this.element,t))}pushBlock(t,e=!1){let n=this.blockStack.current;return null!==n&&(e||n.didAppendBounds(t)),this.__openBlock(),this.blockStack.push(t),t}popBlock(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()}__openBlock(){}__closeBlock(){}openElement(t){let e=this.__openElement(t);return this.constructing=e,e}__openElement(t){return this.dom.createElement(t,this.element)}flushElement(t){let e=this.element,n=this.constructing;this.__flushElement(e,n),this.constructing=null,this.operations=null,this.pushModifiers(t),this.pushElement(n,null),this.didOpenElement(n)}__flushElement(t,e){this.dom.insertBefore(t,e,this.nextSibling)}closeElement(){return this.willCloseElement(),this.popElement(),this.popModifiers()}pushRemoteElement(t,e,n){return this.__pushRemoteElement(t,e,n)}__pushRemoteElement(t,e,n){if(this.pushElement(t,n),void 0===n)for(;t.lastChild;)t.removeChild(t.lastChild);let i=new g_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new em(t,e))}pushModifiers(t){this.modifierStack.push(t)}popModifiers(){return this.modifierStack.pop()}didAppendBounds(t){return this.block().didAppendBounds(t),t}didAppendNode(t){return this.block().didAppendNode(t),t}didOpenElement(t){return this.block().openElement(t),t}willCloseElement(){this.block().closeElement()}appendText(t){return this.didAppendNode(this.__appendText(t))}__appendText(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createTextNode(t);return e.insertBefore(n,r,i),r}__appendNode(t){return this.dom.insertBefore(this.element,t,this.nextSibling),t}__appendFragment(t){let e=t.firstChild;if(e){let n=new nm(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new nm(this.element,t,t)}}__appendHTML(t){return this.dom.insertHTMLBefore(this.element,this.nextSibling,t)}appendDynamicHTML(t){let e=this.trustedContent(t);this.didAppendBounds(e)}appendDynamicText(t){let e=this.untrustedContent(t);return this.didAppendNode(e),e}appendDynamicFragment(t){let e=this.__appendFragment(t);this.didAppendBounds(e)}appendDynamicNode(t){let e=this.__appendNode(t),n=new nm(this.element,e,e);this.didAppendBounds(n)}trustedContent(t){return this.__appendHTML(t)}untrustedContent(t){return this.__appendText(t)}appendComment(t){return this.didAppendNode(this.__appendComment(t))}__appendComment(t){let{dom:e,element:n,nextSibling:i}=this,r=e.createComment(t);return e.insertBefore(n,r,i),r}__setAttribute(t,e,n){this.dom.setAttribute(this.constructing,t,e,n)}__setProperty(t,e){this.constructing[t]=e}setStaticAttribute(t,e,n){this.__setAttribute(t,e,n)}setDynamicAttribute(t,e,n,i){let r=e_(this.constructing,t,i);return r.set(this,e,this.env),r}}class f_{constructor(t){this.parent=t,this.first=null,this.last=null,this.nesting=0}parentElement(){return this.parent}firstNode(){return this.first.firstNode()}lastNode(){return this.last.lastNode()}openElement(t){this.didAppendNode(t),this.nesting++}closeElement(){this.nesting--}didAppendNode(t){0===this.nesting&&(this.first||(this.first=new h_(t)),this.last=new d_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class g_ extends f_{constructor(t){super(t),Mt(this,()=>{this.parentElement()===this.firstNode().parentNode&&rm(this)})}}class m_ extends f_{constructor(t){super(t)}reset(){At(this);let t=rm(this);return this.first=null,this.last=null,this.nesting=0,t}}class y_{constructor(t,e){this.parent=t,this.boundList=e,this.parent=t,this.boundList=e}parentElement(){return this.parent}firstNode(){return this.boundList[0].firstNode()}lastNode(){let t=this.boundList;return t[t.length-1].lastNode()}openElement(t){}closeElement(){}didAppendNode(t){}didAppendBounds(t){}finalize(t){this.boundList.length}}function __(t,e){return p_.forInitialRender(t,e)}class v_{constructor(t,{alwaysRevalidate:e=!1}){this.frameStack=new an,this.env=t,this.dom=t.getDOM(),this.alwaysRevalidate=e}execute(t,e){this._execute(t,e)}_execute(t,e){let{frameStack:n}=this;for(this.try(t,e);!n.isEmpty();){let t=this.frame.nextStatement();void 0!==t?t.evaluate(this):n.pop()}}get frame(){return this.frameStack.current}goto(t){this.frame.goto(t)}try(t,e){this.frameStack.push(new E_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class b_{constructor(t,e,n,i){this.state=t,this.context=e,this.children=i,this.bounds=n}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}evaluate(t){t.try(this.children,null)}}class w_ extends b_{evaluate(t){t.try(this.children,this)}handleException(){let{state:t,bounds:e,context:{env:n}}=this;!function(t){let{children:e}=Pt(t);Tt(e,At)}(this);let i=p_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});It(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class x_ extends w_{constructor(t,e,n,i,r,s){super(t,e,n,[]),this.key=i,this.memo=r,this.value=s,this.retained=!1,this.index=-1}shouldRemove(){return!this.retained}reset(){this.retained=!1}}class S_ extends b_{constructor(t,e,n,i,r){super(t,e,n,i),this.iterableRef=r,this.type="list-block",this.opcodeMap=new Map,this.marker=null,this.lastIterator=Rn(r)}initializeChild(t){t.index=this.children.length-1,this.opcodeMap.set(t.key,t)}evaluate(t){let e=Rn(this.iterableRef);if(this.lastIterator!==e){let{bounds:n}=this,{dom:i}=t,r=this.marker=i.createComment("");i.insertAfter(n.parentElement(),r,n.lastNode()),this.sync(e),this.parentElement().removeChild(r),this.marker=null,this.lastIterator=e}super.evaluate(t)}sync(t){let{opcodeMap:e,children:n}=this,i=0,r=0;for(this.children=this.bounds.boundList=[];;){let s=t.next();if(null===s)break;let o=n[i],{key:a}=s;for(;void 0!==o&&o.retained;)o=n[++i];if(void 0!==o&&o.key===a)this.retainItem(o,s),i++;else if(e.has(a)){let t=e.get(a);if(t.index{let i=e.enterItem(t);i.index=s.length,s.push(i),n.set(a,i),It(this,i)})}moveItem(t,e,n){let i,r,{children:s}=this;Pn(t.memo,e.memo),Pn(t.value,e.value),t.retained=!0,void 0===n?im(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&im(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),rm(t),this.opcodeMap.delete(t.key)}}class E_{constructor(t,e){this.ops=t,this.exceptionHandler=e,this.current=0}goto(t){this.current=t}nextStatement(){return this.ops[this.current++]}handleException(){this.exceptionHandler&&this.exceptionHandler.handleException()}}class C_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,It(this,i),Mt(this,()=>rm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new v_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class k_{static restore(t,e){const n=new this(t.slice(),[0,-1,t.length-1,0]);return n.registers[0]=e,n.registers[3]=t.length-1,n.registers[2]=-1,n}constructor(t=[],e){this.stack=t,this.registers=e}push(t){this.stack[++this.registers[3]]=t}dup(t=this.registers[3]){this.stack[++this.registers[3]]=this.stack[t]}copy(t,e){this.stack[e]=this.stack[t]}pop(t=1){let e=this.stack[this.registers[3]];return this.registers[3]-=t,e}peek(t=0){return this.stack[this.registers[3]-t]}get(t,e=this.registers[2]){return this.stack[e+t]}set(t,e,n=this.registers[2]){this.stack[n+e]=t}slice(t,e){return this.stack.slice(t,e)}capture(t){let e=this.registers[3]+1,n=e-t;return this.stack.slice(n,e)}reset(){this.stack.length=0}}class T_{constructor(t,e){this.drop={},this.scope=new an,this.dynamicScope=new an,this.updating=new an,this.cache=new an,this.list=new an,this.destroyable=new an,this.scope.push(t),this.dynamicScope.push(e),this.destroyable.push(this.drop)}}class R_{#g;get stack(){return this.lowlevel.stack}get pc(){return this.lowlevel.fetchRegister(0)}#m;fetch(t){let e=this.fetchValue(t);this.stack.push(e)}load(t){let e=this.stack.pop();this.loadValue(t,e)}loadValue(t,e){this.#m[t]=e}fetchValue(t){return function(t){return t<=3}(t)?this.lowlevel.fetchRegister(t):this.#m[t]}call(t){null!==t&&this.lowlevel.call(t)}return(){this.lowlevel.return()}#y;constructor({scope:t,dynamicScope:e,stack:n,pc:i},r,s){this.#m=[null,null,null,null,null,null,null,null,null];let o=k_.restore(n,i);this.#y=s,this.context=r,this.#g=new T_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=tm.root(e.owner,e.scope??{self:mn,size:0});const i=function(t,e,n){return{pc:t,scope:e,dynamicScope:n,stack:[]}}(t.program.heap.getaddr(e.handle),n,e.dynamicScope);return new R_(i,t,e.tree)}compile(t){return Ng(t.compile(this.context))}get constants(){return this.context.program.constants}get program(){return this.context.program}get env(){return this.context.env}captureClosure(t,e=this.lowlevel.fetchRegister(0)){return{pc:e,scope:this.scope(),dynamicScope:this.dynamicScope(),stack:this.stack.capture(t)}}capture(t,e=this.lowlevel.fetchRegister(0)){return new P_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new mm;e.push(n),e.push(new ym(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new _m(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new w_(e,this.context,n,[]);this.didEnter(i)}enterItem({key:t,value:e,memo:n}){let{stack:i}=this,r=Un(e),s=Un(n);i.push(r),i.push(s);let o=this.capture(2),a=this.tree().pushResettableBlock(),l=new x_(o,this.context,a,t,s,r);return this.didEnter(l),l}registerItem(t){this.listBlock().initializeChild(t)}enterList(t,e){let n=[],i=this.lowlevel.target(e),r=this.capture(0,i),s=this.tree().pushBlockList(n),o=new S_(r,this.context,s,n,t);this.#g.list.push(o),this.didEnter(o)}didEnter(t){this.associateDestroyable(t),this.#g.destroyable.push(t),this.updateWith(t),this.pushUpdating(t.children)}exit(){this.#g.destroyable.pop(),this.#y.popBlock(),this.popUpdating()}exitList(){this.exit(),this.#g.list.pop()}pushRootScope(t,e){let n=tm.sized(e,t);return this.#g.scope.push(n),n}pushChildScope(){this.#g.scope.push(this.scope().child())}pushScope(t){this.#g.scope.push(t)}popScope(){this.#g.scope.pop()}pushDynamicScope(){let t=this.dynamicScope().child();return this.#g.dynamicScope.push(t),t}bindDynamicScope(t){let e=this.dynamicScope();for(const n of Qe(t))e.set(n,this.stack.pop())}pushUpdating(t=[]){this.#g.updating.push(t)}popUpdating(){return this.#g.updating.pop()}updateWith(t){this.updating().push(t)}listBlock(){return this.#g.list.current}associateDestroyable(t){It(this.#g.destroyable.current,t)}updating(){return this.#g.updating.current}tree(){return this.#y}scope(){return this.#g.scope.current}dynamicScope(){return this.#g.dynamicScope.current}popDynamicScope(){this.#g.dynamicScope.pop()}getOwner(){return this.scope().owner}getSelf(){return this.scope().getSelf()}referenceForSymbol(t){return this.scope().getSymbol(t)}execute(t){return this._execute(t)}_execute(t){let e;t&&t(this);do{e=this.next()}while(!e.done);return e.value}next(){let t,{env:e}=this,n=this.lowlevel.nextStatement();return null!==n?(this.lowlevel.evaluateOuter(n,this),t={done:!1,value:null}):(this.stack.reset(),t={done:!0,value:new C_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class P_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new R_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function M_(t,e,n,i,r,s=new Qg){let o=Ng(r.compile(t)),a=r.symbolTable.symbols.length,l=R_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function O_(t,e,n,i,r={},s=new Qg){return function(t,e,n,i,r){const s=Object.keys(r).map(t=>[t,r[t]]),o=["main","else","attrs"],a=s.map(([t])=>`@${t}`);let l=t.constants.component(i,n,void 0,"{ROOT}");t.lowlevel.pushFrame();for(let h=0;h<3*o.length;h++)t.stack.push(null);t.stack.push(null),s.forEach(([,e])=>{t.stack.push(e)}),t.args.setup(t.stack,a,o,0,!0);const u=l.compilable,c={handle:Ng(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(c),t.stack.push(l),new I_(t)}(R_.initial(t,{tree:e,handle:t.stdlib.main,dynamicScope:s,owner:n}),t,n,i,function(t){const e=bn(t);return Object.keys(t).reduce((t,n)=>(t[n]=In(e,n),t),{})}(r))}class A_ extends em{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class F_ extends p_{constructor(t,e,n){if(super(t,e,n),this.unmatchedAttributes=null,this.blockDepth=0,n)throw new Error("Rehydration with nextSibling not supported");let i=this.currentCursor.element.firstChild;for(;null!==i&&!L_(i);)i=i.nextSibling;this.candidate=i;const r=D_(i);if(0!==r){const t=r-1,e=this.dom.createComment(`%+b:${t}%`);i.parentNode.insertBefore(e,this.candidate);let n=i.nextSibling;for(;null!==n&&(!z_(n)||D_(n)!==r);)n=n.nextSibling;const s=this.dom.createComment(`%-b:${t}%`);i.parentNode.insertBefore(s,n.nextSibling),this.candidate=e,this.startingBlockOffset=t}else this.startingBlockOffset=0}get currentCursor(){return this.cursors.current}get candidate(){return this.currentCursor?this.currentCursor.candidate:null}set candidate(t){this.currentCursor.candidate=t}disableRehydration(t){const e=this.currentCursor;e.candidate=null,e.nextSibling=t}enableRehydration(t){const e=this.currentCursor;e.candidate=t,e.nextSibling=null}pushElement(t,e=null){const n=new A_(t,e,this.blockDepth||0);null!==this.candidate&&(n.candidate=t.firstChild,this.candidate=t.nextSibling),this.cursors.push(n)}clearMismatch(t){let e=t;const n=this.currentCursor;if(null!==n){const t=n.openBlockDepth;if(t>=n.startingBlockDepth)for(;e&&!(z_(e)&&t>=N_(e,this.startingBlockOffset));)e=this.remove(e);else for(;null!==e;)e=this.remove(e);this.disableRehydration(e)}}__openBlock(){const{currentCursor:t}=this;if(null===t)return;const e=this.blockDepth;this.blockDepth++;const{candidate:n}=t;if(null===n)return;const{tagName:i}=t.element;L_(n)&&N_(n,this.startingBlockOffset)===e?(this.candidate=this.remove(n),t.openBlockDepth=e):"TITLE"!==i&&"SCRIPT"!==i&&"STYLE"!==i&&this.clearMismatch(n)}__closeBlock(){const{currentCursor:t}=this;if(null===t)return;const e=t.openBlockDepth;this.blockDepth--;const{candidate:n}=t;let i=!1;if(null!==n)if(i=!0,z_(n)&&N_(n,this.startingBlockOffset)===e){const e=this.remove(n);this.candidate=e,t.openBlockDepth--}else this.clearMismatch(n),i=!1;if(!i){const e=t.nextSibling;if(null!==e&&z_(e)&&N_(e,this.startingBlockOffset)===this.blockDepth){const n=this.remove(e);this.enableRehydration(n),t.openBlockDepth--}}}__appendNode(t){const{candidate:e}=this;return e||super.__appendNode(t)}__appendHTML(t){const e=this.markerBounds();if(e){const t=e.firstNode(),n=e.lastNode(),i=new nm(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&B_(r)&&(this.candidate=this.remove(r),null!==this.candidate&&this.clearMismatch(this.candidate)),i}return super.__appendHTML(t)}remove(t){const e=t.parentNode,n=t.nextSibling;return e.removeChild(t),n}markerBounds(){const t=this.candidate;if(t&&U_(t)){const e=t;let n=e.nextSibling;for(;!U_(n);)n=n.nextSibling;return new nm(this.element,e,n)}return null}__appendText(t){const{candidate:e}=this;return e?3===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):8===(n=e).nodeType&&"%|%"===n.nodeValue||B_(e)&&""===t?(this.candidate=this.remove(e),this.__appendText(t)):(this.clearMismatch(e),super.__appendText(t)):super.__appendText(t);var n}__appendComment(t){const e=this.candidate;return e&&8===e.nodeType?(e.nodeValue!==t&&(e.nodeValue=t),this.candidate=e.nextSibling,e):(e&&this.clearMismatch(e),super.__appendComment(t))}__openElement(t){const e=this.candidate;if(e&&j_(e)&&function(t,e){return t.namespaceURI===zg?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(j_(e)&&"TBODY"===e.tagName)return this.pushElement(e,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t);this.clearMismatch(e)}return super.__openElement(t)}__setAttribute(t,e,n){const i=this.unmatchedAttributes;if(i){const n=q_(i,t);if(n)return n.value!==e&&(n.value=e),void i.splice(i.indexOf(n),1)}return super.__setAttribute(t,e,n)}__setProperty(t,e){const n=this.unmatchedAttributes;if(n){const i=q_(n,t);if(i)return i.value!==e&&(i.value=e),void n.splice(n.indexOf(i),1)}return super.__setProperty(t,e)}__flushElement(t,e){const{unmatchedAttributes:n}=this;if(n){for(const t of n)this.constructing.removeAttribute(t.name);this.unmatchedAttributes=null}else super.__flushElement(t,e)}willCloseElement(){const{candidate:t,currentCursor:e}=this;null!==t&&this.clearMismatch(t),e&&e.injectedOmittedNode&&this.popElement(),super.willCloseElement()}getMarker(t,e){const n=t.querySelector(`script[glmr="${e}"]`);return n?Dg(n):null}__pushRemoteElement(t,e,n){const i=this.getMarker(t,e);if(!i||i.parentNode,void 0===n){for(;null!==t.firstChild&&t.firstChild!==i;)this.remove(t.firstChild);n=null}const r=new A_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new g_(t);return this.pushBlock(s,!0)}didAppendBounds(t){if(super.didAppendBounds(t),this.candidate){const e=t.lastNode();this.candidate=e.nextSibling}return t}}function L_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function z_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function D_(t){return parseInt(t.nodeValue.slice(4),10)}function N_(t,e){return D_(t)-e}function j_(t){return 1===t.nodeType}function U_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function B_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function q_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return F_.forInitialRender(t,e)}const $_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:nm,CurriedValue:Yg,CursorImpl:em,DOMChanges:by,DOMTreeConstruction:gy,DynamicAttribute:i_,DynamicScopeImpl:Qg,EMPTY_ARGS:Hm,EMPTY_NAMED:Vm,EMPTY_POSITIONAL:Wm,EnvironmentImpl:Cy,IDOMChanges:_y,LowLevelVM:Gy,NewTreeBuilder:p_,RehydrateTree:F_,RemoteBlock:g_,ResettableBlockImpl:m_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:tm,SimpleDynamicAttribute:r_,TEMPLATE_ONLY_COMPONENT_MANAGER:sy,TemplateOnlyComponent:oy,TemplateOnlyComponentManager:ry,UpdatingVM:v_,array:Iy,clear:rm,clientBuilder:__,concat:Oy,createCapturedArgs:Nm,curry:Jg,destroy:At,dynamicAttribute:e_,fn:Ay,get:Fy,hash:Ly,inTransaction:Ty,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new Dy(t,n),a=r.createHelper(e,o);if(!si(r))throw new Error("TODO: unreachable, to be implemented with hasScheduledEffect");return s=Re(()=>r.getValue(a)),It(t,s),oi(r)&&It(s,r.getDestroyable(a)),s},isDestroyed:zt,isDestroying:Lt,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return my.test(t)},normalizeProperty:wy,on:qy,registerDestructor:Mt,rehydrationBuilder:G_,reifyArgs:function(t){return{named:jm(t.named),positional:Um(t.positional)}},reifyNamed:jm,reifyPositional:Um,renderComponent:O_,renderMain:M_,renderSync:function(t,e){let n;return Ty(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ey=ty},runtimeOptions:ky,setDebuggerCallback:function(t){ey=t},templateOnlyComponent:ay},Symbol.toStringTag,{value:"Module"})),V_=qy,W_=Symbol("MUTABLE_CELL"),H_=Eg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),K_=Eg({id:"Cc/BCoQJ",block:'[[[11,"input"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,4,[30,0,["type"]]],[16,"checked",[30,0,["checked"]]],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/input.hbs",scope:()=>[V_],isStrictMode:!0});function X_(){}class Y_{static toString(){return"internal component"}constructor(t,e,n){this.owner=t,this.args=e,this.caller=n,Zi(this,t)}get id(){return U(this)}get class(){return"ember-view"}validateArguments(){for(let t of Object.keys(this.args.named))this.isSupportedArgument(t)||this.onUnsupportedArgument(t)}named(t){let e=this.args.named[t];return e?Rn(e):void 0}positional(t){let e=this.args.positional[t];return e?Rn(e):void 0}listenerFor(t){return this.named(t)||X_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const Z_=new WeakMap;function J_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return Z_.set(n,t),bi(tv,n),Di(e,n),n}const Q_={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},tv=new class{getCapabilities(){return Q_}create(t,e,n,i,r,s){var o;let a=new(o=e,Z_.get(o))(t,n.capture(),Rn(s));return Oe(a.validateArguments.bind(a)),a}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}getDebugName(t){return t.toString()}getSelf(t){return bn(t)}getDestroyable(t){return t}},ev=Object.freeze({});function nv(t){return function(t){return t.target}(t).value}function iv(t){return void 0===t?new rv(void 0):kn(t)?new rv(Rn(t)):Tn(t)?new sv(t):new ov(t)}class rv{static{Jc(this.prototype,"value",[ys])}#_=void eh(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class sv{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class ov{local;upstream;lastUpstreamValue=ev;constructor(t){this.upstream=new sv(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new rv(t)),this.local.get()}set(t){this.local.set(t)}}class av extends Y_{validateArguments(){super.validateArguments()}_value=iv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=nv(t)}static{th(this.prototype,"valueDidChange",[cc])}change(t){this.valueDidChange(t)}input(t){this.valueDidChange(t)}keyUp(t){switch(t.key){case"Enter":this.listenerFor("enter")(t),this.listenerFor("insert-newline")(t);break;case"Escape":this.listenerFor("escape-press")(t)}}static{th(this.prototype,"keyUp",[cc])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(nv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let lv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,lv=n=>{let i=t[n];if(void 0===i){try{e.type=n,i=e.type===n}catch(r){i=!1}finally{e.type="text"}t[n]=i}return i}}else lv=t=>""!==t;class uv extends av{static toString(){return"Input"}get class(){return this.isCheckbox?"ember-checkbox ember-view":"ember-text-field ember-view"}get type(){let t=this.named("type");return null==t?"text":lv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=iv(this.args.named.checked);get checked(){return this.isCheckbox?this._checked.get():void 0}set checked(t){this._checked.set(t)}change(t){this.isCheckbox?this.checkedDidChange(t):super.change(t)}static{th(this.prototype,"change",[cc])}input(t){this.isCheckbox||super.input(t)}static{th(this.prototype,"input",[cc])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{th(this.prototype,"checkedDidChange",[cc])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=J_(uv,K_),hv=Eg({id:"7Z3LFeO/",block:'[[[11,3],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[16,"role",[30,0,["role"]]],[16,"title",[30,0,["title"]]],[16,"rel",[30,0,["rel"]]],[16,"tabindex",[30,0,["tabindex"]]],[16,"target",[30,0,["target"]]],[17,1],[16,6,[30,0,["href"]]],[4,[32,0],["click",[30,0,["click"]]],null],[12],[18,2,null],[13]],["&attrs","&default"],["yield"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/link-to.hbs",scope:()=>[V_],isStrictMode:!0}),dv=[],pv={};function fv(t){return null==t}function gv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class mv extends Y_{static toString(){return"LinkTo"}static{Jc(this.prototype,"routing",[hf("-routing")])}#v=void eh(this,"routing");validateArguments(){super.validateArguments()}get class(){let t="ember-view";return this.isActive?(t+=this.classFor("active"),!1===this.willBeActive&&(t+=" ember-transitioning-out")):this.willBeActive&&(t+=" ember-transitioning-in"),this.isLoading&&(t+=this.classFor("loading")),this.isDisabled&&(t+=this.classFor("disabled")),t}get href(){if(this.isLoading)return"#";let{routing:t,route:e,models:n,query:i}=this;return Se(Ve(t,"currentState")),t.generateURL(e,n,i)}click(t){if(!dc(t))return;let e=t.currentTarget;if(""!==e.target&&"_self"!==e.target)return;if(this.preventDefault(t),this.isDisabled)return;if(this.isLoading)return;let{routing:n,route:i,models:r,query:s,replace:o}=this,a={transition:void 0};jc(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{th(this.prototype,"click",[cc])}get route(){if("route"in this.args.named){let t=this.named("route");return t&&this.namespaceRoute(t)}return this.currentRoute}currentRouteCache=Re(()=>(Se(Ve(this.routing,"currentState")),Oe(()=>this.routing.currentRouteName)));get currentRoute(){return Pe(this.currentRouteCache)}get models(){return"models"in this.args.named?this.named("models"):"model"in this.args.named?[this.named("model")]:dv}get query(){return"query"in this.args.named?{...this.named("query")}:pv}get replace(){return!0===this.named("replace")}get isActive(){return this.isActiveForState(this.routing.currentState)}get willBeActive(){let t=this.routing.currentState,e=this.routing.targetState;return t===e?null:this.isActiveForState(e)}get isLoading(){return fv(this.route)||this.models.some(t=>fv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==jh(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||fv(e)?` ${t}`:e?` ${e}`:""}namespaceRoute(t){let{engineMountPoint:e}=this;return void 0===e?t:"application"===t?e:`${e}.${t}`}isActiveForState(t){if(!function(t){return!fv(t)}(t))return!1;if(this.isLoading)return!1;let e=this.named("current-when");if("boolean"==typeof e)return e;if("string"==typeof e){let{models:n,routing:i}=this;return e.split(" ").some(e=>i.isActiveForRoute(n,void 0,this.namespaceRoute(e),t))}{let{route:e,models:n,query:i,routing:r}=this;return r.isActiveForRoute(n,i,e,t)}}preventDefault(t){t.preventDefault()}isSupportedArgument(t){return-1!==["route","model","models","query","replace","disabled","current-when","activeClass","loadingClass","disabledClass"].indexOf(t)||super.isSupportedArgument(t)}}let{prototype:yv}=mv,_v=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||_v(Object.getPrototypeOf(t),e):null;{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=_v(yv,"models").get;Object.defineProperty(yv,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&gv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=_v(yv,"query").get;Object.defineProperty(yv,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return gv(t)?t.values??pv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(gv(t)&&null!==t.values)return t.values}return pv}}})}{let t=yv.onUnsupportedArgument;Object.defineProperty(yv,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const vv=J_(mv,hv),bv=Eg({id:"KVdeMchh",block:'[[[11,"textarea"],[16,1,[30,0,["id"]]],[16,0,[30,0,["class"]]],[17,1],[16,2,[30,0,["value"]]],[4,[32,0],["change",[30,0,["change"]]],null],[4,[32,0],["input",[30,0,["input"]]],null],[4,[32,0],["keyup",[30,0,["keyUp"]]],null],[4,[32,0],["paste",[30,0,["valueDidChange"]]],null],[4,[32,0],["cut",[30,0,["valueDidChange"]]],null],[12],[13]],["&attrs"],[]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/textarea.hbs",scope:()=>[V_],isStrictMode:!0});class wv extends av{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{th(this.prototype,"change",[cc])}input(t){super.input(t)}static{th(this.prototype,"input",[cc])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const xv=J_(wv,bv);function Sv(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Ev(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?In(t,e[0]):Mn(t,e)}function Cv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function kv(t,e,n,i){let[r,s,o]=n;if("id"===s){let e=us(t,r);null==e&&(e=t.elementId);let n=gn(e);return void i.setAttribute("id",n,!0,null)}let a=r.indexOf(".")>-1?Ev(e,r.split(".")):In(e,r);i.setAttribute(s,a,!1,null)}function Tv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=sf(e)):i||0===i?String(i):null})}function Rv(){}class Pv{classRef=null;rootRef;argsRevision;constructor(t,e,n,i,r,s){this.component=t,this.args=e,this.argsTag=n,this.finalizer=i,this.hasWrappedElement=r,this.isInteractive=s,this.classRef=null,this.argsRevision=null===e?0:Zt(n),this.rootRef=bn(t),Mt(this,()=>this.willDestroy(),!0),Mt(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=vc(t);e&&(xc(e),Sc(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Rv}}function Iv(t){let e=Object.create(null),n=Object.create(null);for(let i in t){let r=t[i],s=Rn(r);Tn(r)?e[i]=new Ov(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Mv=Symbol("REF");class Ov{value;[W_];[Mv];constructor(t,e){this[W_]=!0,this[Mv]=t,this.value=e}update(t){Pn(this[Mv],t)}}const Av=ut("ARGS"),Fv=ut("HAS_BLOCK"),Lv=Symbol("DIRTY_TAG"),zv=Symbol("IS_DISPATCHING_ATTRS"),Dv=Symbol("BOUNDS"),Nv=gn("ember-view");class jv{templateFor(t){let e,{layout:n,layoutName:i}=t,r=Yi(t);if(void 0===n){if(void 0===i)return null;e=r.lookup(`template:${i}`)}else{if("function"!=typeof n)return null;e=n}return Sv(e(r)).asWrappedLayout()}getDynamicLayout(t){return this.templateFor(t.component)}getTagName(t){let{component:e,hasWrappedElement:n}=t;return n?e&&e.tagName||"div":null}getCapabilities(){return qv}prepareArgs(t,e){if(e.named.has("__ARGS__")){let{__ARGS__:t,...n}=e.named.capture(),i=Rn(t);return{positional:i.positional,named:{...n,...i.named}}}const{positionalParams:n}=t.class??t;if(null==n||0===e.positional.length)return null;let i;if("string"==typeof n){let t=e.positional.capture();i={[n]:xn(()=>Um(t))},Object.assign(i,e.named.capture())}else{if(!(Array.isArray(n)&&n.length>0))return null;{const t=Math.min(n.length,e.positional.length);i={},Object.assign(i,e.named.capture());for(let r=0;r{s.setAttribute("class",gn(t),!1,null)}),l&&l.length&&l.forEach(t=>{!function(t,e,n){let i=e.split(":"),[r,s,o]=i;if(""===r)n.setAttribute("class",gn(s),!0,null);else{let e,i=r.indexOf(".")>-1,a=i?r.split("."):[],l=i?Ev(t,a):In(t,r);e=void 0===s?Tv(l,i?a[a.length-1]:r):function(t,e,n){return xn(()=>Rn(t)?e:n)}(l,s,o),n.setAttribute("class",e,!1,null)}}(i,t,s)}),s.setAttribute("class",Nv,!1,null),"ariaRole"in t&&s.setAttribute("role",In(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[Dv]=e,t.finalize()}didCreate({component:t,isInteractive:e}){e&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))}update(t){let{component:e,args:n,argsTag:i,argsRevision:r,isInteractive:s}=t;if(t.finalizer=Bc("render.component",Bv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[zv]=!0,e.setProperties(r),e[zv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Lv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Uv(t){return t.instrumentDetails({initialRender:!0})}function Bv(t){return t.instrumentDetails({initialRender:!1})}const qv={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!0,hasSubOwner:!1},Gv=new jv;function $v(t){return t===Gv}let Vv=new WeakMap;const Wv=Object.freeze([]);class Hv extends(sh.extend(zl,oh,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Wv,classNameBindings:Wv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[zv]=!1,this[Lv]=ie(),this[Dv]=null;const e=this._dispatcher;if(e){let t=Vv.get(e);t||(t=new WeakSet,Vv.set(e,t));let n=Object.getPrototypeOf(this);t.has(n)||(e.lazyEvents.forEach((t,n)=>{null!==t&&"function"==typeof this[t]&&e.setupHandlerForBrowserEvent(n)}),t.add(n))}this.elementId||""===this.tagName||(this.elementId=U(this))}__dispatcher;get _dispatcher(){if(void 0===this.__dispatcher){let t=Yi(this);if(t.lookup("-environment:main").isInteractive){let e=t.lookup("event_dispatcher:main");this.__dispatcher=e}else this.__dispatcher=null}return this.__dispatcher}on(t,e,n){return this._dispatcher?.setupHandlerForEmberEvent(t),super.on(t,e,n)}_rerender(){ee(this[Lv]),this._superRerender()}[Gr](t,e){if(this[zv])return;let n=this[Av],i=void 0!==n?n[t]:void 0;void 0!==i&&Tn(i)&&Pn(i,2===arguments.length?e:us(this,t))}getAttr(t){return this.get(t)}readDOMAttr(t){let e=vc(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=wy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return Cc(this)}static{th(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){kc(this,t)}_transitionTo(t){let e=this._currentState,n=this._currentState=this._states[t];this._state=t,e&&e.exit&&e.exit(this),n.enter&&n.enter(this)}nearestOfType(t){let e=this.parentView;for(;e;){if(t.detect(e.constructor))return e;e=e.parentView}}nearestWithProperty(t){let e=this.parentView;for(;e;){if(t in e)return e;e=e.parentView}}rerender(){return this._currentState.rerender(this)}get element(){return this.renderer.getElement(this)}static{th(this.prototype,"element",[ur({configurable:!1,enumerable:!1})])}appendTo(t){let n;return n=e&&"string"==typeof t?document.querySelector(t):t,this.renderer.appendTo(this,n),this}append(){return this.appendTo(document.body)}willInsertElement(){return this}didInsertElement(){return this}willClearRender(){return this}destroy(){return super.destroy(),this._currentState.destroy(this),this}willDestroyElement(){return this}didDestroyElement(){return this}parentViewDidChange(){return this}handleEvent(t,e){return this._currentState.handleEvent(this,t,e)}static isComponentFactory=!0;static toString(){return"@ember/component"}}Hv.reopenClass({positionalParams:[]}),bi(Gv,Hv);const Kv=Symbol("RECOMPUTE_TAG"),Xv=Symbol("IS_CLASSIC_HELPER");class Yv extends Lc{static isHelperFactory=!0;static[Xv]=!0;static helper=eb;init(t){super.init(t),this[Kv]=ie()}recompute(){ea(()=>ee(this[Kv]))}}class Zv{capabilities=ri(0,{hasValue:!0,hasDestroyable:!0});ownerInjection;constructor(t){let e={};Zi(e,t),this.ownerInjection=e}createHelper(t,e){var n;return{instance:null!=(n=t)&&"class"in n?t.create():t.create(this.ownerInjection),args:e}}getDestroyable({instance:t}){return t}getValue({instance:t,args:e}){let{positional:n,named:i}=e,r=t.compute(n,i);return Se(t[Kv]),r}getDebugName(t){return B((t.class||t).prototype)}}Fi(t=>new Zv(t),Yv);const Jv=vi(Yv);class Qv{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const tb=new class{capabilities=ri(0,{hasValue:!0});createHelper(t,e){return()=>t.compute.call(null,e.positional,e.named)}getValue(t){return t()}getDebugName(t){return B(t.compute)}};function eb(t){return new Qv(t)}function nb(t){return{object:`${t.name}:main`}}Fi(()=>tb,Qv.prototype);const ib={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},rb=ti(ib),sb=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:Bc("render.outlet",nb,e)};if(void 0!==i.debugRenderTree){let t=Rn(s),e=t?.render?.owner,n=Rn(o),i=n?.render?.owner;if(e&&e!==i){let{mountPoint:t}=i;t&&(a.engine={mountPoint:t,instance:i})}}return a}getDebugName({name:t}){return`{{outlet}} for ${t}`}getDebugCustomRenderTree(t,e){let n=[];return n.push({bucket:e,type:"outlet",name:"main",args:Hm,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Hm,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return ib}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ob=Eg({id:"Hacwyo/Q",block:'[[[8,[30,1],null,[["@controller","@model"],[[30,2],[30,3]]],null]],["@Component","@controller","@model"],[]]',moduleName:"/home/runner/work/ember.js/ember.js/packages/@ember/-internals/glimmer/lib/component-managers/outlet.ts",isStrictMode:!0});class ab{handle=-1;resolvedName=null;manager=sb;capabilities=rb;compilable;constructor(t,e){this.state=e,this.compilable=Sv(ob(t)).asLayout()}}class lb extends jv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=Bc("render.component",Uv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Pv(s,null,se,o,a,i);return Se(s[Lv]),l}}const ub={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!0,willDestroy:!1,hasSubOwner:!1};class cb{handle=-1;resolvedName="-top-level";state;manager;capabilities=ti(ub);compilable=null;constructor(t){this.manager=new lb(t);let e=el(t);this.state=e}}function hb(t){return yi(t,{})}class db{constructor(t){this.inner=t}}const pb=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new db(t)})});class fb{position=0;constructor(t){this.length=t}isEmpty(){return!1}memoFor(t){return t}next(){let{length:t,position:e}=this;if(e>=t)return null;let n=this.valueFor(e),i=this.memoFor(e);return this.position++,{value:n,memo:i}}}class gb extends fb{static from(t){return t.length>0?new this(t):null}static fromForEachable(t){let e=[];return t.forEach(t=>e.push(t)),this.from(e)}constructor(t){super(t.length),this.array=t}valueFor(t){return this.array[t]}}class mb extends fb{static from(t){return t.length>0?new this(t):null}constructor(t){super(t.length),this.array=t}valueFor(t){return Ji(this.array,t)}}class yb extends fb{static fromIndexable(t){let e=Object.keys(t);if(0===e.length)return null;{let n=[];for(let i of e){let e;e=t[i],xe()&&(Se(Ve(t,i)),Array.isArray(e)&&Se(Ve(e,"[]"))),n.push(e)}return new this(e,n)}}static fromForEachable(t){let e=[],n=[],i=0,r=!1;return t.forEach(function(t,s){r=r||arguments.length>=2,r&&e.push(s),n.push(t),i++}),0===i?null:r?new this(e,n):new gb(n)}constructor(t,e){super(e.length),this.keys=t,this.values=e}valueFor(t){return this.values[t]}memoFor(t){return this.keys[t]}}class _b{static from(t){let e=t[Symbol.iterator](),n=e.next(),{done:i}=n;return i?null:new this(e,n)}position=0;constructor(t,e){this.iterable=t,this.result=e}isEmpty(){return!1}next(){let{iterable:t,result:e,position:n}=this;if(e.done)return null;let i=this.valueFor(e,n),r=this.memoFor(e,n);return this.position++,this.result=t.next(),{value:i,memo:r}}}class vb extends _b{valueFor(t){return t.value}memoFor(t,e){return e}}class bb extends _b{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function wb(t){return null!=t&&"function"==typeof t.forEach}function xb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Sb;Sb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):Ch(t)?(Se(tr(t,"[]")),0!==t.length):null!==(e=t)&&"object"==typeof e&&"function"==typeof e.toHTML?Boolean(t.toString()):Boolean(t);var e},toIterator:function(t){return t instanceof db?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||$i(t)?yb.fromIndexable(t):xb(t)?bb.from(t):wb(t)?yb.fromForEachable(t):yb.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?gb.from(t):$i(t)?mb.from(t):xb(t)?vb.from(t):wb(t)?gb.fromForEachable(t):null:null}(t)},getProp:cs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Sb.scheduleRevalidate,ft=Sb.scheduleDestroy,gt=Sb.scheduleDestroyed,mt=Sb.toIterator,yt=Sb.toBool,_t=Sb.getProp,vt=Sb.setProp,bt=Sb.getPath,wt=Sb.setPath;class Eb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const Cb=hb(({positional:t,named:e})=>{const n=t[0];let i=e.type,r=e.loc,s=e.original;return Rn(i),Rn(r),Rn(s),xn(()=>Rn(n))});let kb;kb=t=>t.positional[0];const Tb=hb(kb),Rb=hb(({positional:t})=>xn(()=>{let e=t[0],n=t[1],i=Rn(e).split("."),r=i[i.length-1],s=Rn(n);return!0===s?sf(r):s||0===s?String(s):""})),Pb=hb(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=hb(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Mb=hb(({positional:t})=>Cn(t[0])),Ob=hb(({positional:t})=>Sn(t[0])),Ab=hb(({positional:t,named:e})=>wn(Rn(t[0]))),Fb=hb(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Lb={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!0},zb=new class{getDynamicLayout(t){return Sv(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Lb}getOwner(t){return t.engine}create(t,{name:e},n,i){let r=t.buildChildEngineInstance(e);r.boot();let s,o,a,l,u=r.factoryFor("controller:application")||jd(r,"application");if(n.named.has("model")&&(l=n.named.get("model")),void 0===l)s=u.create(),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l};else{let t=Rn(l);s=u.create({model:t}),o=bn(s),a={engine:r,controller:s,self:o,modelRef:l}}return i.debugRenderTree&&It(r,s),a}getDebugName({name:t}){return t}getDebugCustomRenderTree(t,e,n,i){return[{bucket:e.engine,instance:e.engine,type:"engine",name:t.name,args:n},{bucket:e.controller,instance:e.controller,type:"route-template",name:"application",args:n,template:i}]}getSelf({self:t}){return t}getDestroyable(t){return t.engine}didCreate(){}didUpdate(){}didRenderLayout(){}didUpdateLayout(){}update(t){let{controller:e,modelRef:n}=t;void 0!==n&&e.set("model",Rn(n))}};class Db{handle=-1;state;manager=zb;compilable=null;capabilities=ti(Lb);constructor(t){this.resolvedName=t,this.state={name:t}}}const Nb=hb((t,e)=>{let n,i,r,s=t.positional[0];return n=Nm(t.named,Wm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Jg(0,new Db(t),e,n,!0)),r):(r=null,i=null,null)})}),jb={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!1,updateHook:!1,createInstance:!0,wrapped:!1,willDestroy:!1,hasSubOwner:!1},Ub=ti(jb),Bb=new class{create(t,e,n){let i=n.named.get("controller");return{self:i,controller:Rn(i)}}getSelf({self:t}){return t}getDebugName({name:t}){return`route-template (${t})`}getDebugCustomRenderTree({name:t,templateName:e},n,i){return[{bucket:n,type:"route-template",name:t,args:i,instance:n.controller,template:e}]}getCapabilities(){return jb}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class qb{handle=-1;resolvedName;state;manager=Bb;capabilities=Ub;compilable;constructor(t,e){let n=Sv(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Jg(0,new qb(e,n),t,null,!0)}const $b=hb((t,e,n)=>{let i=xn(()=>{let t=Rn(n.get("outletState"));return t?.outlets?.main}),r=null,s=null;return xn(()=>{let t=Rn(i),n=function(t,e){if(void 0===e)return null;let n=e.render;if(void 0===n)return null;let i=n.template;return null==i?null:{ref:t,name:n.name,template:i,controller:n.controller}}(i,t);if(!function(t,e){return null!==t&&null!==e&&t.template===e.template&&t.controller===e.controller}(n,r))if(r=n,null!==n){let o,a=t?.render?.owner??e,l=rn(),u=n.template;o=xi(u)?u:Gb(a,n.name,u),l.Component=bn(o),l.controller=bn(n.controller);let c=Mn(i,["render","model"]),h=Rn(c);l.model=xn(()=>(r===n&&(h=Rn(c)),h));let d=Nm(l,Wm);s=Jg(0,new ab(e,n),a,d,!0)}else s=null;return s})});function Vb(t){return{object:`component:${t}`}}const Wb={mut:Mb,readonly:Ob,unbound:Ab,"-hash":Ly,"-each-in":pb,"-normalize-class":Rb,"-resolve":Pb,"-track-array":Ib,"-mount":Nb,"-outlet":$b,"-in-el-null":Tb},Hb={...Wb,array:Iy,concat:Oy,fn:Ay,get:Fy,hash:Ly,"unique-id":Fb};Hb["-disallow-dynamic-resolution"]=Cb;const Kb={},Xb={...Kb,on:qy};class Yb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Hb[t];if(void 0!==n)return n;let i=e.factoryFor(`helper:${t}`);if(void 0===i)return null;let r=i.class;return void 0===r?null:"function"==typeof r&&!0===r[Xv]?(yi(Jv,i),i):r}lookupBuiltInHelper(t){return Wb[t]??null}lookupModifier(t,e){let n=Xb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Kb[t]??null}lookupComponent(t,e){let n=function(t,e){let n=function(t,e){let n=`component:${t}`;return e.factoryFor(n)||null}(e,t);if(null!=(i=n)&&"function"==typeof i.create&&n.class){let t=Ni(n.class);if(void 0!==t)return{component:n,layout:t}}var i;return null===n?null:{component:n,layout:null}}(e,t);if(null===n)return null;let i,r=null;i=null===n.component?r=n.layout(e):n.component;let s=this.componentDefinitionCache.get(i);if(void 0!==s)return s;null===r&&null!==n.layout&&(r=n.layout(e));let o=Bc("render.getComponentDefinition",Vb,t),a=null;if(null===n.component)a={state:ay(void 0,t),manager:sy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:$v(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Zb="-top-level";class Jb{static extend(t){return class extends Jb{static create(e){return e?super.create(Object.assign({},t,e)):super.create(t)}}}static reopenClass(t){Object.assign(this,t)}static create(t){let{environment:e,application:n,template:i}=t,r=Yi(t),s=i(r);return new Jb(e,r,s,n)}ref;state;constructor(t,e,n,i){this._environment=t,this.owner=e,this.template=n,this.namespace=i;let r=ie(),s={outlets:{main:void 0},render:{owner:e,name:Zb,controller:void 0,model:void 0,template:n}},o=this.ref=xn(()=>(Se(r),s),t=>{ee(r),s.outlets.main=t});this.state={ref:o,name:Zb,template:n,controller:void 0}}appendTo(t){let e;e=this._environment.hasDOM&&"string"==typeof t?document.querySelector(t):t,ia("render",this.owner.lookup("renderer:-dom"),"appendOutletView",this,e)}rerender(){}setOutletState(t){Pn(this.ref,t)}destroy(){}}class Qb{constructor(t,e){this.view=t,this.outletState=e}child(){return new Qb(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const tw=()=>{};class ew{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=O_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();It(this,this.#b),this.#w=()=>{if(!Lt(r)&&!zt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return zt(this)}get result(){return this.#b}}class nw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Jb?U(t):gc(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Sv(i).asLayout(),l=M_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();It(n,u),this.render=()=>{if(!Lt(u)&&!zt(u))return u.rerender({alwaysRevalidate:!1})}}}isFor(t){return this.root===t}destroy(){let{result:t,env:e}=this;this.destroyed=!0,this.root=null,this.result=void 0,this.render=void 0,void 0!==t&&Ty(e,()=>At(t))}}const iw=[];function rw(t){let e=iw.indexOf(t);iw.splice(e,1)}let sw=null,ow=0;Qo.on("begin",function(){for(let t of iw)t.rerender()}),Qo.on("end",function(){for(let t of iw)if(!t.isValid()){if(ow>g._RERENDER_LOOP_LIMIT)throw ow=0,t.destroy(),new Error("infinite rendering invalidation detected");return ow++,Qo.join(null,tw)}ow=0,function(){if(null!==sw){let t=sw.resolve;sw=null,Qo.join(null,t)}}()});class aw{static create(t,e){const n=new aw(t,e);return It(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,Mt(this,()=>{this.clearAllRoots(e)})}get debug(){return{roots:this.#k,inRenderTransaction:this.#E,isInteractive:this.isInteractive}}get roots(){return this.#k}get owner(){return this.#x.owner}get builder(){return this.#x.builder}get context(){return this.#x.context}get env(){return this.context.env}get isInteractive(){return this.#x.context.env.isInteractive}renderRoot(t,e){let n=this.#k;return n.push(t),It(this,t),1===n.length&&function(t){iw.push(t)}(e),this.#R(e),t}#R(t){if(this.#E)return;this.#E=!0;let e=!1;try{this.renderRoots(t),e=!0}finally{e||(this.#S=Zt(ce)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ty(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(ce)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&rw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(ce,this.#S)}revalidate(t){this.isValid()||this.#R(t)}clearAllRoots(t){let e=this.#k;for(let n of e)At(n);this.#T.length=0,this.#k=[],e.length&&rw(t)}}class lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}state;constructor(t,e,n,i,r){let s={constants:new Mg,heap:new Ag},o=ky({document:n},new Eb(t,e.isInteractive),s,i),a=new bg(s,t=>new Og(t),o);this.state=aw.create({owner:t,context:a,builder:r},this)}get debugRenderTree(){let{debugRenderTree:t}=this.state.env;return t}isValid(){return this.state.isValid()}destroy(){At(this)}render(t,e){const n=new ew(this.state,t,{args:e.args,into:(i=e.into,"element"in i?i:{element:i,nextSibling:null})});var i;return this.state.renderRoot(n,this)}rerender(){this.state.scheduleRevalidate(this)}}class uw extends lw{static strict(t,n,i){return new lw(t,{hasDOM:e,...i},n,new Yb,__)}_rootTemplate;_viewRegistry;static create(t){let{_viewRegistry:e}=t,n=Yi(t),i=n.lookup("service:-document"),r=n.lookup("-environment:main"),s=n.lookup(ll`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=__,o=new Yb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new ab((i=t).owner,i.state);var i;let{name:r,template:s}=t.state,o=rn();o.Component=bn(Gb(t.owner,r,s)),o.controller=mn,o.model=mn;let a=Nm(o,Wm);this._appendDefinition(t,Jg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Jg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new Qb(null,mn),s=new nw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(zt(this))return;let e=this.state.roots,n=e.length;for(;n--;){let i=e[n];"classic"===i.type&&i.isFor(t)&&(i.destroy(),e.splice(n,1))}}remove(t){t._transitionTo("destroying"),this.cleanupRootFor(t),this.state.isInteractive&&t.trigger("didDestroyElement")}get _roots(){return this.state.debug.roots}get _inRenderTransaction(){return this.state.debug.inRenderTransaction}get _isInteractive(){return this.state.debug.isInteractive}get _context(){return this.state.context}register(t){let e=gc(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[gc(t)]}getElement(t){if(this._isInteractive)return vc(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[Dv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Eg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[$b],isStrictMode:!0});class hw extends Uh{rootElement=null;init(t){super.init(t),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})}_bootSync(t){return this._booted||(t=new dw(t),this.setupRegistry(t),t.rootElement?this.rootElement=t.rootElement:this.rootElement=this.application.rootElement,t.location&&bs(this.router,"location",t.location),this.application.runInstanceInitializers(this),t.isInteractive&&this.setupEventDispatcher(),this._booted=!0),this}setupRegistry(t){this.constructor.setupRegistry(this.__registry__,t)}_router;get router(){if(!this._router){let t=this.lookup("router:main");this._router=t}return this._router}didCreateRootView(t){t.appendTo(this.rootElement)}startRouting(){this.router.startRouting()}setupRouter(){this.router.setupRouter()}handleURL(t){return this.setupRouter(),this.router.handleURL(t)}setupEventDispatcher(){let t=this.lookup("event_dispatcher:main"),e=us(this.application,"customEvents"),n=us(this,"customEvents"),i=Object.assign({},e,n);return t.setup(i,this.rootElement),t}getURL(){return this.router.url}visit(t){this.setupRouter();let e=this.__container__.lookup("-environment:main"),n=this.router,i=()=>e.options.shouldRender?(null===sw&&(sw=$u.defer(),Yo()||Qo.schedule("actions",null,tw)),sw.promise).then(()=>this):this,r=t=>{if(t.error&&t.error instanceof Error)throw t.error;if("TransitionAborted"===t.name&&n._routerMicrolib.activeTransition)return n._routerMicrolib.activeTransition.then(i,r);throw"TransitionAborted"===t.name?new Error(t.message):t},s=us(n,"location");return s.setURL(t),n.handleURL(s.getURL()).then(i,r)}willDestroy(){super.willDestroy(),this.application._unwatchInstance(this)}static setupRegistry(t,e={}){let n=e instanceof dw?e:new dw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class dw{isInteractive;_renderMode;isBrowser;location=null;shouldRender;document;rootElement;constructor(t={}){this.isInteractive=Boolean(e),this._renderMode=t._renderMode,void 0!==t.isBrowser?this.isBrowser=Boolean(t.isBrowser):this.isBrowser=Boolean(e),this.isBrowser||(this.isInteractive=!1,this.location="none"),void 0!==t.shouldRender?this.shouldRender=Boolean(t.shouldRender):this.shouldRender=!0,this.shouldRender||(this.isInteractive=!1),t.document?this.document=t.document:this.document="undefined"!=typeof document?document:null,t.rootElement&&(this.rootElement=t.rootElement),void 0!==t.location&&(this.location=t.location),void 0!==t.isInteractive&&(this.isInteractive=Boolean(t.isInteractive))}toEnvironment(){return{...l,hasDOM:this.isBrowser,isInteractive:this.isInteractive,_renderMode:this._renderMode,options:this}}}class pw extends ac{static NAMESPACES=Ws;static NAMESPACES_BY_ID=Hs;static processAll=Qs;static byName=Zs;init(t){super.init(t),Ks(this)}toString(){let t=us(this,"name")||us(this,"modulePrefix");if(t)return t;Ys();let e=Bs(this);return void 0===e&&(e=U(this),Us(this,e)),e}nameClasses(){Js(this)}destroy(){return Xs(this),super.destroy()}}pw.prototype.isNamespace=!0;const fw=Object.freeze(Object.defineProperty({__proto__:null,default:pw},Symbol.toStringTag,{value:"Module"}));var gw=function(){function t(){this._vertices=new mw}return t.prototype.add=function(t,e,n,i){if(!t)throw new Error("argument `key` is required");var r=this._vertices,s=r.add(t);if(s.val=e,n)if("string"==typeof n)r.addEdge(s,r.add(n));else for(var o=0;o0){var i="cycle detected: "+e;throw this.each(this.path,function(t){i+=" <- "+t}),new Error(i)}}},t.prototype.reset=function(){this.stack.length=0,this.path.length=0,this.result.length=0;for(var t=0,e=this.length;t=0){var a=this[o];if(a.flag)continue;if(a.flag=!0,r.push(o),e===a.key)break;i.push(~o),this.pushIncoming(a)}else r.pop(),s.push(~o)}},t.prototype.pushIncoming=function(t){for(var e=this.stack,n=t.length-1;n>=0;n--){var i=t[n];this[i].flag||e.push(i)}},t.prototype.each=function(t,e){for(var n=0,i=t.length;n{for(let e in t)Object.prototype.hasOwnProperty.call(t,e)&&i.test(e)&&"class"===uh(t[e])&&n.push(sf(e.replace(i,"")))}),n}}class vw extends ac{componentFor(t,e){let n=`component:${t}`;return e.factoryFor(n)}layoutFor(t,e,n){let i=`template:components/${t}`;return e.lookup(i,n)}}const bw=new WeakMap;class ww extends p_{__openBlock(){let{tagName:t}=this.element;if("TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=this.serializeBlockDepth++;this.__appendComment(`%+b:${t}%`)}super.__openBlock()}__closeBlock(){let{tagName:t}=this.element;if(super.__closeBlock(),"TITLE"!==t&&"SCRIPT"!==t&&"STYLE"!==t){let t=--this.serializeBlockDepth;this.__appendComment(`%-b:${t}%`)}}__appendHTML(t){let{tagName:e}=this.element;if("TITLE"===e||"SCRIPT"===e||"STYLE"===e)return super.__appendHTML(t);let n=this.__appendComment("%glmr%");if("TABLE"===e){let e=t.indexOf("<");e>-1&&"tr"===t.slice(e+1,e+3)&&(t=`${t}`)}""===t?this.__appendComment("% %"):super.__appendHTML(t);let i=this.__appendComment("%glmr%");return new nm(this.element,n,i)}__appendText(t){let{tagName:e}=this.element,n=function(t){let{element:e,nextSibling:n}=t;return null===n?e.lastChild:n.previousSibling}(this);return"TITLE"===e||"SCRIPT"===e||"STYLE"===e?super.__appendText(t):""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),super.__appendText(t))}closeElement(){return bw.has(this.element)&&(bw.delete(this.element),super.closeElement()),super.closeElement()}openElement(t){return"tr"===t&&"TBODY"!==this.element.tagName&&"THEAD"!==this.element.tagName&&"TFOOT"!==this.element.tagName&&(this.openElement("tbody"),bw.set(this.constructing,!0),this.flushElement(null)),super.openElement(t)}pushRemoteElement(t,e,n=null){let{dom:i}=this,r=i.createElement("script");return r.setAttribute("glmr",e),i.insertBefore(t,r,n),super.pushRemoteElement(t,e,n)}constructor(...t){super(...t),this.serializeBlockDepth=0}}function xw(t,e){return ww.forInitialRender(t,e)}function Sw(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return xw.bind(null);case"rehydrate":return G_.bind(null);default:return __.bind(null)}}}),t.register(ll`template:-root`,H_),t.register("renderer:-dom",uw)}class Ew extends(pw.extend(Cl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");static buildRegistry(t){let e=new sl({resolver:Cw(t)});return e.set=bs,e.register("application:main",t,{instantiate:!1}),function(t){t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.register("controller:basic",zh,{instantiate:!1}),t.register("service:-routing",yf),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",_w),t.register("component-lookup:main",vw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Jb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",vv),t.register("component:textarea",xv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Uh.create({...t,base:this})}buildRegistry(){return this.__registry__=this.constructor.buildRegistry(this)}initializer(t){this.constructor.initializer(t)}instanceInitializer(t){this.constructor.instanceInitializer(t)}runInitializers(){this._runInitializer("initializers",(t,e)=>{e.initialize(this)})}runInstanceInitializers(t){this._runInitializer("instanceInitializers",(e,n)=>{n.initialize(t)})}_runInitializer(t,e){let n,i=us(this.constructor,t),r=function(t){let e=[];for(let n in t)e.push(n);return e}(i),s=new gw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function Cw(t){let e={namespace:t};return t.Resolver.create(e)}function kw(t){return function(e){let n=this.superclass;if(void 0!==n[t]&&n[t]===this[t]){let e={[t]:Object.create(this[t])};this.reopenClass(e)}this[t][e.name]=e}}const Tw=Ba,Rw=Zi;class Pw extends Ew{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Op),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Zd),t.register("event_dispatcher:main",Oc),t.register("location:hash",$p),t.register("location:history",Hp),t.register("location:none",Kp),t.register(ll`-bucket-cache:main`,{create:()=>new rp}),t.register("service:router",mf)}(e),Sw(e),e}static initializer=kw("initializers");static instanceInitializer=kw("instanceInitializers");init(t){super.init(t),this.rootElement??="body",this._document??=null,this.eventDispatcher??=null,this.customEvents??=null,this.autoboot??=!0,this._document??=e?window.document:null,this._globalsMode??=!0,this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=new Set,this.autoboot=this._globalsMode=Boolean(this.autoboot),this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()}buildInstance(t={}){return hw.create({...t,base:this,application:this})}_watchInstance(t){this._applicationInstances.add(t)}_unwatchInstance(t){return this._applicationInstances.delete(t)}Router;_prepareForGlobalsMode(){this.Router=(this.Router||Op).extend(),this._buildDeprecatedInstance()}__deprecatedInstance__;__container__;_buildDeprecatedInstance(){let t=this.buildInstance();this.__deprecatedInstance__=t,this.__container__=t.__container__}waitForDOMReady(){const t=this._document;if(null===t||"loading"!==t.readyState)ia("actions",this,this.domReady);else{let e=()=>{t.removeEventListener("DOMContentLoaded",e),ta(this,this.domReady)};t.addEventListener("DOMContentLoaded",e)}}domReady(){this.isDestroying||this.isDestroyed||this._bootSync()}deferReadiness(){this._readinessDeferrals++}advanceReadiness(){this._readinessDeferrals--,0===this._readinessDeferrals&&ra(this,this.didBecomeReady)}_bootPromise=null;boot(){if(this._bootPromise)return this._bootPromise;try{this._bootSync()}catch(t){}return this._bootPromise}_bootResolver=null;_bootSync(){if(this._booted||this.isDestroying||this.isDestroyed)return;let t=this._bootResolver=Vu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ha("application",this),this.advanceReadiness()}catch(Nz){throw t.reject(Nz),Nz}}reset(){let t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,ea(this,function(){ta(t,"destroy"),this._buildDeprecatedInstance(),ia("actions",this,"_bootSync")})}didBecomeReady(){if(!this.isDestroying&&!this.isDestroyed)try{if(this.autoboot){let t;t=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),t._bootSync(),this.ready(),t.startRouting()}this._bootResolver.resolve(this),this._booted=!0}catch(Nz){throw this._bootResolver.reject(Nz),Nz}}ready(){return this}willDestroy(){super.willDestroy(),Wa.application===this&&(Wa.application=void 0),this._applicationInstances.size&&(this._applicationInstances.forEach(t=>t.destroy()),this._applicationInstances.clear())}visit(t,e){return this.boot().then(()=>{let n=this.buildInstance();return n.boot(e).then(()=>n.visit(t)).catch(t=>{throw ta(n,"destroy"),t})})}}const Iw=Object.freeze(Object.defineProperty({__proto__:null,_loaded:Wa,default:Pw,getOwner:Tw,onLoad:function(t,e){let n=Va[t];($a[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ha,setOwner:Rw},Symbol.toStringTag,{value:"Module"})),Mw=Object.assign({},{});function Ow(){return Aw.global}const Aw={packages:{},global:{}};let Fw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Fw){let t={config:function(t){return Aw.packages[t]},getGlobalConfig:Ow,setConfig(t,e){Aw.packages[t]=e},setGlobalConfig(t,e){Aw.global[t]=e}};for(let e of Fw)e(t)}const Lw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},zw=Object.freeze(Object.defineProperty({__proto__:null,default:Lw,enterTestMode:function(){Lw.locationType="none",Lw.APP.rootElement="#ember-testing",Lw.APP.autoboot=!1;const t=Ow()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var Dw;Dw={throwOnUnhandled:!1,workflow:[]},self.deprecationWorkflow=self.deprecationWorkflow||{},self.deprecationWorkflow.deprecationLog={messages:new Set},self.deprecationWorkflow.flushDeprecations=t=>function({handler:t="silence",config:e={}}={}){let n=self.deprecationWorkflow.deprecationLog.messages,i=e.workflow??[],r=n.values().filter(t=>!i.some(e=>e.matchId===t)).map(e=>({handler:t,matchId:e})),s={...e,workflow:[...i,...r]};return`import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow';\n\nsetupDeprecationWorkflow(${JSON.stringify(s,void 0,2)});`}({config:Dw,...t});const Nw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let jw;!function(){const t="TEST_WAITERS",e="undefined"!=typeof Symbol?Symbol.for(t):t,n=function(){if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;throw new Error("unable to locate global object")}();let i=n[e];void 0===i&&(i=n[e]=new Map)}(),jw=Op;var Uw=jw;class Bw extends Uw{location=Lw.locationType;rootURL=Lw.rootURL}Bw.map(function(){this.route("place",{path:"/place/:place_id"})});const qw=Object.freeze(Object.defineProperty({__proto__:null,default:Bw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends df{async getNearbyPois(t,e,n=50){const i=`\n[out:json][timeout:25];\n(\n nwr["amenity"](around:${n},${t},${e});\n nwr["shop"](around:${n},${t},${e});\n nwr["tourism"](around:${n},${t},${e});\n nwr["leisure"](around:${n},${t},${e});\n nwr["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),r=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(i)}`,s=await fetch(r);if(!s.ok)throw new Error("Overpass request failed");return(await s.json()).elements}async getPoiById(t){const e=`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n relation(${t});\n);\nout center;\n `.trim(),n=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(e)}`,i=await fetch(n);if(!i.ok)throw new Error("Overpass request failed");return(await i.json()).elements[0]}}},Symbol.toStringTag,{value:"Module"}));function $w(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Vw,Ww={exports:{}},Hw=(Vw||(Vw=1,Ww.exports=function(){var t={548:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Access=void 0;class n{constructor(){this.reset()}get scopes(){return Object.keys(this.scopeModeMap).map(t=>({name:t,mode:this.scopeModeMap[t]}))}get scopeParameter(){return this.scopes.map(t=>`${this._scopeNameForParameter(t)}:${t.mode}`).join(" ")}claim(t,e){if("string"!=typeof t||-1!==t.indexOf("/")||0===t.length)throw new Error("Scope should be a non-empty string without forward slashes");if("string"!=typeof e||!e.match(/^rw?$/))throw new Error("Mode should be either 'r' or 'rw'");this._adjustRootPaths(t),this.scopeModeMap[t]=e}get(t){return this.scopeModeMap[t]}remove(t){const e={};for(const n in this.scopeModeMap)e[n]=this.scopeModeMap[n];this.reset(),delete e[t];for(const n in e)this.claim(n,e[n])}checkPermission(t,e){const n=this.get(t);return n&&("r"===e||"rw"===n)}checkPathPermission(t,e){if(this.checkPermission("*",e))return!0;const n=this._getModuleName(t);return!!this.checkPermission(n,e)}reset(){this.rootPaths=[],this.scopeModeMap={}}_getModuleName(t){if("/"!==t[0])throw new Error("Path should start with a slash");const e=t.replace(/^\/public/,"").match(/^\/([^/]*)\//);return e?e[1]:"*"}_adjustRootPaths(t){"*"in this.scopeModeMap||"*"===t?this.rootPaths=["/"]:t in this.scopeModeMap||(this.rootPaths.push("/"+t+"/"),this.rootPaths.push("/public/"+t+"/"))}_scopeNameForParameter(t){if("*"===t.name&&this.storageType){if("2012.04"===this.storageType)return"";if(this.storageType.match(/remotestorage-0[01]/))return"root"}return t.name}setStorageType(t){this.storageType=t}static _rs_init(){}}e.Access=n,e.default=n},275:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Authorize=void 0;const s=r(n(334)),o=n(746),a=r(n(503)),l=n(368);let u;function c(t){const e=t||h.getLocation().href,n={};for(const[s,o]of new URL(e).searchParams)n[s]=o;const i=e.indexOf("#");if(-1===i)return n;const r=e.substring(i+1);return r.includes("=")?r.split("&").reduce(function(t,e){const n=e.split("=");if("state"===n[0]&&n[1].match(/rsDiscovery/)){let e=decodeURIComponent(n[1]);const i=e.substr(e.indexOf("rsDiscovery=")).split("&")[0].split("=")[1];t.rsDiscovery=JSON.parse(atob(i)),e=e.replace(new RegExp("&?rsDiscovery="+i),""),e.length>0&&(t.state=e)}else t[decodeURIComponent(n[0])]=decodeURIComponent(n[1]);return t},n):n}class h{static authorize(t,e){if((0,s.default)("[Authorize] authURL = ",e.authURL,"scope = ",e.scope,"redirectUri = ",e.redirectUri,"clientId = ",e.clientId,"response_type =",e.response_type),!e.scope)throw new Error("Cannot authorize due to undefined or empty scope; did you forget to access.claim()?");if(!(0,o.localStorageAvailable)()&&"remotestorage"===t.backend){e.redirectUri+=e.redirectUri.indexOf("#")>0?"&":"#";const n={userAddress:t.remote.userAddress,href:t.remote.href,storageApi:t.remote.storageApi,properties:t.remote.properties};e.redirectUri+="rsDiscovery="+(0,o.toBase64)(JSON.stringify(n))}const n=function(t){const e=new URL(t.redirectUri);t.state||(t.state=e.hash?e.hash.substring(1):""),t.response_type||(t.response_type="token");const n=new URL(t.authURL);n.searchParams.set("redirect_uri",t.redirectUri.replace(/#.*$/,"")),n.searchParams.set("scope",t.scope),n.searchParams.set("client_id",t.clientId);for(const i of["state","response_type","code_challenge","code_challenge_method","token_access_type"]){const e=t[i];e&&n.searchParams.set(i,e)}return n.href}(e);o.globalContext.cordova?h.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):h.setLocation(n)}static refreshAccessToken(t,e,n){return i(this,void 0,void 0,function*(){var t,i,r;yield e.configure({token:null,tokenType:null});const o=new URLSearchParams({grant_type:"refresh_token",client_id:e.clientId,refresh_token:n}),u=yield(0,l.requestWithTimeout)("POST",e.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o.toString(),responseType:"json"});if(200!==(null==u?void 0:u.status))throw yield e.configure({refreshToken:null}),new a.default("refresh token rejected:"+JSON.stringify(u.response));{(0,s.default)(`[Authorize] access token good for ${null===(t=null==u?void 0:u.response)||void 0===t?void 0:t.expires_in} seconds`);const n={token:null===(i=null==u?void 0:u.response)||void 0===i?void 0:i.access_token,tokenType:null===(r=null==u?void 0:u.response)||void 0===r?void 0:r.token_type};if(!n.token)throw new Error(`no access_token in "successful" refresh: ${u.response}`);yield e.configure(n)}})}static setLocation(t){if("string"==typeof t)document.location.href=t;else{if("object"!=typeof t)throw"Invalid location "+t;document.location=t}}static _rs_supported(){return"undefined"!=typeof document}static _rs_cleanup(t){t.removeEventListener("features-loaded",u)}}e.Authorize=h,h.IMPLIED_FAKE_TOKEN=!1,h.getLocation=function(){return document.location},h.openWindow=function(t,e,n){return new Promise((i,r)=>{const s=open(t,"_blank",n);function o(){r("Authorization was canceled")}s&&!s.closed?(s.addEventListener("loadstart",function(t){if(0!==t.url.indexOf(e))return;s.removeEventListener("exit",o),s.close();const n=c(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},h._rs_init=function(t){const e=c();let n;e&&(n=h.getLocation(),n.hash=""),u=function(){let r=!1;if(e){if(e.error)throw"access_denied"===e.error?new a.default("Authorization failed: access denied",{code:"access_denied"}):new a.default(`Authorization failed: ${e.error}`);e.rsDiscovery&&t.remote.configure(e.rsDiscovery),e.access_token&&(t.remote.configure({token:e.access_token}),r=!0),e.remotestorage&&(t.connect(e.remotestorage),r=!0),e.state&&(n=h.getLocation(),h.setLocation(n.href.split("#")[0]+"#"+e.state)),e.code&&(function(e){i(this,void 0,void 0,function*(){var i,r,o,a;const u=sessionStorage.getItem("remotestorage:codeVerifier");if(!u)return void(0,s.default)("[Authorize] Ignoring OAuth code parameter, because no PKCE code verifier found in sessionStorage");n=h.getLocation();let c=n.origin;"/"!==n.pathname&&(c+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:c,code_verifier:u}),p=yield(0,l.requestWithTimeout)("POST",t.remote.TOKEN_URL,{headers:{"Content-Type":"application/x-www-form-urlencoded"},body:d.toString(),responseType:"json"});if(200===p.status){(0,s.default)(`[Authorize] access token good for ${null===(i=null==p?void 0:p.response)||void 0===i?void 0:i.expires_in} seconds`);const e={token:null===(r=null==p?void 0:p.response)||void 0===r?void 0:r.access_token,refreshToken:null===(o=null==p?void 0:p.response)||void 0===o?void 0:o.refresh_token,tokenType:null===(a=null==p?void 0:p.response)||void 0===a?void 0:a.token_type};e.token?t.remote.configure(e):t._emit("error",new Error(`no access_token in "successful" response: ${p.response}`)),sessionStorage.removeItem("remotestorage:codeVerifier")}else t._emit("error",new Error(`${p.statusText}: ${p.response}`))})}(e.code),r=!0),r||t.remote.stopWaitingForToken()}else t.remote.stopWaitingForToken()},t.on("features-loaded",u)},e.default=h},424:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClient=void 0;const s=r(n(439)),o=r(n(613)),a=r(n(491)),l=r(n(93)),u=r(n(28)),c=n(746);class h{constructor(t,e){if(this.schemas={configurable:!0,get(){return h.Types.inScope(this.moduleName)}},"/"!==e[e.length-1])throw"Not a folder: "+e;"/"===e&&(this.makePath=t=>("/"===t[0]?"":"/")+t),this.storage=t,this.base=e,this.moduleName=function(t){const e=t.split("/");return t.length>2?e[1]:"root"}(this.base),this.addEvents(["change"]),this.on=this.on.bind(this),t.onChange(this.base,this._fireChange.bind(this))}scope(t){return new h(this.storage,this.makePath(t))}getListing(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(t=>404===t.statusCode?{}:t.body)})}getAll(t,e){return i(this,void 0,void 0,function*(){if("string"!=typeof t)t="";else if(t.length>0&&!(0,c.isFolder)(t))return Promise.reject("Not a folder: "+t);return this.storage.get(this.makePath(t),e).then(n=>{if(404===n.statusCode)return{};if("object"==typeof n.body){const i=Object.keys(n.body);if(0===i.length)return{};const r=i.map(i=>this.storage.get(this.makePath(t+i),e).then(t=>{if("string"==typeof t.body)try{t.body=JSON.parse(t.body)}catch(t){}"object"==typeof t.body&&(n.body[i]=t.body)}));return Promise.all(r).then(()=>n.body)}})})}getFile(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getFile must be a string"):this.storage.get(this.makePath(t),e).then(t=>({data:t.body,contentType:t.contentType,revision:t.revision}))})}storeFile(t,e,n){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'contentType' of baseClient.storeFile must be a string"):"string"!=typeof e?Promise.reject("Argument 'path' of baseClient.storeFile must be a string"):"string"!=typeof n&&"object"!=typeof n?Promise.reject("Argument 'body' of baseClient.storeFile must be a string, ArrayBuffer, or ArrayBufferView"):(this.storage.access.checkPathPermission(this.makePath(e),"rw")||console.warn("WARNING: Editing a document to which only read access ('r') was claimed"),this.storage.put(this.makePath(e),n,t).then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode)))})}getObject(t,e){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.getObject must be a string"):this.storage.get(this.makePath(t),e).then(e=>{if("object"==typeof e.body)return e.body;if("string"==typeof e.body)try{return JSON.parse(e.body)}catch(e){throw new Error("Not valid JSON: "+this.makePath(t))}else if(void 0!==e.body&&200===e.statusCode)return Promise.reject("Not an object: "+this.makePath(t))})})}storeObject(t,e,n){return i(this,void 0,void 0,function*(){if("string"!=typeof t)return Promise.reject("Argument 'typeAlias' of baseClient.storeObject must be a string");if("string"!=typeof e)return Promise.reject("Argument 'path' of baseClient.storeObject must be a string");if("object"!=typeof n)return Promise.reject("Argument 'object' of baseClient.storeObject must be an object");this._attachType(n,t);try{const t=this.validate(n);if(!t.valid)return Promise.reject(t)}catch(t){return Promise.reject(t)}return this.storage.put(this.makePath(e),JSON.stringify(n),"application/json; charset=UTF-8").then(t=>200===t.statusCode||201===t.statusCode?t.revision:Promise.reject("Request (PUT "+this.makePath(e)+") failed with status: "+t.statusCode))})}remove(t){return i(this,void 0,void 0,function*(){return"string"!=typeof t?Promise.reject("Argument 'path' of baseClient.remove must be a string"):(this.storage.access.checkPathPermission(this.makePath(t),"rw")||console.warn("WARNING: Removing a document to which only read access ('r') was claimed"),this.storage.delete(this.makePath(t),this.storage.connected))})}getItemURL(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.getItemURL must be a string";return this.storage.connected?(t=(0,c.cleanPath)(this.makePath(t)),this.storage.remote.href+t):void 0}cache(t,e="ALL"){if("string"!=typeof t)throw"Argument 'path' of baseClient.cache must be a string";if("string"!=typeof e)throw"Argument 'strategy' of baseClient.cache must be a string or undefined";if("FLUSH"!==e&&"SEEN"!==e&&"ALL"!==e)throw'Argument \'strategy\' of baseclient.cache must be one of ["FLUSH", "SEEN", "ALL"]';return this.storage.caching.set(this.makePath(t),e),this}declareType(t,e,n){let i;if(n&&"string"==typeof e)i=e;else if(n||"string"==typeof e){if(!n&&"string"==typeof e)throw new Error("declareType() requires a JSON Schema object to be passed, in order to validate object types/formats")}else n=e,i=this._defaultTypeURI(t);h.Types.declare(this.moduleName,t,i,n)}validate(t){const e=h.Types.getSchema(t["@context"]);if(e)return s.default.validateResult(t,e);throw new a.default(t["@context"])}_defaultTypeURI(t){return"http://remotestorage.io/spec/modules/"+encodeURIComponent(this.moduleName)+"/"+encodeURIComponent(t)}_attachType(t,e){t["@context"]=h.Types.resolveAlias(this.moduleName+"/"+e)||this._defaultTypeURI(e)}makePath(t){return this.base+(t||"")}_fireChange(t){u.default.changeEvents[t.origin]&&(["new","old","lastCommon"].forEach(function(e){if((!t[e+"ContentType"]||/^application\/(.*)json(.*)/.exec(t[e+"ContentType"]))&&"string"==typeof t[e+"Value"])try{t[e+"Value"]=JSON.parse(t[e+"Value"])}catch(t){}}),this._emit("change",t))}static _rs_init(){}}e.BaseClient=h,h.Types=o.default,(0,c.applyMixins)(h,[l.default]),e.default=h},285:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Caching=void 0;const r=n(746),s=i(n(334));class o{constructor(t){this.pendingActivations=[],this._access=t.access,this.reset()}set(t,e){if("string"!=typeof t)throw new Error("path should be a string");if(!(0,r.isFolder)(t))throw new Error("path should be a folder");if(!this._access.checkPathPermission(t,"r"))throw new Error('No access to path "'+t+'". You must claim access to it first.');if(void 0===e||!e.match(/^(FLUSH|SEEN|ALL)$/))throw new Error("strategy should be 'FLUSH', 'SEEN', or 'ALL'");this._rootPaths[t]=e,"ALL"===e&&(this.activateHandler?this.activateHandler(t):this.pendingActivations.push(t))}enable(t){this.set(t,"ALL")}disable(t){this.set(t,"FLUSH")}onActivate(t){(0,s.default)("[Caching] Setting activate handler",t,this.pendingActivations),this.activateHandler=t;for(let e=0;e{this.emitChange(t.data)})}get(t,e,n){return i(this,void 0,void 0,function*(){return"number"==typeof e?this.getNodes((0,u.pathsFromRoot)(t)).then(i=>{const r=c(i[t]);return h(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=c(e[t]);if(n){if((0,u.isFolder)(t))for(const t in n.itemsMap)n.itemsMap.hasOwnProperty(t)&&!1===n.itemsMap[t]&&delete n.itemsMap[t];return{statusCode:200,body:n.body||n.itemsMap,contentType:n.contentType}}return{statusCode:404}})})}put(t,e,n){return i(this,void 0,void 0,function*(){const i=(0,u.pathsFromRoot)(t);return this._updateNodes(i,function(t,i){try{for(let r=0,s=t.length;r0)break}else console.error("Cannot delete non-existing node "+r)}return n})})}flush(t){return this._getAllDescendentPaths(t).then(t=>this.getNodes(t)).then(t=>{for(const e in t){const n=t[e];n&&n.common&&n.local&&this.emitChange({path:n.path,origin:"local",oldValue:!1===n.local.body?void 0:n.local.body,newValue:!1===n.common.body?void 0:n.common.body}),t[e]=void 0}return this.setNodes(t)})}emitChange(t){a.default.changeEvents[t.origin]&&this._emit("change",t)}fireInitial(){a.default.changeEvents.local&&this.forAllNodes(t=>{if((0,u.isDocument)(t.path)){const e=c(t);e&&this.emitChange({path:t.path,origin:"local",oldValue:void 0,oldContentType:void 0,newValue:e.body,newContentType:e.contentType})}}).then(()=>{this._emit("local-events-done")})}onDiff(t){this.diffHandler=t}_updateNodes(t,e){return new Promise((n,i)=>{this._doUpdateNodes(t,e,{resolve:n,reject:i})})}_doUpdateNodes(t,e,n){return i(this,void 0,void 0,function*(){if(this._updateNodesRunning)return void this._updateNodesQueued.push({paths:t,cb:e,promise:n});this._updateNodesRunning=!0;try{let i=yield this.getNodes(t);const r=(0,u.deepClone)(i),s=[];i=e(t,i);for(const t in i){const e=i[t];(0,u.equal)(e,r[t])?delete i[t]:(0,u.isDocument)(t)&&((0,u.equal)(e.local.body,e.local.previousBody)&&e.local.contentType===e.local.previousContentType||s.push({path:t,origin:"window",oldValue:e.local.previousBody,newValue:!1===e.local.body?void 0:e.local.body,oldContentType:e.local.previousContentType,newContentType:e.local.contentType}),void 0===e.local.body?i[t]=void 0:(delete e.local.previousBody,delete e.local.previousContentType))}yield this.setNodes(i),this._emitChangeEvents(s),n.resolve({statusCode:200})}catch(t){n.reject(t)}this._updateNodesRunning=!1;const i=this._updateNodesQueued.shift();i&&(yield this._doUpdateNodes(i.paths,i.cb,i.promise))})}_emitChangeEvents(t){for(let e=0,n=t.length;e{const n=[t],i=c(e[t]),r=Object.keys(i.itemsMap).map(e=>this._getAllDescendentPaths(t+e).then(t=>{for(let e=0,i=t.length;en)}):Promise.resolve([t])}_getInternals(){return{getLatest:c,makeNode:d,isOutdated:h}}}(0,u.applyMixins)(f,[o.default]),t.exports=f},28:function(t){t.exports={cache:!0,changeEvents:{local:!0,window:!1,remote:!0,conflict:!0},cordovaRedirectUri:void 0,logging:!1,modules:[],backgroundSyncInterval:6e4,disableFeatures:[],discoveryTimeout:5e3,isBackground:!1,requestTimeout:3e4,syncInterval:1e4}},373:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(199)),s=i(n(28)),o=i(n(334)),a=n(746);let l;const u="remotestorage:discover";let c={};const h=function(t){return new Promise((e,n)=>{if(t in c)return e(c[t]);const i=new r.default({tls_only:!1,uri_fallback:!0,request_timeout:s.default.discoveryTimeout});return setTimeout(()=>n(new Error("timed out")),s.default.discoveryTimeout),i.lookup(t,function(i,r){if(i)return n(i);if("object"!=typeof r.idx.links.remotestorage||"number"!=typeof r.idx.links.remotestorage.length||r.idx.links.remotestorage.length<=0)return(0,o.default)("[Discover] WebFinger record for "+t+" does not have remotestorage defined in the links section ",JSON.stringify(r.json)),n("WebFinger record for "+t+" does not have remotestorage defined in the links section.");const s=r.idx.links.remotestorage[0],a=s.properties["http://tools.ietf.org/html/rfc6749#section-4.2"]||s.properties["auth-endpoint"],h=s.properties["http://remotestorage.io/spec/version"]||s.type;return c[t]={href:s.href,storageApi:h,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:c})),e(c[t])})})};(h.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),h.DiscoveryError.prototype.constructor=h.DiscoveryError,h._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(c=t.cache)}},h._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},h._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=h},706:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(424)),a=r(n(941)),l=r(n(982)),u=r(n(503)),c=n(746),h=n(368),d=n(684),p=r(n(275));let f;const g="remotestorage:dropbox",m="https://api.dropboxapi.com/2/files/list_folder",y="https://api.dropboxapi.com/2/files/list_folder/continue",_="/remotestorage";function v(t){return(_+"/"+t).replace(/\/+$/,"").replace(/\/+/g,"/")}const b=/[\u007f-\uffff]/g;function w(t){return JSON.stringify(t).replace(b,function(t){return"\\u"+("000"+t.charCodeAt(0).toString(16)).slice(-4)})}function x(t,e){return new RegExp("^"+e.join("\\/")+"(\\/|$)").test(t.error_summary)}function S(t){return t instanceof ArrayBuffer||(0,h.isArrayBufferView)(t)}class E extends d.RemoteBase{constructor(t){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this._initialFetchDone=!1,this.addEvents(["connected","not-connected"]),this.clientId=t.apiKeys.dropbox.appKey,this.TOKEN_URL="https://api.dropboxapi.com/oauth2/token",this._revCache=new a.default("rev"),this._fetchDeltaCursor=null,this._fetchDeltaPromise=null,this._itemRefs={},f=(0,c.localStorageAvailable)(),f){const t=(0,c.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,c.getJSONFromLocalStorage)(`${g}:shares`)||{}}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}connect(){return i(this,void 0,void 0,function*(){try{if(this.rs.setBackend("dropbox"),this.token)T(this.rs);else{const{codeVerifier:t,codeChallenge:e,state:n}=yield(0,c.generateCodeVerifier)();sessionStorage.setItem("remotestorage:codeVerifier",t),sessionStorage.setItem("remotestorage:state",n),this.rs.authorize({authURL:"https://www.dropbox.com/oauth2/authorize",scope:"account_info.read files.content.read files.content.write files.metadata.read files.metadata.write",clientId:this.clientId,response_type:"code",state:n,code_challenge:e,code_challenge_method:"S256",token_access_type:"offline"})}}catch(t){throw this.rs._emit("error",t),this.rs.setBackend(void 0),t}})}configure(t){return i(this,void 0,void 0,function*(){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token),void 0!==t.refreshToken&&(this.refreshToken=t.refreshToken),void 0!==t.tokenType&&(this.tokenType=t.tokenType);const e=()=>{f&&localStorage.setItem(g,JSON.stringify({userAddress:this.userAddress,token:this.token,refreshToken:this.refreshToken,tokenType:this.tokenType}))};if(this.refreshToken||this.token)if(this.connected=!0,this.userAddress)this._emit("connected"),e();else try{const t=yield this.info();this.userAddress=t.email,this._emit("connected"),e()}catch(t){this.connected=!1,this.rs._emit("error",new Error("Could not fetch user info.")),e.apply(this)}else(()=>{this.connected=!1,f&&localStorage.removeItem(g),this.rs.setBackend(void 0)})()})}_getFolder(t){const e=this._revCache,n=n=>{let r;if(200!==n.status&&409!==n.status)return Promise.reject("Unexpected response status: "+n.status);try{r=JSON.parse(n.responseText)}catch(t){return Promise.reject(t)}if(409===n.status)return x(r,["path","not_found"])?Promise.resolve({}):Promise.reject(new Error("API returned an error: "+r.error_summary));const s=r.entries.reduce((n,i)=>{try{const r="folder"===i[".tag"],s=i.path_display.split("/").slice(-1)[0]+(r?"/":"");if(r)n[s]={ETag:e.get(t+s)};else{const e=new Date(i.server_modified);n[s]={ETag:i.rev,"Content-Length":i.size,"Last-Modified":e.toUTCString()},this._revCache.set(t+s,i.rev)}}catch(e){console.error(`[Dropbox] folder “${t}” has entry ${JSON.stringify(i)}:`,e)}return n},{});return r.has_more?i(r.cursor).then(function(t){return Object.assign(s,t)}):Promise.resolve(s)},i=t=>{const e={body:{cursor:t}};return this._request("POST",y,e).then(n)};return this._request("POST",m,{body:{path:v(t)}}).then(n).then(function(n){return Promise.resolve({statusCode:200,body:n,contentType:"application/json; charset=UTF-8",revision:e.get(t)})})}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n=this._revCache.get(t);if(null===n)return Promise.resolve({statusCode:404});if(e&&e.ifNoneMatch){if(!this._initialFetchDone)return this.fetchDelta().then(()=>this.get(t,e));if(n&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304})}if("/"===t.slice(-1))return this._getFolder(t);const i={headers:{"Dropbox-API-Arg":w({path:v(t)})},responseType:"arraybuffer"};return e&&e.ifNoneMatch&&(i.headers["If-None-Match"]=e.ifNoneMatch),this._request("GET","https://content.dropboxapi.com/2/files/download",i).then(e=>{const n=e.status;let i,r,s,o;return 200!==n&&409!==n?Promise.resolve({statusCode:n}):(i=e.getResponseHeader("Dropbox-API-Result"),(0,c.getTextFromArrayBuffer)(e.response,"UTF-8").then(a=>{r=a,409===n&&(i=r);try{i=JSON.parse(i)}catch(t){return Promise.reject(t)}if(409===n)return x(i,["path","not_found"])?{statusCode:404}:Promise.reject(new Error('API error while downloading file ("'+t+'"): '+i.error_summary));if(s=e.getResponseHeader("Content-Type"),o=i.rev,this._revCache.set(t,o),this._shareIfNeeded(t),(0,c.shouldBeTreatedAsBinary)(a,s))r=e.response;else try{r=JSON.parse(r),s="application/json; charset=UTF-8"}catch(t){}return{statusCode:n,body:r,contentType:s,revision:o}}))})}put(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const r=this._revCache.get(t);if(i&&i.ifMatch&&r&&r!==i.ifMatch)return{statusCode:412,revision:r};if(i&&"*"===i.ifNoneMatch&&r&&"rev"!==r)return{statusCode:412,revision:r};if(!n.match(/charset=/)&&S(e)&&(n+="; charset=binary"),e.length>157286400)throw new Error("Cannot upload file larger than 150MB");const s={body:e,contentType:n,path:t};if(i&&(i.ifMatch||"*"===i.ifNoneMatch)){const e=yield this._getMetadata(t);if(i&&"*"===i.ifNoneMatch&&e)return{statusCode:412,revision:e.rev};if(i&&i.ifMatch&&e&&e.rev!==i.ifMatch)return{statusCode:412,revision:e.rev}}const o=yield this._uploadSimple(s);return this._shareIfNeeded(t),o})}delete(t){return i(this,arguments,void 0,function*(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");const n=this._revCache.get(t);if((null==e?void 0:e.ifMatch)&&n&&e.ifMatch!==n)return{statusCode:412,revision:n};if(null==e?void 0:e.ifMatch){const n=yield this._getMetadata(t);if((null==e?void 0:e.ifMatch)&&n&&n.rev!==e.ifMatch)return{statusCode:412,revision:n.rev}}return this._deleteSimple(t)})}_shareIfNeeded(t){if(t.match(/^\/public\/.*[^/]$/)&&void 0===this._itemRefs[t])return this.share(t)}share(t){const e={body:{path:v(t)}};return this._request("POST","https://api.dropboxapi.com/2/sharing/create_shared_link_with_settings",e).then(e=>{if(200!==e.status&&409!==e.status)return Promise.reject(new Error("Invalid response status:"+e.status));let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid response body: "+e.responseText))}return 409===e.status?x(n,["shared_link_already_exists"])?this._getSharedLink(t):Promise.reject(new Error("API error: "+n.error_summary)):Promise.resolve(n.url)}).then(e=>(this._itemRefs[t]=e,f&&localStorage.setItem(g+":shares",JSON.stringify(this._itemRefs)),Promise.resolve(e)),e=>(e.message='Sharing Dropbox file or folder ("'+t+'") failed: '+e.message,Promise.reject(e)))}info(){return this._request("POST","https://api.dropboxapi.com/2/users/get_current_account",{}).then(function(t){let e;try{const n=JSON.parse(t.responseText);e=null==n?void 0:n.email}catch(e){return Promise.reject(new Error("Could not query current account info: Invalid API response: "+t.responseText))}return Promise.resolve({email:e})})}_request(t,e,n){return i(this,arguments,void 0,function*(t,e,n,i=1){if(this.isForbiddenRequestMethod(t,e))throw`Don't use ${t} on directories!`;if(!this.token)throw new u.default("No access token");n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,"object"!=typeof n.body||S(n.body)||(n.body=JSON.stringify(n.body),n.headers["Content-Type"]="application/json; charset=UTF-8"),this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)});try{const r=yield(0,h.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),401===(null==r?void 0:r.status)&&this.refreshToken?i>=3?(console.error(`Abandoned after ${i} attempts: ${t} ${e}`),r):(this.rs._emit("wire-busy",{method:t,isFolder:(0,c.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!0}),this._request(t,e,n,i+1)):[503,429].includes(null==r?void 0:r.status)?(this.online&&(this.online=!1,this.rs._emit("network-offline")),i>=3?(console.warn(`Abandoned after ${i} attempts: ${t} ${e}`),r):(yield new Promise(t=>setTimeout(t,(0,h.retryAfterMs)(r))),this._request(t,e,n,i+1))):r}catch(n){throw this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,c.isFolder)(e),success:!1}),n}})}fetchDelta(...t){if(this._fetchDeltaPromise)return this._fetchDeltaPromise;const e=t=>i(this,void 0,void 0,function*(){let n,i;"string"==typeof t?(n=y,i={cursor:t}):(n=m,i={path:_,recursive:!0,include_deleted:!0});try{const r=yield this._request("POST",n,{body:i});if(401===r.status)throw new u.default;if(200!==r.status&&409!==r.status)throw new Error("Invalid response status: "+r.status);let s;try{s=JSON.parse(r.responseText)}catch(t){throw new Error("Invalid response body: "+r.responseText)}if(409===r.status){if(!x(s,["path","not_found"]))throw new Error("API returned an error: "+s.error_summary);s={cursor:null,entries:[],has_more:!1}}if(t||this._revCache.deactivatePropagation(),s.entries.forEach(t=>{const e=t.path_display.slice(14);"deleted"===t[".tag"]?(this._revCache.delete(e),this._revCache.delete(e+"/")):"file"===t[".tag"]&&this._revCache.set(e,t.rev)}),this._fetchDeltaCursor=s.cursor,s.has_more)return e(s.cursor);this._revCache.activatePropagation(),this._initialFetchDone=!0}catch(t){if("timeout"===t)return;throw t}});return this._fetchDeltaPromise=e(this._fetchDeltaCursor).catch(t=>("object"==typeof t&&"message"in t?t.message="Dropbox: fetchDelta: "+t.message:t=`Dropbox: fetchDelta: ${t}`,this.rs._emit("error",t),this._fetchDeltaPromise=null,Promise.reject(t))).then(()=>(this._fetchDeltaPromise=null,Promise.resolve(t))),this._fetchDeltaPromise}_getMetadata(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/get_metadata",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status:"+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?x(e,["path","not_found"])?Promise.resolve():Promise.reject(new Error("API error: "+e.error_summary)):Promise.resolve(e)}).then(void 0,e=>(e.message='Could not load metadata for file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_uploadSimple(t){const e={path:v(t.path),mode:{".tag":"overwrite",update:void 0},mute:!0};return t.ifMatch&&(e.mode={".tag":"update",update:t.ifMatch}),this._request("POST","https://content.dropboxapi.com/2/files/upload",{body:t.body,headers:{"Content-Type":"application/octet-stream","Dropbox-API-Arg":w(e)}}).then(e=>{if(200!==e.status&&409!==e.status)return Promise.resolve({statusCode:e.status});let n;try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject(new Error("Invalid API result: "+e.responseText))}return 409===e.status?x(n,["path","conflict"])?this._getMetadata(t.path).then(function(t){return Promise.resolve({statusCode:412,revision:t.rev})}):(this.rs._emit("error",new Error(n.error_summary)),Promise.resolve({statusCode:e.status})):(this._revCache.set(t.path,n.rev),Promise.resolve({statusCode:e.status,revision:n.rev}))})}_deleteSimple(t){const e={path:v(t)};return this._request("POST","https://api.dropboxapi.com/2/files/delete",{body:e}).then(t=>{if(200!==t.status&&409!==t.status)return Promise.resolve({statusCode:t.status});let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}if(409===t.status){if(x(e,["path_lookup","not_found"]))return Promise.resolve({statusCode:404});this.rs._emit("error",new Error(e.error_summary))}return Promise.resolve({statusCode:t.status})}).then(e=>(200!==e.statusCode&&404!==e.statusCode||(this._revCache.delete(t),delete this._itemRefs[t]),Promise.resolve(e)),e=>(e.message='Could not delete Dropbox file or folder ("'+t+'"): '+e.message,Promise.reject(e)))}_getSharedLink(t){return i(this,void 0,void 0,function*(){const e={body:{path:v(t),direct_only:!0}};return this._request("POST","https://api.dropbox.com/2/sharing/list_shared_links",e).then(t=>{if(200!==t.status&&409!==t.status)return Promise.reject(new Error("Invalid response status: "+t.status));let e;try{e=JSON.parse(t.responseText)}catch(e){return Promise.reject(new Error("Invalid response body: "+t.responseText))}return 409===t.status?Promise.reject(new Error("API error: "+(null==e?void 0:e.error_summary)||0)):e.links.length?Promise.resolve(e.links[0].url):Promise.reject(new Error("No links returned"))},e=>(e.message='Could not get link to a shared file or folder ("'+t+'"): '+e.message,Promise.reject(e)))})}static _rs_init(t){f=(0,c.localStorageAvailable)(),t.apiKeys.dropbox&&(t.dropbox=new E(t)),"dropbox"===t.backend&&T(t)}static _rs_supported(){return!0}static _rs_cleanup(t){!function(t){(function(t){t._origRemote&&(t.remote=t._origRemote,delete t._origRemote)})(t),function(t){t._dropboxOrigSync&&(t.sync.sync=t._dropboxOrigSync,delete t._dropboxOrigSync)}(t),function(t){t._origBaseClientGetItemURL&&(o.default.prototype.getItemURL=t._origBaseClientGetItemURL,delete t._origBaseClientGetItemURL)}(t),k(t)}(t),f&&localStorage.removeItem(g),t.setBackend(void 0)}}function C(t,...e){t._dropboxOrigSync||(t._dropboxOrigSync=t.sync.sync.bind(t.sync),t.sync.sync=function(){return this.dropbox.fetchDelta(t,...e).then(t._dropboxOrigSync,function(e){t._emit("error",new l.default(e)),t._emit("sync-done")})}.bind(t))}function k(t){t._dropboxOrigSyncCycle&&(t.syncCycle=t._dropboxOrigSyncCycle,delete t._dropboxOrigSyncCycle)}function T(t){!function(t){t._origRemote||(t._origRemote=t.remote,t.remote=t.dropbox)}(t),t.sync?C(t):function(t,...e){t._dropboxOrigSyncCycle||(t._dropboxOrigSyncCycle=t.syncCycle,t.syncCycle=()=>{if(!t.sync)throw new Error("expected sync to be initialized by now");C(t),t._dropboxOrigSyncCycle(t,...e),k(t)})}(t),function(t){t._origBaseClientGetItemURL||(t._origBaseClientGetItemURL=o.default.prototype.getItemURL,o.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Dropbox yet")})}(t)}(0,c.applyMixins)(E,[s.default]),t.exports=E},451:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=n(746),o=i(n(334));class a{constructor(){this.addEvents(["background","foreground"]),this.mode="undefined"!=typeof window?"browser":"node","browser"===this.mode&&(this.setBrowserPrefixedNames(),document.addEventListener(this.visibilityChangeEvent,this.setVisibility.bind(this),!1),this.setVisibility())}setBrowserPrefixedNames(){"browser"===this.mode&&(void 0!==document.hidden?(this.hiddenProperty="hidden",this.visibilityChangeEvent="visibilitychange"):void 0!==document.mozHidden?(this.hiddenProperty="mozHidden",this.visibilityChangeEvent="mozvisibilitychange"):void 0!==document.msHidden?(this.hiddenProperty="msHidden",this.visibilityChangeEvent="msvisibilitychange"):void 0!==document.webkitHidden&&(this.hiddenProperty="webkitHidden",this.visibilityChangeEvent="webkitvisibilitychange"))}setVisibility(){document[this.hiddenProperty]?((0,o.default)("[Env] Going into background mode"),this.goBackground()):((0,o.default)("[Env] Going into foreground mode"),this.goForeground())}isBrowser(){return"browser"===this.mode}isNode(){return"node"===this.mode}goBackground(){this._emit("background")}goForeground(){this._emit("foreground")}static _rs_init(){}static _rs_cleanup(){}}(0,s.applyMixins)(a,[r.default]),t.exports=a},93:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EventHandling=void 0;const r=i(n(334));class s{addEvents(t){t.forEach(t=>this._addEvent(t))}addEventListener(t,e){if("string"!=typeof t)throw new Error("Argument eventName should be a string");if("function"!=typeof e)throw new Error("Argument handler should be a function");(0,r.default)("[EventHandling] Adding event listener",t),this._validateEvent(t),this._handlers[t].push(e)}on(t,e){return this.addEventListener(t,e)}removeEventListener(t,e){this._validateEvent(t);const n=this._handlers[t].length;for(let i=0;i{t(...e)})}_validateEvent(t){if(!(t in this._handlers))throw new Error("Unknown event: "+t)}_delegateEvent(t,e){e.on(t,e=>{this._emit(t,e)})}_addEvent(t){void 0===this._handlers&&(this._handlers={}),this._handlers[t]=[]}}e.EventHandling=s,e.default=s},545:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(28)),s=i(n(451)),o=i(n(334)),a=n(746),l=i(n(370)),u=i(n(548)),c=i(n(275)),h=i(n(373)),d=i(n(424)),p=i(n(801)),f=i(n(706)),g=i(n(600)),m=i(n(313)),y=i(n(285)),_=i(n(567)),v=i(n(794)),b=i(n(365)),w={features:[],featuresDone:0,readyFired:!1,loadFeatures(){this.features=[],this.featuresDone=0,this.readyFired=!1,this.featureModules={WireClient:g.default,Dropbox:f.default,GoogleDrive:p.default,Access:u.default,Discover:h.default,Authorize:c.default,BaseClient:d.default,Env:s.default},r.default.cache&&(0,a.extend)(this.featureModules,{Caching:y.default,IndexedDB:_.default,LocalStorage:v.default,InMemoryStorage:b.default,Sync:m.default}),r.default.disableFeatures.forEach(t=>{this.featureModules[t]&&delete this.featureModules[t]}),this._allLoaded=!1;for(const t in this.featureModules)this.loadFeature(t)},hasFeature(t){for(let e=this.features.length-1;e>=0;e--)if(this.features[e].name===t)return this.features[e].supported;return!1},loadFeature(t){const e=this.featureModules[t],n=!e._rs_supported||e._rs_supported();(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initializing ...`),"object"==typeof n?n.then(()=>{this.featureSupported(t,!0),this.initFeature(t)},()=>{this.featureSupported(t,!1)}):"boolean"==typeof n?(this.featureSupported(t,n),n&&this.initFeature(t)):this.featureSupported(t,!1)},initFeature(t){const e=this.featureModules[t];let n;try{n=e._rs_init(this)}catch(e){return void this.featureFailed(t,e)}"object"==typeof n&&"function"==typeof n.then?n.then(()=>{this.featureInitialized(t)},e=>{this.featureFailed(t,e)}):this.featureInitialized(t)},featureFailed(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialization failed (${e})`),this.featureDone()},featureSupported(t,e){(0,o.default)(`[RemoteStorage] [FEATURE ${t}]${e?"":"not "} supported`),e||this.featureDone()},featureInitialized(t){(0,o.default)(`[RemoteStorage] [FEATURE ${t}] initialized`),this.features.push({name:t,init:this.featureModules[t]._rs_init,supported:!0,cleanup:this.featureModules[t]._rs_cleanup}),this.featureDone()},featureDone(){this.featuresDone++,this.featuresDone===Object.keys(this.featureModules).length&&setTimeout(this.featuresLoaded.bind(this),0)},_setCachingModule(){["IndexedDB","LocalStorage","InMemoryStorage"].some(t=>{if(this.features.some(e=>e.name===t))return this.features.local=this.featureModules[t],!0})},_fireReady(){try{this.readyFired||(this._emit("ready"),this.readyFired=!0)}catch(t){console.error("'ready' failed: ",t,t.stack),this._emit("error",t)}},featuresLoaded(){(0,o.default)("[RemoteStorage] All features loaded"),this._setCachingModule(),this.local=r.default.cache&&this.features.local&&new this.features.local,this.local&&this.remote?(this._setGPD(l.default,this),this._bindChange(this.local)):this.remote&&this._setGPD(this.remote,this.remote),this.remote&&(this.remote.on("connected",()=>{this._fireReady(),this._emit("connected")}),this.remote.on("not-connected",()=>{this._fireReady(),this._emit("not-connected")}),this.remote.connected&&(this._fireReady(),this._emit("connected")),this.hasFeature("Authorize")||this.remote.stopWaitingForToken()),this._collectCleanupFunctions();try{this._allLoaded=!0,this._emit("features-loaded")}catch(t){(0,a.logError)(t),this._emit("error",t)}this._processPending()},_collectCleanupFunctions(){this._cleanups=[];for(let t=0;t=n-this.maxAge?e.v:void 0}set(t,e){this._items[t]={v:e,t:(new Date).getTime()}}}class _ extends l.RemoteBase{constructor(t,e){if(super(t),this.online=!0,this.storageApi="draft-dejong-remotestorage-19",this.addEvents(["connected","not-connected"]),this.clientId=e,this._fileIdCache=new y(300),d=(0,o.localStorageAvailable)(),d){const t=(0,o.getJSONFromLocalStorage)(c);t&&this.configure(t)}}configure(t){void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.token&&(this.token=t.token);const e=function(){d&&localStorage.setItem(c,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(c)};this.token?(this.connected=!0,this.userAddress?(this._emit("connected"),e.apply(this)):this.info().then(t=>{this.userAddress=t.user.emailAddress,this._emit("connected"),e.apply(this)}).catch(()=>{n.apply(this),this.rs._emit("error",new Error("Could not fetch user info."))})):n.apply(this)}connect(){this.rs.setBackend("googledrive"),this.rs.authorize({authURL:"https://accounts.google.com/o/oauth2/auth",scope:"https://www.googleapis.com/auth/drive",clientId:this.clientId})}get(t,e={}){return(0,o.isFolder)(t)?this._getFolder(m(t)):this._getFile(m(t),e)}put(t,e,n,i={}){const r=m(t);function s(t){if(t.status>=200&&t.status<300){const e=JSON.parse(t.responseText),n=this.stripQuotes(e.etag);return Promise.resolve({statusCode:200,contentType:e.mimeType,revision:n})}return 412===t.status?Promise.resolve({statusCode:412,revision:"conflict"}):Promise.reject("PUT failed with status "+t.status+" ("+t.responseText+")")}return this._getFileId(r).then(t=>t?i&&"*"===i.ifNoneMatch?s({status:412}):this._updateFile(t,r,e,n,i).then(s):this._createFile(r,e,n).then(s))}delete(t,e={}){const n=m(t);return this._getFileId(n).then(t=>t?this._getMeta(t).then(n=>{let i;return"object"==typeof n&&"string"==typeof n.etag&&(i=this.stripQuotes(n.etag)),e&&e.ifMatch&&e.ifMatch!==i?{statusCode:412,revision:i}:this._request("DELETE",u+"/drive/v2/files/"+t,{}).then(t=>200===t.status||204===t.status?{statusCode:200}:Promise.reject("Delete failed: "+t.status+" ("+t.responseText+")"))}):Promise.resolve({statusCode:200}))}info(){const t=u+"/drive/v2/about?fields=user";return this._request("GET",t,{}).then(function(t){try{const e=JSON.parse(t.responseText);return Promise.resolve(e)}catch(t){return Promise.reject(t)}})}_updateFile(t,e,n,i,r){const s={mimeType:i},o={"Content-Type":"application/json; charset=UTF-8"};return r&&r.ifMatch&&(o["If-Match"]=this.addQuotes(r.ifMatch)),this._request("PUT",u+"/upload/drive/v2/files/"+t+"?uploadType=resumable",{body:JSON.stringify(s),headers:o}).then(t=>412===t.status?t:this._request("PUT",t.getResponseHeader("Location"),{body:i.match(/^application\/json/)?JSON.stringify(n):n}))}_createFile(t,e,n){return this._getParentId(t).then(i=>{const r={title:p(g(t)),mimeType:n,parents:[{kind:"drive#fileLink",id:i}]};return this._request("POST",u+"/upload/drive/v2/files?uploadType=resumable",{body:JSON.stringify(r),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>this._request("POST",t.getResponseHeader("Location"),{body:n.match(/^application\/json/)?JSON.stringify(e):e}))})}_getFile(t,e){return this._getFileId(t).then(t=>this._getMeta(t).then(t=>{let n;if("object"==typeof t&&"string"==typeof t.etag&&(n=this.stripQuotes(t.etag)),e&&e.ifNoneMatch&&n===e.ifNoneMatch)return Promise.resolve({statusCode:304});if(!t.downloadUrl){if(!t.exportLinks||!t.exportLinks["text/html"])return Promise.resolve({statusCode:200,body:"",contentType:t.mimeType,revision:n});t.mimeType+=";export=text/html",t.downloadUrl=t.exportLinks["text/html"]}return this._request("GET",t.downloadUrl,{responseType:"arraybuffer"}).then(e=>(0,o.getTextFromArrayBuffer)(e.response,"UTF-8").then(function(i){let r=i;if(t.mimeType.match(/^application\/json/))try{r=JSON.parse(r)}catch(t){}else(0,o.shouldBeTreatedAsBinary)(i,t.mimeType)&&(r=e.response);return{statusCode:200,body:r,contentType:t.mimeType,revision:n}}))}))}_getFolder(t){return this._getFileId(t).then(e=>{let n,i,r;if(!e)return Promise.resolve({statusCode:404});const s="'"+e+"' in parents";return this._request("GET",u+"/drive/v2/files?q="+encodeURIComponent(s)+"&fields="+encodeURIComponent("items(downloadUrl,etag,fileSize,id,mimeType,title,labels)")+"&maxResults=1000&trashed=false",{}).then(e=>{var s;if(200!==e.status)return Promise.reject("request failed or something: "+e.status);try{n=JSON.parse(e.responseText)}catch(t){return Promise.reject("non-JSON response from GoogleDrive")}r={};for(const a of n.items)(null===(s=a.labels)||void 0===s?void 0:s.trashed)||(i=this.stripQuotes(a.etag),a.mimeType===h?(this._fileIdCache.set(t+(0,o.cleanPath)(a.title)+"/",a.id),r[a.title+"/"]={ETag:i}):(this._fileIdCache.set(t+(0,o.cleanPath)(a.title),a.id),r[a.title]={ETag:i,"Content-Type":a.mimeType,"Content-Length":a.fileSize}));return Promise.resolve({statusCode:200,body:r,contentType:"application/json; charset=UTF-8",revision:void 0})})})}_getParentId(t){const e=f(t);return this._getFileId(e).then(t=>t?Promise.resolve(t):this._createFolder(e))}_createFolder(t){return this._getParentId(t).then(e=>this._request("POST",u+"/drive/v2/files",{body:JSON.stringify({title:p(g(t)),mimeType:h,parents:[{id:e}]}),headers:{"Content-Type":"application/json; charset=UTF-8"}}).then(t=>{const e=JSON.parse(t.responseText);return Promise.resolve(e.id)}))}_getFileId(t){let e;return"/"===t?Promise.resolve("root"):(e=this._fileIdCache.get(t))?Promise.resolve(e):this._getFolder(f(t)).then(()=>(e=this._fileIdCache.get(t),e?Promise.resolve(e):"/"===t.substr(-1)?this._createFolder(t).then(()=>this._getFileId(t)):Promise.resolve()))}_getMeta(t){return this._request("GET",u+"/drive/v2/files/"+t,{}).then(function(e){return 200===e.status?Promise.resolve(JSON.parse(e.responseText)):Promise.reject("request (getting metadata for "+t+") failed with status: "+e.status)})}_request(t,e,n){return this.isForbiddenRequestMethod(t,e)?Promise.reject(`Don't use ${t} on directories!`):(n.headers||(n.headers={}),n.headers.Authorization="Bearer "+this.token,this.rs._emit("wire-busy",{method:t,isFolder:(0,o.isFolder)(e)}),(0,a.requestWithTimeout)(t,e,n).then(n=>n&&401===n.status?void this.connect():(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!0}),Promise.resolve(n)),n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,o.isFolder)(e),success:!1}),Promise.reject(n))))}static _rs_init(t){const e=t.apiKeys.googledrive;var n;e&&(t.googledrive=new _(t,e.clientId),"googledrive"===t.backend&&(t._origRemote=t.remote,t.remote=t.googledrive,(n=t)._origBaseClientGetItemURL||(n._origBaseClientGetItemURL=r.default.prototype.getItemURL,r.default.prototype.getItemURL=function(){throw new Error("getItemURL is not implemented for Google Drive yet")})))}static _rs_supported(){return!0}static _rs_cleanup(t){var e;t.setBackend(void 0),t._origRemote&&(t.remote=t._origRemote,delete t._origRemote),(e=t)._origBaseClientGetItemURL&&(r.default.prototype.getItemURL=e._origBaseClientGetItemURL,delete e._origBaseClientGetItemURL)}}(0,o.applyMixins)(_,[s.default]),t.exports=_},567:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(93)),o=r(n(496)),a=r(n(334)),l=n(746),u="remotestorage";let c;class h extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||c,this.db?(this.getsRunning=0,this.putsRunning=0,this.changesQueued={},this.changesRunning={},this.commitSlownessWarning=null):(0,a.default)("[IndexedDB] Failed to open DB")}getNodes(t){return i(this,void 0,void 0,function*(){const e=[],n={};for(let i=0,r=t.length;i0?this.getNodesFromDb(e).then(function(t){for(const e in n)t[e]=n[e];return t}):n})}setNodes(t){return i(this,void 0,void 0,function*(){for(const e in t)this.changesQueued[e]=t[e]||!1;this.maybeFlush()})}maybeFlush(){0===this.putsRunning?this.flushChangesQueued():this.commitSlownessWarning||(this.commitSlownessWarning=n.g.setInterval(function(){console.warn("WARNING: waited more than 10 seconds for previous commit to finish")},1e4))}flushChangesQueued(){this.commitSlownessWarning&&(clearInterval(this.commitSlownessWarning),this.commitSlownessWarning=null),Object.keys(this.changesQueued).length>0&&(this.changesRunning=this.changesQueued,this.changesQueued={},this.setNodesInDb(this.changesRunning).then(this.flushChangesQueued.bind(this)))}getNodesFromDb(t){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readonly"),r=i.objectStore("nodes"),s={};this.getsRunning++,t.map(t=>{r.get(t).onsuccess=e=>{s[t]=e.target.result}}),i.oncomplete=()=>{e(s),this.getsRunning--},i.onerror=i.onabort=()=>{n("get transaction error/abort"),this.getsRunning--}})}setNodesInDb(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{const i=this.db.transaction(["nodes"],"readwrite"),r=i.objectStore("nodes"),s=(new Date).getTime();this.putsRunning++,(0,a.default)("[IndexedDB] Starting puts",t,this.putsRunning);for(const o in t){const e=t[o];if("object"==typeof e)try{r.put(e)}catch(t){throw(0,a.default)("[IndexedDB] Error while putting",e,t),t}else try{r.delete(o)}catch(t){throw(0,a.default)("[IndexedDB] Error while removing",r,e,t),t}}i.oncomplete=()=>{this.putsRunning--,(0,a.default)("[IndexedDB] Finished puts",t,this.putsRunning,(new Date).getTime()-s+"ms"),e()},i.onerror=()=>{this.putsRunning--,n("transaction error")},i.onabort=()=>{n("transaction abort"),this.putsRunning--}})})}reset(t){const e=this.db.name;this.db.close(),h.clean(e,()=>{h.open(e,(n,i)=>{n?(0,a.default)(`[IndexedDB] Error while resetting database ${e}:`,n):this.db=i,"function"==typeof t&&t(self)})})}forAllNodes(t){return i(this,void 0,void 0,function*(){return new Promise(e=>{this.db.transaction(["nodes"],"readonly").objectStore("nodes").openCursor().onsuccess=n=>{const i=n.target.result;i?(t(i.value),i.continue()):e()}})})}closeDB(){0===this.putsRunning?this.db.close():setTimeout(this.closeDB.bind(this),100)}static open(t,e){const n=setTimeout(function(){e("timeout trying to open db")},1e4);try{const i=indexedDB.open(t,2);i.onerror=function(){(0,a.default)("[IndexedDB] Opening DB failed",i),clearTimeout(n),e(i.error)},i.onupgradeneeded=function(t){const e=i.result;(0,a.default)("[IndexedDB] Upgrade: from ",t.oldVersion," to ",t.newVersion),1!==t.oldVersion&&((0,a.default)("[IndexedDB] Creating object store: nodes"),e.createObjectStore("nodes",{keyPath:"path"})),(0,a.default)("[IndexedDB] Creating object store: changes"),e.createObjectStore("changes",{keyPath:"path"})},i.onsuccess=function(){clearTimeout(n);const r=i.result;if(!r.objectStoreNames.contains("nodes")||!r.objectStoreNames.contains("changes"))return(0,a.default)("[IndexedDB] Missing object store. Resetting the database."),void h.clean(t,function(){h.open(t,e)});e(null,i.result)}}catch(i){(0,a.default)("[IndexedDB] Failed to open database: "+i),(0,a.default)("[IndexedDB] Resetting database and trying again."),clearTimeout(n),h.clean(t,function(){h.open(t,e)})}}static clean(t,e){const n=indexedDB.deleteDatabase(t);n.onsuccess=function(){(0,a.default)(`[IndexedDB] Deleted database "${t}"`),e()},n.onerror=n.onabort=function(e){console.error('Failed to remove database "'+t+'"',e)}}static _rs_init(t){return new Promise((e,n)=>{h.open(u,function(i,r){i?n(i):(c=r,r.onerror=()=>{t._emit("error",i)},e())})})}static _rs_supported(){return new Promise((t,e)=>{const n=(0,l.getGlobalContext)();let i=!1;if("undefined"!=typeof navigator&&navigator.userAgent.match(/Android (2|3|4\.[0-3])/)&&(navigator.userAgent.match(/Chrome|Firefox/)||(i=!0)),"indexedDB"in n&&!i)try{const n=indexedDB.open("rs-check");n.onerror=function(){e()},n.onsuccess=function(){n.result.close(),indexedDB.deleteDatabase("rs-check"),t()}}catch(t){e()}else e()})}static _rs_cleanup(t){return new Promise(e=>{t.local instanceof h&&t.local.closeDB(),h.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(h,[s.default]),t.exports=h},365:function(t,e,n){var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const r=i(n(93)),s=i(n(496)),o=n(746);class a extends s.default{constructor(){super(),this._storage={},this.addEvents(["change","local-events-done"])}getNodes(t){const e={};for(let n=0,i=t.length;n=2e3&&t<=36e5}var k;!function(t){t.GOOGLE="googledrive",t.DROPBOX="dropbox"}(k||(k={}));class T{constructor(t){if(this._pending=[],this._cleanups=[],this._pathHandlers={change:{}},this.apiKeys={},this._init=b.default.loadFeatures,this.features=b.default.features,this.loadFeature=b.default.loadFeature,this.featureSupported=b.default.featureSupported,this.featureDone=b.default.featureDone,this.featuresDone=b.default.featuresDone,this.featuresLoaded=b.default.featuresLoaded,this.featureInitialized=b.default.featureInitialized,this.featureFailed=b.default.featureFailed,this.hasFeature=b.default.hasFeature,this._setCachingModule=b.default._setCachingModule,this._collectCleanupFunctions=b.default._collectCleanupFunctions,this._fireReady=b.default._fireReady,this.initFeature=b.default.initFeature,"object"==typeof t&&(0,u.extend)(a.default,t),this.addEvents(["ready","authing","connecting","connected","disconnected","not-connected","conflict","error","features-loaded","sync-interval-change","sync-started","sync-req-done","sync-done","wire-busy","wire-done","network-offline","network-online"]),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")}),S=(0,u.localStorageAvailable)(),S){this.apiKeys=(0,u.getJSONFromLocalStorage)("remotestorage:api-keys")||{};const t=localStorage.getItem("remotestorage:backend");"dropbox"===t||"googledrive"===t?this.setBackend(t):this.setBackend("remotestorage")}const e=this.on;this.on=function(t,n){if(this._allLoaded)switch(t){case"features-loaded":setTimeout(n,0);break;case"ready":this.remote&&setTimeout(n,0);break;case"connected":this.remote&&this.remote.connected&&setTimeout(n,0);break;case"not-connected":this.remote&&!this.remote.connected&&setTimeout(n,0)}return e.call(this,t,n)},this._init(),this.fireInitial=function(){this.local&&setTimeout(this.local.fireInitial.bind(this.local),0)}.bind(this),this.on("ready",this.fireInitial.bind(this)),this.loadModules()}get connected(){return this.remote.connected}loadModules(){a.default.modules.forEach(this.addModule.bind(this))}authorize(t){if(this.access.setStorageType(this.remote.storageApi),void 0===t.scope&&(t.scope=this.access.scopeParameter),x.cordova)t.redirectUri=a.default.cordovaRedirectUri;else{const e=h.default.getLocation();let n=e.origin;"/"!==e.pathname&&(n+=e.pathname),t.redirectUri=n}void 0===t.clientId&&(t.clientId=t.redirectUri.match(/^(https?:\/\/[^/]+)/)[0]),h.default.authorize(this,t)}impliedauth(t,e){t=t||this.remote.storageApi,e=e||String(document.location),(0,l.default)("ImpliedAuth proceeding due to absent authURL; storageApi = "+t+" redirectUri = "+e),this.remote.configure({token:h.default.IMPLIED_FAKE_TOKEN}),document.location.href=e}connect(t,e){if(this.setBackend("remotestorage"),t.indexOf("@")<0&&!t.match(/^(https?:\/\/)?[^\s\/$\.?#]+\.[^\s]*$/))this._emit("error",new T.DiscoveryError("Not a valid user address or URL."));else{if(t.indexOf("@")<0&&!t.match(/^https?:\/\//)&&(t=`https://${t}`),x.cordova){if("string"!=typeof a.default.cordovaRedirectUri)return void this._emit("error",new T.DiscoveryError("Please supply a custom HTTPS redirect URI for your Cordova app"));if(!x.cordova.InAppBrowser)return void this._emit("error",new T.DiscoveryError("Please include the InAppBrowser Cordova plugin to enable OAuth"))}this.remote.configure({userAddress:t}),this._emit("connecting"),(0,y.default)(t).then(n=>{if(this._emit("authing"),n.userAddress=t,this.remote.configure(n),!this.remote.connected)if(n.authURL)if(void 0===e)this.authorize({authURL:n.authURL});else{if("string"!=typeof e)throw new Error("Supplied bearer token must be a string");(0,l.default)("Skipping authorization sequence and connecting with known token"),this.remote.configure({token:e})}else this.impliedauth()},()=>{this._emit("error",new T.DiscoveryError("No storage information found for this user address."))})}}reconnect(){this.remote.configure({token:null}),"remotestorage"===this.backend?this.connect(this.remote.userAddress):this.remote.connect()}disconnect(){this.remote&&this.remote.configure({userAddress:null,href:null,storageApi:null,token:null,properties:null}),this._setGPD({get:this._pendingGPD("get"),put:this._pendingGPD("put"),delete:this._pendingGPD("delete")});const t=this._cleanups.length;let e=0;const n=()=>{e++,e>=t&&(this._init(),(0,l.default)('Cleanups done, emitting "disconnected" event'),this._emit("disconnected"))};t>0?this._cleanups.forEach(t=>{const e=t(this);"object"==typeof e&&"function"==typeof e.then?e.then(n):n()}):n()}setBackend(t){this.backend=t,S&&(void 0!==t?localStorage.setItem("remotestorage:backend",t):localStorage.removeItem("remotestorage:backend"))}onChange(t,e){this._pathHandlers.change[t]||(this._pathHandlers.change[t]=[]),this._pathHandlers.change[t].push(e)}enableLog(){a.default.logging=!0}disableLog(){a.default.logging=!1}log(...t){l.default.apply(T,t)}setApiKeys(t){const e=[k.GOOGLE,k.DROPBOX];if("object"!=typeof t||!Object.keys(t).every(t=>e.includes(t)))return console.error("setApiKeys() was called with invalid arguments"),!1;Object.keys(t).forEach(e=>{const n=t[e];if(n){switch(e){case k.DROPBOX:this.apiKeys[k.DROPBOX]={appKey:n},void 0!==this.dropbox&&this.dropbox.clientId===n||m.default._rs_init(this);break;case k.GOOGLE:this.apiKeys[k.GOOGLE]={clientId:n},void 0!==this.googledrive&&this.googledrive.clientId===n||g.default._rs_init(this)}return!0}delete this.apiKeys[e]}),S&&localStorage.setItem("remotestorage:api-keys",JSON.stringify(this.apiKeys))}setCordovaRedirectUri(t){if("string"!=typeof t||!t.match(/http(s)?:\/\//))throw new Error("Cordova redirect URI must be a URI string");a.default.cordovaRedirectUri=t}_setGPD(t,e){function n(t){return function(...n){return t.apply(e,n).then(E.bind(this))}}this.get=n(t.get),this.put=n(t.put),this.delete=n(t.delete)}_pendingGPD(t){return(...e)=>{const n=Array.prototype.slice.call(e);return new Promise((e,i)=>{this._pending.push({method:t,args:n,promise:{resolve:e,reject:i}})})}}_processPending(){this._pending.forEach(t=>{try{this[t.method](...t.args).then(t.promise.resolve,t.promise.reject)}catch(e){t.promise.reject(e)}}),this._pending=[]}_bindChange(t){t.on("change",this._dispatchEvent.bind(this,"change"))}_dispatchEvent(t,e){Object.keys(this._pathHandlers[t]).forEach(n=>{const i=n.length;e.path.substr(0,i)===n&&this._pathHandlers[t][n].forEach(t=>{const i={};for(const n in e)i[n]=e[n];i.relativePath=e.path.replace(new RegExp("^"+n),"");try{t(i)}catch(t){console.error("'change' handler failed: ",t,t.stack),this._emit("error",t)}})})}scope(t){if("string"!=typeof t)throw"Argument 'path' of baseClient.scope must be a string";return this.access.checkPathPermission(t,"r")||console.warn("WARNING: Please use remoteStorage.access.claim() to ask for access permissions first: https://remotestorage.io/rs.js/docs/api/access/classes/Access.html#claim"),new d.default(this,t)}getSyncInterval(){return a.default.syncInterval}setSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.syncInterval;a.default.syncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getBackgroundSyncInterval(){return a.default.backgroundSyncInterval}setBackgroundSyncInterval(t){if(!C(t))throw t+" is not a valid sync interval";const e=a.default.backgroundSyncInterval;a.default.backgroundSyncInterval=t,this._emit("sync-interval-change",{oldValue:e,newValue:t})}getCurrentSyncInterval(){return a.default.isBackground?a.default.backgroundSyncInterval:a.default.syncInterval}getRequestTimeout(){return a.default.requestTimeout}setRequestTimeout(t){if("number"!=typeof t)throw t+" is not a valid request timeout";a.default.requestTimeout=t}setupSyncCycle(){this.sync&&!this.sync.stopped&&((0,l.default)("[Sync] Setting up sync cycle"),this.on("sync-done",()=>{(0,l.default)("[Sync] Sync done. Setting timer to",this.getCurrentSyncInterval()),this.sync&&!this.sync.stopped&&(this._syncTimer&&clearTimeout(this._syncTimer),this._syncTimer=setTimeout(this.sync.sync.bind(this.sync),this.getCurrentSyncInterval()))}),this.sync.sync())}startSync(){return a.default.cache?(this.sync.stopped=!1,this.syncStopped=!1,this.sync.sync()):(console.warn("Nothing to sync, because caching is disabled."),Promise.resolve())}stopSync(){clearTimeout(this._syncTimer),this._syncTimer=void 0,this.sync?((0,l.default)("[Sync] Stopping sync"),this.sync.stopped=!0):((0,l.default)("[Sync] Will instantiate sync stopped"),this.syncStopped=!0)}addModule(t){const e=t.name,n=t.builder;if(Object.defineProperty(this,e,{configurable:!0,get:function(){const t=this._loadModule(e,n);return Object.defineProperty(this,e,{value:t}),t}}),-1!==e.indexOf("-")){const t=e.replace(/\-[a-z]/g,function(t){return t[1].toUpperCase()});Object.defineProperty(this,t,{get:function(){return this[e]}})}}_loadModule(t,e){if(e)return e(new d.default(this,"/"+t+"/"),new d.default(this,"/public/"+t+"/")).exports;throw"Unknown module: "+t}}e.RemoteStorage=T,T.SyncError=_.default,T.Unauthorized=v.default,T.DiscoveryError=y.default.DiscoveryError,T.util=w,Object.defineProperty(T.prototype,"access",{configurable:!0,get:function(){const t=new c.default;return Object.defineProperty(this,"access",{value:t}),t}}),Object.defineProperty(T.prototype,"caching",{configurable:!0,get:function(){const t=new p.default(this);return Object.defineProperty(this,"caching",{value:t}),t}}),(0,u.applyMixins)(T,[f.EventHandling]),e.default=T},368:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.isArrayBufferView=void 0,e.retryAfterMs=function(t){const e=1e3*parseInt(t.getResponseHeader("Retry-After"));return e>=1e3?e:Math.max(1500,Math.min(6e4,Math.round(o.default.syncInterval/(2.9+.2*Math.random()))))},e.requestWithTimeout=function(t,n,r){return i(this,void 0,void 0,function*(){return"function"==typeof fetch?function(t,e,n){return i(this,void 0,void 0,function*(){const i="function"==typeof AbortController?new AbortController:null;let r;const a=new Promise((t,e)=>{r=setTimeout(()=>{i&&i.abort(),e("timeout")},o.default.requestTimeout)});let l;const u={},c=fetch(e,{method:t,headers:n.headers,body:n.body,signal:i?i.signal:void 0}).then(t=>{switch((0,s.default)("[requests fetch]",t),t.headers.forEach((t,e)=>{u[e.toUpperCase()]=t}),l={readyState:4,status:t.status,statusText:t.statusText,response:void 0,getResponseHeader:t=>u[t.toUpperCase()]||null,responseType:n.responseType,responseURL:e},n.responseType){case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"json":return t.json();case void 0:case"":case"text":return t.text();default:throw new Error("responseType 'document' is not currently supported using fetch")}}).then(t=>(l.response=t,n.responseType&&"text"!==n.responseType||(l.responseText=t),l)).finally(()=>{clearTimeout(r)});return Promise.race([c,a])})}(t,n,r):"function"==typeof XMLHttpRequest?function(t,n,r){return i(this,void 0,void 0,function*(){return new Promise((i,a)=>{(0,s.default)("[requests XHR]",t,n);let l=!1;const u=setTimeout(()=>{l=!0,a("timeout")},o.default.requestTimeout),c=new XMLHttpRequest;if(c.open(t,n,!0),r.responseType&&(c.responseType=r.responseType),r.headers)for(const t in r.headers)c.setRequestHeader(t,r.headers[t]);c.onload=()=>{l||(clearTimeout(u),i(c))},c.onerror=t=>{l||(clearTimeout(u),a(t))};let h=r.body;"object"==typeof h&&!(0,e.isArrayBufferView)(h)&&h instanceof ArrayBuffer&&(h=new Uint8Array(h)),c.send(h)})})}(t,n,r):Promise.reject("[Requests] You need to add a polyfill for fetch or XMLHttpRequest")})};const s=r(n(334)),o=r(n(28));if("function"==typeof(n.g||window).ArrayBufferView)e.isArrayBufferView=function(t){return t&&t instanceof(n.g||window).ArrayBufferView};else{const t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];e.isArrayBufferView=function(e){for(let n=0;n<8;n++)if(e instanceof t[n])return!0;return!1}}},941:function(t){t.exports=class{constructor(t){this._itemsRev={},this._storage={},this._canPropagate=!1,this.defaultValue=t,this.activatePropagation()}get(t){t=t.toLowerCase();let e=this._storage[t];return void 0===e&&(e=this.defaultValue,this._storage[t]=e),e}set(t,e){return t=t.toLowerCase(),this._storage[t]===e||(this._storage[t]=e,e||delete this._itemsRev[t],this._updateParentFolderItemRev(t,e),this._canPropagate&&this._propagate(t)),e}delete(t){return this.set(t,null)}deactivatePropagation(){return this._canPropagate=!1,!0}activatePropagation(){return this._canPropagate||(this._generateFolderRev("/"),this._canPropagate=!0),!0}_hashCode(t){let e=0;if(0===t.length)return e;for(let n=0;n0&&(n=this._generateHash(t))}return this.set(t,n),n}}},491:function(t){class e extends Error{constructor(t){super();const e=new Error("Schema not found: "+t);return e.name="SchemaNotFound",e}}t.exports=e},982:function(t){class e extends Error{constructor(t){super(),this.name="SyncError",this.message="Sync failed: ","string"==typeof t?this.message+=t:(this.message+=t.message,this.stack=t.stack,this.originalError=t)}}t.exports=e},313:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Sync=void 0;const s=r(n(28)),o=r(n(451)),a=r(n(93)),l=r(n(334)),u=r(n(275)),c=r(n(982)),h=r(n(503)),d=n(746);let p,f;function g(t,e,n){return{action:t,path:e,promise:n}}function m(t,e){return t.common.revision!==e&&(!t.remote||t.remote.revision!==e)}function y(t){return!!t.common&&!!t.common.revision}class _{constructor(t){this.numThreads=10,this._tasks={},this._running={},this._timeStarted={},this._finishedTasks=[],this.rs=t,this.rs.local.onDiff(t=>{this.addTask(t),this.doTasks()}),this.rs.caching.onActivate(t=>{this.addTask(t),this.doTasks()}),this.addEvents(["done","req-done"])}now(){return(new Date).getTime()}queueGetRequest(t){return i(this,void 0,void 0,function*(){return new Promise((e,n)=>{this.rs.remote.connected?this.rs.remote.online?(this.addTask(t,function(){this.rs.local.get(t).then(t=>e(t))}.bind(this)),this.doTasks()):n("cannot fulfill maxAge requirement - remote is not online"):n("cannot fulfill maxAge requirement - remote is not connected")})})}corruptServerItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t){const n=t[e];if("object"!=typeof n)return!0;if("string"!=typeof n.ETag)return!0;if((0,d.isFolder)(e)){if(-1!==e.substring(0,e.length-1).indexOf("/"))return!0}else if(-1!==e.indexOf("/"))return!0}return!1}corruptItemsMap(t){if("object"!=typeof t||Array.isArray(t))return!0;for(const e in t)if("boolean"!=typeof t[e])return!0;return!1}corruptRevision(t){return"object"!=typeof t||Array.isArray(t)||t.revision&&"string"!=typeof t.revision||t.body&&"string"!=typeof t.body&&"object"!=typeof t.body||t.contentType&&"string"!=typeof t.contentType||t.contentLength&&"number"!=typeof t.contentLength||t.timestamp&&"number"!=typeof t.timestamp||t.itemsMap&&this.corruptItemsMap(t.itemsMap)}isCorrupt(t){return"object"!=typeof t||Array.isArray(t)||"string"!=typeof t.path||this.corruptRevision(t.common)||t.local&&this.corruptRevision(t.local)||t.remote&&this.corruptRevision(t.remote)||t.push&&this.corruptRevision(t.push)}hasTasks(){return Object.keys(this._tasks).length>0}collectDiffTasks(){return i(this,void 0,void 0,function*(){let t=0;return this.rs.local.forAllNodes(e=>{t>100||(this.isCorrupt(e)?((0,l.default)("[Sync] WARNING: corrupt node in local cache",e),"object"==typeof e&&e.path&&(this.addTask(e.path),t++)):(this.needsFetch(e)&&this.rs.access.checkPathPermission(e.path,"r")||(0,d.isDocument)(e.path)&&this.needsPush(e)&&this.rs.access.checkPathPermission(e.path,"rw"))&&(this.addTask(e.path),t++))}).then(()=>t)})}inConflict(t){return!(!t.local||!t.remote||void 0===t.remote.body&&!t.remote.itemsMap)}needsRefresh(t){return!!t.common&&(!t.common.timestamp||this.now()-t.common.timestamp>s.default.syncInterval)}needsFetch(t){return!!this.inConflict(t)||!(!t.common||void 0!==t.common.itemsMap||void 0!==t.common.body)||!(!t.remote||void 0!==t.remote.itemsMap||void 0!==t.remote.body)}needsPush(t){return!this.inConflict(t)&&(!(!t.local||t.push)||void 0)}needsRemotePut(t){return t.local&&"string"==typeof t.local.body}needsRemoteDelete(t){return t.local&&!1===t.local.body}getParentPath(t){const e=t.match(/^(.*\/)([^\/]+\/?)$/);if(e)return e[1];throw new Error('Not a valid path: "'+t+'"')}deleteChildPathsFromTasks(){for(const t in this._tasks){const e=(0,d.pathsFromRoot)(t);for(let n=1;n{let e;if(this.needsRefresh(t)){try{e=this.getParentPath(t.path)}catch(t){}e&&this.rs.access.checkPathPermission(e,"r")?this.addTask(e):this.rs.access.checkPathPermission(t.path,"r")&&this.addTask(t.path)}}),this.deleteChildPathsFromTasks()})}flush(t){for(const e in t)"FLUSH"===this.rs.caching.checkPath(e)&&t[e]&&!t[e].local&&((0,l.default)("[Sync] Flushing",e),t[e]=void 0);return t}doTask(t){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(e=>{const n=e[t];return void 0===n||function(t){return!(!t.remote||!t.remote.revision||t.remote.itemsMap||t.remote.body)}(n)?g("get",t,this.rs.remote.get(t)):this.needsRemotePut(n)?(n.push=(0,d.deepClone)(n.local),n.push.timestamp=this.now(),this.rs.local.setNodes(this.flush(e)).then(()=>{let e;return e=y(n)?{ifMatch:n.common.revision}:{ifNoneMatch:"*"},g("put",t,this.rs.remote.put(t,n.push.body,n.push.contentType,e))})):this.needsRemoteDelete(n)?(n.push={body:!1,timestamp:this.now()},this.rs.local.setNodes(this.flush(e)).then(()=>y(n)?g("delete",t,this.rs.remote.delete(t,{ifMatch:n.common.revision})):g("get",t,this.rs.remote.get(t)))):y(n)?g("get",t,this.rs.remote.get(t,{ifNoneMatch:n.common.revision})):g("get",t,this.rs.remote.get(t))})})}autoMergeFolder(t){if(t.remote.itemsMap&&(t.common=t.remote,delete t.remote,t.common.itemsMap)){for(const e in t.common.itemsMap)t.local.itemsMap[e]||(t.local.itemsMap[e]=!1);for(const e in t.local.itemsMap)t.common.itemsMap[e]||this.addTask(t.path+e);(0,d.equal)(t.local.itemsMap,t.common.itemsMap)&&delete t.local}return t}autoMergeDocument(t){var e;return function(t){return(!t.remote||!t.remote.revision||t.remote.revision===t.common.revision)&&(void 0===t.common.body&&!1===t.remote.body||t.remote.body===t.common.body&&t.remote.contentType===t.common.contentType)}(t)?delete(t=function(t){return t.remote&&!1===t.remote.body&&t.local&&!1===t.local.body&&delete t.local,t}(t)).remote:void 0!==t.remote.body&&(!1===t.remote.body&&!1===(null===(e=t.local)||void 0===e?void 0:e.body)||((0,l.default)("[Sync] Emitting conflict event"),setTimeout(this.rs.local.emitChange.bind(this.rs.local),10,{origin:"conflict",path:t.path,oldValue:t.local.body,newValue:t.remote.body,lastCommonValue:t.common.body,oldContentType:t.local.contentType,newContentType:t.remote.contentType,lastCommonContentType:t.common.contentType})),!1===t.remote.body?t.common={}:t.common=t.remote,delete t.remote,delete t.local),t}autoMerge(t){if(t.remote){if(t.local)return(0,d.isFolder)(t.path)?this.autoMergeFolder(t):this.autoMergeDocument(t);if((0,d.isFolder)(t.path))void 0!==t.remote.itemsMap&&(t.common=t.remote,delete t.remote);else if(void 0!==t.remote.body){const e={origin:"remote",path:t.path,oldValue:!1===t.common.body?void 0:t.common.body,newValue:!1===t.remote.body?void 0:t.remote.body,oldContentType:t.common.contentType,newContentType:t.remote.contentType};if(void 0===e.oldValue&&void 0===e.newValue||this.rs.local.emitChange(e),!1===t.remote.body)return;t.common=t.remote,delete t.remote}return t}t.common.body&&this.rs.local.emitChange({origin:"remote",path:t.path,oldValue:t.common.body,newValue:void 0,oldContentType:t.common.contentType,newContentType:void 0})}updateCommonTimestamp(t,e){return i(this,void 0,void 0,function*(){return this.rs.local.getNodes([t]).then(n=>(n[t]&&n[t].common&&n[t].common.revision===e&&(n[t].common.timestamp=this.now()),this.rs.local.setNodes(this.flush(n))))})}markChildren(t,e,n,r){return i(this,void 0,void 0,function*(){const i=[],s={},o={};for(const n in e)i.push(t+n),s[t+n]=e[n];for(const e in r)i.push(t+e);const a=yield this.rs.local.getNodes(i);let l,u;for(const e in a)if(u=a[e],s[e])u&&u.common?m(u,s[e].ETag)&&(n[e]=(0,d.deepClone)(u),n[e].remote={revision:s[e].ETag,timestamp:this.now()},n[e]=this.autoMerge(n[e])):(l=this.rs.caching.checkPath(e),"ALL"===l&&(n[e]={path:e,common:{timestamp:this.now()},remote:{revision:s[e].ETag,timestamp:this.now()}})),n[e]&&s[e]["Content-Type"]&&(n[e].remote.contentType=s[e]["Content-Type"]),n[e]&&s[e]["Content-Length"]&&(n[e].remote.contentLength=s[e]["Content-Length"]);else if(r[e.substring(t.length)]&&u&&u.common){if(u.common.itemsMap)for(const t in u.common.itemsMap)o[e+t]=!0;if(u.local&&u.local.itemsMap)for(const t in u.local.itemsMap)o[e+t]=!0;if(u.remote||(0,d.isFolder)(e))n[e]=void 0;else if(n[e]=this.autoMerge(u),void 0===n[e]){const i=this.getParentPath(e),r=n[i],s=e.substring(t.length);r&&r.local&&(delete r.local.itemsMap[s],(0,d.equal)(r.local.itemsMap,r.common.itemsMap)&&delete r.local)}}const c=yield this.markRemoteDeletions(Object.keys(o),n);c&&(yield this.rs.local.setNodes(this.flush(c)))})}markRemoteDeletions(t,e){return i(this,void 0,void 0,function*(){if(0===t.length)return e;const n=yield this.rs.local.getNodes(t),i={};function r(t,e){if(t&&t.itemsMap)for(const n in t.itemsMap)i[e+n]=!0}for(const t in n){const i=n[t];i&&((0,d.isFolder)(t)?(r(i.common,t),r(i.local,t)):i.common&&void 0!==i.common.body&&(e[t]=(0,d.deepClone)(i),e[t].remote={body:!1,timestamp:this.now()},e[t]=this.autoMerge(e[t])))}const s=yield this.markRemoteDeletions(Object.keys(i),e);s&&(yield this.rs.local.setNodes(this.flush(s)))})}completeFetch(t,e,n,r){return i(this,void 0,void 0,function*(){let i,s;const o=(0,d.pathsFromRoot)(t);(0,d.isFolder)(t)?i=[t]:(s=o[1],i=[t,s]);const a=yield this.rs.local.getNodes(i),l=a[s],u={};let c,h=a[t];function p(t){if(t&&t.itemsMap)for(c in t.itemsMap)e[c]||(u[c]=!0)}if("object"==typeof h&&h.path===t&&"object"==typeof h.common||(h={path:t,common:{}},a[t]=h),h.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(c in p(h.common),p(h.remote),h.remote.itemsMap={},e)h.remote.itemsMap[c]=!0;else h.remote.body=e,h.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(c=t.substring(s.length),!1!==e?l.local.itemsMap[c]=!0:l.local.itemsMap[c]&&delete l.local.itemsMap[c],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(h),{toBeSaved:a,missingChildren:u}})}completePush(t,e,n,r){return i(this,void 0,void 0,function*(){const i=yield this.rs.local.getNodes([t]),s=i[t];if(!s.push)throw this.stopped=!0,new Error("completePush called but no push version!");n?((0,l.default)("[Sync] We have a conflict"),s.remote&&s.remote.revision===r||(s.remote={revision:r||"conflict",timestamp:this.now()},delete s.push),i[t]=this.autoMerge(s)):(s.common={revision:r,timestamp:this.now()},"put"===e?(s.common.body=s.push.body,s.common.contentType=s.push.contentType,(0,d.equal)(s.local.body,s.push.body)&&s.local.contentType===s.push.contentType&&delete s.local,delete s.push):"delete"===e&&(!1===s.local.body?i[t]=void 0:delete s.push)),yield this.rs.local.setNodes(this.flush(i))})}dealWithFailure(t){return i(this,void 0,void 0,function*(){const e=yield this.rs.local.getNodes([t]);if(e[t])return delete e[t].push,this.rs.local.setNodes(this.flush(e))})}interpretStatus(t){const e={statusCode:t,successful:void 0,conflict:void 0,unAuth:void 0,notFound:void 0,changed:void 0,networkProblems:void 0};if("string"==typeof t&&("offline"===t||"timeout"===t))return e.successful=!1,e.networkProblems=!0,e;if("number"==typeof t){const n=Math.floor(t/100);return e.successful=2===n||304===t||412===t||404===t,e.conflict=412===t,e.unAuth=401===t&&this.rs.remote.token!==u.default.IMPLIED_FAKE_TOKEN||402===t||403===t,e.notFound=404===t,e.changed=304!==t,e}}handleGetResponse(t,e,n,r,s){return i(this,void 0,void 0,function*(){if(e.notFound&&(n=!!(0,d.isFolder)(t)&&{}),e.changed){const e=yield this.completeFetch(t,n,r,s);if((0,d.isFolder)(t)){if(this.corruptServerItemsMap(n))return(0,l.default)("[Sync] WARNING: Discarding corrupt folder description from server for "+t),!1;yield this.markChildren(t,n,e.toBeSaved,e.missingChildren)}else yield this.rs.local.setNodes(this.flush(e.toBeSaved))}else yield this.updateCommonTimestamp(t,s);return!0})}handleResponse(t,e,n){return i(this,void 0,void 0,function*(){const i=this.interpretStatus(n.statusCode);if(i.successful){if("get"===e)return this.handleGetResponse(t,i,n.body,n.contentType,n.revision);if("put"===e||"delete"===e)return this.completePush(t,e,i.conflict,n.revision).then(function(){return!0});throw new Error(`cannot handle response for unknown action ${e}`)}{let e;return e=i.unAuth?new h.default:i.networkProblems?new c.default("Network request failed."):new Error("HTTP response code "+i.statusCode+" received."),this.dealWithFailure(t).then(()=>{throw this.rs._emit("error",e),e})}})}finishTask(t){return i(this,arguments,void 0,function*(t,e=!0){if(void 0===t.action)return void delete this._running[t.path];if(e&&((0,l.default)("[Sync] queue finished task:",t.path),this._finishedTasks.push(t),this._finishedTasks.length>1))return void(0,l.default)("[Sync] delaying finished task:",t.path);let n;(0,l.default)("[Sync] run task:",t.path);try{n=yield t.promise}catch(e){(0,l.default)("[Sync] wire client rejects its promise",t.path,t.action,e),n={statusCode:"offline"}}try{const e=yield this.handleResponse(t.path,t.action,n);this.finishSuccessfulTask(t,e)}catch(e){this.finishUnsuccessfulTask(t,e)}})}finishSuccessfulTask(t,e){return i(this,void 0,void 0,function*(){if(this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],e&&this._tasks[t.path]){for(let e=0;e0?yield this.finishTask(this._finishedTasks[0],!1):yield this.collectTasks(!1).then(()=>{!this.hasTasks()||this.stopped?(this.done||(this.done=!0),this.rs._emit("sync-done",{completed:!0})):setTimeout(()=>{this.doTasks()},10)})})}finishUnsuccessfulTask(t,e){return i(this,void 0,void 0,function*(){(0,l.default)("[Sync]",e.message),this._finishedTasks.shift(),delete this._timeStarted[t.path],delete this._running[t.path],this.rs._emit("sync-req-done",{tasksRemaining:Object.keys(this._tasks).length}),this._finishedTasks.length>0?yield this.finishTask(this._finishedTasks[0],!1):this.done||(this.done=!0,this.rs._emit("sync-done",{completed:!1}))})}tasksWanted(){return this.rs.remote.connected?this.rs.remote.online?this.numThreads:1:0}doTasks(){const t=this.tasksWanted()-Object.keys(this._running).length;if(t<=0)return!0;this.hasTasks()&&!this.done&&this.rs._emit("sync-started");let e,n=0;for(e in this._tasks)if(!this._running[e]&&(this._timeStarted[e]=this.now(),this._running[e]=this.doTask(e).then(this.finishTask.bind(this)),n++,n>=t))break;return n>=t}collectTasks(){return i(this,arguments,void 0,function*(t=!0){if(!this.hasTasks()&&!this.stopped)return(yield this.collectDiffTasks())>0?void 0:t?this.collectRefreshTasks():void 0})}addTask(t,e){this._tasks[t]||(this._tasks[t]=[]),"function"==typeof e&&this._tasks[t].push(e)}sync(){return i(this,void 0,void 0,function*(){if(this.done=!1,!this.doTasks()){try{yield this.collectTasks()}catch(t){throw(0,l.default)("[Sync] Sync error",t),new Error("Local cache unavailable")}this.doTasks()}})}static _rs_init(t){p=function(){const e=new o.default;e.isBrowser()&&function(t,e){function n(t){const n=e.getCurrentSyncInterval();s.default.isBackground=!t;const i=e.getCurrentSyncInterval();e._emit("sync-interval-change",{oldValue:n,newValue:i})}t.on("background",()=>n(!1)),t.on("foreground",()=>n(!0))}(e,t),t.sync||(t.sync=new _(t),t.syncStopped&&((0,l.default)("[Sync] Initializing with sync stopped"),t.sync.stopped=!0,delete t.syncStopped)),t.setupSyncCycle()},f=function(){t.removeEventListener("connected",f),t.startSync()},t.on("ready",p),t.on("connected",f)}static _rs_cleanup(t){t.stopSync(),t.removeEventListener("ready",p),t.removeEventListener("connected",f),t.sync=void 0,delete t.sync}}e.Sync=_,(0,d.applyMixins)(_,[a.default]),e.default=_},370:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};const r=(this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}})(n(334));function s(t){return"dropbox"===this.backend&&!!t.match(/^\/public\/.*[^\/]$/)}const o={get:function(t,e){if(this.local){if(void 0===e)e="object"==typeof(n=this).remote&&n.remote.connected&&n.remote.online?2*n.getSyncInterval():((0,r.default)("Not setting default maxAge, because remote is offline or not connected"),!1);else if("number"!=typeof e&&!1!==e)return Promise.reject("Argument 'maxAge' must be 'false' or a number");return this.local.get(t,e,this.sync.queueGetRequest.bind(this.sync))}return this.remote.get(t);var n},put:function(t,e,n){return s.bind(this)(t)?o._wrapBusyDone.call(this,this.remote.put(t,e,n)):this.local?this.local.put(t,e,n):o._wrapBusyDone.call(this,this.remote.put(t,e,n))},delete:function(t,e){return this.local?this.local.delete(t,e):o._wrapBusyDone.call(this,this.remote.delete(t,e))},_wrapBusyDone:function(t){return i(this,void 0,void 0,function*(){return this._emit("wire-busy"),t.then(t=>(this._emit("wire-done",{success:!0}),Promise.resolve(t)),t=>(this._emit("wire-done",{success:!1}),Promise.reject(t)))})}};t.exports=o},613:function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BaseClientTypes=void 0;class n{constructor(){this.uris={},this.schemas={},this.aliases={}}declare(t,e,n,i){const r=t+"/"+e;if(i.extends){const e=i.extends.split("/"),n=1===e.length?t+"/"+e.shift():e.join("/"),s=this.uris[n];if(!s)throw"Type '"+r+"' tries to extend unknown schema '"+n+"'";i.extends=this.schemas[s]}this.uris[r]=n,this.aliases[n]=r,this.schemas[n]=i}resolveAlias(t){return this.uris[t]}getSchema(t){return this.schemas[t]}inScope(t){const e=t.length,n={};for(const i in this.uris)if(i.substr(0,e+1)===t+"/"){const t=this.uris[i];n[t]=this.schemas[t]}return n}}e.BaseClientTypes=n;const i=new n;e.default=i},503:function(t){class e extends Error{constructor(t,e={}){super(),this.name="Unauthorized",this.message=void 0===t?"App authorization expired or revoked.":t,void 0!==e.code&&(this.code=e.code),this.stack=(new Error).stack}}t.exports=e},746:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})};function r(t,e){if("object"==typeof t&&!Array.isArray(t)&&null!==t)for(const n in t)if("object"==typeof t[n]&&null!==t[n])if("[object ArrayBuffer]"===t[n].toString()){e[n]=new ArrayBuffer(t[n].byteLength);const i=new Int8Array(t[n]);new Int8Array(e[n]).set(i)}else r(t[n],e[n])}Object.defineProperty(e,"__esModule",{value:!0}),e.toBase64=e.getTextFromArrayBuffer=e.shouldBeTreatedAsBinary=e.getJSONFromLocalStorage=e.localStorageAvailable=e.pathsFromRoot=e.deepClone=e.equal=e.bindAll=e.cleanPath=e.baseName=e.isDocument=e.isFolder=e.containingFolder=e.extend=e.getGlobalContext=e.globalContext=e.logError=void 0,e.generateCodeVerifier=function(){return i(this,arguments,void 0,function*(t=128){const e=new Uint8Array(t);crypto.getRandomValues(e);const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",i=Array.from(e).map(t=>n[t%66]),r=i.join(""),s=Uint8Array.from(i.map(t=>t.charCodeAt(0))),o=(a=yield crypto.subtle.digest("SHA-256",s),btoa(String.fromCharCode.apply(null,new Uint8Array(a))).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""));var a;return crypto.getRandomValues(e),{codeVerifier:r,codeChallenge:o,state:Array.from(e).map(t=>n[t%66]).join("")}})},e.applyMixins=function(t,e){e.forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(n=>{Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n))})})},e.logError=t=>{"string"==typeof t?console.error(t):console.error(t.message,t.stack)},e.globalContext="undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.getGlobalContext=()=>"undefined"!=typeof window?window:"object"==typeof self?self:n.g,e.extend=(...t)=>{const e=t[0];return Array.prototype.slice.call(t,1).forEach(function(t){for(const n in t)e[n]=t[n]}),e},e.containingFolder=t=>{if(""===t)return"/";if(!t)throw"Path not given!";return t.replace(/\/+/g,"/").replace(/[^\/]+\/?$/,"")},e.isFolder=t=>"/"===t.slice(-1),e.isDocument=t=>!(0,e.isFolder)(t),e.baseName=t=>{const n=t.split("/");return(0,e.isFolder)(t)?n[n.length-2]+"/":n[n.length-1]},e.cleanPath=t=>t.replace(/\/+/g,"/").split("/").map(encodeURIComponent).join("/").replace(/'/g,"%27"),e.bindAll=t=>{for(const e in this)"function"==typeof t[e]&&(t[e]=t[e].bind(t))},e.equal=(t,n,i=[])=>{let r;if(typeof t!=typeof n)return!1;if("number"==typeof t||"boolean"==typeof t||"string"==typeof t)return t===n;if("function"==typeof t)return t.toString()===n.toString();if(t instanceof ArrayBuffer&&n instanceof ArrayBuffer&&(t=new Uint8Array(t),n=new Uint8Array(n)),t instanceof Array){if(t.length!==n.length)return!1;for(let r=0,s=t.length;r=0)continue;s=i.slice(),s.push(n[r])}if(!(0,e.equal)(t[r],n[r],s))return!1}}return!0},e.deepClone=t=>{if(void 0!==t){const e=JSON.parse(JSON.stringify(t));return r(t,e),e}},e.pathsFromRoot=t=>{const e=[t],n=t.replace(/\/$/,"").split("/");for(;n.length>1;)n.pop(),e.push(n.join("/")+"/");return e},e.localStorageAvailable=()=>{const t=(0,e.getGlobalContext)();if(!("localStorage"in t))return!1;try{return t.localStorage.setItem("rs-check","1"),t.localStorage.removeItem("rs-check"),!0}catch(t){return!1}},e.getJSONFromLocalStorage=t=>{const n=(0,e.getGlobalContext)();try{return JSON.parse(n.localStorage.getItem(t))}catch(t){}},e.shouldBeTreatedAsBinary=(t,e)=>!!(e&&e.match(/charset=binary/)||/[\x00-\x08\x0E-\x1F\uFFFD]/.test(t)),e.getTextFromArrayBuffer=(t,n)=>new Promise(i=>{if("undefined"==typeof Blob||"undefined"==typeof FileReader){const e=Buffer.from(t);i(e.toString(n))}else{let r;const s=e.globalContext;if(s.BlobBuilder=s.BlobBuilder||s.WebKitBlobBuilder,void 0!==s.BlobBuilder){const e=new s.BlobBuilder;e.append(t),r=e.getBlob()}else r=new Blob([t]);const o=new FileReader;"function"==typeof o.addEventListener?o.addEventListener("loadend",function(t){i(t.target.result)}):o.onloadend=function(t){i(t.target.result)},o.readAsText(r,n)}}),e.toBase64=t=>{const n=(0,e.getGlobalContext)();return"btoa"in n?n.btoa(t):Buffer.from(t).toString("base64")}},600:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))(function(r,s){function o(t){try{l(i.next(t))}catch(t){s(t)}}function a(t){try{l(i.throw(t))}catch(t){s(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(o,a)}l((i=i.apply(t,e||[])).next())})},r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const s=r(n(275)),o=r(n(93)),a=r(n(503)),l=r(n(334)),u=n(746),c=n(368),h=n(684);let d;const p="remotestorage:wireclient",f={"draft-dejong-remotestorage-00":2,"draft-dejong-remotestorage-01":3,"draft-dejong-remotestorage-02":4,"https://www.w3.org/community/rww/wiki/read-write-web-00#simple":1};class g extends h.RemoteBase{constructor(t){if(super(t),this._revisionCache={},d=(0,u.localStorageAvailable)(),this.addEvents(["connected","not-connected"]),d){const t=function(){const t=(0,u.getJSONFromLocalStorage)(p)||{},{userAddress:e,href:n,storageApi:i,token:r,properties:s}=t;return{userAddress:e,href:n,storageApi:i,token:r,properties:s}}();t&&setTimeout(()=>{this.configure(t)},0)}this.connected&&setTimeout(this._emit.bind(this),0,"connected")}get storageType(){if(this.storageApi){const t=this.storageApi.match(/draft-dejong-(remotestorage-\d\d)/);return t?t[1]:"2012.04"}}_request(t,e,n,r,o,h,d){return i(this,void 0,void 0,function*(){if(this.isForbiddenRequestMethod(t,e))return Promise.reject(`Don't use ${t} on directories!`);let i;return n!==s.default.IMPLIED_FAKE_TOKEN&&(r.Authorization="Bearer "+n),this.rs._emit("wire-busy",{method:t,isFolder:(0,u.isFolder)(e)}),(0,c.requestWithTimeout)(t,e,{body:o,headers:r,responseType:"arraybuffer"}).then(n=>{if(this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!0}),r=n.status,[401,403,404,412].indexOf(r)>=0)return(0,l.default)("[WireClient] Error response status",n.status),i=h?this.stripQuotes(n.getResponseHeader("ETag")):void 0,401===n.status&&this.rs._emit("error",new a.default),Promise.resolve({statusCode:n.status,revision:i});if(function(t){return[201,204,304].indexOf(t)>=0}(n.status)||200===n.status&&"GET"!==t)return i=this.stripQuotes(n.getResponseHeader("ETag")),(0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,revision:i});{const t=n.getResponseHeader("Content-Type");i=h?this.stripQuotes(n.getResponseHeader("ETag")):200===n.status?d:void 0;const e=function(t){let e,n="utf-8";return t&&(e=t.match(/charset=(.+)$/),e&&(n=e[1])),n}(t);return(0,u.shouldBeTreatedAsBinary)(n.response,t)?((0,l.default)("[WireClient] Successful request with unknown or binary mime-type",i),Promise.resolve({statusCode:n.status,body:n.response,contentType:t,revision:i})):(0,u.getTextFromArrayBuffer)(n.response,e).then(e=>((0,l.default)("[WireClient] Successful request",i),Promise.resolve({statusCode:n.status,body:e,contentType:t,revision:i})))}var r},n=>(this.online&&(this.online=!1,this.rs._emit("network-offline")),this.rs._emit("wire-done",{method:t,isFolder:(0,u.isFolder)(e),success:!1}),Promise.reject(n)))})}configure(t){if("object"!=typeof t)throw new Error("WireClient configure settings parameter should be an object");if(void 0!==t.userAddress&&(this.userAddress=t.userAddress),void 0!==t.href&&(this.href=t.href),void 0!==t.storageApi&&(this.storageApi=t.storageApi),void 0!==t.token&&(this.token=t.token),void 0!==t.properties&&(this.properties=t.properties),"string"==typeof this.storageApi){const t=f[this.storageApi]||5;this.supportsRevs=t>=2}this.href&&this.token?(this.connected=!0,this.online=!0,this._emit("connected")):this.connected=!1,d&&localStorage.setItem(p,JSON.stringify({userAddress:this.userAddress,href:this.href,storageApi:this.storageApi,token:this.token,properties:this.properties}))}get(t,e={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");const n={};return this.supportsRevs&&e.ifNoneMatch&&(n["If-None-Match"]=this.addQuotes(e.ifNoneMatch)),this._request("GET",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs,this._revisionCache[t]).then(e=>{if(!(0,u.isFolder)(t))return Promise.resolve(e);let n={};if(void 0!==e.body)try{e.body=JSON.parse(e.body)}catch(e){return Promise.reject("Folder description at "+this.href+(0,u.cleanPath)(t)+" is not JSON")}if(200===e.statusCode&&"object"==typeof e.body){if(0===Object.keys(e.body).length)e.statusCode=404;else if("http://remotestorage.io/spec/folder-description"===(i=e.body)["@context"]&&"object"==typeof i.items){for(const n in e.body.items)this._revisionCache[t+n]=e.body.items[n].ETag;n=e.body.items}else Object.keys(e.body).forEach(i=>{this._revisionCache[t+i]=e.body[i],n[i]={ETag:e.body[i]}});return e.body=n,Promise.resolve(e)}return Promise.resolve(e);var i})}put(t,e,n,i={}){if(!this.connected)return Promise.reject("not connected (path: "+t+")");!n.match(/charset=/)&&(e instanceof ArrayBuffer||(0,c.isArrayBufferView)(e))&&(n+="; charset=binary");const r={"Content-Type":n};return this.supportsRevs&&(i.ifMatch&&(r["If-Match"]=this.addQuotes(i.ifMatch)),i.ifNoneMatch&&(r["If-None-Match"]=this.addQuotes(i.ifNoneMatch))),this._request("PUT",this.href+(0,u.cleanPath)(t),this.token,r,e,this.supportsRevs)}delete(t,e={}){if(!this.connected)throw new Error("not connected (path: "+t+")");e||(e={});const n={};return this.supportsRevs&&e.ifMatch&&(n["If-Match"]=this.addQuotes(e.ifMatch)),this._request("DELETE",this.href+(0,u.cleanPath)(t),this.token,n,void 0,this.supportsRevs)}static _rs_init(t){t.remote=new g(t),t.remote.online=!0}static _rs_supported(){return"function"==typeof fetch||"function"==typeof XMLHttpRequest}static _rs_cleanup(){d&&delete localStorage[p]}}(0,u.applyMixins)(g,[o.default]),t.exports=g},439:function(t,e){var n,i;n=function(){var t,e,n,i;Object.keys||(Object.keys=(t=Object.prototype.hasOwnProperty,e=!{toString:null}.propertyIsEnumerable("toString"),i=(n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length,function(r){if("object"!=typeof r&&"function"!=typeof r||null===r)throw new TypeError("Object.keys called on non-object");var s=[];for(var o in r)t.call(r,o)&&s.push(o);if(e)for(var a=0;a>>0;if(0===n)return-1;var i=0;if(arguments.length>1&&((i=Number(arguments[1]))!=i?i=0:0!==i&&i!==1/0&&i!==-1/0&&(i=(i>0||-1)*Math.floor(Math.abs(i)))),i>=n)return-1;for(var r=i>=0?i:Math.max(n-Math.abs(i),0);r0&&(e+=c.suffices["*"]&&n||",",c.suffices["*"]&&l&&(e+=c.name+"=")),e+=a?encodeURIComponent(h[p]).replace(/!/g,"%21"):o(h[p])}else if("object"==typeof h){l&&!c.suffices["*"]&&(e+=c.name+"=");var f=!0;for(var g in h)f||(e+=c.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=c.suffices["*"]?"=":",",e+=a?encodeURIComponent(h[g]).replace(/!/g,"%21"):o(h[g])}else l&&(e+=c.name,u&&""===h||(e+="=")),null!=c.truncate&&(h=h.substring(0,c.truncate)),e+=a?encodeURIComponent(h).replace(/!/g,"%21"):o(h)}return e};return b.varNames=c,{prefix:i,substitution:b}}function l(t){if(!(this instanceof l))return new l(t);for(var e=t.split("{"),n=[e.shift()],i=[],r=[],s=[];e.length>0;){var o=e.shift(),u=o.split("}")[0],c=o.substring(u.length+1),h=a(u);r.push(h.substitution),i.push(h.prefix),n.push(c),s=s.concat(h.substitution.varNames)}this.fill=function(t){for(var e=n[0],i=0;i0&&"/"===e.charAt(t.length-1)||"#"===n.charAt(0)||"?"===n.charAt(0))return!0}return!1}(e,t.id)&&void 0===this.schemas[t.id]&&(this.schemas[t.id]=t),t)if("enum"!==i)if("object"==typeof t[i])this.searchSchemas(t[i],e);else if("$ref"===i){var r=g(t[i]);r&&void 0===this.schemas[r]&&void 0===this.missingMap[r]&&(this.missingMap[r]=r)}},u.prototype.addSchema=function(t,e){if("string"!=typeof t||void 0===e){if("object"!=typeof t||"string"!=typeof t.id)return;t=(e=t).id}t===g(t)+"#"&&(t=g(t)),this.schemas[t]=e,delete this.missingMap[t],m(e,t),this.searchSchemas(e,t)},u.prototype.getSchemaMap=function(){var t={};for(var e in this.schemas)t[e]=this.schemas[e];return t},u.prototype.getSchemaUris=function(t){var e=[];for(var n in this.schemas)t&&!t.test(n)||e.push(n);return e},u.prototype.getMissingUris=function(t){var e=[];for(var n in this.missingMap)t&&!t.test(n)||e.push(n);return e},u.prototype.dropSchemas=function(){this.schemas={},this.reset()},u.prototype.reset=function(){this.missing=[],this.missingMap={},this.errors=[]},u.prototype.validateAll=function(t,e,n,i,r){var s;if(!(e=this.resolveRefs(e)))return null;if(e instanceof x)return this.errors.push(e),e;var o,a=this.errors.length,l=null,u=null;if(this.checkRecursive&&t&&"object"==typeof t){if(s=!this.scanned.length,t[this.validatedSchemasKey]){var c=t[this.validatedSchemasKey].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(t[this.validationErrorsKey][c]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var h=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][h]),null}if(this.scanned.push(t),Object.isFrozen(t))-1===o&&(o=this.scannedFrozen.length,this.scannedFrozen.push(t),this.scannedFrozenSchemas.push([])),l=this.scannedFrozenSchemas[o].length,this.scannedFrozenSchemas[o][l]=e,this.scannedFrozenValidationErrors[o][l]=[];else{if(!t[this.validatedSchemasKey])try{Object.defineProperty(t,this.validatedSchemasKey,{value:[],configurable:!0}),Object.defineProperty(t,this.validationErrorsKey,{value:[],configurable:!0})}catch(e){t[this.validatedSchemasKey]=[],t[this.validationErrorsKey]=[]}u=t[this.validatedSchemasKey].length,t[this.validatedSchemasKey][u]=e,t[this.validationErrorsKey][u]=[]}}var d=this.errors.length,p=this.validateBasic(t,e,r)||this.validateNumeric(t,e,r)||this.validateString(t,e,r)||this.validateArray(t,e,r)||this.validateObject(t,e,r)||this.validateCombinations(t,e,r)||this.validateHypermedia(t,e,r)||this.validateFormat(t,e,r)||this.validateDefinedKeywords(t,e,r)||null;if(s){for(;this.scanned.length;)delete this.scanned.pop()[this.validatedSchemasKey];this.scannedFrozen=[],this.scannedFrozenSchemas=[]}if(p||d!==this.errors.length)for(;n&&n.length||i&&i.length;){var f=n&&n.length?""+n.pop():null,g=i&&i.length?""+i.pop():null;p&&(p=p.prefixWith(f,g)),this.prefixErrors(d,f,g)}return null!==l?this.scannedFrozenValidationErrors[o][l]=this.errors.slice(a):null!==u&&(t[this.validationErrorsKey][u]=this.errors.slice(a)),this.handleError(p)},u.prototype.validateFormat=function(t,e){if("string"!=typeof e.format||!this.formatValidators[e.format])return null;var n=this.formatValidators[e.format].call(null,t,e);return"string"==typeof n||"number"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n},"","/format",null,t,e):n&&"object"==typeof n?this.createError(_.FORMAT_CUSTOM,{message:n.message||"?"},n.dataPath||"",n.schemaPath||"/format",null,t,e):null},u.prototype.validateDefinedKeywords=function(t,e,n){for(var i in this.definedKeywords)if(void 0!==e[i])for(var r=this.definedKeywords[i],s=0;s=h&&ie.maximum)return this.createError(_.NUMBER_MAXIMUM,{value:t,maximum:e.maximum},"","/maximum",null,t,e);if(e.exclusiveMaximum&&t===e.maximum)return this.createError(_.NUMBER_MAXIMUM_EXCLUSIVE,{value:t,maximum:e.maximum},"","/exclusiveMaximum",null,t,e)}return null},u.prototype.validateNaN=function(t,e){return"number"!=typeof t?null:!0===isNaN(t)||t===1/0||t===-1/0?this.createError(_.NUMBER_NOT_A_NUMBER,{value:t},"","/type",null,t,e):null},u.prototype.validateString=function(t,e,n){return this.validateStringLength(t,e,n)||this.validateStringPattern(t,e,n)||null},u.prototype.validateStringLength=function(t,e){return"string"!=typeof t?null:void 0!==e.minLength&&t.lengthe.maxLength?this.createError(_.STRING_LENGTH_LONG,{length:t.length,maximum:e.maxLength},"","/maxLength",null,t,e):null},u.prototype.validateStringPattern=function(t,e){if("string"!=typeof t||"string"!=typeof e.pattern&&!(e.pattern instanceof RegExp))return null;var n;if(e.pattern instanceof RegExp)n=e.pattern;else{var i,r="",s=e.pattern.match(/^\/(.+)\/([img]*)$/);s?(i=s[1],r=s[2]):i=e.pattern,n=new RegExp(i,r)}return n.test(t)?null:this.createError(_.STRING_PATTERN,{pattern:e.pattern},"","/pattern",null,t,e)},u.prototype.validateArray=function(t,e,n){return Array.isArray(t)&&(this.validateArrayLength(t,e,n)||this.validateArrayUniqueItems(t,e,n)||this.validateArrayItems(t,e,n))||null},u.prototype.validateArrayLength=function(t,e){var n;return void 0!==e.minItems&&t.lengthe.maxItems&&(n=this.createError(_.ARRAY_LENGTH_LONG,{length:t.length,maximum:e.maxItems},"","/maxItems",null,t,e),this.handleError(n))?n:null},u.prototype.validateArrayUniqueItems=function(t,e){if(e.uniqueItems)for(var n=0;ne.maxProperties&&(n=this.createError(_.OBJECT_PROPERTIES_MAXIMUM,{propertyCount:i.length,maximum:e.maxProperties},"","/maxProperties",null,t,e),this.handleError(n))?n:null},u.prototype.validateObjectRequiredProperties=function(t,e){if(void 0!==e.required)for(var n=0;n 10000");if(void 0!==_[t])throw new Error("Error already defined: "+t+" as "+_[t]);if(void 0!==v[e])throw new Error("Error code already used: "+v[e]+" as "+e);for(var i in _[t]=e,v[e]=t,w[t]=w[e]=n,S){var r=S[i];r[t]&&(r[e]=r[e]||r[t])}},reset:function(){i.reset(),this.error=null,this.missing=[],this.valid=!0},missing:[],error:null,valid:!0,normSchema:m,resolveUrl:f,getDocumentUri:g,errorCodes:_};return r.language("en"),r}();return E.addLanguage("en-gb",w),E.tv4=E,E},void 0===(i=n.apply(e,[]))||(t.exports=i)},199:function(t,e,n){var i;"function"!=typeof fetch&&"function"!=typeof XMLHttpRequest&&(XMLHttpRequest=n(317)),function(){var n={"http://webfist.org/spec/rel":"webfist","http://webfinger.net/rel/avatar":"avatar",remotestorage:"remotestorage","http://tools.ietf.org/id/draft-dejong-remotestorage":"remotestorage",remoteStorage:"remotestorage","http://www.packetizer.com/rel/share":"share","http://webfinger.net/rel/profile-page":"profile",me:"profile",vcard:"vcard",blog:"blog","http://packetizer.com/rel/blog":"blog","http://schemas.google.com/g/2010#updates-from":"updates","https://camlistore.org/rel/server":"camilstore"},r={avatar:[],remotestorage:[],blog:[],vcard:[],updates:[],share:[],profile:[],webfist:[],camlistore:[]},s=["webfinger","host-meta","host-meta.json"];function o(t){return t.toString=function(){return this.message},t}function a(t){"object"!=typeof t&&(t={}),this.config={tls_only:void 0===t.tls_only||t.tls_only,webfist_fallback:void 0!==t.webfist_fallback&&t.webfist_fallback,uri_fallback:void 0!==t.uri_fallback&&t.uri_fallback,request_timeout:void 0!==t.request_timeout?t.request_timeout:1e4}}a.prototype.__fetchJRD=function(t,e,n){if("function"==typeof fetch)return this.__fetchJRD_fetch(t,e,n);if("function"==typeof XMLHttpRequest)return this.__fetchJRD_XHR(t,e,n);throw new Error("add a polyfill for fetch or XMLHttpRequest")},a.prototype.__fetchJRD_fetch=function(t,e,n){var i,r=this;"function"==typeof AbortController&&(i=new AbortController);var s=fetch(t,{headers:{Accept:"application/jrd+json, application/json"},signal:i?i.signal:void 0}).then(function(e){if(e.ok)return e.text();throw 404===e.status?o({message:"resource not found",url:t,status:e.status}):o({message:"error during request",url:t,status:e.status})},function(e){throw o({message:"error during request",url:t,status:void 0,err:e})}).then(function(e){if(r.__isValidJSON(e))return e;throw o({message:"invalid json",url:t,status:void 0})}),a=new Promise(function(e,n){setTimeout(function(){n(o({message:"request timed out",url:t,status:void 0})),i&&i.abort()},r.config.request_timeout)});Promise.race([s,a]).then(function(t){n(t)}).catch(function(t){e(t)})},a.prototype.__fetchJRD_XHR=function(t,e,n){var i=this,r=!1,s=new XMLHttpRequest;function a(){if(!r)return r=!0,200===s.status?i.__isValidJSON(s.responseText)?n(s.responseText):e(o({message:"invalid json",url:t,status:s.status})):404===s.status?e(o({message:"resource not found",url:t,status:s.status})):s.status>=301&&s.status<=302?function(t){return"string"==typeof t&&"https"===t.split("://")[0]}(s.getResponseHeader("Location"))?l():e(o({message:"no redirect URL found",url:t,status:s.status})):e(o({message:"error during request",url:t,status:s.status}))}function l(){s.onreadystatechange=function(){4===s.readyState&&a()},s.onload=function(){a()},s.ontimeout=function(){return e(o({message:"request timed out",url:t,status:s.status}))},s.open("GET",t,!0),s.timeout=i.config.request_timeout,s.setRequestHeader("Accept","application/jrd+json, application/json"),s.send()}return l()},a.prototype.__isValidJSON=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},a.prototype.__isLocalhost=function(t){return/^localhost(\.localdomain)?(\:[0-9]+)?$/.test(t)},a.prototype.__processJRD=function(t,e,i,s){var a=JSON.parse(e);if("object"!=typeof a||"object"!=typeof a.links)return void 0!==a.error?i(o({message:a.error,request:t})):i(o({message:"unknown response from server",request:t}));var l=a.links;Array.isArray(l)||(l=[]);var u={object:a,json:e,idx:{}};u.idx.properties={name:void 0},u.idx.links=JSON.parse(JSON.stringify(r)),l.map(function(t){if(n.hasOwnProperty(t.rel)&&u.idx.links[n[t.rel]]){var e={};Object.keys(t).map(function(n){e[n]=t[n]}),u.idx.links[n[t.rel]].push(e)}});var c=JSON.parse(e).properties;for(var h in c)c.hasOwnProperty(h)&&"http://packetizer.com/ns/name"===h&&(u.idx.properties.name=c[h]);return s(u)},a.prototype.lookup=function(t,e){if("string"!=typeof t)throw new Error("first parameter must be a user address");if("function"!=typeof e)throw new Error("second parameter must be a callback");var n=this,i="";i=t.indexOf("://")>-1?t.replace(/ /g,"").split("/")[2]:t.replace(/ /g,"").split("@")[1];var r=0,o="https";function a(){var e="";return t.split("://")[1]||(e="acct:"),o+"://"+i+"/.well-known/"+s[r]+"?resource="+e+t}function l(t){if(n.config.uri_fallback&&"webfist.org"!==i&&r!==s.length-1)return r+=1,u();if(!n.config.tls_only&&"https"===o)return r=0,o="http",u();if(!n.config.webfist_fallback||"webfist.org"===i)return e(t);r=0,o="http",i="webfist.org";var l=a();n.__fetchJRD(l,e,function(t){n.__processJRD(l,t,e,function(t){"object"==typeof t.idx.links.webfist&&"string"==typeof t.idx.links.webfist[0].href&&n.__fetchJRD(t.idx.links.webfist[0].href,e,function(t){n.__processJRD(l,t,e,function(){return e(null,e)})})})})}function u(){var t=a();n.__fetchJRD(t,l,function(i){n.__processJRD(t,i,e,function(t){e(null,t)})})}return n.__isLocalhost(i)&&(o="http"),setTimeout(u,0)},a.prototype.lookupLink=function(t,e,n){if(!r.hasOwnProperty(e))return n("unsupported rel "+e);this.lookup(t,function(t,i){var r=i.idx.links[e];return t?n(t):0===r.length?n('no links found with rel="'+e+'"'):n(null,r[0])})},void 0===(i=function(){return a}.apply(e,[]))||(t.exports=i)}()},317:function(t){t.exports=XMLHttpRequest}},e={};function n(i){var r=e[i];if(void 0!==r)return r.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,n),s.exports}return n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n(423).default}()),Ww.exports); -/*! For license information please see remotestorage.js.LICENSE.txt */const Kw=$w(Hw),Xw="0123456789bcdefghjkmnpqrstuvwxyz";class Yw{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=Yw.encode(t,e,n),r=Yw.decode(i);if(r.lat==t&&r.lon==e)return i}n=12}if(t=Number(t),e=Number(e),n=Number(n),isNaN(t)||isNaN(e)||isNaN(n))throw new Error("Invalid geohash");let i=0,r=0,s=!0,o="",a=-90,l=90,u=-180,c=180;for(;o.length=t?(i=2*i+1,u=t):(i*=2,c=t)}else{const e=(a+l)/2;t>=e?(i=2*i+1,a=e):(i*=2,l=e)}s=!s,5==++r&&(o+=Xw.charAt(i),r=0,i=0)}return o}static decode(t){const e=Yw.bounds(t),n=e.sw.lat,i=e.sw.lon,r=e.ne.lat,s=e.ne.lon;let o=(n+r)/2,a=(i+s)/2;return o=o.toFixed(Math.floor(2-Math.log(r-n)/Math.LN10)),a=a.toFixed(Math.floor(2-Math.log(s-i)/Math.LN10)),{lat:Number(o),lon:Number(a)}}static bounds(t){if(0==t.length)throw new Error("Invalid geohash");t=t.toLowerCase();let e=!0,n=-90,i=90,r=-180,s=180;for(let o=0;o=0;t--){const o=l>>t&1;if(e){const t=(r+s)/2;1==o?r=t:s=t}else{const t=(n+i)/2;1==o?n=t:i=t}e=!e}}return{sw:{lat:n,lon:r},ne:{lat:i,lon:s}}}static adjacent(t,e){if(t=t.toLowerCase(),e=e.toLowerCase(),0==t.length)throw new Error("Invalid geohash");if(-1=="nsew".indexOf(e))throw new Error("Invalid direction");const n=t.slice(-1);let i=t.slice(0,-1);const r=t.length%2;return-1!={n:["prxz","bcfguvyz"],s:["028b","0145hjnp"],e:["bcfguvyz","prxz"],w:["0145hjnp","028b"]}[e][r].indexOf(n)&&""!=i&&(i=Yw.adjacent(i,e)),i+Xw.charAt({n:["p0r21436x8zb9dcf5h7kjnmqesgutwvy","bc01fg45238967deuvhjyznpkmstqrwx"],s:["14365h7k9dcfesgujnmqp0r2twvyx8zb","238967debc01fg45kmstqrwxuvhjyznp"],e:["bc01fg45238967deuvhjyznpkmstqrwx","p0r21436x8zb9dcf5h7kjnmqesgutwvy"],w:["238967debc01fg45kmstqrwxuvhjyznp","14365h7k9dcfesgujnmqp0r2twvyx8zb"]}[e][r].indexOf(n))}static neighbours(t){return{n:Yw.adjacent(t,"n"),ne:Yw.adjacent(Yw.adjacent(t,"n"),"e"),e:Yw.adjacent(t,"e"),se:Yw.adjacent(Yw.adjacent(t,"s"),"e"),s:Yw.adjacent(t,"s"),sw:Yw.adjacent(Yw.adjacent(t,"s"),"w"),w:Yw.adjacent(t,"w"),nw:Yw.adjacent(Yw.adjacent(t,"n"),"w")}}}const Zw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Jw=0xffffffffffff;var Qw;!function(t){t.Base32IncorrectEncoding="B32_ENC_INVALID",t.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",t.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",t.EncodeTimeNegative="ENC_TIME_NEG",t.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",t.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",t.PRNGDetectFailure="PRNG_DETECT",t.ULIDInvalid="ULID_INVALID",t.Unexpected="UNEXPECTED",t.UUIDInvalid="UUID_INVALID"}(Qw||(Qw={}));class tx extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function ex(t){const e=Math.floor(32*t())%32;return Zw.charAt(e)}const nx={name:"places",builder:function(t){function e(t,e){return`${t.substring(0,5)}/${e}`}return t.declareType("place",{type:"object",properties:{id:{type:"string",required:!0},title:{type:"string",required:!0},lat:{type:"number",required:!0},lon:{type:"number",required:!0},geohash:{type:"string",required:!0},zoom:{type:"number"},url:{type:"string"},osmId:{type:"string"},description:{type:"string"},tags:{type:"array",items:{type:"string"},default:[]},createdAt:{type:"string",format:"date-time",required:!0},updatedAt:{type:"string",format:"date-time"}},required:["id","title","lat","lon","geohash","createdAt"]}),{exports:{store:async function(n){const i=function(t){const e=(new Date).toISOString(),n=t.id||function(){const t=function(){const t="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:null,e=t&&(t.crypto||t.msCrypto)||null;if("function"==typeof e?.getRandomValues)return()=>{const t=new Uint8Array(1);return e.getRandomValues(t),t[0]/256};if("function"==typeof e?.randomBytes)return()=>e.randomBytes(1).readUInt8()/256;throw new tx(Qw.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Jw)throw new tx(Qw.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Jw}: ${t}`);if(t<0)throw new tx(Qw.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new tx(Qw.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Zw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=ex(e)+n;return n}(16,t)}(),i="number"==typeof t.lat?t.lat:0,r="number"==typeof t.lon?t.lon:0,s=t.title||"Untitled Place",o=t.geohash||Yw.encode(i,r,10),a={...t,id:n,lat:i,lon:r,geohash:o,title:s,createdAt:t.createdAt||e,updatedAt:t.id?e:void 0};return Object.keys(a).forEach(t=>{void 0===a[t]&&delete a[t]}),a}(n),r=e(i.geohash,i.id);return await t.storeObject("place",r,i),i},remove:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to remove a place");const r=e(i,n);return t.remove(r)},get:async function(n,i){if(!n||!i)throw new Error("Both id and geohash are required to get a place");const r=e(i,n);return t.getObject(r)},listByPrefix:async function(e){const n=`${e}/`;return t.getAll(n)},listAll:async function(){const e=await t.getAll(""),n=[];if(!e)return[];const i=Object.keys(e).map(async t=>{if(t.endsWith("/")){const e=t.slice(0,-1),i=await this.listByPrefix(e);i&&Object.values(i).forEach(t=>{t&&"object"==typeof t&&n.push(t)})}});return await Promise.all(i),n}}}}};var ix;ix||(ix=1,self,(()=>{var t={d:(e,n)=>{for(var i in n)t.o(n,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};t.d({},{default:()=>n});var e=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.rs=e,this.leaveOpen=!!n.leaveOpen&&n.leaveOpen,this.autoCloseAfter=n.autoCloseAfter?n.autoCloseAfter:1500,this.skipInitial=!!n.skipInitial&&n.skipInitial,this.logging=!!n.logging&&n.logging,this.parentContainerEl=null,n.hasOwnProperty("modalBackdrop")){if("boolean"!=typeof n.modalBackdrop&&"onlySmallScreens"!==n.modalBackdrop)throw'options.modalBackdrop has to be true/false or "onlySmallScreens"';this.modalBackdrop=n.modalBackdrop}else this.modalBackdrop="onlySmallScreens";this.active=!1,this.online=!1,this.closed=!1,this.lastSynced=null,this.lastSyncedUpdateLoop=null}var e,n;return e=t,n=[{key:"log",value:function(){if(this.logging){for(var t,e=arguments.length,n=new Array(e),i=0;i

Connect your storage

To sync data with your account
';var e=document.createElement("style");return e.innerHTML='#remotestorage-widget {\n z-index: 21000000;\n}\n\n.rs-widget {\n box-sizing: border-box;\n overflow: hidden;\n max-width: 350px;\n padding: 10px;\n margin: 10px;\n border-radius: 3px;\n background-color: #fff;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n font-family: arial, sans-serif;\n font-size: 16px;\n color: #333;\n will-change: max-height, height, width, opacity, max-width, background, box-shadow;\n transition-property: width, height, opacity, max-width, max-height, background, box-shadow;\n transition-duration: 300ms;\n}\n\n.rs-widget * {\n box-sizing: border-box;\n}\n\n.rs-widget .rs-hidden {\n display: none;\n}\n\n.rs-box {\n overflow: hidden;\n will-change: height;\n transition-property: height, width, max-height;\n transition-duration: 300ms;\n transition-timing-function: ease-in;\n opacity: 0;\n max-height: 0px;\n}\n\n.rs-box.rs-selected:not([aria-hidden=true]) {\n opacity: 1;\n max-height: 420px;\n}\n\n/* Main logo */\n.rs-main-logo {\n float: left;\n height: 36px;\n width: 36px;\n margin-top: 1px;\n margin-right: 0.625em;\n transition: margin-left 300ms ease-out, transform 300ms ease-out;\n cursor: pointer;\n}\n.rs-widget .rs-backend-remotestorage svg#rs-main-logo-remotestorage {\n display: block;\n}\n.rs-widget[class*="rs-backend-"]:not(.rs-backend-remotestorage) svg#rs-main-logo-remotestorage {\n display: none;\n}\n.rs-widget.rs-backend-dropbox svg#rs-main-logo-dropbox {\n display: block;\n}\n.rs-widget:not(.rs-backend-dropbox) svg#rs-main-logo-dropbox {\n display: none;\n}\n.rs-widget.rs-backend-googledrive svg#rs-main-logo-googledrive {\n display: block;\n}\n.rs-widget:not(.rs-backend-googledrive) svg#rs-main-logo-googledrive {\n display: none;\n}\n\npolygon.rs-logo-shape {\n fill: #FF4B03;\n}\n\npolygon.rs-logo-shape,\n#rs-main-logo-dropbox path,\n#rs-main-logo-googledrive path {\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n.rs-offline polygon.rs-logo-shape,\n.rs-offline #rs-main-logo-dropbox path,\n.rs-offline #rs-main-logo-googledrive path {\n fill: #888;\n transition-property: fill;\n transition-duration: 0.5s;\n}\n\n/* Hide everything except logo when connected and clicked outside of box */\n.rs-closed {\n max-width: 56px;\n background-color: transparent;\n box-shadow: none;\n opacity: 0.5;\n\n transition: max-height 100ms ease-out 0ms, max-width 300ms ease-out 300ms, background 300ms ease-in 200ms, opacity 300ms ease 200ms;\n}\n\n.rs-closed:hover {\n cursor: pointer;\n opacity: 1;\n}\n\n.rs-box-initial {\n transition-duration: 0ms;\n}\n\n.rs-box-initial:hover {\n cursor: pointer;\n}\n\n.rs-widget a {\n color: #0093cc;\n}\n\n/* HEADLINE */\n.rs-small-headline {\n font-size: 1em;\n font-weight: bold;\n margin: 0;\n margin-bottom: 2px;\n height: 1.2em;\n word-break: break-all;\n overflow: hidden;\n line-height: 1em;\n}\n\n.rs-sub-headline {\n word-break: break-all;\n overflow: hidden;\n color: #666;\n font-size: 0.92em;\n height: 1.2em;\n}\n.rs-big-headline {\n font-size: 1.625em;\n font-weight: normal;\n text-align: center;\n margin-top: 20px;\n margin-bottom: 20px;\n}\n\n/* BUTTONS */\n.rs-button {\n font: inherit;\n color: inherit;\n background-color: transparent;\n border: 1px solid #dcdcdc;\n border-radius: 3px;\n cursor: pointer;\n}\n.rs-button-small {\n padding: 0.6em 0.7em;\n margin-left: 0.2em;\n transition: border-color 300ms ease-out;\n}\n.rs-button-small svg {\n vertical-align: top;\n}\n.rs-button-wrap {\n margin-top: 10px;\n}\n\n.rs-button-wrap img,\n.rs-button-wrap svg {\n float: left;\n margin-right: 0.6em;\n width: 40px;\n height: 40px;\n}\n\n.rs-button-big {\n padding: 15px 10px;\n margin-bottom: 10px;\n display: block;\n width: 100%;\n text-align: left;\n transition: box-shadow 200ms;\n}\n.rs-button-big > div {\n font-size: 1.125em;\n padding: 10px 0;\n}\n.rs-button-big:hover {\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:active {\n background-color: #eee;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n.rs-button-big:last-child {\n margin-bottom: 0;\n}\n\n.rs-content {\n padding: 0 10px 10px 10px;\n}\n\n\n.rs-state-choose .rs-main-logo,\n.rs-state-sign-in .rs-main-logo {\n margin-left: 45%;\n float: none;\n}\n\n.rs-sign-in-form input[type=text] {\n padding: 15px 10px;\n display: block;\n width: 100%;\n font: inherit;\n height: 52px;\n border: 1px solid #aaa;\n border-radius: 0;\n box-shadow: none;\n}\n.rs-sign-in-form button.rs-connect {\n padding: 15px 10px;\n margin-top: 20px;\n margin-bottom: 15px;\n display: block;\n width: 100%;\n border: none;\n border-radius: 3px;\n background-color: #3fb34f;\n font: inherit;\n color: #fff;\n transition: box-shadow 200ms, background-color 200ms;\n}\n\n.rs-sign-in-form button.rs-connect:hover {\n cursor: pointer;\n background-color: #4BCB5D;\n box-shadow: 0 1px 2px 0 rgba(0,0,0,0.1), 0 3px 8px 0 rgba(0,0,0,0.2);\n}\n\n.rs-sign-in-form button.rs-connect:active {\n background-color: #3fb34f;\n}\n\n.rs-sign-in-form button.rs-connect:disabled,\n.rs-sign-in-form button.rs-connect:disabled:hover {\n background-color: #aaa;\n}\n\n.rs-sign-in-form button.rs-connecting svg {\n height: 1em;\n width: auto;\n vertical-align: middle;\n margin-left: 0.5em;\n animation: rs-spin 1s linear infinite;\n}\n\n.rs-sign-in-error.rs-hidden,\n.rs-box-error.rs-hidden {\n height: 0;\n}\n\n.rs-sign-in-error.rs-visible,\n.rs-box-error.rs-visible {\n height: auto;\n border-radius: 3px;\n padding: 0.5em 0.5em;\n margin-top: 0.5em;\n text-align: center;\n background-color: rgba(255,0,0,0.1);\n color: darkred;\n}\n\n.rs-box-error {\n display: flex;\n flex-direction: row;\n}\n\n.rs-box-error .rs-error-message {\n flex: auto;\n}\n\n /*Choose provider box */\n.rs-box-choose {\n text-align: center;\n overflow: hidden;\n}\n\n.rs-box-choose p {\n margin-top: 0;\n margin-bottom: 20px;\n line-height: 1.4em;\n}\n\n/*Connected box */\n.rs-box-connected {\n display: flex;\n flex-direction: row;\n height: 40px;\n transition: height 0s;\n}\n.rs-connected-text {\n flex: auto;\n min-width: 0;\n}\n.rs-box-connected .rs-user {\n font-weight: bold;\n text-overflow: ellipsis;\n overflow: hidden;\n word-break: keep-all;\n}\n.rs-connected-buttons, .rs-error-buttons {\n flex: none;\n}\n.rs-disconnect:hover {\n border-color: #FF2D2D;\n}\n.rs-disconnect:hover .rs-icon{\n fill: #FF2D2D;\n}\n.rs-sync:hover {\n border-color: #FFBB0C;\n}\n.rs-sync:hover .rs-icon {\n fill: #FFBB0C;\n}\n.rs-sync.rs-rotate {\n border-color: #FFBB0C;\n}\n.rs-sync.rs-rotate .rs-icon {\n fill: #FFBB0C;\n animation: rs-spin 1s linear infinite;\n}\n\n/* Floating widget styles (top right corner) */\n.rs-floating {\n position: fixed;\n top: 0;\n right: 0;\n}\n\n@keyframes rs-spin {\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n/* Small/mobile screens */\n@media screen and (max-width: 420px) {\n .rs-widget {\n font-size: 100%;\n transition: all 300ms ease-out;\n max-width: 400px;\n }\n .rs-floating {\n position: relative;\n top: auto;\n right: auto\n }\n .rs-closed {\n max-width: 56px;\n }\n .rs-state-choose,\n .rs-state-sign-in {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n max-width: 100%;\n }\n}\n\n/* remove dotted outline border on Firefox */\n.rs-widget a:focus,\n.rs-widget a:active,\n.rs-widget button:focus,\n.rs-widget input:focus {\n outline:none;\n}\n.rs-widget button::-moz-focus-inner,\n.rs-widget input[type="button"]::-moz-focus-inner {\n border:0;\n}\n\n/* prevent rounded buttons on mobile Safari */\n.rs-widget button,\n.rs-widget input[type="button"] {\n -webkit-appearance: none;\n}\n\n.remotestorage-widget-modal-backdrop {\n display: none;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: rgba(0, 0, 0, 0.5);\n opacity: 0;\n transition: opacity 0.3s linear;\n}\n\n.remotestorage-widget-modal-backdrop.visible {\n opacity: 1;\n transition: opacity 0.3s linear;\n}\n',t.appendChild(e),t}},{key:"setModalClass",value:function(){if(this.modalBackdrop){if("onlySmallScreens"===this.modalBackdrop&&!this.isSmallScreen())return;this.rsWidget.classList.add("rs-modal")}}},{key:"setupElements",value:function(){if(!this.parentContainerEl)throw new Error("Parent container element not found");this.rsWidget=this.parentContainerEl.querySelector(".rs-widget"),this.rsBackdrop=this.parentContainerEl.querySelector(".remotestorage-widget-modal-backdrop"),this.rsInitial=this.parentContainerEl.querySelector(".rs-box-initial"),this.rsChoose=this.parentContainerEl.querySelector(".rs-box-choose"),this.rsConnected=this.parentContainerEl.querySelector(".rs-box-connected"),this.rsSignIn=this.parentContainerEl.querySelector(".rs-box-sign-in"),this.rsConnectedLabel=this.parentContainerEl.querySelector(".rs-box-connected .rs-sub-headline"),this.rsChooseRemoteStorageButton=this.parentContainerEl.querySelector("button.rs-choose-rs"),this.rsChooseDropboxButton=this.parentContainerEl.querySelector("button.rs-choose-dropbox"),this.rsChooseGoogleDriveButton=this.parentContainerEl.querySelector("button.rs-choose-googledrive"),this.rsErrorBox=this.parentContainerEl.querySelector(".rs-box-error .rs-error-message"),this.rs.apiKeys.hasOwnProperty("googledrive")||this.rsChooseGoogleDriveButton.parentNode.removeChild(this.rsChooseGoogleDriveButton),this.rs.apiKeys.hasOwnProperty("dropbox")||this.rsChooseDropboxButton.parentNode.removeChild(this.rsChooseDropboxButton),this.rsSignInForm=this.parentContainerEl.querySelector(".rs-sign-in-form"),this.rsAddressInput=this.rsSignInForm.querySelector("input[name=rs-user-address]"),this.rsConnectButton=this.parentContainerEl.querySelector(".rs-connect"),this.rsDisconnectButton=this.parentContainerEl.querySelector(".rs-disconnect"),this.rsSyncButton=this.parentContainerEl.querySelector(".rs-sync"),this.rsLogo=this.parentContainerEl.querySelector(".rs-widget-icon"),this.rsErrorReconnectLink=this.parentContainerEl.querySelector(".rs-box-error a.rs-reconnect"),this.rsErrorDisconnectButton=this.parentContainerEl.querySelector(".rs-box-error button.rs-disconnect"),this.rsConnectedUser=this.parentContainerEl.querySelector(".rs-connected-text h1.rs-user")}},{key:"setupHandlers",value:function(){var t=this;this.rs.on("connected",function(){return t.eventHandler("connected")}),this.rs.on("ready",function(){return t.eventHandler("ready")}),this.rs.on("disconnected",function(){return t.eventHandler("disconnected")}),this.rs.on("network-online",function(){return t.eventHandler("network-online")}),this.rs.on("network-offline",function(){return t.eventHandler("network-offline")}),this.rs.on("error",function(e){return t.eventHandler("error",e)}),this.setEventListeners(),this.setClickHandlers()}},{key:"attach",value:function(t){var e=this.createHtmlTemplate(t);if(this.parentContainerEl,t instanceof HTMLElement)this.parentContainerEl=t;else if("string"==typeof t){if(this.parentContainerEl=document.getElementById(t),!this.parentContainerEl)throw new Error('Failed to find target DOM element with id="'+t+'"')}else{if(t)throw new Error("Unknown element type. Expected instance of HTMLElement or type of string.");this.parentContainerEl=document.body}this.parentContainerEl.appendChild(e),this.setupElements(),this.setupHandlers(),this.setInitialState(),this.setModalClass()}},{key:"setEventListeners",value:function(){var t=this;this.rsSignInForm.addEventListener("submit",function(e){e.preventDefault();var n=t.parentContainerEl.querySelector("input[name=rs-user-address]").value;t.disableConnectButton(),t.rs.connect(n)})}},{key:"showChooseOrSignIn",value:function(){this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.style.display="block",this.rsBackdrop.classList.add("visible")),this.rs.apiKeys&&Object.keys(this.rs.apiKeys).length>0?this.setState("choose"):this.setState("sign-in")}},{key:"setClickHandlers",value:function(){var t=this;this.rsInitial.addEventListener("click",function(){return t.showChooseOrSignIn()}),this.rsChooseRemoteStorageButton.addEventListener("click",function(){t.setState("sign-in"),t.rsAddressInput.focus()}),this.rsChooseDropboxButton.addEventListener("click",function(){return t.rs.dropbox.connect()}),this.rsChooseGoogleDriveButton.addEventListener("click",function(){return t.rs.googledrive.connect()}),this.rsDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rsErrorReconnectLink.addEventListener("click",function(){return t.rs.reconnect()}),this.rsErrorDisconnectButton.addEventListener("click",function(){return t.rs.disconnect()}),this.rs.hasFeature("Sync")&&this.rsSyncButton.addEventListener("click",function(){t.rsSyncButton.classList.contains("rs-rotate")?(t.rs.stopSync(),t.rsSyncButton.classList.remove("rs-rotate")):(t.rsConnectedLabel.textContent="Synchronizing",t.rs.startSync(),t.rsSyncButton.classList.add("rs-rotate"))}),document.addEventListener("click",function(){return t.close()}),this.rsWidget.addEventListener("click",function(t){return t.stopPropagation()}),this.rsLogo.addEventListener("click",function(){return t.toggle()})}},{key:"toggle",value:function(){this.closed?this.open():"initial"===this.state?this.showChooseOrSignIn():this.close()}},{key:"open",value:function(){this.closed=!1,this.rsWidget.classList.remove("rs-closed"),this.shouldCloseWhenSyncDone=!1;var t=this.parentContainerEl.querySelector(".rs-box.rs-selected");t&&t.setAttribute("aria-hidden","false")}},{key:"close",value:function(){var t=this;if("error"!==this.state){if(!this.leaveOpen&&this.active){this.closed=!0,this.rsWidget.classList.add("rs-closed");var e=this.parentContainerEl.querySelector(".rs-box.rs-selected");e&&e.setAttribute("aria-hidden","true")}else this.active?this.setState("connected"):this.setInitialState();this.rsWidget.classList.contains("rs-modal")&&(this.rsBackdrop.classList.remove("visible"),setTimeout(function(){t.rsBackdrop.style.display="none"},300))}}},{key:"disableConnectButton",value:function(){this.rsConnectButton.disabled=!0,this.rsConnectButton.classList.add("rs-connecting"),this.rsConnectButton.innerHTML="Connecting ".concat('\n \n \n \n \n \n \n\n')}},{key:"enableConnectButton",value:function(){this.rsConnectButton.disabled=!1,this.rsConnectButton.textContent="Connect",this.rsConnectButton.classList.remove("rs-connecting")}},{key:"setOffline",value:function(){this.online&&(this.rsWidget.classList.add("rs-offline"),this.rsConnectedLabel.textContent="Offline",this.online=!1)}},{key:"setOnline",value:function(){this.online||(this.rsWidget.classList.remove("rs-offline"),this.active&&(this.rsConnectedLabel.textContent="Connected")),this.online=!0}},{key:"setBackendClass",value:function(t){this.rsWidget.classList.remove("rs-backend-remotestorage"),this.rsWidget.classList.remove("rs-backend-dropbox"),this.rsWidget.classList.remove("rs-backend-googledrive"),t&&this.rsWidget.classList.add("rs-backend-".concat(t))}},{key:"showErrorBox",value:function(t){this.rsErrorBox.innerHTML=t,this.setState("error")}},{key:"hideErrorBox",value:function(){this.rsErrorBox.innerHTML="",this.close()}},{key:"handleSyncStarted",value:function(){var t=this;this.syncInProgress=!0,this.rsSyncButton.classList.add("rs-rotate"),setTimeout(function(){t.syncInProgress&&(t.rsConnectedLabel.textContent="Synchronizing")},1e3)}},{key:"handleDiscoveryError",value:function(t){var e=this.parentContainerEl.querySelector(".rs-sign-in-error");e.innerHTML=t.message,e.classList.remove("rs-hidden"),e.classList.add("rs-visible"),this.enableConnectButton()}},{key:"handleSyncError",value:function(){this.setOffline()}},{key:"handleUnauthorized",value:function(t){t.code&&"access_denied"===t.code?this.rs.disconnect():(this.open(),this.showErrorBox(t.message+" "),this.rsErrorBox.appendChild(this.rsErrorReconnectLink),this.rsErrorReconnectLink.classList.remove("rs-hidden"))}},{key:"updateLastSyncedStatus",value:function(){var t=new Date;this.online?(this.lastSynced=t,this.rsConnectedLabel.textContent="Synced"):this.rsWidget.classList.contains("rs-state-unauthorized")||(this.rsConnectedLabel.textContent="Offline")}},{key:"isSmallScreen",value:function(){return window.innerWidth<421}}],n&&function(t,e){for(var n=0;n{this.loadAllPlaces()}),this.rs.scope("/places/").on("change",()=>{this.loadAllPlaces()})}get places(){return this.rs.places}notifyChange(){this.version++,this.loadAllPlaces()}async loadAllPlaces(){try{const t=await this.rs.places.listAll();t&&Array.isArray(t)?this.savedPlaces=t:this.savedPlaces=[],console.log("Loaded saved places:",this.savedPlaces.length)}catch(t){console.error("Failed to load places:",t)}}findPlaceById(t){let e=this.savedPlaces.find(e=>e.id===t);return e||(e=this.savedPlaces.find(e=>e.osmId===t),e)}}const ux=Object.freeze(Object.defineProperty({__proto__:null,default:lx},Symbol.toStringTag,{value:"Module"}));function cx(t,e,n,i){const r=t*Math.PI/180,s=n*Math.PI/180,o=(n-t)*Math.PI/180,a=(i-e)*Math.PI/180,l=Math.sin(o/2)*Math.sin(o/2)+Math.cos(r)*Math.cos(s)*Math.sin(a/2)*Math.sin(a/2);return 2*Math.atan2(Math.sqrt(l),Math.sqrt(1-l))*6371e3}const hx=Object.freeze(Object.defineProperty({__proto__:null,getDistance:cx},Symbol.toStringTag,{value:"Module"}));function dx(t,e,n){return(e="symbol"==typeof(i=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(e))?i:String(i))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t;var i}function px(t,e,n,i){n&&Object.defineProperty(t,e,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(i):void 0})}function fx(t,e,n,i){var r={};return Object.keys(i).forEach(function(t){r[t]=i[t]}),r.enumerable=!!r.enumerable,r.configurable=!!r.configurable,("value"in r||r.initializer)&&(r.writable=!0),void 0===(r=n.slice().reverse().reduce(function(n,i){return i(t,e,n)||n},r)).initializer&&(Object.defineProperty(t,e,r),r=null),r}var gx,mx,yx,_x,vx;const bx="undefined"!=typeof FastBoot,wx="routeDidChange",xx=["separator","prepend","replace"];let Sx=(gx=hf("router"),mx=hf("-document"),yx=class extends df{constructor(t){if(super(t),px(this,"router",_x,this),px(this,"document",vx,this),dx(this,"tokens",[]),dx(this,"_defaultConfig",{separator:" | ",prepend:!0,replace:null}),dx(this,"scheduleTitleUpdate",()=>{sa("afterRender",this,this._updateTitle)}),this._validateExistingTitleElement(),function(t){return"resolveRegistration"in t}(t)){const n=t.resolveRegistration("config:environment");"object"==typeof(e=n)&&null!==e&&"pageTitle"in e&&xx.forEach(t=>{if(!function(t){if(null==t)return!0;if(!ls(t)&&"number"==typeof t.size)return!t.size;if("object"==typeof t){let e=us(t,"size");if("number"==typeof e)return!e;let n=us(t,"length");if("number"==typeof n)return!n}return"number"==typeof t.length&&"function"!=typeof t&&!t.length}(n.pageTitle[t])){const e=n.pageTitle[t];this._defaultConfig[t]=e}})}var e;this.router.on(wx,this.scheduleTitleUpdate)}applyTokenDefaults(t){const e=this._defaultConfig.separator,n=this._defaultConfig.prepend,i=this._defaultConfig.replace;t.previous??=null,t.next??=null,null==t.separator&&(t.separator=e),null==t.prepend&&null!=n&&(t.prepend=n),null==t.replace&&null!=i&&(t.replace=i)}inheritFromPrevious(t){const e=t.previous;e&&(null==t.separator&&(t.separator=e.separator),null==t.prepend&&(t.prepend=e.prepend))}push(t){const e=this._findTokenById(t.id);if(e){const n=this.tokens.indexOf(e),i=[...this.tokens],r=e.previous;return t.previous=r,t.next=e.next,this.inheritFromPrevious(t),this.applyTokenDefaults(t),i.splice(n,1,t),void(this.tokens=i)}const n=this.tokens.slice(-1)[0];n&&(t.previous=n??null,n.next=t,this.inheritFromPrevious(t)),this.applyTokenDefaults(t),this.tokens=[...this.tokens,t]}remove(t){const e=this._findTokenById(t);if(!e)return;const{next:n,previous:i}=e;n&&(n.previous=i),i&&(i.next=n),e.previous=e.next=null;const r=[...this.tokens];r.splice(r.indexOf(e),1),this.tokens=r}get visibleTokens(){const t=this.tokens;let e=t?t.length:0;const n=[];for(;e--;){const i=t[e];if(i){if(i.replace){n.unshift(i);break}n.unshift(i)}}return n}get sortedTokens(){const t=this.visibleTokens;if(!t)return[];let e=!0,n=[];const i=[n],r=[];return t.forEach(t=>{t.front?r.unshift(t):t.prepend?(e&&(e=!1,n=[],i.push(n)),n.unshift(t)):(e||(e=!0,n=[],i.push(n)),n.push(t))}),r.concat(i.reduce((t,e)=>t.concat(e),[]))}toString(){const t=this.sortedTokens,e=[];for(let n=0,i=t.length;ne.id===t)}updateFastbootTitle(t){if(!bx)return;const e=this.document.head,n=e.childNodes;for(let s=0;snew Ox(t),Ax);const Fx=Object.freeze(Object.defineProperty({__proto__:null,default:Ax},Symbol.toStringTag,{value:"Module"}));var Lx,zx,Dx;let Nx=(Lx=hf("page-title"),Dx=fx((zx=class extends Yv{constructor(t){super(t),px(this,"tokens",Dx,this),dx(this,"tokenId",U(this)),this.tokens.push({id:this.tokenId})}compute(t,e){const n={...e,id:this.tokenId,title:t.join("")};return this.tokens.push(n),this.tokens.scheduleTitleUpdate(),""}willDestroy(){super.willDestroy(),this.tokens.remove(this.tokenId),this.tokens.scheduleTitleUpdate()}}).prototype,"tokens",[Lx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),zx);const jx=Ai;class Ux{capabilities=Ii();constructor(t){this.owner=t}createModifier(t,e){return{instance:new t(this.owner,e),element:null}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e);i.instance.modify(e,n.positional,n.named)}updateModifier(t,e){t.instance.modify(t.element,e.positional,e.named)}destroyModifier({instance:t}){At(t)}}jx(t=>new Ux(t),class{constructor(t,e){Rw(this,t)}modify(t,e,n){}});const Bx=new class{capabilities=Ii();createModifier(t){return{element:null,instance:t}}installModifier(t,e,n){const i=function(t,e){const n=t;return n.element=e,n}(t,e),{positional:r,named:s}=n,o=t.instance(e,r,s);"function"==typeof o&&(i.teardown=o)}updateModifier(t,e){"function"==typeof t.teardown&&t.teardown();const n=t.instance(t.element,e.positional,e.named);"function"==typeof n&&(t.teardown=n)}destroyModifier(t){"function"==typeof t.teardown&&t.teardown()}getDebugName(t){return t.instance.toString()}getDebugInstance(t){return t}};function qx(t){return t.toString=()=>t.name,jx(()=>Bx,t)}const Gx="add",$x="remove",Vx="propertychange",Wx="change",Hx="contextmenu",Kx="click",Xx="keydown",Yx="keypress",Zx="touchmove",Jx="wheel";class Qx{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}}function tS(t,e){return t>e?1:te?-1:0}function nS(t,e,n){if(t[0]<=e)return 0;const i=t.length;if(e<=t[i-1])return i-1;if("function"==typeof n){for(let r=1;r0?r-1:r}return i-1}if(n>0){for(let n=1;n0)}removeEventListener(t,e){if(!this.listeners_)return;const n=this.listeners_[t];if(!n)return;const i=n.indexOf(e);-1!==i&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=lS,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}function gS(t,e,n,i,r){if(r){const r=n;n=function(s){return t.removeEventListener(e,n),r.call(i??this,s)}}else i&&i!==t&&(n=n.bind(i));const s={target:t,type:e,listener:n};return t.addEventListener(e,n),s}function mS(t,e,n,i){return gS(t,e,n,i,!0)}function yS(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),hS(t))}class _S extends fS{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Wx)}getRevision(){return this.revision_}onInternal(t,e){if(Array.isArray(t)){const n=t.length,i=new Array(n);for(let r=0;r0;)this.pop()}extend(t){for(let e=0,n=t.length;ethis.getLength())throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e),this.array_.splice(t,0,e),this.updateLength_(),this.dispatchEvent(new CS(Gx,e,t))}pop(){return this.removeAt(this.getLength()-1)}push(t){const e=this.getLength();return this.insertAt(e,t),this.getLength()}remove(t){const e=this.array_;for(let n=0,i=e.length;n=this.getLength())return;const e=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new CS($x,e,t)),e}setAt(t,e){if(t>=this.getLength())return void this.insertAt(t,e);if(t<0)throw new Error("Index out of bounds: "+t);this.unique_&&this.assertUnique_(e,t);const n=this.array_[t];this.array_[t]=e,this.dispatchEvent(new CS($x,n,t)),this.dispatchEvent(new CS(Gx,e,t))}updateLength_(){this.set(ES,this.array_.length)}assertUnique_(t,e){const n=this.array_;for(let i=0,r=n.length;i{this.clickTimeoutId_=void 0;const e=new RS(PS.SINGLECLICK,this.map_,t);this.dispatchEvent(e)},250)}updateActivePointers_(t){const e=t,n=e.pointerId;if(e.type==PS.POINTERUP||e.type==PS.POINTERCANCEL){delete this.trackedTouches_[n];for(const t in this.trackedTouches_)if(this.trackedTouches_[t].target!==e.target){delete this.trackedTouches_[t];break}}else e.type!=PS.POINTERDOWN&&e.type!=PS.POINTERMOVE||(this.trackedTouches_[n]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);const e=new RS(PS.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(yS),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return 0===t.button}handlePointerDown_(t){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(t);const e=new RS(PS.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),0===this.dragListenerKeys_.length){const t=this.map_.getOwnerDocument();this.dragListenerKeys_.push(gS(t,PS.POINTERMOVE,this.handlePointerMove_,this),gS(t,PS.POINTERUP,this.handlePointerUp_,this),gS(this.element_,PS.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==t&&this.dragListenerKeys_.push(gS(this.element_.getRootNode(),PS.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;const e=new RS(PS.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;const e=!(!this.down_||!this.isMoving_(t));this.dispatchEvent(new RS(PS.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){const e=this.originalPointerMoveEvent_;e&&!e.defaultPrevented||"boolean"==typeof t.cancelable&&!0!==t.cancelable||t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(yS(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(Zx,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(yS(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(yS),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}}const US="postrender",BS="loadstart",qS="loadend",GS="layergroup",$S="size",VS="target",WS="view";function HS(t,e){if(!t)throw new Error(e)}const KS=1/0;class XS{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,hS(this.queuedElements_)}dequeue(){const t=this.elements_,e=this.priorities_,n=t[0];1==t.length?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(t){HS(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const e=this.priorityFunction_(t);return e!=KS&&(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(t){return 2*t+1}getRightChildIndex_(t){return 2*t+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return 0===this.elements_.length}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){const e=this.elements_,n=this.priorities_,i=e.length,r=e[t],s=n[t],o=t;for(;t>1;){const r=this.getLeftChildIndex_(t),s=this.getRightChildIndex_(t),o=st;){const t=this.getParentIndex_(e);if(!(i[t]>s))break;n[e]=n[t],i[e]=i[t],e=t}n[e]=r,i[e]=s}reprioritize(){const t=this.priorityFunction_,e=this.elements_,n=this.priorities_;let i=0;const r=e.length;let s,o,a;for(o=0;ot.apply(null,e),t=>t[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){const e=super.enqueue(t);return e&&t[0].addEventListener(Wx,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){const e=t.target,n=e.getState();if(2===n||3===n||4===n){3!==n&&e.removeEventListener(Wx,this.boundHandleTileChange_);const t=e.getKey();t in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[t],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let n=0;for(;this.tilesLoading_0;){const t=this.dequeue()[0],e=t.getKey();0!==t.getState()||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++n,t.load())}}}const ZS={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function JS(t,e,n){return Math.min(Math.max(t,e),n)}function QS(t,e,n,i,r,s){const o=r-n,a=s-i;if(0!==o||0!==a){const l=((t-n)*o+(e-i)*a)/(o*o+a*a);l>1?(n=r,i=s):l>0&&(n+=o*l,i+=a*l)}return tE(t,e,n,i)}function tE(t,e,n,i){const r=n-t,s=i-e;return r*r+s*s}function eE(t){return 180*t/Math.PI}function nE(t){return t*Math.PI/180}function iE(t,e){const n=t%e;return n*e<0?n+e:n}function rE(t,e,n){return t+n*(e-t)}function sE(t,e){const n=Math.pow(10,e);return Math.round(t*n)/n}function oE(t,e){return Math.floor(sE(t,e))}function aE(t,e){return Math.ceil(sE(t,e))}function lE(t,e,n){if(t>=e&&tp&&(d=(p+d)/2,p=d),f>g&&(f=(g+f)/2,g=f);let m=JS(i[0],d,p),y=JS(i[1],f,g);if(o&&n&&r){const t=30*r;m+=-t*Math.log(1+Math.max(0,d-i[0])/t)+t*Math.log(1+Math.max(0,i[0]-p)/t),y+=-t*Math.log(1+Math.max(0,f-i[1])/t)+t*Math.log(1+Math.max(0,i[1]-g)/t)}return[m,y]}}function cE(t){return t}function hE(t){const e=[1/0,1/0,-1/0,-1/0];for(let n=0,i=t.length;nr&&(l|=4),as&&(l|=2),0===l&&(l=1),l}function vE(t,e,n,i,r){return r?(r[0]=t,r[1]=e,r[2]=n,r[3]=i,r):[t,e,n,i]}function bE(t){return vE(1/0,1/0,-1/0,-1/0,t)}function wE(t,e){const n=t[0],i=t[1];return vE(n,i,n,i,e)}function xE(t,e,n,i,r){return kE(bE(r),t,e,n,i)}function SE(t,e){return t[0]==e[0]&&t[2]==e[2]&&t[1]==e[1]&&t[3]==e[3]}function EE(t,e){return e[0]t[2]&&(t[2]=e[2]),e[1]t[3]&&(t[3]=e[3]),t}function CE(t,e){e[0]t[2]&&(t[2]=e[0]),e[1]t[3]&&(t[3]=e[1])}function kE(t,e,n,i,r){for(;ne[0]?i[0]=t[0]:i[0]=e[0],t[1]>e[1]?i[1]=t[1]:i[1]=e[1],t[2]=e[0]&&t[1]<=e[3]&&t[3]>=e[1]}function qE(t){return t[2]1){const e=t[2]-t[0],n=t[3]-t[1];for(let s=0;s=n[2])){const e=UE(n),r=Math.floor((i[0]-n[0])/e)*e;t[0]-=r,t[2]-=r}return t}function VE(t,e,n){if(e.canWrapX()){const i=e.getExtent();if(!isFinite(t[0])||!isFinite(t[2]))return[[i[0],t[1],i[2],t[3]]];$E(t,e);const r=UE(i);if(UE(t)>r&&!n)return[[i[0],t[1],i[2],t[3]]];if(t[0]i[2])return[[t[0],t[1],i[2],t[3]],[i[0],t[1],t[2]-r,t[3]]]}return[t]}function WE(t,e){let n=!0;for(let i=t.length-1;i>=0;--i)if(t[i]!=e[i]){n=!1;break}return n}function HE(t,e){const n=Math.cos(e),i=Math.sin(e),r=t[0]*n-t[1]*i,s=t[1]*n+t[0]*i;return t[0]=r,t[1]=s,t}function KE(t,e){if(e.canWrapX()){const n=UE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||UE(i),r=Math.floor((t[0]-i[0])/n)),r}(t,e,n);i&&(t[0]-=i*n)}return t}function XE(t){return Math.pow(t,3)}function YE(t){return 1-XE(1-t)}function ZE(t){return 3*t*t-2*t*t*t}function JE(t){return t}function QE(t,e,n){n=n||6371008.8;const i=nE(t[1]),r=nE(e[1]),s=(r-i)/2,o=nE(e[0]-t[0])/2,a=Math.sin(s)*Math.sin(s)+Math.sin(o)*Math.sin(o)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}function tC(...t){console.warn(...t)}const eC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class nC{constructor(t){this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||eC[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(t){this.defaultTileGrid_=t}setExtent(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}setWorldExtent(t){this.worldExtent_=t}setGetPointResolution(t){this.getPointResolutionFunc_=t}getPointResolutionFunc(){return this.getPointResolutionFunc_}}const iC=6378137,rC=Math.PI*iC,sC=[-rC,-rC,rC,rC],oC=[-180,-85,180,85],aC=iC*Math.log(Math.tan(Math.PI/2));class lC extends nC{constructor(t){super({code:t,units:"m",extent:sC,global:!0,worldExtent:oC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/iC)}})}}const uC=[new lC("EPSG:3857"),new lC("EPSG:102100"),new lC("EPSG:102113"),new lC("EPSG:900913"),new lC("http://www.opengis.net/def/crs/EPSG/0/3857"),new lC("http://www.opengis.net/gml/srs/epsg.xml#3857")],cC=[-180,-90,180,90],hC=6378137*Math.PI/180;class dC extends nC{constructor(t,e){super({code:t,units:"degrees",extent:cC,axisOrientation:e,global:!0,metersPerUnit:hC,worldExtent:cC})}}const pC=[new dC("CRS:84"),new dC("EPSG:4326","neu"),new dC("urn:ogc:def:crs:OGC:1.3:CRS84"),new dC("urn:ogc:def:crs:OGC:2:84"),new dC("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new dC("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new dC("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let fC={},gC={};function mC(t,e,n){const i=t.getCode(),r=e.getCode();i in gC||(gC[i]={}),gC[i][r]=n}function yC(t,e){return t in gC&&e in gC[t]?gC[t][e]:null}const _C=.9996,vC=.00669438,bC=vC*vC,wC=bC*vC,xC=vC/(1-vC),SC=Math.sqrt(1-vC),EC=(1-SC)/(1+SC),CC=EC*EC,kC=CC*EC,TC=kC*EC,RC=TC*EC,PC=.9983242984503243,IC=15*bC/256+45*wC/1024,MC=35*wC/3072,OC=1.5*EC-27/32*kC+269/512*RC,AC=21/16*CC-55/32*TC,FC=151/96*kC-417/128*RC,LC=1097/512*TC,zC=6378137;function DC(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/_C/(zC*PC),s=r+OC*Math.sin(2*r)+AC*Math.sin(4*r)+FC*Math.sin(6*r)+LC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,c=u*u,h=c*c,d=1-vC*a,p=Math.sqrt(1-vC*a),f=xC*l**2,g=f*f,m=i/(zC/p*_C),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-vC)/d)*(y/2-v/24*(5+3*c+10*f-4*g-9*xC))+b*m/720*(61+90*c+298*f+45*h-252*xC-3*g);let x=(m-_/6*(1+2*c+f)+b/120*(5-2*f+28*c-3*g+8*xC+24*h))/l;return x=lE(x+nE(jC(n.number)),-Math.PI,Math.PI),[eE(x),eE(w)]}function NC(t,e,n){t=lE(t,-180,180),e<-80?e=-80:e>84&&(e=84);const i=nE(e),r=Math.sin(i),s=Math.cos(i),o=r/s,a=o*o,l=a*a,u=nE(t),c=nE(jC(n.number)),h=zC/Math.sqrt(1-vC*r**2),d=xC*s**2,p=s*lE(u-c,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=zC*(PC*i-.002514607064228144*Math.sin(2*i)+IC*Math.sin(4*i)-MC*Math.sin(6*i)),b=_C*h*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*xC))+5e5;let w=_C*(v+h*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*xC)));return n.north||(w+=1e7),[b,w]}function jC(t){return 6*(t-1)-180+3}const UC=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function BC(t){let e=0;for(const r of UC){const n=t.match(r);if(n){e=parseInt(n[1]);break}}if(!e)return null;let n=0,i=!1;return e>32700&&e<32761?n=e-32700:e>32600&&e<32661&&(i=!0,n=e-32600),n?{number:n,north:i}:null}function qC(t,e){return function(n,i,r,s){const o=n.length;r=r>1?r:2,s=s??r,i||(i=r>2?n.slice():new Array(o));for(let a=0;a=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(VC=!1,tC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function lk(t){return t}var uk,ck,hk;ZC(uC),ZC(pC),uk=uC,ck=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;saC?n=aC:n<-aC&&(n=-aC),e[s+1]=n}return e},hk=function(t,e,n,i){const r=t.length;n=n>1?n:2,i=i??n,void 0===e&&(e=n>2?t.slice():new Array(r));for(let s=0;s{if(!n)return this.getSimplifiedGeometry(e);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(e)})}simplifyTransformed(t,e){return this.simplifyTransformedInternal(this.getRevision(),t,e)}clone(){return vS()}closestPointXY(t,e,n,i){return vS()}containsXY(t,e){return 0===this.closestPointXY(t,e,Ck,Number.MIN_VALUE)}getClosestPoint(t,e){return e=e||[NaN,NaN],this.closestPointXY(t[0],t[1],e,1/0),e}intersectsCoordinate(t){return this.containsXY(t[0],t[1])}computeExtent(t){return vS()}getExtent(t){if(this.extentRevision_!=this.getRevision()){const t=this.computeExtent(this.extent_);(isNaN(t[0])||isNaN(t[1]))&&bE(t),this.extentRevision_=this.getRevision()}return function(t,e){return e?(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e):t}(this.extent_,t)}rotate(t,e){vS()}scale(t,e,n){vS()}simplify(t){return this.getSimplifiedGeometry(t*t)}getSimplifiedGeometry(t){return vS()}getType(){return vS()}applyTransform(t){vS()}intersectsExtent(t){return vS()}translate(t,e){vS()}transform(t,e){const n=XC(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=zE(o)/zE(s);_k(Ek,o[0],o[3],a,-a,0,0,0);const l=xk(t,0,t.length,r,Ek,i),u=ik(n,e);return u?u(l,l,r):l}:ik(n,e);return this.applyTransform(i),this}}class Tk extends kk{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(t){return xE(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t)}getCoordinates(){return vS()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const e=this.getSimplifiedGeometryInternal(t);return e.getFlatCoordinates().length1)h=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function Fk(t,e,n,i,r){for(let s=0,o=n.length;s0;){const n=u.pop(),s=u.pop();let o=0;const a=t[s],h=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(c=e,o=n)}o>r&&(l[(c-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=h):(s[o++]=a,s[o++]=l,u=a,c=l,a=n,l=h)}return s[o++]=a,s[o++]=l,o}function Hk(t,e,n,i,r,s,o,a){for(let l=0,u=n.length;ls&&(n-a)*(s-l)-(r-a)*(i-l)>0&&o++:i<=s&&(n-a)*(s-l)-(r-a)*(i-l)<0&&o--,a=n,l=i}return 0!==o}function Jk(t,e,n,i,r,s){if(0===n.length)return!1;if(!Zk(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(c+h)/2,Jk(t,e,n,i,u,f)&&(m=u,y=r)),c=h}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function tT(t,e,n,i,r){let s=[];for(let o=0,a=n.length;o=r[0]&&s[2]<=r[2]||s[1]>=r[1]&&s[3]<=r[3]||eT(t,e,n,i,function(t,e){return function(t,e,n){let i=!1;const r=_E(t,e),s=_E(t,n);if(1===r||1===s)i=!0;else{const o=t[0],a=t[1],l=t[2],u=t[3],c=e[0],h=e[1],d=n[0],p=n[1],f=(p-h)/(d-c);let g,m;2&s&&!(2&r)&&(g=d-(p-u)/f,i=g>=o&&g<=l),i||!(4&s)||4&r||(m=p-(d-l)*f,i=m>=a&&m<=u),i||!(8&s)||8&r||(g=d-(p-a)/f,i=g>=o&&g<=l),i||!(16&s)||16&r||(m=p-(d-o)*f,i=m>=a&&m<=u)}return i}(r,t,e)}))}function iT(t,e,n,i,r){return!!(nT(t,e,n,i,r)||Zk(t,e,n,i,r[0],r[1])||Zk(t,e,n,i,r[0],r[3])||Zk(t,e,n,i,r[2],r[1])||Zk(t,e,n,i,r[2],r[3]))}function rT(t,e,n,i,r){if(!iT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function aT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sc&&d1&&"function"==typeof arguments[n-1]&&(e=arguments[n-1],--n);let i=0;for(;i0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let t;this.setHint(0,-this.hints_[0]);for(let e=0,n=this.animations_.length;e=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,s=i.length;n0?o/s.duration:1;a>=1?(s.complete=!0,a=1):r=!1;const l=s.easing(a);if(s.sourceCenter){const t=s.sourceCenter[0],e=s.sourceCenter[1],n=s.targetCenter[0],i=s.targetCenter[1];this.nextCenter_=s.targetCenter;const r=t+l*(n-t),o=e+l*(i-e);this.targetCenter_=[r,o]}if(s.sourceResolution&&s.targetResolution){const t=1===l?s.targetResolution:s.sourceResolution+l*(s.targetResolution-s.sourceResolution);if(s.anchor){const e=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(t,0,e,!0);this.targetCenter_=this.calculateCenterZoom(n,s.anchor)}this.nextResolution_=s.targetResolution,this.targetResolution_=t,this.applyTargetState_(!0)}if(void 0!==s.sourceRotation&&void 0!==s.targetRotation){const t=1===l?iE(s.targetRotation+Math.PI,2*Math.PI)-Math.PI:s.sourceRotation+l*(s.targetRotation-s.sourceRotation);if(s.anchor){const e=this.constraints_.rotation(t,!0);this.targetCenter_=this.calculateCenterRotate(e,s.anchor)}this.nextRotation_=s.targetRotation,this.targetRotation_=t}if(this.applyTargetState_(!0),e=!0,!s.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const t=i[0].callback;t&&bT(t,!0)}}this.animations_=this.animations_.filter(Boolean),e&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(t,e){let n;const i=this.getCenterInternal();var r,s;return void 0!==i&&(n=[i[0]-e[0],i[1]-e[1]],HE(n,t-this.getRotation()),s=e,(r=n)[0]+=+s[0],r[1]+=+s[1]),n}calculateCenterZoom(t,e){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[e[0]-t*(e[0]-i[0])/r,e[1]-t*(e[1]-i[1])/r]),n}getViewportSize_(t){const e=this.viewportSize_;if(t){const n=e[0],i=e[1];return[Math.abs(n*Math.cos(t))+Math.abs(i*Math.sin(t)),Math.abs(n*Math.sin(t))+Math.abs(i*Math.cos(t))]}return e}setViewportSize(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const t=this.getCenterInternal();return t?ok(t,this.getProjection()):t}getCenterInternal(){return this.get(ZS.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}calculateExtent(t){return e=this.calculateExtentInternal(t),this.getProjection(),e;var e}calculateExtentInternal(t){t=t||this.getViewportSizeMinusPadding_();const e=this.getCenterInternal();HS(e,"The view center is not defined");const n=this.getResolution();HS(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return HS(void 0!==i,"The view rotation is not defined"),FE(e,n,i,t)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}setConstrainResolution(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}getProjection(){return this.projection_}getResolution(){return this.get(ZS.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(t,e){return this.getResolutionForExtentInternal(lk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=UE(t)/e[0],i=zE(t)/e[1];return Math.max(n,i)}getResolutionForValueFunction(t){t=t||2;const e=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(e/n)/Math.log(t);return function(n){return e/Math.pow(t,n*i)}}getRotation(){return this.get(ZS.ROTATION)}getValueForResolutionFunction(t){const e=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/e;return function(t){return Math.log(n/t)/e/r}}getViewportSizeMinusPadding_(t){let e=this.getViewportSize_(t);const n=this.padding_;return n&&(e=[e[0]-n[1]-n[3],e[1]-n[0]-n[2]]),e}getState(){const t=this.getProjection(),e=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const t=this.getViewportSizeMinusPadding_();i=xT(i,this.getViewportSize_(),[t[0]/2+r[3],t[1]/2+r[0]],e,n)}return{center:i.slice(0),projection:void 0!==t?t:null,resolution:e,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let t;const e=this.getResolution();return void 0!==e&&(t=this.getZoomForResolution(e)),t}getZoomForResolution(t){let e,n,i=this.minZoom_||0;if(this.resolutions_){const r=nS(this.resolutions_,t,1);i=r,e=this.resolutions_[r],n=r==this.resolutions_.length-1?2:e/this.resolutions_[r+1]}else e=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(e/t)/Math.log(n)}getResolutionForZoom(t){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const e=JS(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[e]/this.resolutions_[e+1];return this.resolutions_[e]/Math.pow(n,JS(t-e,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}fit(t,e){let n;if(HS(Array.isArray(t)||"function"==typeof t.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(t))HS(!qE(t),"Cannot fit empty extent provided as `geometry`"),n=pT(lk(t,this.getProjection()));else if("Circle"===t.getType()){const e=lk(t.getExtent(),this.getProjection());n=pT(e),n.rotate(this.getRotation(),OE(e))}else n=t;this.fitInternal(n,e)}rotatedExtentForGeometry(t){const e=this.getRotation(),n=Math.cos(e),i=Math.sin(-e),r=t.getFlatCoordinates(),s=t.getStride();let o=1/0,a=1/0,l=-1/0,u=-1/0;for(let c=0,h=r.length;ct.trim().replace(/^['"]|['"]$/g,"")),n};function MT(t,e,n,i){let r;return r=n&&n.length?n.shift():FS?new class extends OffscreenCanvas{style={}}(t??300,e??150):document.createElement("canvas"),t&&(r.width=t),e&&(r.height=e),r.getContext("2d",i)}let OT;function AT(){return OT||(OT=MT(1,1)),OT}function FT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function LT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function zT(){const t=new Proxy({childNodes:[],appendChild:function(t){return this.childNodes.push(t),t},remove:function(){},removeChild:function(t){const e=this.childNodes.indexOf(t);if(-1===e)throw new Error("Node to remove was not found");return this.childNodes.splice(e,1),t},insertBefore:function(t,e){const n=this.childNodes.indexOf(e);if(-1===n)throw new Error("Reference node not found");return this.childNodes.splice(n,0,t),t},style:{}},{get:(t,e,n)=>"firstElementChild"===e?t.childNodes.length>0?t.childNodes[0]:null:Reflect.get(t,e,n)});return t}function DT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class NT extends SS{constructor(t){super();const e=t.element;!e||t.target||e.style.pointerEvents||(e.style.pointerEvents="auto"),this.element=e||null,this.target_=null,this.map_=null,this.listenerKeys=[],t.render&&(this.render=t.render),t.target&&this.setTarget(t.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(t){this.map_&&this.element?.remove();for(let e=0,n=this.listenerKeys.length;ee.getAttributions(t)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(t=>n.add(t)):n.add(this.attributions_)),!this.overrideCollapsible_){const t=!e.some(t=>!1===t.getSource()?.getAttributionsCollapsible());this.setCollapsible(t)}return Array.from(n)}async updateElement_(t){if(!t)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const e=await Promise.all(this.collectSourceAttributions_(t).map(t=>cS(()=>t))),n=e.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!sS(e,this.renderedAttributions_)){!function(t){for(;t.lastChild;)t.lastChild.remove()}(this.ulElement_);for(let t=0,n=e.length;t0&&e%(2*Math.PI)!=0?t.animate({rotation:0,duration:this.duration_,easing:YE}):t.setRotation(0))}render(t){const e=t.frameState;if(!e)return;const n=e.viewState.rotation;if(n!=this.rotation_){const t="rotate("+n+"rad)";if(this.autoHide_){const t=this.element.classList.contains(ST);t||0!==n?t&&0!==n&&this.element.classList.remove(ST):this.element.classList.add(ST)}this.label_.style.transform=t}this.rotation_=n}}class BT extends NT{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});const e=void 0!==t.className?t.className:"ol-zoom",n=void 0!==t.delta?t.delta:1,i=void 0!==t.zoomInClassName?t.zoomInClassName:e+"-in",r=void 0!==t.zoomOutClassName?t.zoomOutClassName:e+"-out",s=void 0!==t.zoomInLabel?t.zoomInLabel:"+",o=void 0!==t.zoomOutLabel?t.zoomOutLabel:"–",a=void 0!==t.zoomInTipLabel?t.zoomInTipLabel:"Zoom in",l=void 0!==t.zoomOutTipLabel?t.zoomOutTipLabel:"Zoom out",u=document.createElement("button");u.className=i,u.setAttribute("type","button"),u.title=a,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Kx,this.handleClick_.bind(this,n),!1);const c=document.createElement("button");c.className=r,c.setAttribute("type","button"),c.title=l,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Kx,this.handleClick_.bind(this,-n),!1);const h=e+" "+ET+" "+CT,d=this.element;d.className=h,d.appendChild(u),d.appendChild(c),this.duration_=void 0!==t.duration?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){const e=this.getMap().getView();if(!e)return;const n=e.getZoom();if(void 0!==n){const i=e.getConstrainedZoom(n+t);this.duration_>0?(e.getAnimating()&&e.cancelAnimations(),e.animate({zoom:i,duration:this.duration_,easing:YE})):e.setZoom(i)}}}function qT(t){t=t||{};const e=new kS;return(void 0===t.zoom||t.zoom)&&e.push(new BT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new UT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new jT(t.attributionOptions)),e}class GT{constructor(t,e,n){this.decay_=t,this.minVelocity_=e,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;const t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]0&&this.points_[n+2]>t;)n-=3;const i=this.points_[e+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[e]-this.points_[n],s=this.points_[e+1]-this.points_[n+1];return this.angle_=Math.atan2(s,r),this.initialVelocity_=Math.sqrt(r*r+s*s)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}}const $T="active";class VT extends SS{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get($T)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set($T,t)}setMap(t){this.map_=t}}function WT(t,e,n,i){const r=t.getZoom();if(void 0===r)return;const s=t.getConstrainedZoom(r+e),o=t.getResolutionForZoom(s);t.getAnimating()&&t.cancelAnimations(),t.animate({resolution:o,anchor:n,duration:void 0!==i?i:250,easing:YE})}class HT extends VT{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:250}handleEvent(t){let e=!1;if(t.type==PS.DBLCLICK){const n=t.originalEvent,i=t.map,r=t.coordinate,s=n.shiftKey?-this.delta_:this.delta_;WT(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function KT(t){const e=arguments;return function(t){let n=!0;for(let i=0,r=e.length;i0}}else if(t.type==PS.POINTERDOWN){const n=this.handleDownEvent(t);this.handlingDownUpSequence=n,e=this.stopDown(n)}else t.type==PS.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}}function sR(t){const e=t.length;let n=0,i=0;for(let r=0;r0&&this.condition_(t)){const e=t.map.getView();return this.lastCentroid=null,e.getAnimating()&&e.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}}class aR extends rR{constructor(t){t=t||{},super({stopDown:aS}),this.condition_=t.condition?t.condition:XT,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!nR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===yT)return;const i=e.getSize(),r=t.pixel,s=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const t=s-this.lastAngle_;n.adjustRotationInternal(-t)}this.lastAngle_=s}handleUpEvent(t){return!nR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!nR(t)||!JT(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class lR extends Qx{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const t=this.startPixel_,e=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(t[0],e[0])+n,i.top=Math.min(t[1],e[1])+n,i.width=Math.abs(e[0]-t[0])+n,i.height=Math.abs(e[1]-t[1])+n}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const t=this.element_.style;t.left="inherit",t.top="inherit",t.width="inherit",t.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const t=this.startPixel_,e=this.endPixel_,n=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new dT([n])}getGeometry(){return this.geometry_}}const uR="boxcancel";class cR extends pS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class hR extends rR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new lR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??JT,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,n){const i=n[0]-e[0],r=n[1]-e[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new cR("boxdrag",t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;const e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new cR(e?"boxend":uR,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return!!this.condition_(t)&&(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new cR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new cR(uR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new cR(uR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class dR extends hR{constructor(t){super({condition:(t=t||{}).condition?t.condition:tR,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=void 0!==t.duration?t.duration:200,this.out_=void 0!==t.out&&t.out}onBoxEnd(t){const e=this.getMap().getView();let n=this.getGeometry();if(this.out_){const t=e.rotatedExtentForGeometry(n),i=e.getResolutionForExtentInternal(t),r=e.getResolution()/i;n=n.clone(),n.scale(r*r)}e.fitInternal(n,{duration:this.duration_,easing:YE})}}const pR="ArrowLeft",fR="ArrowRight",gR="ArrowDown";class mR extends VT{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return QT(t)&&eR(t)},this.condition_=void 0!==t.condition?t.condition:this.defaultCondition_,this.duration_=void 0!==t.duration?t.duration:100,this.pixelDelta_=void 0!==t.pixelDelta?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Xx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&(i==gR||i==pR||i==fR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==gR?a=-s:i==pR?o=-s:i==fR?o=s:a=s;const l=[o,a];HE(l,r.getRotation()),function(t,e,n){const i=t.getCenterInternal();if(i){const r=[i[0]+e[0],i[1]+e[1]];t.animateInternal({duration:void 0!==n?n:250,easing:JE,center:t.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),e=!0}}return!e}}class yR extends VT{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return OS?e.metaKey:e.ctrlKey}(t)&&eR(t)},this.delta_=t.delta?t.delta:1,this.duration_=void 0!==t.duration?t.duration:100}handleEvent(t){let e=!1;if(t.type==Xx||t.type==Yx){const n=t.originalEvent,i=n.key;if(this.condition_(t)&&("+"===i||"-"===i)){const r=t.map,s="+"===i?this.delta_:-this.delta_;WT(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class _R extends VT{constructor(t){super(t=t||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==t.maxDelta?t.maxDelta:1,this.duration_=void 0!==t.duration?t.duration:250,this.timeout_=void 0!==t.timeout?t.timeout:80,this.useAnchor_=void 0===t.useAnchor||t.useAnchor,this.constrainResolution_=void 0!==t.constrainResolution&&t.constrainResolution;const e=t.condition?t.condition:ZT;this.condition_=t.onFocusOnly?KT(YT,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const t=this.getMap();t&&t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t))return!0;if(t.type!==Jx)return!0;const e=t.map,n=t.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const s=e.getView();if("trackpad"===this.mode_&&!s.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(s.getAnimating()&&s.cancelAnimations(),s.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),s.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const o=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,e),o),!1}handleWheelZoom_(t){const e=t.getView();e.getAnimating()&&e.cancelAnimations();let n=-JS(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),WT(e,n,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}}class vR extends rR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=aS),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==t.threshold?t.threshold:.3,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){let e=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const t=r-this.lastAngle_;this.rotationDelta_+=t,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=t}this.lastAngle_=r;const s=t.map,o=s.getView();o.getConstraints().rotation!==yT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(sR(this.targetPointers))),this.rotating_&&(s.render(),o.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return!(this.targetPointers.length<2&&(t.map.getView().endInteraction(this.duration_),1))}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}class bR extends rR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=aS),super(e),this.anchor_=null,this.duration_=void 0!==t.duration?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,s=n.clientY-i.clientY,o=Math.sqrt(r*r+s*s);void 0!==this.lastDistance_&&(e=this.lastDistance_/o),this.lastDistance_=o;const a=t.map,l=a.getView();1!=e&&(this.lastScaleDelta_=e),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(sR(this.targetPointers))),a.render(),l.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){const e=t.map.getView(),n=this.lastScaleDelta_>1?1:-1;return e.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){const e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}}const wR="opacity",xR="visible",SR="extent",ER="zIndex",CR="maxResolution",kR="minResolution",TR="maxZoom",RR="minZoom",PR="source";class IR extends SS{constructor(t){super(),this.on,this.once,this.un,this.background_=t.background;const e=Object.assign({},t);"object"==typeof t.properties&&(delete e.properties,Object.assign(e,t.properties)),e[wR]=void 0!==t.opacity?t.opacity:1,HS("number"==typeof e[wR],"Layer opacity must be a number"),e[xR]=void 0===t.visible||t.visible,e[ER]=t.zIndex,e[CR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[kR]=void 0!==t.minResolution?t.minResolution:0,e[RR]=void 0!==t.minZoom?t.minZoom:-1/0,e[TR]=void 0!==t.maxZoom?t.maxZoom:1/0,this.className_=void 0!==e.className?e.className:"ol-layer",delete e.className,this.setProperties(e),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(t){const e=this.state_||{layer:this,managed:void 0===t||t},n=this.getZIndex();return e.opacity=JS(Math.round(100*this.getOpacity())/100,0,1),e.visible=this.getVisible(),e.extent=this.getExtent(),e.zIndex=void 0!==n||e.managed?n:1/0,e.maxResolution=this.getMaxResolution(),e.minResolution=Math.max(this.getMinResolution(),0),e.minZoom=this.getMinZoom(),e.maxZoom=this.getMaxZoom(),this.state_=e,e}getLayersArray(t){return vS()}getLayerStatesArray(t){return vS()}getExtent(){return this.get(SR)}getMaxResolution(){return this.get(CR)}getMinResolution(){return this.get(kR)}getMinZoom(){return this.get(RR)}getMaxZoom(){return this.get(TR)}getOpacity(){return this.get(wR)}getSourceState(){return vS()}getVisible(){return this.get(xR)}getZIndex(){return this.get(ER)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(SR,t)}setMaxResolution(t){this.set(CR,t)}setMinResolution(t){this.set(kR,t)}setMaxZoom(t){this.set(TR,t)}setMinZoom(t){this.set(RR,t)}setOpacity(t){HS("number"==typeof t,"Layer opacity must be a number"),this.set(wR,t)}setVisible(t){this.set(xR,t)}setZIndex(t){this.set(ER,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const MR="addlayer",OR="removelayer";class AR extends pS{constructor(t,e){super(t),this.layer=e}}const FR="layers";class LR extends IR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.layers;let n=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(FR,this.handleLayersChanged_),n?Array.isArray(n)?n=new kS(n.slice(),{unique:!0}):HS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new kS(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(yS),this.layersListenerKeys_.length=0;const t=this.getLayers();this.layersListenerKeys_.push(gS(t,Gx,this.handleLayersAdd_,this),gS(t,$x,this.handleLayersRemove_,this));for(const n in this.listenerKeys_)this.listenerKeys_[n].forEach(yS);hS(this.listenerKeys_);const e=t.getArray();for(let n=0,i=e.length;n{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(t){return this.renderer_?this.renderer_.getFeatures(t):Promise.resolve([])}getData(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}isVisible(t){let e;const n=this.getMapInternal();let i;if(!t&&n&&(t=n.getView()),e=t instanceof vT?{viewState:t.getState(),extent:t.calculateExtent()}:t,!e.layerStatesArray&&n&&(e.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),e.layerStatesArray){if(i=e.layerStatesArray.find(t=>t.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return BR(i,e.viewState)&&(!r||BE(r,e.extent))}getAttributions(t){if(!this.isVisible(t))return[];const e=this.getSource()?.getAttributions();if(!e)return[];let n=e(t instanceof vT?t.getViewStateAndExtent():t);return Array.isArray(n)||(n=[n]),n}render(t,e){const n=this.getRenderer();return n.prepareFrame(t)?(this.rendered=!0,n.renderFrame(t,e)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(t,e){}renderDeferred(t){const e=this.getRenderer();e&&e.renderDeferred(t)}setMapInternal(t){t||this.unrender(),this.set("map",t)}getMapInternal(){return this.get("map")}setMap(t){this.mapPrecomposeKey_&&(yS(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(yS(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=gS(t,NR,this.handlePrecompose_,this),this.mapRenderKey_=gS(this,Wx,t.render,t),this.changed())}handlePrecompose_(t){const e=t.frameState.layerStatesArray,n=this.getLayerState(!1);HS(!e.some(t=>t.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),e.push(n)}setSource(t){this.set(PR,t)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}}function BR(t,e){if(!t.visible)return!1;const n=e.resolution;if(n=t.maxResolution)return!1;const i=e.zoom;return i>t.minZoom&&i<=t.maxZoom}function qR(t,e,n=0,i=t.length-1,r=$R){for(;i>n;){if(i-n>600){const s=i-n+1,o=e-n+1,a=Math.log(s),l=.5*Math.exp(2*a/3),u=.5*Math.sqrt(a*l*(s-l)/s)*(o-s/2<0?-1:1);qR(t,e,Math.max(n,Math.floor(e-o*l/s+u)),Math.min(i,Math.floor(e+(s-o)*l/s+u)),r)}const s=t[e];let o=n,a=i;for(GR(t,n,e),r(t[i],s)>0&&GR(t,n,i);o0;)a--}0===r(t[n],s)?GR(t,n,a):(a++,GR(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function GR(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function $R(t,e){return te?1:0}let VR=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data;const n=[];if(!iP(t,e))return n;const i=this.toBBox,r=[];for(;e;){for(let s=0;s=0&&r[e].children.length>this._maxEntries;)this._split(r,e),e--;this._adjustParentBBoxes(i,r,e)}_split(t,e){const n=t[e],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i),o=rP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,HR(n,this.toBBox),HR(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=rP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,HR(this.data,this.toBBox)}_chooseSplitIndex(t,e,n){let i,r=1/0,s=1/0;for(let o=e;o<=n-e;o++){const e=KR(t,0,o,this.toBBox),a=KR(t,o,n,this.toBBox),l=eP(e,a),u=JR(e)+JR(a);l=e;l--){const e=t.children[l];XR(o,t.leaf?r(e):e),a+=QR(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)XR(e[i],t)}_condense(t){for(let e,n=t.length-1;n>=0;n--)0===t[n].children.length?n>0?(e=t[n-1].children,e.splice(e.indexOf(t[n]),1)):this.clear():HR(t[n],this.toBBox)}};function WR(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function rP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function sP(t,e,n,i,r){const s=[e,n];for(;s.length;){if((n=s.pop())-(e=s.pop())<=i)continue;const o=e+Math.ceil((n-e)/i/2)*i;qR(t,o,e,n,r),s.push(e,o,o,n)}}const oP=[NaN,NaN,NaN,0];let aP;const lP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,uP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,cP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,hP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function dP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function pP(t){throw new Error('failed to parse "'+t+'" as color')}function fP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(uP)||t.match(lP)||t.match(cP);if(e){const t=e[4],n=100/255;return[JS(dP(e[1],n)+.5|0,0,255),JS(dP(e[2],n)+.5|0,0,255),JS(dP(e[3],n)+.5|0,0,255),void 0!==t?JS(dP(t,100),0,1):1]}pP(t)}if(t.startsWith("#")){if(hP.test(t)){const e=t.substring(1),n=e.length<=4?1:2,i=[0,0,0,255];for(let t=0,r=e.length;t.0031308?269.025*Math.pow(t,1/2.4)-14.025:3294.6*t}function vP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function bP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function wP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function xP(t){const e=bP(t[0]),n=bP(t[1]),i=bP(t[2]),r=wP(.222488403*e+.716873169*n+.06060791*i),s=500*(wP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-wP(.016863605*e+.117638439*n+.865350722*i)),a=Math.atan2(o,s)*(180/Math.PI);return[116*r-16,Math.sqrt(s*s+o*o),a<0?a+360:a,t[3]]}function SP(t){if("none"===t)return oP;if(gP.hasOwnProperty(t))return gP[t];if(mP>=1024){let t=0;for(const e in gP)3&t++||(delete gP[e],--mP)}const e=fP(t);4!==e.length&&pP(t);for(const n of e)isNaN(n)&&pP(t);return gP[t]=e,++mP,e}function EP(t){return Array.isArray(t)?t:SP(t)}function CP(t){let e=t[0];e!=(0|e)&&(e=e+.5|0);let n=t[1];n!=(0|n)&&(n=n+.5|0);let i=t[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+e+","+n+","+i+","+(void 0===t[3]?1:Math.round(1e3*t[3])/1e3)+")"}function kP(t){return t[0]>0&&t[1]>0}function TP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let RP=0;const PP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function GI(t,e,n){const i=t.length-1,r=new Array(i);for(let s=0;s{for(let e=0;e{for(let r=0;r{const i=t.args;let r=n.properties[e];for(let t=1,e=i.length;tt.variables[e];case DI:return n=>{const i=t.args;if(!(e in n.properties))return!1;let r=n.properties[e];for(let t=1,e=i.length;tt.featureId;case KP:return t=>t.geometryType;case HP:{const e=t.args.map(t=>XI(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case QP:return t=>t.resolution;case YP:case ZP:case EI:case RI:case"!":return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{for(let e=0;e{for(let e=0;e{const e=i[0](t),n=i[1](t),r=i[2](t);return e>=n&&e<=r};case RI:return t=>{const e=i[0](t);for(let r=1;r!i[0](t);default:throw new Error(`Unsupported logical operator ${e}`)}}(t);case nI:case iI:case"<":case aI:case">":case sI:return function(t){const e=t.operator,n=XI(t.args[0]),i=XI(t.args[1]);switch(e){case nI:return t=>n(t)===i(t);case iI:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case sI:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case dI:case"%":case"^":case gI:case mI:case yI:case _I:case vI:case bI:case wI:case xI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{let e=1;for(let r=0;ri[0](t)/i[1](t);case"+":return t=>{let e=0;for(let r=0;ri[0](t)-i[1](t);case dI:return t=>{const e=i[0](t),n=i[1](t);if(er?r:e};case"%":return t=>i[0](t)%i[1](t);case"^":return t=>Math.pow(i[0](t),i[1](t));case gI:return t=>Math.abs(i[0](t));case mI:return t=>Math.floor(i[0](t));case yI:return t=>Math.ceil(i[0](t));case _I:return t=>Math.round(i[0](t));case vI:return t=>Math.sin(i[0](t));case bI:return t=>Math.cos(i[0](t));case wI:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case xI:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case TI:return function(t){const e=t.args.length,n=new Array(e);for(let i=0;i{for(let i=0;i{const i=n[0](t);for(let r=1;r{const i=n[0](t),r=n[1](t);let s,o;for(let a=2;a=r)return 2===a?l:u?ZI(i,r,s,o,e,l):YI(i,r,s,o,e,l);s=e,o=l}return o}}(t);case zI:return function(t){const e=t.operator,n=t.args.length,i=new Array(n);for(let r=0;r{const n=i[0](e);return t.args[0].type===OP?CP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function YI(t,e,n,i,r,s){const o=r-n;if(0===o)return i;const a=e-n;return i+(1===t?a/o:(Math.pow(t,a)-1)/(Math.pow(t,o)-1))*(s-i)}function ZI(t,e,n,i,r,s){if(0===r-n)return i;const o=xP(i),a=xP(s);let l=a[2]-o[2];return l>180?l-=360:l<-180&&(l+=360),function(t){const e=(t[0]+16)/116,n=t[1],i=t[2]*Math.PI/180,r=vP(e),s=vP(e+n/500*Math.cos(i)),o=vP(e-n/200*Math.sin(i)),a=_P(3.021973625*s-1.617392459*r-.404875592*o),l=_P(-.943766287*s+1.916279586*r+.027607165*o),u=_P(.069407491*s-.22898585*r+1.159737864*o);return[JS(a+.5|0,0,255),JS(l+.5|0,0,255),JS(u+.5|0,0,255),t[3]]}([YI(t,e,n,o[0],r,a[0]),YI(t,e,n,o[1],r,a[1]),o[2]+YI(t,e,n,0,r,l),YI(t,e,n,i[3],r,s[3])])}class JI extends fS{constructor(t,e,n,i){super(),this.extent=t,this.pixelRatio_=n,this.resolution=e,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Wx)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const t=this.getResolution(),e=Array.isArray(t)?t[0]:t;cS(()=>this.loader(this.getExtent(),e,this.getPixelRatio())).then(t=>{"image"in t&&(this.image_=t.image),"extent"in t&&(this.extent=t.extent),"resolution"in t&&(this.resolution=t.resolution),"pixelRatio"in t&&(this.pixelRatio_=t.pixelRatio),(t instanceof HTMLImageElement||zS&&t instanceof ImageBitmap||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement)&&(this.image_=t),this.state=2}).catch(t=>{this.state=3,console.error(t)}).finally(()=>this.changed())}}setImage(t){this.image_=t}setResolution(t){this.resolution=t}}function QI(t,e,n){return e+":"+t+":"+(n?EP(n):"null")}const tM=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let t=0;for(const e in this.cache_){const n=this.cache_[e];3&t++||n.hasListener()||(delete this.cache_[e],delete this.patternCache_[e],--this.cacheSize_)}}}get(t,e,n){const i=QI(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=QI(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=QI(t,e,n),o=s in this.cache_;this.cache_[s]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[s]=AT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=AT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let eM=null;class nM extends fS{constructor(t,e,n,i,r){super(),this.hitDetectionImage_=null,this.image_=t,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=t&&t.width&&t.height?[t.width,t.height]:null,this.src_=e,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){eM||(eM=MT(1,1,void 0,{willReadFrequently:!0})),eM.drawImage(this.image_,0,0);try{eM.getImageData(0,0,1,1),this.tainted_=!1}catch{eM=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Wx)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(t){return this.image_||this.initializeImage_(),this.replaceColor_(t),this.canvas_[t]?this.canvas_[t]:this.image_}getPixelRatio(t){return this.replaceColor_(t),this.canvas_[t]?t:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const t=this.size_[0],e=this.size_[1],n=MT(t,e);n.fillRect(0,0,t,e),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(t=this.image_,e=this.src_,e&&(t.src=e),t.src&&LS?new Promise((e,n)=>t.decode().then(()=>e(t)).catch(i=>t.complete&&t.width?e(t):n(i))):function(t){return new Promise((e,n)=>{function i(){s(),e(t)}function r(){s(),n(new Error("Image load error"))}function s(){t.removeEventListener("load",i),t.removeEventListener("error",r)}t.addEventListener("load",i),t.addEventListener("error",r)})}(t)).then(t=>{this.image_=t,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var t,e}replaceColor_(t){if(!this.color_||this.canvas_[t]||2!==this.imageState_)return;const e=this.image_,n=MT(Math.ceil(e.width*t),Math.ceil(e.height*t)),i=n.canvas;var r;n.scale(t,t),n.drawImage(e,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:CP(r),n.fillRect(0,0,i.width/t,i.height/t),n.globalCompositeOperation="destination-in",n.drawImage(e,0,0),this.canvas_[t]=i}ready(){return this.ready_||(this.ready_=new Promise(t=>{if(2===this.imageState_||3===this.imageState_)t();else{const e=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Wx,e),t())};this.addEventListener(Wx,e)}})),this.ready_}}function iM(t,e,n,i,r,s){let o=void 0===e?void 0:tM.get(e,n,r);return o||(o=new nM(t,t&&"src"in t?t.src||void 0:e,n,i,r),tM.set(e,n,r,o,s)),s&&o&&!tM.getPattern(e,n,r)&&tM.set(e,n,r,o,s),o}function rM(t){return t?Array.isArray(t)?CP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return tM.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=tM.getPattern(e,void 0,t.color);if(n)return n;const i=tM.get(t.src,"anonymous",null);if(2!==i.getImageState())return null;const r=MT(t.size[0],t.size[1]);return r.drawImage(i.getImage(1),t.offset[0],t.offset[1],t.size[0],t.size[1],0,0,t.size[0],t.size[1]),iM(r.canvas,e,void 0,2,t.color,!0),tM.getPattern(e,void 0,t.color)}(t):t:null}const sM="10px sans-serif",oM="#000",aM="round",lM=[],uM="round",cM="#000",hM="center",dM="middle",pM=[0,0,0,0],fM=new SS;let gM,mM=null;const yM={},_M=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function vM(t,e,n){return`${t} ${e} 16px "${n}"`}const bM=function(){const t=100;let e,n;async function i(t){await n.ready;const e=await n.load(t);if(0===e.length)return!1;const i=IT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=PT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=fM.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,SM(t,n)),0);return n[e]=i,i}class CM{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=TP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new CM({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return vS()}getImage(t){return vS()}getHitDetectionImage(){return vS()}getPixelRatio(t){return 1}getImageState(){return vS()}getImageSize(){return vS()}getOrigin(){return vS()}getSize(){return vS()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=TP(t)}listenImageChange(t){vS()}load(){vS()}unlistenImageChange(t){vS()}ready(){return Promise.resolve()}}class kM extends CM{constructor(t){super({opacity:1,rotateWithView:void 0!==t.rotateWithView&&t.rotateWithView,rotation:void 0!==t.rotation?t.rotation:0,scale:void 0!==t.scale?t.scale:1,displacement:void 0!==t.displacement?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==t.fill?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=void 0!==t.angle?t.angle:0,this.stroke_=void 0!==t.stroke?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const t=this.getScale(),e=new kM({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){const t=this.size_,e=this.getDisplacement(),n=this.getScaleArray();return[t[0]/2-e[0]/n[0],t[1]/2+e[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){const e=this.fill_?.getKey(),n=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(",");let i=tM.get(n,null,null)?.getImage(1);if(!i){const e=this.renderOptions_,r=Math.ceil(e.size*t),s=MT(r,r);this.draw_(e,s,t),i=s.canvas,tM.set(n,null,null,new nM(i,void 0,null,2,null))}return i}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,n){if(0===e||this.points_===1/0||"bevel"!==t&&"miter"!==t)return e;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i{this.patternImage_=null}),0===e.getImageState()&&e.load(),1===e.getImageState()&&(this.patternImage_=e)}this.color_=t}getKey(){const t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?wS(t):"object"==typeof t&&"src"in t?t.src+":"+t.offset:EP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function PM(t,e,n,i){return void 0!==n&&void 0!==i?[n/t,i/e]:void 0!==n?n/t:void 0!==i?i/e:1}class IM extends CM{constructor(t){const e=void 0!==(t=t||{}).opacity?t.opacity:1,n=void 0!==t.rotation?t.rotation:0,i=void 0!==t.scale?t.scale:1,r=void 0!==t.rotateWithView&&t.rotateWithView;super({opacity:e,rotation:n,scale:i,displacement:void 0!==t.displacement?t.displacement:[0,0],rotateWithView:r,declutterMode:t.declutterMode}),this.anchor_=void 0!==t.anchor?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==t.anchorOrigin?t.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==t.anchorXUnits?t.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==t.anchorYUnits?t.anchorYUnits:"fraction",this.crossOrigin_=void 0!==t.crossOrigin?t.crossOrigin:null;const s=void 0!==t.img?t.img:null;let o,a=t.src;if(HS(!(void 0!==a&&s),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!s||(a=s.src||wS(s)),HS(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),HS(!((void 0!==t.width||void 0!==t.height)&&void 0!==t.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==t.src?o=0:void 0!==s&&(o="complete"in s?s.complete?s.src?2:0:1:2),this.color_=void 0!==t.color?EP(t.color):null,this.iconImage_=iM(s,a,this.crossOrigin_,o,this.color_),this.offset_=void 0!==t.offset?t.offset:[0,0],this.offsetOrigin_=void 0!==t.offsetOrigin?t.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==t.size?t.size:null,this.initialOptions_,void 0!==t.width||void 0!==t.height){let e,n;if(t.size)[e,n]=t.size;else{const i=this.getImage(1);if(i.width&&i.height)e=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=t;const e=()=>{if(this.unlistenImageChange(e),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(PM(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(PM(e,n,t.width,t.height))}}clone(){let t,e,n;return this.initialOptions_?(e=this.initialOptions_.width,n=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new IM({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;const e=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!e)return null;t=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(t[0]*=e[0]),"fraction"==this.anchorYUnits_&&(t[1]*=e[1])}if("top-left"!=this.anchorOrigin_){if(!e)return null;t===this.anchor_&&(t=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[0]=-t[0]+e[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(t[1]=-t[1]+e[1])}this.normalizedAnchor_=t}const e=this.getDisplacement(),n=this.getScaleArray();return[t[0]-e[0]/n[0],t[1]+e[1]/n[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if("top-left"!=this.offsetOrigin_){const e=this.getSize(),n=this.iconImage_.getSize();if(!e||!n)return null;t=t.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[0]=n[0]-e[0]-t[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(t[1]=n[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=iM(null,t,this.crossOrigin_,0,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const t=this.getScaleArray();return this.size_?this.size_[0]*t[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*t[0]:void 0}getHeight(){const t=this.getScaleArray();return this.size_?this.size_[1]*t[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*t[1]:void 0}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Wx,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Wx,t)}ready(){return this.iconImage_.ready()}}class MM{constructor(t){t=t||{},this.color_=void 0!==t.color?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=void 0!==t.lineDash?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){const t=this.getColor();return new MM({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}}class OM{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=LM,void 0!==t.geometry&&this.setGeometry(t.geometry),this.fill_=void 0!==t.fill?t.fill:null,this.image_=void 0!==t.image?t.image:null,this.renderer_=void 0!==t.renderer?t.renderer:null,this.hitDetectionRenderer_=void 0!==t.hitDetectionRenderer?t.hitDetectionRenderer:null,this.stroke_=void 0!==t.stroke?t.stroke:null,this.text_=void 0!==t.text?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&"object"==typeof t&&(t=t.clone()),new OM({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){"function"==typeof t?this.geometryFunction_=t:"string"==typeof t?this.geometryFunction_=function(e){return e.get(t)}:t?void 0!==t&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=LM,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let AM=null;function FM(){if(!AM){const t=new RM({color:"rgba(255,255,255,0.4)"}),e=new MM({color:"#3399CC",width:1.25});AM=[new OM({image:new TM({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return AM}function LM(t){return t.getGeometry()}let zM=class t{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=TP(void 0!==t.scale?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=void 0!==t.fill?t.fill:new RM({color:"#333"}),this.maxAngle_=void 0!==t.maxAngle?t.maxAngle:Math.PI/4,this.placement_=void 0!==t.placement?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=void 0!==t.stroke?t.stroke:null,this.offsetX_=void 0!==t.offsetX?t.offsetX:0,this.offsetY_=void 0!==t.offsetY?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=void 0===t.padding?null:t.padding,this.declutterMode_=t.declutterMode}clone(){const e=this.getScale();return new t({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof RM?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=TP(void 0!==t?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}};function DM(){return!0}function NM(t){const e=GP(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=WM(t,e+"fill-color",n)}if(!i)return null;const r=new RM;return function(t){const e=i(t);return e===oP?null:(r.setColor(e),r)}}function qM(t,e,n){const i=GM(t,e+"stroke-width",n),r=WM(t,e+"stroke-color",n);if(!i&&!r)return null;const s=$M(t,e+"stroke-line-cap",n),o=$M(t,e+"stroke-line-join",n),a=HM(t,e+"stroke-line-dash",n),l=GM(t,e+"stroke-line-dash-offset",n),u=GM(t,e+"stroke-miter-limit",n),c=new MM;return function(t){if(r){const e=r(t);if(e===oP)return null;c.setColor(e)}if(i&&c.setWidth(i(t)),s){const e=s(t);if("butt"!==e&&"round"!==e&&"square"!==e)throw new Error("Expected butt, round, or square line cap");c.setLineCap(e)}if(o){const e=o(t);if("bevel"!==e&&"round"!==e&&"miter"!==e)throw new Error("Expected bevel, round, or miter line join");c.setLineJoin(e)}return a&&c.setLineDash(a(t)),l&&c.setLineDashOffset(l(t)),u&&c.setMiterLimit(u(t)),c}}function GM(t,e,n){if(!(e in t))return;const i=KI(t[e],IP,n);return function(t){return iO(i(t),e)}}function $M(t,e,n){if(!(e in t))return null;const i=KI(t[e],MP,n);return function(t){return nO(i(t),e)}}function VM(t,e,n){if(!(e in t))return null;const i=KI(t[e],PP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function WM(t,e,n){if(!(e in t))return null;const i=KI(t[e],OP,n);return function(t){return rO(i(t),e)}}function HM(t,e,n){if(!(e in t))return null;const i=KI(t[e],AP,n);return function(t){return eO(i(t),e)}}function KM(t,e,n){if(!(e in t))return null;const i=KI(t[e],AP,n);return function(t){const n=eO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function XM(t,e,n){if(!(e in t))return null;const i=KI(t[e],AP,n);return function(t){return sO(i(t),e)}}function YM(t,e,n){if(!(e in t))return null;const i=KI(t[e],AP|IP,n);return function(t){return function(t,e){return"number"==typeof t?t:sO(t,e)}(i(t),e)}}function ZM(t,e){const n=t[e];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${e}`);return n}}function JM(t,e){const n=t[e];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${e}`);return n}}function QM(t,e){const n=t[e];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${e}`);return n}}function tO(t,e){const n=t[e];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${e}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${e}`);return n}}function eO(t,e){if(!Array.isArray(t))throw new Error(`Expected an array for ${e}`);const n=t.length;for(let i=0;i4)throw new Error(`Expected a color with 3 or 4 values for ${e}`);return n}function sO(t,e){const n=eO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const oO="renderOrder";class aO extends UR{constructor(t){t=t||{};const e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=void 0!==t.renderBuffer?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=void 0!==t.updateWhileAnimating&&t.updateWhileAnimating,this.updateWhileInteracting_=void 0!==t.updateWhileInteracting&&t.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(oO)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){const n=this.getDeclutter();n in t.declutter==0&&(t.declutter[n]=new VR(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(oO,t)}setStyle(t){this.style_=void 0===t?FM:t;const e=function(t){if(void 0===t)return FM;if(!t)return null;if("function"==typeof t)return t;if(t instanceof OM)return t;if(!Array.isArray(t))return jM([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof OM){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&BR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=c.bind(null,r.managed);y[0]=s[0]+p[v][0],y[1]=s[1]+p[v][1],l=i.forEachFeatureAtCoordinate(y,e,n,a,m)}if(l)return l}}if(0===m.length)return;const _=1/m.length;return m.forEach((t,e)=>t.distanceSq+=e*_),m.sort((t,e)=>t.distanceSq-e.distanceSq),m.some(t=>l=t.callback(t.feature,t.layer,t.geometry)),l}hasFeatureAtCoordinate(t,e,n,i,r,s){return void 0!==this.forEachFeatureAtCoordinate(t,e,n,i,oS,this,r,s)}getMap(){return this.map_}renderFrame(t){vS()}scheduleExpireIconCache(t){tM.canExpireCache()&&t.postRenderFunctions.push(cO)}}function cO(){tM.expire()}class hO extends uO{constructor(t){super(t),this.fontChangeListenerKey_=gS(fM,Vx,t.redrawText,t),this.element_=FS?zT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=ET+" ol-layers";const n=t.getViewport();n&&n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){const n=this.getMap();if(n.hasListener(t)){const i=new lO(t,void 0,e);n.dispatchEvent(i)}}disposeInternal(){yS(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(t),this.dispatchRenderEvent(NR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof aO&&t.layer.getDeclutter())&&(t.declutter={});const n=t.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,a=e.length;o0)&&(t.fillStyle=i,t.fillRect(0,0,s.width,s.height)),DT(n)&&n.width>0){const i=e.style.opacity||n.style.opacity;t.globalAlpha=""===i?1:Number(i);const r=n.style.transform;if(r)t.setTransform(...wk(r));else{const e=parseFloat(n.style.width)/n.width,i=parseFloat(n.style.height)/n.height;t.setTransform(e,0,0,i,0,0)}t.drawImage(n,0,0)}}t.globalAlpha=1,t.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent("postcompose",t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let n=e.length-1;n>=0;--n){const i=e[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(t,i)}e.forEach(e=>e.layer.renderDeferred(t))}}}function dO(t){t instanceof UR?t.setMapInternal(null):t instanceof LR&&t.getLayers().forEach(dO)}function pO(t,e){if(t instanceof UR)t.setMapInternal(e);else if(t instanceof LR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(FS?new kS:qT()),this.interactions=e.interactions||(FS?new kS:function(t){t=t||{};const e=new kS,n=new GT(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new aR),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new HT({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new oR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new vR),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new bR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new mR),e.push(new yR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new _R({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new dR({duration:t.zoomDuration})),e}({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new YS(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(GS,this.handleLayerGroupChanged_),this.addChangeListener(WS,this.handleViewChanged_),this.addChangeListener($S,this.handleSizeChanged_),this.addChangeListener(VS,this.handleTargetChanged_),this.setProperties(e.values);const n=this;!t.view||t.view instanceof vT||t.view.then(function(t){n.setView(new vT(t))}),this.controls.addEventListener(Gx,t=>{t.element.setMap(this)}),this.controls.addEventListener($x,t=>{t.element.setMap(null)}),this.interactions.addEventListener(Gx,t=>{t.element.setMap(this)}),this.interactions.addEventListener($x,t=>{t.element.setMap(null)}),this.overlays_.addEventListener(Gx,t=>{this.addOverlayInternal_(t.element)}),this.overlays_.addEventListener($x,t=>{const e=t.element.getId();void 0!==e&&delete this.overlayIdIndex_[e.toString()],t.element.setMap(null)}),this.controls.forEach(t=>{t.setMap(this)}),this.interactions.forEach(t=>{t.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){pO(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){const e=t.getId();void 0!==e&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(t),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,s=void 0!==n.layerFilter?n.layerFilter:oS,o=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,o,e,null,s,null)}getFeaturesAtPixel(t,e){const n=[];return this.forEachFeatureAtPixel(t,function(t){n.push(t)},e),n}getAllLayers(){const t=[];return function e(n){n.forEach(function(n){n instanceof LR?e(n.getLayers()):t.push(n)})}(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(t),i=void 0!==(e=void 0!==e?e:{}).layerFilter?e.layerFilter:oS,r=void 0!==e.hitTolerance?e.hitTolerance:0,s=!1!==e.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,s,i,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){const e=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=e.width/n[0],r=e.height/n[1],s="changedTouches"in t?t.changedTouches[0]:t;return[(s.clientX-e.left)/i,(s.clientY-e.top)/r]}getTarget(){return this.get(VS)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return ok(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?mk(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){const e=this.overlayIdIndex_[t.toString()];return void 0!==e?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(GS)}setLayers(t){const e=this.getLayerGroup();if(t instanceof kS)return void e.setLayers(t);const n=e.getLayers();n.clear(),n.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const t=this.getLayerGroup().getLayerStatesArray();for(let e=0,n=t.length;e=0;n--){const i=e[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(t)||t.propagationStopped))break}}}handlePostRender(){const t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let n=this.maxTilesLoading_,i=n;if(t){const e=t.viewHints;if(e[0]||e[1]){const e=Date.now()-t.time>8;n=e?0:8,i=e?0:2}}e.getTilesLoading(){this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){const e=this.getLayerGroup();e&&this.handleLayerRemove_(new AR("removelayer",e)),this.set(GS,t)}setSize(t){this.set($S,t)}setTarget(t){this.set(VS,t)}setView(t){if(!t||t instanceof vT)return void this.set(WS,t);this.set(WS,new vT);const e=this;t.then(function(t){e.setView(new vT(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(DT(t))n=t.width,i=t.height;else{const e=getComputedStyle(t);n=t.offsetWidth-parseFloat(e.borderLeftWidth)-parseFloat(e.paddingLeft)-parseFloat(e.paddingRight)-parseFloat(e.borderRightWidth),i=t.offsetHeight-parseFloat(e.borderTopWidth)-parseFloat(e.paddingTop)-parseFloat(e.paddingBottom)-parseFloat(e.borderBottomWidth)}isNaN(n)||isNaN(i)||(e=[Math.max(0,n),Math.max(0,i)],!kP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&tC("No map visible because the map container's width or height are 0."))}const n=this.getSize();!e||n&&sS(e,n)||(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){const e=this.getView();e&&e.setViewportSize(t)}};class gO{drawCustom(t,e,n,i,r){}drawGeometry(t){}setStyle(t){}drawCircle(t,e,n){}drawFeature(t,e,n){}drawGeometryCollection(t,e,n){}drawLineString(t,e,n){}drawMultiLineString(t,e,n){}drawMultiPoint(t,e,n){}drawMultiPolygon(t,e,n){}drawPoint(t,e,n){}drawPolygon(t,e,n){}drawText(t,e,n){}setFillStrokeStyle(t,e){}setImageStyle(t,e){}setTextStyle(t,e){}}const mO=11,yO=[8],_O=[12],vO=[1],bO=[3];class wO extends gO{constructor(t,e,n,i){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){const e=this.pixelRatio;return 1==e?t:t.map(function(t){return t*e})}appendFlatPointCoordinates(t,e){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let s=r.length;for(let o=0,a=t.length;oa&&(this.instructions.push([4,a,u,t,n,Uk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Uk,r]));break;case"Point":l=t.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),u=this.coordinates.length,this.instructions.push([4,a,u,t,n,void 0,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,void 0,r])}this.endGeometry(e)}beginGeometry(t,e,n){this.beginGeometryInstruction1_=[0,e,0,t,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[0,e,0,t,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const t=this.hitDetectionInstructions;let e;t.reverse();const n=t.length;let i,r,s=-1;for(e=0;ethis.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){const n=this.state;this.fillStyleToState(t,n),this.strokeStyleToState(e,n)}createFill(t){const e=t.fillStyle,n=[10,e];return"string"!=typeof e&&n.push(t.fillPatternScale),n}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[mO,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){const n=t.fillStyle;"string"==typeof n&&t.currentFillStyle==n||(this.instructions.push(e.call(this,t)),t.currentFillStyle=n)}updateStrokeStyle(t,e){const n=t.strokeStyle,i=t.lineCap,r=t.lineDash,s=t.lineDashOffset,o=t.lineJoin,a=t.lineWidth,l=t.miterLimit;(t.currentStrokeStyle!=n||t.currentLineCap!=i||r!=t.currentLineDash&&!sS(t.currentLineDash,r)||t.currentLineDashOffset!=s||t.currentLineJoin!=o||t.currentLineWidth!=a||t.currentMiterLimit!=l)&&(e.call(this,t),t.currentStrokeStyle=n,t.currentLineCap=i,t.currentLineDash=r,t.currentLineDashOffset=s,t.currentLineJoin=o,t.currentLineWidth=a,t.currentMiterLimit=l)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const e=[7,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=pE(this.maxExtent),this.maxLineWidth>0)){const t=this.resolution*(this.maxLineWidth+1)/2;dE(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}}class xO extends wO{constructor(t,e,n,i){super(t,e,n,i)}drawFlatCoordinatess_(t,e,n,i){const r=this.state,s=void 0!==r.fillStyle,o=void 0!==r.strokeStyle,a=n.length;this.instructions.push(vO),this.hitDetectionInstructions.push(vO);for(let l=0;l=t){const e=(t-a+h)/h,d=rE(n,u,e),p=rE(i,c,e);l.push(d,p),s.push(l),l=[d,p],a==t&&(o+=r),a=0}else if(a0&&s.push(l),s}function EO(t,e,n,i,r){let s,o,a,l,u,c,h,d,p,f,g=n,m=n,y=0,_=0,v=n;for(o=n;ot&&(_>y&&(y=_,g=v,m=o),_=0,v=o-r)),a=l,h=p,d=f),u=n,c=i}return _+=l,_>y?[v,o]:[g,m]}const CO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},kO={Circle:xO,Default:wO,Image:class extends wO{constructor(t,e,n,i){super(t,e,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,n){if(!this.image_||this.maxExtent&&!gE(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=t.getStride(),s=this.coordinates.length,o=this.appendFlatPointCoordinates(i,r);this.instructions.push([6,s,o,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([6,s,o,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,n){if(!this.image_)return;this.beginGeometry(t,e,n);const i=t.getFlatCoordinates(),r=[];for(let a=0,l=i.length;a{const i=o[2*(t+n)]===u[n*c]&&o[2*(t+n)+1]===u[n*c+1];return i||--t,i})}this.saveTextStates_();const h=s.backgroundFill?this.createFill(this.fillStyleToState(s.backgroundFill)):null,d=s.backgroundStroke?this.createStroke(this.strokeStyleToState(s.backgroundStroke)):null;this.beginGeometry(t,e,n);let p=s.padding;if(p!=pM&&(s.scale[0]<0||s.scale[1]<0)){let t=s.padding[0],e=s.padding[1],n=s.padding[2],i=s.padding[3];s.scale[0]<0&&(e=-e,i=-i),s.scale[1]<0&&(t=-t,n=-n),p=[t,e,n,i]}const f=this.pixelRatio;this.instructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,p==pM?pM:p.map(function(t){return t*f}),h,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=h?h.slice(0):null;m&&(m[1]=oM),this.hitDetectionInstructions.push([6,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[g,g],NaN,this.declutterMode_,this.declutterImageWithText_,p,m,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?oM:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(e)}else{if(!BE(this.maxExtent,t.getExtent()))return;let i;if(u=t.getFlatCoordinates(),"LineString"==l)i=[u.length];else if("MultiLineString"==l)i=t.getEnds();else if("Polygon"==l)i=t.getEnds().slice(0,1);else if("MultiPolygon"==l){const e=t.getEndss();i=[];for(let t=0,n=e.length;tt[2]}else R=w>k;const P=Math.PI,I=[],M=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],M){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return I[0]=[t,e,(C-s)/2,O,r],I}for(let A=0,F=(r=r.replace(/\n/g," ")).length;A0?-P:P),void 0!==O){let e=t-O;if(e+=e>P?-2*P:e<-P?2*P:0,Math.abs(e)>o)return null}O=t;const h=A;let d=0;for(;A{if("function"==typeof AT()[e])return this.push_(e),this.pushMethodArgs_},set:(t,e,n)=>(this.push_(e,n),!0)})}push_(...t){const e=this.instructions_,n=this.zIndex+this.offset_;e[n]||(e[n]=[]),e[n].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let n=0,i=e.length;n0&&t.push("\n",""),t.push(e,""),t}function UO(t,e,n){return n%2==0&&(t+=e),t}class BO{constructor(t,e,n,i,r){this.overlaps=n,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new IO:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,n,i){const r=t+e+n+i;if(this.labels_[r])return this.labels_[r];const s=i?this.strokeStates[i]:null,o=n?this.fillStates[n]:null,a=this.textStates[e],l=this.pixelRatio,u=[a.scale[0]*l,a.scale[1]*l],c=a.justify?CO[a.justify]:NO(Array.isArray(t)?t[0]:t,a.textAlign||hM),h=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(jO,[]),{width:p,height:f,widths:g,heights:m,lineWidths:y}=function(t,e){const n=[],i=[],r=[];let s=0,o=0,a=0,l=0;for(let u=0,c=e.length;u<=c;u+=2){const h=e[u];if("\n"===h||u===c){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=SM(d,h);n.push(p),o+=p;const f=wM(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+h,v=[],b=(_+2)*u[0],w=(f+h)*u[1],x={width:b<0?Math.floor(b):Math.ceil(b),height:w<0?Math.floor(w):Math.ceil(w),contextInstructions:v};1==u[0]&&1==u[1]||v.push("scale",u),i&&(v.push("strokeStyle",s.strokeStyle),v.push("lineWidth",h),v.push("lineCap",s.lineCap),v.push("lineJoin",s.lineJoin),v.push("miterLimit",s.miterLimit),v.push("setLineDash",[s.lineDash]),v.push("lineDashOffset",s.lineDashOffset)),n&&v.push("fillStyle",o.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const S=.5-c;let E=c*_+S*h;const C=[],k=[];let T,R=0,P=0,I=0,M=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*h[0]+p[1],w=p[0]+v*h[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==c)&&(OO[0]=x,LO[0]=x,OO[1]=S,AO[1]=S,AO[0]=x+b,FO[0]=AO[0],FO[1]=S+w,LO[1]=FO[1]),0!==c?(E=_k([1,0,0,1,0,0],n,i,1,1,c,-n,-i),mk(E,OO),mk(E,AO),mk(E,FO),mk(E,LO),vE(Math.min(OO[0],AO[0],FO[0],LO[0]),Math.min(OO[1],AO[1],FO[1],LO[1]),Math.max(OO[0],AO[0],FO[0],LO[0]),Math.max(OO[1],AO[1],FO[1],LO[1]),MO)):vE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),MO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:MO[0],minY:MO[1],maxX:MO[2],maxY:MO[3],value:g},canvasTransform:E,scale:h}}replayImageOrLabel_(t,e,n,i,r,s,o){const a=!(!s&&!o),l=i.declutterBox,u=o?o[2]*i.scale[0]/2:0;return l.minX-u<=e[0]&&l.maxX+u>=0&&l.minY-u<=e[1]&&l.maxY+u>=0&&(a&&this.replayTextBackground_(t,OO,AO,FO,LO,s,o),function(t,e,n,i,r,s,o,a,l,u,c){t.save(),1!==n&&(void 0===t.globalAlpha?t.globalAlpha=t=>t.globalAlpha*=n:t.globalAlpha*=n),e&&t.transform.apply(t,e),i.contextInstructions?(t.translate(l,u),t.scale(c[0],c[1]),function(t,e){const n=t.contextInstructions;for(let i=0,r=n.length;iF&&(this.fill_(t),R=0),P>F&&(t.stroke(),P=0),R||P||(t.beginPath(),_=NaN,v=NaN),++d;break;case 2:T=n[1];const i=u[T],c=u[T+1],h=u[T+2]-i,p=u[T+3]-c,j=Math.sqrt(h*h+p*p);t.moveTo(i+j,c),t.arc(i,c,j,0,2*Math.PI,!0),++d;break;case 3:t.closePath(),++d;break;case 4:T=n[1],f=n[2];const U=n[3],B=n[4],q=n[5];A.geometry=U,A.feature=L,d in I||(I[d]=[]);const G=I[d];q?q(u,T,f,2,G):(G[0]=u[T],G[1]=u[T+1],G.length=2),l&&(l.zIndex=n[6]),B(G,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let $=n[6];const V=n[7],W=n[8],H=n[9],K=n[10];let X=n[11];const Y=n[12];let Z=n[13];y=n[14]||"declutter";const J=n[15];if(!x&&n.length>=20){S=n[19],E=n[20],C=n[21],k=n[22];const t=this.drawLabelWithPointPlacement_(S,E,C,k);x=t.label,n[3]=x;const e=n[23];g=(t.anchorX-e)*this.pixelRatio,n[4]=g;const i=n[24];m=(t.anchorY-i)*this.pixelRatio,n[5]=m,$=x.height,n[6]=$,Z=x.width,n[13]=Z}let Q,tt,et,nt;n.length>25&&(Q=n[25]),n.length>17?(tt=n[16],et=n[17],nt=n[18]):(tt=pM,et=null,nt=null),K&&O?X+=M:K||O||(X-=M);let it=0;for(;T!GO.includes(t));class VO{constructor(t,e,n,i,r,s,o){this.maxExtent_=t,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=e,this.renderBuffer_=s,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,o)}clip(t,e){const n=this.getClipCoords(e);t.beginPath(),t.moveTo(n[0],n[1]),t.lineTo(n[2],n[3]),t.lineTo(n[4],n[5]),t.lineTo(n[6],n[7]),t.clip()}createExecutors_(t,e){for(const n in t){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=t[n];for(const t in r){const n=r[t];i[t]=new BO(this.resolution_,this.pixelRatio_,this.overlaps_,n,e)}}}hasExecutors(t){for(const e in this.executorsByZIndex_){const n=this.executorsByZIndex_[e];for(let e=0,i=t.length;en)break;let a=i[o];a||(a=[],i[o]=a),a.push(4*((t+s)*e+(t+r))+3),s>0&&a.push(4*((t-s)*e+(t+r))+3),r>0&&(a.push(4*((t+s)*e+(t-r))+3),s>0&&a.push(4*((t-s)*e+(t-r))+3))}const r=[];for(let s=0,o=i.length;s0){if(!s||"none"===n||"Image"!==d&&"Text"!==d||s.includes(t)){const n=(h[l]-3)/4,s=i-n%o,a=i-(n/o|0),u=r(t,e,s*s+a*a);if(u)return u}u.clearRect(0,0,o,o);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let g,m,y,_,v;for(f.sort(tS),g=f.length-1;g>=0;--g){const t=f[g].toString();for(y=this.executorsByZIndex_[t],m=qO.length-1;m>=0;--m)if(d=qO[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,c),v))return v}}getClipCoords(t){const e=this.maxExtent_;if(!e)return null;const n=e[0],i=e[1],r=e[2],s=e[3],o=[n,i,n,s,r,s,r,i];return xk(o,0,8,2,t,o),o}isEmpty(){return dS(this.executorsByZIndex_)}execute(t,e,n,i,r,s,o){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(o?eS:tS),s=s||qO;const l=qO.length;for(let u=0,c=a.length;up.execute(t,e,n,i,r,o)):p.execute(h,e,n,i,r,o),d&&h.restore(),s){s.offset();const t=a[u]*l+qO.indexOf(c);this.deferredZIndexContexts_[t]||(this.deferredZIndexContexts_[t]=[]),this.deferredZIndexContexts_[t].push(s)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(tS);for(let n=0,i=e.length;n{t.draw(this.renderedContext_),t.clear()}),t[e[n]].length=0}}const WO={};class HO extends gO{constructor(t,e,n,i,r,s,o){super(),this.context_=t,this.pixelRatio_=e,this.extent_=n,this.transform_=i,this.transformRotation_=i?sE(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=s,this.userTransform_=o,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(t,e,n,i){if(!this.image_)return;const r=xk(t,e,n,i,this.transform_,this.pixelCoordinates_),s=this.context_,o=this.tmpLocalTransform_,a=s.globalAlpha;1!=this.imageOpacity_&&(s.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let u=0,c=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:uM,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:rM(t||cM)}}else this.strokeState_=null}setImageStyle(t){let e;if(!t||!(e=t.getSize()))return void(this.image_=null);const n=t.getPixelRatio(this.pixelRatio_),i=t.getAnchor(),r=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=e[1]*n,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();const s=t.getScaleArray();this.imageScale_=[s[0]*this.pixelRatio_/n,s[1]*this.pixelRatio_/n],this.imageWidth_=e[0]*n}setTextStyle(t){if(t){const e=t.getFill();if(e){const t=e.getColor();this.textFillState_={fillStyle:rM(t||oM)}}else this.textFillState_=null;const n=t.getStroke();if(n){const t=n.getColor(),e=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),s=n.getLineJoin(),o=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==e?e:aM,lineDash:i||lM,lineDashOffset:r||0,lineJoin:void 0!==s?s:uM,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:rM(t||cM)}}else this.textStrokeState_=null;const i=t.getFont(),r=t.getOffsetX(),s=t.getOffsetY(),o=t.getRotateWithView(),a=t.getRotation(),l=t.getScaleArray(),u=t.getText(),c=t.getTextAlign(),h=t.getTextBaseline();this.textState_={font:void 0!==i?i:sM,textAlign:void 0!==c?c:hM,textBaseline:void 0!==h?h:dM},this.text_=void 0!==u?Array.isArray(u)?u.reduce((t,e,n)=>t+(n%2?" ":e),""):u:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==s?this.pixelRatio_*s:0,this.textRotateWithView_=void 0!==o&&o,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}}const KO=.5;function XO(t,e,n,i,r,s,o,a,l){const u=r,c=MT(t[0]*KO,t[1]*KO);c.imageSmoothingEnabled=!1;const h=c.canvas,d=new HO(c,KO,r,null,o,a,l?ek(null,l):null),p=n.length,f=Math.floor(16777215/p),g={};for(let y=1;y<=p;++y){const t=n[y-1],e=t.getStyleFunction()||i;if(!e)continue;let r=e(t,s);if(!r)continue;Array.isArray(r)||(r=[r]);const o=(y*f).toString(16).padStart(7,"#00000");for(let n=0,i=r.length;n0;return h&&Promise.all(l).then(()=>r(null)),function(t,e,n,i,r,s,o){const a=n.getGeometryFunction()(e);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?nA(t,l,n,e,o):(0,ZO[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),h}function nA(t,e,n,i,r){if("GeometryCollection"==e.getType()){const s=e.getGeometries();for(let e=0,o=s.length;ethis.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return vS()}getData(t){return null}prepareFrame(t){return vS()}renderFrame(t,e){return vS()}forEachFeatureAtCoordinate(t,e,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){const e=t.target;2!==e.getState()&&3!==e.getState()||this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return 2!=e&&3!=e&&t.addEventListener(Wx,this.boundHandleImageChange_),0==e&&(t.load(),e=t.getState()),2==e}renderIfReadyAndVisible(){const t=this.getLayer();t&&t.getVisible()&&"ready"===t.getSourceState()&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}}const rA=[];let sA=null;class oA extends iA{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,n){let i;sA||(sA=MT(1,1,void 0,{willReadFrequently:!0})),sA.clearRect(0,0,1,1);try{sA.drawImage(t,e,n,1,1,0,0,1,1),i=sA.getImageData(0,0,1,1).data}catch{return sA=null,null}return i}getBackground(t){let e=this.getLayer().getBackground();return"function"==typeof e&&(e=e(t.viewState.resolution)),e||void 0}useContainer(t,e,n){const i=this.getLayer().getClassName();let r,s;if(t&&t.className===i&&(!n||t&&t.style.backgroundColor&&sS(EP(t.style.backgroundColor),EP(n)))){const e=t.firstElementChild;DT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=wk(t),i=wk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*bk[r]))return!1;return!0}(s.canvas.style.transform,e)?(this.container=t,this.context=s,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=FS?zT():document.createElement("div"),r.className=i;let t=r.style;t.position="absolute",t.width="100%",t.height="100%",s=MT();const e=s.canvas;r.appendChild(e),t=e.style,t.position="absolute",t.left="0",t.transformOrigin="top left",this.container=r,this.context=s}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(t,e,n){const i=NE(n),r=jE(n),s=ME(n),o=IE(n);mk(e.coordinateToPixelTransform,i),mk(e.coordinateToPixelTransform,r),mk(e.coordinateToPixelTransform,s),mk(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;mk(a,i),mk(a,r),mk(a,s),mk(a,o),t.save(),t.beginPath(),t.moveTo(Math.round(i[0]),Math.round(i[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(s[0]),Math.round(s[1])),t.lineTo(Math.round(o[0]),Math.round(o[1])),t.clip()}prepareContainer(t,e){const n=t.extent,i=t.viewState.resolution,r=t.viewState.rotation,s=t.pixelRatio,o=Math.round(UE(n)/i*s),a=Math.round(zE(n)/i*s);_k(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),vk(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(e,l,this.getBackground(t)),!this.containerReused){const t=this.context.canvas;t.width!=o||t.height!=a?(t.width=o,t.height=a):this.context.clearRect(0,0,o,a),l!==t.style.transform&&(t.style.transform=l)}}dispatchRenderEvent_(t,e,n){const i=this.getLayer();if(i.hasListener(t)){const r=new lO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(zR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(DR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new IO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(zR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(DR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,c=-u,h=-t[0]+o,d=-t[1];return _k(this.tempTransform,a,l,u,c,-n,h,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class aA extends oA{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,n){const i=e.extent,r=e.viewState,s=r.center,o=r.resolution,a=r.projection,l=r.rotation,u=a.getExtent(),c=this.getLayer().getSource(),h=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(UE(i)/o*d),y=Math.round(zE(i)/o*d),_=c.getWrapX()&&a.canWrapX(),v=_?UE(u):null,b=_?Math.ceil((i[2]-u[2])/v)+1:1;let w=_?Math.floor((i[0]-u[0])/v):0;do{let i=this.getRenderTransform(s,o,0,d,m,y,w*v);e.declutter&&(i=i.slice(0)),t.execute(g,[g.canvas.width,g.canvas.height],i,l,f,void 0===n?qO:n?GO:$O,n?h&&e.declutter[h]:void 0)}while(++w{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const t=this.frameState.size.slice(),e=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,s=this.wrappedRenderedExtent_,o=this.getLayer(),a=[],l=t[0]*KO,u=t[1]*KO;a.push(this.getRenderTransform(e,n,i,KO,l,u,0).slice());const c=o.getSource(),h=r.getExtent();if(c.getWrapX()&&r.canWrapX()&&!mE(h,s)){let t=s[0];const r=UE(h);let o,c=0;for(;th[2];)++c,o=r*c,a.push(this.getRenderTransform(e,n,i,KO,l,u,o).slice()),t-=r}this.hitDetectionImageData_=XO(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,QO(n,this.renderedPixelRatio_),null)}e(YO(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,n,i,r){if(!this.replayGroup_)return;const s=e.viewState.resolution,o=e.viewState.rotation,a=this.getLayer(),l={},u=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,s,o,n,function(t,e,n){const s=wS(t),o=l[s];if(o){if(!0!==o&&nt.value):null)}handleFontsChanged(){const t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){const e=this.getLayer(),n=e.getSource();if(!n)return!1;const i=t.viewHints[0],r=t.viewHints[1],s=e.getUpdateWhileAnimating(),o=e.getUpdateWhileInteracting();if(this.ready&&!s&&i||!o&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=t.extent,l=t.viewState,u=l.projection,c=l.resolution,h=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=JO);const g=l.center.slice(),m=dE(a,p*c),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!mE(v,t.extent)){const t=UE(v),e=Math.max(UE(m)/2,t);m[0]=v[0]-e,m[2]=v[2]+e,KE(g,u);const n=$E(_[0],u);n[0]v[0]&&n[2]>v[2]&&_.push([n[0]-t,n[1],n[2]-t,n[3]])}if(this.ready&&this.renderedResolution_==c&&this.renderedRevision_==d&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!t.declutter&&mE(this.wrappedRenderedExtent_,m))return sS(this.renderedExtent_,y)||(this.hitDetectionImageData_=null,this.renderedExtent_=y),this.renderedCenter_=g,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new TO(tA(c,h),m,c,h);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,c)),i){const e=this.renderFeature(t,w,i,b,void 0,this.getLayer().getDeclutter(),n);x=x&&!e}},E=m,C=n.getFeaturesInExtent(E);f&&C.sort(f);for(let R=0,P=C.length;R=200&&a.status<300){const t=e.getType();try{let i;"text"==t||"json"==t?i=a.responseText:"xml"==t?i=a.responseXML||a.responseText:"arraybuffer"==t&&(i=a.response),i?s(e.readFeatures(i,{extent:n,featureProjection:r}),e.readProjection(i)):o()}catch{o()}}else o()},a.onerror=o,a.send()}function cA(t,e){return function(n,i,r,s,o){uA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function hA(){return[[-1/0,-1/0,1/0,1/0]]}function dA(t){return[t]}class pA extends SS{constructor(t){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),t)if("function"==typeof t.getSimplifiedGeometry){const e=t;this.setGeometry(e)}else{const e=t;this.setProperties(e)}}clone(){const t=new pA(this.hasProperties()?this.getProperties():null);t.setGeometryName(this.getGeometryName());const e=this.getGeometry();e&&t.setGeometry(e.clone());const n=this.getStyle();return n&&t.setStyle(n),t}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(yS(this.geometryChangeKey_),this.geometryChangeKey_=null);const t=this.getGeometry();t&&(this.geometryChangeKey_=gS(t,Wx,this.handleGeometryChange_,this)),this.changed()}setGeometry(t){this.set(this.geometryName_,t)}setStyle(t){this.style_=t,this.styleFunction_=t?function(t){if("function"==typeof t)return t;let e;return Array.isArray(t)?e=t:(HS("function"==typeof t.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),e=[t]),function(){return e}}(t):void 0,this.changed()}setId(t){this.id_=t,this.changed()}setGeometryName(t){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=t,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}function fA(t,e,n,i){const r=[];let s=[1/0,1/0,-1/0,-1/0];for(let o=0,a=n.length;o>1),r=+n(t[i],e),r<0?s=i+1:(o=i,a=!r);return a?s:~s}(c,h);d<0?(l=(h-c[-d-2])/(c[-d-1]-c[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let c=0;c>1;rt.clone())}class vA extends Tk{constructor(t,e){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===e||Array.isArray(t[0])?this.setCoordinates(t,e):this.setFlatCoordinates(e,t)}appendCoordinate(t){rS(this.flatCoordinates,t),this.changed()}clone(){const t=new vA(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}closestPointXY(t,e,n,i){return i{if(t===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),e&&this.simplifiedGeometry_.applyTransform(e);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Gk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=$k(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=Hk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new EA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}EA.prototype.getFlatCoordinates=EA.prototype.getOrientedFlatCoordinates;class CA{constructor(t){this.rbush_=new VR(t),this.items_={}}insert(t,e){const n={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(n),this.items_[wS(e)]=n}load(t,e){const n=new Array(e.length);for(let i=0,r=e.length;it):null}const RA="addfeature",PA="removefeature";class IA extends pS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class MA extends kA{constructor(t){super({attributions:(t=t||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===t.wrapX||t.wrapX}),this.on,this.once,this.un,this.loader_=lS,this.format_=t.format||null,this.overlaps_=void 0===t.overlaps||t.overlaps,this.url_=t.url,void 0!==t.loader?this.loader_=t.loader:void 0!==this.url_&&(HS(this.format_,"`format` must be set when `url` is set"),this.loader_=cA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:hA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new CA:null,this.loadedExtentsRtree_=new CA,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(t.features)?i=t.features:t.features&&(n=t.features,i=n.getArray()),e||void 0!==n||(n=new kS(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){const e=wS(t);if(!this.addToIndex_(e,t))return void(this.featuresCollection_&&this.featuresCollection_.remove(t));this.setupChangeEvents_(e,t);const n=t.getGeometry();if(n){const e=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(e,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new IA(RA,t))}setupChangeEvents_(t,e){e instanceof EA||(this.featureChangeKeys_[t]=[gS(e,Wx,this.handleFeatureChange_,this),gS(e,Vx,this.handleFeatureChange_,this)])}addToIndex_(t,e){let n=!0;if(void 0!==e.getId()){const t=String(e.getId());if(t in this.idIndex_)if(e instanceof EA){const i=this.idIndex_[t];i instanceof EA?Array.isArray(i)?i.push(e):this.idIndex_[t]=[i,e]:n=!1}else n=!1;else this.idIndex_[t]=e}return n&&(HS(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),n}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){const e=[],n=[],i=[];for(let r=0,s=t.length;r{e||(e=!0,this.addFeature(t.element),e=!1)}),t.addEventListener($x,t=>{e||(e=!0,this.removeFeature(t.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(const t in this.featureChangeKeys_)this.featureChangeKeys_[t].forEach(yS);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(t=>{this.removeFeatureInternal(t)});for(const t in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[t])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const e=new IA("clear");this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){const n=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof EA||i.intersectsCoordinate(t))return e(n)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(n){const i=n.getGeometry();if(i instanceof EA||i.intersectsExtent(t)){const t=e(n);if(t)return t}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),dS(this.nullGeometryFeatures_)||rS(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){const e=[];return this.forEachFeatureAtCoordinateDirect(t,function(t){e.push(t)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);const n=VE(t,e);return[].concat(...n.map(t=>this.featuresRtree_.getInExtent(t)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){const n=t[0],i=t[1];let r=null;const s=[NaN,NaN];let o=1/0;const a=[-1/0,-1/0,1/0,1/0];return e=e||oS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof EA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new IA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new IA("featuresloaderror"))}),i.insert(t,{extent:t.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){const e=this.loadedExtentsRtree_,n=e.forEachInExtent(t,function(e){if(SE(e.extent,t))return e});n&&e.remove(n)}removeFeatures(t){let e=!1;for(let n=0,i=t.length;n{t in e&&(n[t]=e[t])}),n}function FA(t){t=t.slice();const e=Object.create(null);for(let n=0;n`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const tF=[DA,NA,jA,UA,BA,qA,WA,GA,JA($A),HA,XA,KA,YA,ZA];function eF(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!eF(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of tF)if(!eF(t,e))return null}return`Expected ${QA(t)} but found ${QA(e)} instead.`}function nF(t,e){return e.some(e=>e.kind===t.kind)}function iF(t,e){return e.some(e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t)}function rF(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const sF=.96422,oF=.82521,aF=4/29,lF=6/29,uF=3*lF*lF,cF=lF*lF*lF,hF=Math.PI/180,dF=180/Math.PI;function pF(t){return(t%=360)<0&&(t+=360),t}function fF([t,e,n,i]){let r,s;const o=mF((.2225045*(t=gF(t))+.7168786*(e=gF(e))+.0606169*(n=gF(n)))/1);t===e&&e===n?r=s=o:(r=mF((.4360747*t+.3850649*e+.1430804*n)/sF),s=mF((.0139322*t+.0971045*e+.7141733*n)/oF));const a=116*o-16;return[a<0?0:a,500*(r-o),200*(o-s),i]}function gF(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function mF(t){return t>cF?Math.pow(t,1/3):t/uF+aF}function yF([t,e,n,i]){let r=(t+16)/116,s=isNaN(e)?r:r+e/500,o=isNaN(n)?r:r-n/200;return r=1*vF(r),s=sF*vF(s),o=oF*vF(o),[_F(3.1338561*s-1.6168667*r-.4906146*o),_F(-.9787684*s+1.9161415*r+.033454*o),_F(.0719453*s-.2289914*r+1.4052427*o),i]}function _F(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function vF(t){return t>lF?t*t*t:uF*(t-aF)}const bF=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function wF(t,e){return bF(t,e)?t[e]:void 0}function xF(t){return parseInt(t.padEnd(2,t),16)/255}function SF(t,e){return EF(e?t/100:t,0,1)}function EF(t,e,n){return Math.min(Math.max(e,t),n)}function CF(t){return!t.some(Number.isNaN)}const kF={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function TF(t,e,n){return t+n*(e-t)}function RF(t,e,n){return t.map((t,i)=>TF(t,e[i],n))}class PF{constructor(t,e,n,i=1,r=!0){this.r=t,this.g=e,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[t,e,n,i]))}static parse(t){if(t instanceof PF)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=wF(kF,t);if(e){const[t,n,i]=e;return[t/255,n/255,i/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let n=1;return[xF(t.slice(n,n+=e)),xF(t.slice(n,n+=e)),xF(t.slice(n,n+=e)),xF(t.slice(n,n+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=t.match(e);if(n){const[t,e,i,r,s,o,a,l,u,c,h,d]=n,p=[r||" ",a||" ",c].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[EF(+e/n,0,1),EF(+s/n,0,1),EF(+l/n,0,1),h?SF(+h,d):1];if(CF(t))return t}}return}}const n=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[t,e,i,r,s,o,a,l,u]=n,c=[i||" ",s||" ",a].join("");if(" "===c||" /"===c||",,"===c||",,,"===c){const t=[+e,EF(+r,0,100),EF(+o,0,100),l?SF(+l,u):1];if(CF(t))return function([t,e,n,i]){function r(i){const r=(i+t/30)%12,s=e*Math.min(n,1-n);return n-s*Math.max(-1,Math.min(r-3,9-r,1))}return t=pF(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new PF(...e,!1):void 0}get rgb(){const{r:t,g:e,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[t/r,e/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,n,i,r]=fF(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?pF(Math.atan2(i,n)*dF):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",fF(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,n,i]=this.rgb;return`rgba(${[t,e,n].map(t=>Math.round(255*t)).join(",")},${i})`}static interpolate(t,e,n,i="rgb"){switch(i){case"rgb":{const[i,r,s,o]=RF(t.rgb,e.rgb,n);return new PF(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,c]=e.hcl;let h,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?h=NaN:(h=a,1!==s&&0!==s||(d=l)):(h=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),h=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*hF,yF([n,Math.cos(t)*e,Math.sin(t)*e,i])}([h,null!=d?d:TF(r,l,n),TF(s,u,n),TF(o,c,n)]);return new PF(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=yF(RF(t.lab,e.lab,n));return new PF(i,r,s,o,!1)}}}}PF.black=new PF(0,0,0,1),PF.white=new PF(1,1,1,1),PF.transparent=new PF(0,0,0,0),PF.red=new PF(1,0,0,1);class IF{constructor(t,e,n){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const MF=["bottom","center","top"];class OF{constructor(t,e,n,i,r,s){this.text=t,this.image=e,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=s}}class AF{constructor(t){this.sections=t}static fromString(t){return new AF([new OF(t,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(t=>0!==t.text.length||t.image&&0!==t.image.name.length)}static factory(t){return t instanceof AF?t:AF.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}class FF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof FF)return t;if("number"==typeof t)return new FF([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new FF(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new FF(RF(t.values,e.values,n))}}class LF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof LF)return t;if("number"==typeof t)return new LF([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new LF(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new LF(RF(t.values,e.values,n))}}class zF{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof zF)return t;if("string"==typeof t){const e=PF.parse(t);if(!e)return;return new zF([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=PF.parse(n);if(!t)return;e.push(t)}return new zF(e)}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n,i="rgb"){const r=[];if(t.values.length!=e.values.length)throw new Error(`colorArray: Arrays have mismatched length (${t.values.length} vs. ${e.values.length}), cannot interpolate.`);for(let s=0;s=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[t,e,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[t,e,n,i]:[t,e,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function GF(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof BF||t instanceof PF||t instanceof IF||t instanceof AF||t instanceof FF||t instanceof LF||t instanceof zF||t instanceof jF||t instanceof UF)return!0;if(Array.isArray(t)){for(const e of t)if(!GF(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!GF(t[e]))return!1;return!0}return!1}function $F(t){if(null===t)return DA;if("string"==typeof t)return jA;if("boolean"==typeof t)return UA;if("number"==typeof t)return NA;if(t instanceof PF)return BA;if(t instanceof BF)return qA;if(t instanceof IF)return VA;if(t instanceof AF)return WA;if(t instanceof FF)return HA;if(t instanceof LF)return XA;if(t instanceof zF)return KA;if(t instanceof jF)return ZA;if(t instanceof UF)return YA;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=$F(i);if(n){if(n===t)continue;n=$A;break}n=t}return JA(n||$A,e)}return GA}function VF(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof PF||t instanceof BF||t instanceof AF||t instanceof FF||t instanceof LF||t instanceof zF||t instanceof jF||t instanceof UF?t.toString():JSON.stringify(t)}class WF{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!GF(t[1]))return e.error("invalid value");const n=t[1];let i=$F(n);const r=e.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new WF(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const HF={string:jA,number:NA,boolean:UA,object:GA};class KF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n,i=1;const r=t[0];if("array"===r){let r,s;if(t.length>2){const n=t[1];if("string"!=typeof n||!(n in HF)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=HF[n],i++}else r=$A;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);s=t[2],i++}n=JA(r,s)}else{if(!HF[r])throw new Error(`Types doesn't contain name = ${r}`);n=HF[r]}const s=[];for(;it.outputDefined())}}const XF={"to-boolean":UA,"to-color":BA,"to-number":NA,"to-string":jA};class YF{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[0];if(!XF[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==t.length)return e.error("Expected one argument.");const i=XF[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:qF(e[0],e[1],e[2],e[3]),!n))return new PF(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new DF(n||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const n of this.args){e=n.evaluate(t);const i=FF.parse(e);if(i)return i}throw new DF(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"numberArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=LF.parse(e);if(i)return i}throw new DF(`Could not parse numberArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"colorArray":{let e;for(const n of this.args){e=n.evaluate(t);const i=zF.parse(e);if(i)return i}throw new DF(`Could not parse colorArray from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const n of this.args){e=n.evaluate(t);const i=jF.parse(e);if(i)return i}throw new DF(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const n of this.args){if(e=n.evaluate(t),null===e)return 0;const i=Number(e);if(!isNaN(i))return i}throw new DF(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return AF.fromString(VF(this.args[0].evaluate(t)));case"resolvedImage":return UF.fromString(VF(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return VF(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const ZF=["Unknown","Point","LineString","Polygon"];class JF{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?ZF[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache.get(t);return e||(e=PF.parse(t),this._parseColorCache.set(t,e)),e}}class QF{constructor(t,e,n=[],i,r=new zA,s=[]){this.registry=t,this.path=n,this.key=n.map(t=>`[${t}]`).join(""),this.scope=r,this.errors=s,this.expectedType=i,this._isConstant=e}parse(t,e,n,i,r={}){return e?this.concat(e,n,i)._parse(t,r):this._parse(t,r)}_parse(t,e){function n(t,e,n){return"assert"===n?new KF(e,[t]):"coerce"===n?new YF(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const r=t[0];if("string"!=typeof r)return this.error(`Expression name must be a string, but found ${typeof r} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const s=this.registry[r];if(s){let r=s.parse(t,this);if(!r)return null;if(this.expectedType){const t=this.expectedType,i=r.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind){if("projectionDefinition"===t.kind&&["string","array"].includes(i.kind)||["color","formatted","resolvedImage"].includes(t.kind)&&["value","string"].includes(i.kind)||["padding","numberArray"].includes(t.kind)&&["value","number","array"].includes(i.kind)||"colorArray"===t.kind&&["value","string","array"].includes(i.kind)||"variableAnchorOffsetCollection"===t.kind&&["value","array"].includes(i.kind))r=n(r,t,e.typeAnnotation||"coerce");else if(this.checkSubtype(t,i))return null}else r=n(r,t,e.typeAnnotation||"assert")}if(!(r instanceof WF)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new JF;try{r=new WF(r.type,r.evaluate(t))}catch(i){return this.error(i.message),null}}return r}return this.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,n){const i="number"==typeof t?this.path.concat(t):this.path,r=n?this.scope.concat(n):this.scope;return new QF(this.registry,this._isConstant,i,e||null,r,this.errors)}error(t,...e){const n=`${this.key}${e.map(t=>`[${t}]`).join("")}`;this.errors.push(new LA(n,t))}checkSubtype(t,e){const n=eF(t,e);return n&&this.error(n),n}}class tL{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const n=[];for(let r=1;r=n.length)throw new DF(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new DF(`Array index must be an integer, but found ${e} instead.`);return n[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class iL{constructor(t,e){this.type=UA,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,$A),i=e.parse(t[2],2,$A);return n&&i?nF(n.type,[UA,jA,NA,DA,$A])?new iL(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${QA(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!iF(e,["boolean","string","number","null"]))throw new DF(`Expected first argument to be of type boolean, string, number or null, but found ${QA($F(e))} instead.`);if(!iF(n,["string","array"]))throw new DF(`Expected second argument to be of type array or string, but found ${QA($F(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class rL{constructor(t,e,n){this.type=NA,this.needle=t,this.haystack=e,this.fromIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,$A),i=e.parse(t[2],2,$A);if(!n||!i)return null;if(!nF(n.type,[UA,jA,NA,DA,$A]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${QA(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,NA);return r?new rL(n,i,r):null}return new rL(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!iF(e,["boolean","string","number","null"]))throw new DF(`Expected first argument to be of type boolean, string, number or null, but found ${QA($F(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),iF(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(iF(n,["array"]))return n.indexOf(e,i);throw new DF(`Expected second argument to be of type array or string, but found ${QA($F(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class sL{constructor(t,e,n,i,r,s){this.inputType=t,this.type=e,this.input=n,this.cases=i,this.outputs=r,this.otherwise=s}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let n,i;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);const r={},s=[];for(let l=2;lNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return u.error("Numeric branch labels must be integer values.");if(n){if(u.checkSubtype(n,$F(t)))return null}else n=$F(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const c=e.parse(a,l,i);if(!c)return null;i=i||c.type,s.push(c)}const o=e.parse(t[1],1,$A);if(!o)return null;const a=e.parse(t[t.length-1],t.length-1,i);return a?"value"!==o.type.kind&&e.concat(1).checkSubtype(n,o.type)?null:new sL(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return($F(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class oL{constructor(t,e,n){this.type=t,this.branches=e,this.otherwise=n}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i=[];for(let s=1;se.outputDefined())&&this.otherwise.outputDefined()}}class aL{constructor(t,e,n,i){this.type=t,this.input=e,this.beginIndex=n,this.endIndex=i}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const n=e.parse(t[1],1,$A),i=e.parse(t[2],2,NA);if(!n||!i)return null;if(!nF(n.type,[JA($A),jA,$A]))return e.error(`Expected first argument to be of type array or string, but found ${QA(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,NA);return r?new aL(n.type,n,i,r):null}return new aL(n.type,n,i)}evaluate(t){const e=this.input.evaluate(t),n=this.beginIndex.evaluate(t);let i;if(this.endIndex&&(i=this.endIndex.evaluate(t)),iF(e,["string"]))return[...e].slice(n,i).join("");if(iF(e,["array"]))return e.slice(n,i);throw new DF(`Expected first argument to be of type array or string, but found ${QA($F(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function lL(t,e){const n=t.length-1;let i,r,s=0,o=n,a=0;for(;s<=o;)if(a=Math.floor((s+o)/2),i=t[a],r=t[a+1],i<=e){if(a===n||ee))throw new DF("Input is not a number.");o=a-1}return 0}class uL{constructor(t,e,n){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[i,r]of n)this.labels.push(i),this.outputs.push(r)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const n=e.parse(t[1],1,NA);if(!n)return null;const i=[];let r=null;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(let s=1;s=n)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const u=e.parse(o,l,r);if(!u)return null;r=r||u.type,i.push([n,u])}return new uL(r,n,i)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;return i>=e[r-1]?n[r-1].evaluate(t):n[lL(e,i)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function cL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var hL,dL,pL=function(){if(dL)return hL;function t(t,e,n,i){this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(i-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=n,this.p2y=i}return dL=1,hL=t,t.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var n=t,i=0;i<8;i++){var r=this.sampleCurveX(n)-t;if(Math.abs(r)r?o=n:a=n,n=.5*(a-o)+o;return n},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}},hL}(),fL=cL(pL);class gL{constructor(t,e,n,i,r){this.type=t,this.operator=e,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[s,o]of r)this.labels.push(s),this.outputs.push(o)}static interpolationFactor(t,e,n,i){let r=0;if("exponential"===t.name)r=mL(e,t.base,n,i);else if("linear"===t.name)r=mL(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new fL(s[0],s[1],s[2],s[3]).solve(mL(e,1,n,i))}return r}static parse(t,e){let[n,i,r,...s]=t;if(!Array.isArray(i)||0===i.length)return e.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const t=i[1];if("number"!=typeof t)return e.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:t}}else{if("cubic-bezier"!==i[0])return e.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const t=i.slice(1);if(4!==t.length||t.some(t=>"number"!=typeof t||t<0||t>1))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(r=e.parse(r,2,NA),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==KA?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=BA;for(let l=0;l=t)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,r,a);if(!u)return null;a=a||u.type,o.push([t,u])}return rF(a,NA)||rF(a,qA)||rF(a,BA)||rF(a,HA)||rF(a,XA)||rF(a,KA)||rF(a,ZA)||rF(a,JA(NA))?new gL(a,n,i,r,o):e.error(`Type ${QA(a)} is not interpolatable.`)}evaluate(t){const e=this.labels,n=this.outputs;if(1===e.length)return n[0].evaluate(t);const i=this.input.evaluate(t);if(i<=e[0])return n[0].evaluate(t);const r=e.length;if(i>=e[r-1])return n[r-1].evaluate(t);const s=lL(e,i),o=e[s],a=e[s+1],l=gL.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),c=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return TF(u,c,l);case"color":return PF.interpolate(u,c,l);case"padding":return FF.interpolate(u,c,l);case"colorArray":return zF.interpolate(u,c,l);case"numberArray":return LF.interpolate(u,c,l);case"variableAnchorOffsetCollection":return jF.interpolate(u,c,l);case"array":return RF(u,c,l);case"projectionDefinition":return BF.interpolate(u,c,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return PF.interpolate(u,c,l,"hcl");case"colorArray":return zF.interpolate(u,c,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return PF.interpolate(u,c,l,"lab");case"colorArray":return zF.interpolate(u,c,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function mL(t,e,n,i){const r=i-n,s=t-n;return 0===r?0:1===e?s/r:(Math.pow(e,s)-1)/(Math.pow(e,r)-1)}class yL{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let n=null;const i=e.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const o of t.slice(1)){const t=e.parse(o,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!t)return null;n=n||t.type,r.push(t)}if(!n)throw new Error("No output type");const s=i&&r.some(t=>eF(i,t.type));return new yL(s?$A:n,r)}evaluate(t){let e,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(t),n&&n instanceof UF&&!n.available&&(e||(e=n.name),n=null,i===this.args.length&&(n=e)),null!==n)break;return n}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function _L(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function vL(t,e,n,i){return 0===i.compare(e,n)}function bL(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=UA,this.lhs=t,this.rhs=e,this.collator=n,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const n=t[0];let s=e.parse(t[1],1,$A);if(!s)return null;if(!_L(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${QA(s.type)}'.`);let o=e.parse(t[2],2,$A);if(!o)return null;if(!_L(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${QA(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${QA(s.type)}' and '${QA(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new KF(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new KF(s.type,[o])));let a=null;if(4===t.length){if("string"!==s.type.kind&&"string"!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(a=e.parse(t[3],3,VA),!a)return null}return new r(s,o,a)}evaluate(r){const s=this.lhs.evaluate(r),o=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const e=$F(s),n=$F(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new DF(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const t=$F(s),n=$F(o);if("string"!==t.kind||"string"!==n.kind)return e(r,s,o)}return this.collator?n(r,s,o,this.collator.evaluate(r)):e(r,s,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const wL=bL("==",function(t,e,n){return e===n},vL),xL=bL("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!vL(0,e,n,i)}),SL=bL("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),CL=bL("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),kL=bL(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class TL{constructor(t,e,n){this.type=VA,this.locale=n,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const n=t[1];if("object"!=typeof n||Array.isArray(n))return e.error("Collator options argument must be an object.");const i=e.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,UA);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,UA);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,jA),!s)?null:new TL(i,r,s)}evaluate(t){return new IF(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class RL{constructor(t,e,n,i,r){this.type=jA,this.number=t,this.locale=e,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,NA);if(!n)return null;const i=t[2];if("object"!=typeof i||Array.isArray(i))return e.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=e.parse(i.locale,1,jA),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,jA),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,NA),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,NA),!a)?null:new RL(n,r,s,o,a)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class PL{constructor(t){this.type=WA,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const n=t[1];if(!Array.isArray(n)&&"object"==typeof n)return e.error("First argument must be an image or text section.");const i=[];let r=!1;for(let s=1;s<=t.length-1;++s){const n=t[s];if(r&&"object"==typeof n&&!Array.isArray(n)){r=!1;let t=null;if(n["font-scale"]&&(t=e.parse(n["font-scale"],1,NA),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,JA(jA)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,BA),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!MF.includes(n["vertical-align"]))return e.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${n["vertical-align"]}' instead.`);if(a=e.parse(n["vertical-align"],1,jA),!a)return null}const l=i[i.length-1];l.scale=t,l.font=s,l.textColor=o,l.verticalAlign=a}else{const n=e.parse(t[s],1,$A);if(!n)return null;const o=n.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:n,scale:null,font:null,textColor:null,verticalAlign:null})}}return new PL(i)}evaluate(t){return new AF(this.sections.map(e=>{const n=e.content.evaluate(t);return $F(n)===YA?new OF("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new OF(VF(n),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null,e.verticalAlign?e.verticalAlign.evaluate(t):null)}))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor),e.verticalAlign&&t(e.verticalAlign)}outputDefined(){return!1}}class IL{constructor(t){this.type=YA,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,jA);return n?new IL(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=UF.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class ML{constructor(t){this.type=NA,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=e.parse(t[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?e.error(`Expected argument of type string or array, but found ${QA(n.type)} instead.`):new ML(n):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return[...e].length;if(Array.isArray(e))return e.length;throw new DF(`Expected value to be of type string or array, but found ${QA($F(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const OL=8192;function AL(t,e){const n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const s=Math.pow(2,e.z);return[Math.round(n*s*OL),Math.round(i*s*OL)]}function FL(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/OL+e.x)/n,360*r-180),(i=(t[1]/OL+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function LL(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function zL(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function DL(t,e,n){return e[1]>t[1]!=n[1]>t[1]&&t[0]<(n[0]-e[0])*(t[1]-e[1])/(n[1]-e[1])+e[0]}function NL(t,e,n){const i=t[0]-e[0],r=t[1]-e[1],s=t[0]-n[0],o=t[1]-n[1];return i*o-s*r===0&&i*s<=0&&r*o<=0}function jL(t,e,n,i){const r=[e[0]-t[0],e[1]-t[1]];return 0!==(s=[i[0]-n[0],i[1]-n[1]])[0]*(o=r)[1]-s[1]*o[0]&&!(!VL(t,e,n,i)||!VL(n,i,t,e));var s,o}function UL(t,e,n){for(const i of n)for(let n=0;n0&&h<0||c<0&&h>0}function WL(t,e,n){const i=[];for(let r=0;rn[2]){const e=.5*i;let r=t[0]-n[0]>e?-i:n[0]-t[0]>e?i:0;0===r&&(r=t[0]-n[2]>e?-i:n[2]-t[0]>e?i:0),t[0]+=r}LL(e,t)}function XL(t,e,n,i){const r=Math.pow(2,i.z)*OL,s=[i.x*OL,i.y*OL],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];KL(i,e,n,r),o.push(i)}return o}function YL(t,e,n,i){const r=Math.pow(2,i.z)*OL,s=[i.x*OL,i.y*OL],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];LL(e,i),t.push(i)}o.push(t)}if(e[2]-e[0]<=r/2){!function(t){t[0]=t[1]=1/0,t[2]=t[3]=-1/0}(e);for(const t of o)for(const i of t)KL(i,e,n,r)}return o}class ZL{constructor(t,e){this.type=UA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(GF(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const n of e.features){const{type:e,coordinates:i}=n.geometry;"Polygon"===e&&t.push(i),"MultiPolygon"===e&&t.push(...i)}if(t.length)return new ZL(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new ZL(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new ZL(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=WL(e.coordinates,i,r),o=XL(t.geometry(),n,i,r);if(!zL(n,i))return!1;for(const t of o)if(!BL(t,s))return!1}if("MultiPolygon"===e.type){const s=HL(e.coordinates,i,r),o=XL(t.geometry(),n,i,r);if(!zL(n,i))return!1;for(const t of o)if(!qL(t,s))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=t.canonicalID();if("Polygon"===e.type){const s=WL(e.coordinates,i,r),o=YL(t.geometry(),n,i,r);if(!zL(n,i))return!1;for(const t of o)if(!GL(t,s))return!1}if("MultiPolygon"===e.type){const s=HL(e.coordinates,i,r),o=YL(t.geometry(),n,i,r);if(!zL(n,i))return!1;for(const t of o)if(!$L(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class JL{constructor(t=[],e=(t,e)=>te?1:0){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:n}=this,i=e[t];for(;t>0;){const r=t-1>>1,s=e[r];if(n(i,s)>=0)break;e[t]=s,t=r}e[t]=i}_down(t){const{data:e,compare:n}=this,i=this.length>>1,r=e[t];for(;t=0)break;e[t]=e[i],t=i}e[t]=r}}function QL(t){let e=0;for(let n,i,r=0,s=t.length,o=s-1;r1?(l=t[a+1][0],u=t[a+1][1]):d>0&&(l+=c/this.kx*d,u+=h/this.ky*d)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const p=c*c+h*h;p180;)t-=360;return t}}function rz(t,e){return e[0]-t[0]}function sz(t){return t[1]-t[0]+1}function oz(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=sz(t);if(e){if(2===n)return[t,null];const e=Math.floor(n/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===n)return[t,null];const i=Math.floor(n/2)-1;return[[t[0],t[0]+i],[t[0]+i+1,t[1]]]}function lz(t,e){if(!oz(e,t.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=e[0];i<=e[1];++i)LL(n,t[i]);return n}function uz(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)LL(e,t);return e}function cz(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function hz(t,e,n){if(!cz(t)||!cz(e))return NaN;let i=0,r=0;return t[2]e[2]&&(i=t[0]-e[2]),t[1]>e[3]&&(r=t[1]-e[3]),t[3]=i)return i;if(zL(r,s)){if(_z(t,e))return 0}else if(_z(e,t))return 0;let o=1/0;for(const a of t)for(let t=0,i=a.length,r=i-1;t0;){const r=o.pop();if(r[0]>=s)continue;const l=r[1],u=e?50:100;if(sz(l)<=u){if(!oz(l,t.length))return NaN;if(e){const e=yz(t,l,n,i);if(isNaN(e)||0===e)return e;s=Math.min(s,e)}else for(let e=l[0];e<=l[1];++e){const r=mz(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=az(l,e);bz(o,s,i,t,a,n[0]),bz(o,s,i,t,a,n[1])}}return s}function Sz(t,e,n,i,r,s=1/0){let o=Math.min(s,r.distance(t[0],n[0]));if(0===o)return o;const a=new JL([[0,[0,t.length-1],[0,n.length-1]]],rz);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],c=e?50:100,h=i?50:100;if(sz(l)<=c&&sz(u)<=h){if(!oz(l,t.length)&&oz(u,n.length))return NaN;let s;if(e&&i)s=fz(t,l,n,u,r),o=Math.min(o,s);else if(e&&!i){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=dz(n[t],e,r),o=Math.min(o,s),0===o)return o}else if(!e&&i){const e=n.slice(u[0],u[1]+1);for(let n=l[0];n<=l[1];++n)if(s=dz(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=gz(t,l,n,u,r),o=Math.min(o,s)}else{const s=az(l,e),c=az(u,i);wz(a,o,r,t,n,s[0],c[0]),wz(a,o,r,t,n,s[0],c[1]),wz(a,o,r,t,n,s[1],c[0]),wz(a,o,r,t,n,s[1],c[1])}}return o}function Ez(t){return"MultiPolygon"===t.type?t.coordinates.map(t=>({type:"Polygon",coordinates:t})):"MultiLineString"===t.type?t.coordinates.map(t=>({type:"LineString",coordinates:t})):"MultiPoint"===t.type?t.coordinates.map(t=>({type:"Point",coordinates:t})):[t]}class Cz{constructor(t,e){this.type=NA,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(GF(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Cz(e,e.features.map(t=>Ez(t.geometry)).flat());if("Feature"===e.type)return new Cz(e,Ez(e.geometry));if("type"in e&&"coordinates"in e)return new Cz(e,Ez(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>FL([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new iz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Sz(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Sz(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,xz(i,!1,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const n=t.geometry(),i=n.flat().map(e=>FL([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new iz(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,Sz(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,Sz(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,xz(i,!0,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const n=t.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(t){if(t.length<=1)return[t];const e=[];let n,i;for(const r of t){const t=QL(r);0!==t&&(r.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&e.push(n),n=[r]):n.push(r))}return n&&e.push(n),e}(n).map(e=>e.map(e=>e.map(e=>FL([e.x,e.y],t.canonical)))),r=new iz(i[0][0][0][1]);let s=1/0;for(const o of e)for(const t of i){switch(o.type){case"Point":s=Math.min(s,xz([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,xz(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,vz(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class kz{constructor(t){this.type=$A,this.key=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const n=t[1];return null==n?e.error("Global state property must be defined."):"string"!=typeof n?e.error(`Global state property must be string, but found ${typeof t[1]} instead.`):new kz(n)}evaluate(t){var e;const n=null===(e=t.globals)||void 0===e?void 0:e.globalState;return n&&0!==Object.keys(n).length?wF(n,this.key):null}eachChild(){}outputDefined(){return!1}}const Tz={"==":wL,"!=":xL,">":EL,"<":SL,">=":kL,"<=":CL,array:KF,at:nL,boolean:KF,case:oL,coalesce:yL,collator:TL,format:PL,image:IL,in:iL,"index-of":rL,interpolate:gL,"interpolate-hcl":gL,"interpolate-lab":gL,length:ML,let:tL,literal:WF,match:sL,number:KF,"number-format":RL,object:KF,slice:aL,step:uL,string:KF,"to-boolean":YF,"to-color":YF,"to-number":YF,"to-string":YF,var:eL,within:ZL,distance:Cz,"global-state":kz};class Rz{constructor(t,e,n,i){this.name=t,this.type=e,this._evaluate=n,this.args=i}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const n=t[0],i=Rz.definitions[n];if(!i)return e.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,s=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,o=s.filter(([e])=>!Array.isArray(e)||e.length===t.length-1);let a=null;for(const[l,u]of o){a=new QF(e.registry,Az,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(QA).join(", ")})`:`(${QA(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&Az(t):n&&t instanceof WF}),!!n&&Fz(t)&&zz(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function Fz(t){if(t instanceof Rz){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof ZL)return!1;if(t instanceof Cz)return!1;let e=!0;return t.eachChild(t=>{e&&!Fz(t)&&(e=!1)}),e}function Lz(t){if(t instanceof Rz&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!Lz(t)&&(e=!1)}),e}function zz(t,e){if(t instanceof Rz&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!zz(t,e)&&(n=!1)}),n}function Dz(t){return{result:"success",value:t}}function Nz(t){return{result:"error",value:t}}function jz(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&$F(t)===GA}Rz.register(Tz,{error:[{kind:"error"},[jA],(t,[e])=>{throw new DF(e.evaluate(t))}],typeof:[jA,[$A],(t,[e])=>QA($F(e.evaluate(t)))],"to-rgba":[JA(NA,4),[BA],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[BA,[NA,NA,NA],Pz],rgba:[BA,[NA,NA,NA,NA],Pz],has:{type:UA,overloads:[[[jA],(t,[e])=>Iz(e.evaluate(t),t.properties())],[[jA,GA],(t,[e,n])=>Iz(e.evaluate(t),n.evaluate(t))]]},get:{type:$A,overloads:[[[jA],(t,[e])=>Mz(e.evaluate(t),t.properties())],[[jA,GA],(t,[e,n])=>Mz(e.evaluate(t),n.evaluate(t))]]},"feature-state":[$A,[jA],(t,[e])=>Mz(e.evaluate(t),t.featureState||{})],properties:[GA,[],t=>t.properties()],"geometry-type":[jA,[],t=>t.geometryType()],id:[$A,[],t=>t.id()],zoom:[NA,[],t=>t.globals.zoom],"heatmap-density":[NA,[],t=>t.globals.heatmapDensity||0],elevation:[NA,[],t=>t.globals.elevation||0],"line-progress":[NA,[],t=>t.globals.lineProgress||0],accumulated:[$A,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[NA,Oz(NA),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[NA,Oz(NA),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:NA,overloads:[[[NA,NA],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[NA],(t,[e])=>-e.evaluate(t)]]},"/":[NA,[NA,NA],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[NA,[NA,NA],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[NA,[],()=>Math.LN2],pi:[NA,[],()=>Math.PI],e:[NA,[],()=>Math.E],"^":[NA,[NA,NA],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[NA,[NA],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[NA,[NA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[NA,[NA],(t,[e])=>Math.log(e.evaluate(t))],log2:[NA,[NA],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[NA,[NA],(t,[e])=>Math.sin(e.evaluate(t))],cos:[NA,[NA],(t,[e])=>Math.cos(e.evaluate(t))],tan:[NA,[NA],(t,[e])=>Math.tan(e.evaluate(t))],asin:[NA,[NA],(t,[e])=>Math.asin(e.evaluate(t))],acos:[NA,[NA],(t,[e])=>Math.acos(e.evaluate(t))],atan:[NA,[NA],(t,[e])=>Math.atan(e.evaluate(t))],min:[NA,Oz(NA),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[NA,Oz(NA),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[NA,[NA],(t,[e])=>Math.abs(e.evaluate(t))],round:[NA,[NA],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[NA,[NA],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[NA,[NA],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[UA,[jA,$A],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[UA,[$A],(t,[e])=>t.id()===e.value],"filter-type-==":[UA,[jA],(t,[e])=>t.geometryType()===e.value],"filter-<":[UA,[jA,$A],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i{const n=t.id(),i=e.value;return typeof n==typeof i&&n":[UA,[jA,$A],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[UA,[$A],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[UA,[jA,$A],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[UA,[$A],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[UA,[jA,$A],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[UA,[$A],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[UA,[$A],(t,[e])=>e.value in t.properties()],"filter-has-id":[UA,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[UA,[JA(jA)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[UA,[JA($A)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[UA,[jA,JA($A)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[UA,[jA,JA($A)],(t,[e,n])=>function(t,e,n,i){for(;n<=i;){const r=n+i>>1;if(e[r]===t)return!0;e[r]>t?i=r-1:n=r+1}return!1}(t.properties()[e.value],n.value,0,n.value.length-1)],all:{type:UA,overloads:[[[UA,UA],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[Oz(UA),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:UA,overloads:[[[UA,UA],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[Oz(UA),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[UA,[UA],(t,[e])=>!e.evaluate(t)],"is-supported-script":[UA,[jA],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[jA,[jA],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[jA,[jA],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[jA,Oz($A),(t,e)=>e.map(e=>VF(e.evaluate(t))).join("")],"resolved-locale":[jA,[VA],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Uz{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new JF,this._defaultValue=e?function(t){if("color"===t.type&&jz(t.default))return new PF(0,0,0,0);switch(t.type){case"color":return PF.parse(t.default)||null;case"padding":return FF.parse(t.default)||null;case"numberArray":return LF.parse(t.default)||null;case"colorArray":return zF.parse(t.default)||null;case"variableAnchorOffsetCollection":return jF.parse(t.default)||null;case"projectionDefinition":return BF.parse(t.default)||null;default:return void 0===t.default?null:t.default}}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,n,i,r,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new DF(`Expected value to be one of ${Object.keys(this._enumValues).map(t=>JSON.stringify(t)).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(o){return this._warningHistory[o.message]||(this._warningHistory[o.message]=!0,"undefined"!=typeof console&&console.warn(o.message)),this._defaultValue}}}function Bz(t,e){const n=new QF(Tz,Az,[],e?function(t){const e={color:BA,string:jA,number:NA,enum:jA,boolean:UA,formatted:WA,padding:HA,numberArray:XA,colorArray:KA,projectionDefinition:qA,resolvedImage:YA,variableAnchorOffsetCollection:ZA};return"array"===t.type?JA(e[t.value]||$A,t.length):e[t.type]}(e):void 0),i=n.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return i?Dz(new Uz(i,e)):Nz(n.errors)}class qz{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Lz(e.expression),this.globalStateRefs=Wz(e.expression)}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}}class Gz{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Lz(e.expression),this.globalStateRefs=Wz(e.expression),this.interpolationType=i}evaluateWithoutErrorHandling(t,e,n,i,r,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,n,i,r,s)}evaluate(t,e,n,i,r,s){return this._styleExpression.evaluate(t,e,n,i,r,s)}interpolationFactor(t,e,n){return this.interpolationType?gL.interpolationFactor(this.interpolationType,t,e,n):0}}function $z(t,e){const n=Bz(t,e);if("error"===n.result)return n;const i=n.value.expression,r=Fz(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return Nz([new LA("","data expressions not supported")]);var s;const o=zz(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return Nz([new LA("","zoom expressions not supported")]);const a=Vz(i);if(!a&&!o)return Nz([new LA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof LA)return Nz([a]);if(a instanceof gL&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return Nz([new LA("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Dz(new qz(r?"constant":"source",n.value));const l=a instanceof gL?a.interpolation:void 0;return Dz(new Gz(r?"camera":"composite",n.value,a.labels,l))}function Vz(t){let e=null;if(t instanceof tL)e=Vz(t.result);else if(t instanceof yL){for(const n of t.args)if(e=Vz(n),e)break}else(t instanceof uL||t instanceof gL)&&t.input instanceof Rz&&"zoom"===t.input.name&&(e=t);return e instanceof LA||t.eachChild(t=>{const n=Vz(t);n instanceof LA?e=n:!e&&n?e=new LA("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new LA("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function Wz(t,e=new Set){return t instanceof kz&&e.add(t.key),t.eachChild(t=>{Wz(t,e)}),e}function Hz(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!Hz(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Kz={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Xz(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Hz(t)||(t=Jz(t));const e=Bz(t,Kz);if("error"===e.result)throw new Error(e.value.map(t=>`${t.key}: ${t.message}`).join(", "));return{filter:(t,n,i)=>e.value.evaluate(t,n,{},i),needGeometry:Zz(t),getGlobalStateRefs:()=>Wz(e.value.expression)}}function Yz(t,e){return te?1:0}function Zz(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Qz(t[1],t[2],e):"any"===e?(n=t.slice(1),["any"].concat(n.map(Jz))):"all"===e?["all"].concat(t.slice(1).map(Jz)):"none"===e?["all"].concat(t.slice(1).map(Jz).map(nD)):"in"===e?tD(t[1],t.slice(2)):"!in"===e?nD(tD(t[1],t.slice(2))):"has"===e?eD(t[1]):"!has"!==e||nD(eD(t[1]));var n}function Qz(t,e,n){switch(t){case"$type":return[`filter-type-${n}`,e];case"$id":return[`filter-id-${n}`,e];default:return[`filter-${n}`,t,e]}}function tD(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(t=>typeof t!=typeof e[0])?["filter-in-large",t,["literal",e.sort(Yz)]]:["filter-in-small",t,["literal",e]]}}function eD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function nD(t){return["!",t]}function iD(t){return"object"==typeof t?["literal",t]:t}function rD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function sD(t,e){const n=iD((i=t.default,r=e.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===e.type?"":n}function oD(t,e,n){const i=uD(t,e),r=["get",t.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const t of n)i.push(["==",r,t[0]],t[1]);return i.push(sD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)lD(i,t[0],t[1],!1);return i.push(sD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)lD(e,t[0],t[1],!0);return aD(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,iD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[rD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)lD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,iD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function aD(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function lD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function uD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function cD(t){const e=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(t);null!==r;r=n.exec(t)){const s=t.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,s.length>0&&e.push(s),e.push(["get",r[1]])}if(1===e.length)return t;if(i":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};var dD={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},pD=" ",fD=/(italic|oblique)$/i,gD={};function mD(t,e,n){var i=gD[t];if(!i){Array.isArray(t)||(t=[t]);for(var r,s,o=400,a="normal",l=[],u=0,c=t.length;u1?h[h.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:dD[p],h.pop(),f&&p.startsWith(f)&&h.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=h.join(pD).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(pD)&&(g='"'+g+'"'),l.push(g)}i=gD[t]=[a,o,l]}return i[0]+pD+i[1]+pD+e+"px"+(n?"/"+n:"")+pD+i[2]}class yD extends JI{constructor(t,e,n,i,r){super(t,e,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(t){t?(this.error_=t,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}}class _D extends fS{constructor(t,e,n){super(),n=n||{},this.tileCoord=t,this.state=e,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Wx)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(t){if(4!==this.state){if(3!==this.state&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}}load(){vS()}getAlpha(t,e){if(!this.transition_)return 1;let n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else n=e,this.transitionStarts_[t]=n;const i=e-n+1e3/60;return i>=this.transition_?1:XE(i/this.transition_)}inTransition(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}endTransition(t){this.transition_&&(this.transitionStarts_[t]=-1)}disposeInternal(){this.release(),super.disposeInternal()}}class vD extends _D{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,FS?this.image_=new OffscreenCanvas(1,1):(this.image_=new Image,null!==i&&(this.image_.crossOrigin=i)),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(t){this.image_=t,this.state=2,this.unlistenImage_(),this.changed()}getCrossOrigin(){return this.crossOrigin_}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const t=MT(1,1);return t.fillStyle="rgba(0,0,0,0)",t.fillRect(0,0,1,1),t.canvas}(),this.changed()}handleImageLoad_(){if(FS)this.state=2;else{const t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=2:this.state=4}this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(t,e,n){const i=t;let r=!0,s=!1,o=!1;const a=[mS(i,"load",function(){o=!0,s||e()})];return i.src&&LS?(s=!0,i.decode().then(function(){r&&e()}).catch(function(){r&&(o?e():n())})):a.push(mS(i,"error",n)),function(){r=!1,a.forEach(yS)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}}class bD{constructor(t,e,n,i){this.minX=t,this.maxX=e,this.minY=n,this.maxY=i}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,e){return this.minX<=t&&t<=this.maxX&&this.minY<=e&&e<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minXthis.maxX&&(this.maxX=t.maxX),t.minYthis.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function wD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new bD(t,e,n,i)}const xD=[];class SD extends _D{constructor(t,e,n,i,r){super(t,e,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=MT(1,1,xD)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(t){const e=wS(t);return e in this.replayState_||(this.replayState_[e]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[e]}load(){this.getSourceTiles()}release(){this.context_&&(FT(this.context_),xD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let ED=class extends _D{constructor(t,e,n,i,r,s){super(t,e,s),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(t,e){this.setFeatures(t)}onError(){this.setState(3)}setFeatures(t){this.features_=t,this.setState(2)}setLoader(t){this.loader_=t}};const CD="https://api.mapbox.com";function kD(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function TD(t,e,n){const i=kD(t);if(!i)return decodeURI(new URL(t,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${t}`);const r=i.slice(8);return`${CD}/styles/v1/${r}/sprite?access_token=${e}`}function RD(t,e){const n=kD(t);if(!n)return decodeURI(new URL(t,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${t}`);const i=n.slice(7);return`${CD}/styles/v1/${i}?&access_token=${e}`}const PD=["a","b","c","d"];function ID(t,e,n,i){const r=new URL(t,i||location.href),s=kD(t);if(!s)return e?(r.searchParams.has(n)||r.searchParams.set(n,e),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===s){const t=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${s}/{z}/{x}/{y}${t}.webp?access_token=${e}`]}return PD.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const MD=Object.freeze({}),OD={},AD={};let FD=0;function LD(t){return t.id||(t.id=FD++),t.id}function zD(t){let e=OD[t.id];return e||(e={},OD[LD(t)]=e),e}function DD(t){return t*Math.PI/180}const ND=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function jD(t,e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(t,e);const n=document.createElement("canvas");return n.width=t,n.height=e,n}function UD(t,e){let n=0;const i=e.length;for(;nr).then(t=>t instanceof Response?(i&&(i.url=t.url),o(t)):(t instanceof Request||(t=new Request(t)),t.headers.get("Accept")||t.headers.set("Accept","application/json"),i&&(i.url=t.url),fetch(t).then(o).catch(s))).catch(s);return qD[e]=[r,a],a}function $D(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return GD("Style",t=RD(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(Nz){return Promise.reject(Nz)}}const VD={};function WD(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=VD[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof ED)t.setLoader((e,n,r)=>{const s=function(n){n.arrayBuffer().then(n=>{const i=t.getFormat().readFeatures(n,{extent:e,featureProjection:r});t.setFeatures(i)})};cS(()=>i).then(e=>{if(e instanceof Response)return s(e);fetch(e).then(s).catch(()=>t.setState(3))}).catch(()=>t.setState(3))});else{const e=t.getImage();cS(()=>i).then(n=>{if("string"==typeof n)return void(e.src=n);const i=t=>t.blob().then(t=>{const n=URL.createObjectURL(t);e.addEventListener("load",()=>URL.revokeObjectURL(n)),e.addEventListener("error",()=>URL.revokeObjectURL(n)),e.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(()=>t.setState(3))}).catch(()=>t.setState(3))}});const o=t.url;if(o&&!t.tiles){const i=ID(o,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(o.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},t,{url:void 0,tiles:i}),tileLoadFunction:s});else{const t={};r=GD("Source",i[0],n,t).then(function(e){return e.tiles=e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),ID(i,n.accessToken,n.accessTokenParam||"access_token",t.url)[0]}),Promise.resolve({tileJson:e,tileLoadFunction:s})})}}else t.tiles?(t=Object.assign({},t,{tiles:t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),ID(i,n.accessToken,n.accessTokenParam||"access_token",e||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},t),tileLoadFunction:s})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));VD[i]=r}return r}function HD(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=jD(r[0],r[1]),o=s.getContext("2d");o.drawImage(t,e.x,e.y,e.width,e.height,n*e.pixelRatio,n*e.pixelRatio,e.width,e.height);const a=o.getImageData(0,0,r[0],r[1]);o.globalCompositeOperation="destination-over",o.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let u=0,c=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function KD(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function XD(t,e,n){const i=jD(e.width,e.height),r=i.getContext("2d");r.drawImage(t,e.x,e.y,e.width,e.height,0,0,e.width,e.height);const s=r.getImageData(0,0,e.width,e.height),o=s.data;for(let a=0,l=s.width;a0?(o[e+0]=Math.round(255*n.r*s),o[e+1]=Math.round(255*n.g*s),o[e+2]=Math.round(255*n.b*s),o[e+3]=Math.round(255*s)):o[e+3]=0}return r.putImageData(s,0,0),i}const YD=Array(256).join(" ");function ZD(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=YD.slice(0,Math.round(e/.1));for(let t=0,e=i.length;t0&&(n+="\n"),n+=i[t].split("").join(r);return n}return t}let JD;function QD(){return JD||(JD=jD(1,1).getContext("2d")),JD}function tN(t,e){return QD().measureText(t).width+(t.length-1)*e}const eN={};function nN(t,e,n,i){if(-1!==t.indexOf("\n")){const r=t.split("\n"),s=[];for(let t=0,o=r.length;t1){const t=QD();t.font=e;const r=t.measureText("M").width*n;let a="";const l=[];for(let e=0,n=o.length;e1;++e){const t=l[e];if(tN(t,i)<.35*r){const r=e>0?tN(l[e-1],i):1/0,s=e.7*r&&tN(s,i)<.6*r){const o=t.split(" "),a=o.pop();tN(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=ZD(s,i),eN[r]=s}return s}fM.on("propertychange",()=>{for(const t in eN)delete eN[t]});const iN=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],rN={},sN={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},oN={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},aN={zoom:0,distanceFromCenter:0};let lN,uN;function cN(t,e,n,i,r,s){const o=t.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[o]||(r[o]={});const a=r[o];if(!a[n]){let i=(t[e]||MD)[n];const r=hD[`${e}_${t.type}`][n];void 0===i&&(i=r.default);let s=(l=i,Array.isArray(l)&&l.length>0&&"string"==typeof l[0]&&l[0]in Tz);if(!s&&jz(i)&&(i=function(t,e){let n=t.stops;if(!n)return function(t,e){const n=["get",t.property];if(void 0===t.default)return"string"===e.type?["string",n]:n;if("enum"===e.type)return["match",n,Object.keys(e.values),n,t.default];{const i=["color"===e.type?"to-color":e.type,n,iD(t.default)];return"array"===e.type&&i.splice(1,0,e.value,e.length||null),i}}(t,e);const i=n&&"object"==typeof n[0][0],r=i||void 0!==t.property,s=i||!r;return n=n.map(t=>!r&&e.tokens&&"string"==typeof t[1]?[t[0],cD(t[1])]:[t[0],iD(t[1])]),i?function(t,e,n){const i={},r={},s=[];for(let o=0;o`${t.key}: ${t.message}`).join(", "));return n.value}(i,r);a[n]=t.evaluate.bind(t)}else{const t=r.type;"color"!==t&&"colorArray"!==t||(i=PF.parse(i)),a[n]=function(){return i}}}var l;return a[n](aN,i,s)}function hN(t,e,n,i){return cN(t,"layout",`${n}-allow-overlap`,e,i)?cN(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function dN(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=Xz(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](aN,n)}function pN(t,e){if(t){if(0===t.a||0===e)return;const n=t.a;return e=void 0===e?1:e,0===n?"transparent":"rgba("+Math.round(255*t.r/n)+","+Math.round(255*t.g/n)+","+Math.round(255*t.b/n)+","+n*e+")"}return t}Rz.register(Tz,{...Rz.definitions,pitch:[{kind:"number"},[],()=>aN.pitch||90],"distance-from-center":[{kind:"number"},[],()=>aN.distanceFromCenter||0]});const fN=/\{[^{}}]*\}/g;function gN(t,e){return t.replace(fN,function(t){return e[t.slice(1,-1)]||""})}function mN(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const yN={};class _N{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=pA,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?XC(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=XC(n),n.setWorldExtent(e.extent)),e={dataProjection:n,featureProjection:e.featureProjection}}return this.adaptOptions(e)}adaptOptions(t){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},t)}getType(){return vS()}readFeature(t,e){return vS()}readFeatures(t,e){return vS()}readGeometry(t,e){return vS()}readProjection(t){return vS()}writeFeature(t,e){return vS()}writeFeatures(t,e){return vS()}writeGeometry(t,e){return vS()}}function vN(t,e,n){const i=n?XC(n.featureProjection):null,r=n?XC(n.dataProjection):null;let s=t;if(i&&r&&!tk(i,r)){e&&(s=t.clone());const n=e?i:r,o=e?r:i;"tile-pixels"===n.getUnits()?s.transform(n,o):s.applyTransform(ik(n,o))}if(e&&n&&void 0!==n.decimals){const e=Math.pow(10,n.decimals),i=function(t){for(let n=0,i=t.length;nwN({...t,geometry:e})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return vN(new EA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(lT(t,0,e,n)||cT(t=t.slice(),0,e,n),t):(aT(t,0,e,n)||uT(t=t.slice(),0,e,n),t)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,t.properties||{},t.id).enableSimplifyTransformed(),!1,e)}function xN(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>xN(t,e));return new yA(n)}return vN(new(0,bN[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class SN extends _N{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(EN(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(EN(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return vS()}readFeaturesFromObject(t,e){return vS()}readGeometry(t,e){return this.readGeometryFromObject(EN(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return vS()}readProjection(t){return this.readProjectionFromObject(EN(t))}readProjectionFromObject(t){return vS()}writeFeature(t,e){return JSON.stringify(this.writeFeatureObject(t,e))}writeFeatureObject(t,e){return vS()}writeFeatures(t,e){return JSON.stringify(this.writeFeaturesObject(t,e))}writeFeaturesObject(t,e){return vS()}writeGeometry(t,e){return JSON.stringify(this.writeGeometryObject(t,e))}writeGeometryObject(t,e){return vS()}}function EN(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class CN extends SN{constructor(t){t=t||{},super(),this.dataProjection=XC(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=XC(t.featureProjection)),t.featureClass&&(this.featureClass=t.featureClass),this.geometryName_=t.geometryName,this.extractGeometryName_=t.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(t,e){let n=null;n="Feature"===t.type?t:{type:"Feature",geometry:t,properties:null};const i=kN(n.geometry);if(this.featureClass===EA)return wN({geometry:i,id:n.id,properties:n.properties},e);const r=new pA;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(xN(i,e)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(t,e){let n=null;if("FeatureCollection"===t.type){n=[];const i=t.features;for(let t=0,r=i.length;t>3,r=this.pos;this.type=7&n,t(i,e,this),this.pos===r&&this.skip(n)}return e}readMessage(t,e){return this.readFields(t,e,this.readVarint()+this.pos)}readFixed32(){const t=this.dataView.getUint32(this.pos,!0);return this.pos+=4,t}readSFixed32(){const t=this.dataView.getInt32(this.pos,!0);return this.pos+=4,t}readFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*RN;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*RN;return this.pos+=8,t}readFloat(){const t=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,t}readDouble(){const t=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,t}readVarint(t){const e=this.buf;let n,i;return i=e[this.pos++],n=127&i,i<128?n:(i=e[this.pos++],n|=(127&i)<<7,i<128?n:(i=e[this.pos++],n|=(127&i)<<14,i<128?n:(i=e[this.pos++],n|=(127&i)<<21,i<128?n:(i=e[this.pos],n|=(15&i)<<28,function(t,e,n){const i=n.buf;let r,s;if(s=i[n.pos++],r=(112&s)>>4,s<128)return ON(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return ON(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return ON(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return ON(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return ON(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return ON(t,r,e);throw new Error("Expected varint not more than 10 bytes")}(n,t,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const t=this.readVarint();return t%2==1?(t+1)/-2:t/2}readBoolean(){return Boolean(this.readVarint())}readString(){const t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&IN?IN.decode(this.buf.subarray(e,t)):function(t,e,n){let i="",r=e;for(;r239?4:e>223?3:e>191?2:1;if(r+u>n)break;1===u?e<128&&(l=e):2===u?(s=t[r+1],128==(192&s)&&(l=(31&e)<<6|63&s,l<=127&&(l=null))):3===u?(s=t[r+1],o=t[r+2],128==(192&s)&&128==(192&o)&&(l=(15&e)<<12|(63&s)<<6|63&o,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===u&&(s=t[r+1],o=t[r+2],a=t[r+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&e)<<18|(63&s)<<12|(63&o)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,u=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=u}return i}(this.buf,e,t)}readBytes(){const t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e}readPackedVarint(t=[],e){const n=this.readPackedEnd();for(;this.pos127;);else if(2===e)this.pos=this.readVarint()+this.pos;else if(5===e)this.pos+=4;else{if(1!==e)throw new Error(`Unimplemented type: ${e}`);this.pos+=8}}writeTag(t,e){this.writeVarint(t<<3|e)}realloc(t){let e=this.length||16;for(;e268435455||t<0?function(t,e){let n,i;if(t>=0?(n=t%4294967296|0,i=t/4294967296|0):(n=~(-t%4294967296),i=~(-t/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,n){n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos++]=127&t|128,t>>>=7,n.buf[n.pos]=127&t}(n,0,e),function(t,e){const n=(7&t)<<4;e.buf[e.pos++]|=n|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(i,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))}writeSVarint(t){this.writeVarint(t<0?2*-t-1:2*t)}writeBoolean(t){this.writeVarint(+t)}writeString(t){t=String(t),this.realloc(4*t.length),this.pos++;const e=this.pos;this.pos=function(t,e,n){for(let i,r,s=0;s55295&&i<57344){if(!r){i>56319||s+1===e.length?(t[n++]=239,t[n++]=191,t[n++]=189):r=i;continue}if(i<56320){t[n++]=239,t[n++]=191,t[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(t[n++]=239,t[n++]=191,t[n++]=189,r=null);i<128?t[n++]=i:(i<2048?t[n++]=i>>6|192:(i<65536?t[n++]=i>>12|224:(t[n++]=i>>18|240,t[n++]=i>>12&63|128),t[n++]=i>>6&63|128),t[n++]=63&i|128)}return n}(this.buf,t,this.pos);const n=this.pos-e;n>=128&&AN(e,n,this),this.pos=e-1,this.writeVarint(n),this.pos+=n}writeFloat(t){this.realloc(4),this.dataView.setFloat32(this.pos,t,!0),this.pos+=4}writeDouble(t){this.realloc(8),this.dataView.setFloat64(this.pos,t,!0),this.pos+=8}writeBytes(t){const e=t.length;this.writeVarint(e),this.realloc(e);for(let n=0;n=128&&AN(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(t,e,n){this.writeTag(t,2),this.writeRawMessage(e,n)}writePackedVarint(t,e){e.length&&this.writeMessage(t,FN,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,LN,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,NN,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,zN,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,DN,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,jN,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,UN,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,BN,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,qN,e)}writeBytesField(t,e){this.writeTag(t,2),this.writeBytes(e)}writeFixed32Field(t,e){this.writeTag(t,5),this.writeFixed32(e)}writeSFixed32Field(t,e){this.writeTag(t,5),this.writeSFixed32(e)}writeFixed64Field(t,e){this.writeTag(t,1),this.writeFixed64(e)}writeSFixed64Field(t,e){this.writeTag(t,1),this.writeSFixed64(e)}writeVarintField(t,e){this.writeTag(t,0),this.writeVarint(e)}writeSVarintField(t,e){this.writeTag(t,0),this.writeSVarint(e)}writeStringField(t,e){this.writeTag(t,2),this.writeString(e)}writeFloatField(t,e){this.writeTag(t,5),this.writeFloat(e)}writeDoubleField(t,e){this.writeTag(t,1),this.writeDouble(e)}writeBooleanField(t,e){this.writeVarintField(t,+e)}}function ON(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function AN(t,e,n){const i=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));n.realloc(i);for(let r=n.pos-1;r>=t;r--)n.buf[r+i]=n.buf[r]}function FN(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>c&&(i.push(u),c=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>c&&(n.push(n[c],n[c+1]),u+=2)}}u>c&&(i.push(u),c=u)}createFeature_(t,e,n){const i=e.type;if(0===i)return null;let r;const s=e.properties;let o;this.idProperty_?(o=s[this.idProperty_],delete s[this.idProperty_]):o=e.id,s[this.layerName_]=e.layer.name;const a=[],l=[];this.readRawGeometry_(t,e,a,l);const u=function(t,e){let n;return 1===t?n=1===e?"Point":"MultiPoint":2===t?n=1===e?"LineString":"MultiLineString":3===t&&(n="Polygon"),n}(i,l.length);if(this.featureClass===EA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=hT(a,l);t=e.length>1?new xA(a,"XY",e):new dT(a,"XY",l)}else t="Point"===u?new Xk(a,"XY"):"LineString"===u?new vA(a,"XY"):"MultiPoint"===u?new wA(a,"XY"):"MultiLineString"===u?new bA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=vN(t,!1,n);r.setGeometry(e),void 0!==o&&r.setId(o),r.setProperties(s,!0)}return r}getType(){return"arraybuffer"}readFeatures(t,e){const n=this.layers_,i=XC((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new MN(t),s=r.readFields($N,{}),o=[];for(const a in s){if(n&&!n.includes(a))continue;const t=s[a],l=t?[0,0,t.extent,t.extent]:null;i.setExtent(l);for(let n=0,i=t.length;n>3)?n.readString():2===t?n.readFloat():3===t?n.readDouble():4===t?n.readVarint64():5===t?n.readVarint():6===t?n.readSVarint():7===t?n.readBoolean():null;e.values.push(i)}}function WN(t,e,n){if(1==t)e.id=n.readVarint();else if(2==t){const t=n.readVarint()+n.pos;for(;n.pos=o.width)return null;const u=zE(s),c=Math.floor(o.height*((s[3]-i[1])/u));return c<0||c>=o.height?null:this.getImageData(o,l,c)}renderFrame(t,e){const n=this.image,i=n.getExtent(),r=n.getResolution(),[s,o]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=t.layerStatesArray[t.layerIndex],u=t.pixelRatio,c=t.viewState,h=c.center,d=c.resolution,p=u*s/(d*a),f=u*o/(d*a);this.prepareContainer(t,e);const g=this.context.canvas.width,m=this.context.canvas.height,y=this.getRenderContext(t);let _=!1,v=!0;if(l.extent){const e=lk(l.extent,c.projection);v=BE(e,t.extent),_=v&&!mE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=_k(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-h[0])/s,a*(h[1]-i[3])/o);this.renderedResolution=o*u/a;const x=b.width*w[0],S=b.height*w[3];if(this.getLayer().getSource().getInterpolate()||(y.imageSmoothingEnabled=!1),this.preRender(y,t),v&&x>=.5&&S>=.5){const t=w[4],e=w[5],n=l.opacity;1!==n&&(y.save(),y.globalAlpha=n),y.drawImage(b,0,0,+b.width,+b.height,t,e,x,S),1!==n&&y.restore()}return this.postRender(this.context,t),_&&y.restore(),y.imageSmoothingEnabled=!0,this.container}}class XN extends UR{constructor(t){super(t=t||{})}}class YN extends XN{constructor(t){super(t)}createRenderer(){return new KN(this)}getData(t){return super.getData(t)}}function ZN(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const JN=new Error("disposed"),QN=[256,256];class tj extends _D{constructor(t){super(t.tileCoord,0,{transition:t.transition,interpolate:t.interpolate}),this.loader_=t.loader,this.data_=null,this.error_=null,this.size_=t.size||null,this.controller_=t.controller||null}getSize(){if(this.size_)return this.size_;const t=ZN(this.data_);return t?[t.width,t.height]:QN}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const t=this;this.loader_().then(function(e){t.data_=e,t.state=2,t.changed()}).catch(function(e){t.error_=e,t.state=3,t.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(JN),this.controller_=null),super.disposeInternal()}}let ej;const nj=[];function ij(t,e,n,i,r){t.beginPath(),t.moveTo(0,0),t.lineTo(e,n),t.lineTo(i,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(e,i)+1,Math.max(n,r)),t.restore()}function rj(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function sj(t,e,n,i){const r=rk(n,e,t);let s=YC(e,i,n);const o=e.getMetersPerUnit();void 0!==o&&(s*=o);const a=t.getMetersPerUnit();void 0!==a&&(s/=a);const l=t.getExtent();if(!l||gE(l,r)){const e=YC(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function oj(t,e,n,i,r,s,o,a,l,u,c,h,d){const p=MT(Math.round(n*t),Math.round(n*e),nj);if(h||(p.imageSmoothingEnabled=!1),0===l.length)return p.canvas;function f(t){return Math.round(t*n)/n}p.scale(n,n),p.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(t){EE(g,t.extent)});const y=n/i,_=(h?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=MT(Math.round(UE(g)*y),Math.round(zE(g)*y),nj),h||(m.imageSmoothingEnabled=!1),l.forEach(function(t){if(t.image.width>0&&t.image.height>0){if(t.clipExtent){m.save();const e=(t.clipExtent[0]-g[0])*y,n=-(t.clipExtent[3]-g[3])*y,i=UE(t.clipExtent)*y,r=zE(t.clipExtent)*y;m.rect(h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),m.clip()}const e=(t.extent[0]-g[0])*y,n=-(t.extent[3]-g[3])*y,i=UE(t.extent)*y,r=zE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,h?e:Math.round(e),h?n:Math.round(n),h?i:Math.round(e+i)-Math.round(e),h?r:Math.round(n+r)-Math.round(n)),t.clipExtent&&m.restore()}}));const v=NE(o);return a.getTriangles().forEach(function(t){const e=t.source,n=t.target;let i=e[0][0],r=e[0][1],o=e[1][0],a=e[1][1],u=e[2][0],c=e[2][1];const d=f((n[0][0]-v[0])/s),y=f(-(n[0][1]-v[1])/s),b=f((n[1][0]-v[0])/s),w=f(-(n[1][1]-v[1])/s),x=f((n[2][0]-v[0])/s),S=f(-(n[2][1]-v[1])/s),E=i,C=r;i=0,r=0,o-=E,a-=C,u-=E,c-=C;const k=function(t){const e=t.length;for(let i=0;ir&&(r=e,n=o)}if(0===r)return null;const s=t[n];t[n]=t[i],t[i]=s;for(let o=i+1;o=0;i--){n[i]=t[i][e]/t[i][i];for(let r=i-1;r>=0;r--)t[r][e]-=t[r][i]*n[i]}return n}([[o,a,0,0,b-d],[u,c,0,0,x-d],[0,0,o,a,w-y],[0,0,u,c,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===ej){const t=MT(6,6,nj);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",ij(t,4,5,4,0),ij(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;ej=rj(e,0)||rj(e,4)||rj(e,8),FT(t),nj.push(t.canvas)}return ej}()||!h){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;imk(o,rk(t,this.targetProj_,this.sourceProj_)),function(t,e,n,i){const r=t.length;n=void 0!==n?n:2,i=i??n,e=void 0!==e?e:new Array(r);for(let s=0;s=o?t[s+n]:r[n]}return e}):ik(this.targetProj_,this.sourceProj_);var u;this.transformInv_=function(t){const e=t[0]+"/"+t[1];return a[e]||(a[e]=l(t)),a[e]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&UE(i)>=UE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?UE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?UE(this.targetProj_.getExtent()):null;const c=NE(n),h=jE(n),d=ME(n),p=IE(n),f=this.transformInv_(c),g=this.transformInv_(h),m=this.transformInv_(d),y=this.transformInv_(p),_=10+(s?Math.max(0,Math.ceil(Math.log2(PE(n)/(s*s*256*256)))):0);if(this.addQuad_(c,h,d,p,f,g,m,y,_),this.wrapsXInSource_){let t=1/0;this.triangles_.forEach(function(e){t=Math.min(t,e.source[0][0],e.source[1][0],e.source[2][0])}),this.triangles_.forEach(e=>{if(Math.max(e.source[0][0],e.source[1][0],e.source[2][0])-t>this.sourceWorldWidth_/2){const n=[[e.source[0][0],e.source[0][1]],[e.source[1][0],e.source[1][1]],[e.source[2][0],e.source[2][1]]];n[0][0]-t>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-t>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-t>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i.5&&c<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=UE(hE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&c&&(p=c>.25||p)),!p&&this.maxSourceExtent_&&isFinite(u[0])&&isFinite(u[1])&&isFinite(u[2])&&isFinite(u[3])&&!BE(u,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(s[0])&&isFinite(s[1])?0:4)+(isFinite(o[0])&&isFinite(o[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const e=[(t[0]+n[0])/2,(t[1]+n[1])/2],i=this.transformInv_(e);let s;s=d?(iE(r[0],h)+iE(o[0],h))/2-iE(i[0],h):(r[0]+o[0])/2-i[0];const a=(r[1]+o[1])/2-i[1];p=s*s+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])){const u=[(e[0]+n[0])/2,(e[1]+n[1])/2],c=this.transformInv_(u),h=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(h);this.addQuad_(t,e,u,h,r,s,c,d,l-1),this.addQuad_(h,u,n,i,d,c,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],c=this.transformInv_(u),h=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(h);this.addQuad_(t,u,h,i,r,c,d,a,l-1),this.addQuad_(u,e,n,h,c,s,o,d,l-1)}return}}if(d){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(t,n,i,r,o,a),14&f||this.addTriangle_(t,n,e,r,o,s),f&&(13&f||this.addTriangle_(e,i,t,s,a,r),7&f||this.addTriangle_(e,i,n,s,a,o))}calculateSourceExtent(){const t=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(e){const n=e.source;CE(t,n[0]),CE(t,n[1]),CE(t,n[2])}),t}getTriangles(){return this.triangles_}}class lj extends _D{constructor(t,e,n,i,r,s,o,a,l,u,c,h){super(r,0,h),this.renderEdges_=void 0!==c&&c,this.pixelRatio_=o,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=e,this.targetTileGrid_=i,this.wrappedTileCoord_=s||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=t.canWrapX()?t.getExtent():void 0;const d=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const g=p?DE(d,p):d;if(0===PE(g))return void(this.state=4);const m=t.getExtent();m&&(f=f?DE(f,m):m);const y=i.getResolution(this.wrappedTileCoord_[0]),_=function(t,e,n,i){const r=OE(n);let s=sj(t,e,r,i);return(!isFinite(s)||s<=0)&&RE(n,function(n){return s=sj(t,e,n,i),isFinite(s)&&s>0}),s}(t,n,g,y);if(!isFinite(_)||_<=0)return void(this.state=4);const v=void 0!==u?u:.5;if(this.triangulation_=new aj(t,n,g,f,_*v,y),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=e.getZForResolution(_);let b=this.triangulation_.calculateSourceExtent();if(f&&(t.canWrapX()?(b[1]=JS(b[1],f[1],f[3]),b[3]=JS(b[3],f[1],f[3])):b=DE(b,f)),PE(b)){let n=0,i=0;t.canWrapX()&&(n=UE(m),i=Math.floor((b[0]-m[0])/n)),VE(b.slice(),t,!0).forEach(t=>{const r=e.getTileRangeForExtentAndZ(t,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,o);if(r){const t=i*n;this.sourceTiles_.push({tile:r,offset:t})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const t=[];if(this.sourceTiles_.forEach(e=>{const n=e.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=e.offset,i[2]+=e.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=e.offset,r[2]+=e.offset),t.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===t.length)this.state=3;else{const e=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(e),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],s=this.targetTileGrid_.getResolution(e),o=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=oj(i,r,this.pixelRatio_,o,this.sourceTileGrid_.getExtent(),s,a,this.triangulation_,t,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let t=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:e})=>{const n=e.getState();if(0==n||1==n){t++;const n=gS(e,Wx,()=>{const i=e.getState();2!=i&&3!=i&&4!=i||(yS(n),t--,0===t&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===t?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:t}){0==t.getState()&&t.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(yS),this.sourcesListenerKeys_=null}release(){this.canvas_&&(FT(this.canvas_.getContext("2d")),nj.push(this.canvas_),this.canvas_=null),super.release()}}class uj{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const t=this.pop();t instanceof Qx&&t.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let e=this.oldest_;for(;e;)t(e.value_,e.key_,this),e=e.newer}get(t,e){const n=this.entries_[t];return HS(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(t){const e=this.entries_[t];return HS(void 0!==e,"Tried to get a value for a key that does not exist in the cache"),e===this.newest_?(this.newest_=e.older,this.newest_&&(this.newest_.newer=null)):e===this.oldest_?(this.oldest_=e.newer,this.oldest_&&(this.oldest_.older=null)):(e.newer.older=e.older,e.older.newer=e.newer),delete this.entries_[t],--this.count_,e.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.key_;return t}getValues(){const t=new Array(this.count_);let e,n=0;for(e=this.newest_;e;e=e.older)t[n++]=e.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,e){this.get(t),this.entries_[t].value_=e}set(t,e){HS(!(t in this.entries_),"Tried to set a value for a key that is used already");const n={key_:t,newer:null,older:this.newest_,value_:e};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[t]=n,++this.count_}setSize(t){this.highWaterMark=t}}function cj(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function hj(t,e,n,i,r){return`${wS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function dj(t,e,n){if(!(n in t))return t[n]=new Set([e]),!0;const i=t[n],r=i.has(e);return r||i.add(e),!r}function pj(t,e,n){const i=t[n];return!!i&&i.delete(e)}function fj(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=DE(e,lk(n.extent,t.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(t.viewState.projection).getExtent();n&&(e=DE(e,n))}return e}class gj extends oA{constructor(t,e){super(t),e=e||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new bD(0,0,0,0),this.tempTileCoord_=cj(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new uj(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new uj(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=hj(s,s.getKey(),t,e,n);let a;if(r.containsKey(o))a=r.get(o);else{const l=i.viewState.projection,u=s.getProjection();if(a=s.getTile(t,e,n,i.pixelRatio,l,!u||tk(u,l)?void 0:this.getSourceTileCache()),!a)return null;r.set(o,a)}return a}getTile(t,e,n,i){return this.getOrCreateTile(t,e,n,i)||null}getData(t){const e=this.frameState;if(!e)return null;const n=this.getLayer(),i=mk(e.pixelToCoordinateTransform,t.slice()),r=n.getExtent();if(r&&!gE(r,i))return null;const s=e.viewState,o=n.getRenderSource(),a=o.getTileGridForProjection(s.projection),l=o.getTilePixelRatio(e.pixelRatio);for(let u=a.getZForResolution(s.resolution);u>=a.getMinZoom();--u){const t=a.getTileCoordForCoordAndZ(i,u),n=this.getTile(u,t[1],t[2],e);if(!n||2!==n.getState())continue;const r=a.getOrigin(u),c=TP(a.getTileSize(u)),h=a.getResolution(u);let d;if(n instanceof vD||n instanceof lj)d=n.getImage();else{if(!(n instanceof tj))continue;if(d=ZN(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/h-t[1]*c[0])),f=Math.floor(l*((r[1]-i[1])/h-t[2]*c[1])),g=Math.round(l*o.getGutterForProjection(s.projection));return this.getImageData(d,p+g,f+g)}return null}prepareFrame(t){this.renderedProjection?t.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=t.viewState.projection):this.renderedProjection=t.viewState.projection;const e=this.getLayer().getSource();if(!e)return!1;const n=e.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===e.getKey()&&(this.tileCache_.clear(),this.sourceTileCache_?.clear())):this.renderedSourceRevision_=n,!0}enqueueTilesForNextExtent(){return!0}enqueueTiles(t,e,n,i,r){const s=t.viewState,o=this.getLayer(),a=o.getRenderSource(),l=a.getTileGridForProjection(s.projection),u=wS(a);u in t.wantedTiles||(t.wantedTiles[u]={});const c=t.wantedTiles[u],h=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),h?h.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?LE(s.center,s.resolution,p,t.size):void 0;for(let g=n;g>=d;--g){const n=l.getTileRangeForExtentAndZ(e,g,this.tempTileRange_),r=l.getResolution(g);for(let e=n.minX;e<=n.maxX;++e)for(let s=n.minY;s<=n.maxY;++s){if(p&&!l.tileCoordIntersectsViewport([g,e,s],f))continue;const n=this.getTile(g,e,s,t);if(!n)continue;if(!dj(i,n,g))continue;const o=n.getKey();if(c[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=cj(g,e,s,this.tempTileCoord_);t.tileQueue.enqueue([n,u,l.getTileCoordCenter(i),r])}}}}findStaleTile_(t,e){const n=this.tileCache_,i=t[0],r=t[1],s=t[2],o=this.getStaleKeys();for(let a=0;a0&&setTimeout(()=>{this.enqueueTiles(t,E,h-1,x,S-1)},0),!(h in x))return this.container;const C=wS(this),k=t.time;for(const A of x[h]){const e=A.getState();if(4===e)continue;const n=A.tileCoord;if(2===e&&1===A.getAlpha(C,k)){A.endTransition(C);continue}if(3!==e&&(this.renderComplete=!1),this.findStaleTile_(n,x)){pj(x,A,h),t.animate=!0;continue}if(this.findAltTiles_(c,n,h+1,x))continue;const i=c.getMinZoom();for(let t=h-1;t>=i&&!this.findAltTiles_(c,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);_k(this.tempTransform,m/2,y/2,T,T,0,-m/2,-y/2),n.extent&&this.clipUnrotated(R,t,_),u.getInterpolate()||(R.imageSmoothingEnabled=!1),this.preRender(R,t);const P=Object.keys(x).map(Number);let I;P.sort(tS);const M=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=c.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=c.getTileCoordForCoordAndZ(NE(w),e),h=c.getTileCoordExtent(l),p=mk(this.tempTransform,[g*(h[0]-w[0])/d,g*(w[3]-h[3])/d]),f=g*u.getGutterForProjection(r);for(const r of x[e]){if(2!==r.getState())continue;const n=r.tileCoord,i=l[1]-n[1],a=Math.round(p[0]-(i-1)*s),c=l[2]-n[2],h=Math.round(p[1]-(c-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-c*o),m=a-d,y=h-g,_=1===P.length;let v=!1;I=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=M.length;t{const n=wS(u),i=e.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache(),this.sourceTileCache_?.expireCache()};t.postRenderFunctions.push(e)}return this.container}updateCacheSize(t){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*t)}drawTile(t,e,n,i,r,s,o,a){let l;if(t instanceof tj){if(l=ZN(t.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(t);if(!l)return;const u=this.getRenderContext(e),c=wS(this),h=e.layerStatesArray[e.layerIndex],d=h.opacity*(a?t.getAlpha(c,e.time):1),p=d!==u.globalAlpha;p&&(u.save(),u.globalAlpha=d),u.drawImage(l,o,o,l.width-2*o,l.height-2*o,n,i,r,s),p&&u.restore(),d!==h.opacity?e.animate=!0:a&&t.endTransition(c)}getImage(){const t=this.context;return t?t.canvas:null}getTileImage(t){return t.getImage()}updateUsedTiles(t,e,n){const i=wS(e);i in t||(t[i]={}),t[i][n.getKey()]=!0}}const mj="preload",yj="useInterimTilesOnError";class _j extends UR{constructor(t){t=t||{};const e=Object.assign({},t),n=t.cacheSize;delete t.cacheSize,delete e.preload,delete e.useInterimTilesOnError,super(e),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==t.preload?t.preload:0),this.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(mj)}setPreload(t){this.set(mj,t)}getUseInterimTilesOnError(){return this.get(yj)}setUseInterimTilesOnError(t){this.set(yj,t)}getData(t){return super.getData(t)}}class vj extends _j{constructor(t){super(t)}createRenderer(){return new gj(this,{cacheSize:this.getCacheSize()})}}const bj={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},wj={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class xj extends gj{constructor(t,e){super(t,e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}enqueueTilesForNextExtent(){return"vector"!==this.getLayer().getRenderMode()}drawTile(t,e,n,i,r,s,o,a){this.updateExecutorGroup_(t,e.pixelRatio,e.viewState.projection),this.tileImageNeedsRender_(t)&&this.renderTileImage_(t,e),super.drawTile(t,e,n,i,r,s,o,a)}getTile(t,e,n,i){const r=this.getOrCreateTile(t,e,n,i);if(!r)return null;const s=i.viewState,o=s.resolution,a=i.viewHints,l=this.getLayer().getSource(),u=l.getTileGridForProjection(s.projection),c=!(a[0]||a[1]),h=u.getZForResolution(o,l.zDirection)===t;return c&&h?r.wantedResolution=o:r.wantedResolution||(r.wantedResolution=u.getResolution(t)),r}prepareFrame(t){const e=this.getLayer().getRevision();return this.renderedLayerRevision_!==e&&(this.renderedLayerRevision_=e,this.renderedTiles.length=0),super.prepareFrame(t)}updateExecutorGroup_(t,e,n){const i=this.getLayer(),r=i.getRevision(),s=i.getRenderOrder()||null,o=t.wantedResolution,a=t.getReplayState(i);if(!a.dirty&&a.renderedResolution===o&&a.renderedRevision==r&&a.renderedRenderOrder==s)return;const l=i.getSource(),u=!!i.getDeclutter(),c=l.getTileGrid(),h=l.getTileGridForProjection(n).getTileCoordExtent(t.wrappedTileCoord),d=l.getSourceTiles(e,n,t),p=wS(i);delete t.hitDetectionImageData[p],t.executorGroups[p]=[],a.dirty=!1;for(let f=0,g=d.length;ft.value):null;let m;t:for(let y=0,_=d.length;y<_;++y){const e=d[y];if(!BE(l.getTileCoordExtent(e.wrappedTileCoord),u))continue;const i=e.executorGroups[p];for(let r=0,a=i.length;r{const n=this.getLayer(),i=n.getSource(),r=this.renderedProjection,s=r.getExtent(),o=this.renderedResolution,a=i.getTileGridForProjection(r),l=mk(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),c=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!c||c.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!mE(s,a.getTileCoordExtent(c.tileCoord))&&KE(l,r);const h=wS(n),d=NE(a.getTileCoordExtent(c.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=c.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=c.hitDetectionImageData[h];if(!g){const t=TP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=XO(t,[this.getRenderTransform(a.getTileCoordCenter(c.wrappedTileCoord),o,0,KO,t[0]*KO,t[1]*KO,0)],f,n.getStyleFunction(),a.getTileCoordExtent(c.wrappedTileCoord),c.getReplayState(n).renderedResolution,e),c.hitDetectionImageData[h]=g}e(YO(p,f,g))})}getFeaturesInExtent(t){const e=[],n=this.getTileCache();if(0===n.getCount())return e;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),s={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const o=n.getSourceTiles();for(let r=0,a=o.length;r=0;--i)n[i].execute(this.context,o,this.getTileRenderTransform(e,t),t.viewState.rotation,s,GO,l)}n.globalAlpha=i}renderDeferredInternal(t){const e=this.renderedTiles,n=wS(this.getLayer()),i=e.reduce((t,e,i)=>(e.executorGroups[n].forEach(e=>t.push({executorGroup:e,index:i})),t),[]),r=i.map(({executorGroup:t})=>t.getDeferredZIndexContexts()),s={};for(let o=0,a=i.length;o{r.forEach((e,n)=>{e[t]&&(e[t].forEach(t=>{const{executorGroup:e,index:r}=i[n],s=e.getRenderedContext(),o=s.globalAlpha;s.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(s),t.draw(s),a&&s.restore(),s.globalAlpha=o,t.clear()}),e[t].length=0)})})}getTileRenderTransform(t,e){const n=e.pixelRatio,i=e.viewState,r=i.center,s=i.resolution,o=i.rotation,a=e.size,l=Math.round(a[0]*n),u=Math.round(a[1]*n),c=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),h=t.tileCoord,d=c.getTileCoordExtent(t.wrappedTileCoord),p=c.getTileCoordExtent(h,this.tempExtent)[0]-d[0];return fk(yk(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,s,o,n,l,u,p))}postRender(t,e){const n=e.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=e.pixelToCoordinateTransform.slice(),this.renderedRotation_=e.viewState.rotation,this.renderedOpacity_=e.layerStatesArray[e.layerIndex].opacity;const r=this.getLayer(),s=r.getRenderMode(),o=t.globalAlpha;t.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?wj[s].filter(t=>!GO.includes(t)):wj[s],u=e.viewState,c=u.rotation,h=r.getSource(),d=h.getTileGridForProjection(u.projection).getZForResolution(u.resolution,h.zDirection),p=this.renderedTiles,f=[],g=[],m=[],y=wS(r);let _=!0;for(let v=p.length-1;v>=0;--v){const n=p[v];_=_&&!n.getReplayState(r).dirty;const s=n.executorGroups[y].filter(t=>t.hasExecutors(l));if(0===s.length)continue;const o=this.getTileRenderTransform(n,e),u=n.tileCoord[0];let h=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new IO,x=w.getContext();for(let t=0,e=f.length;t{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){yS(this.sourceListenerKey_),this.sourceListenerKey_=null}}class kj extends pS{constructor(t,e){super(t),this.image=e}}class Tj extends kA{constructor(t){super({attributions:t.attributions,projection:t.projection,state:t.state,interpolate:void 0===t.interpolate||t.interpolate}),this.on,this.once,this.un,this.loader=t.loader||null,this.resolutions_=void 0!==t.resolutions?t.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!t.loader&&0===t.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(t){this.resolutions_=t}findNearestResolution(t){const e=this.getResolutions();return e&&(t=e[nS(e,t,0)]),t}getImage(t,e,n,i){const r=this.getProjection();if(!r||!i||tk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&tk(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==e&&SE(this.reprojectedImage_.getExtent(),t))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Cj(r,i,t,e,n,(t,e,n)=>this.getImageInternal(t,e,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(t,e,n,i){if(this.loader){const r=function(t,e,n){const i=e/n,r=OE(t),s=aE(UE(t)/i,4),o=aE(zE(t)/i,4);return FE(r,i,0,[s+2*aE(0*s/2,4),o+2*aE(0*o/2,4)])}(t,e,n),s=this.findNearestResolution(e);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&mE(this.wantedExtent_,r)||mE(this.image.getExtent(),r))&&(this.wantedResolution_&&Ej(this.wantedResolution_)===s||Ej(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new JI(r,s,n,this.loader),this.image.addEventListener(Wx,this.handleImageChange.bind(this))}return this.image}handleImageChange(t){const e=t.target;let n;switch(e.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new kj(n,e))}}const Rj=[0,0,0];class Pj{constructor(t){let e;if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,HS(function(t){const e=((t,e)=>e-t)||tS;return t.every(function(n,i){if(0===i)return!0;const r=e(t[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!t.origins)for(let i=0,r=this.resolutions_.length-1;i{const i=new bD(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));if(n){const t=this.getTileRangeForExtentAndZ(n,e);i.minX=Math.max(t.minX,i.minX),i.maxX=Math.min(t.maxX,i.maxX),i.minY=Math.max(t.minY,i.minY),i.maxY=Math.min(t.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(t,e,n){const i=this.getTileRangeForExtentAndZ(t,e);for(let r=i.minX,s=i.maxX;r<=s;++r)for(let t=i.minY,o=i.maxY;t<=o;++t)n([e,r,t])}forEachTileCoordParentTileRange(t,e,n,i){let r,s,o,a=null,l=t[0]-1;for(2===this.zoomFactor_?(s=t[1],o=t[2]):a=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(void 0!==s&&void 0!==o?(s=Math.floor(s/2),o=Math.floor(o/2),r=wD(s,s,o,o,n)):r=this.getTileRangeForExtentAndZ(a,l,n),e(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,e,n){if(t[0]this.maxZoom||e0?i:Math.max(s/n[0],r/n[1]);const o=e+1,a=new Array(o);for(let l=0;ln||n>e.getMaxZoom())return!1;const s=e.getFullTileRange(n);return!s||s.containsXY(i,r)}(t,i)?t:null}clear(){}refresh(){this.clear(),super.refresh()}}class Lj extends pS{constructor(t,e){super(t),this.tile=e}}function zj(t){return function(e){const n=e.buffers,i=e.meta,r=e.imageOps,s=e.width,o=e.height,a=n.length,l=n[0].byteLength;if(r){const e=new Array(a);for(let t=0;tthis.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const t=this.queue_.shift();this.job_=t;const e=t.inputs[0].width,n=t.inputs[0].height,i=t.inputs.map(function(t){return t.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:t.meta,imageOps:this.imageOps_,width:e,height:n},i);const s=t.inputs[0].data.length,o=4*Math.ceil(s/4/r);for(let a=0;athis.getTileInternal(t,e,n,i,o,s),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=l,d}getTileInternal(t,e,n,i,r,s){const o=this.getKey(),a=hj(this,o,t,e,n);if(s&&s.containsKey(a))return s.get(a);const l=this.createTile_(t,e,n,i,r,o);return s?.set(a,l),l}setRenderReprojectionEdges(t){this.renderReprojectionEdges_!=t&&(this.renderReprojectionEdges_=t,this.changed())}setTileGridForProjection(t,e){const n=XC(t);if(n){const t=wS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function Jj(t,e){if(FS){const n=t.getCrossOrigin();let i="same-origin",r="same-origin";return"anonymous"===n||""===n?(i="cors",r="omit"):"use-credentials"===n&&(i="cors",r="include"),void fetch(e,{mode:i,credentials:r}).then(t=>{if(!t.ok)throw new Error(`HTTP ${t.status}`);return t.blob()}).then(t=>createImageBitmap(t)).then(e=>{const n=t.getImage();n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0),e.close?.(),n.dispatchEvent(new Event("load"))}).catch(()=>{t.getImage().dispatchEvent(new Event("error"))})}t.getImage().src=e}class Qj extends Zj{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:XC("EPSG:3857"),reprojectionErrorThreshold:t.reprojectionErrorThreshold,state:"loading",tileLoadFunction:t.tileLoadFunction,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:t.zDirection}),this.tileJSON_=null,this.tileSize_=t.tileSize,t.url)if(t.jsonp)!function(t,e,n){const i=document.createElement("script"),r="olc_"+wS(e);function s(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=t+(t.includes("?")?"&":"?")+"callback="+r;const o=setTimeout(function(){s(),n&&n()},1e4);window[r]=function(t){clearTimeout(o),s(),e(t)},document.head.appendChild(i)}(t.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const e=new XMLHttpRequest;e.addEventListener("load",this.onXHRLoad_.bind(this)),e.addEventListener("error",this.onXHRError_.bind(this)),e.open("GET",t.url),e.send()}else{if(!t.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(t.tileJSON)}}onXHRLoad_(t){const e=t.target;if(!e.status||e.status>=200&&e.status<300){let t;try{t=JSON.parse(e.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(t)}else this.handleTileJSONError()}onXHRError_(t){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(t){const e=XC("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=ek(e,n);i=GE(t.bounds,r)}const r=Aj(n),s=t.minzoom||0,o=Mj({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=Xj(t.tiles,o),t.attribution&&!this.getAttributions()){const e=void 0!==i?i:r;this.setAttributions(function(n){return BE(e,n.extent)?[t.attribution]:null})}this.tileJSON_=t,this.setState("ready")}handleTileJSONError(){this.setState("error")}}class tU extends Yj{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||Aj(e),i=t.tileGrid||Mj({extent:n,maxResolution:t.maxResolution,maxZoom:void 0!==t.maxZoom?t.maxZoom:22,minZoom:t.minZoom,tileSize:t.tileSize||512});super({attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,cacheSize:t.cacheSize,interpolate:!0,projection:e,state:t.state,tileGrid:i,tileLoadFunction:t.tileLoadFunction?t.tileLoadFunction:eU,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,zDirection:void 0===t.zDirection?1:t.zDirection}),this.format_=t.format?t.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==t.overlaps||t.overlaps,this.tileClass=t.tileClass?t.tileClass:ED,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(t,e,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(e);let s=r.getTileCoordExtent(i);const o=i[0],a=r.getResolution(o);dE(s,-a,s);const l=this.projection;e&&this.projection&&!tk(e,l)&&(s=sk(s,e,l));const u=this.tileGrid,c=u.getExtent();c&&DE(s,c,s);let h=a;e&&l&&!tk(e,l)&&(h=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(h,this.zDirection);u.forEachTileCoord(s,d,i=>{const r=this.tileUrlFunction(i,t,e);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const s=this.sourceTiles_[r];n.sourceTiles.push(s),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const o=s.getState();if(o<2){const t=e=>{this.handleTileChange(e);const i=s.getState();if(2===i||3===i){const e=s.getKey();e in n.errorTileKeys?2===s.getState()&&delete n.errorTileKeys[e]:n.loadingSourceTiles--,3===i?n.errorTileKeys[e]=!0:s.removeEventListener(Wx,t),0===n.loadingSourceTiles&&n.setState(dS(n.errorTileKeys)?2:3)}};s.addEventListener(Wx,t),n.loadingSourceTiles++}0===o&&(s.extent=u.getTileCoordExtent(i),s.projection=this.projection,s.resolution=u.getResolution(i[0]),s.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(t=>3===t.getState())?3:2)}return n.sourceTiles}removeSourceTiles(t){const e=t.getKey(),n=t.sourceTiles;for(let i=0,r=n.length;i{c=c&&!this.tileUrlFunction(t,i,l)})}const h=new SD(s,c?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return h.key=this.getKey(),h}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!tk(i,t))return Ij(t);const r=this.tileGrid,s=r.getResolutions().slice(),o=s.map(function(t,e){return r.getOrigin(e)}),a=s.map(function(t,e){return r.getTileSize(e)}),l=43;for(let t=s.length;td?h-A+d:d-A,O=Math.atan(Math.sqrt(I*I+M*M)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,j=Math.min(Math.max(2*e.sunEl,0),1),U=1.875-1.75*e.opacity,B=.5!==e.opacity?d*((Math.pow(U,O)-1)/(Math.pow(U,d)-1)):O,D={r:(1-F)*v.r*j*255,g:(1-F)*v.g*j*255,b:(1-F)*v.b*j*255,a:(1-F)*v.a*j*255},z=Math.abs(((A+f)/Math.PI+.5)%2-1),N={r:(y.r*(1-z)+_.r*z)*L,g:(y.g*(1-z)+_.g*z)*L,b:(y.b*(1-z)+_.b*z)*L,a:(y.a*(1-z)+_.a*z)*L},T=4*(x*i+w),o[T]=D.r*(1-z)+N.r,o[T+1]=D.g*(1-z)+N.g,o[T+2]=D.b*(1-z)+N.b,o[T+3]=s[T+3]*e.opacity*j*Math.sin(B);return new ImageData(o,i,r)}function iU(t,e){const n=t[0],i=n.width,r=n.height,s=n.data,o=new Uint8ClampedArray(s.length),a=i-1,l=r-1,u=[0,0,0,0];let c,h,d;const p=(f=e.saturation)>0?1-1/(1.001-f):-f;var f;const g=(m=e.contrast)>0?1/(1-m):1+m;var m;const y=function(t){t*=Math.PI/180;const e=Math.sin(t),n=Math.cos(t);return[(2*n+1)/3,(-Math.sqrt(3)*e-n+1)/3,(Math.sqrt(3)*e-n+1)/3]}(e.hueRotate),_=y,v=[y[2],y[0],y[1]],b=[y[1],y[2],y[0]],w=e.brightnessLow,x=e.brightnessHigh;for(h=0;h<=l;++h)for(c=0;c<=a;++c){d=4*(h*i+c),u[0]=s[d],u[1]=s[d+1],u[2]=s[d+2],u[3]=s[d+3];const t=u[0],e=u[1],n=u[2],r=(t,e)=>{let n=0;for(let i=0;i{e.accessToken=t,e.accessTokenParam=n})),e}function oU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function aU(t,e,n){const i=new Qj({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=XC(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=QC([n[0],n[1]],e),i=QC([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return XC(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,c=r.maxzoom||22,h={attributions:i.getAttributions(),projection:o,tileGrid:new Pj({origin:l?NE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:rU(o,e.tileSize).slice(0,c+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?h.urls=r.tiles:h.url=r.tiles,h}function lU(t,e,n){return new Promise(function(i,r){WD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=aU(t,e,n);s.tileLoadFunction=r,s.format=new GN({layerName:"mvt:layer"});const o=new tU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function uU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function cU(t,e,n){const i=new vj;return function(t,e,n){return new Promise(function(i,r){WD(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=new Qj({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:e});s.tileGrid=aU(t,e,n).tileGrid,n.projection&&(s.projection=XC(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=uU(n);let r=o(t,e,n);if(-1!=r.indexOf(i)){const e=s.getTileGrid().getTileCoordExtent(t);r=r.replace(i,e.toString())}return r}),s.set("mapbox-source",t),i(s)}).catch(function(t){r(t)})})}(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}function hU(t,e,n){const i=n.projection?new CN({dataProjection:n.projection}):new CN,r=t.data,s={};if("string"==typeof r){const[s]=ID(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=uU(n);return s.replace(i,`${t.join(",")}`)},r=new MA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{GD("GeoJSON","function"==typeof e?e(t,i,s):e,n).then(t=>{const e=r.getFormat().readFeatures(t,{featureProjection:s});r.addFeatures(e),o(e)}).catch(()=>{r.removeLoadedExtent(t),a()})},strategy:dA});return r.set("mapbox-source",t),r}const o=new MA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{GD("GeoJSON",s,n).then(t=>{const e=o.getFormat().readFeatures(t,{featureProjection:i});o.addFeatures(e),r(e)}).catch(()=>{o.removeLoadedExtent(t),a()})}});return o}s.features=i.readFeatures(r,{featureProjection:"EPSG:3857"});const o=new MA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function dU(t,e,n,i){const r=zD(t),s=t.layers,o=n.type,a=n.source||oU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=FS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new UR({source:new kA({}),render(r){const s=function(t,e,n,i){const r={id:t.id,type:t.type},s=t.layout||{},o=t.paint||{};let a;r.paint=o,aN.zoom=UD(e,n.resolutions||ND),aN.distanceFromCenter=0;const l=cN(r,"paint","background-color",MD,i);return void 0!==o["background-opacity"]&&(a=cN(r,"paint","background-opacity",MD,i)),"none"==s.visibility?void 0:pN(l,a)}(t,r.viewState.resolution,e,n);return i.style.backgroundColor=s,i}})}(n,i,r);else if("vector"==l.type)u=function(t,e,n){const i=new Sj({declutter:!0,visible:!1});return lU(t,e,n).then(function(t){i.setSource(t)}).catch(function(){i.setSource(void 0)}),i}(l,e,i);else if("raster"==l.type){const t=["raster-saturation","raster-contrast","raster-brightness-max","raster-brightness-min","raster-hue-rotate"];Object.keys(n.paint||{}).find(e=>t.includes(e))?(u=function(t,e,n){const i=cU(t,e,n);return new YN({source:new Uj({operationType:"image",operation:iU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){aN.zoom=UD(t.resolution,i.resolutions||ND),aN.distanceFromCenter=0;const e=t.data;e.saturation=cN(n,"paint","raster-saturation",MD,r),e.contrast=cN(n,"paint","raster-contrast",MD,r),e.brightnessHigh=cN(n,"paint","raster-brightness-max",MD,r),e.brightnessLow=cN(n,"paint","raster-brightness-min",MD,r),e.hueRotate=cN(n,"paint","raster-hue-rotate",MD,r)})):u=cU(l,e,i),u.setVisible(!n.layout||"none"!==n.layout.visibility),u.on("prerender",function(t,e,n){let i=null;return function(r){t.paint&&"raster-opacity"in t.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[t.id],function(t,e,n,i){aN.zoom=n,aN.distanceFromCenter=0;const r=cN(t,"paint","raster-opacity",MD,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new lA({declutter:!0,source:hU(t,e,n),visible:!1})}(l,e,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const t=function(t,e,n){const i=cU(t,e,n);return new YN({source:new Uj({operationType:"image",operation:nU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=YC(i.projection||"EPSG:3857",t.resolution,OE(t.extent),"m"),aN.zoom=UD(t.resolution,i.resolutions||ND),aN.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*cN(n,"paint","hillshade-exaggeration",MD,r),e.sunAz=cN(n,"paint","hillshade-illumination-direction",MD,r),e.sunEl=35,e.opacity=.3,e.highlightColor=cN(n,"paint","hillshade-highlight-color",MD,r),e.shadowColor=cN(n,"paint","hillshade-shadow-color",MD,r),e.accentColor=cN(n,"paint","hillshade-accent-color",MD,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const c=a;return u&&u.set("mapbox-source",c),u}function pU(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,c=l.length;u0||n>0)&&t.setMaxResolution(Math.min(BD(Math.max(0,o-1e-12),ND),BD(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(BD(a,ND))}}else o>0&&t.setMaxResolution(BD(Math.max(0,o-1e-12),ND));c instanceof MA||c instanceof tU?function(t,e,n="",i={},r){let s,o,a,l,u=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(s=i,a={}):(s=i.styleUrl,a=i),!1===a.updateSource&&(u=!1),r||(r=a.resolutions),s||"string"!=typeof e||e.trim().startsWith("{")||(s=e),s&&(s=s.startsWith("data:")?location.href:RD(s,a.accessToken),a=sU(s,a)),new Promise(function(n,i){$D(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof lA||t instanceof Sj))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const c=t instanceof Sj?"vector":"geojson";if(l?o=Array.isArray(l)?e.layers.find(function(t){return t.id===l[0]}).source:l:(o=e.layers.find(function(t){return t.source&&e.sources[t.source].type===c}).source,l=o),!o)return i(new Error(`No ${c} source found in the glStyle.`));function h(){if(!u)return Promise.resolve();if(t instanceof Sj)return lU(e.sources[o],s,a).then(function(e){const n=t.getSource();n?e!==n&&(n.setTileUrlFunction(e.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof e.getUrls&&n.setUrls(e.getUrls()),n.format_||(n.format_=e.format_),n.getAttributions()||n.setAttributions(e.getAttributions()),n.getTileLoadFunction()===eU&&n.setTileLoadFunction(e.getTileLoadFunction()),tk(n.getProjection(),e.getProjection())&&(n.tileGrid=e.getTileGrid())):t.setSource(e);const i=t.getSource().getTileGrid();!isFinite(t.getMaxResolution())&&!isFinite(t.getMinZoom())&&i.getMinZoom()>0&&t.setMaxResolution(BD(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=e.sources[o];let i=t.getSource();i&&i.get("mapbox-source")===n||(i=hU(n,s,a));const r=t.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):t.setSource(i),Promise.resolve()}let d,p;const f={},g={};function m(){if(p||e.sprite&&!f)p?(t.setStyle(p),h().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=XC(a.projection).getUnits();"m"!==t&&(r=ND.map(e=>e/eC[t]))}let s;const u=t.getSource();u instanceof tU&&u.format_ instanceof GN&&(s=u.format_.layerName_),p=function(t,e,n,i=ND,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");yN[function(t,e){return LD(t)+"."+wS(e)}(e,t)]=Array.from(arguments);const l={};("string"==typeof s||s instanceof Request||s instanceof Response||s instanceof Promise)&&(s={default:s});for(const w in s){const e=s[w];cS(()=>e).then(async e=>{let n;if("undefined"!=typeof Image){const i=new Image;if("string"==typeof e)i.crossOrigin="anonymous",i.src=e;else{let t;e instanceof Request?t=await fetch(e):e instanceof Response&&(t=e);const r=await t.blob();n=URL.createObjectURL(r),i.src=n}i.addEventListener("load",function e(){i.removeEventListener("load",e),l[w]={image:i,size:[i.width,i.height]},t.changed(),n&&URL.revokeObjectURL(n)}),i.addEventListener("error",function t(){URL.revokeObjectURL(n),i.removeEventListener("error",t)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const t=self;t.postMessage({action:"loadImage",src:e}),t.addEventListener("message",function(t){"imageLoaded"===t.data.action&&t.data.src===e&&(l[w]={image:t.data.image,size:[t.data.image.width,t.data.image.height]})})}})}const u=FA(e.layers),c={},h=[],d={},p={},f=zD(e),g=function(t){let e=AD[t.id];return e||(e={},AD[LD(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=h.maxzoom)continue;const k=h.filter;if(!k||dN(x,k,T,g)){let i,u,g,b,w,x;const k=c.index;if(3==S&&("fill"==h.type||"fill-extrusion"==h.type))if(u=cN(h,"paint",h.type+"-opacity",T,f,R),h.type+"-pattern"in C){const t=cN(h,"paint",h.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?gN(t,m):t.toString(),n=mN(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new OM({fill:new RM}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=jD(s.width,s.height),a=o.getContext("2d");a.globalAlpha=u,a.drawImage(n.image,s.x,s.y,s.width,s.height,0,0,s.width,s.height),i=a.createPattern(o,"repeat"),p[t]=i}g.setColor(i)}}}else i=pN(cN(h,"paint",h.type+"-color",T,f,R),u),h.type+"-outline-color"in C&&(w=pN(cN(h,"paint",h.type+"-outline-color",T,f,R),u)),w||(w=i),(i||w)&&(++P,x=v[P],(!x||i&&!x.getFill()||!i&&x.getFill()||w&&!x.getStroke()||!w&&x.getStroke()||x.getText())&&(x=new OM({fill:i?new RM:void 0,stroke:w?new MM:void 0}),v[P]=x),i&&(g=x.getFill(),g.setColor(i)),w&&(b=x.getStroke(),b.setColor(w),b.setWidth(.5)),x.setZIndex(k));if(1!=S&&"line"==h.type){i="line-pattern"in C?void 0:pN(cN(h,"paint","line-color",T,f,R),cN(h,"paint","line-opacity",T,f,R));const t=cN(h,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new OM({stroke:new MM}),v[P]=x),b=x.getStroke(),b.setLineCap(cN(h,"layout","line-cap",T,f,R)),b.setLineJoin(cN(h,"layout","line-join",T,f,R)),b.setMiterLimit(cN(h,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?cN(h,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let I,M,O,A,F,L,z,D,N,j=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=cN(h,"layout","icon-image",T,f,R);if(e){let i;I="string"==typeof e?gN(e,m):e.toString();const o=a?a(t,I):void 0,u=mN(I,l);if(r&&r[I]&&u||o){const t=cN(h,"layout","icon-rotation-alignment",T,f,R);if(2==S){const e=n.getGeometry();if(e.getFlatMidpoint||e.getFlatMidpoints){const n=e.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/s,2),Math.pow((n[3]-n[1])/s,2)))>150){const n="MultiLineString"===e.getType()?e.getFlatMidpoints():e.getFlatMidpoint();if(uN||(lN=[NaN,NaN],uN=new EA("Point",lN,[],2,{},void 0)),i=uN,lN[0]=n[0],lN[1]=n[1],"line"===cN(h,"layout","symbol-placement",T,f,R)&&"map"===t){const t=e.getStride(),i=e.getFlatCoordinates();for(let e=0,r=i.length-t;e=l){B=Math.atan2(s-a,o-r);break}}}}}}if(2!==S||i){const e=cN(h,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?cN(h,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=cN(h,"paint","icon-halo-color",T,f,R),s=cN(h,"paint","icon-halo-width",T,f,R);let a=`${I}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),M=d[a],!M){const l=hN(h,T,"icon",f);let c;"icon-offset"in E&&(c=cN(h,"layout","icon-offset",T,f,R).slice(0),c[0]*=e,c[1]*=-e);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(o){const n={color:p,rotateWithView:"map"===t,displacement:c,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),M=new IM(n)}else{const o=r[I];let a,h,d;if(s)o.sdf?(a=HD(XD(u.image,o,n||[0,0,0,1]),{x:0,y:0,width:o.width,height:o.height,pixelRatio:o.pixelRatio},s,i),p=void 0):a=HD(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=XD(u.image,{x:0,y:0,width:u.size[0],height:u.size[1]},{r:1,g:1,b:1});u.image=t,u.unSDFed=!0}a=u.image,h=[o.width,o.height],d=[o.x,o.y]}M=new IM({color:p,img:a,imgSize:u.size,size:h,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:c,declutterMode:l})}d[a]=M}}M&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new OM,v[P]=x),x.setGeometry(i),M.setRotation(B+DD(cN(h,"layout","icon-rotate",T,f,R))),M.setOpacity(cN(h,"paint","icon-opacity",T,f,R)),M.setAnchor(oN[cN(h,"layout","icon-anchor",T,f,R)]),x.setImage(M),U=x.getText(),x.setText(void 0),x.setZIndex(k),j=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===h.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new OM,v[P]=x);const t="circle-radius"in C?cN(h,"paint","circle-radius",T,f,R):5,e=pN(cN(h,"paint","circle-stroke-color",T,f,R),cN(h,"paint","circle-stroke-opacity",T,f,R)),n=cN(h,"paint","circle-translate",T,f,R),i=pN(cN(h,"paint","circle-color",T,f,R),cN(h,"paint","circle-opacity",T,f,R)),r=cN(h,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];M=d[s],M||(M=new TM({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new MM({width:r,color:e}):void 0,fill:i?new RM({color:i}):void 0,declutterMode:"none"}),d[s]=M),x.setImage(M),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),j=!0}if("text-field"in E){z=Math.round(cN(h,"layout","text-size",T,f,R));const t=cN(h,"layout","text-font",T,f,R);L=cN(h,"layout","text-line-height",T,f,R),F=mD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,z,L),F.includes("sans-serif")||(F+=",sans-serif"),D=cN(h,"layout","text-letter-spacing",T,f,R),N=cN(h,"layout","text-max-width",T,f,R);const n=cN(h,"layout","text-field",T,f,R);A="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((e,n)=>{const i=n.fontStack?n.fontStack.split(","):t,r=mD(o?o(i):i,z*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(ZD(s,D),r),e;s=nN(s,r,N,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):gN(n,m).trim(),u=cN(h,"paint","text-opacity",T,f,R)}if(A&&u&&!O){j||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new OM,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=hN(h,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new zM({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=cN(h,"layout","text-transform",T,f,R);"uppercase"==e?A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toUpperCase()):A.toUpperCase():"lowercase"==e&&(A=Array.isArray(A)?A.map((t,e)=>e%2?t:t.toLowerCase()):A.toLowerCase());const n=Array.isArray(A)?A:2==S?ZD(A,D):nN(A,F,N,D);if(U.setText(n),U.setFont(F),U.setRotation(DD(cN(h,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=cN(h,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=cN(h,"layout","text-anchor",T,f,R),r=j||1==S?"point":cN(h,"layout","symbol-placement",T,f,R);let s;if("line-center"===r?(U.setPlacement("line"),s="center"):U.setPlacement(r),"line"===r&&"function"==typeof U.setRepeat){const t=cN(h,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=cN(h,"paint","text-halo-width",T,f,R);const a=cN(h,"layout","text-offset",T,f,R),l=cN(h,"paint","text-translate",T,f,R);let c=0,d=0;if("point"==r){s="center",-1!==i.indexOf("left")?(s="left",d=o):-1!==i.indexOf("right")&&(s="right",d=-o);const t=cN(h,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(DD(cN(h,"layout","text-max-angle",T,f,R))*A.length/n.length),U.setRotateWithView(!1);U.setTextAlign(s);let p="middle";0==i.indexOf("bottom")?(p="bottom",c=-o-.5*(L-1)*z):0==i.indexOf("top")&&(p="top",c=o+.5*(L-1)*z),U.setTextBaseline(p);const g=cN(h,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*z+d+l[0]),U.setOffsetY(a[1]*z+c+l[1]),_.setColor(pN(cN(h,"paint","text-color",T,f,R),u)),U.setFill(_);const m=pN(cN(h,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*z;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=cN(h,"layout","text-padding",T,f,R),w=U.getPadding();b!==w[0]&&(w[0]=b,w[1]=b,w[2]=b,w[3]=b),x.setZIndex(k)}}}return P>-1?(v.length=P+1,v):void 0};return t.setStyle(b),t.set("mapbox-layers",h),t.set("mapbox-source",m),t.set("mapbox-featurestate",t.get("mapbox-featurestate")||{}),b}(t,e,l,r,f,g,(t,e=a.webfonts)=>function(t,e="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){if(FS)return t;let n;for(let i=0,r=t.length;i{await document.fonts.ready;for(let t=0,i=n.length;tt.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&t.weight==s&&t.style===o)){const t=e.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",s).replace("{-fontstyle}",o.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",o);if(!document.querySelector('link[href="'+t+'"]')){const e=document.createElement("link");e.href=t,e.rel="stylesheet",document.head.appendChild(e)}}}})(),t):t}(t,e),a.getImage,s),t.getStyle()?h().then(n).catch(i):i(new Error(`Nothing to show for source [${o}]`))}}if(e.sprite){const t=function(t,e,n){if("string"==typeof t)return[{id:"default",url:TD(t,e,n)}];for(const i of t)i.url=TD(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=FS?1:window.devicePixelRatio>=1.5?.5:1;const n=.5==d?"@2x":"";Promise.all(t.map(function(t){const e=new URL(t.url);let r=e.origin+e.pathname+n+".json"+e.search;return new Promise(function(t,n){GD("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,GD("Sprite",r,a).then(t).catch(n)})}).then(function(r){let s;if(void 0===r&&i(new Error("No sprites found.")),s=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const t=a.transformRequest(s,"SpriteImage")||s;(t instanceof Request||t instanceof Promise)&&(s=t)}g[t.id]=s;for(const e in r){const n="default"==t.id?e:`${t.id}:${e}`;f[n]=r[e]}}).catch(function(t){i(new Error(`Sprites cannot be loaded: ${r}: ${t.message}`))})})).then(m).catch(i)}else m()}).catch(i)})}(t,n,e,Object.assign({styleUrl:i},s)).then(function(){!function(t,e){function n(){const n=e.get("mapbox-style");if(!n)return;const i=FA(n.layers),r=t.get("mapbox-layers"),s=i.filter(function(t){return r.includes(t.id)}).some(function(t){return!t.layout||!t.layout.visibility||"visible"===t.layout.visibility});t.get("visible")!==s&&t.setVisible(s)}t.on("change",n),n()}(t,r),l()}).catch(u):l()}else u(new Error("Error accessing data for source "+t.get("mapbox-source")))};t.set("mapbox-layers",e);const h=r.getLayers();-1===h.getArray().indexOf(t)&&h.push(t),t.getSource()?c():t.once("change:source",c)})}class fU extends Ax{static{sx(this.prototype,"osm",[hf])}#M=void ax(this,"osm");static{sx(this.prototype,"storage",[hf])}#O=void ax(this,"storage");mapInstance;bookmarkSource;setupMap=qx(t=>{if(this.mapInstance)return;const e=new LR;this.bookmarkSource=new MA;const n=new lA({source:this.bookmarkSource,style:new OM({image:new TM({radius:7,fill:new RM({color:"#ffcc33"}),stroke:new MM({color:"#fff",width:2})})}),zIndex:10});this.mapInstance=new fO({target:t,layers:[e,n],controls:qT({zoom:!1}),view:new vT({center:QC([99.04738,7.58087]),zoom:13,projection:"EPSG:3857"})}),function(t,e,n={}){let i,r;if(FS){if(!(t instanceof fO||t instanceof LR))throw new Error("ol-mapbox-style in a web worker requires a Map or a LayerGroup as first argument");r=t}else r="string"==typeof t||t instanceof HTMLElement?new fO({target:t}):t;{const t=e.startsWith("data:")?location.href:RD(e,n.accessToken);n=sU(t,n),i=new Promise(function(i,s){$D(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof fO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?XC(i.projection):s.getProjection();s=new vT(Object.assign(s.getProperties(),{maxResolution:ND[0]/eC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(QC(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(ND[0]/eC[s.getProjection().getUnits()]/Math.pow(2,t.zoom)),s.getCenter()&&void 0!==s.getZoom()||s.fit(s.getProjection().getExtent(),{nearest:!0,size:e.getSize()})}e.set("mapbox-style",t),e.set("mapbox-metadata",{styleUrl:n,options:i});const o=t.layers;let a,l,u,c=[];for(let h=0,d=o.length;h{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e);this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.loadBookmarks()}),this.storage.rs.scope("/places/").on("change",t=>{console.log("RemoteStorage change detected:",t),this.loadBookmarks()})});updateBookmarks=qx(()=>{this.storage.version>=0&&this.loadBookmarks()});async loadBookmarks(){try{const t=await this.storage.places.listAll();this.bookmarkSource.clear(),t&&Array.isArray(t)&&t.forEach(t=>{if(t.lat&&t.lon){const e=new pA({geometry:new Xk(QC([t.lon,t.lat])),name:t.title,id:t.id,isBookmark:!0,originalPlace:t});this.bookmarkSource.addFeature(e)}})}catch(t){console.error("Failed to load bookmarks:",t)}}handleMapClick=async t=>{const e=this.mapInstance.getFeaturesAtPixel(t.pixel);let n=null,i=null,r=null;if(e&&e.length>0){const t=e.find(t=>t.get("isBookmark"));t&&(n=t.get("originalPlace"));const s=e[0].getProperties();s.name&&(i=s.name,r=s.class||s.subclass)}if(this.args.isSidebarOpen)return n?(console.log("Clicked bookmark while sidebar open (switching):",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n))):void(this.args.onOutsideClick&&this.args.onOutsideClick());if(n)return console.log("Clicked bookmark:",n),void(this.args.onPlacesFound&&this.args.onPlacesFound([],n));const s=function(t){const e=rk(t,"EPSG:3857","EPSG:4326"),n=e[0];return(n<-180||n>180)&&(e[0]=iE(n+180,360)-180),e}(t.coordinate),[o,a]=s;try{const t=i?30:50;let e=await this.osm.getNearbyPois(a,o,t);e=e.map(t=>{const e=t.lat||t.center?.lat,n=t.lon||t.center?.lon;return{...t,_distance:e&&n?cx(a,o,e,n):9999}}).sort((t,e)=>t._distance-e._distance);let n=null;if(i&&e.length>0&&(n=e.find(t=>t.tags&&(t.tags.name===i||t.tags["name:en"]===i)),!n)){const t=e[0];if(t._distance<=20){const e=t.tags.amenity||t.tags.shop||t.tags.tourism;r&&e&&(r===e||e.includes(r))?(console.log("Heuristic match found (distance + type):",t),n=t):t._distance<=10&&(console.log("Heuristic match found (proximity):",t),n=t)}}this.args.onPlacesFound&&this.args.onPlacesFound(e,n)}catch(Nz){console.error("Failed to fetch POIs:",Nz)}};static{Di(Eg({id:"SKcemzjO",block:'[[[11,0],[24,5,"position: absolute; inset: 0;"],[4,[30,0,["setupMap"]],null,null],[4,[30,0,["updateBookmarks"]],null,null],[12],[13]],[],[]]',moduleName:"/home/basti/src/marco/app/components/map.gjs",isStrictMode:!0}),this)}}const gU=Ay;function mU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:Ch(t)?0!==t.length:!!t}class yU extends Yv{compute(t){for(let e=0,n=t.length;e[V_,yU,gU],isStrictMode:!0}),this)}}class vU extends Yv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{ox(this.prototype,"showPlaces",[cc])}selectFromList(t){if(t){const e=t.id||t.osmId;e&&this.router.transitionTo("place",e)}}static{ox(this.prototype,"selectFromList",[cc])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{ox(this.prototype,"closeSidebar",[cc])}refreshBookmarks(){this.storage.notifyChange()}static{ox(this.prototype,"refreshBookmarks",[cc])}static{Di(Eg({id:"blSKCVz1",block:'[[[1,[28,[32,0],["M/\\\\RCO"],null]],[1,"\\n\\n"],[8,[32,1],null,[["@onPlacesFound","@isSidebarOpen","@onOutsideClick"],[[30,0,["showPlaces"]],[30,0,["isSidebarOpen"]],[30,0,["closeSidebar"]]]],null],[1,"\\n\\n"],[41,[28,[32,2],[[28,[32,3],[[30,0,["router","currentRouteName"]],"index"],null],[30,0,["nearbyPlaces"]]],null],[[[1," "],[8,[32,4],null,[["@places","@onSelect","@onClose"],[[30,0,["nearbyPlaces"]],[30,0,["selectFromList"]],[30,0,["closeSidebar"]]]],null],[1,"\\n"]],[]],null],[1,"\\n"],[46,[28,[31,2],null,null],null,null,null]],[],["if","component","-outlet"]]',moduleName:"/home/basti/src/marco/app/templates/application.gjs",scope:()=>[Nx,fU,vU,bU,_U],isStrictMode:!0}),this)}}const xU=Object.freeze(Object.defineProperty({__proto__:null,default:wU},Symbol.toStringTag,{value:"Module"}));class SU extends Zd{static{sx(this.prototype,"osm",[hf])}#M=void ax(this,"osm");static{sx(this.prototype,"storage",[hf])}#O=void ax(this,"storage")}const EU=Object.freeze(Object.defineProperty({__proto__:null,default:SU},Symbol.toStringTag,{value:"Module"}));class CU extends Ax{static{sx(this.prototype,"router",[hf])}#A=void ax(this,"router");static{sx(this.prototype,"storage",[hf])}#O=void ax(this,"storage");static{sx(this.prototype,"localPlace",[ys],function(){return null})}#L=void ax(this,"localPlace");constructor(){super(...arguments),this.localPlace=this.args.model}get place(){const t=this.args.model;return!this.localPlace||this.localPlace.id!==t.id&&this.localPlace.osmId!==t.osmId||!this.localPlace.createdAt||t.createdAt?t:this.localPlace}handleUpdate(t){console.log("Updating local place state:",t),this.localPlace=t,this.storage.notifyChange()}static{ox(this.prototype,"handleUpdate",[cc])}refreshMap(){this.storage.notifyChange()}static{ox(this.prototype,"refreshMap",[cc])}close(){this.router.transitionTo("index")}static{ox(this.prototype,"close",[cc])}static{Di(Eg({id:"UQo8iDu3",block:'[[[8,[32,0],null,[["@selectedPlace","@onClose","@onBookmarkChange","@onUpdate"],[[30,0,["place"]],[30,0,["close"]],[30,0,["refreshMap"]],[30,0,["handleUpdate"]]]],null]],[],[]]',moduleName:"/home/basti/src/marco/app/templates/place.gjs",scope:()=>[_U],isStrictMode:!0}),this)}}const kU=Object.freeze(Object.defineProperty({__proto__:null,default:CU},Symbol.toStringTag,{value:"Module"}));class TU extends Zd{static{sx(this.prototype,"storage",[hf])}#O=void ax(this,"storage");static{sx(this.prototype,"osm",[hf])}#M=void ax(this,"osm");async model(t){const e=t.place_id;let n=this.storage.findPlaceById(e);if(n)return console.log("Found in bookmarks:",n.title),n;console.log("Not in bookmarks, fetching from OSM:",e);try{const t=await this.osm.getPoiById(e);if(t)return{title:t.tags.name||t.tags["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,tags:t.tags,url:t.tags.website,osmId:String(t.id),description:t.tags.description}}catch(i){console.error("Failed to fetch POI",i)}return null}}const RU=Object.freeze(Object.defineProperty({__proto__:null,default:TU},Symbol.toStringTag,{value:"Module"})),PU=Object.assign({},Mw,{"marco/app":t,"marco/config/environment":zw,"marco/deprecation-workflow":Nw,"marco/router":qw,"marco/services/osm":Gw,"marco/services/storage":ux,"marco/utils/geo":hx,"marco/services/page-title":Ex,"marco/templates/application":xU,"marco/routes/application":EU,"marco/templates/place":kU,"marco/routes/place":RU},{});class IU{constructor(t,e,n){this.limit=t,this.func=e,this.store=n,this.size=0,this.misses=0,this.hits=0,this.store=n||new Map}get(t){let e=this.store.get(t);return this.store.has(t)?(this.hits++,this.store.get(t)):(this.misses++,e=this.set(t,this.func(t)),e)}set(t,e){return this.limit>this.size&&(this.size++,this.store.set(t,e)),e}purge(){this.store.clear(),this.size=0,this.hits=0,this.misses=0}}const MU=/[ _]/g,OU=new IU(1e3,t=>{return(e=t,BU.get(e)).replace(MU,"-");var e}),AU=/^(\-|_)+(.)?/,FU=/(.)(\-|\_|\.|\s)+(.)?/g,LU=/(^|\/|\.)([a-z])/g,zU=new IU(1e3,t=>{const e=(t,e,n)=>n?`_${n.toUpperCase()}`:"",n=(t,e,n,i)=>e+(i?i.toUpperCase():""),i=t.split("/");for(let r=0;rt.toUpperCase())}),DU=/([a-z\d])([A-Z]+)/g,NU=/\-|\s+/g,jU=new IU(1e3,t=>t.replace(DU,"$1_$2").replace(NU,"_").toLowerCase()),UU=/([a-z\d])([A-Z])/g,BU=new IU(1e3,t=>t.replace(UU,"$1_$2").toLowerCase());class qU{constructor(t){this._entries=t||globalThis.requirejs.entries}moduleNames(){return Object.keys(this._entries)}has(t){return t in this._entries}get(...t){return globalThis.require(...t)}}class GU{static moduleBasedResolver=!0;moduleBasedResolver=!0;_deprecatedPodModulePrefix=!1;_normalizeCache=Object.create(null);static create(t){return new this(t)}moduleNameLookupPatterns=[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName,this.nestedColocationComponentModuleName];static withModules(t){return class extends(this){static explicitModules=t}}constructor(t){if(Object.assign(this,t),!this._moduleRegistry){let t=this.constructor.explicitModules;t?this._moduleRegistry={moduleNames:()=>Object.keys(t),has:e=>Boolean(t[e]),get:e=>t[e],addModules(e){t=Object.assign({},t,e)}}:(void 0===globalThis.requirejs.entries&&(globalThis.requirejs.entries=globalThis.requirejs._eak_seen),this._moduleRegistry=new qU)}this.pluralizedTypes=this.pluralizedTypes||Object.create(null),this.pluralizedTypes.config||(this.pluralizedTypes.config="config")}makeToString(t,e){return this.namespace.modulePrefix+"@"+e+":"}shouldWrapInClassFactory(){return!1}parseName(t){if(!0===t.parsedName)return t;let e,n,i,r=t.split("@");if(3===r.length){if(0===r[0].length){e=`@${r[1]}`;let t=r[2].split(":");n=t[0],i=t[1]}else e=`@${r[1]}`,n=r[0].slice(0,-1),i=r[2];"template:components"===n&&(i=`components/${i}`,n="template")}else if(2===r.length){let t=r[0].split(":");if(2===t.length)0===t[1].length?(n=t[0],i=`@${r[1]}`):(e=t[1],n=t[0],i=r[1]);else{let t=r[1].split(":");e=r[0],n=t[0],i=t[1]}"template"===n&&0===e.lastIndexOf("components/",0)&&(i=`components/${i}`,e=e.slice(11))}else r=t.split(":"),n=r[0],i=r[1];let s=i,o=this.namespace;return{parsedName:!0,fullName:t,prefix:e||this.prefix({type:n}),type:n,fullNameWithoutType:s,name:i,root:o,resolveMethodName:"resolve"+(a=n,zU.get(a))};var a}resolveOther(t){$U("`modulePrefix` must be defined",this.namespace.modulePrefix);let e=this.findModuleName(t);if(e){let i=this._extractDefaultExport(e,t);if(void 0===i)throw new Error(` Expected to find: '${t.fullName}' within '${e}' but got 'undefined'. Did you forget to 'export default' within '${e}'?`);return this.shouldWrapInClassFactory(i,t)&&(n=i,i={create:t=>"function"==typeof n.extend?n.extend(t):n}),i}var n}normalize(t){return this._normalizeCache[t]||(this._normalizeCache[t]=this._normalize(t))}resolve(t){if("resolver:current"===t)return{create:()=>this};let e,n=this.parseName(t),i=n.resolveMethodName;return"function"==typeof this[i]&&(e=this[i](n)),null==e&&(e=this.resolveOther(n)),e}addModules(t){if(!this._moduleRegistry.addModules)throw new Error("addModules is only supported when your Resolver has been configured to use static modules via Resolver.withModules()");this._moduleRegistry.addModules(t)}_normalize(t){let e=t.split(":");if(e.length>1){let t=e[0];return"component"===t||"helper"===t||"modifier"===t||"template"===t&&0===e[1].indexOf("components/")?t+":"+e[1].replace(/_/g,"-"):t+":"+(n=e[1].replace(/\./g,"/"),OU.get(n))}return t;var n}pluralize(t){return this.pluralizedTypes[t]||(this.pluralizedTypes[t]=t+"s")}podBasedLookupWithPrefix(t,e){let n=e.fullNameWithoutType;return"template"===e.type&&(n=n.replace(/^components\//,"")),t+"/"+n+"/"+e.type}podBasedModuleName(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(e,t)}podBasedComponentsInSubdir(t){let e=this.namespace.podModulePrefix||this.namespace.modulePrefix;if(e+="/components","component"===t.type||/^components/.test(t.fullNameWithoutType))return this.podBasedLookupWithPrefix(e,t)}resolveEngine(t){let e=t.fullNameWithoutType+"/engine";if(this._moduleRegistry.has(e))return this._extractDefaultExport(e)}resolveRouteMap(t){let e=t.fullNameWithoutType,n=e+"/routes";if(this._moduleRegistry.has(n)){let t=this._extractDefaultExport(n);return $U(`The route map for ${e} should be wrapped by 'buildRoutes' before exporting.`,t.isRouteMap),t}}resolveTemplate(t){return this.resolveOther(t)}mainModuleName(t){if("main"===t.fullNameWithoutType)return t.prefix+"/"+t.type}defaultModuleName(t){return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType}nestedColocationComponentModuleName(t){if("component"===t.type)return t.prefix+"/"+this.pluralize(t.type)+"/"+t.fullNameWithoutType+"/index"}prefix(t){let e=this.namespace.modulePrefix;return this.namespace[t.type+"Prefix"]&&(e=this.namespace[t.type+"Prefix"]),e}findModuleName(t){let e,n=this.moduleNameLookupPatterns;for(let i=0,r=n.length;ii.length+r.length)return t+":"+e.slice(s+i.length,o);let a=n+"/"+this.pluralize(t)+"/";return 0===e.indexOf(a)&&e.length>a.length?t+":"+e.slice(a.length):void 0}_extractDefaultExport(t){let e=this._moduleRegistry.get(t,null,null,!0);return e&&e.default&&(e=e.default),e}}function $U(t,e){if(!e)throw new Error(t)}const VU={};function WU(t){!function(t){globalThis.emberInspectorApps||(globalThis.emberInspectorApps=[]),globalThis.emberInspectorApps.push({app:t,name:`app-${globalThis.emberInspectorApps.length}`,loadCompatInspector:()=>function(t,e){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),r=t?.nonce||t?.getAttribute("nonce");i=e.map(t=>{if((t=function(t){return"/"+t}(t))in VU)return;VU[t]=!0;const e=t.endsWith(".css"),n=e?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${n}`))return;const i=document.createElement("link");return i.rel=e?"stylesheet":"modulepreload",e||(i.as="script"),i.crossOrigin="",i.href=t,r&&i.setAttribute("nonce",r),document.head.appendChild(i),e?new Promise((e,n)=>{i.addEventListener("load",e),i.addEventListener("error",()=>n(new Error(`Unable to preload CSS for ${t}`)))}):void 0}),n=Promise.all(i.map(t=>Promise.resolve(t).then(t=>({status:"fulfilled",value:t}),t=>({status:"rejected",reason:t}))))}var i;function r(t){const e=new Event("vite:preloadError",{cancelable:!0});if(e.payload=t,window.dispatchEvent(e),!e.defaultPrevented)throw t}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return import("./modules-4-12-CV4SLpWi.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class HU extends Pw{modulePrefix=Lw.modulePrefix;podModulePrefix=Lw.podModulePrefix;Resolver=GU.withModules(PU);inspector=WU(this)}HU.create(Lw.APP);export{to as $,Mr as A,is as B,cr as C,gs as D,ns as E,rs as F,yr as G,mr as H,Hr as I,wr as J,Zs as K,ps as L,Ys as M,Ws as N,Ur as O,Gr as P,Ds as Q,Tr as R,Ir as S,vs as T,ls as U,ms as V,_r as W,es as X,Ie as Y,lr as Z,hs as _,y as a,Tl as a$,fs as a0,fr as a1,nr as a2,ur as a3,Vr as a4,Ji as a5,Rr as a6,Qs as a7,Js as a8,zs as a9,Hv as aA,Ni as aB,Cx as aC,Di as aD,U as aE,Ph as aF,ac as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,he as aN,g as aO,d as aP,m as aQ,p as aR,c as aS,f as aT,qt as aU,jt as aV,Nt as aW,Ht as aX,Vt as aY,Pl as aZ,Rl as a_,Cr as aa,Xs as ab,Ar as ac,Ms as ad,As as ae,Nr as af,kr as ag,vr as ah,eo as ai,Ns as aj,no as ak,er as al,tr as am,ys as an,xs as ao,Mt as ap,Ot as aq,St as ar,It as as,At as at,xt as au,zt as av,Lt as aw,cv as ax,xv as ay,Ci as az,v as b,$u as b$,Fl as b0,Vu as b1,Cl as b2,zl as b3,Ol as b4,Il as b5,Wu as b6,Vi as b7,N as b8,W as b9,W_ as bA,Kc as bB,kc as bC,xc as bD,Sc as bE,pc as bF,Cc as bG,_c as bH,fc as bI,Ic as bJ,Tc as bK,Pc as bL,vc as bM,gc as bN,dc as bO,bc as bP,wc as bQ,wl as bR,Lc as bS,Nl as bT,au as bU,hu as bV,pu as bW,Iu as bX,Bu as bY,Uu as bZ,Ul as b_,$ as ba,Ga as bb,ut as bc,j as bd,B as be,Bs as bf,M as bg,lt as bh,Bi as bi,it as bj,Z as bk,Q as bl,Us as bm,J as bn,qi as bo,ot as bp,rt as bq,ct as br,st as bs,pt as bt,F as bu,et as bv,oh as bw,vw as bx,sh as by,Oc as bz,Re as c,bu as c0,uu as c1,Tu as c2,mu as c3,_u as c4,xu as c5,Gu as c6,qu as c7,fu as c8,Eu as c9,Su as ca,vu as cb,Iw as cc,fw as cd,Ah as ce,Dh as cf,hc as cg,Ll as ch,qc as ci,rc as cj,Fc as ck,oc as cl,aa as cm,pf as cn,qa as co,Hi as cp,Fx as cq,ji as cr,Gn as cs,$_ as ct,dn as cu,Ke as cv,us as d,bs as e,Yr as f,Pe as g,Hs as h,R as i,as as j,cs as k,ws as l,Fr as m,Ls as n,Er as o,Wt as p,Ks as q,Or as r,b as s,Ss as t,Ps as u,Rs as v,ts as w,Wr as x,Kr as y,Qr as z}; diff --git a/dist/assets/modules-4-12-CV4SLpWi.js b/dist/assets/modules-4-12-BQKlU62x.js similarity index 98% rename from dist/assets/modules-4-12-CV4SLpWi.js rename to dist/assets/modules-4-12-BQKlU62x.js index b8dddc0..6b3c1d4 100644 --- a/dist/assets/modules-4-12-CV4SLpWi.js +++ b/dist/assets/modules-4-12-BQKlU62x.js @@ -1 +1 @@ -import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-CSfb0M2L.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-CSfb0M2L.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; +import{a as e,i as t,b as a,s as r,p as s,c as n,g as o,d as i,e as l,A as c,C as d,f as b,D as g,L as u,N as h,h as _,P as p,j as y,S as m,T as C,_ as f,k as j,l as O,m as v,n as S,o as D,q as P,r as A,t as T,u as M,v as E,w as I,x as w,y as x,z as N,B as R,E as V,F,G as k,H as z,I as U,J as L,K as G,M as W,O as B,Q as Y,R as H,U as q,V as J,W as K,X,Y as Q,Z,$,a0 as ee,a1 as te,a2 as ae,a3 as re,a4 as se,a5 as ne,a6 as oe,a7 as ie,a8 as le,a9 as de,aa as be,ab as ge,ac as ue,ad as he,ae as _e,af as pe,ag as ye,ah as me,ai as Ce,aj as fe,ak as je,al as Oe,am as ve,an as Se,ao as De,ap as Pe,aq as Ae,ar as Te,as as Me,at as Ee,au as Ie,av as we,aw as xe,ax as Ne,ay as Re,az as Ve,aA as Fe,aB as ke,aC as ze,aD as Ue,aE as Le,aF as Ge,aG as We,aH as Be,aI as Ye,aJ as He,aK as qe,aL as Je,aM as Ke,aN as Xe,aO as Qe,aP as Ze,aQ as $e,aR as et,aS as tt,aT as at,aU as rt,aV as st,aW as nt,aX as ot,aY as it,aZ as lt,a_ as dt,a$ as bt,b0 as gt,b1 as ut,b2 as ht,b3 as _t,b4 as pt,b5 as yt,b6 as mt,b7 as Ct,b8 as ft,b9 as jt,ba as Ot,bb as vt,bc as St,bd as Dt,be as Pt,bf as At,bg as Tt,bh as Mt,bi as Et,bj as It,bk as wt,bl as xt,bm as Nt,bn as Rt,bo as Vt,bp as Ft,bq as kt,br as zt,bs as Ut,bt as Lt,bu as Gt,bv as Wt,bw as Bt,bx as Yt,by as Ht,bz as qt,bA as Jt,bB as Kt,bC as Xt,bD as Qt,bE as Zt,bF as $t,bG as ea,bH as ta,bI as aa,bJ as ra,bK as sa,bL as na,bM as oa,bN as ia,bO as la,bP as ca,bQ as da,bR as ba,bS as ga,bT as ua,bU as ha,bV as _a,bW as pa,bX as ya,bY as ma,bZ as Ca,b_ as fa,b$ as ja,c0 as Oa,c1 as va,c2 as Sa,c3 as Da,c4 as Pa,c5 as Aa,c6 as Ta,c7 as Ma,c8 as Ea,c9 as Ia,ca as wa,cb as xa}from"./main-CLXi7ljE.js";export{cc as Application,cd as ApplicationNamespace,ce as Array,cf as Controller,cg as EmberObject,ch as EnumerableMutable,cq as GlimmerComponent,cr as GlimmerManager,cs as GlimmerReference,ct as GlimmerRuntime,cu as GlimmerUtil,cv as GlimmerValidator,ci as Instrumentation,cg as Object,cj as ObjectCore,ck as ObjectEvented,cl as ObjectObservable,co as Owner,cm as Runloop,cn as Service,cp as VERSION}from"./main-CLXi7ljE.js";const Na=()=>{};let Ra=Na,Va=Na,Fa=Na,ka=Na,za=Na,Ua=Na,La=Na,Ga=Na;const Wa=Object.freeze(Object.defineProperty({__proto__:null,_warnIfUsingStrippedFeatureFlags:void 0,assert:e,captureRenderTree:function(e){let t=e.lookup("renderer:-dom");if(!t)throw new Error("BUG: owner is missing renderer");return t.debugRenderTree.capture()},debug:Fa,debugFreeze:za,debugSeal:ka,deprecate:function(){},deprecateFunc:function(){return arguments[arguments.length-1]},getDebugFunction:Ga,info:Ra,inspect:t,isTesting:a,registerDeprecationHandler:()=>{},registerWarnHandler:()=>{},runInDebug:Ua,setDebugFunction:La,setTesting:r,warn:Va},Symbol.toStringTag,{value:"Module"}));function Ba(e,t){let a=s(e);return a?a.valueFor(t):void 0}const Ya=new WeakMap,Ha=Object.freeze(Object.defineProperty({__proto__:null,ASYNC_OBSERVERS:c,ComputedDescriptor:d,ComputedProperty:b,DEBUG_INJECTION_FUNCTIONS:g,Libraries:u,NAMESPACES:h,NAMESPACES_BY_ID:_,PROPERTY_DID_CHANGE:p,PROXY_CONTENT:y,SYNC_OBSERVERS:m,TrackedDescriptor:C,_getPath:f,_getProp:j,_setProp:O,activateObserver:v,addArrayObserver:S,addListener:D,addNamespace:P,addObserver:A,alias:T,arrayContentDidChange:M,arrayContentWillChange:E,autoComputed:I,beginPropertyChanges:w,cached:(...e)=>{const[t,a,r]=e,s=new WeakMap,i=r.get;r.get=function(){return s.has(this)||s.set(this,n(i.bind(this))),o(s.get(this))}},changeProperties:x,computed:N,createCache:n,defineDecorator:R,defineProperty:V,defineValue:F,deprecateProperty:function(e,t,a){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set(e){l(this,a,e)},get(){return i(this,a)}})},descriptorForDecorator:k,descriptorForProperty:z,eachProxyArrayDidChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayDidChange(e,t,a,r)},eachProxyArrayWillChange:function(e,t,a,r){let s=Ya.get(e);void 0!==s&&s.arrayWillChange(e,t,a,r)},endPropertyChanges:U,expandProperties:L,findNamespace:G,findNamespaces:W,flushAsyncObservers:B,get:i,getCachedValueFor:Ba,getProperties:Y,getValue:o,hasListeners:H,hasUnknownProperty:q,inject:J,isClassicDecorator:K,isComputed:X,isConst:Q,isElementDescriptor:Z,isNamespaceSearchDisabled:$,libraries:ee,makeComputedDecorator:te,markObjectAsDirty:ae,nativeDescDecorator:re,notifyPropertyChange:se,objectAt:ne,on:oe,processAllNamespaces:ie,processNamespace:le,removeArrayObserver:de,removeListener:be,removeNamespace:ge,removeObserver:ue,replace:he,replaceInNativeArray:_e,revalidateObservers:pe,sendEvent:ye,set:l,setClassicDecorator:me,setNamespaceSearchDisabled:Ce,setProperties:fe,setUnprocessedMixins:je,tagForObject:Oe,tagForProperty:ve,tracked:Se,trySet:De},Symbol.toStringTag,{value:"Module"})),qa=Object.freeze(Object.defineProperty({__proto__:null,assertDestroyablesDestroyed:Te,associateDestroyableChild:Me,destroy:Ee,enableDestroyableTracking:Ie,isDestroyed:we,isDestroying:xe,registerDestructor:function(e,t){return Pe(e,t)},unregisterDestructor:function(e,t){return Ae(e,t)}},Symbol.toStringTag,{value:"Module"})),Ja=Object.freeze(Object.defineProperty({__proto__:null,Input:Ne,Textarea:Re,capabilities:Ve,default:Fe,getComponentTemplate:ke,setComponentManager:ze,setComponentTemplate:Ue},Symbol.toStringTag,{value:"Module"})),Ka=Object.freeze(Object.defineProperty({__proto__:null,cacheFor:Ba,guidFor:Le},Symbol.toStringTag,{value:"Module"})),Xa=Object.freeze(Object.defineProperty({__proto__:null,default:Ge},Symbol.toStringTag,{value:"Module"})),Qa={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"};function Za(e,t){return"[]"===t?(e._revalidate(),e._arrTag):"length"===t?(e._revalidate(),e._lengthTag):qe(e,t)}class $a extends We{_objectsDirtyIndex=0;_objects=null;_lengthDirty=!0;_length=0;_arrangedContent=null;_arrangedContentIsUpdating=!1;_arrangedContentTag=null;_arrangedContentRevision=null;_lengthTag=null;_arrTag=null;init(e){super.init(e),Be(this,Za)}[p](){this._revalidate()}willDestroy(){this._removeArrangedContentArrayObserver()}objectAtContent(e){let t=i(this,"arrangedContent");return ne(t,e)}replace(e,t,a){this.replaceContent(e,t,a)}replaceContent(e,t,a){let r=i(this,"content");he(r,e,t,a)}objectAt(e){if(this._revalidate(),null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){let e=i(this,"arrangedContent");if(e){let t=this._objects.length=i(e,"length");for(let e=this._objectsDirtyIndex;es)&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,M(this,t,a,r,!1)}_invalidate(){this._objectsDirtyIndex=0,this._lengthDirty=!0}_revalidate(){if(!0!==this._arrangedContentIsUpdating&&(null===this._arrangedContentTag||!He(this._arrangedContentTag,this._arrangedContentRevision))){let e=this.get("arrangedContent");null===this._arrangedContentTag?this._addArrangedContentArrayObserver(e):(this._arrangedContentIsUpdating=!0,this._updateArrangedContentArray(e),this._arrangedContentIsUpdating=!1);let t=this._arrangedContentTag=qe(this,"arrangedContent");this._arrangedContentRevision=Je(this._arrangedContentTag),Ke(e)?(this._lengthTag=Xe([t,ve(e,"length")]),this._arrTag=Xe([t,ve(e,"[]")])):this._lengthTag=this._arrTag=t}}}$a.reopen(Ge,{arrangedContent:T("content")});const er=Object.freeze(Object.defineProperty({__proto__:null,default:$a},Symbol.toStringTag,{value:"Module"})),tr=Object.freeze(Object.defineProperty({__proto__:null,ENV:Qe,context:Ze,getENV:$e,getLookup:et,global:tt,setLookup:at},Symbol.toStringTag,{value:"Module"})),ar=Object.freeze(Object.defineProperty({__proto__:null,Meta:rt,UNDEFINED:st,counters:nt,meta:ot,peekMeta:s,setMeta:it},Symbol.toStringTag,{value:"Module"})),rr=Object.freeze(Object.defineProperty({__proto__:null,ActionHandler:lt,Comparable:dt,ContainerProxyMixin:bt,MutableEnumerable:gt,RSVP:ut,RegistryProxyMixin:ht,TargetActionSupport:_t,_ProxyMixin:pt,_contentFor:yt,onerrorDefault:mt},Symbol.toStringTag,{value:"Module"})),sr=Object.freeze(Object.defineProperty({__proto__:null,Cache:Ct,GUID_KEY:ft,ROOT:jt,canInvoke:function(e,t){return null!=e&&"function"==typeof e[t]},checkHasSuper:Ot,dictionary:vt,enumerableSymbol:St,generateGuid:Dt,getDebugName:Pt,getName:At,guidFor:Le,intern:Tt,isInternalSymbol:Mt,isObject:Ke,isProxy:Et,lookupDescriptor:It,observerListenerMetaFor:wt,setListeners:xt,setName:Nt,setObservers:Rt,setProxy:Vt,setWithMandatorySetter:Ft,setupMandatorySetter:kt,symbol:zt,teardownMandatorySetter:Ut,toString:Lt,uuid:Gt,wrap:Wt},Symbol.toStringTag,{value:"Module"})),nr=Object.freeze(Object.defineProperty({__proto__:null,ActionSupport:Bt,ComponentLookup:Yt,CoreView:Ht,EventDispatcher:qt,MUTABLE_CELL:Jt,ViewStates:Kt,addChildView:Xt,clearElementView:Qt,clearViewElement:Zt,constructStyleDeprecationMessage:$t,getChildViews:ea,getElementView:ta,getRootViews:aa,getViewBoundingClientRect:ra,getViewBounds:sa,getViewClientRects:na,getViewElement:oa,getViewId:ia,isSimpleClick:la,setElementView:ca,setViewElement:da},Symbol.toStringTag,{value:"Module"})),or=ba.create({reason:null,isPending:N("isSettled",function(){return!i(this,"isSettled")}).readOnly(),isSettled:N("isRejected","isFulfilled",function(){return i(this,"isRejected")||i(this,"isFulfilled")}).readOnly(),isRejected:!1,isFulfilled:!1,promise:N({get(){throw new Error("PromiseProxy's promise must be set")},set(e,t){return function(e,t){return fe(e,{isFulfilled:!1,isRejected:!1}),t.then(t=>(e.isDestroyed||e.isDestroying||fe(e,{content:t,isFulfilled:!0}),t),t=>{throw e.isDestroyed||e.isDestroying||fe(e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}(this,t)}}),then:ir("then"),catch:ir("catch"),finally:ir("finally")});function ir(e){return function(...t){return i(this,"promise")[e](...t)}}const lr=Object.freeze(Object.defineProperty({__proto__:null,default:or},Symbol.toStringTag,{value:"Module"}));class dr extends ga{}dr.PrototypeMixin.reopen(pt);const br=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),gr=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:ua,Promise:ha,all:_a,allSettled:pa,asap:ya,async:ma,cast:Ca,configure:fa,default:ja,defer:Oa,denodeify:va,filter:Sa,hash:Da,hashSettled:Pa,map:Aa,off:Ta,on:Ma,race:Ea,reject:Ia,resolve:wa,rethrow:xa},Symbol.toStringTag,{value:"Module"}));export{Xa as ArrayMutable,er as ArrayProxy,Ja as Component,Wa as Debug,qa as EmberDestroyable,tr as InternalsEnvironment,ar as InternalsMeta,Ha as InternalsMetal,rr as InternalsRuntime,sr as InternalsUtils,nr as InternalsViews,Ka as ObjectInternals,lr as ObjectPromiseProxyMixin,br as ObjectProxy,gr as RSVP}; diff --git a/dist/index.html b/dist/index.html index c5bca6e..776cb18 100644 --- a/dist/index.html +++ b/dist/index.html @@ -6,7 +6,7 @@ - +