From afcc686e715f6f447ce4331f7cdeb0791150c728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Tue, 20 Jan 2026 16:54:10 +0700 Subject: [PATCH] 1.0.0 --- package.json | 2 +- release/@embroider/virtual/vendor.css | 0 release/@embroider/virtual/vendor.js | 1 + release/assets/main-Dxork-AG.css | 1 + release/assets/main-PEcndiCZ.js | 2 ++ release/assets/modules-4-12-D84c68ET.js | 1 + release/index.html | 14 ++++++++++++++ release/robots.txt | 3 +++ 8 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 release/@embroider/virtual/vendor.css create mode 100644 release/@embroider/virtual/vendor.js create mode 100644 release/assets/main-Dxork-AG.css create mode 100644 release/assets/main-PEcndiCZ.js create mode 100644 release/assets/modules-4-12-D84c68ET.js create mode 100644 release/index.html create mode 100644 release/robots.txt diff --git a/package.json b/package.json index cbc3adf..2603079 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "marco", - "version": "0.0.0", + "version": "1.0.0", "private": true, "description": "Small description for marco goes here", "repository": "", diff --git a/release/@embroider/virtual/vendor.css b/release/@embroider/virtual/vendor.css new file mode 100644 index 0000000..e69de29 diff --git a/release/@embroider/virtual/vendor.js b/release/@embroider/virtual/vendor.js new file mode 100644 index 0000000..b994d18 --- /dev/null +++ b/release/@embroider/virtual/vendor.js @@ -0,0 +1 @@ +var runningTests=false; \ No newline at end of file diff --git a/release/assets/main-Dxork-AG.css b/release/assets/main-Dxork-AG.css new file mode 100644 index 0000000..97183a2 --- /dev/null +++ b/release/assets/main-Dxork-AG.css @@ -0,0 +1 @@ +html,body{height:100%}body{margin:0}#root,#ember-testing{height:100%}.map-container{background:#f8f9fa;-webkit-tap-highlight-color:transparent;outline:none}#remotestorage-widget{position:absolute;top:10px;right:10px;z-index:1000}.sidebar{position:absolute;top:0;left:0;bottom:0;width:300px;background:#fff;z-index:2000;box-shadow:2px 0 5px #0000001a;display:flex;flex-direction:column}.sidebar-header{padding:1rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.sidebar-header h2{margin:0;font-size:1.2rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.back-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;margin-right:.5rem}.place-details{padding:.5rem}.place-details h3{margin-top:0;margin-bottom:.5rem}.place-meta{color:#666;text-transform:capitalize;margin-bottom:1rem}.btn-primary{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;width:100%;font-size:1rem}.btn-primary:hover{background:#0056b3}.places-list{list-style:none;padding:0;margin:0}.places-list li{margin-bottom:.5rem}.place-item{width:100%;text-align:left;background:#f8f9fa;border:1px solid #ddd;padding:.75rem;border-radius:4px;cursor:pointer;transition:background .2s}.place-item:hover{background:#e9ecef}.place-name{font-weight:700;margin-bottom:.25rem}.place-type{font-size:.85rem;color:#666;text-transform:capitalize}.empty-state{text-align:center;color:#666;margin-top:2rem}.search-pulse{border-radius:50%;border:2px solid rgba(255,204,51,.8);background:#fc33;position:absolute;transform:translate(-50%,-50%);pointer-events:none;animation:pulse 1.5s infinite ease-out;box-sizing:border-box;display:none}.search-pulse.active{display:block}.search-pulse.blue{border-color:#39cc;background:#39c3}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8}to{transform:translate(-50%,-50%) scale(1.4);opacity:0}}.ol-control.ol-locate{top:5em;right:.5em;left:auto}.ol-touch .ol-control.ol-locate{top:5.5em}:root,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer} diff --git a/release/assets/main-PEcndiCZ.js b/release/assets/main-PEcndiCZ.js new file mode 100644 index 0000000..6314d76 --- /dev/null +++ b/release/assets/main-PEcndiCZ.js @@ -0,0 +1,2 @@ +const t=Object.freeze(Object.defineProperty({__proto__:null,get default(){return xB}},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 h=u((c="object"==typeof global&&global)&&void 0===c.nodeType?c:void 0)||u("object"==typeof self&&self)||u("object"==typeof window&&window)||"undefined"!=typeof mainContext&&mainContext||new Function("return this")();var c;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}}(h,h.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])})(h.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+=`${M(String(o))}: ${P(t[o],e,n)}`}return i+=" }",i}(t,e+1,n)}function M(t){return T.test(t)?t:C(t)}function I(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",N=new WeakMap,D=new Map,j=I(`__ember${Date.now()}`);function z(t,e=L){let n=e+F().toString();return O(t)&&N.set(t,n),n}function U(t){let e;if(O(t))e=N.get(t),void 0===e&&(e=`${L}${F()}`,N.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)/,$=Function.prototype.toString,G=$.call(function(){return this}).indexOf("return this")>-1?function(t){return q.test($.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=G(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 I(`__${t}${j+Math.floor(Math.random()*Date.now()).toString()}__`)}const ht=Symbol,ct=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():ct.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 Mt(t,e){let n=Pt(t),i=Pt(e);return n.children=kt(n.children,e),i.parents=kt(i.parents,t),e}function It(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 Nt(t){let e=Ct.get(t);return void 0!==e&&e.state>=2}const Dt=Object.prototype;let jt;const zt=ht("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=$t(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===zt?void 0:e}removeDescriptors(t){this.writeDescriptors(t,zt)}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!==zt&&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 $t=Object.getPrototypeOf,Gt=new WeakMap;function Vt(t,e){Gt.set(t,e)}function Wt(t){let e=Gt.get(t);if(void 0!==e)return e;let n=$t(t);for(;null!==n;){if(e=Gt.get(n),void 0!==e)return e.proto!==n&&(e.proto=n),e;n=$t(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 he=new ue,ce=te.combine;let de=re(),pe=re(),fe=re();Zt(de),ee(de),Zt(de),ne(de,ce([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:ce(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 Me(t){return oe(t[ke])}function Ie(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 Ne{#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:()=>Ne.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(Ne.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 je{#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:()=>je.prototype})}}class ze{#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(ze.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 $e(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 Ge(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?Ge(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){$e(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:he,CurrentTag:ue,INITIAL:1,VOLATILE:NaN,VOLATILE_TAG:le,VolatileTag:ae,beginTrackFrame:_e,beginUntrackFrame:be,bump:function(){Xt++},combine:ce,consumeTag:Se,createCache:Re,createTag:ie,createUpdatableTag:re,debug:{},dirtyTag:ee,dirtyTagFor:$e,endTrackFrame:ve,endUntrackFrame:we,getValue:Pe,isConst:Me,isConstTag:oe,isTracking:xe,resetTracking:function(){for(;ye.length>0;)ye.pop();me=null},tagFor:Ve,tagMetaFor:Ge,track:Ie,trackedArray:function(t,e){return new Ne(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 je(t??{},{equals:e?.equals??Object.is,description:e?.description})},trackedSet:function(t,e){return new ze(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=Ie(()=>{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 Mn(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 In(t,e){let n=t;for(const i of e)n=Mn(n,i);return n}const On={},An=(t,e)=>e,Fn=(t,e)=>String(e),Ln=t=>null===t?On:t;class Nn{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 Nn;function jn(t){let e=new Nn;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 zn(t,e){return xn(()=>{let n=Rn(t),i=function(t){switch(t){case"@key":return jn(An);case"@index":return jn(Fn);case"@identity":return jn(Ln);default:return e=t,jn(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 $n=Object.freeze(Object.defineProperty({__proto__:null,FALSE_REFERENCE:vn,NULL_REFERENCE:yn,REFERENCE:pn,TRUE_REFERENCE:_n,UNDEFINED_REFERENCE:mn,childRefFor:Mn,childRefFromParts:In,createComputeRef:xn,createConstRef:bn,createDebugAliasRef:void 0,createInvokableRef:Cn,createIteratorItemRef:Un,createIteratorRef:zn,createPrimitiveRef:gn,createReadOnlyRef:Sn,createUnboundRef:wn,isConstRef:kn,isInvokableRef:En,isUpdatableRef:Tn,updateRef:Pn,valueForRef:Rn},Symbol.toStringTag,{value:"Module"})),Gn={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 Ie(()=>{e in t&&Rn(t[e])})}(e,n)),Kn(a,(t,e)=>function(t,e){return Ie(()=>{"[]"===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)&&Mt(t,i.getDestroyable(s)),t}if(oi(i)){let t=bn(void 0);return Mt(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,hi=new WeakMap,ci=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(hi,t,e)}function mi(t){const e=fi(hi,t);return void 0===e?null:e}function yi(t,e){return pi(ci,t,e)}const _i=new ai(()=>new li);function vi(t){let e=fi(ci,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(ci,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 It(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 Mi(t,e={}){return{disableAutoTracking:Boolean(e.disableAutoTracking)}}class Ii{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},It(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 Ii(t),e)}function Fi(t,e){return yi(new ai(t),e)}const Li=new WeakMap,Ni=Reflect.getPrototypeOf;function Di(t,e){return Li.set(e,t),e}function ji(t){let e=t;for(;null!==e;){let t=Li.get(e);if(void 0!==t)return t;e=Ni(e)}}const zi=Object.freeze(Object.defineProperty({__proto__:null,CustomComponentManager:Ri,CustomHelperManager:ai,CustomModifierManager:Ii,capabilityFlagsFrom:ti,componentCapabilities:Ci,getComponentTemplate:ji,getCustomTagFor:Hn,getInternalComponentManager:wi,getInternalHelperManager:vi,getInternalModifierManager:mi,hasCapability:ii,hasDestroyable:oi,hasInternalComponentManager:xi,hasInternalHelperManager:Si,hasInternalModifierManager:function(t){return void 0!==fi(hi,t)},hasValue:si,helperCapabilities:ri,managerHasCapability:ni,modifierCapabilities:Mi,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 $i=new WeakSet;function Gi(t){return $i.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=ht("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){$e(t,e),$e(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,Ge(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 ce(r)}function or(t,e,n,i){return ce(ar([],t,e,n,i))}function ar(t,e,n,i,r){let s,o,a=e,l=i,u=r,h=n.length,c=-1;for(;;){let e=c+1;if(c=n.indexOf(".",e),-1===c&&(c=h),s=n.slice(e,c),"@each"===s&&c!==h){e=c+1,c=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===c?n.slice(e):n.slice(e,c);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,Mr=new Map,Ir=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?Mr:Ir;return n.has(t)||(n.set(t,new Map),It(t,()=>function(t){Mr.size>0&&Mr.delete(t),Ir.size>0&&Ir.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,Ge(t),Wt(t));i.set(e,{count:1,path:n,tag:r,lastRevision:Zt(r),suspended:!1})}}let Lr=!1,Nr=[];function Dr(t,e,n=!1){if(!0===Lr)return void Nr.push([t,e,n]);let i=!0===n?Mr:Ir,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 jr(t){Ir.has(t)&&Ir.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)}),Mr.has(t)&&Mr.get(t).forEach(e=>{e.tag=or(t,e.path,Ge(t),Wt(t)),e.lastRevision=Zt(e.tag)})}let zr=0;function Ur(t){let e=Zt(he);zr!==e&&(zr=e,Ir.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,Ge(n),Wt(n)),e.lastRevision=Zt(e.tag)}};t?t("actions",s):s()}})}))}function Br(){Mr.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,Ge(e),Wt(e)),t.lastRevision=Zt(t.tag),t.suspended=!1}})})}function qr(t,e,n){let i=Mr.get(t);if(!i)return;let r=i.get(Sr(e));r&&(r.suspended=n)}const $r=Symbol("PROPERTY_DID_CHANGE");let Gr=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),Gr<=0&&Br(),$r in t&&(4===arguments.length?t[$r](e,i):t[$r](e)))}function Wr(){Gr++,Lr=!0}function Hr(){Gr--,Gr<=0&&(Br(),function(){Lr=!1;for(let[t,e,n]of Nr)Dr(t,e,n);Nr=[]}())}function Kr(t){Wr();try{t()}finally{Hr()}}function Xr(){}class Yr extends hr{_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=Ge(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[$r]&&t.isComponent&&Or(t,e,()=>{t[$r](e)},void 0,!0);try{Wr(),i=this._set(t,e,n,r),rr(r,e,i);let s=Ge(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=Ge(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=Ie(()=>{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)||jr(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=ht("PROXY_CONTENT");function ls(t){return"object"==typeof t&&null!==t&&"function"==typeof t.unknownProperty}function us(t,e){return os(e)?cs(t,e):hs(t,e)}function hs(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)||Gi(n))&&Se(Ve(n,"[]")))):n=t[e],n}function cs(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=hs(t,r)}return t}hs("foo","a"),hs("foo",1),hs({},"a"),hs({},1),hs({unknownProperty(){}},"a"),hs({unknownProperty(){}},1),us({},"foo"),us({},"foo.bar");let ds={};qi(ds),Ie(()=>hs({},"a")),Ie(()=>hs({},1)),Ie(()=>hs({a:[]},"a")),Ie(()=>hs({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)||Gi(t))&&Se(Ve(t,"[]")),t}function o(t){r(this,t),$e(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=cs(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 hr{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=Ge(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 zs=new WeakMap;function Us(t,e){O(t)&&zs.set(t,e)}function Bs(t){return zs.get(t)}const qs=Object.prototype.hasOwnProperty;let $s=!1;const Gs={_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){Gs.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(!Gs.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 $s||Qs(),Hs[t]}function Js(t){io([t.toString()],t,new Set)}function Qs(){let t=Gs.unprocessedNamespaces;if(t&&(Ys(),Gs.unprocessedNamespaces=!1),t||Vs){let t=Ws;for(let e of t)Js(e);Vs=!1}}function to(){return $s}function eo(t){$s=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 ho(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 co(t){let e=uo;return{setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),now:()=>Date.now(),next:ho(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(pD){i(pD,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||co;this._platform=n(this._boundAutorunEnd)}get counters(){return{begin:Ro,end:Po,events:{begin:Mo,end:0},autoruns:{created:Go,completed:Vo},run:Io,join:Oo,defer:Ao,schedule:Fo,scheduleIterable:Lo,deferOnce:No,scheduleOnce:Do,setTimeout:jo,later:zo,throttle:Uo,debounce:Bo,cancelTimers:qo,cancel:$o,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),Mo++,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($o++,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(pD){i(pD)}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){Go++;const e=this._platform.next,n=this.options.flush;n?n(t,e):e(),this._autorun=!0}}Ko.Queue=bo,Ko.buildPlatform=co,Ko.buildNext=ho;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)}function aa(...t){return Qo.debounce(...t)}const la=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:aa,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"})),ua="@warp-drive/core",ha=globalThis;ha.__warpDrive_universalCache=ha.__warpDrive_universalCache??{},ha[ua]=ha[ua]??{__version:"5.8.1"};const ca=ha[ua],da=ca.__warpDrive_ModuleScopedCaches??{};if(ca.__warpDrive_hasOtherCopy)throw new Error("Multiple copies of WarpDrive detected, the application will malfunction.");function pa(t,e){return e}function fa(t){return da[`(transient) ${t}`]??null}ca.__warpDrive_hasOtherCopy=!0;const ga=new WeakMap;function ma(t,e){ga.set(t,e)}const ya=pa(0,Symbol("#[]"));function _a(t,e){return fa("signalHooks").createSignal(t,e)}const va={};function ba(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===va}const wa=pa(0,Symbol("Signals"));function xa(t){return t[wa]||function(t){t[wa]=new Map}(t),t[wa]}function Sa(t,e,n,i){const r={key:n,context:e,signal:_a(e,n),value:ba(i)?i.value.call(e):i,isStale:!1};return t.set(n,r),r}function Ea(t,e){return t?.get(e)}function Ca(t,e){return{enumerable:!0,configurable:!1,get(){const n=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),s=r.signal,fa("signalHooks").consumeSignal(s),r;var s}(xa(this),this,t,e);return n.isStale=!1,n.value},set(n){const i=function(t,e,n,i){let r=Ea(t,n);return r||(r=Sa(t,e,n,i)),r}(xa(this),this,t,e);var r;i.value!==n&&(i.value=n,(r=i)&&(r.isStale=!0,function(t){fa("signalHooks").notifySignal(t)}(r.signal)))}}}function ka(t,e,n){Object.defineProperty(t,e,Ca(e,n))}function Ta(t,e,n){const i=Ca(e,n);i.enumerable=!1,Object.defineProperty(t,e,i)}function Ra(t,e,n){const i=n.get;return n.get=function(){const t=xa(this);let n=t.get(e);return n||(n=function(t,e,n,i){{const r=function(t,e,n){return fa("signalHooks").createMemo(t,e,n)}(e,n,i);return t.set(n,r),r}}(t,this,e,i.bind(this))),n()},n}const Pa=new WeakMap;function Ma(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,Ma(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()}}Ta(Ia.prototype,"_isPending",!0),Ta(Ia.prototype,"_isStarted",!1),Ta(Ia.prototype,"_isComplete",!1),Ta(Ia.prototype,"_isCancelled",!1),Ta(Ia.prototype,"_isErrored",!1),Ta(Ia.prototype,"_error",null),Ta(Ia.prototype,"_sizeHint",0),Ta(Ia.prototype,"_bytesLoaded",0),Ta(Ia.prototype,"_startTime",0),Ta(Ia.prototype,"_endTime",0),Ta(Ia.prototype,"_lastPacketTime",0);const Oa={};function Aa(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 Fa(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)}ka(Oa,"reason",null),ka(Oa,"value",null),ka(Oa,"result",null),ka(Oa,"error",null),ka(Oa,"status","pending"),ka(Oa,"isPending",!0),ka(Oa,"isLoading",!0),ka(Oa,"isSuccess",!1),ka(Oa,"isError",!1),ka(Oa,"request",null),ka(Oa,"response",null),Object.defineProperty(Oa,"isCancelled",{get(){return this.isError&&Ma(this.reason)}}),Object.defineProperty(Oa,"loadingState",{get(){return this._loadingState||(this._loadingState=new Ia(this._request)),this._loadingState}});const La=Symbol.dispose||Symbol.for("dispose");class Na{_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]=ja,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{Fa(this.prototype,"isIdle",[Ra])}get autorefreshTypes(){const{autorefresh:t}=this._args;let e;return e=!0===t?["online","invalid"]:"string"==typeof t?t.split(","):[],new Set(e)}static{Fa(this.prototype,"autorefreshTypes",[Ra])}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&&Da(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&&Da(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{Fa(this.prototype,"errorFeatures",[Ra])}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{Fa(this.prototype,"contentFeatures",[Ra])}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{Fa(this.prototype,"_request",[Ra])}get request(){{const t=this._request;return this._updateSubscriptions(),t}}static{Fa(this.prototype,"request",[Ra])}get reqState(){return function(t){let e=Pa.get(t);return e||(e=function(t){const e=(n=t,ga.get(n));var n;const i=Object.create(Oa);return i._request=t,i.reload=()=>Aa(t.requester,i.request,!0),i.refresh=(e=!1)=>Aa(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=>{ma(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=>{ma(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),Pa.set(t,e)),e}(this.request)}get result(){return this.reqState.result}}function Da(t){return"requestManager"in t}function ja(){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}))}ka(Na.prototype,"isOnline",!0),ka(Na.prototype,"isHidden",!1),ka(Na.prototype,"isRefreshing",!1),ka(Na.prototype,"_localRequest",void 0),ka(Na.prototype,"_latestRequest",void 0);const za={};ka(za,"reason",null),ka(za,"value",null),ka(za,"result",null),ka(za,"error",null),ka(za,"status","pending"),ka(za,"isPending",!0),ka(za,"isLoading",!0),ka(za,"isSuccess",!1),ka(za,"isError",!1);const Ua=ee;var Ba;Ba=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 Ua(t[0]),Ua(t[1]),void Ua(t[2]);Ua(t)},createMemo:(t,e,n)=>{{const i=tr(t,e),r=Re(n);let s;const o=()=>{s=Pe(r)};return()=>{const t=Ie(o);return ne(i,t),Se(t),s}}},willSyncFlushWatchers:()=>!!Qo.currentInstance&&!0!==Qo._autorun,waitFor:async t=>t}},function(t,e){da["(transient) signalHooks"]=e}(0,Ba({wellknown:{Array:ya}}));const qa=Yi,$a=Object.freeze(Object.defineProperty({__proto__:null,getOwner:qa,setOwner:Zi},Symbol.toStringTag,{value:"Module"}));function Ga(t){let e=Object.create(t);return e._dict=null,delete e._dict,e}const Va=g.EMBER_LOAD_HOOKS||{},Wa={};let Ha=Wa;function Ka(t,e){if(Wa[t]=e,n&&"function"==typeof CustomEvent){let i=new CustomEvent(t,{detail:e});n.dispatchEvent(i)}Va[t]?.forEach(t=>t(e))}class Xa{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&&Ya(t,e)){let e=t.cache[i];if(void 0!==e)return e}return function(t,e,n,i){let r=Ja(t,e,n);if(void 0!==r){if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!1!==n&&(!0===i||Ya(t,e))&&Za(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||!Ya(t,e))&&Za(t,e)}(t,n,i))return r.create();if(function(t,e,{instantiate:n,singleton:i}){return!1!==i&&!n&&Ya(t,e)&&!Za(t,e)}(t,n,i)||function(t,e,{instantiate:n,singleton:i}){return!(!1!==n||!1!==i&&Ya(t,e)||Za(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,Qa(this)}finalizeDestroy(){tl(this),this.isDestroyed=!0}reset(t){this.isDestroyed||(void 0===t?(Qa(this),tl(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 Ja(this,this.registry.normalize(t),t)}}function Ya(t,e){return!1!==t.registry.getOption(e,"singleton")}function Za(t,e){return!1!==t.registry.getOption(e,"instantiate")}function Ja(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 rl(t,r,n,e);return t.factoryManagerCache[e]=s,s}function Qa(t){let e=t.cache,n=Object.keys(e);for(let i of n){let t=e[i];t.destroy&&t.destroy()}}function tl(t){t.cache=Ga(null),t.factoryManagerCache=Ga(null)}const el=Symbol("INIT_FACTORY");function nl(t){return t[el]}function il(t,e){t[el]=e}class rl{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),il(n,this),this.class.create(n)}}const sl=/^[^:]+:[^:]+$/;class ol{_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 Xa(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 sl.test(t)}}const al=Ga(null),ll=`${Math.random()}${Date.now()}`.replace(".","");function ul([t]){let e=al[t];if(e)return e;let[n,i]=t.split(":");return al[t]=I(`${n}:${i}-${ll}`)}const hl=Array.prototype.concat;function cl(t,e,n,i){let r=n[t]||i[t];return e[t]&&(r=r?hl.call(r,e[t]):e[t]),r}function dl(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),h=n._setter,c=o._setter;if(l=void 0!==c?void 0!==h?et(h,c):c:h,u!==r||l!==h){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 pl(t,e,n,i){if(void 0!==i[t])return e;let r=n[t];return"function"==typeof r?et(e,r):e}function fl(t){return t?Array.isArray(t)?t:[t]:[]}function gl(t,e,n){return fl(n[t]).concat(fl(e))}function ml(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]=pl(a,t,i,{})):r[a]=t}return s&&(r._super=W),r}function yl(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 _l(e,a,n,i,r,s,o)}function _l(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 h of u){let u=e[h];if(void 0===u)continue;if(-1===s.indexOf(h)){s.push(h);let e=t.peekDescriptors(h);if(void 0===e){if(!_r(u)){let t=i[h]=r[h];"function"==typeof t&&vl(r,h,t,!1)}}else n[h]=e,o.push(h),e.teardown(r,h,t)}let c="function"==typeof u;if(c){let t=yr(u);if(void 0!==t){n[h]=dl(h,u,t,n),i[h]=void 0;continue}}a&&a.indexOf(h)>=0||"concatenatedProperties"===h||"mergedProperties"===h?u=gl(h,u,i):l&&l.indexOf(h)>-1?u=ml(h,u,i):c&&(u=pl(h,u,i,n)),i[h]=u,n[h]=void 0}}function vl(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 bl(t,e,n=!1){let i=Object.create(null),r=Object.create(null),s=Ht(t),o=[],a=[];t._super=W,yl(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&&vl(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)||jr(t),t}const wl=new WeakSet;class xl{mixins;properties;ownerConstructor;_without;constructor(t,e){wl.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=Sl(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 xl(void 0,this.properties);this.properties=void 0,this.mixins=[t]}else this.mixins||(this.mixins=[]);return this.mixins=this.mixins.concat(Sl(t)),this}apply(t,e=!1){return bl(t,[this],e)}applyPartial(t){return bl(t,[this])}detect(t){if("object"!=typeof t||null===t)return!1;if(wl.has(t))return El(t,this);let e=Wt(t);return null!==e&&e.hasMixin(this)}without(...t){let e=new xl([this]);return e._without=t,e}keys(){return Cl(this)}toString(){return"(unknown mixin)"}}function Sl(t){let e,n=t&&t.length||0;if(n>0){e=new Array(n);for(let i=0;iEl(t,e,n))}function Cl(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=>Cl(t,e,n));return e}}const kl=xl.create({__registry__:null,resolveRegistration(t){return this.__registry__.resolve(t)},register:Tl("register"),unregister:Tl("unregister"),hasRegistration:Tl("has"),registeredOption:Tl("getOption"),registerOptions:Tl("options"),registeredOptions:Tl("getOptions"),registerOptionsForType:Tl("optionsForType"),registeredOptionsForType:Tl("getOptionsForType")});function Tl(t){return function(...e){return this.__registry__[t](...e)}}const Rl=xl.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)}}),Pl=xl.create({compare:null}),Ml=xl.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 Ol(t,e,n){let i=Ge(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)),ce(s)}}const Al=xl.create({content:null,init(){this._super(...arguments),qi(this),er(this),Kn(this,Ol)},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)}}),Fl=xl.create(),Ll=xl.create(Fl),Nl=Object.freeze(Object.defineProperty({__proto__:null,default:Ll},Symbol.toStringTag,{value:"Module"})),Dl=xl.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 jl(t){let e=t._promiseCallbacks;return e||(e=t._promiseCallbacks={}),e}const zl={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=jl(this),i=n[t];i||(i=n[t]=[]),-1===i.indexOf(e)&&i.push(e)},off(t,e){let n=jl(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=jl(this)[t];if(i){let t;for(let r=0;r{for(let t=0;t{e===n?Jl(t,n):Yl(t,n)},e=>Ql(t,e))}(t,e):"function"==typeof n?function(t,e,n){Ul.async(t=>{let i=!1,r=function(n,r){try{n.call(r,n=>{i||(i=!0,e===n?Jl(t,n):Yl(t,n))},e=>{i||(i=!0,Ql(t,e))})}catch(s){return s}}(n,e,t._label);!i&&r&&(i=!0,Ql(t,r))},t)}(t,e,n):Jl(t,e)}function Yl(t,e){if(t===e)Jl(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(pD){return void Ql(t,pD)}Xl(t,e,n)}else Jl(t,e)}function Zl(t){t._onError&&t._onError(t._result),eu(t)}function Jl(t,e){t._state===Wl&&(t._result=e,t._state=Hl,0===t._subscribers.length?Ul.instrument&&$l("fulfilled",t):Ul.async(eu,t))}function Ql(t,e){t._state===Wl&&(t._state=Kl,t._result=e,Ul.async(Zl,t))}function tu(t,e,n,i){let r=t._subscribers,s=r.length;t._onError=null,r[s]=e,r[s+Hl]=n,r[s+Kl]=i,0===s&&t._state&&Ul.async(eu,t)}function eu(t){let e=t._subscribers,n=t._state;if(Ul.instrument&&$l(n===Hl?"fulfilled":"rejected",t),0===e.length)return;let i,r,s=t._result;for(let o=0;onu(r,s,n,o))}return s}class ru{constructor(t,e,n,i){this._instanceConstructor=t,this.promise=new t(Vl,i),this._abortOnReject=n,this._isUsingOwnPromise=t===lu,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===Wl&&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(Hl,e,t,n)}_settledAt(t,e,n,i){let r=this.promise;r._state===Wl&&(this._abortOnReject&&t===Kl?Ql(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){tu(t,void 0,t=>this._settledAt(Hl,e,t,n),t=>this._settledAt(Kl,e,t,n))}}function su(t,e,n){this._remaining--,this._result[e]=t===Hl?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}const ou="rsvp_"+Date.now()+"-";let au=0,lu=class t{constructor(e,n){this._id=au++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],Ul.instrument&&$l("created",this),Vl!==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,Yl(t,e))},e=>{n||(n=!0,Ql(t,e))})}catch(i){Ql(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){Ul.after(()=>{this._onError&&Ul.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 uu(t,e){return{then:(n,i)=>t.call(e,n,i)}}function hu(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(pD){Ql(t,pD)}return t}function du(t,e){return lu.all(t,e)}lu.cast=Gl,lu.all=function(t,e){return Array.isArray(t)?new ru(this,t,!0,e).promise:this.reject(new TypeError("Promise.all must be called with an array"),e)},lu.race=function(t,e){let n=this,i=new n(Vl,e);if(!Array.isArray(t))return Ql(i,new TypeError("Promise.race must be called with an array")),i;for(let r=0;i._state===Wl&&rYl(i,t),t=>Ql(i,t));return i},lu.resolve=Gl,lu.reject=function(t,e){let n=new this(Vl,e);return Ql(n,t),n},lu.prototype._guidKey=ou,lu.prototype.then=iu;class pu extends ru{constructor(t,e,n){super(t,e,!1,n)}}function fu(t,e){return Array.isArray(t)?new pu(lu,t,e).promise:lu.reject(new TypeError("Promise.allSettled must be called with an array"),e)}function gu(t,e){return lu.race(t,e)}pu.prototype._setResultAt=su;class mu extends ru{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===Wl&&o{throw t}),t}function wu(t){let e={resolve:void 0,reject:void 0};return e.promise=new lu((t,n)=>{e.resolve=t,e.reject=n},t),e}_u.prototype._setResultAt=su;class xu extends ru{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(pD){this._settledAt(Kl,e,pD,!1)}else this._remaining--,this._result[e]=n}}function Su(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("map expects a function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("map must be called with an array");return new xu(lu,t,e,n).promise})}function Eu(t,e){return lu.resolve(t,e)}function Cu(t,e){return lu.reject(t,e)}const ku={};class Tu extends xu{_checkFullfillment(){if(0===this._remaining&&null!==this._result){let t=this._result.filter(t=>t!==ku);Jl(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(pD){i=!1,this._settledAt(Kl,e,pD,!1)}i&&this._eachEntry(t,e,!1)}else this._remaining--,n||(this._result[e]=ku)}}function Ru(t,e,n){return"function"!=typeof e?lu.reject(new TypeError("filter expects function as a second argument"),n):lu.resolve(t,n).then(function(t){if(!Array.isArray(t))throw new TypeError("filter must be called with an array");return new Tu(lu,t,e,n).promise})}let Pu,Mu=0;function Iu(t,e){ju[Mu]=t,ju[Mu+1]=e,Mu+=2,2===Mu&&Uu()}const Ou="undefined"!=typeof window?window:void 0,Au=Ou||{},Fu=Au.MutationObserver||Au.WebKitMutationObserver,Lu="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Nu="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function Du(){return()=>setTimeout(zu,1)}const ju=new Array(1e3);function zu(){for(let t=0;tt(zu)}():Fu?function(){let t=0,e=new Fu(zu),n=document.createTextNode("");return e.observe(n,{characterData:!0}),()=>n.data=t=++t%2}():Nu?function(){let t=new MessageChannel;return t.port1.onmessage=zu,()=>t.port2.postMessage(0)}():void 0===Ou&&"function"==typeof window.require?function(){try{const t=Function("return this")().require("vertx");return Pu=t.runOnLoop||t.runOnContext,void 0!==Pu?function(){Pu(zu)}:Du()}catch(t){return Du()}}():Du(),Ul.async=Iu,Ul.after=t=>setTimeout(t,0);const Bu=Eu,qu=(t,e)=>Ul.async(t,e);function $u(){Ul.on(...arguments)}function Gu(){Ul.off(...arguments)}if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){let t=window.__PROMISE_INSTRUMENTATION__;Bl("instrument",!0);for(let e in t)t.hasOwnProperty(e)&&$u(e,t[e])}const Vu={asap:Iu,cast:Bu,Promise:lu,EventTarget:zl,all:du,allSettled:fu,race:gu,hash:yu,hashSettled:vu,rethrow:bu,defer:wu,denodeify:hu,configure:Bl,on:$u,off:Gu,resolve:Eu,reject:Cu,map:Su,async:qu,filter:Ru},Wu=Object.freeze(Object.defineProperty({__proto__:null,EventTarget:zl,Promise:lu,all:du,allSettled:fu,asap:Iu,async:qu,cast:Bu,configure:Bl,default:Vu,defer:wu,denodeify:hu,filter:Ru,hash:yu,hashSettled:vu,map:Su,off:Gu,on:$u,race:gu,reject:Cu,resolve:Eu,rethrow:bu},Symbol.toStringTag,{value:"Module"}));function Hu(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}Bl("async",(t,e)=>{Qo.schedule("actions",null,t,e)}),Bl("after",t=>{Qo.schedule(Zo,null,t)}),$u("error",Hu);const{isArray:Ku}=Array;function Xu(t){return null==t?[]:Ku(t)?t:[t]}function Yu(t){return"object"==typeof t&&null!==t&&"function"==typeof t.setUnknownProperty}const Zu=xl.prototype.reopen,Ju=new WeakSet,Qu=new WeakMap,th=new Set;function eh(t){th.has(t)||t.destroy()}function nh(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?Xu(e).concat(s):Xu(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):Yu(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 bl(this,t),this}init(t){}get isDestroyed(){return Nt(this)}set isDestroyed(t){}get isDestroying(){return Lt(this)}set isDestroying(t){}destroy(){th.add(this);try{At(this)}finally{th.delete(this)}return this}willDestroy(){}toString(){let t="object"==typeof this&&null!==this&&"function"==typeof this.toStringExtension?`:${this.toStringExtension()}`:"";return`<${nl(this)||"(unknown)"}:${U(this)}${t}>`}static extend(...t){let e=class extends(this){};return Zu.apply(e.PrototypeMixin,t),e}static create(...t){let e,n=t[0];return void 0!==n?(e=new this(Yi(n)),il(e,nl(n))):e=new this,t.length<=1?nh(e,n):nh(e,rh.apply(this,t)),e}static reopen(...t){return this.willReopen(),Zu.apply(this.PrototypeMixin,t),this}static willReopen(){let t=this.prototype;Ju.has(t)&&(Ju.delete(t),Qu.has(this)&&Qu.set(this,xl.create(this.PrototypeMixin)))}static reopenClass(...t){return bl(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=Qu.get(this);return void 0===t&&(t=xl.create(),t.ownerConstructor=this,Qu.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(!Ju.has(t)){Ju.add(t);let e=this.superclass;e&&e.proto(),Qu.has(this)&&this.PrototypeMixin.apply(t)}return t}static toString(){return`<${nl(this)||"(unknown)"}:constructor>`}static isClass=!0;static isMethod=!1;static _onLookup;static _lazyInjections}function rh(...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:js,trySet:xs},Symbol.toStringTag,{value:"Module"}));function ph(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 fh(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 gh(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 mh(t){return""!==t.tagName&&t.elementId?t.elementId:U(t)}const yh=new WeakMap,_h=new WeakMap;function vh(t){return yh.get(t)||null}function bh(t){return _h.get(t)||null}function wh(t,e){yh.set(t,e)}function xh(t,e){_h.set(t,e)}function Sh(t){yh.delete(t)}function Eh(t){_h.delete(t)}const Ch=new WeakMap;function kh(t){return function(t,e){let n=[],i=Ch.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 Th(t,e){let n=Ch.get(t);void 0===n&&(n=function(t){let e=new Set;return Ch.set(t,e),e}(t)),n.add(mh(e))}function Rh(t){return t.renderer.getBounds(t)}function Ph(t){let e=Rh(t),n=document.createRange();return n.setStartBefore(e.firstNode),n.setEndAfter(e.lastNode),n}function Mh(t){return Ph(t).getClientRects()}function Ih(t){return Ph(t).getBoundingClientRect()}const Oh="ember-application";class Ah extends lh{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(Oh),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=vh(t),r=!0;return i&&(r=i.handleEvent(n,e)),r},r=this._eventHandlers[e]=t=>{let e=t.target;do{if(vh(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(Oh),this._super(...arguments)}}toString(){return"(EventDispatcher)"}}const Fh=xl.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)}}),Lh=Object.freeze(Object.defineProperty({__proto__:null,default:Fh,on:Rr},Symbol.toStringTag,{value:"Module"}));let Nh=class extends lh{},Dh=[],jh={};const zh=(()=>{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 Uh(t,e,n){return n()}function Bh(){}function qh(t,e,n){if(0===Dh.length)return Bh;let i=jh[t];if(i||(i=function(t){let e=[];for(let n of Dh)n.regex.test(t)&&e.push(n.object);return jh[t]=e,e}(t)),0===i.length)return Bh;let r,s=e(n),o=g.STRUCTURED_PROFILE;o&&(r=`${t}: ${s.object}`,console.time(r));let a=[],l=zh();for(let h of i)a.push(h.before(t,l,s));const u=i;return function(){let e=zh();for(let n=0;na);return l===Bh?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(){Dh.length=0,jh={}},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 Dh.push(s),jh={},s},subscribers:Dh,unsubscribe:function(t){let e=0;for(let n=0;n!0,rerender(){},destroy(){}}),Vh=Object.freeze({...Gh}),Wh=Object.freeze({...Gh,rerender(t){t.renderer.rerender()},destroy(t){t.renderer.remove(t)},handleEvent:(t,e,n)=>!t.has(e)||Uh(0,0,()=>ea(t,t.trigger,e,n))}),Hh=Object.freeze({...Wh,enter(t){t.renderer.register(t)}}),Kh=Object.freeze({...Gh,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")}}),Xh=Object.freeze({preRender:Vh,inDOM:Hh,hasElement:Wh,destroying:Kh});var Yh=Object.defineProperty;((t,e)=>{for(var n in e)Yh(t,n,{get:e[n],enumerable:!0})})({},{c:()=>ic,f:()=>Jh,g:()=>Qh,i:()=>nc,m:()=>tc,n:()=>ec,p:()=>rc});var Zh=new WeakMap;function Jh(t,e,n,i){return Qh(t.prototype,e,n,i)}function Qh(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=Zh.get(t);i||(i=new Map,Zh.set(t,i)),i.set(e,n)}(t,e,r)}function tc({prototype:t},e,n){return ec(t,e,n)}function ec(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 nc(t,e){let n=function(t,e){let n=t.prototype;for(;n;){let t=Zh.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 ic(t,e){return e.reduce((t,e)=>e(t)||t,t)}function rc(t,e){for(let[n,i,r]of e)"field"===n?sc(t,i,r):ec(t,i,r);return t}function sc(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 oc extends(Nh.extend(Fh,Ml)){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{Qh(this.prototype,"renderer",[ms("renderer","-dom")])}#l=void nc(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}oc.prototype._states=Xh;const ac=xl.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)}}),lc={"[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:uc}=Object.prototype;function hc(t){if(null===t)return"null";if(void 0===t)return"undefined";let e=lc[uc.call(t)]||"object";return"function"===e?ih.detect(t)&&(e="class"):"object"===e&&(t instanceof Error?e="error":t instanceof ih?e="instance":t instanceof Date&&(e="date")),e}const cc={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 dc(t,e){return Math.sign(t-e)}function pc(t,e){if(t===e)return 0;let n=hc(t),i=hc(e);if("instance"===n&&fc(t)&&t.constructor.compare)return t.constructor.compare(t,e);if("instance"===i&&fc(e)&&e.constructor.compare)return-1*e.constructor.compare(e,t);let r=dc(cc[n],cc[i]);if(0!==r)return r;switch(n){case"boolean":return dc(Number(t),Number(e));case"number":return dc(t,e);case"string":return dc(t.localeCompare(e),0);case"array":{let n=t.length,i=e.length,r=Math.min(n,i);for(let s=0;st;function yc(t,e=mc){let n=Ac(),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 _c(...t){let e=2===t.length,[n,i]=t;return e?t=>i===us(t,n):t=>Boolean(us(t,n))}function vc(t,e,n){let i=t.length;for(let r=n;r!i(t,e,n),0)}function Sc(t,e,n=0,i){let r=t.length;return n<0&&(n+=r),vc(t,i&&e!=e?t=>t!=t:t=>t===e,n)}function Ec(t,e,n){return Is(t,e,n??1,gc),t}function Cc(t,e,n){return Is(t,e,0,[n]),n}function kc(t){if(!t||t.setInterval)return!1;if(Array.isArray(t)||Pc.detect(t))return!0;let e=hc(t);if("array"===e)return!0;let n=t.length;return"number"==typeof n&&n==n&&"object"===e}function Tc(t){let e=Qr(t);return e.enumerable=!1,e}function Rc(t){return this.map(e=>us(e,t))}const Pc=xl.create(Fl,{init(){this._super(...arguments),$i.add(this)},objectsAt(t){return t.map(t=>Ji(this,t))},"[]":Tc({get(){return this},set(t,e){return this.replace(0,this.length,e),this}}),firstObject:Tc(function(){return Ji(this,0)}).readOnly(),lastObject:Tc(function(){return Ji(this,this.length-1)}).readOnly(),slice(t=0,e){let n,i=Ac(),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=Ac();return this.forEach((i,r,s)=>n[r]=t.call(e,i,r,s)),n},mapBy:Rc,filter(t,e=null){let n=Ac();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(_c(...arguments))},rejectBy(){return this.reject(_c(...arguments))},find(t,e=null){return bc(this,t,e)},findBy(){return bc(this,_c(...arguments))},every(t,e=null){return xc(this,t,e)},isEvery(){return xc(this,_c(...arguments))},any(t,e=null){return wc(this,t,e)},isAny(){return wc(this,_c(...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=Ac();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!==Sc(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)}}),Mc=xl.create(Pc,Ll,{clear(){let t=this.length;return 0===t||this.replace(0,t,gc),this},insertAt(t,e){return Cc(this,t,e),this},removeAt(t,e){return Ec(this,t,e)},pushObject(t){return Cc(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 Cc(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 Ic=xl.create(Mc,oh,{objectAt(t){return this[t]},replace(t,e,n=gc){return As(this,t,e,n),this}});const Oc=["length"];let Ac;Ic.keys().forEach(t=>{Array.prototype[t]&&Oc.push(t)}),Ic=Ic.without(...Oc),Ac=function(t){return Gi(t)?t:Ic.apply(t??[])};const Fc=Object.freeze(Object.defineProperty({__proto__:null,get A(){return Ac},MutableArray:Mc,get NativeArray(){return Ic},default:Pc,isArray:kc,makeArray:Xu,removeAt:Ec,uniqBy:yc},Symbol.toStringTag,{value:"Module"})),Lc=ht("MODEL"),Nc=xl.create(Ml,{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[Lc]},set(t,e){return this[Lc]=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 Dc extends(Nh.extend(Nc)){}const jc=Object.freeze(Object.defineProperty({__proto__:null,ControllerMixin:Nc,default:Dc,inject:function(...t){return ms("controller",...t)}},Symbol.toStringTag,{value:"Module"})),zc=Symbol("ENGINE_PARENT");function Uc(t){return t[zc]}class Bc extends(lh.extend(kl,Rl)){static setupRegistry(t,e){}[zc];_booted=!1;init(t){super.init(t),U(this),this.base??=this.application;let e=this.__registry__=new ol({fallback:this.base.__registry__});this.__container__=e.container({owner:this}),this._booted=!1}_bootPromise=null;boot(t){return this._bootPromise||(this._bootPromise=new Wu.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[zc]=this,i}cloneParentDependencies(){const t=Uc(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",ul`-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 qc=function(t,e,n){let{get:i}=n;return void 0!==i&&(n.get=function(){let t,n=Ve(this,e),r=Ie(()=>{t=i.call(this)});return ne(n,r),Se(r),t}),n};function $c(...t){if(lr(t)){let[e,n,i]=t;return qc(0,n,i)}{const e=t[0];let n=function(t,n){return qc(0,n,e)};return vr(n),n}}vr($c);var Gc=Object.create;function Vc(){var t=Gc(null);return t.__=void 0,delete t.__,t}var Wc=function(t,e,n){this.path=t,this.matcher=e,this.delegate=n};Wc.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 Hc=function(t){this.routes=Vc(),this.children=Vc(),this.target=t};function Kc(t,e,n){return function(i,r){var s=t+i;if(!r)return new Wc(s,e,n);r(Kc(s,e,n))}}function Xc(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]?yd(r[1]):""),a?n[s].push(l):n[s]=l}return n},_d.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;_d.ENCODE_AND_DECODE_PATH_SEGMENTS?t=Zc(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 h=0;h0){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=wd.call(t,0,i-1),[e,n]}return[t,null]}function Cd(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=lu.resolve(this[Od]),this[Ad]={}}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 Nd(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||(kd(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[Od].routeInfos.slice(0,this.resolveIndex+1),t,e,n)}followRedirects(){return this.promise.catch(t=>this[Ld]?this[Ld].followRedirects():lu.reject(t))}toString(){return"Transition (sequence "+this.sequence+")"}log(t){kd(this.router,this.sequence,t)}}function Dd(t){return kd(t.router,t.sequence,"detected abort."),vd()}function jd(t){return"object"==typeof t&&t instanceof Nd&&t.isTransition}const zd=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 Ud(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 Bd(t,e){Ud(t,e);let n=`controller:${e}`;return t.lookup(n)}const qd=/\./g;function $d(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[Zd]=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],Kd(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,$c({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[Od].routeInfos);let t=this._bucketCache,n=e[Ad];r.propertyNames.forEach(e=>{let s=r.map[e];s.values=n;let o=Wd(s.route.fullRouteName,s.parts,s.values),a=t.lookup(o,e,s.undecoratedDefaultValue);bs(i,e,a)});let s=ep(this,e[Od]);js(i,s)}this.setupController(i,t,e),this._environment.options.shouldRender&&this[Yd](),Ur(!1)}_qpChanged(t,e,n){if(!n)return;let i=this._bucketCache,r=Wd(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[Od].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 Bd(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?ip(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}[Zd]=void 0;[Yd](){this[Zd]=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[Zd]&&(this[Zd]=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{ec(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)Hd(n,e);return e}(us(i,"queryParams")||[]),r):s&&(i=Bd(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 h=r.as||this.serializeQueryParamKey(u),c=us(i,u);c=np(c);let d=r.type||hc(c),p=this.serializeQueryParam(c,h,d),f=`${e}:${u}`,g={undecoratedDefaultValue:us(i,u),defaultValue:c,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:h,prop:u,scopedPropertyName:f,controllerName:e,route:this,parts:n,values:null,scope:s};a[u]=a[h]=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{ec(this.prototype,"_qp",[Qr])}}function Qd(t){return t[Zd]}function tp(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 ep(t,e){e.queryParamsFor=e.queryParamsFor||{};let n=t.fullRouteName,i=e.queryParamsFor[n];if(i)return i;let r=tp(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]:np(a.defaultValue)}return s}function np(t){return Array.isArray(t)?Ac(t.slice()):t}function ip(t,e){if(t.routable){let n=t.mountPoint;return"application"===e?n:`${n}.${e}`}return e}const rp=Jd.prototype.serialize;Jd.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[Od].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,h=o.controller,c=u.urlKey in t&&u.urlKey;if(a.has(u.urlKey)?(r=us(h,u.prop),s=o.serializeQueryParam(r,u.urlKey,u.type)):c?(s=t[c],void 0!==s&&(r=o.deserializeQueryParam(s,u.urlKey,u.type))):(s=u.serializedDefaultValue,r=np(u.defaultValue)),h._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(h,u.prop,r),l=!0}u.serializedValue=s,u.serializedDefaultValue===s||e.push({value:s,visible:!0,key:c||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 sp{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 op=0;function ap(t){return"function"==typeof t}class lp{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(ap(e)?(i={},r=e):ap(n)?(i=e,r=n):i=e||{},this.enableLoadingSubstates&&(hp(this,`${t}_loading`,{resetNamespace:i.resetNamespace}),hp(this,`${t}_error`,{resetNamespace:i.resetNamespace,path:s})),r){let e=up(this,t,i.resetNamespace),n=new lp(e,this.options);hp(n,"loading"),hp(n,"error",{path:s}),r.call(n),hp(this,t,i,n.generate())}else hp(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),Xd(r,i.queryParams)}return!0}}let dp=new WeakMap;function pp(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:h}=r,c=r;if(dp.has(c)&&n.includeAttributes){let t=dp.get(c);t=function(t,e){let n={get metadata(){return gp(t)}};return!Object.isExtensible(e)||e.hasOwnProperty("metadata")?Object.freeze(Object.assign({},e,n)):Object.assign(e,n)}(h,t);let e=fp(t,u);return i.set(c,t),n.localizeMapUpdates||dp.set(c,e),e}const d=n.localizeMapUpdates?i:dp;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 gp(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=fp(p,u)),i.set(r,p),n.localizeMapUpdates||dp.set(r,p),p})}function fp(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 gp(t){return null!=t&&void 0!==t.buildRouteInfoMetadata?t.buildRouteInfoMetadata():null}class mp{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 lu.resolve(this.context)}serialize(t){return this.params||{}}resolve(t){return lu.resolve(this.routePromise).then(e=>(bd(t),e)).then(()=>this.runBeforeModelHook(t)).then(()=>bd(t)).then(()=>this.getModel(t)).then(e=>(bd(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[Ad]=t[Ad]||{},t[Ad][this.name]=i);let r=e===this.context;!("context"in this)&&r||(n=e);let s=dp.get(this),o=new yp(this.router,this.name,this.paramNames,i,this.route,n);return void 0!==s&&dp.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)),jd(e)&&(e=null),lu.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=jd(r=n)?null:r,lu.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=lu.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 yp extends mp{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),lu.resolve(this)}}class _p extends mp{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[Fd]&&(e={},Sd(e,this.params),e.queryParams=t[Fd]);let n,i=this.route;return i.deserialize?n=i.deserialize(e,t):i.model&&(n=i.model(e,t)),n&&jd(n)&&(n=void 0),lu.resolve(n)}}class vp extends mp{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(Td(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 bp{constructor(t,e={}){this.router=t,this.data=e}}function wp(t,e,n){let i=t.routeInfos,r=e.resolveIndex>=i.length?i.length-1:e.resolveIndex,s=e.isAborted;throw new Cp(n,t.routeInfos[r].route,s,t)}function xp(t,e){if(e.resolveIndex===t.routeInfos.length)return;let n=t.routeInfos[e.resolveIndex],i=Sp.bind(null,t,e);return n.resolve(e).then(i,null,t.promiseLabel("Proceed"))}function Sp(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 bd(e),xp(t,e)}class Ep{constructor(){this.routeInfos=[],this.queryParams={},this.params={}}promiseLabel(t){let e="";return Rd(this.routeInfos,function(t){return""!==e&&(e+="."),e+=t.name,!0}),Id("'"+e+"': "+t)}resolve(t){let e=this.params;Rd(this.routeInfos,t=>(e[t.name]=t.params||{},!0)),t.resolveIndex=0;let n=xp.bind(null,this,t),i=wp.bind(null,this,t);return lu.resolve(null,this.promiseLabel("Start transition")).then(n,null,this.promiseLabel("Resolve route")).catch(i,this.promiseLabel("Handle error")).then(()=>this)}}class Cp{constructor(t,e,n,i){this.error=t,this.route=e,this.wasAborted=n,this.state=i}}class kp extends bp{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 Ep,l=this.contexts.slice(0),u=e.length;if(this.pivotHandler)for(s=0,o=e.length;s=0;--s){let o=e[s],h=o.handler,c=t.routeInfos[s],d=null;if(d=o.names.length>0?s>=u?this.createParamHandlerInfo(h,o.names,l,c):this.getHandlerInfoForDynamicSegment(h,o.names,l,c,n,s):this.createParamHandlerInfo(h,o.names,l,c),r){d=d.becomeResolved(null,d.context);let t=c&&c.context;o.names.length>0&&void 0!==c.context&&d.context===t&&(d.params=c&&c.params),d.context=t}let p=c;(s>=u||d.shouldSupersede(c))&&(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),Sd(a.queryParams,this.queryParams||{}),i&&t.queryParams&&Sd(a.queryParams,t.queryParams),a}invalidateChildren(t,e){for(let n=e,i=t.length;n0){if(o=n[n.length-1],Td(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 vp(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];Td(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 _p(this.router,t,e,r)}}class Tp extends bp{constructor(t,e,n){super(t,n),this.url=e,this.preTransitionState=void 0}applyToState(t){let e,n,i=new Ep,r=this.router.recognizer.recognize(this.url);if(!r)throw new zd(this.url);let s=!1,o=this.url;function a(t){if(t&&t.inaccessibleByURL)throw new zd(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 Nd(this,void 0,void 0);return t.queryParamsOnly=!0,n.queryParams=this.finalizeQueryParamChange(i.routeInfos,i.queryParams,t),t[Fd]=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 Nd(this,t,void 0,n,void 0)}}recognize(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return n;let i=pp(n.routeInfos,n.queryParams,{includeAttributes:!1,localizeMapUpdates:!0});return i[i.length-1]}recognizeAndLoad(t){let e=new Tp(this,t),n=this.generateNewState(e);if(null===n)return lu.reject(`URL ${t} was not recognized`);let i=new Nd(this,e,n,void 0);return i.then(()=>{let t=pp(n.routeInfos,i[Fd],{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[Od]:this.state,s=t.applyToState(r,e),o=Pd(r.queryParams,s.queryParams);if(Pp(s.routeInfos,r.routeInfos)){if(o){let t=this.queryParamsTransition(o,i,r,s);return t.queryParamsOnly=!0,t}return this.activeTransition||new Nd(this,void 0,void 0)}if(e){let t=new Nd(this,void 0,s);return t.isIntermediate=!0,this.toReadOnlyInfos(t,s),this.setupContexts(s,t),this.routeWillChange(t),this.activeTransition}return n=new Nd(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){kd(this,"Updating query params");let{routeInfos:t}=this.state;i=new kp(this,t[t.length-1].name,void 0,[],s)}else"/"===t.charAt(0)?(kd(this,"Attempting URL transition to "+t),i=new Tp(this,t)):(kd(this,"Attempting transition to "+t),i=new kp(this,t,void 0,e,s));return this.transitionByIntent(i,n)}finalizeTransition(t,e){try{kd(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,lu.reject(Dd(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),kd(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[Od].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];Sd(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=pp(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=pp(e,Object.assign({},t[Fd]),{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 zp.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?Dd(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 lp(null,i)}_resetQueuedQueryParameterChanges(){this._queuedQPChanges={}}_hasModuleBasedResolver(){let t=us(qa(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=Qd(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=qa(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 qp(n,this),n}transitionTo(...t){if(Kd(t[0]))return this._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(t);return this._doTransition(e,n,i)}intermediateTransitionTo(t,...e){this._routerMicrolib.intermediateTransitionTo(t,...e),Bp(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=qa(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){$p(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,hc(n))}})}_serializeQueryParam(t,e){return null==t?t:"array"===e?JSON.stringify(t):`${t}`}_deserializeQueryParams(t,e){$p(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?Ac(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[Od].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 qp(o,this),o}_processActiveTransitionQueryParams(t,e,n,i){if(!this._routerMicrolib.activeTransition)return;let r={},s=this._qpUpdates,o=tp(this,this._routerMicrolib.activeTransition[Od]);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=Up(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=Up(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];Fp(t,(t,n)=>{if(n!==r){let n=Dp(t,"error");if(n)return i._markErrorAsHandled(e),i.intermediateTransitionTo(n,e),!1}let s=Np(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];Fp(t,(t,r)=>{if(r!==i){let e=Dp(t,"loading");if(e)return n.intermediateTransitionTo(e),!1}let s=Np(t,"loading");return s?(n.intermediateTransitionTo(s),!1):e.pivotHandler!==t})}};function Np(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o=`${r}_${e}`;return jp(n,s,`${i}_${e}`,o)?o:""}function Dp(t,e){let n=qa(t),{routeName:i,fullRouteName:r,_router:s}=t,o="application"===r?e:`${r}.${e}`;return jp(n,s,"application"===i?e:`${i}.${e}`,o)?o:""}function jp(t,e,n,i){let r=e.hasRoute(i),s=t.factoryFor(`template:${n}`)||t.factoryFor(`route:${n}`);return r&&s}function zp(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 Up(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 Bp(t){let e=t._routerMicrolib.currentRouteInfos;if(0===e.length)return;let n=Ap._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 qp(t,e){let n=new cp(e,e._routerMicrolib,t[Od]);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 $p(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):""}Ap.reopen({didTransition:function(){Bp(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 Vp extends lh{_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 Wp=!1;function Hp(){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 Kp extends lh{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:Hp()};this.history.pushState(e,"",t),this._previousURL=this.getURL()}replaceState(t){let e={path:t,uuid:Hp()};this.history.replaceState(e,"",t),this._previousURL=this.getURL()}onUpdateURL(t){this._removeEventListener(),this._popstateHandler=()=>{(Wp||(Wp=!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 Xp extends lh{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 Yp(t){return Ss(t).readOnly()}Xp.reopen({path:"",rootURL:"/"});const Zp=/[ _]/g,Jp=new Vi(1e3,t=>{return(e=t,sf.get(e)).replace(Zp,"-");var e}),Qp=/^(-|_)+(.)?/,tf=/(.)(-|_|\.|\s)+(.)?/g,ef=/(^|\/|\.)([a-z])/g,nf=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())}),rf=/([a-z\d])([A-Z])/g,sf=new Vi(1e3,t=>t.replace(rf,"$1_$2").toLowerCase());function of(t){return Jp.get(t)}function af(t){return Object.hasOwnProperty.call(t.since,"enabled")||g._ALL_DEPRECATIONS_ENABLED}let lf=parseFloat(g._OVERRIDE_DEPRECATION_VERSION??Wi);function uf(t){return function(t,e=lf){let n=t.replace(/(\.0+)/g,"");return e>=parseFloat(n)}(t.until)}function hf(t){return{options:t,test:!af(t),isEnabled:af(t)||uf(t),isRemoved:uf(t)}}const cf={DEPRECATE_IMPORT_INJECT:hf({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:hf({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 df(...t){return ms("service",...t)}class pf extends Nh{static isServiceFactory=!0}const ff=Object.freeze(Object.defineProperty({__proto__:null,default:pf,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:df},Symbol.toStringTag,{value:"Module"})),gf=Symbol("ROUTER");function mf(t,e){return"/"===e?t:t.substring(e.length)}class yf extends(pf.extend(Fh)){[gf];get _router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return this[gf]=e}willDestroy(){super.willDestroy(),this[gf]=void 0}transitionTo(...t){if(Kd(t[0]))return this._router._doURLTransition("transitionTo",t[0]);let{routeName:e,models:n,queryParams:i}=$d(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}=$d(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),Xd(i,s)}return!0}recognize(t){this._router.setupRouter();let e=mf(t,this.rootURL);return this._router._routerMicrolib.recognize(e)}recognizeAndLoad(t){this._router.setupRouter();let e=mf(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{Qh(this.prototype,"currentRouteName",[Yp("_router.currentRouteName")])}#u=void nc(this,"currentRouteName");static{Qh(this.prototype,"currentURL",[Yp("_router.currentURL")])}#h=void nc(this,"currentURL");static{Qh(this.prototype,"location",[Yp("_router.location")])}#c=void nc(this,"location");static{Qh(this.prototype,"rootURL",[Yp("_router.rootURL")])}#d=void nc(this,"rootURL");static{Qh(this.prototype,"currentRoute",[Yp("_router.currentRoute")])}#p=void nc(this,"currentRoute")}class _f extends pf{[gf];get router(){let t=this[gf];if(void 0!==t)return t;let e=Yi(this).lookup("router:main");return e.setupRouter(),this[gf]=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)}}_f.reopen({targetState:Yp("router.targetState"),currentState:Yp("router.currentState"),currentRouteName:Yp("router.currentRouteName"),currentPath:Yp("router.currentPath")});class vf{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 bf=32,wf=31;function xf(t){return(t|=0)<0?function(t){return-536870913&t}(t):function(t){return~t}(t)}function Sf(t){return e=>{if(!function(t){return Array.isArray(t)&&2===t.length}(e))return!1;let n=e[0];return n===wf||n===bf||n===t}}[1,-1].forEach(t=>{return e=xf(t),(e|=0)>-536870913?function(t){return~t}(e):function(t){return 536870912|t}(e);var e});const Ef=Sf(39),Cf=Sf(38),kf=Sf(37),Tf=Sf(35);function Rf(t,e,n,i){let{symbols:{upvars:r}}=n,s=r[t[1]],o=e?.lookupBuiltInHelper?.(s)??null;return i.helper(o,s)}function Pf(t){return{type:1,value:t}}function Mf(t){return{type:5,value:t}}function If(t){return{type:7,value:t}}function Of(t){return{type:8,value:t}}class Af{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 Ff(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(Ef(i),i[0]===bf){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]){Cf(i);let s=i[0];if(s===bf){let{scopeValues:t,symbols:{lexical:s}}=n,o=t[i[1]];r(e.modifier(o,s?.at(i[1])??void 0))}else if(s===wf){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]){kf(i);let s=i[0];if(s===bf){let{scopeValues:t}=n,s=t[i[1]];r(e.helper(s))}else if(s===wf)r(Rf(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}]){Tf(i);let o=i[0];if(o===bf){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===wf)s(Rf(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}]){Tf(i);let a=i[0];if(a===bf){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 h=e.component(u,a,!0,l?.at(i[1]));if(null!==h)return void r(h);let c=e.helper(u,null,!0);if(null!==c)return void s(c);o(e.value(u))}else if(a===wf)s(Rf(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 h=t?.lookupHelper?.(l,a)??null;null!==h&&s(e.helper(h,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 vf([]),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?xf(n):function(t){return{type:6,value:t}}(n)),t(30,n)}function $f(t,e,n,i){t(0),Zf(t,n,i,!1),t(16,e),t(1),t(36,8)}function Gf(t,e,n,i){t(0),Zf(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 Vf(t,e,n,i,r){t(0),Zf(t,i,r,!1),t(86),Uf(t,n),t(77,e,{type:2,value:void 0}),t(1),t(36,8)}function Wf(t,e,n){Zf(t,n,null,!0),t(23,e),t(24),t(61),t(64),t(40),t(1)}function Hf(t,e){!function(t,e){null!==e?t(63,If({parameters:e})):qf(t,null)}(t,e&&e[1]),t(62),Yf(t,e)}function Kf(t,e){t(0),Yf(t,e),t(61),t(2),t(1)}function Xf(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)Uf(t,n);t(27,e.length)}),jf.add(28,(t,[,e,n,i])=>{kf(e)?t(1005,e,e=>{$f(t,e,n,i)}):(Uf(t,e),Gf(t,n,i))}),jf.add(50,(t,[,e,n,i,r])=>{Vf(t,n,e,i,r)}),jf.add(30,(t,[,e,n])=>{t(21,e),zf(t,n)}),jf.add(bf,(t,[,e,n])=>{t(1011,e,e=>{t(29,e),zf(t,n)})}),jf.add(wf,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(37,(t,e)=>{t(1010,e[1],()=>{t(1005,e,e=>{$f(t,e,null,null)})})}),jf.add(27,t=>Bf(t,void 0)),jf.add(48,(t,[,e])=>{Uf(t,e),t(25)}),jf.add(49,(t,[,e])=>{Uf(t,e),t(24),t(61),t(26)}),jf.add(52,(t,[,e,n,i])=>{Uf(t,i),Uf(t,n),Uf(t,e),t(109)}),jf.add(51,(t,[,e])=>{Uf(t,e),t(110)}),jf.add(53,(t,[,e])=>{Uf(t,e),t(111)}),jf.add(54,(t,[,e])=>{t(0),Zf(t,e,null,!1),t(112),t(1),t(36,8)});class tg{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 tg(n?un({},n,{[t]:e}):{[t]:e})}get hasAny(){return null!==this.blocks}}const eg=new tg(null);function ng(t){if(null===t)return eg;let e=rn(),[n,i]=t;for(const[r,s]of tn(n))e[s]=i[r];return new tg(e)}function ig(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,Pf(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,Pf("END"))}t(1e3,"END"),t(1002),t(70)}function rg(t,e,n){t(1001),t(0),t(6,Pf("ENDINITIAL")),t(69,e()),n(),t(1e3,"FINALLY"),t(70),t(5),t(1e3,"ENDINITIAL"),t(1),t(1002)}function sg(t,e,n,i){return rg(t,e,()=>{t(66,Pf("ELSE")),n(),t(4,Pf("FINALLY")),t(1e3,"ELSE"),void 0!==i&&i()})}function og(t,e,n,i,r,s){let{compilable:o,capabilities:a,handle:l}=e,u=n?[n,[]]:null,h=ng(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,Gn.prepareArgs))return void lg(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=[],h=[],c=[],d=o.names;if(null!==i){let e=l.indexOf("&attrs");-1!==e&&(Hf(t,i),u.push(e))}for(const p of d){let e=l.indexOf(`&${p}`);-1!==e&&(Hf(t,o.get(p)),u.push(e))}if(ii(e,Gn.createArgs)){let e=Jf(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(h))-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,Of(n)),t(61),t(2),t(100,4),t(1),t(40),ii(e,Gn.dynamicScope)&&t(60),t(98),t(35,4)}(t,{capabilities:a,layout:o,elementBlock:u,positional:i,named:r,blocks:h})):(t(78,l),lg(t,{capabilities:a,elementBlock:u,positional:i,named:r,atNames:!0,blocks:h}))}function ag(t,e,n,i,r,s,o,a){let l=n?[n,[]]:null,u=ng(s);rg(t,()=>(Uf(t,e),t(33,3,0),2),()=>{t(66,Pf("ELSE")),a?t(81):t(80,{type:2,value:void 0}),t(79),lg(t,{capabilities:!0,elementBlock:l,positional:i,named:r,atNames:o,blocks:u}),t(1e3,"ELSE")})}function lg(t,{capabilities:e,elementBlock:n,positional:i,named:r,atNames:s,blocks:o,layout:a}){let l=!!o,u=!0===e||ii(e,Gn.prepareArgs)||!(!r||0===r[0].length),h=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)Hf(t,i.get(l));let o=Jf(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,Of(a)),t(61)):t(92,4),t(95,4)}),t(35,4)}function ug(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 hg=new Df,cg=["class","id","value","name","type","style","href"],dg=["div","span","p","a"];function pg(t){return"string"==typeof t?t:dg[t]}function fg(t){return"string"==typeof t?t:cg[t]}function gg(t){return null===t?null:[t[0].map(t=>`@${t}`),t[1]]}hg.add(3,(t,e)=>t(42,e[1])),hg.add(13,t=>t(55)),hg.add(12,t=>t(54)),hg.add(4,(t,[,e,n,i])=>{Cf(e)?t(1003,e,e=>{t(0),Zf(t,n,i,!1),t(57,e),t(1)}):(Uf(t,e),t(0),Zf(t,n,i,!1),t(33,2,1),t(108),t(1))}),hg.add(14,(t,[,e,n,i])=>{t(51,fg(e),n,i??null)}),hg.add(24,(t,[,e,n,i])=>{t(105,fg(e),n,i??null)}),hg.add(15,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!1,i??null)}),hg.add(22,(t,[,e,n,i])=>{Uf(t,n),t(52,fg(e),!0,i??null)}),hg.add(16,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!1,i??null)}),hg.add(23,(t,[,e,n,i])=>{Uf(t,n),t(53,fg(e),!0,i??null)}),hg.add(10,(t,[,e])=>{t(48,pg(e))}),hg.add(11,(t,[,e])=>{t(89),t(48,pg(e))}),hg.add(8,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,n,null,i,r)}):ag(t,e,n,null,i,r,!0,!0)}),hg.add(18,(t,[,e,n])=>Wf(t,e,n)),hg.add(17,(t,[,e])=>Wf(t,e,null)),hg.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))}),hg.add(1,(t,[,e])=>{if(Array.isArray(e))if(Tf(e))t(1008,e,{ifComponent(e){og(t,e,null,null,null,null)},ifHelper(e){t(0),$f(t,e,null,null),t(3,Mf("cautious-non-dynamic-append")),t(1)},ifValue(e){t(0),t(29,e),t(3,Mf("cautious-non-dynamic-append")),t(1)}});else if(28===e[0]){let[,n,i,r]=e;Tf(n)?t(1007,n,{ifComponent(e){og(t,e,null,i,gg(r),null)},ifHelper(e){t(0),$f(t,e,i,r),t(3,Mf("cautious-non-dynamic-append")),t(1)}}):ig(t,()=>{Uf(t,n),t(106)},e=>{e(0,()=>{t(81),t(79),lg(t,{capabilities:!0,elementBlock:null,positional:i,named:r,atNames:!1,blocks:ng(null)})}),e(1,()=>{Gf(t,i,r,()=>{t(3,Mf("cautious-non-dynamic-append"))})})})}else t(0),Uf(t,e),t(3,Mf("cautious-append")),t(1);else t(41,null==e?"":String(e))}),hg.add(2,(t,[,e])=>{Array.isArray(e)?(t(0),Uf(t,e),t(3,Mf("trusting-append")),t(1)):t(41,null==e?"":String(e))}),hg.add(6,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)}),hg.add(40,(t,[,e,n,i,r])=>{sg(t,()=>(Uf(t,n),void 0===r?Bf(t,void 0):Uf(t,r),Uf(t,i),t(33,3,0),4),()=>{t(50),Kf(t,e),t(56)})}),hg.add(41,(t,[,e,n,i])=>sg(t,()=>(Uf(t,e),t(71),1),()=>{Kf(t,n)},i?()=>{Kf(t,i)}:void 0)),hg.add(42,(t,[,e,n,i,r])=>rg(t,()=>(n?Uf(t,n):Bf(t,null),Uf(t,e),2),()=>{t(72,Pf("BODY"),Pf("ELSE")),t(0),t(33,2,1),t(6,Pf("ITER")),t(1e3,"ITER"),t(74,Pf("BREAK")),t(1e3,"BODY"),Xf(t,i,2),t(34,2),t(4,Pf("FINALLY")),t(1e3,"BREAK"),t(1),t(73),t(4,Pf("FINALLY")),t(1e3,"ELSE"),r&&Kf(t,r)})),hg.add(44,(t,[,e,n])=>{Xf(t,n,Jf(t,e))}),hg.add(45,(t,[,e,n])=>{if(e){let[i,r]=e;Jf(t,r),function(t,e,n){t(59),t(58,e),n(),t(60)}(t,i,()=>{Kf(t,n)})}else Kf(t,n)}),hg.add(46,(t,[,e,n,i,r])=>{Ef(e)?t(1004,e,e=>{og(t,e,null,n,gg(i),r)}):ag(t,e,null,n,i,r,!1,!1)});class mg{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=hg,r=Nf(n,e),{encoder:s,evaluation:o}=r;function a(...t){Ff(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 yg{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 _g(t,e,n){ig(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),ug(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 vg={symbols:{locals:null,upvars:null},moduleName:"stdlib",scopeValues:null,isStrictMode:!0,owner:null,size:0};function bg(t,e){let n=new Lf(t.program.heap,vg);e(function(...e){Ff(n,t,vg,e)});let i=n.commit(0);if("number"!=typeof i)throw new Error("Unexpected errors compiling std");return i}class wg{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=bg(t,t=>function(t){t(75,4),ug(t,!1,!1,!0)}(t)),n=bg(t,t=>_g(t,!0,null)),i=bg(t,t=>_g(t,!1,null)),r=bg(t,t=>_g(t,!0,n)),s=bg(t,t=>_g(t,!1,i));return new yg(e,r,s,n,i)}(this)}}class xg{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=Qf(t)}compile(t){if(null!==this.compiled)return this.compiled;let e=Qf(this.layout),n=Nf(t,e),{encoder:i,evaluation:r}=n;var s,o,a;s=function(...t){Ff(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,Pf("BODY")),s(36,5),s(89),s(49),s(99,4),Wf(s,a,null),s(54),s(1e3,"BODY"),Kf(s,[o.block[0],[]]),s(36,5),s(66,Pf("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 Sg=0,Eg={cacheHit:0,cacheMiss:0};function Cg({id:t,moduleName:e,block:n,scope:i,isStrictMode:r}){let s,o=t||"client-"+Sg++,a=null,l=new WeakMap,u=t=>{if(void 0===s&&(s=JSON.parse(n)),void 0===t)return null===a?(Eg.cacheMiss++,a=new kg({id:o,block:s,moduleName:e,owner:null,scope:i,isStrictMode:r})):Eg.cacheHit++,a;let u=l.get(t);return void 0===u?(Eg.cacheMiss++,u=new kg({id:o,block:s,moduleName:e,owner:t,scope:i,isStrictMode:r}),l.set(t,u)):Eg.cacheHit++,u};return u.__id=o,u.__meta={moduleName:e},u}class kg{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 mg(n,Qf(t),{symbols:i},e)}(un({},this.parsedLayout),this.moduleName)}asWrappedLayout(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new xg(un({},this.parsedLayout),this.moduleName)}}function Tg(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}const Rg={id:"1b32f5c2-7623-43d6-a0ad-9672898920a1",moduleName:"__default__.hbs",block:JSON.stringify([[[18,1,null]],["&default"],[]]),scope:null,isStrictMode:!0},Pg=Object.freeze([]),Mg=[!1,!0,null,void 0,Pg],Ig=Mg.indexOf(Pg);class Og{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=ji(t),l=null;s=ni(0,o,Gn.dynamicLayout)?a?.(e):a?.(e)??this.defaultTemplate,void 0!==s&&(s=Tg(s),l=ni(0,o,Gn.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,Gn.dynamicLayout)||(s=s??this.defaultTemplate),null!==s&&(s=Tg(s),a=ni(0,o,Gn.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]:Pg},this.defaultTemplate=Cg(Rg)(),this.helperDefinitionCount=0,this.modifierDefinitionCount=0,this.componentDefinitionCount=0,this.values=Mg.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 Ag{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 Fg{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 Bg((e=t,(e|=0)<0?function(t){return-536870913&t}(e):function(t){return~t}(e)));var e});const qg=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))}},$g=Symbol("TYPE"),Gg=Symbol("INNER"),Vg=Symbol("OWNER"),Wg=Symbol("ARGS"),Hg=Symbol("RESOLVED"),Kg=new WeakSet;function Xg(t){return Kg.has(t)}function Yg(t,e){return Xg(t)&&t[$g]===e}class Zg{constructor(t,e,n,i,r=!1){Kg.add(this),this[$g]=t,this[Gg]=e,this[Vg]=n,this[Wg]=i,this[Hg]=r}}function Jg(t){let e,n,i,r,s,o=t;for(;;){let{[Wg]: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(!Xg(a)){i=a,r=o[Vg],s=o[Hg];break}o=a}return{definition:i,owner:r,resolved:s,positional:e,named:n}}function Qg(t,e,n,i,r=!1){return new Zg(t,e,n,i,r)}class tm{constructor(t){this.bucket=t?un({},t):{}}get(t){return this.bucket[t]}set(t,e){return this.bucket[t]=e}child(){return new tm(this.bucket)}}class em{static root(t,{self:e,size:n=0}){let i=new Array(n+1).fill(mn);return new em(t,i,null).init({self:e})}static sized(t,e=0){let n=new Array(e+1).fill(mn);return new em(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 em(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 nm{constructor(t,e){this.element=t,this.nextSibling=e}}class im{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 rm(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 sm(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 om(t){return"getDebugCustomRenderTree"in t}let am=0;class lm{constructor(t){this.id=am++,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 um{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 lm(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),h=this.captureRefs(a);return{id:t,type:i,name:r,args:Vm(s),instance:o,template:l,bounds:u,children:h}}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 hm(t){return cm(t)?"":String(t)}function cm(t){return null==t||"function"!=typeof t.toString}function dm(t){return null!==t&&"object"==typeof t}function pm(t){return dm(t)&&"function"==typeof t.toHTML}function fm(t){return"string"==typeof t}qg.add(39,t=>t.pushChildScope()),qg.add(40,t=>t.popScope()),qg.add(59,t=>t.pushDynamicScope()),qg.add(60,t=>t.popDynamicScope()),qg.add(28,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(29,(t,{op1:e})=>{t.stack.push(bn(t.constants.getValue(e)))}),qg.add(30,(t,{op1:e})=>{let n=t.stack;if(e>=0){let i=t.constants.getValue(e);n.push(i)}else n.push(Bg(e))}),qg.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)}),qg.add(33,(t,{op1:e,op2:n})=>{let i=t.fetchValue(e)-n;t.stack.dup(i)}),qg.add(34,(t,{op1:e})=>{t.stack.pop(e)}),qg.add(35,(t,{op1:e})=>{t.load(e)}),qg.add(36,(t,{op1:e})=>{t.fetch(e)}),qg.add(58,(t,{op1:e})=>{let n=t.constants.getArray(e);t.bindDynamicScope(n)}),qg.add(69,(t,{op1:e})=>{t.enter(e)}),qg.add(70,t=>{t.exit()}),qg.add(63,(t,{op1:e})=>{t.stack.push(t.constants.getValue(e))}),qg.add(62,t=>{t.stack.push(t.scope())}),qg.add(61,t=>{let e=t.stack,n=e.pop();n?e.push(t.compile(n)):e.push(null)}),qg.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 gm(n)))}),qg.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 gm(n)))}),qg.add(67,(t,{op1:e,op2:n})=>{t.stack.peek()===n&&t.lowlevel.goto(e)}),qg.add(68,t=>{let e=t.stack.peek();kn(e)||t.updateWith(new gm(e))}),qg.add(71,t=>{let{stack:e}=t,n=e.pop();e.push(xn(()=>yt(Rn(n))))});class gm{constructor(t){this.ref=t,this.last=Rn(t)}evaluate(t){let{last:e,ref:n}=this;e!==Rn(n)&&t.throw()}}class mm{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 ym{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 _m{constructor(t){this.debugLabel=t}evaluate(){_e(this.debugLabel)}}class vm{constructor(t){this.target=t}evaluate(){let t=ve();this.target.didModify(t)}}qg.add(41,(t,{op1:e})=>{t.tree().appendText(t.constants.getValue(e))}),qg.add(42,(t,{op1:e})=>{t.tree().appendComment(t.constants.getValue(e))}),qg.add(48,(t,{op1:e})=>{t.tree().openElement(t.constants.getValue(e))}),qg.add(49,t=>{let e=Rn(t.stack.pop());t.tree().openElement(e)}),qg.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 gm(e)),void 0===s||kn(n)||t.updateWith(new gm(n));let a=t.tree().pushRemoteElement(r,o,s);if(t.associateDestroyable(a),void 0!==t.env.debugRenderTree){let i=zm(void 0===s?{}:{insertBefore:n},[e]);t.env.debugRenderTree.create(a,{type:"keyword",name:"in-element",args:i,instance:null}),It(a,()=>{t.env.debugRenderTree?.willDestroy(a)})}}),qg.add(56,t=>{let e=t.tree().popRemoteElement();void 0!==t.env.debugRenderTree&&t.env.debugRenderTree.didRender(e,e)}),qg.add(54,t=>{let e=t.fetchValue(6),n=null;e&&(n=e.flush(t),t.loadValue(6,null)),t.tree().flushElement(n)}),qg.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)})}),qg.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 h=s.getTag(l);return null!==h?(Se(h),t.updateWith(new bm(h,u))):void 0}),qg.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(Yg(l,2)){let{definition:n,owner:o,positional:a,named:u}=Jg(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 h={resolvedName:null,manager:u,state:e},c=u.create(t,o,h.state,i);return{manager:u,state:c,definition:h}}),u=Rn(l),h=null;return void 0!==u&&(t.fetchValue(6).addModifier(t,u,i),h=u.manager.getTag(u.state),null!==h&&Se(h)),!kn(n)||h?t.updateWith(new wm(h,u,l)):void 0});class bm{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 wm{constructor(t,e,n){this.tag=t,this.instance=e,this.instanceRef=n,this.lastUpdated=Zt(t??he)}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&&Mt(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)}}qg.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)}),qg.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 xm(o,u,t.env))});class xm{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)}}qg.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)}),qg.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=Xg(r)?r:s.component(r,o);i.push(n)}),qg.add(81,t=>{let e,n=t.stack,i=Rn(n.pop()),r=t.constants;e=Xg(i)?i:r.component(i,t.getOwner(),!0),n.push(e)}),qg.add(79,t=>{let e,n,{stack:i}=t,r=i.pop();Xg(r)?n=e=null:(n=r.manager,e=r.capabilities),i.push({definition:r,capabilities:e,manager:n,state:null,handle:null,table:null})}),qg.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)}),qg.add(83,t=>{let{stack:e}=t;e.push(t.args.empty(e))}),qg.add(86,t=>{let e=t.stack,n=e.pop().capture();e.push(n)}),qg.add(85,(t,{op1:e})=>{let n=t.stack,i=t.fetchValue(e),r=n.pop(),{definition:s}=i;if(Yg(s,0)){s.manager;let e=t.constants,{definition:n,owner:o,resolved:a,positional:l,named:u}=Jg(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:h}=s;i.definition=s,i.manager=h,i.capabilities=s.capabilities,t.loadValue(7,o)}let{manager:o,state:a}=s;if(!ni(0,i.capabilities,Gn.prepareArgs))return void n.push(r);let l=r.blocks.values,u=r.blocks.names,h=o.prepareArgs(a,r);if(h){r.clear();for(let r=0;r{let n=t.fetchValue(4),{definition:i,manager:r,capabilities:s}=n;if(!ni(0,s,Gn.createInstance))return;let o=null;ni(0,s,Gn.dynamicScope)&&(o=t.dynamicScope());let a=1&e,l=null;ni(0,s,Gn.createArgs)&&(l=t.stack.peek());let u=null;ni(0,s,Gn.createCaller)&&(u=t.getSelf());let h=r.create(t.getOwner(),i.state,l,t.env,o,u,!!a);n.state=h,ni(0,s,Gn.updateHook)&&t.updateWith(new Tm(h,r,o))}),qg.add(88,(t,{op1:e})=>{let{manager:n,state:i,capabilities:r}=t.fetchValue(e),s=n.getDestroyable(i);s&&t.associateDestroyable(s)}),qg.add(97,(t,{op1:e})=>{t.beginCacheGroup(void 0),t.tree().pushAppendingBlock()}),qg.add(89,t=>{t.loadValue(6,new Sm)}),qg.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)}),qg.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 Sm{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),h=new im(o,a,a);t.env.debugRenderTree.create(s,{type:"modifier",name:l,args:n,instance:u}),t.env.debugRenderTree.didRender(s,h),t.associateDestroyable(s),t.updateWith(new Pm(s)),t.updateWith(new Mm(s,h)),It(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?Cm(t,"class",Em(this.classes),r.namespace,r.trusting):Cm(t,i,r.value,r.namespace,r.trusting)}return void 0!==e&&Cm(t,"type",e.value,e.namespace,e.trusting),this.modifiers}constructor(){this.attributes=rn(),this.classes=[],this.modifiers=[]}}function Em(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=hm("string"==typeof n?n:Rn(n));e&&t.push(e)}return 0===t.length?null:t.join(" ")}));var e}function Cm(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 xm(n,s,t.env))}}function km(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)}qg.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)}),qg.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 h=l.compilable;if(null===h){ni(0,o.capabilities,Gn.dynamicLayout);let e=t.context.resolver;h=null===e?null:u.getDynamicLayout(s,e),r=null!==h?h.moduleName:"__default__.hbs"}else r=h.moduleName;if(t.associateDestroyable(o),om(u))u.getDebugCustomRenderTree(o.definition.state,o.state,i,r).forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.create(n,e),It(o,()=>{t.env.debugRenderTree?.willDestroy(n)}),t.updateWith(new Pm(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)}),It(o,()=>{t.env.debugRenderTree?.willDestroy(o)}),t.updateWith(new Pm(o))}}t.stack.push(a)}),qg.add(91,(t,{op1:e})=>{let{definition:n,state:i}=t.fetchValue(e),{manager:r}=n,s=r.getTagName(i);t.stack.push(s)}),qg.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,Gn.wrapped)?Ug(t.constants.defaultTemplate).asWrappedLayout():Ug(t.constants.defaultTemplate).asLayout())}let a=o.compile(t.context);s.push(o.symbolTable),s.push(a)}),qg.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)}),qg.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}),qg.add(38,(t,{op1:e})=>{let n,{table:i,manager:r,capabilities:s,state:o}=t.fetchValue(e);ni(0,s,Gn.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)}),qg.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)}}),qg.add(18,(t,{op1:e})=>{let n=t.fetchValue(e),{blocks:i}=t.stack.peek();for(const[r]of tn(i.names))km(i.symbolNames[r],i.names[r],n,i,t)}),qg.add(96,(t,{op1:e})=>{let n=t.fetchValue(e);t.call(n.handle)}),qg.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&&(om(i)?i.getDebugCustomRenderTree(n.definition.state,r,Km).reverse().forEach(e=>{let{bucket:n}=e;t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o))}):(t.env.debugRenderTree.didRender(n,o),t.updateWith(new Mm(n,o)))),ni(0,s,Gn.createInstance)&&(i.didRenderLayout(r,o),t.env.didCreate(n),t.updateWith(new Rm(n,o)))}),qg.add(98,t=>{t.commitCacheGroup()});class Tm{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 Rm{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 Pm{constructor(t){this.bucket=t}evaluate(t){t.env.debugRenderTree?.update(this.bucket)}}class Mm{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 Am,this.named=new Fm,this.blocks=new Dm}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,h=n.length,c=l-3*h;u.setup(t,c,h,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?Hm:this.positional.capture();return{named:0===this.named.length?Wm:this.named.capture(),positional:t}}clear(){let{stack:t,length:e}=this;e>0&&null!==t&&t.pop(e)}}const Om=Ye();class Am{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=Om}setup(t,e,n){this.stack=t,this.base=e,this.length=n,this._references=0===n?Om: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 Nm=Ye();class Dm{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=Nm}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=Nm):(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 jm(this.names,this.values)}get symbolNames(){let t=this._symbolNames;return null===t&&(t=this._symbolNames=this.names.map(Lm)),t}}class jm{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 zm(t,e){return{named:t,positional:e}}function Um(t){let e=rn();for(const[n,i]of Object.entries(t))e[n]=Rn(i);return e}function Bm(t){return t.map(Rn)}const qm=Symbol("ARGUMENT_ERROR");function $m(t){return null!==t&&"object"==typeof t&&t[qm]}function Gm(t){return{[qm]:!0,error:t}}function Vm(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 Wm=Object.freeze(Object.create(null)),Hm=Om,Km=zm(Wm,Hm);function Xm(t){return"string"==typeof t?t:"function"!=typeof t.toString?"":String(t)}function Ym(t){let e,n=vi(t);return e=null===n?null:"function"==typeof n?n:n.getHelper(t),e}function Zm(t){return t===mn}qg.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=Yg(o,t)?i?Qg(t,o,n,i):i:0===t&&"string"==typeof o&&o||on(o)?Qg(t,o,n,i):null,r=o),s})}(e,r,o,s))}),qg.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(Yg(t,1)){let{definition:n,owner:i,positional:s,named:a}=Jg(t),l=Ym(n);void 0!==a&&(r.named=un({},...a,r.named)),void 0!==s&&(r.positional=s.concat(r.positional)),e=l(r,i),Mt(o,e)}else if(on(t)){let n=Ym(t);e=n(r,s),Ft(e)&&Mt(o,e)}else e=mn}),a=xn(()=>(Rn(o),Rn(e)));t.associateDestroyable(o),t.loadValue(8,a)}),qg.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)}),qg.add(21,(t,{op1:e})=>{let n=t.referenceForSymbol(e);t.stack.push(n)}),qg.add(19,(t,{op1:e})=>{let n=t.stack.pop();t.scope().bindSymbol(e,n)}),qg.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])}),qg.add(37,(t,{op1:e})=>{t.pushRootScope(e,t.getOwner())}),qg.add(22,(t,{op1:e})=>{let n=t.constants.getValue(e),i=t.stack.pop();t.stack.push(Mn(i,n))}),qg.add(23,(t,{op1:e})=>{let{stack:n}=t,i=t.scope().getBlock(e);n.push(i)}),qg.add(24,t=>{let{stack:e}=t,n=e.pop();if(n&&!Zm(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)}),qg.add(25,t=>{let{stack:e}=t,n=e.pop();n&&!Zm(n)?e.push(_n):e.push(vn)}),qg.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)}),qg.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(Xm(n))}return t.length>0?t.join(""):null})))}),qg.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)))}),qg.add(110,t=>{let e=t.stack.pop();t.stack.push(xn(()=>!yt(Rn(e))))}),qg.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))}))}),qg.add(112,t=>{let{positional:e}=t.stack.pop().capture();t.loadValue(8,xn(()=>{console.log(...Bm(e))}))});class Jm{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)?"":fm(e)?e:String(e),t!==n)&&(this.node.nodeValue=this.lastValue=t)}}function Qm(t){return function(t){return fm(t)||cm(t)||"boolean"==typeof t||"number"==typeof t}(t)?2:Yg(t,0)||xi(t)?0:Yg(t,1)||Si(t)?1:pm(t)?4:function(t){return dm(t)&&11===t.nodeType}(t)?5:function(t){return dm(t)&&"number"==typeof t.nodeType}(t)?6:2}function ty(t){return on(t)?Yg(t,0)||xi(t)?0:1:2}function ey(t,e){console.info("Use `context`, and `get()` to debug this template."),e("this")}qg.add(76,t=>{let e=t.stack.peek();t.stack.push(Qm(Rn(e))),kn(e)||t.updateWith(new mm(e,Qm))}),qg.add(106,t=>{let e=t.stack.peek();t.stack.push(ty(Rn(e))),kn(e)||t.updateWith(new mm(e,ty))}),qg.add(43,t=>{let e=Rn(t.stack.pop()),n=cm(e)?"":String(e);t.tree().appendDynamicHTML(n)}),qg.add(44,t=>{let e=Rn(t.stack.pop()).toHTML(),n=cm(e)?"":e;t.tree().appendDynamicHTML(n)}),qg.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 Jm(r,e,i))}),qg.add(45,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicFragment(e)}),qg.add(46,t=>{let e=Rn(t.stack.pop());t.tree().appendDynamicNode(e)});let ny=ey;class iy{#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)=>Mn(t,e),e)}}qg.add(103,(t,{op1:e})=>{let n=t.constants.getValue(e),i=new iy(t.scope(),n);ny(Rn(t.getSelf()),t=>Rn(i.get(t)))}),qg.add(72,(t,{op1:e,op2:n})=>{let i=t.stack,r=i.pop(),s=Rn(i.pop()),o=zn(r,null===s?"@identity":String(s)),a=Rn(o);t.updateWith(new mm(o,t=>t.isEmpty())),a.isEmpty()?t.lowlevel.goto(n+1):(t.enterList(o,e),t.stack.push(a))}),qg.add(73,t=>{t.exitList()}),qg.add(74,(t,{op1:e})=>{let n=t.stack.peek().next();null!==n?t.registerItem(t.enterItem(n)):t.lowlevel.goto(e)});const ry={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 sy{getCapabilities(){return ry}getDebugName({name:t}){return t}getSelf(){return yn}getDestroyable(){return null}}const oy=new sy;class ay{constructor(t="@glimmer/component/template-only",e="(unknown template-only component)"){this.moduleName=t,this.name=e}toString(){return this.moduleName}}function ly(t,e){return new ay(t,e)}bi(oy,ay.prototype);const uy={foreignObject:1,desc:1,title:1},hy=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===Dg||"svg"===t,r=e.namespaceURI===Ng||"math"===t,i=!!uy[e.tagName]):(n="svg"===t,r="math"===t,i=!1),!r&&!n||i)return this.document.createElement(t);if(hy[t])throw new Error(`Cannot create a ${t} inside an SVG context`);return s=r?Ng:Dg,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 im(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 im(t,s,r)}createTextNode(t){return this.document.createTextNode(t)}createComment(t){return this.document.createComment(t)}}function dy(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!==Dg}}(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 im(e,i,r)}(r,t,i)}(t,i,r,e)}}}function py(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 fy="undefined"==typeof document?null:jg(document);let gy=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)}};gy=py(fy,gy),gy=dy(fy,gy,Dg);const my=gy;["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=>hy[t]=1);const yy=/[\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,_y="undefined"==typeof document?null:jg(document);class vy 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 by=vy;by=py(_y,by),by=dy(_y,by,Dg);const wy=by;function xy(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=Sy[t.toUpperCase()];return!(!n||!n[e.toLowerCase()])}(t.tagName,i)||(n="attr"),{normalized:i,type:n}}const Sy={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}},Ey=Symbol("TRANSACTION");class Cy{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=Ie(()=>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=Ie(()=>r.update(s));ne(t,e)}else r.update(s)}}constructor(){this.scheduledInstallModifiers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.updatedComponents=[]}}class ky{static{Py=Ey}constructor(t,e){this.delegate=e,this[Py]=null,this.isInteractive=e.isInteractive,this.debugRenderTree=this.delegate.enableDebugTooling?new um:void 0,this.isArgumentCaptureError=this.delegate.enableDebugTooling?$m:void 0,t.appendOperations?(this.appendOperations=t.appendOperations,this.updateOperations=t.updateOperations):t.document&&(this.appendOperations=new my(t.document),this.updateOperations=new vy(t.document))}getAppendOperations(){return this.appendOperations}getDOM(){return this.updateOperations}begin(){this[Ey],this.debugRenderTree?.begin(),this[Ey]=new Cy}get transaction(){return this[Ey]}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[Ey]=null,t.commit(),this.debugRenderTree?.commit(),this.delegate.onTransactionCommit()}}function Ty(t,e,n,i){return{env:new ky(t,e),program:new Lg(n.constants,n.heap),resolver:i}}function Ry(t,e){if(t[Ey])e();else{t.begin();try{e()}finally{t.commit()}}}var Py;function My(t){return yi(t,{})}const Iy=My(({positional:t})=>xn(()=>Bm(t),null)),Oy=t=>(t=>null==t||"function"!=typeof t.toString)(t)?"":String(t),Ay=My(({positional:t})=>xn(()=>Bm(t).map(Oy).join(""),null)),Fy=My(({positional:t})=>{let e=t[0];return xn(()=>(...n)=>{let[i,...r]=Bm(t);if(!En(e))return i.call(null,...r,...n);{let t=r.length>0?r[0]:n[0];Pn(e,t)}},null)}),Ly=My(({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)})}),Ny=My(({named:t})=>{let e=xn(()=>Um(t),null),n=new Map;for(let i in t)n.set(i,t[i]);return e.children=n,e});function Dy(t){return Pe(t.argsCache)}class jy{constructor(t,e=()=>Km){let n=Re(()=>e(t));this.argsCache=n}get named(){return Dy(this).named||Wm}get positional(){return Dy(this).positional||Hm}}class zy{constructor(t,e){this.tag=re(),this.listener=null,this.element=t,this.args=e,It(this,()=>{let{element:t,listener:e}=this;if(e){let{eventName:n,callback:i,options:r}=e;qy(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&&qy(t,n.eventName,n.callback,n.options),function(t,e,n,i){Uy++,t.addEventListener(e,n,i)}(t,i,e,l)}}}let Uy=0,By=0;function qy(t,e,n,i){By++,t.removeEventListener(e,n,i)}const $y=gi(new class{getDebugName(){return"on"}getDebugInstance(){return null}get counters(){return{adds:Uy,removes:By}}create(t,e,n,i){return new zy(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){qg.evaluate(e,t,t.type)}}const Vy=["javascript:","vbscript:"],Wy=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],Hy=["EMBED"],Ky=["href","src","background","action"],Xy=["src"];function Yy(t,e){return-1!==t.indexOf(e)}function Zy(t,e){return(null===t||Yy(Wy,t))&&Yy(Ky,e)}function Jy(t,e){return null!==t&&Yy(Hy,t)&&Yy(Xy,e)}function Qy(t,e){return Zy(t,e)||Jy(t,e)}let t_;function e_(t,e,n){if(null==n)return n;if(pm(n))return n.toHTML();const i=t.tagName.toUpperCase();let r=hm(n);if(Zy(i,e)){let t=(s=r,t_||(t_=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"')}()),t_(s));if(Yy(Vy,t))return`unsafe:${r}`}var s;return Jy(i,e)?`unsafe:${r}`:r}function n_(t,e,n){const{tagName:i,namespaceURI:r}=t,s={element:t,name:e,namespace:n};if(r===Dg)return i_(i,e,s);const{type:o,normalized:a}=xy(t,e);return"attr"===o?i_(i,a,s):function(t,e,n){return Qy(t,e)?new a_(e,n):function(t,e){return("INPUT"===t||"TEXTAREA"===t)&&"value"===e}(t,e)?new u_(e,n):function(t,e){return"OPTION"===t&&"selected"===e}(t,e)?new h_(e,n):new o_(e,n)}(i,a,s)}function i_(t,e,n){return Qy(t,e)?new l_(n):new s_(n)}class r_{constructor(t){this.attribute=t}}class s_ extends r_{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 o_ extends r_{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 a_ extends o_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class l_ extends s_{set(t,e,n){const{element:i,name:r}=this.attribute,s=e_(i,r,e);super.set(t,s,n)}update(t,e){const{element:n,name:i}=this.attribute,r=e_(n,i,t);super.update(r,e)}}class u_ extends o_{set(t,e){t.__setProperty("value",hm(e))}update(t){const e=this.attribute.element,n=e.value,i=hm(t);n!==i&&(e.value=i)}}class h_ extends o_{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 d_{constructor(t){this.node=t}firstNode(){return this.node}}class p_{constructor(t){this.node=t}lastNode(){return this.node}}class f_{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 g_(this.element))}pushResettableBlock(){return this.pushBlock(new y_(this.element))}pushBlockList(t){return this.pushBlock(new __(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 m_(t);return this.pushBlock(i,!0)}popRemoteElement(){const t=this.popBlock();return this.popElement(),t}pushElement(t,e=null){this.cursors.push(new nm(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 im(this.element,e,t.lastChild);return this.dom.insertBefore(this.element,t,this.nextSibling),n}{const t=this.__appendComment("");return new im(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 im(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=n_(this.constructing,t,i);return r.set(this,e,this.env),r}}class g_{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 d_(t)),this.last=new p_(t))}didAppendBounds(t){0===this.nesting&&(this.first||(this.first=t),this.last=t)}finalize(t){null===this.first&&t.appendComment("")}}class m_ extends g_{constructor(t){super(t),It(this,()=>{this.parentElement()===this.firstNode().parentNode&&sm(this)})}}class y_ extends g_{constructor(t){super(t)}reset(){At(this);let t=sm(this);return this.first=null,this.last=null,this.nesting=0,t}}class __{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 v_(t,e){return f_.forInitialRender(t,e)}class b_{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 C_(t,e))}throw(){this.frame.handleException(),this.frameStack.pop()}}class w_{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 x_ extends w_{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=f_.resume(n,e),r=t.evaluate(i),s=this.children=[],o=r.execute(t=>{t.updateWith(this),t.pushUpdating(s)});Mt(this,o.drop)}constructor(...t){super(...t),this.type="try"}}class S_ extends x_{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 E_ extends w_{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),Mt(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?rm(t,this.marker):(i=t.lastNode().nextSibling,r=n.firstNode(),i!==r&&rm(t,r)),t.index=s.length,s.push(t)}deleteItem(t){At(t),sm(t),this.opcodeMap.delete(t.key)}}class C_{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 k_{constructor(t,e,n,i){this.env=t,this.updating=e,this.bounds=n,this.drop=i,Mt(this,i),It(this,()=>sm(this.bounds))}rerender({alwaysRevalidate:t=!1}={alwaysRevalidate:!1}){let{env:e,updating:n}=this;new b_(e,{alwaysRevalidate:t}).execute(n,this)}parentElement(){return this.bounds.parentElement()}firstNode(){return this.bounds.firstNode()}lastNode(){return this.bounds.lastNode()}handleException(){}}class T_{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 R_{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 P_{#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=T_.restore(n,i);this.#y=s,this.context=r,this.#g=new R_(t,e),this.args=new Im,this.lowlevel=new Gy(o,r,void 0,o.registers),this.pushUpdating()}static initial(t,e){let n=em.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 P_(i,t,e.tree)}compile(t){return zg(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 M_(this.captureClosure(t,e),this.context)}beginCacheGroup(t){let e=this.updating(),n=new ym;e.push(n),e.push(new _m(t)),this.#g.cache.push(n),_e()}commitCacheGroup(){let t=this.updating(),e=this.#g.cache.pop(),n=ve();t.push(new vm(e)),e.finalize(n,t.length)}enter(t){let e=this.capture(t),n=this.tree().pushResettableBlock(),i=new x_(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 S_(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 E_(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=em.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){Mt(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 k_(e,this.popUpdating(),this.#y.popBlock(),this.#g.drop)}),t}}class M_{constructor(t,e){this.state=t,this.context=e}evaluate(t){return new P_(this.state,this.context,t)}}class I_{constructor(t){this.vm=t}next(){return this.vm.next()}sync(){return this.vm.execute()}}function O_(t,e,n,i,r,s=new tm){let o=zg(r.compile(t)),a=r.symbolTable.symbols.length,l=P_.initial(t,{scope:{self:n,size:a},dynamicScope:s,tree:i,handle:o,owner:e});return new I_(l)}function A_(t,e,n,i,r={},s=new tm){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 c=0;c<3*o.length;c++)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,h={handle:zg(u.compile(e)),symbolTable:u.symbolTable};return t.stack.push(t.args),t.stack.push(h),t.stack.push(l),new I_(t)}(P_.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]=Mn(e,n),t),{})}(r))}class F_ extends nm{constructor(t,e,n){super(t,e),this.startingBlockDepth=n,this.candidate=null,this.injectedOmittedNode=!1,this.openBlockDepth=n-1}}class L_ extends f_{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&&!N_(i);)i=i.nextSibling;this.candidate=i;const r=j_(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&&(!D_(n)||j_(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 F_(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&&!(D_(e)&&t>=z_(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;N_(n)&&z_(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,D_(n)&&z_(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&&D_(e)&&z_(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 im(this.element,t.nextSibling,n.previousSibling),r=this.remove(t);return this.remove(n),null!==r&&q_(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&&B_(t)){const e=t;let n=e.nextSibling;for(;!B_(n);)n=n.nextSibling;return new im(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||q_(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&&U_(e)&&function(t,e){return t.namespaceURI===Dg?t.tagName===e:t.tagName===e.toUpperCase()}(e,t))return this.unmatchedAttributes=[].slice.call(e.attributes),e;if(e){if(U_(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=$_(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=$_(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?jg(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 F_(t,null,this.blockDepth);this.cursors.push(r),null===i?this.disableRehydration(n):this.candidate=this.remove(i);const s=new m_(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 N_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%+b:",0)}function D_(t){return 8===t.nodeType&&0===t.nodeValue.lastIndexOf("%-b:",0)}function j_(t){return parseInt(t.nodeValue.slice(4),10)}function z_(t,e){return j_(t)-e}function U_(t){return 1===t.nodeType}function B_(t){return 8===t.nodeType&&"%glmr%"===t.nodeValue}function q_(t){return 8===t.nodeType&&"% %"===t.nodeValue}function $_(t,e){for(const n of t)if(n.name===e)return n}function G_(t,e){return L_.forInitialRender(t,e)}const V_=Object.freeze(Object.defineProperty({__proto__:null,ConcreteBounds:im,CurriedValue:Zg,CursorImpl:nm,DOMChanges:wy,DOMTreeConstruction:my,DynamicAttribute:r_,DynamicScopeImpl:tm,EMPTY_ARGS:Km,EMPTY_NAMED:Wm,EMPTY_POSITIONAL:Hm,EnvironmentImpl:ky,IDOMChanges:vy,LowLevelVM:Gy,NewTreeBuilder:f_,RehydrateTree:L_,RemoteBlock:m_,ResettableBlockImpl:y_,SERIALIZATION_FIRST_NODE_STRING:"%+b:0%",ScopeImpl:em,SimpleDynamicAttribute:s_,TEMPLATE_ONLY_COMPONENT_MANAGER:oy,TemplateOnlyComponent:ay,TemplateOnlyComponentManager:sy,UpdatingVM:b_,array:Iy,clear:sm,clientBuilder:v_,concat:Ay,createCapturedArgs:zm,curry:Qg,destroy:At,dynamicAttribute:n_,fn:Fy,get:Ly,hash:Ny,inTransaction:Ry,invokeHelper:function(t,e,n){const i=Xi(t),r=vi(e).getDelegateFor(i);let s,o=new jy(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)),Mt(t,s),oi(r)&&Mt(s,r.getDestroyable(a)),s},isDestroyed:Nt,isDestroying:Lt,isSerializationFirstNode:function(t){return"%+b:0%"===t.nodeValue},isWhitespace:function(t){return yy.test(t)},normalizeProperty:xy,on:$y,registerDestructor:It,rehydrationBuilder:G_,reifyArgs:function(t){return{named:Um(t.named),positional:Bm(t.positional)}},reifyNamed:Um,reifyPositional:Bm,renderComponent:A_,renderMain:O_,renderSync:function(t,e){let n;return Ry(t,()=>n=e.sync()),n},resetDebuggerCallback:function(){ny=ey},runtimeOptions:Ty,setDebuggerCallback:function(t){ny=t},templateOnlyComponent:ly},Symbol.toStringTag,{value:"Module"})),W_=$y,H_=Symbol("MUTABLE_CELL"),K_=Cg({id:"yTlmws8O",block:'[[[46,[30,0],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/root.hbs",isStrictMode:!0}),X_=Cg({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:()=>[W_],isStrictMode:!0});function Y_(){}class Z_{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)||Y_}isSupportedArgument(t){return!1}onUnsupportedArgument(t){}toString(){return`<${this.constructor}:${U(this)}>`}}const J_=new WeakMap;function Q_(t,e){let n={create(){throw void 0},toString:()=>t.toString()};return J_.set(n,t),bi(ev,n),Di(e,n),n}const tv={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},ev=new class{getCapabilities(){return tv}create(t,e,n,i,r,s){var o;let a=new(o=e,J_.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}},nv=Object.freeze({});function iv(t){return function(t){return t.target}(t).value}function rv(t){return void 0===t?new sv(void 0):kn(t)?new sv(Rn(t)):Tn(t)?new ov(t):new av(t)}class sv{static{Qh(this.prototype,"value",[ys])}#_=void nc(this,"value");constructor(t){this.value=t}get(){return this.value}set(t){this.value=t}}class ov{constructor(t){this.reference=t}get(){return Rn(this.reference)}set(t){Pn(this.reference,t)}}class av{local;upstream;lastUpstreamValue=nv;constructor(t){this.upstream=new ov(t)}get(){let t=this.upstream.get();return t!==this.lastUpstreamValue&&(this.lastUpstreamValue=t,this.local=new sv(t)),this.local.get()}set(t){this.local.set(t)}}class lv extends Z_{validateArguments(){super.validateArguments()}_value=rv(this.args.named.value);get value(){return this._value.get()}set value(t){this._value.set(t)}valueDidChange(t){this.value=iv(t)}static{ec(this.prototype,"valueDidChange",[ch])}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{ec(this.prototype,"keyUp",[ch])}listenerFor(t){let e=super.listenerFor(t);return this.isVirtualEventListener(t,e)?function(t){return e=>t(iv(e),e)}(e):e}isVirtualEventListener(t,e){return-1!==["enter","insert-newline","escape-press"].indexOf(t)}}let uv;if(e){const t=Object.create(null),e=document.createElement("input");t[""]=!1,t.text=!0,t.checkbox=!0,uv=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 uv=t=>""!==t;class hv extends lv{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":uv(t)?t:"text"}get isCheckbox(){return"checkbox"===this.named("type")}_checked=rv(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{ec(this.prototype,"change",[ch])}input(t){this.isCheckbox||super.input(t)}static{ec(this.prototype,"input",[ch])}checkedDidChange(t){let e=t.target;this.checked=e.checked}static{ec(this.prototype,"checkedDidChange",[ch])}isSupportedArgument(t){return-1!==["type","value","checked","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const cv=Q_(hv,X_),dv=Cg({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:()=>[W_],isStrictMode:!0}),pv=[],fv={};function gv(t){return null==t}function mv(t){return"object"==typeof t&&null!==t&&!0===t.isQueryParams}class yv extends Z_{static toString(){return"LinkTo"}static{Qh(this.prototype,"routing",[df("-routing")])}#v=void nc(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(!ph(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};Uh(0,0,()=>{a.transition=n.transitionTo(i,r,s,o)})}static{ec(this.prototype,"click",[ch])}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")]:pv}get query(){return"query"in this.args.named?{...this.named("query")}:fv}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 gv(this.route)||this.models.some(t=>gv(t))}get isDisabled(){return Boolean(this.named("disabled"))}get isEngine(){return void 0!==Uc(this.owner)}get engineMountPoint(){return this.owner.mountPoint}classFor(t){let e=this.named(`${t}Class`);return!0===e||gv(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!gv(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:_v}=yv,vv=(t,e)=>t?Object.getOwnPropertyDescriptor(t,e)||vv(Object.getPrototypeOf(t),e):null;{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"href"===e||t.call(this,e)}})}{let t=vv(_v,"models").get;Object.defineProperty(_v,"models",{configurable:!0,enumerable:!1,get:function(){let e=t.call(this);return e.length>0&&!("query"in this.args.named)&&mv(e[e.length-1])&&(e=e.slice(0,-1)),e}});let e=vv(_v,"query").get;Object.defineProperty(_v,"query",{configurable:!0,enumerable:!1,get:function(){if("query"in this.args.named){let t=e.call(this);return mv(t)?t.values??fv:t}{let e=t.call(this);if(e.length>0){let t=e[e.length-1];if(mv(t)&&null!==t.values)return t.values}return fv}}})}{let t=_v.onUnsupportedArgument;Object.defineProperty(_v,"onUnsupportedArgument",{configurable:!0,enumerable:!1,value:function(e){"params"!==e&&t.call(this,e)}})}const bv=Q_(yv,dv),wv=Cg({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:()=>[W_],isStrictMode:!0});class xv extends lv{static toString(){return"Textarea"}get class(){return"ember-text-area ember-view"}change(t){super.change(t)}static{ec(this.prototype,"change",[ch])}input(t){super.input(t)}static{ec(this.prototype,"input",[ch])}isSupportedArgument(t){return-1!==["type","value","enter","insert-newline","escape-press"].indexOf(t)||super.isSupportedArgument(t)}}const Sv=Q_(xv,wv);function Ev(t){if("error"===t.result)throw new Error(`Compile Error: ${t.problem} @ ${t.span.start}..${t.span.end}`);return t}function Cv(t,e){return"attrs"===e[0]&&(e.shift(),1===e.length)?Mn(t,e[0]):In(t,e)}function kv(t){let e=t.indexOf(":");return-1===e?[t,t,!0]:[t.substring(0,e),t.substring(e+1),!1]}function Tv(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?Cv(e,r.split(".")):Mn(e,r);i.setAttribute(s,a,!1,null)}function Rv(t,e){let n;return xn(()=>{let i=Rn(t);return!0===i?n||(n=of(e)):i||0===i?String(i):null})}function Pv(){}class Mv{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),It(this,()=>this.willDestroy(),!0),It(this,()=>this.component.destroy())}willDestroy(){let{component:t,isInteractive:e}=this;if(e){be(),t.trigger("willDestroyElement"),t.trigger("willClearRender"),we();let e=bh(t);e&&(Sh(e),Eh(t))}t.renderer.unregister(t)}finalize(){let{finalizer:t}=this;t(),this.finalizer=Pv}}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 Av(r,s):e[i]=s,n[i]=s}return n.attrs=e,n}const Ov=Symbol("REF");class Av{value;[H_];[Ov];constructor(t,e){this[H_]=!0,this[Ov]=t,this.value=e}update(t){Pn(this[Ov],t)}}const Fv=ut("ARGS"),Lv=ut("HAS_BLOCK"),Nv=Symbol("DIRTY_TAG"),Dv=Symbol("IS_DISPATCHING_ATTRS"),jv=Symbol("BOUNDS"),zv=gn("ember-view");class Uv{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 Ev(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 $v}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(()=>Bm(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?Cv(t,a):Mn(t,r);e=void 0===s?Rv(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",zv,!1,null),"ariaRole"in t&&s.setAttribute("role",Mn(i,"ariaRole"),!1,null),t._transitionTo("hasElement"),n&&(be(),t.trigger("willInsertElement"),we())}didRenderLayout(t,e){t.component[jv]=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=qh("render.component",qv,e),be(),null!==n&&!Jt(i,r)){_e();let r=Iv(n);i=t.argsTag=ve(),t.argsRevision=Zt(i),e[Dv]=!0,e.setProperties(r),e[Dv]=!1,e.trigger("didUpdateAttrs"),e.trigger("didReceiveAttrs")}s&&(e.trigger("willUpdate"),e.trigger("willRender")),we(),Se(i),Se(e[Nv])}didUpdateLayout(t){t.finalize()}didUpdate({component:t,isInteractive:e}){e&&(t.trigger("didUpdate"),t.trigger("didRender"))}getDestroyable(t){return t}}function Bv(t){return t.instrumentDetails({initialRender:!0})}function qv(t){return t.instrumentDetails({initialRender:!1})}const $v={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 Uv;function Vv(t){return t===Gv}let Wv=new WeakMap;const Hv=Object.freeze([]);class Kv extends(oc.extend(Dl,ac,{didReceiveAttrs(){},didRender(){},didUpdate(){},didUpdateAttrs(){},willRender(){},willUpdate(){}},{concatenatedProperties:["attributeBindings","classNames","classNameBindings"],classNames:Hv,classNameBindings:Hv})){isComponent=!0;init(t){super.init(t),this._superRerender=this.rerender,this.rerender=this._rerender,this[Dv]=!1,this[Nv]=ie(),this[jv]=null;const e=this._dispatcher;if(e){let t=Wv.get(e);t||(t=new WeakSet,Wv.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[Nv]),this._superRerender()}[$r](t,e){if(this[Dv])return;let n=this[Fv],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=bh(this),n="http://www.w3.org/2000/svg"===e.namespaceURI,{type:i,normalized:r}=xy(e,t);return n||"attr"===i?e.getAttribute(r):e[r]}get childViews(){return kh(this)}static{ec(this.prototype,"childViews",[ur({configurable:!1,enumerable:!1})])}appendChild(t){Th(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{ec(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"}}Kv.reopenClass({positionalParams:[]}),bi(Gv,Kv);const Xv=Symbol("RECOMPUTE_TAG"),Yv=Symbol("IS_CLASSIC_HELPER");class Zv extends Nh{static isHelperFactory=!0;static[Yv]=!0;static helper=nb;init(t){super.init(t),this[Xv]=ie()}recompute(){ea(()=>ee(this[Xv]))}}class Jv{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[Xv]),r}getDebugName(t){return B((t.class||t).prototype)}}Fi(t=>new Jv(t),Zv);const Qv=vi(Zv);class tb{isHelperFactory=!0;constructor(t){this.compute=t}create(){return{compute:this.compute}}}const eb=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 nb(t){return new tb(t)}function ib(t){return{object:`${t.name}:main`}}Fi(()=>eb,tb.prototype);const rb={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},sb=ti(rb),ob=new class{create(t,e,n,i,r){let s=r.get("outletState"),o=e.ref;r.set("outletState",o);let a={finalize:qh("render.outlet",ib,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:Km,instance:void 0,template:void 0}),e.engine&&n.push({bucket:e.engine,type:"engine",name:e.engine.mountPoint,args:Km,instance:e.engine.instance,template:void 0}),n}getCapabilities(){return rb}getSelf(){return mn}didCreate(){}didUpdate(){}didRenderLayout(t){t.finalize()}didUpdateLayout(){}getDestroyable(){return null}},ab=Cg({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 lb{handle=-1;resolvedName=null;manager=ob;capabilities=sb;compilable;constructor(t,e){this.state=e,this.compilable=Ev(ab(t)).asLayout()}}class ub extends Uv{component;constructor(t){super(),this.component=t}create(t,e,n,{isInteractive:i},r){let s=this.component,o=qh("render.component",Bv,s);r.view=s;let a=""!==s.tagName;a||(i&&s.trigger("willRender"),s._transitionTo("hasElement"),i&&s.trigger("willInsertElement"));let l=new Mv(s,null,se,o,a,i);return Se(s[Nv]),l}}const hb={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(hb);compilable=null;constructor(t){this.manager=new ub(t);let e=nl(t);this.state=e}}function db(t){return yi(t,{})}class pb{constructor(t){this.inner=t}}const fb=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return Se(er(t)),Bi(t)&&(t=Il(t)),new pb(t)})});class gb{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 mb extends gb{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 yb extends gb{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 _b extends gb{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 mb(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 vb{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 bb extends vb{valueFor(t){return t.value}memoFor(t,e){return e}}class wb extends vb{valueFor(t){return t.value[1]}memoFor(t){return t.value[0]}}function xb(t){return null!=t&&"function"==typeof t.forEach}function Sb(t){return null!=t&&"function"==typeof t[Symbol.iterator]}var Eb;Eb={scheduleRevalidate(){Qo.ensureInstance()},toBool:function(t){return Bi(t)?(Se(tr(t,"content")),Boolean(us(t,"isTruthy"))):kc(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 pb?function(t){return function(t){return null!==t&&("object"==typeof t||"function"==typeof t)}(t)?Array.isArray(t)||Gi(t)?_b.fromIndexable(t):Sb(t)?wb.from(t):xb(t)?_b.fromForEachable(t):_b.fromIndexable(t):null}(t.inner):function(t){return O(t)?Array.isArray(t)?mb.from(t):Gi(t)?yb.from(t):Sb(t)?bb.from(t):xb(t)?mb.fromForEachable(t):null:null}(t)},getProp:hs,setProp:ws,getPath:us,setPath:bs,scheduleDestroy(t,e){ia("actions",null,e,t)},scheduleDestroyed(t){ia("destroy",null,t)}},Et=Eb.scheduleRevalidate,ft=Eb.scheduleDestroy,gt=Eb.scheduleDestroyed,mt=Eb.toIterator,yt=Eb.toBool,_t=Eb.getProp,vt=Eb.setProp,bt=Eb.getPath,wt=Eb.setPath;class Cb{enableDebugTooling=g._DEBUG_RENDER_TREE;constructor(t,e){this.owner=t,this.isInteractive=e}onTransactionCommit(){}}const kb=db(({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 Tb;Tb=t=>t.positional[0];const Rb=db(Tb),Pb=db(({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?of(r):s||0===s?String(s):""})),Mb=db(({positional:t},e)=>{let n=Rn(t[0]);return bn(e.factoryFor(n)?.class)}),Ib=db(({positional:t})=>{const e=t[0];return xn(()=>{let t=Rn(e);return O(t)&&Se(tr(t,"[]")),t})}),Ob=db(({positional:t})=>Cn(t[0])),Ab=db(({positional:t})=>Sn(t[0])),Fb=db(({positional:t,named:e})=>wn(Rn(t[0]))),Lb=db(()=>bn(([3e7]+-1e3+-4e3+-2e3+-1e11).replace(/[0-3]/g,t=>(4*t^16*Math.random()>>(2&t)).toString(16)))),Nb={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},Db=new class{getDynamicLayout(t){return Ev(t.engine.lookup("template:application")(t.engine)).asLayout()}getCapabilities(){return Nb}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")||Ud(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&&Mt(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 jb{handle=-1;state;manager=Db;compilable=null;capabilities=ti(Nb);constructor(t){this.resolvedName=t,this.state={name:t}}}const zb=db((t,e)=>{let n,i,r,s=t.positional[0];return n=zm(t.named,Hm),xn(()=>{let t=Rn(s);return"string"==typeof t?(i===t||(i=t,r=Qg(0,new jb(t),e,n,!0)),r):(r=null,i=null,null)})}),Ub={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},Bb=ti(Ub),qb=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 Ub}didRenderLayout(){}didUpdateLayout(){}didCreate(){}didUpdate(){}getDestroyable(){return null}};class $b{handle=-1;resolvedName;state;manager=qb;capabilities=Bb;compilable;constructor(t,e){let n=Ev(e);this.resolvedName=t,this.state={name:t,templateName:n.moduleName},this.compilable=n.asLayout()}}function Gb(t,e,n){return Qg(0,new $b(e,n),t,null,!0)}const Vb=db((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 h=In(i,["render","model"]),c=Rn(h);l.model=xn(()=>(r===n&&(c=Rn(h)),c));let d=zm(l,Hm);s=Qg(0,new lb(e,n),a,d,!0)}else s=null;return s})});function Wb(t){return{object:`component:${t}`}}const Hb={mut:Ob,readonly:Ab,unbound:Fb,"-hash":Ny,"-each-in":fb,"-normalize-class":Pb,"-resolve":Mb,"-track-array":Ib,"-mount":zb,"-outlet":Vb,"-in-el-null":Rb},Kb={...Hb,array:Iy,concat:Ay,fn:Fy,get:Ly,hash:Ny,"unique-id":Lb};Kb["-disallow-dynamic-resolution"]=kb;const Xb={},Yb={...Xb,on:$y};class Zb{componentDefinitionCache=new Map;lookupPartial(){return null}lookupHelper(t,e){let n=Kb[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[Yv]?(yi(Qv,i),i):r}lookupBuiltInHelper(t){return Hb[t]??null}lookupModifier(t,e){let n=Yb[t];if(void 0!==n)return n;let i=e.factoryFor(`modifier:${t}`);return void 0===i?null:i.class||null}lookupBuiltInModifier(t){return Xb[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=ji(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=qh("render.getComponentDefinition",Wb,t),a=null;if(null===n.component)a={state:ly(void 0,t),manager:oy,template:r};else{let t=n.component,e=t.class,i=wi(e);a={state:Vv(i)?t:e,manager:i,template:r}}return o(),this.componentDefinitionCache.set(i,a),a}}const Jb="-top-level";class Qb{static extend(t){return class extends Qb{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 Qb(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:Jb,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:Jb,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 tw{constructor(t,e){this.view=t,this.outletState=e}child(){return new tw(this.view,this.outletState)}get(t){return this.outletState}set(t,e){return this.outletState=e,e}}const ew=()=>{};class nw{type="component";#b;#w;constructor(t,e,n){this.#w=()=>{let i=A_(t.context,t.builder(t.env,n.into),t.owner,e,n?.args),r=this.#b=i.sync();Mt(this,this.#b),this.#w=()=>{if(!Lt(r)&&!Nt(r))return r.rerender({alwaysRevalidate:!1})}}}isFor(t){return!1}render(){this.#w()}destroy(){At(this)}get destroyed(){return Nt(this)}get result(){return this.#b}}class iw{type="classic";id;result;destroyed;render;env;constructor(t,e,n,i,r,s,o,a){this.root=t,this.id=t instanceof Qb?U(t):mh(t),this.result=void 0,this.destroyed=!1,this.env=e.env,this.render=()=>{let t=Ev(i).asLayout(),l=O_(e,n,r,a(e.env,{element:s,nextSibling:null}),t,o),u=this.result=l.sync();Mt(n,u),this.render=()=>{if(!Lt(u)&&!Nt(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&&Ry(e,()=>At(t))}}const rw=[];function sw(t){let e=rw.indexOf(t);rw.splice(e,1)}let ow=null,aw=0;Qo.on("begin",function(){for(let t of rw)t.rerender()}),Qo.on("end",function(){for(let t of rw)if(!t.isValid()){if(aw>g._RERENDER_LOOP_LIMIT)throw aw=0,t.destroy(),new Error("infinite rendering invalidation detected");return aw++,Qo.join(null,ew)}aw=0,function(){if(null!==ow){let t=ow.resolve;ow=null,Qo.join(null,t)}}()});class lw{static create(t,e){const n=new lw(t,e);return Mt(e,n),n}#x;#S=-1;#E=!1;#C=!1;#k=[];#T=[];constructor(t,e){this.#x=t,It(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),Mt(this,t),1===n.length&&function(t){rw.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(he)),this.#E=!1}}renderRoots(t){let e,n=this.#k,i=this.#T;do{e=n.length,Ry(this.context.env,()=>{for(let t=0;t=e||r.render()}this.#S=Zt(he)})}while(n.length>e);for(;i.length;){let t=i.pop(),e=n.indexOf(t);n.splice(e,1)}0===this.#k.length&&sw(t)}scheduleRevalidate(t){Qo.scheduleOnce("render",this,this.revalidate,t)}isValid(){return this.#C||0===this.#k.length||Jt(he,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&&sw(t)}}class uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}state;constructor(t,e,n,i,r){let s={constants:new Og,heap:new Fg},o=Ty({document:n},new Cb(t,e.isInteractive),s,i),a=new wg(s,t=>new Ag(t),o);this.state=lw.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 nw(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 hw extends uw{static strict(t,n,i){return new uw(t,{hasDOM:e,...i},n,new Zb,v_)}_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(ul`template:-root`),o=n.lookup("service:-dom-builder");return new this(n,i,r,s,e,o)}constructor(t,e,n,i,r,s=v_,o=new Zb){super(t,n,e,o,s),this._rootTemplate=i(t),this._viewRegistry=r||t.lookup("-view-registry:main")}appendOutletView(t,e){let n=new lb((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=zm(o,Hm);this._appendDefinition(t,Qg(0,n,t.owner,a,!0),e)}appendTo(t,e){let n=new cb(t);this._appendDefinition(t,Qg(0,n,this.state.owner,null,!0),e)}_appendDefinition(t,e,n){let i=bn(e),r=new tw(null,mn),s=new iw(t,this.state.context,this.state.owner,this._rootTemplate,i,n,r,this.state.builder);this.state.renderRoot(s,this)}cleanupRootFor(t){if(Nt(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=mh(t);this._viewRegistry[e]=t}unregister(t){delete this._viewRegistry[mh(t)]}getElement(t){if(this._isInteractive)return bh(t);throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")}getBounds(t){let e=t[jv];return{parentElement:e.parentElement(),firstNode:e.firstNode(),lastNode:e.lastNode()}}}const cw=Cg({id:"tiXbzL5t",block:'[[[46,[28,[32,0],null,null],null,null,null]],[],["component"]]',moduleName:"packages/@ember/-internals/glimmer/lib/templates/outlet.hbs",scope:()=>[Vb],isStrictMode:!0});class dw extends Bc{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 pw(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===ow&&(ow=Vu.defer(),Yo()||Qo.schedule("actions",null,ew)),ow.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 pw?e:new pw(e);t.register("-environment:main",n.toEnvironment(),{instantiate:!1}),t.register("service:-document",n.document,{instantiate:!1}),super.setupRegistry(t,n)}}class pw{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 fw extends lh{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()}}fw.prototype.isNamespace=!0;const gw=Object.freeze(Object.defineProperty({__proto__:null,default:fw},Symbol.toStringTag,{value:"Module"}));var mw=function(){function t(){this._vertices=new yw}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"===hc(t[e])&&n.push(of(e.replace(i,"")))}),n}}class bw extends lh{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 ww=new WeakMap;class xw extends f_{__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 im(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 ww.has(this.element)&&(ww.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"),ww.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 Sw(t,e){return xw.forInitialRender(t,e)}function Ew(t){t.register("service:-dom-builder",{create(t){switch(Yi(t).lookup("-environment:main")._renderMode){case"serialize":return Sw.bind(null);case"rehydrate":return G_.bind(null);default:return v_.bind(null)}}}),t.register(ul`template:-root`,K_),t.register("renderer:-dom",hw)}class Cw extends(fw.extend(kl)){static initializers=Object.create(null);static instanceInitializers=Object.create(null);static initializer=Tw("initializers");static instanceInitializer=Tw("instanceInitializers");static buildRegistry(t){let e=new ol({resolver:kw(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",Dc,{instantiate:!1}),t.register("service:-routing",_f),t.register("resolver-for-debugging:main",t.resolver,{instantiate:!1}),t.register("container-debug-adapter:main",vw),t.register("component-lookup:main",bw)}(e),function(t){t.optionsForType("template",{instantiate:!1}),t.register("view:-outlet",Qb),t.register("template:-outlet",cw),t.optionsForType("helper",{instantiate:!1}),t.register("component:input",cv),t.register("component:link-to",bv),t.register("component:textarea",Sv)}(e),e}init(t){super.init(t),this.buildRegistry()}_initializersRan=!1;ensureInitializers(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)}buildInstance(t={}){return this.ensureInitializers(),Bc.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 mw;for(let o of r)n=i[o],s.add(n.name,n,n.before,n.after);s.topsort(e)}}function kw(t){let e={namespace:t};return t.Resolver.create(e)}function Tw(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 Rw=qa,Pw=Zi;class Mw extends Cw{static buildRegistry(t){let e=super.buildRegistry(t);return function(t){t.register("router:main",Ap),t.register("-view-registry:main",{create:()=>Ga(null)}),t.register("route:basic",Jd),t.register("event_dispatcher:main",Ah),t.register("location:hash",Vp),t.register("location:history",Kp),t.register("location:none",Xp),t.register(ul`-bucket-cache:main`,{create:()=>new sp}),t.register("service:router",yf)}(e),Ew(e),e}static initializer=Tw("initializers");static instanceInitializer=Tw("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 dw.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||Ap).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=Wu.defer();this._bootPromise=t.promise;try{this.runInitializers(),Ka("application",this),this.advanceReadiness()}catch(pD){throw t.reject(pD),pD}}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(pD){throw this._bootResolver.reject(pD),pD}}ready(){return this}willDestroy(){super.willDestroy(),Ha.application===this&&(Ha.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:Ha,default:Mw,getOwner:Rw,onLoad:function(t,e){let n=Wa[t];(Va[t]??=[]).push(e),n&&e(n)},runLoadHooks:Ka,setOwner:Pw},Symbol.toStringTag,{value:"Module"})),Ow=Object.assign({},{});function Aw(){return Fw.global}const Fw={packages:{},global:{}};let Lw="undefined"!=typeof window?window._embroider_macros_runtime_config:void 0;if(Lw){let t={config:function(t){return Fw.packages[t]},getGlobalConfig:Aw,setConfig(t,e){Fw.packages[t]=e},setGlobalConfig(t,e){Fw.global[t]=e}};for(let e of Lw)e(t)}const Nw={modulePrefix:"marco",environment:"production",rootURL:"/",locationType:"history",EmberENV:{},APP:{}},Dw=Object.freeze(Object.defineProperty({__proto__:null,default:Nw,enterTestMode:function(){Nw.locationType="none",Nw.APP.rootElement="#ember-testing",Nw.APP.autoboot=!1;const t=Aw()["@embroider/macros"];t&&(t.isTesting=!0)}},Symbol.toStringTag,{value:"Module"}));var jw;jw={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:jw,...t});const zw=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));let Uw;!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)}(),Uw=Ap;var Bw=Uw;class qw extends Bw{location=Nw.locationType;rootURL=Nw.rootURL}qw.map(function(){this.route("place",{path:"/place/:place_id"})});const $w=Object.freeze(Object.defineProperty({__proto__:null,default:qw},Symbol.toStringTag,{value:"Module"})),Gw=Object.freeze(Object.defineProperty({__proto__:null,default:class extends pf{controller=null;async getNearbyPois(t,e,n=50){this.controller&&this.controller.abort(),this.controller=new AbortController;const i=this.controller.signal,r=`\n[out:json][timeout:25];\n(\n nw["amenity"](around:${n},${t},${e});\n nw["shop"](around:${n},${t},${e});\n nw["tourism"](around:${n},${t},${e});\n nw["leisure"](around:${n},${t},${e});\n nw["historic"](around:${n},${t},${e});\n);\nout center;\n `.trim(),s=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(r)}`;try{const t=await this.fetchWithRetry(s,{signal:i});if(!t.ok)throw new Error("Overpass request failed");return(await t.json()).elements.map(this.normalizePoi)}catch(o){if("AbortError"===o.name)return console.log("Overpass request aborted"),[];throw o}}normalizePoi(t){return{title:t.tags?.name||t.tags?.["name:en"]||"Untitled Place",lat:t.lat||t.center?.lat,lon:t.lon||t.center?.lon,url:t.tags?.website,osmId:String(t.id),osmType:t.type,osmTags:t.tags||{},description:t.tags?.description}}async fetchWithRetry(t,e={},n=3){try{const i=await fetch(t,e);return!i.ok&&n>0&&[502,503,504,429].includes(i.status)?(console.log(`Overpass request failed with ${i.status}. Retrying... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1)):i}catch(i){if(n>0&&"AbortError"!==i.name)return console.log(`Retrying Overpass request... (${n} left)`),await new Promise(t=>setTimeout(t,1e3)),this.fetchWithRetry(t,e,n-1);throw i}}async getPoiById(t,e=null){let n;n="node"===e?`[out:json][timeout:25];node(${t});out center;`:"way"===e?`[out:json][timeout:25];way(${t});out center;`:`\n[out:json][timeout:25];\n(\n node(${t});\n way(${t});\n);\nout center;\n `.trim();const i=`https://overpass-api.de/api/interpreter?data=${encodeURIComponent(n)}`,r=await this.fetchWithRetry(i);if(!r.ok)throw new Error("Overpass request failed");const s=await r.json();return s.elements[0]?this.normalizePoi(s.elements[0]):null}}},Symbol.toStringTag,{value:"Module"}));function Vw(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ww,Hw={exports:{}},Kw=(Ww||(Ww=1,Hw.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 h(t){const e=t||c.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 c{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?c.openWindow(n,e.redirectUri,"location=yes,clearsessioncache=yes,clearcache=yes").then(e=>{t.remote.configure({token:e.access_token})}):c.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=c,c.IMPLIED_FAKE_TOKEN=!1,c.getLocation=function(){return document.location},c.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=h(t.url);n?i(n):r("Authorization error")}),s.addEventListener("exit",o)):r("Authorization popup was blocked")})},c._rs_init=function(t){const e=h();let n;e&&(n=c.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=c.getLocation(),c.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=c.getLocation();let h=n.origin;"/"!==n.pathname&&(h+=n.pathname);const d=new URLSearchParams({code:e,grant_type:"authorization_code",client_id:t.remote.clientId,redirect_uri:h,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=c},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)),h=n(746);class c{constructor(t,e){if(this.schemas={configurable:!0,get(){return c.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 c(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,h.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,h.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,h.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);c.Types.declare(this.moduleName,t,i,n)}validate(t){const e=c.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"]=c.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=c,c.Types=o.default,(0,h.applyMixins)(c,[l.default]),e.default=c},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=h(i[t]);return c(i,e)?n(t):r?{statusCode:200,body:r.body||r.itemsMap,contentType:r.contentType}:{statusCode:404}}):this.getNodes([t]).then(e=>{const n=h(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=h(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=h(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:h,makeNode:d,isOutdated:c}}}(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 h={};const c=function(t){return new Promise((e,n)=>{if(t in h)return e(h[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"],c=s.properties["http://remotestorage.io/spec/version"]||s.type;return h[t]={href:s.href,storageApi:c,authURL:a,properties:s.properties},l&&localStorage.setItem(u,JSON.stringify({cache:h})),e(h[t])})})};(c.DiscoveryError=function(t){this.name="DiscoveryError",this.message=t,this.stack=(new Error).stack}).prototype=Object.create(Error.prototype),c.DiscoveryError.prototype.constructor=c.DiscoveryError,c._rs_init=function(){if(l=(0,a.localStorageAvailable)(),l){const t=JSON.parse(localStorage.getItem(u));t&&(h=t.cache)}},c._rs_supported=function(){return Object.prototype.hasOwnProperty.call(a.globalContext,"fetch")||Object.prototype.hasOwnProperty.call(a.globalContext,"XMLHttpRequest")},c._rs_cleanup=function(){l&&localStorage.removeItem(u)},t.exports=c},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)),h=n(746),c=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,c.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,h.localStorageAvailable)(),f){const t=(0,h.getJSONFromLocalStorage)(g);t&&this.configure(t),this._itemRefs=(0,h.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,h.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,h.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,h.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,h.isFolder)(e)});try{const r=yield(0,c.requestWithTimeout)(t,e,n);return this.online||(this.online=!0,this.rs._emit("network-online")),this.rs._emit("wire-done",{method:t,isFolder:(0,h.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,h.isFolder)(e)}),yield p.default.refreshAccessToken(this.rs,this,this.refreshToken),this.rs._emit("wire-done",{method:t,isFolder:(0,h.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,c.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,h.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,h.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,h.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)),h=i(n(275)),c=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:c.default,Authorize:h.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)(h);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(h,JSON.stringify({userAddress:this.userAddress,token:this.token}))},n=function(){this.connected=!1,delete this.token,d&&localStorage.removeItem(h)};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===c?(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:c,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 h;class c extends o.default{constructor(t){super(),this.addEvents(["change","local-events-done"]),this.db=t||h,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(),c.clean(e,()=>{c.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 c.clean(t,function(){c.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),c.clean(t,function(){c.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)=>{c.open(u,function(i,r){i?n(i):(h=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 c&&t.local.closeDB(),c.clean(u,e)})}diffHandler(){}}(0,l.applyMixins)(c,[s.default]),t.exports=c},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=c.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]),c.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:c.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 h.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={},h=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([h,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),h=new XMLHttpRequest;if(h.open(t,n,!0),r.responseType&&(h.responseType=r.responseType),r.headers)for(const t in r.headers)h.setRequestHeader(t,r.headers[t]);h.onload=()=>{l||(clearTimeout(u),i(h))},h.onerror=t=>{l||(clearTimeout(u),a(t))};let c=r.body;"object"==typeof c&&!(0,e.isArrayBufferView)(c)&&c instanceof ArrayBuffer&&(c=new Uint8Array(c)),h.send(c)})})}(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)),h=r(n(982)),c=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 h=yield this.markRemoteDeletions(Object.keys(o),n);h&&(yield this.rs.local.setNodes(this.flush(h)))})}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 h,c=a[t];function p(t){if(t&&t.itemsMap)for(h in t.itemsMap)e[h]||(u[h]=!0)}if("object"==typeof c&&c.path===t&&"object"==typeof c.common||(c={path:t,common:{}},a[t]=c),c.remote={revision:r,timestamp:this.now()},(0,d.isFolder)(t))for(h in p(c.common),p(c.remote),c.remote.itemsMap={},e)c.remote.itemsMap[h]=!0;else c.remote.body=e,c.remote.contentType=n,l&&l.local&&l.local.itemsMap&&(h=t.substring(s.length),!1!==e?l.local.itemsMap[h]=!0:l.local.itemsMap[h]&&delete l.local.itemsMap[h],(0,d.equal)(l.local.itemsMap,l.common.itemsMap)&&delete l.local);return a[t]=this.autoMerge(c),{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 c.default:i.networkProblems?new h.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),h=n(368),c=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 c.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,c,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,h.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=c?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=c?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,h.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+=h.suffices["*"]&&n||",",h.suffices["*"]&&l&&(e+=h.name+"=")),e+=a?encodeURIComponent(c[p]).replace(/!/g,"%21"):o(c[p])}else if("object"==typeof c){l&&!h.suffices["*"]&&(e+=h.name+"=");var f=!0;for(var g in c)f||(e+=h.suffices["*"]&&n||","),f=!1,e+=a?encodeURIComponent(g).replace(/!/g,"%21"):o(g),e+=h.suffices["*"]?"=":",",e+=a?encodeURIComponent(c[g]).replace(/!/g,"%21"):o(c[g])}else l&&(e+=h.name,u&&""===c||(e+="=")),null!=h.truncate&&(c=c.substring(0,h.truncate)),e+=a?encodeURIComponent(c).replace(/!/g,"%21"):o(c)}return e};return b.varNames=h,{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],h=o.substring(u.length+1),c=a(u);r.push(c.substitution),i.push(c.prefix),n.push(h),s=s.concat(c.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 h=t[this.validatedSchemasKey].indexOf(e);if(-1!==h)return this.errors=this.errors.concat(t[this.validationErrorsKey][h]),null}if(Object.isFrozen(t)&&-1!==(o=this.scannedFrozen.indexOf(t))){var c=this.scannedFrozenSchemas[o].indexOf(e);if(-1!==c)return this.errors=this.errors.concat(this.scannedFrozenValidationErrors[o][c]),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=c&&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 h=JSON.parse(e).properties;for(var c in h)h.hasOwnProperty(c)&&"http://packetizer.com/ns/name"===c&&(u.idx.properties.name=h[c]);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}()),Hw.exports); +/*! For license information please see remotestorage.js.LICENSE.txt */const Xw=Vw(Kw),Yw="0123456789bcdefghjkmnpqrstuvwxyz";let Zw=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,h=-180,c=180;for(;a.length=t?(r=2*r+1,h=t):(r*=2,c=t)}else{const t=(l+u)/2;e>=t?(r=2*r+1,l=t):(r*=2,u=t)}o=!o,5==++s&&(a+=Yw.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+Yw.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 Jw="0123456789ABCDEFGHJKMNPQRSTVWXYZ",Qw=0xffffffffffff;var tx;!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"}(tx||(tx={}));class ex extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function nx(t){const e=Math.floor(32*t())%32;return Jw.charAt(e)}const ix={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"},osmType:{type:"string"},osmTags:{type:"object"},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 ex(tx.PRNGDetectFailure,"Failed to find a reliable PRNG")}();return function(t,e=10){if(isNaN(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be a number: ${t}`);if(t>Qw)throw new ex(tx.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${Qw}: ${t}`);if(t<0)throw new ex(tx.EncodeTimeNegative,`Time must be positive: ${t}`);if(!1===Number.isInteger(t))throw new ex(tx.EncodeTimeValueMalformed,`Time must be an integer: ${t}`);let n,i="";for(let r=e;r>0;r--)n=t%32,i=Jw.charAt(n)+i,t=(t-n)/32;return i}(Date.now(),10)+function(t,e){let n="";for(;t>0;t--)n=nx(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||Zw.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}}},rx="0123456789bcdefghjkmnpqrstuvwxyz";class sx{static encode(t,e,n){if(void 0===n){for(let n=1;n<=12;n++){const i=sx.encode(t,e,n),r=sx.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,h=180;for(;o.length=t?(i=2*i+1,u=t):(i*=2,h=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 hx(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 cx(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 pf{rs;static{ux(this.prototype,"savedPlaces",[ys],function(){return[]})}#P=void cx(this,"savedPlaces");static{ux(this.prototype,"loadedPrefixes",[ys],function(){return[]})}#M=void cx(this,"loadedPrefixes");static{ux(this.prototype,"currentBbox",[ys],function(){return null})}#I=void cx(this,"currentBbox");static{ux(this.prototype,"version",[ys],function(){return 0})}#O=void cx(this,"version");constructor(){super(...arguments),console.log("ohai"),this.rs=new Xw({modules:[ix]}),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",()=>{aa(this,this.reloadCurrentView,200)})}get places(){return this.rs.places}notifyChange(){this.version++,aa(this,this.reloadCurrentView,200)}reloadCurrentView(){if(!this.currentBbox)return;const t=ox(this.currentBbox);console.log("Reloading view due to changes, prefixes:",t),this.loadAllPlaces(t)}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.places.getPlaces(t);if(e&&Array.isArray(e))if(t){const n=new Set(t),i=this.savedPlaces.filter(t=>{if(!t.lat||!t.lon)return!1;try{const e=sx.encode(t.lat,t.lon,4);return!n.has(e)}catch(e){return!0}});this.savedPlaces=[...i,...e]}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=df("router"),bx=df("-document"),wx=class extends pf{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 Nx(t),Dx);const jx=Object.freeze(Object.defineProperty({__proto__:null,default:Dx},Symbol.toStringTag,{value:"Module"}));var zx,Ux,Bx;let qx=(zx=df("page-title"),Bx=_x((Ux=class extends Zv{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",[zx],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ux);const $x=Ai;class Gx{capabilities=Mi();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)}}$x(t=>new Gx(t),class{constructor(t,e){Pw(this,t)}modify(t,e,n){}});const Vx=new class{capabilities=Mi();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,$x(()=>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 GS="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 hE(t,e){return Math.floor(uE(t,e))}function cE(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 ME(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 ME(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=GE(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=GE(i);if(GE(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=GE(e.getExtent()),i=function(t,e,n){const i=e.getExtent();let r=0;return e.canWrapX()&&(t[0]i[2])&&(n=n||GE(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}const iC=6371008.8;function rC(t,e,n){n=n||iC;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 sC(t,e,n,i){i=i||iC;const r=oE(t[1]),s=oE(t[0]),o=e/i,a=Math.asin(Math.sin(r)*Math.cos(o)+Math.cos(r)*Math.sin(o)*Math.cos(n));return[sE(s+Math.atan2(Math.sin(n)*Math.sin(o)*Math.cos(r),Math.cos(o)-Math.sin(r)*Math.sin(a))),sE(a)]}function oC(...t){console.warn(...t)}const aC={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937};class lC{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_||aC[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 uC=6378137,hC=Math.PI*uC,cC=[-hC,-hC,hC,hC],dC=[-180,-85,180,85],pC=uC*Math.log(Math.tan(Math.PI/2));class fC extends lC{constructor(t){super({code:t,units:"m",extent:cC,global:!0,worldExtent:dC,getPointResolution:function(t,e){return t/Math.cosh(e[1]/uC)}})}}const gC=[new fC("EPSG:3857"),new fC("EPSG:102100"),new fC("EPSG:102113"),new fC("EPSG:900913"),new fC("http://www.opengis.net/def/crs/EPSG/0/3857"),new fC("http://www.opengis.net/gml/srs/epsg.xml#3857")],mC=[-180,-90,180,90],yC=6378137*Math.PI/180;class _C extends lC{constructor(t,e){super({code:t,units:"degrees",extent:mC,axisOrientation:e,global:!0,metersPerUnit:yC,worldExtent:mC})}}const vC=[new _C("CRS:84"),new _C("EPSG:4326","neu"),new _C("urn:ogc:def:crs:OGC:1.3:CRS84"),new _C("urn:ogc:def:crs:OGC:2:84"),new _C("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new _C("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new _C("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let bC={},wC={};function xC(t,e,n){const i=t.getCode(),r=e.getCode();i in wC||(wC[i]={}),wC[i][r]=n}function SC(t,e){return t in wC&&e in wC[t]?wC[t][e]:null}const EC=.9996,CC=.00669438,kC=CC*CC,TC=kC*CC,RC=CC/(1-CC),PC=Math.sqrt(1-CC),MC=(1-PC)/(1+PC),IC=MC*MC,OC=IC*MC,AC=OC*MC,FC=AC*MC,LC=.9983242984503243,NC=15*kC/256+45*TC/1024,DC=35*TC/3072,jC=1.5*MC-27/32*OC+269/512*FC,zC=21/16*IC-55/32*AC,UC=151/96*OC-417/128*FC,BC=1097/512*AC,qC=6378137;function $C(t,e,n){const i=t-5e5,r=(n.north?e:e-1e7)/EC/(qC*LC),s=r+jC*Math.sin(2*r)+zC*Math.sin(4*r)+UC*Math.sin(6*r)+BC*Math.sin(8*r),o=Math.sin(s),a=o*o,l=Math.cos(s),u=o/l,h=u*u,c=h*h,d=1-CC*a,p=Math.sqrt(1-CC*a),f=RC*l**2,g=f*f,m=i/(qC/p*EC),y=m*m,_=y*m,v=_*m,b=v*m,w=s-u/((1-CC)/d)*(y/2-v/24*(5+3*h+10*f-4*g-9*RC))+b*m/720*(61+90*h+298*f+45*c-252*RC-3*g);let x=(m-_/6*(1+2*h+f)+b/120*(5-2*f+28*h-3*g+8*RC+24*c))/l;return x=dE(x+oE(VC(n.number)),-Math.PI,Math.PI),[sE(x),sE(w)]}function GC(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),h=oE(VC(n.number)),c=qC/Math.sqrt(1-CC*r**2),d=RC*s**2,p=s*dE(u-h,-Math.PI,Math.PI),f=p*p,g=f*p,m=g*p,y=m*p,_=y*p,v=qC*(LC*i-.002514607064228144*Math.sin(2*i)+NC*Math.sin(4*i)-DC*Math.sin(6*i)),b=EC*c*(p+g/6*(1-a+d)+y/120*(5-18*a+l+72*d-58*RC))+5e5;let w=EC*(v+c*o*(f/2+m/24*(5-a+9*d+4*d**2)+_/720*(61-58*a+l+600*d-330*RC)));return n.north||(w+=1e7),[b,w]}function VC(t){return 6*(t-1)-180+3}const WC=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function HC(t){let e=0;for(const r of WC){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 KC(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 lk(t,e){if(t===e)return!0;const n=t.getUnits()===e.getUnits();return(t.getCode()===e.getCode()||uk(t,e)===QC)&&n}function uk(t,e){const n=t.getCode(),i=e.getCode();let r=SC(n,i);if(r)return r;let s=null,o=null;for(const l of XC)s||(s=l(t)),o||(o=l(e));if(!s&&!o)return null;const a="EPSG:4326";if(o)if(s)r=hk(s.inverse,o.forward);else{const t=SC(n,a);t&&(r=hk(t,o.forward))}else{const t=SC(a,i);t&&(r=hk(s.inverse,t))}return r&&(ek(t),ek(e),xC(t,e,r)),r}function hk(t,e){return function(n,i,r,s){return i=t(n,i,r,s),e(i,i,r,s)}}function ck(t,e){return uk(nk(t),nk(e))}function dk(t,e,n){const i=ck(e,n);if(!i){const t=nk(e).getCode(),i=nk(n).getCode();throw new Error(`No transform available between ${t} and ${i}`)}return i(t,void 0,t.length)}function pk(t,e,n,i){return HE(t,ck(e,n),void 0,i)}function fk(t){return t}function gk(t){return ZC&&!YE(t,[0,0])&&t[0]>=-180&&t[0]<=180&&t[1]>=-90&&t[1]<=90&&(ZC=!1,oC("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),t}function mk(t){return t}var yk,_k,vk;rk(gC),rk(vC),yk=gC,_k=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;spC?n=pC:n<-pC&&(n=-pC),e[s+1]=n}return e},vk=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,Ak,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=nk(t),i="tile-pixels"==n.getUnits()?function(t,i,r){const s=n.getExtent(),o=n.getWorldExtent(),a=UE(o)/UE(s);kk(Ok,o[0],o[3],a,-a,0,0,0);const l=Mk(t,0,t.length,r,Ok,i),u=ck(n,e);return u?u(l,l,r):l}:ck(n,e);return this.applyTransform(i),this}}class Lk extends Fk{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)c=n;else{if(d>0){for(let r=0;rr&&(r=a),s=n,o=i}return r}function qk(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],c=t[s+1],d=t[n],p=t[n+1];for(let e=s+i;eo&&(h=e,o=n)}o>r&&(l[(h-e)/i]=1,s+i0&&f>d)&&(p<0&&g0&&g>p)?(a=n,l=c):(s[o++]=a,s[o++]=l,u=a,h=l,a=n,l=c)}return s[o++]=a,s[o++]=l,o}function eT(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 oT(t,e,n,i,r,s){if(0===n.length)return!1;if(!sT(t,e,n[0],i,r,s))return!1;for(let o=1,a=n.length;oy&&(u=(h+c)/2,oT(t,e,n,i,u,f)&&(m=u,y=r)),h=c}return isNaN(m)&&(m=r[s]),o?(o.push(m,f,y),o):[m,f,y]}function lT(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]||uT(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],h=e[0],c=e[1],d=n[0],p=n[1],f=(p-c)/(d-h);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 cT(t,e,n,i,r){return!!(hT(t,e,n,i,r)||sT(t,e,n,i,r[0],r[1])||sT(t,e,n,i,r[0],r[3])||sT(t,e,n,i,r[2],r[1])||sT(t,e,n,i,r[2],r[3]))}function dT(t,e,n,i,r){if(!cT(t,e,n[0],i,r))return!1;if(1===n.length)return!0;for(let s=1,o=n.length;s0}function gT(t,e,n,i,r){r=void 0!==r&&r;for(let s=0,o=n.length;sh&&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&&RT(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?fk(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"),jE(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(mk(t,this.getProjection()),e)}getResolutionForExtentInternal(t,e){e=e||this.getViewportSizeMinusPadding_();const n=GE(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=MT(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=wT(mk(t,this.getProjection()));else if("Circle"===t.getType()){const e=mk(t.getExtent(),this.getProjection());n=wT(e),n.rotate(this.getRotation(),NE(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 h=0,c=r.length;ht.trim().replace(/^['"]|['"]$/g,"")),n};function zT(t,e,n,i){let r;return r=n&&n.length?n.shift():jS?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 UT;function BT(){return UT||(UT=zT(1,1)),UT}function qT(t){const e=t.canvas;e.width=1,e.height=1,t.clearRect(0,0,1,1)}function $T(t){let e=t.offsetWidth;const n=getComputedStyle(t);return e+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),e}function GT(t){let e=t.offsetHeight;const n=getComputedStyle(t);return e+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),e}function VT(t,e){const n=e.parentNode;n&&n.replaceChild(t,e)}function WT(t){for(;t.lastChild;)t.lastChild.remove()}function HT(){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 KT(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas}class XT 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_)){WT(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(IT);t||0!==n?t&&0!==n&&this.element.classList.remove(IT):this.element.classList.add(IT)}this.label_.style.transform=t}this.rotation_=n}}class JT extends XT{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 h=document.createElement("button");h.className=r,h.setAttribute("type","button"),h.title=l,h.appendChild("string"==typeof o?document.createTextNode(o):o),h.addEventListener(Jx,this.handleClick_.bind(this,-n),!1);const c=e+" "+OT+" "+AT,d=this.element;d.className=c,d.appendChild(u),d.appendChild(h),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 QT(t){t=t||{};const e=new MS;return(void 0===t.zoom||t.zoom)&&e.push(new JT(t.zoomOptions)),(void 0===t.rotate||t.rotate)&&e.push(new ZT(t.rotateOptions)),(void 0===t.attribution||t.attribution)&&e.push(new YT(t.attributionOptions)),e}class tR{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 eR="active";class nR 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(eR)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(eR,t)}setMap(t){this.map_=t}}function iR(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 rR extends nR{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_;iR(i.getView(),s,r,this.duration_),n.preventDefault(),e=!0}return!e}}function sR(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 mR(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 _R extends gR{constructor(t){t=t||{},super({stopDown:cS}),this.condition_=t.condition?t.condition:oR,this.lastAngle_=void 0,this.duration_=void 0!==t.duration?t.duration:250}handleDragEvent(t){if(!pR(t))return;const e=t.map,n=e.getView();if(n.getConstraints().rotation===CT)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!pR(t)||(t.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(t){return!(!pR(t)||!uR(t)||!this.condition_(t)||(t.map.getView().beginInteraction(),this.lastAngle_=void 0,0))}}class vR 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 bT([n])}getGeometry(){return this.geometry_}}const bR="boxcancel";class wR extends yS{constructor(t,e,n){super(t),this.coordinate=e,this.mapBrowserEvent=n}}class xR extends gR{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new vR(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??uR,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 wR("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 wR(e?"boxend":bR,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 wR("boxstart",t.coordinate,t)),!0)}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new wR(bR,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}}class SR extends xR{constructor(t){super({condition:(t=t||{}).condition?t.condition:cR,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 ER="ArrowLeft",CR="ArrowRight",kR="ArrowDown";class TR extends nR{constructor(t){super(),t=t||{},this.defaultCondition_=function(t){return hR(t)&&dR(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==kR||i==ER||i==CR||"ArrowUp"==i)){const r=t.map.getView(),s=r.getResolution()*this.pixelDelta_;let o=0,a=0;i==kR?a=-s:i==ER?o=-s:i==CR?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 RR extends nR{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(t){return!function(t){const e=t.originalEvent;return NS?e.metaKey:e.ctrlKey}(t)&&dR(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_;iR(r.getView(),s,void 0,this.duration_),n.preventDefault(),e=!0}}return!e}}class PR extends nR{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:lR;this.condition_=t.onFocusOnly?sR(aR,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),iR(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 MR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),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!==CT&&(this.anchor_=s.getCoordinateFromPixelInternal(s.getEventPixel(mR(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 IR extends gR{constructor(t){const e=t=t||{};e.stopDown||(e.stopDown=cS),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(mR(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 OR="opacity",AR="visible",FR="extent",LR="zIndex",NR="maxResolution",DR="minResolution",jR="maxZoom",zR="minZoom",UR="source";class BR 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[OR]=void 0!==t.opacity?t.opacity:1,ZS("number"==typeof e[OR],"Layer opacity must be a number"),e[AR]=void 0===t.visible||t.visible,e[LR]=t.zIndex,e[NR]=void 0!==t.maxResolution?t.maxResolution:1/0,e[DR]=void 0!==t.minResolution?t.minResolution:0,e[zR]=void 0!==t.minZoom?t.minZoom:-1/0,e[jR]=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(FR)}getMaxResolution(){return this.get(NR)}getMinResolution(){return this.get(DR)}getMinZoom(){return this.get(zR)}getMaxZoom(){return this.get(jR)}getOpacity(){return this.get(OR)}getSourceState(){return SS()}getVisible(){return this.get(AR)}getZIndex(){return this.get(LR)}setBackground(t){this.background_=t,this.changed()}setExtent(t){this.set(FR,t)}setMaxResolution(t){this.set(NR,t)}setMinResolution(t){this.set(DR,t)}setMaxZoom(t){this.set(jR,t)}setMinZoom(t){this.set(zR,t)}setOpacity(t){ZS("number"==typeof t,"Layer opacity must be a number"),this.set(OR,t)}setVisible(t){this.set(AR,t)}setZIndex(t){this.set(LR,t)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}}const qR="addlayer",$R="removelayer";class GR extends yS{constructor(t,e){super(t),this.layer=e}}const VR="layers";class WR extends BR{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(VR,this.handleLayersChanged_),n?Array.isArray(n)?n=new MS(n.slice(),{unique:!0}):ZS("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new MS(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 TT?{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 JR(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 TT?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,XR,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(UR,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 JR(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=eP){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(tP(t,n,e),r(t[i],s)>0&&tP(t,n,i);o0;)a--}0===r(t[n],s)?tP(t,n,a):(a++,tP(t,a,i)),a<=e&&(n=a+1),e<=a&&(i=a-1)}}function tP(t,e,n){const i=t[e];t[e]=t[n],t[n]=i}function eP(t,e){return te?1:0}let nP=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(!fP(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=gP(n.children.splice(s,n.children.length-s));o.height=n.height,o.leaf=n.leaf,rP(n,this.toBBox),rP(o,this.toBBox),e?t[e-1].children.push(o):this._splitRoot(n,o)}_splitRoot(t,e){this.data=gP([t,e]),this.data.height=t.height+1,this.data.leaf=!1,rP(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=sP(t,0,o,this.toBBox),a=sP(t,o,n,this.toBBox),l=dP(e,a),u=uP(e)+uP(a);l=e;l--){const e=t.children[l];oP(o,t.leaf?r(e):e),a+=hP(o)}return a}_adjustParentBBoxes(t,e,n){for(let i=n;i>=0;i--)oP(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():rP(t[n],this.toBBox)}};function iP(t,e,n){if(!n)return e.indexOf(t);for(let i=0;i=t.minX&&e.maxY>=t.minY}function gP(t){return{children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function mP(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 yP=[NaN,NaN,NaN,0];let _P;const vP=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,bP=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,wP=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,xP=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function SP(t,e){return t.endsWith("%")?Number(t.substring(0,t.length-1))/e:Number(t)}function EP(t){throw new Error('failed to parse "'+t+'" as color')}function CP(t){if(t.toLowerCase().startsWith("rgb")){const e=t.match(bP)||t.match(vP)||t.match(wP);if(e){const t=e[4],n=100/255;return[nE(SP(e[1],n)+.5|0,0,255),nE(SP(e[2],n)+.5|0,0,255),nE(SP(e[3],n)+.5|0,0,255),void 0!==t?nE(SP(t,100),0,1):1]}EP(t)}if(t.startsWith("#")){if(xP.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 MP(t){return t>.2068965?Math.pow(t,3):108/841*(t-4/29)}function IP(t){return t>10.314724?Math.pow((t+14.025)/269.025,2.4):t/3294.6}function OP(t){return t>.0088564?Math.pow(t,1/3):t/(108/841)+4/29}function AP(t){const e=IP(t[0]),n=IP(t[1]),i=IP(t[2]),r=OP(.222488403*e+.716873169*n+.06060791*i),s=500*(OP(.452247074*e+.399439023*n+.148375274*i)-r),o=200*(r-OP(.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 FP(t){if("none"===t)return yP;if(kP.hasOwnProperty(t))return kP[t];if(TP>=1024){let t=0;for(const e in kP)3&t++||(delete kP[e],--TP)}const e=CP(t);4!==e.length&&EP(t);for(const n of e)isNaN(n)&&EP(t);return kP[t]=e,++TP,e}function LP(t){return Array.isArray(t)?t:FP(t)}function NP(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 DP(t){return t[0]>0&&t[1]>0}function jP(t,e){return Array.isArray(t)?t:(void 0===e?e=[t,t]:(e[0]=t,e[1]=t),e)}let zP=0;const UP=1<e)throw new Error(`expected ${e===1/0?`${t} or more`:`${t} to ${e}`} arguments for ${i}, got ${r}`)}}function tI(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 KM: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 sM:return t=>t.geometryType;case rM:{const e=t.args.map(t=>oI(t));return t=>"".concat(...e.map(e=>e(t).toString()))}case hM:return t=>t.resolution;case aM:case lM:case LM:case zM: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 zM: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 pM:case fM:case"<":case _M:case">":case mM:return function(t){const e=t.operator,n=oI(t.args[0]),i=oI(t.args[1]);switch(e){case pM:return t=>n(t)===i(t);case fM:return t=>n(t)!==i(t);case"<":return t=>n(t)n(t)<=i(t);case">":return t=>n(t)>i(t);case mM:return t=>n(t)>=i(t);default:throw new Error(`Unsupported comparison operator ${e}`)}}(t);case"*":case"/":case"+":case"-":case SM:case"%":case"^":case kM:case TM:case RM:case PM:case MM:case IM:case OM:case AM: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 SM: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 kM:return t=>Math.abs(i[0](t));case TM:return t=>Math.floor(i[0](t));case RM:return t=>Math.ceil(i[0](t));case PM:return t=>Math.round(i[0](t));case MM:return t=>Math.sin(i[0](t));case IM:return t=>Math.cos(i[0](t));case OM:return 2===n?t=>Math.atan2(i[0](t),i[1](t)):t=>Math.atan(i[0](t));case AM:return t=>Math.sqrt(i[0](t));default:throw new Error(`Unsupported numeric operator ${e}`)}}(t);case jM: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?lI(i,r,s,o,e,l):aI(i,r,s,o,e,l);s=e,o=l}return o}}(t);case HM: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===$P?NP(n):n.toString()};throw new Error(`Unsupported convert operator ${e}`)}(t);default:throw new Error(`Unsupported operator ${e}`)}}function aI(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 lI(t,e,n,i,r,s){if(0===r-n)return i;const o=AP(i),a=AP(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=MP(e),s=MP(e+n/500*Math.cos(i)),o=MP(e-n/200*Math.sin(i)),a=PP(3.021973625*s-1.617392459*r-.404875592*o),l=PP(-.943766287*s+1.916279586*r+.027607165*o),u=PP(.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]]}([aI(t,e,n,o[0],r,a[0]),aI(t,e,n,o[1],r,a[1]),o[2]+aI(t,e,n,0,r,l),aI(t,e,n,i[3],r,s[3])])}class uI 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 hI(t,e,n){return e+":"+t+":"+(n?LP(n):"null")}const cI=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=hI(t,e,n);return i in this.cache_?this.cache_[i]:null}getPattern(t,e,n){const i=hI(t,e,n);return i in this.patternCache_?this.patternCache_[i]:null}set(t,e,n,i,r){const s=hI(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]=BT().createPattern(i.getImage(1),"repeat")}):this.patternCache_[s]=BT().createPattern(i.getImage(1),"repeat")),o||++this.cacheSize_}setSize(t){this.maxCacheSize_=t,this.expire()}};let dI=null;class pI 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_){dI||(dI=zT(1,1,void 0,{willReadFrequently:!0})),dI.drawImage(this.image_,0,0);try{dI.getImageData(0,0,1,1),this.tainted_=!1}catch{dI=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&&zS?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:NP(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 fI(t,e,n,i,r,s){let o=void 0===e?void 0:cI.get(e,n,r);return o||(o=new pI(t,t&&"src"in t?t.src||void 0:e,n,i,r),cI.set(e,n,r,o,s)),s&&o&&!cI.getPattern(e,n,r)&&cI.set(e,n,r,o,s),o}function gI(t){return t?Array.isArray(t)?NP(t):"object"==typeof t&&"src"in t?function(t){if(!t.offset||!t.size)return cI.getPattern(t.src,"anonymous",t.color);const e=t.src+":"+t.offset,n=cI.getPattern(e,void 0,t.color);if(n)return n;const i=cI.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]),fI(r.canvas,e,void 0,2,t.color,!0),cI.getPattern(e,void 0,t.color)}(t):t:null}const mI="10px sans-serif",yI="#000",_I="round",vI=[],bI="round",wI="#000",xI="center",SI="middle",EI=[0,0,0,0],CI=new TS;let kI,TI=null;const RI={},PI=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function MI(t,e,n){return`${t} ${e} 16px "${n}"`}const II=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=jT(t),r=i.families[0].toLowerCase(),s=i.weight;return e.some(t=>{const e=t.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=DT[t.weight]||t.weight;return e===r&&t.style===i.style&&n==s})}async function r(){await n.ready;let s=!0;const o=CI.getProperties(),a=Object.keys(o).filter(e=>o[e]=0;--e){const n=a[e];let r=o[n];rMath.max(e,FI(t,n)),0);return n[e]=i,i}class NI{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=jP(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){const t=this.getScale();return new NI({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_=jP(t)}listenImageChange(t){SS()}load(){SS()}unlistenImageChange(t){SS()}ready(){return Promise.resolve()}}class DI extends NI{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 DI({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=cI.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,cI.set(n,null,null,new pI(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:LP(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}function UI(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 BI extends NI{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?LP(t.color):null,this.iconImage_=fI(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(UI(n[0],n[1],t.width,t.height))};return void this.listenImageChange(e)}}void 0!==e&&this.setScale(UI(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 BI({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_=fI(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 qI{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 qI({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 $I{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=WI,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 $I({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_=WI,this.geometry_=t}setZIndex(t){this.zIndex_=t}}let GI=null;function VI(){if(!GI){const t=new zI({color:"rgba(255,255,255,0.4)"}),e=new qI({color:"#3399CC",width:1.25});GI=[new $I({image:new jI({fill:t,stroke:e,radius:5}),fill:t,stroke:e})]}return GI}function WI(t){return t.getGeometry()}let HI=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_=jP(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 zI({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 zI?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_=jP(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 KI(){return!0}function XI(t){const e=tM(),n=function(t,e){const n=t.length,i=new Array(n);for(let r=0;rnull;i=iO(t,e+"fill-color",n)}if(!i)return null;const r=new zI;return function(t){const e=i(t);return e===yP?null:(r.setColor(e),r)}}function QI(t,e,n){const i=tO(t,e+"stroke-width",n),r=iO(t,e+"stroke-color",n);if(!i&&!r)return null;const s=eO(t,e+"stroke-line-cap",n),o=eO(t,e+"stroke-line-join",n),a=rO(t,e+"stroke-line-dash",n),l=tO(t,e+"stroke-line-dash-offset",n),u=tO(t,e+"stroke-miter-limit",n),h=new qI;return function(t){if(r){const e=r(t);if(e===yP)return null;h.setColor(e)}if(i&&h.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");h.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");h.setLineJoin(e)}return a&&h.setLineDash(a(t)),l&&h.setLineDashOffset(l(t)),u&&h.setMiterLimit(u(t)),h}}function tO(t,e,n){if(!(e in t))return;const i=sI(t[e],BP,n);return function(t){return fO(i(t),e)}}function eO(t,e,n){if(!(e in t))return null;const i=sI(t[e],qP,n);return function(t){return pO(i(t),e)}}function nO(t,e,n){if(!(e in t))return null;const i=sI(t[e],UP,n);return function(t){const n=i(t);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${e}`);return n}}function iO(t,e,n){if(!(e in t))return null;const i=sI(t[e],$P,n);return function(t){return gO(i(t),e)}}function rO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return dO(i(t),e)}}function sO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){const n=dO(i(t),e);if(2!==n.length)throw new Error(`Expected two numbers for ${e}`);return n}}function oO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP,n);return function(t){return mO(i(t),e)}}function aO(t,e,n){if(!(e in t))return null;const i=sI(t[e],GP|BP,n);return function(t){return function(t,e){return"number"==typeof t?t:mO(t,e)}(i(t),e)}}function lO(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 uO(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 hO(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 cO(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 dO(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 mO(t,e){const n=dO(t,e);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${e}`);return n}const yO="renderOrder";class _O extends ZR{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(yO)}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 nP(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(yO,t)}setStyle(t){this.style_=void 0===t?VI:t;const e=function(t){if(void 0===t)return VI;if(!t)return null;if("function"==typeof t)return t;if(t instanceof $I)return t;if(!Array.isArray(t))return YI([t]);if(0===t.length)return[];const e=t.length,n=t[0];if(n instanceof $I){const n=new Array(e);for(let i=0;i=0;--i){const r=f[i],s=r.layer;if(s.hasRenderer()&&JR(r,u)&&o.call(a,s)){const i=s.getRenderer(),o=s.getSource();if(i&&o){const s=o.getWrapX()?d:t,a=h.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,hS,this,r,s)}getMap(){return this.map_}renderFrame(t){SS()}scheduleExpireIconCache(t){cI.canExpireCache()&&t.postRenderFunctions.push(wO)}}function wO(){cI.expire()}class xO extends bO{constructor(t){super(t),this.fontChangeListenerKey_=vS(CI,Xx,t.redrawText,t),this.element_=jS?HT():document.createElement("div");const e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=OT+" 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 vO(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(XR,t);const e=t.layerStatesArray.sort((t,e)=>t.zIndex-e.zIndex);e.some(t=>t.layer instanceof _O&&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)),KT(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(...Pk(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 SO(t){t instanceof ZR?t.setMapInternal(null):t instanceof WR&&t.getLayers().forEach(SO)}function EO(t,e){if(t instanceof ZR)t.setMapInternal(e);else if(t instanceof WR){const n=t.getLayers().getArray();for(let t=0,i=n.length;tthis.updateSize())),this.controls=e.controls||(jS?new MS:QT()),this.interactions=e.interactions||(jS?new MS:function(t){t=t||{};const e=new MS,n=new tR(-.005,.05,100);return(void 0===t.altShiftDragRotate||t.altShiftDragRotate)&&e.push(new _R),(void 0===t.doubleClickZoom||t.doubleClickZoom)&&e.push(new rR({delta:t.zoomDelta,duration:t.zoomDuration})),(void 0===t.dragPan||t.dragPan)&&e.push(new yR({onFocusOnly:t.onFocusOnly,kinetic:n})),(void 0===t.pinchRotate||t.pinchRotate)&&e.push(new MR),(void 0===t.pinchZoom||t.pinchZoom)&&e.push(new IR({duration:t.zoomDuration})),(void 0===t.keyboard||t.keyboard)&&(e.push(new TR),e.push(new RR({delta:t.zoomDelta,duration:t.zoomDuration}))),(void 0===t.mouseWheelZoom||t.mouseWheelZoom)&&e.push(new PR({onFocusOnly:t.onFocusOnly,duration:t.zoomDuration})),(void 0===t.shiftDragZoom||t.shiftDragZoom)&&e.push(new SR({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 TT||t.view.then(function(t){n.setView(new TT(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){EO(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:hS,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 WR?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:hS,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 fk(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){const e=this.frameState_;return e?Ek(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 MS)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 GR("removelayer",e)),this.set(HS,t)}setSize(t){this.set(KS,t)}setTarget(t){this.set(XS,t)}setView(t){if(!t||t instanceof TT)return void this.set(YS,t);this.set(YS,new TT);const e=this;t.then(function(t){e.setView(new TT(t))})}updateSize(){const t=this.getTargetElement();let e;if(t){let n,i;if(KT(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)],!DP(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&oC("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)}};const kO="element",TO="map",RO="offset",PO="position",MO="positioning";class IO extends TS{constructor(t){super(),this.on,this.once,this.un,this.options=t,this.id=t.id,this.insertFirst=void 0===t.insertFirst||t.insertFirst,this.stopEvent=void 0===t.stopEvent||t.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==t.className?t.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===t.autoPan?{}:t.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(kO,this.handleElementChanged),this.addChangeListener(TO,this.handleMapChanged),this.addChangeListener(RO,this.handleOffsetChanged),this.addChangeListener(PO,this.handlePositionChanged),this.addChangeListener(MO,this.handlePositioningChanged),void 0!==t.element&&this.setElement(t.element),this.setOffset(void 0!==t.offset?t.offset:[0,0]),this.setPositioning(t.positioning||"top-left"),void 0!==t.position&&this.setPosition(t.position)}getElement(){return this.get(kO)}getId(){return this.id}getMap(){return this.get(TO)||null}getOffset(){return this.get(RO)}getPosition(){return this.get(PO)}getPositioning(){return this.get(MO)}handleElementChanged(){WT(this.element);const t=this.getElement();t&&this.element.appendChild(t)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),wS(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const t=this.getMap();if(t){this.mapPostrenderListenerKey=vS(t,GS,this.render,this),this.updatePixelPosition();const e=this.stopEvent?t.getOverlayContainerStopEvent():t.getOverlayContainer();this.insertFirst?e.insertBefore(this.element,e.childNodes[0]||null):e.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(t){this.set(kO,t)}setMap(t){this.set(TO,t)}setOffset(t){this.set(RO,t)}setPosition(t){this.set(PO,t)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(t){const e=this.getMap();if(!e||!e.getTargetElement()||!this.get(PO))return;const n=this.getRect(e.getTargetElement(),e.getSize()),i=this.getElement(),r=this.getRect(i,[$T(i),GT(i)]),s=void 0===(t=t||{}).margin?20:t.margin;if(!bE(n,r)){const i=r[0]-n[0],o=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],u=[0,0];if(i<0?u[0]=i-s:o<0&&(u[0]=Math.abs(o)+s),a<0?u[1]=a-s:l<0&&(u[1]=Math.abs(l)+s),0!==u[0]||0!==u[1]){const n=e.getView().getCenterInternal(),i=e.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+u[0],i[1]+u[1]],s=t.animation||{};e.getView().animateInternal({center:e.getCoordinateFromPixelInternal(r),duration:s.duration,easing:s.easing})}}}getRect(t,e){const n=t.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+e[0],r+e[1]]}setPositioning(t){this.set(MO,t)}setVisible(t){this.rendered.visible!==t&&(this.element.style.display=t?"":"none",this.rendered.visible=t)}updatePixelPosition(){const t=this.getMap(),e=this.getPosition();if(!t||!t.isRendered()||!e)return void this.setVisible(!1);const n=t.getPixelFromCoordinate(e),i=t.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(t,e){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let s="0%",o="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?s="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(s="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?o="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(o="-50%");const a=`translate(${s}, ${o}) translate(${t[0]+i[0]}px, ${t[1]+i[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}}class OO{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 AO=11,FO=[8],LO=[12],NO=[1],DO=[3];class jO extends OO{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,Kk,r]),this.hitDetectionInstructions.push([4,a,u,t,i||n,Kk,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[AO,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 zO extends jO{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(NO),this.hitDetectionInstructions.push(NO);for(let l=0;l=t){const e=(t-a+c)/c,d=lE(n,u,e),p=lE(i,h,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 BO(t,e,n,i,r){let s,o,a,l,u,h,c,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,c=p,d=f),u=n,h=i}return _+=l,_>y?[v,o]:[g,m]}const qO={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},$O={Circle:zO,Default:jO,Image:class extends jO{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*h]&&o[2*(t+n)+1]===u[n*h+1];return i||--t,i})}this.saveTextStates_();const c=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!=EI&&(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==EI?EI:p.map(function(t){return t*f}),c,d,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const g=1/f,m=c?c.slice(0):null;m&&(m[1]=yI),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_?yI: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,M=[],I=S+i===e;let O;if(y=0,_=E,p=t[e=S],f=t[e+1],I){v(),O=Math.atan2(f-m,p-g),R&&(O+=O>0?-P:P);const t=(k+w)/2,e=(T+x)/2;return M[0]=[t,e,(C-s)/2,O,r],M}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 c=A;let d=0;for(;A{if("function"==typeof BT()[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 iA(t,e,n){return n%2==0&&(t+=e),t}class rA{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 HO: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],h=a.justify?qO[a.justify]:eA(Array.isArray(t)?t[0]:t,a.textAlign||xI),c=i&&s.lineWidth?s.lineWidth:0,d=Array.isArray(t)?t:String(t).split("\n").reduce(nA,[]),{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,h=e.length;u<=h;u+=2){const c=e[u];if("\n"===c||u===h){s=Math.max(s,o),r.push(o),o=0,a+=l,l=0;continue}const d=e[u+1]||t.font,p=FI(d,c);n.push(p),o+=p;const f=OI(d);i.push(f),l=Math.max(l,f)}return{width:s,height:a,widths:n,heights:i,lineWidths:r}}(a,d),_=p+c,v=[],b=(_+2)*u[0],w=(f+c)*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",c),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-h;let E=h*_+S*c;const C=[],k=[];let T,R=0,P=0,M=0,I=0;for(let O=0,A=d.length;Ot?t-l:r,v=s+u>e?e-u:s,b=p[3]+_*c[0]+p[1],w=p[0]+v*c[1]+p[2],x=m-p[3],S=y-p[0];let E;return(f||0!==h)&&(XO[0]=x,JO[0]=x,XO[1]=S,YO[1]=S,YO[0]=x+b,ZO[0]=YO[0],ZO[1]=S+w,JO[1]=ZO[1]),0!==h?(E=kk([1,0,0,1,0,0],n,i,1,1,h,-n,-i),Ek(E,XO),Ek(E,YO),Ek(E,ZO),Ek(E,JO),SE(Math.min(XO[0],YO[0],ZO[0],JO[0]),Math.min(XO[1],YO[1],ZO[1],JO[1]),Math.max(XO[0],YO[0],ZO[0],JO[0]),Math.max(XO[1],YO[1],ZO[1],JO[1]),KO)):SE(Math.min(x,x+b),Math.min(S,S+w),Math.max(x,x+b),Math.max(S,S+w),KO),d&&(m=Math.round(m),y=Math.round(y)),{drawImageX:m,drawImageY:y,drawImageW:_,drawImageH:v,originX:l,originY:u,declutterBox:{minX:KO[0],minY:KO[1],maxX:KO[2],maxY:KO[3],value:g},canvasTransform:E,scale:c}}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,XO,YO,ZO,JO,s,o),function(t,e,n,i,r,s,o,a,l,u,h){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(h[0],h[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],h=u[T+1],c=u[T+2]-i,p=u[T+3]-h,z=Math.sqrt(c*c+p*p);t.moveTo(i+z,h),t.arc(i,h,z,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 M||(M[d]=[]);const $=M[d];q?q(u,T,f,2,$):($[0]=u[T],$[1]=u[T+1],$.length=2),l&&(l.zIndex=n[6]),B($,A),++d;break;case 6:T=n[1],f=n[2],x=n[3],g=n[4],m=n[5];let G=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,G=x.height,n[6]=G,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=EI,et=null,nt=null),K&&O?X+=I:K||O||(X-=I);let it=0;for(;T!oA.includes(t));class lA{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 rA(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=(c[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=sA.length-1;m>=0;--m)if(d=sA[m],_=y[d],void 0!==_&&(v=_.executeHitDetection(u,a,n,p,h),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 Mk(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||sA;const l=sA.length;for(let u=0,h=a.length;up.execute(t,e,n,i,r,o)):p.execute(c,e,n,i,r,o),d&&c.restore(),s){s.offset();const t=a[u]*l+sA.indexOf(h);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 uA={};class hA extends OO{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=Mk(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,h=r.length;ut*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==s?s:bI,lineWidth:(void 0!==o?o:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}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:gI(t||yI)}}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:_I,lineDash:i||vI,lineDashOffset:r||0,lineJoin:void 0!==s?s:bI,lineWidth:void 0!==o?o:1,miterLimit:void 0!==a?a:10,strokeStyle:gI(t||wI)}}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(),h=t.getTextAlign(),c=t.getTextBaseline();this.textState_={font:void 0!==i?i:mI,textAlign:void 0!==h?h:xI,textBaseline:void 0!==c?c:SI},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 cA=.5;function dA(t,e,n,i,r,s,o,a,l){const u=r,h=zT(t[0]*cA,t[1]*cA);h.imageSmoothingEnabled=!1;const c=h.canvas,d=new hA(h,cA,r,null,o,a,l?uk(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 c&&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()?vA(t,l,n,e,o):(0,fA[l.getType()])(t,l,n,e,o,s)}(t,e,n,i,s,o,a),c}function vA(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 wA=[];let xA=null;class SA extends bA{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;xA||(xA=zT(1,1,void 0,{willReadFrequently:!0})),xA.clearRect(0,0,1,1);try{xA.drawImage(t,e,n,1,1,0,0,1,1),i=xA.getImageData(0,0,1,1).data}catch{return xA=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(LP(t.style.backgroundColor),LP(n)))){const e=t.firstElementChild;KT(e)&&(s=e.getContext("2d"))}if(s&&function(t,e){const n=Pk(t),i=Pk(e);for(let r=0;r<6;++r)if(0!==Math.round((n[r]-i[r])*Rk[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=jS?HT():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=$E(n),s=LE(n),o=FE(n);Ek(e.coordinateToPixelTransform,i),Ek(e.coordinateToPixelTransform,r),Ek(e.coordinateToPixelTransform,s),Ek(e.coordinateToPixelTransform,o);const a=this.inversePixelTransform;Ek(a,i),Ek(a,r),Ek(a,s),Ek(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(GE(n)/i*s),a=Math.round(UE(n)/i*s);kk(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/s,1/s,r,-o/2,-a/2),Tk(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 vO(t,this.inversePixelTransform,n,e);i.dispatchEvent(r)}}preRender(t,e){this.frameState=e,e.declutter||this.dispatchRenderEvent_(HR,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(KR,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new HO),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(HR,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(KR,this.context,t))}getRenderTransform(t,e,n,i,r,s,o){const a=r/2,l=s/2,u=i/e,h=-u,c=-t[0]+o,d=-t[1];return kk(this.tempTransform,a,l,u,h,-n,c,d)}disposeInternal(){delete this.frameState,super.disposeInternal()}}class EA extends SA{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(),h=this.getLayer().getSource(),c=this.getLayer().getDeclutter(),d=e.pixelRatio,p=e.viewHints,f=!(p[0]||p[1]),g=this.context,m=Math.round(GE(i)/o*d),y=Math.round(UE(i)/o*d),_=h.getWrapX()&&a.canWrapX(),v=_?GE(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?sA:n?oA:aA,n?c&&e.declutter[c]: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]*cA,u=t[1]*cA;a.push(this.getRenderTransform(e,n,i,cA,l,u,0).slice());const h=o.getSource(),c=r.getExtent();if(h.getWrapX()&&r.canWrapX()&&!bE(c,s)){let t=s[0];const r=GE(c);let o,h=0;for(;tc[2];)++h,o=r*h,a.push(this.getRenderTransform(e,n,i,cA,l,u,o).slice()),t-=r}this.hitDetectionImageData_=dA(t,a,this.renderedFeatures_,o.getStyleFunction(),s,n,i,mA(n,this.renderedPixelRatio_),null)}e(pA(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,h=l.resolution,c=t.pixelRatio,d=e.getRevision(),p=e.getRenderBuffer();let f=e.getRenderOrder();void 0===f&&(f=gA);const g=l.center.slice(),m=mE(a,p*h),y=m.slice(),_=[m.slice()],v=u.getExtent();if(n.getWrapX()&&u.canWrapX()&&!bE(v,t.extent)){const t=GE(v),e=Math.max(GE(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_==h&&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 GO(yA(h,c),m,h,c);for(let R=0,P=_.length;R{let i;const r=t.getStyleFunction()||e.getStyleFunction();if(r&&(i=r(t,h)),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 TA(t,e){return function(n,i,r,s,o){kA(t,e,n,i,r,t=>{this.addFeatures(t),void 0!==s&&s(t)},()=>{this.changed(),void 0!==o&&o()})}}function RA(){return[[-1/0,-1/0,1/0,1/0]]}function PA(t){return[t]}class MA 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 MA(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 IA(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}(h,c);d<0?(l=(c-h[-d-2])/(h[-d-1]-h[-d-2]),a=e+(-d-2)*i):a=e+d*i}o=o>1?o:2,s=s||new Array(o);for(let h=0;h>1;rt.clone())}class NA extends Lk{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 NA(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(Bk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),$k(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,t,e,n,i))}forEachSegment(t){return uT(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,AA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e))}getCoordinates(){return Kk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(t,e){return OA(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,this.stride)}getLength(){return VO(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=Zk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,e,0),new NA(e,"XY")}getType(){return"LineString"}intersectsExtent(t){return hT(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=Vk(this.flatCoordinates,0,t,this.stride),this.changed()}}class DA extends Lk{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=Zk(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,t,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Jk(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,t,n,0,i);break;case"Polygon":i=[],n.length=eT(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(t),n,0,i)}return i&&(this.simplifiedGeometry_=new BA(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=t,this.simplifiedGeometry_}),this}}BA.prototype.getFlatCoordinates=BA.prototype.getOrientedFlatCoordinates;class qA{constructor(t){this.rbush_=new nP(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 VA="addfeature",WA="removefeature";class HA extends yS{constructor(t,e,n){super(t),this.feature=e,this.features=n}}class KA extends $A{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_=TA(this.url_,this.format_)),this.strategy_=void 0!==t.strategy?t.strategy:RA;const e=void 0===t.useSpatialIndex||t.useSpatialIndex;let n,i;this.featuresRtree_=e?new qA:null,this.loadedExtentsRtree_=new qA,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 MS(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 HA(VA,t))}setupChangeEvents_(t,e){e instanceof BA||(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 BA){const i=this.idIndex_[t];i instanceof BA?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 HA("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 BA||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 BA||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||hS,this.featuresRtree_.forEachInExtent(a,function(t){if(e(t)){const e=t.getGeometry(),l=o;if(o=e instanceof BA?0:e.closestPointXY(n,i,s,o),o{--this.loadingExtentsCount_,this.dispatchEvent(new HA("featuresloadend",void 0,t))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new HA("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 uF(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 PF=[dF,pF,fF,gF,mF,yF,wF,_F,TF(vF),xF,EF,SF,CF,kF];function MF(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!MF(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 PF)if(!MF(t,e))return null}return`Expected ${RF(t)} but found ${RF(e)} instead.`}function IF(t,e){return e.some(e=>e.kind===t.kind)}function OF(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 AF(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const FF=.96422,LF=.82521,NF=4/29,DF=6/29,jF=3*DF*DF,zF=DF*DF*DF,UF=Math.PI/180,BF=180/Math.PI;function qF(t){return(t%=360)<0&&(t+=360),t}function $F([t,e,n,i]){let r,s;const o=VF((.2225045*(t=GF(t))+.7168786*(e=GF(e))+.0606169*(n=GF(n)))/1);t===e&&e===n?r=s=o:(r=VF((.4360747*t+.3850649*e+.1430804*n)/FF),s=VF((.0139322*t+.0971045*e+.7141733*n)/LF));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 VF(t){return t>zF?Math.pow(t,1/3):t/jF+NF}function WF([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*KF(r),s=FF*KF(s),o=LF*KF(o),[HF(3.1338561*s-1.6168667*r-.4906146*o),HF(-.9787684*s+1.9161415*r+.033454*o),HF(.0719453*s-.2289914*r+1.4052427*o),i]}function HF(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function KF(t){return t>DF?t*t*t:jF*(t-NF)}const XF=Object.hasOwn||function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};function YF(t,e){return XF(t,e)?t[e]:void 0}function ZF(t){return parseInt(t.padEnd(2,t),16)/255}function JF(t,e){return QF(e?t/100:t,0,1)}function QF(t,e,n){return Math.min(Math.max(e,t),n)}function tL(t){return!t.some(Number.isNaN)}const eL={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 nL(t,e,n){return t+n*(e-t)}function iL(t,e,n){return t.map((t,i)=>nL(t,e[i],n))}class rL{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 rL)return t;if("string"!=typeof t)return;const e=function(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=YF(eL,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[ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(t.slice(n,n+=e)),ZF(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,h,c,d]=n,p=[r||" ",a||" ",h].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[i,o,u].join(""),n="%%%"===t?100:""===t?255:0;if(n){const t=[QF(+e/n,0,1),QF(+s/n,0,1),QF(+l/n,0,1),c?JF(+c,d):1];if(tL(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,h=[i||" ",s||" ",a].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const t=[+e,QF(+r,0,100),QF(+o,0,100),l?JF(+l,u):1];if(tL(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=qF(t),e/=100,n/=100,[r(0),r(8),r(4),i]}(t)}}}(t);return e?new rL(...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]=$F(t),s=Math.sqrt(n*n+i*i);return[Math.round(1e4*s)?qF(Math.atan2(i,n)*BF):NaN,s,e,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",$F(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]=iL(t.rgb,e.rgb,n);return new rL(i,r,s,o,!1)}case"hcl":{const[i,r,s,o]=t.hcl,[a,l,u,h]=e.hcl;let c,d;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?c=NaN:(c=a,1!==s&&0!==s||(d=l)):(c=i,1!==u&&0!==u||(d=r));else{let t=a-i;a>i&&t>180?t-=360:a180&&(t+=360),c=i+n*t}const[p,f,g,m]=function([t,e,n,i]){return t=isNaN(t)?0:t*UF,WF([n,Math.cos(t)*e,Math.sin(t)*e,i])}([c,null!=d?d:nL(r,l,n),nL(s,u,n),nL(o,h,n)]);return new rL(p,f,g,m,!1)}case"lab":{const[i,r,s,o]=WF(iL(t.lab,e.lab,n));return new rL(i,r,s,o,!1)}}}}rL.black=new rL(0,0,0,1),rL.white=new rL(1,1,1,1),rL.transparent=new rL(0,0,0,0),rL.red=new rL(1,0,0,1);class sL{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 oL=["bottom","center","top"];class aL{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 lL{constructor(t){this.sections=t}static fromString(t){return new lL([new aL(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 lL?t:lL.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map(t=>t.text).join("")}}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,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 uL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new uL(iL(t.values,e.values,n))}}class hL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof hL)return t;if("number"==typeof t)return new hL([t]);if(Array.isArray(t)){for(const e of t)if("number"!=typeof e)return;return new hL(t)}}toString(){return JSON.stringify(this.values)}static interpolate(t,e,n){return new hL(iL(t.values,e.values,n))}}class cL{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof cL)return t;if("string"==typeof t){const e=rL.parse(t);if(!e)return;return new cL([e])}if(!Array.isArray(t))return;const e=[];for(const n of t){if("string"!=typeof n)return;const t=rL.parse(n);if(!t)return;e.push(t)}return new cL(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 _L(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof mL||t instanceof rL||t instanceof sL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL)return!0;if(Array.isArray(t)){for(const e of t)if(!_L(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!_L(t[e]))return!1;return!0}return!1}function vL(t){if(null===t)return dF;if("string"==typeof t)return fF;if("boolean"==typeof t)return gF;if("number"==typeof t)return pF;if(t instanceof rL)return mF;if(t instanceof mL)return yF;if(t instanceof sL)return bF;if(t instanceof lL)return wF;if(t instanceof uL)return xF;if(t instanceof hL)return EF;if(t instanceof cL)return SF;if(t instanceof fL)return kF;if(t instanceof gL)return CF;if(Array.isArray(t)){const e=t.length;let n;for(const i of t){const t=vL(i);if(n){if(n===t)continue;n=vF;break}n=t}return TF(n||vF,e)}return _F}function bL(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof rL||t instanceof mL||t instanceof lL||t instanceof uL||t instanceof hL||t instanceof cL||t instanceof fL||t instanceof gL?t.toString():JSON.stringify(t)}class wL{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(!_L(t[1]))return e.error("invalid value");const n=t[1];let i=vL(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 wL(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const xL={string:fF,number:pF,boolean:gF,object:_F};class SL{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 xL)||"object"===n)return e.error('The item type argument of "array" must be one of string, number, boolean',1);r=xL[n],i++}else r=vF;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=TF(r,s)}else{if(!xL[r])throw new Error(`Types doesn't contain name = ${r}`);n=xL[r]}const s=[];for(;it.outputDefined())}}const EL={"to-boolean":gF,"to-color":mF,"to-number":pF,"to-string":fF};class CL{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(!EL[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=EL[n],r=[];for(let s=1;s4?`Invalid rgba value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:yL(e[0],e[1],e[2],e[3]),!n))return new rL(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new dL(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=uL.parse(e);if(i)return i}throw new dL(`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=hL.parse(e);if(i)return i}throw new dL(`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=cL.parse(e);if(i)return i}throw new dL(`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=fL.parse(e);if(i)return i}throw new dL(`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 dL(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return lL.fromString(bL(this.args[0].evaluate(t)));case"resolvedImage":return gL.fromString(bL(this.args[0].evaluate(t)));case"projectionDefinition":return this.args[0].evaluate(t);default:return bL(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const kL=["Unknown","Point","LineString","Polygon"];class TL{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?kL[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=rL.parse(t),this._parseColorCache.set(t,e)),e}}class RL{constructor(t,e,n=[],i,r=new cF,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 SL(e,[t]):"coerce"===n?new CL(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 wL)&&"resolvedImage"!==r.type.kind&&this._isConstant(r)){const t=new TL;try{r=new wL(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 RL(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 hF(n,t))}checkSubtype(t,e){const n=MF(t,e);return n&&this.error(n),n}}class PL{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 dL(`Array index out of bounds: ${e} > ${n.length-1}.`);if(e!==Math.floor(e))throw new dL(`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 OL{constructor(t,e){this.type=gF,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,vF),i=e.parse(t[2],2,vF);return n&&i?IF(n.type,[gF,fF,pF,dF,vF])?new OL(n,i):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!n)return!1;if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);if(!OF(n,["string","array"]))throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`);return n.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class AL{constructor(t,e,n){this.type=pF,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,vF),i=e.parse(t[2],2,vF);if(!n||!i)return null;if(!IF(n.type,[gF,fF,pF,dF,vF]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new AL(n,i,r):null}return new AL(n,i)}evaluate(t){const e=this.needle.evaluate(t),n=this.haystack.evaluate(t);if(!OF(e,["boolean","string","number","null"]))throw new dL(`Expected first argument to be of type boolean, string, number or null, but found ${RF(vL(e))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(t)),OF(n,["string"])){const t=n.indexOf(e,i);return-1===t?-1:[...n.slice(0,t)].length}if(OF(n,["array"]))return n.indexOf(e,i);throw new dL(`Expected second argument to be of type array or string, but found ${RF(vL(n))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class FL{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,vL(t)))return null}else n=vL(t);if(void 0!==r[String(t)])return u.error("Branch labels must be unique.");r[String(t)]=s.length}const h=e.parse(a,l,i);if(!h)return null;i=i||h.type,s.push(h)}const o=e.parse(t[1],1,vF);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 FL(n,i,o,r,s,a):null}evaluate(t){const e=this.input.evaluate(t);return(vL(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 LL{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 NL{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,vF),i=e.parse(t[2],2,pF);if(!n||!i)return null;if(!IF(n.type,[TF(vF),fF,vF]))return e.error(`Expected first argument to be of type array or string, but found ${RF(n.type)} instead`);if(4===t.length){const r=e.parse(t[3],3,pF);return r?new NL(n.type,n,i,r):null}return new NL(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)),OF(e,["string"]))return[...e].slice(n,i).join("");if(OF(e,["array"]))return e.slice(n,i);throw new dL(`Expected first argument to be of type array or string, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function DL(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 dL("Input is not a number.");o=a-1}return 0}class jL{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,pF);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 jL(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[DL(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 zL(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var UL,BL,qL=function(){if(BL)return UL;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 BL=1,UL=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))}},UL}(),$L=zL(qL);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=VL(e,t.base,n,i);else if("linear"===t.name)r=VL(e,1,n,i);else if("cubic-bezier"===t.name){const s=t.controlPoints;r=new $L(s[0],s[1],s[2],s[3]).solve(VL(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,pF),!r)return null;const o=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||e.expectedType==SF?e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType):a=mF;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 AF(a,pF)||AF(a,yF)||AF(a,mF)||AF(a,xF)||AF(a,EF)||AF(a,SF)||AF(a,kF)||AF(a,TF(pF))?new GL(a,n,i,r,o):e.error(`Type ${RF(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=DL(e,i),o=e[s],a=e[s+1],l=GL.interpolationFactor(this.interpolation,i,o,a),u=n[s].evaluate(t),h=n[s+1].evaluate(t);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return nL(u,h,l);case"color":return rL.interpolate(u,h,l);case"padding":return uL.interpolate(u,h,l);case"colorArray":return cL.interpolate(u,h,l);case"numberArray":return hL.interpolate(u,h,l);case"variableAnchorOffsetCollection":return fL.interpolate(u,h,l);case"array":return iL(u,h,l);case"projectionDefinition":return mL.interpolate(u,h,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"hcl");case"colorArray":return cL.interpolate(u,h,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return rL.interpolate(u,h,l,"lab");case"colorArray":return cL.interpolate(u,h,l,"lab")}}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function VL(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 WL{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=>MF(i,t.type));return new WL(s?vF: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 gL&&!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 HL(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 KL(t,e,n,i){return 0===i.compare(e,n)}function XL(t,e,n){const i="=="!==t&&"!="!==t;return class r{constructor(t,e,n){this.type=gF,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,vF);if(!s)return null;if(!HL(n,s.type))return e.concat(1).error(`"${n}" comparisons are not supported for type '${RF(s.type)}'.`);let o=e.parse(t[2],2,vF);if(!o)return null;if(!HL(n,o.type))return e.concat(2).error(`"${n}" comparisons are not supported for type '${RF(o.type)}'.`);if(s.type.kind!==o.type.kind&&"value"!==s.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${RF(s.type)}' and '${RF(o.type)}'.`);i&&("value"===s.type.kind&&"value"!==o.type.kind?s=new SL(o.type,[s]):"value"!==s.type.kind&&"value"===o.type.kind&&(o=new SL(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,bF),!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=vL(s),n=vL(o);if(e.kind!==n.kind||"string"!==e.kind&&"number"!==e.kind)throw new dL(`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=vL(s),n=vL(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 YL=XL("==",function(t,e,n){return e===n},KL),ZL=XL("!=",function(t,e,n){return e!==n},function(t,e,n,i){return!KL(0,e,n,i)}),JL=XL("<",function(t,e,n){return e",function(t,e,n){return e>n},function(t,e,n,i){return i.compare(e,n)>0}),tN=XL("<=",function(t,e,n){return e<=n},function(t,e,n,i){return i.compare(e,n)<=0}),eN=XL(">=",function(t,e,n){return e>=n},function(t,e,n,i){return i.compare(e,n)>=0});class nN{constructor(t,e,n){this.type=bF,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,gF);if(!i)return null;const r=e.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,gF);if(!r)return null;let s=null;return n.locale&&(s=e.parse(n.locale,1,fF),!s)?null:new nN(i,r,s)}evaluate(t){return new sL(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 iN{constructor(t,e,n,i,r){this.type=fF,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,pF);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,fF),!r))return null;let s=null;if(i.currency&&(s=e.parse(i.currency,1,fF),!s))return null;let o=null;if(i["min-fraction-digits"]&&(o=e.parse(i["min-fraction-digits"],1,pF),!o))return null;let a=null;return i["max-fraction-digits"]&&(a=e.parse(i["max-fraction-digits"],1,pF),!a)?null:new iN(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 rN{constructor(t){this.type=wF,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,pF),!t))return null;let s=null;if(n["text-font"]&&(s=e.parse(n["text-font"],1,TF(fF)),!s))return null;let o=null;if(n["text-color"]&&(o=e.parse(n["text-color"],1,mF),!o))return null;let a=null;if(n["vertical-align"]){if("string"==typeof n["vertical-align"]&&!oL.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,fF),!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,vF);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 rN(i)}evaluate(t){return new lL(this.sections.map(e=>{const n=e.content.evaluate(t);return vL(n)===CF?new aL("",n,null,null,null,e.verticalAlign?e.verticalAlign.evaluate(t):null):new aL(bL(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 sN{constructor(t){this.type=CF,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const n=e.parse(t[1],1,fF);return n?new sN(n):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),n=gL.fromString(e);return n&&t.availableImages&&(n.available=t.availableImages.indexOf(e)>-1),n}eachChild(t){t(this.input)}outputDefined(){return!1}}class oN{constructor(t){this.type=pF,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 ${RF(n.type)} instead.`):new oN(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 dL(`Expected value to be of type string or array, but found ${RF(vL(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const aN=8192;function lN(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*aN),Math.round(i*s*aN)]}function uN(t,e){const n=Math.pow(2,e.z);return[(r=(t[0]/aN+e.x)/n,360*r-180),(i=(t[1]/aN+e.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function hN(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 cN(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function dN(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 pN(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 fN(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]&&!(!bN(t,e,n,i)||!bN(n,i,t,e));var s,o}function gN(t,e,n){for(const i of n)for(let n=0;n0&&c<0||h<0&&c>0}function wN(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}hN(e,t)}function EN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t)for(const t of a){const i=[t.x+s[0],t.y+s[1]];SN(i,e,n,r),o.push(i)}return o}function CN(t,e,n,i){const r=Math.pow(2,i.z)*aN,s=[i.x*aN,i.y*aN],o=[];for(const a of t){const t=[];for(const n of a){const i=[n.x+s[0],n.y+s[1]];hN(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)SN(i,e,n,r)}return o}class kN{constructor(t,e){this.type=gF,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(_L(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 kN(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new kN(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new kN(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=wN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!mN(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=EN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!yN(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=wN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!_N(t,s))return!1}if("MultiPolygon"===e.type){const s=xN(e.coordinates,i,r),o=CN(t.geometry(),n,i,r);if(!cN(n,i))return!1;for(const t of o)if(!vN(t,s))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class TN{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 RN(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+=h/this.kx*d,u+=c/this.ky*d)),h=this.wrap(e[0]-l)*this.kx,c=(e[1]-u)*this.ky;const p=h*h+c*c;p180;)t-=360;return t}}function AN(t,e){return e[0]-t[0]}function FN(t){return t[1]-t[0]+1}function LN(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const n=FN(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 DN(t,e){if(!LN(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)hN(n,t[i]);return n}function jN(t){const e=[1/0,1/0,-1/0,-1/0];for(const n of t)for(const t of n)hN(e,t);return e}function zN(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function UN(t,e,n){if(!zN(t)||!zN(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(cN(r,s)){if(HN(t,e))return 0}else if(HN(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(FN(l)<=u){if(!LN(l,t.length))return NaN;if(e){const e=WN(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=VN(t[e],n,i);if(s=Math.min(s,r),0===s)return 0}}else{const n=NN(l,e);XN(o,s,i,t,a,n[0]),XN(o,s,i,t,a,n[1])}}return s}function JN(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 TN([[0,[0,t.length-1],[0,n.length-1]]],AN);for(;a.length>0;){const s=a.pop();if(s[0]>=o)continue;const l=s[1],u=s[2],h=e?50:100,c=i?50:100;if(FN(l)<=h&&FN(u)<=c){if(!LN(l,t.length)&&LN(u,n.length))return NaN;let s;if(e&&i)s=$N(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=BN(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=BN(t[n],e,r),o=Math.min(o,s),0===o)return o}else s=GN(t,l,n,u,r),o=Math.min(o,s)}else{const s=NN(l,e),h=NN(u,i);YN(a,o,r,t,n,s[0],h[0]),YN(a,o,r,t,n,s[0],h[1]),YN(a,o,r,t,n,s[1],h[0]),YN(a,o,r,t,n,s[1],h[1])}}return o}function QN(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 tD{constructor(t,e){this.type=pF,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(_L(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new tD(e,e.features.map(t=>QN(t.geometry)).flat());if("Feature"===e.type)return new tD(e,QN(e.geometry));if("type"in e&&"coordinates"in e)return new tD(e,QN(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=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!1,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!1,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(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=>uN([e.x,e.y],t.canonical));if(0===n.length)return NaN;const r=new ON(i[0][1]);let s=1/0;for(const o of e){switch(o.type){case"Point":s=Math.min(s,JN(i,!0,[o.coordinates],!1,r,s));break;case"LineString":s=Math.min(s,JN(i,!0,o.coordinates,!0,r,s));break;case"Polygon":s=Math.min(s,ZN(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=RN(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=>uN([e.x,e.y],t.canonical)))),r=new ON(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,ZN([o.coordinates],!1,t,r,s));break;case"LineString":s=Math.min(s,ZN(o.coordinates,!0,t,r,s));break;case"Polygon":s=Math.min(s,KN(t,o.coordinates,r,s))}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class eD{constructor(t){this.type=vF,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 eD(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?YF(n,this.key):null}eachChild(){}outputDefined(){return!1}}const nD={"==":YL,"!=":ZL,">":QL,"<":JL,">=":eN,"<=":tN,array:SL,at:IL,boolean:SL,case:LL,coalesce:WL,collator:nN,format:rN,image:sN,in:OL,"index-of":AL,interpolate:GL,"interpolate-hcl":GL,"interpolate-lab":GL,length:oN,let:PL,literal:wL,match:FL,number:SL,"number-format":iN,object:SL,slice:NL,step:jL,string:SL,"to-boolean":CL,"to-color":CL,"to-number":CL,"to-string":CL,var:ML,within:kN,distance:tD,"global-state":eD};class iD{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=iD.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 RL(e.registry,lD,e.path,null,e.scope);const i=[];let s=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(RF).join(", ")})`:`(${RF(e.type)}...)`;var e}).join(" | "),i=[];for(let r=1;r{n=e?n&&lD(t):n&&t instanceof wL}),!!n&&uD(t)&&cD(t,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function uD(t){if(t instanceof iD){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 kN)return!1;if(t instanceof tD)return!1;let e=!0;return t.eachChild(t=>{e&&!uD(t)&&(e=!1)}),e}function hD(t){if(t instanceof iD&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild(t=>{e&&!hD(t)&&(e=!1)}),e}function cD(t,e){if(t instanceof iD&&e.indexOf(t.name)>=0)return!1;let n=!0;return t.eachChild(t=>{n&&!cD(t,e)&&(n=!1)}),n}function dD(t){return{result:"success",value:t}}function pD(t){return{result:"error",value:t}}function fD(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)&&vL(t)===_F}iD.register(nD,{error:[{kind:"error"},[fF],(t,[e])=>{throw new dL(e.evaluate(t))}],typeof:[fF,[vF],(t,[e])=>RF(vL(e.evaluate(t)))],"to-rgba":[TF(pF,4),[mF],(t,[e])=>{const[n,i,r,s]=e.evaluate(t).rgb;return[255*n,255*i,255*r,s]}],rgb:[mF,[pF,pF,pF],rD],rgba:[mF,[pF,pF,pF,pF],rD],has:{type:gF,overloads:[[[fF],(t,[e])=>sD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>sD(e.evaluate(t),n.evaluate(t))]]},get:{type:vF,overloads:[[[fF],(t,[e])=>oD(e.evaluate(t),t.properties())],[[fF,_F],(t,[e,n])=>oD(e.evaluate(t),n.evaluate(t))]]},"feature-state":[vF,[fF],(t,[e])=>oD(e.evaluate(t),t.featureState||{})],properties:[_F,[],t=>t.properties()],"geometry-type":[fF,[],t=>t.geometryType()],id:[vF,[],t=>t.id()],zoom:[pF,[],t=>t.globals.zoom],"heatmap-density":[pF,[],t=>t.globals.heatmapDensity||0],elevation:[pF,[],t=>t.globals.elevation||0],"line-progress":[pF,[],t=>t.globals.lineProgress||0],accumulated:[vF,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[pF,aD(pF),(t,e)=>{let n=0;for(const i of e)n+=i.evaluate(t);return n}],"*":[pF,aD(pF),(t,e)=>{let n=1;for(const i of e)n*=i.evaluate(t);return n}],"-":{type:pF,overloads:[[[pF,pF],(t,[e,n])=>e.evaluate(t)-n.evaluate(t)],[[pF],(t,[e])=>-e.evaluate(t)]]},"/":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)/n.evaluate(t)],"%":[pF,[pF,pF],(t,[e,n])=>e.evaluate(t)%n.evaluate(t)],ln2:[pF,[],()=>Math.LN2],pi:[pF,[],()=>Math.PI],e:[pF,[],()=>Math.E],"^":[pF,[pF,pF],(t,[e,n])=>Math.pow(e.evaluate(t),n.evaluate(t))],sqrt:[pF,[pF],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))],log2:[pF,[pF],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[pF,[pF],(t,[e])=>Math.sin(e.evaluate(t))],cos:[pF,[pF],(t,[e])=>Math.cos(e.evaluate(t))],tan:[pF,[pF],(t,[e])=>Math.tan(e.evaluate(t))],asin:[pF,[pF],(t,[e])=>Math.asin(e.evaluate(t))],acos:[pF,[pF],(t,[e])=>Math.acos(e.evaluate(t))],atan:[pF,[pF],(t,[e])=>Math.atan(e.evaluate(t))],min:[pF,aD(pF),(t,e)=>Math.min(...e.map(e=>e.evaluate(t)))],max:[pF,aD(pF),(t,e)=>Math.max(...e.map(e=>e.evaluate(t)))],abs:[pF,[pF],(t,[e])=>Math.abs(e.evaluate(t))],round:[pF,[pF],(t,[e])=>{const n=e.evaluate(t);return n<0?-Math.round(-n):Math.round(n)}],floor:[pF,[pF],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[pF,[pF],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[gF,[fF,vF],(t,[e,n])=>t.properties()[e.value]===n.value],"filter-id-==":[gF,[vF],(t,[e])=>t.id()===e.value],"filter-type-==":[gF,[fF],(t,[e])=>t.geometryType()===e.value],"filter-<":[gF,[fF,vF],(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":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>i}],"filter-<=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n<=i}],"filter->=":[gF,[fF,vF],(t,[e,n])=>{const i=t.properties()[e.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[gF,[vF],(t,[e])=>{const n=t.id(),i=e.value;return typeof n==typeof i&&n>=i}],"filter-has":[gF,[vF],(t,[e])=>e.value in t.properties()],"filter-has-id":[gF,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[gF,[TF(fF)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[gF,[TF(vF)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[gF,[fF,TF(vF)],(t,[e,n])=>n.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[gF,[fF,TF(vF)],(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:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)&&n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(!n.evaluate(t))return!1;return!0}]]},any:{type:gF,overloads:[[[gF,gF],(t,[e,n])=>e.evaluate(t)||n.evaluate(t)],[aD(gF),(t,e)=>{for(const n of e)if(n.evaluate(t))return!0;return!1}]]},"!":[gF,[gF],(t,[e])=>!e.evaluate(t)],"is-supported-script":[gF,[fF],(t,[e])=>{const n=t.globals&&t.globals.isSupportedScript;return!n||n(e.evaluate(t))}],upcase:[fF,[fF],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[fF,[fF],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[fF,aD(vF),(t,e)=>e.map(e=>bL(e.evaluate(t))).join("")],"resolved-locale":[fF,[bF],(t,[e])=>e.evaluate(t).resolvedLocale()]});class gD{constructor(t,e){this.expression=t,this._warningHistory={},this._evaluator=new TL,this._defaultValue=e?function(t){if("color"===t.type&&fD(t.default))return new rL(0,0,0,0);switch(t.type){case"color":return rL.parse(t.default)||null;case"padding":return uL.parse(t.default)||null;case"numberArray":return hL.parse(t.default)||null;case"colorArray":return cL.parse(t.default)||null;case"variableAnchorOffsetCollection":return fL.parse(t.default)||null;case"projectionDefinition":return mL.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 dL(`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 mD(t,e){const n=new RL(nD,lD,[],e?function(t){const e={color:mF,string:fF,number:pF,enum:fF,boolean:gF,formatted:wF,padding:xF,numberArray:EF,colorArray:SF,projectionDefinition:yF,resolvedImage:CF,variableAnchorOffsetCollection:kF};return"array"===t.type?TF(e[t.value]||vF,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?dD(new gD(i,e)):pD(n.errors)}class yD{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!hD(e.expression),this.globalStateRefs=wD(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 _D{constructor(t,e,n,i){this.kind=t,this.zoomStops=n,this._styleExpression=e,this.isStateDependent="camera"!==t&&!hD(e.expression),this.globalStateRefs=wD(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 vD(t,e){const n=mD(t,e);if("error"===n.result)return n;const i=n.value.expression,r=uD(i);if(!r&&"data-driven"!==(s=e)["property-type"]&&"cross-faded-data-driven"!==s["property-type"])return pD([new hF("","data expressions not supported")]);var s;const o=cD(i,["zoom"]);if(!o&&!function(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}(e))return pD([new hF("","zoom expressions not supported")]);const a=bD(i);if(!a&&!o)return pD([new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof hF)return pD([a]);if(a instanceof GL&&!function(t){return!!t.expression&&t.expression.interpolated}(e))return pD([new hF("",'"interpolate" expressions cannot be used with this property')]);if(!a)return dD(new yD(r?"constant":"source",n.value));const l=a instanceof GL?a.interpolation:void 0;return dD(new _D(r?"camera":"composite",n.value,a.labels,l))}function bD(t){let e=null;if(t instanceof PL)e=bD(t.result);else if(t instanceof WL){for(const n of t.args)if(e=bD(n),e)break}else(t instanceof jL||t instanceof GL)&&t.input instanceof iD&&"zoom"===t.input.name&&(e=t);return e instanceof hF||t.eachChild(t=>{const n=bD(t);n instanceof hF?e=n:!e&&n?e=new hF("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new hF("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function wD(t,e=new Set){return t instanceof eD&&e.add(t.key),t.eachChild(t=>{wD(t,e)}),e}function xD(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(!xD(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const SD={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ED(t){if(null==t)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};xD(t)||(t=TD(t));const e=mD(t,SD);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:kD(t),getGlobalStateRefs:()=>wD(e.value.expression)}}function CD(t,e){return te?1:0}function kD(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(TD))):"all"===e?["all"].concat(t.slice(1).map(TD)):"none"===e?["all"].concat(t.slice(1).map(TD).map(ID)):"in"===e?PD(t[1],t.slice(2)):"!in"===e?ID(PD(t[1],t.slice(2))):"has"===e?MD(t[1]):"!has"!==e||ID(MD(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 PD(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(CD)]]:["filter-in-small",t,["literal",e]]}}function MD(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function ID(t){return["!",t]}function OD(t){return"object"==typeof t?["literal",t]:t}function AD(t){switch(t.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function FD(t,e){const n=OD((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 LD(t,e,n){const i=jD(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(FD(t,e)),i}if("categorical"===i){const i=["match",r];for(const t of n)DD(i,t[0],t[1],!1);return i.push(FD(t,e)),i}if("interval"===i){const e=["step",["number",r]];for(const t of n)DD(e,t[0],t[1],!0);return ND(e),void 0===t.default?e:["case",["==",["typeof",r],"number"],e,OD(t.default)]}if("exponential"===i){const e=void 0!==t.base?t.base:1,i=[AD(t),1===e?["linear"]:["exponential",e],["number",r]];for(const t of n)DD(i,t[0],t[1],!1);return void 0===t.default?i:["case",["==",["typeof",r],"number"],i,OD(t.default)]}throw new Error(`Unknown property function type ${i}`)}function ND(t){"step"===t[0]&&3===t.length&&(t.push(0),t.push(t[3]))}function DD(t,e,n,i){t.length>3&&e===t[t.length-2]||(i&&2===t.length||t.push(e),t.push(n))}function jD(t,e){return t.type?t.type:e.expression.interpolated?"exponential":"interval"}function zD(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 BD={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},qD=" ",$D=/(italic|oblique)$/i,GD={};function VD(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,h=t.length;u1?c[c.length-2].toLowerCase():"";if(d==p||d==p.replace("-","")||f+"-"+d==p){o=r?o:BD[p],c.pop(),f&&p.startsWith(f)&&c.pop();break}}r||"number"!=typeof d||(o=d,r=!0);var g=c.join(qD).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==g.indexOf(qD)&&(g='"'+g+'"'),l.push(g)}i=GD[t]=[a,o,l]}return i[0]+qD+i[1]+qD+e+"px"+(n?"/"+n:"")+qD+i[2]}class WD extends uI{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 HD 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 KD extends HD{constructor(t,e,n,i,r,s){super(t,e,s),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_,jS?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(jS)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&&zS?(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 XD{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 YD(t,e,n,i,r){return void 0!==r?(r.minX=t,r.maxX=e,r.minY=n,r.maxY=i,r):new XD(t,e,n,i)}const ZD=[];class JD extends HD{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,ZD)),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_&&(qT(this.context_),ZD.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}}let QD=class extends HD{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 tj="https://api.mapbox.com";function ej(t){return 0!==t.indexOf("mapbox://")?"":t.slice(9)}function nj(t,e,n){const i=ej(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`${tj}/styles/v1/${r}/sprite?access_token=${e}`}function ij(t,e){const n=ej(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`${tj}/styles/v1/${i}?&access_token=${e}`}const rj=["a","b","c","d"];function sj(t,e,n,i){const r=new URL(t,i||location.href),s=ej(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 rj.map(t=>`https://${t}.tiles.mapbox.com/v4/${s}/{z}/{x}/{y}.vector.pbf?access_token=${e}`)}const oj=Object.freeze({}),aj={},lj={};let uj=0;function hj(t){return t.id||(t.id=uj++),t.id}function cj(t){let e=aj[t.id];return e||(e={},aj[hj(t)]=e),e}function dj(t){return t*Math.PI/180}const pj=function(){const t=[];for(let e=78271.51696402048;t.length<=24;e/=2)t.push(e);return t}();function fj(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 gj(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 yj[e]=[r,a],a}function vj(t,e){if("string"!=typeof t)return Promise.resolve(t);if(!t.trim().startsWith("{"))return _j("Style",t=ij(t,e.accessToken),e);try{const e=JSON.parse(t);return Promise.resolve(e)}catch(pD){return Promise.reject(pD)}}const bj={};function wj(t,e,n={}){const i=[e,JSON.stringify(t)].toString();let r=bj[i];if(!r||n.transformRequest){let s;n.transformRequest&&(s=(t,e)=>{const i=n.transformRequest&&n.transformRequest(e,"Tiles")||e;if(t instanceof QD)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=sj(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=_j("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}")),sj(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}")),sj(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`"));bj[i]=r}return r}function xj(t,e,n,i){const r=[2*n*e.pixelRatio+e.width,2*n*e.pixelRatio+e.height],s=fj(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,h=a.width;u0&&o.arc(u,t,n*e.pixelRatio,0,2*Math.PI);return o.fill(),s}function Sj(t,e,n){const i=Math.max(0,Math.min(1,(n-t)/(e-t)));return i*i*(3-2*i)}function Ej(t,e,n){const i=fj(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 Cj=Array(256).join(" ");function kj(t,e){if(e>=.05){let n="";const i=t.split("\n"),r=Cj.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 Tj;function Rj(){return Tj||(Tj=fj(1,1).getContext("2d")),Tj}function Pj(t,e){return Rj().measureText(t).width+(t.length-1)*e}const Mj={};function Ij(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=Rj();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(Pj(t,i)<.35*r){const r=e>0?Pj(l[e-1],i):1/0,s=e.7*r&&Pj(s,i)<.6*r){const o=t.split(" "),a=o.pop();Pj(a,i)<.2*r&&(l[e]=o.join(" "),l[e+1]=a+" "+s),n-=1}}s=l.join("\n")}else s=t;s=kj(s,i),Mj[r]=s}return s}CI.on("propertychange",()=>{for(const t in Mj)delete Mj[t]});const Oj=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],Aj={},Fj={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},Lj={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]},Nj={zoom:0,distanceFromCenter:0};let Dj,jj;function zj(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]||oj)[n];const r=UD[`${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 nD);if(!s&&fD(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,OD(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],zD(t[1])]:[t[0],OD(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=rL.parse(i)),a[n]=function(){return i}}}var l;return a[n](Nj,i,s)}function Uj(t,e,n,i){return zj(t,"layout",`${n}-allow-overlap`,e,i)?zj(t,"layout",`${n}-ignore-placement`,e,i)?"none":"obstacle":"declutter"}function Bj(t,e,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(t in i))try{i[t]=ED(e).filter}catch(r){console.warn("Filter will evaluate to false: "+r.message),i[t]=function(){return!1}}return i[t](Nj,n)}function qj(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}iD.register(nD,{...iD.definitions,pitch:[{kind:"number"},[],()=>Nj.pitch||90],"distance-from-center":[{kind:"number"},[],()=>Nj.distanceFromCenter||0]});const $j=/\{[^{}}]*\}/g;function Gj(t,e){return t.replace($j,function(t){return e[t.slice(1,-1)]||""})}function Vj(t,e){let n=t.split(":")[0];return n===t&&(n="default"),e[n]}const Wj={};class Hj{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=MA,this.supportedMediaTypes=null}getReadOptions(t,e){if(e){let n=e.dataProjection?nk(e.dataProjection):this.readProjection(t);e.extent&&n&&"tile-pixels"===n.getUnits()&&(n=nk(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 Kj(t,e,n){const i=n?nk(n.featureProjection):null,r=n?nk(n.dataProjection):null;let s=t;if(i&&r&&!lk(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(ck(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;nYj({...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 Kj(new BA(i,"Polygon"===i?function(t,e,n){return Array.isArray(e[0])?(mT(t,0,e,n)||_T(t=t.slice(),0,e,n),t):(gT(t,0,e,n)||yT(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 Zj(t,e){if(!t)return null;if(Array.isArray(t)){const n=t.map(t=>Zj(t,e));return new FA(n)}return Kj(new(0,Xj[t.type])(t.flatCoordinates,t.layout||"XY",t.ends),!1,e)}class Jj extends Hj{constructor(){super()}getType(){return"json"}readFeature(t,e){return this.readFeatureFromObject(Qj(t),this.getReadOptions(t,e))}readFeatures(t,e){return this.readFeaturesFromObject(Qj(t),this.getReadOptions(t,e))}readFeatureFromObject(t,e){return SS()}readFeaturesFromObject(t,e){return SS()}readGeometry(t,e){return this.readGeometryFromObject(Qj(t),this.getReadOptions(t,e))}readGeometryFromObject(t,e){return SS()}readProjection(t){return this.readProjectionFromObject(Qj(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 Qj(t){return"string"==typeof t?JSON.parse(t)||null:null!==t?t:null}class tz extends Jj{constructor(t){t=t||{},super(),this.dataProjection=nk(t.dataProjection?t.dataProjection:"EPSG:4326"),t.featureProjection&&(this.defaultFeatureProjection=nk(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=ez(n.geometry);if(this.featureClass===BA)return Yj({geometry:i,id:n.id,properties:n.properties},e);const r=new MA;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(Zj(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)*iz;return this.pos+=8,t}readSFixed64(){const t=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iz;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 az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<3,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<10,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<17,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(127&s)<<24,s<128)return az(t,r,e);if(s=i[n.pos++],r|=(1&s)<<31,s<128)return az(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&&sz?sz.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&&lz(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&&lz(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,uz,e)}writePackedSVarint(t,e){e.length&&this.writeMessage(t,hz,e)}writePackedBoolean(t,e){e.length&&this.writeMessage(t,pz,e)}writePackedFloat(t,e){e.length&&this.writeMessage(t,cz,e)}writePackedDouble(t,e){e.length&&this.writeMessage(t,dz,e)}writePackedFixed32(t,e){e.length&&this.writeMessage(t,fz,e)}writePackedSFixed32(t,e){e.length&&this.writeMessage(t,gz,e)}writePackedFixed64(t,e){e.length&&this.writeMessage(t,mz,e)}writePackedSFixed64(t,e){e.length&&this.writeMessage(t,yz,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 az(t,e,n){return n?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lz(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 uz(t,e){for(let n=0;n>3}if(o--,1===s||2===s)a+=t.readSVarint(),l+=t.readSVarint(),1===s&&u>h&&(i.push(u),h=u),n.push(a,l),u+=2;else{if(7!==s)throw new Error("Invalid command found in the PBF");u>h&&(n.push(n[h],n[h+1]),u+=2)}}u>h&&(i.push(u),h=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===BA)r=new this.featureClass(u,a,l,2,s,o),r.transform(n.dataProjection);else{let t;if("Polygon"==u){const e=vT(a,l);t=e.length>1?new zA(a,"XY",e):new bT(a,"XY",l)}else t="Point"===u?new iT(a,"XY"):"LineString"===u?new NA(a,"XY"):"MultiPoint"===u?new jA(a,"XY"):"MultiLineString"===u?new DA(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const e=Kj(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=nk((e=this.adaptOptions(e)).dataProjection);i.setWorldExtent(e.extent),e.dataProjection=i;const r=new oz(t),s=r.readFields(vz,{}),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 wz(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),h=Math.floor(o.height*((s[3]-i[1])/u));return h<0||h>=o.height?null:this.getImageData(o,l,h)}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,h=t.viewState,c=h.center,d=h.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=mk(l.extent,h.projection);v=VE(e,t.extent),_=v&&!bE(e,t.extent),_&&this.clipUnrotated(y,t,e)}const b=n.getImage(),w=kk(this.tempTransform,g/2,m/2,p,f,0,a*(i[0]-c[0])/s,a*(c[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 Ez extends ZR{constructor(t){super(t=t||{})}}class Cz extends Ez{constructor(t){super(t)}createRenderer(){return new Sz(this)}getData(t){return super.getData(t)}}function kz(t){return t instanceof Image||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageBitmap?t:null}const Tz=new Error("disposed"),Rz=[256,256];class Pz extends HD{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=kz(this.data_);return t?[t.width,t.height]:Rz}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(Tz),this.controller_=null),super.disposeInternal()}}let Mz;const Iz=[];function Oz(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 Az(t,e){return Math.abs(t[4*e]-210)>2||Math.abs(t[4*e+3]-191.25)>2}function Fz(t,e,n,i){const r=dk(n,e,t);let s=ik(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=ik(t,s,r)/s;isFinite(e)&&e>0&&(s/=e)}return s}function Lz(t,e,n,i,r,s,o,a,l,u,h,c,d){const p=zT(Math.round(n*t),Math.round(n*e),Iz);if(c||(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,_=(c?1:1+Math.pow(2,-24))/y;d&&1===l.length&&0===u||(m=zT(Math.round(GE(g)*y),Math.round(UE(g)*y),Iz),c||(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=GE(t.clipExtent)*y,r=UE(t.clipExtent)*y;m.rect(c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?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=GE(t.extent)*y,r=UE(t.extent)*y;m.drawImage(t.image,u,u,t.image.width-2*u,t.image.height-2*u,c?e:Math.round(e),c?n:Math.round(n),c?i:Math.round(e+i)-Math.round(e),c?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],h=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,h-=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,h,0,0,x-d],[0,0,o,a,w-y],[0,0,u,h,S-y]]);if(!k)return;if(p.save(),p.beginPath(),function(){if(void 0===Mz){const t=zT(6,6,Iz);t.globalCompositeOperation="lighter",t.fillStyle="rgba(210, 0, 0, 0.75)",Oz(t,4,5,4,0),Oz(t,4,5,0,5);const e=t.getImageData(0,0,3,3).data;Mz=Az(e,0)||Az(e,4)||Az(e,8),qT(t),Iz.push(t.canvas)}return Mz}()||!c){p.moveTo(b,w);const t=4,e=d-b,n=y-w;for(let i=0;iEk(o,dk(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}):ck(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()&&GE(i)>=GE(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?GE(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?GE(this.targetProj_.getExtent()):null;const h=qE(n),c=$E(n),d=LE(n),p=FE(n),f=this.transformInv_(h),g=this.transformInv_(c),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_(h,c,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&&h<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=GE(gE([t,e,n,i]))/this.targetWorldWidth_>.25||p),!d&&this.sourceProj_.isGlobal()&&h&&(p=h>.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],c)+aE(o[0],c))/2-aE(i[0],c):(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],h=this.transformInv_(u),c=[(i[0]+t[0])/2,(i[1]+t[1])/2],d=this.transformInv_(c);this.addQuad_(t,e,u,c,r,s,h,d,l-1),this.addQuad_(c,u,n,i,d,h,o,a,l-1)}else{const u=[(t[0]+e[0])/2,(t[1]+e[1])/2],h=this.transformInv_(u),c=[(n[0]+i[0])/2,(n[1]+i[1])/2],d=this.transformInv_(c);this.addQuad_(t,u,c,i,r,h,d,a,l-1),this.addQuad_(u,e,n,c,h,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 Dz extends HD{constructor(t,e,n,i,r,s,o,a,l,u,h,c){super(r,0,c),this.renderEdges_=void 0!==h&&h,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=NE(n);let s=Fz(t,e,r,i);return(!isFinite(s)||s<=0)&&OE(n,function(n){return s=Fz(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 Nz(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=GE(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_=Lz(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_&&(qT(this.canvas_.getContext("2d")),Iz.push(this.canvas_),this.canvas_=null),super.release()}}class jz{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 zz(t,e,n,i){return void 0!==i?(i[0]=t,i[1]=e,i[2]=n,i):[t,e,n]}function Uz(t,e,n,i,r){return`${CS(t)},${e},${function(t,e,n){return t+"/"+e+"/"+n}(n,i,r)}`}function Bz(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 qz(t,e,n){const i=t[n];return!!i&&i.delete(e)}function $z(t,e){const n=t.layerStatesArray[t.layerIndex];n.extent&&(e=BE(e,mk(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 Gz extends SA{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 XD(0,0,0,0),this.tempTileCoord_=zz(0,0,0);const n=void 0!==e.cacheSize?e.cacheSize:512;this.tileCache_=new jz(n),this.sourceTileCache_=null,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getSourceTileCache(){return this.sourceTileCache_||(this.sourceTileCache_=new jz(512)),this.sourceTileCache_}getOrCreateTile(t,e,n,i){const r=this.tileCache_,s=this.getLayer().getSource(),o=Uz(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||lk(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=Ek(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),h=jP(a.getTileSize(u)),c=a.getResolution(u);let d;if(n instanceof KD||n instanceof Dz)d=n.getImage();else{if(!(n instanceof Pz))continue;if(d=kz(n.getData()),!d)continue}const p=Math.floor(l*((i[0]-r[0])/c-t[1]*h[0])),f=Math.floor(l*((r[1]-i[1])/c-t[2]*h[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 h=t.wantedTiles[u],c=o.getMapInternal(),d=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(o.getMaxResolution(),c?c.getView().getResolutionForZoom(Math.max(o.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),p=s.rotation,f=p?zE(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(!Bz(i,n,g))continue;const o=n.getKey();if(h[o]=!0,0===n.getState()&&!t.tileQueue.isKeyQueued(o)){const i=zz(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,c-1,x,S-1)},0),!(c in x))return this.container;const C=CS(this),k=t.time;for(const A of x[c]){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)){qz(x,A,c),t.animate=!0;continue}if(this.findAltTiles_(h,n,c+1,x))continue;const i=h.getMinZoom();for(let t=c-1;t>=i&&!this.findAltTiles_(h,n,t,x);--t);}const T=d/s*a/g,R=this.getRenderContext(t);kk(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 M;P.sort(rS);const I=[],O=[];for(let A=P.length-1;A>=0;--A){const e=P[A],n=u.getTilePixelSize(e,a,r),i=h.getResolution(e)/d,s=n[0]*i*T,o=n[1]*i*T,l=h.getTileCoordForCoordAndZ(qE(w),e),c=h.getTileCoordExtent(l),p=Ek(this.tempTransform,[g*(c[0]-w[0])/d,g*(w[3]-c[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),h=l[2]-n[2],c=Math.round(p[1]-(h-1)*o),d=Math.round(p[0]-i*s),g=Math.round(p[1]-h*o),m=a-d,y=c-g,_=1===P.length;let v=!1;M=[d,g,d+m,g,d+m,g+y,d,g+y];for(let t=0,r=I.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 Pz){if(l=kz(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),h=CS(this),c=e.layerStatesArray[e.layerIndex],d=c.opacity*(a?t.getAlpha(h,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!==c.opacity?e.animate=!0:a&&t.endTransition(h)}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 Vz="preload",Wz="useInterimTilesOnError";class Hz extends ZR{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(Vz)}setPreload(t){this.set(Vz,t)}getUseInterimTilesOnError(){return this.get(Wz)}setUseInterimTilesOnError(t){this.set(Wz,t)}getData(t){return super.getData(t)}}class Kz extends Hz{constructor(t){super(t)}createRenderer(){return new Gz(this,{cacheSize:this.getCacheSize()})}}const Xz={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},Yz={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]};class Zz extends Gz{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),h=!(a[0]||a[1]),c=u.getZForResolution(o,l.zDirection)===t;return h&&c?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(),h=l.getTileGrid(),c=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=Ek(this.renderedPixelToCoordinateTransform_,t.slice()),u=a.getTileCoordForCoordAndResolution(l,o).toString(),h=this.renderedTiles.find(t=>t.tileCoord.toString()===u&&2===t.getState());if(!h||h.loadingSourceTiles>0)return void e([]);i.getWrapX()&&r.canWrapX()&&!bE(s,a.getTileCoordExtent(h.tileCoord))&&JE(l,r);const c=CS(n),d=qE(a.getTileCoordExtent(h.wrappedTileCoord)),p=[(l[0]-d[0])/o,(d[1]-l[1])/o],f=h.getSourceTiles().reduce((t,e)=>t.concat(e.getFeatures()),[]);let g=h.hitDetectionImageData[c];if(!g){const t=jP(a.getTileSize(a.getZForResolution(o,i.zDirection))),e=this.renderedRotation_;g=dA(t,[this.getRenderTransform(a.getTileCoordCenter(h.wrappedTileCoord),o,0,cA,t[0]*cA,t[1]*cA,0)],f,n.getStyleFunction(),a.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(n).renderedResolution,e),h.hitDetectionImageData[c]=g}e(pA(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,oA,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),h=this.getLayer().getSource().getTileGridForProjection(e.viewState.projection),c=t.tileCoord,d=h.getTileCoordExtent(t.wrappedTileCoord),p=h.getTileCoordExtent(c,this.tempExtent)[0]-d[0];return xk(Ck(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?Yz[s].filter(t=>!oA.includes(t)):Yz[s],u=e.viewState,h=u.rotation,c=r.getSource(),d=c.getTileGridForProjection(u.projection).getZForResolution(u.resolution,c.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 c=!1;const b=s[0].getClipCoords(o);let w,x=t;if(b){w=new HO,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 eU extends yS{constructor(t,e){super(t),this.image=e}}class nU extends $A{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||lk(r,i))return r&&(i=r),this.getImageInternal(t,e,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&lk(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 tU(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=NE(t),s=cE(GE(t)/i,4),o=cE(UE(t)/i,4);return jE(r,i,0,[s+2*cE(0*s/2,4),o+2*cE(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_&&Qz(this.wantedResolution_)===s||Qz(this.image.getResolution())===s)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=s,this.image=new uI(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 eU(n,e))}}const iU=[0,0,0];class rU{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 XD(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=YD(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 hU extends yS{constructor(t,e){super(t),this.tile=e}}function cU(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=Uz(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=nk(t);if(n){const t=CS(n);t in this.tileGridForProjection||(this.tileGridForProjection[t]=e)}}}function TU(t,e){if(jS){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 kU{constructor(t){if(super({attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:t.interpolate,projection:nk("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=nk("EPSG:4326"),n=this.getProjection();let i;if(void 0!==t.bounds){const r=uk(e,n);i=HE(t.bounds,r)}const r=lU(n),s=t.minzoom||0,o=oU({extent:r,maxZoom:t.maxzoom||22,minZoom:s,tileSize:this.tileSize_});if(this.tileGrid=o,this.tileUrlFunction=EU(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 PU extends CU{constructor(t){const e=t.projection||"EPSG:3857",n=t.extent||lU(e),i=t.tileGrid||oU({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:MU,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:QD,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&&!lk(e,l)&&(s=pk(s,e,l));const u=this.tileGrid,h=u.getExtent();h&&BE(s,h,s);let c=a;e&&l&&!lk(e,l)&&(c=a/l.getMetersPerUnit()/e.getMetersPerUnit());const d=u.getZForResolution(c,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{h=h&&!this.tileUrlFunction(t,i,l)})}const c=new JD(s,h?4:0,o,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return c.key=this.getKey(),c}getTileGridForProjection(t){const e=t.getCode();let n=this.tileGrids_[e];if(!n){const i=this.projection;if(null!==i&&!lk(i,t))return sU(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?c-A+d:d-A,O=Math.atan(Math.sqrt(M*M+I*I)),q=m*Math.cos(O)+g*Math.sin(O)*Math.cos(f-A),F=Math.cos(O),L=255*q,z=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*z*255,g:(1-F)*v.g*z*255,b:(1-F)*v.b*z*255,a:(1-F)*v.a*z*255},N=Math.abs(((A+f)/Math.PI+.5)%2-1),j={r:(y.r*(1-N)+_.r*N)*L,g:(y.g*(1-N)+_.g*N)*L,b:(y.b*(1-N)+_.b*N)*L,a:(y.a*(1-N)+_.a*N)*L},T=4*(x*i+w),o[T]=D.r*(1-N)+j.r,o[T+1]=D.g*(1-N)+j.g,o[T+2]=D.b*(1-N)+j.b,o[T+3]=s[T+3]*e.opacity*z*Math.sin(B);return new ImageData(o,i,r)}function OU(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 h,c,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(c=0;c<=l;++c)for(h=0;h<=a;++h){d=4*(c*i+h),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 LU(t,e){let n;return t.some(function(t){if(t.id==e)return n=t.source,!0}),n}function NU(t,e,n){const i=new RU({tileJSON:e,tileSize:t.tileSize||e.tileSize||512}),r=i.getTileJSON(),s=i.getTileGrid(),o=nk(n.projection||"EPSG:3857"),a=function(t,e){const n=t.bounds;if(n){const t=ok([n[0],n[1]],e),i=ok([n[2],n[3]],e);return[t[0],t[1],i[0],i[1]]}return nk(e).getExtent()}(r,o),l=o.getExtent(),u=r.minzoom||0,h=r.maxzoom||22,c={attributions:i.getAttributions(),projection:o,tileGrid:new rU({origin:l?qE(l):s.getOrigin(0),extent:a||s.getExtent(),minZoom:u,resolutions:AU(o,e.tileSize).slice(0,h+1),tileSize:s.getTileSize(0)})};return Array.isArray(r.tiles)?c.urls=r.tiles:c.url=r.tiles,c}function DU(t,e,n){return new Promise(function(i,r){wj(t,e,n).then(function({tileJson:e,tileLoadFunction:r}){const s=NU(t,e,n);s.tileLoadFunction=r,s.format=new _z({layerName:"mvt:layer"});const o=new PU(s);o.set("mapbox-source",t),i(o)}).catch(r)})}function jU(t){return`{bbox-${(t?t.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function zU(t,e,n){const i=new Kz;return function(t,e,n){return new Promise(function(i,r){wj(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=NU(t,e,n).tileGrid,n.projection&&(s.projection=nk(n.projection));const o=s.getTileUrlFunction();r&&s.setTileLoadFunction(r),s.setTileUrlFunction(function(t,e,n){const i=jU(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 UU(t,e,n){const i=n.projection?new tz({dataProjection:n.projection}):new tz,r=t.data,s={};if("string"==typeof r){const[s]=sj(r,n.accessToken,n.accessTokenParam||"access_token",e||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(s)){const e=(t,e,n)=>{const i=jU(n);return s.replace(i,`${t.join(",")}`)},r=new KA({attributions:t.attribution,format:i,loader:(t,i,s,o,a)=>{_j("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:PA});return r.set("mapbox-source",t),r}const o=new KA({attributions:t.attribution,format:i,url:s,loader:(t,e,i,r,a)=>{_j("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 KA(Object.assign({attributions:t.attribution,format:i},s));return o.set("mapbox-source",t),o}function BU(t,e,n,i){const r=cj(t),s=t.layers,o=n.type,a=n.source||LU(s,n.ref),l=t.sources[a];let u;if("background"==o)u=function(t,e,n){const i=jS?{style:{}}:document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new ZR({source:new $A({}),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,Nj.zoom=gj(e,n.resolutions||pj),Nj.distanceFromCenter=0;const l=zj(r,"paint","background-color",oj,i);return void 0!==o["background-opacity"]&&(a=zj(r,"paint","background-opacity",oj,i)),"none"==s.visibility?void 0:qj(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 Jz({declutter:!0,visible:!1});return DU(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=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:OU,sources:[i]})})}(l,e,i),u.getSource().on("beforeoperations",function(t){Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0;const e=t.data;e.saturation=zj(n,"paint","raster-saturation",oj,r),e.contrast=zj(n,"paint","raster-contrast",oj,r),e.brightnessHigh=zj(n,"paint","raster-brightness-max",oj,r),e.brightnessLow=zj(n,"paint","raster-brightness-min",oj,r),e.hueRotate=zj(n,"paint","raster-hue-rotate",oj,r)})):u=zU(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){Nj.zoom=n,Nj.distanceFromCenter=0;const r=zj(t,"paint","raster-opacity",oj,i);e.setOpacity(r)}(t,e,i,n))}}(n,u,r))}else if("geojson"==l.type)u=function(t,e,n){return new CA({declutter:!0,source:UU(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=zU(t,e,n);return new Cz({source:new gU({operationType:"image",operation:IU,sources:[i]})})}(l,e,i);u=t,t.getSource().on("beforeoperations",function(t){const e=t.data;e.resolution=ik(i.projection||"EPSG:3857",t.resolution,NE(t.extent),"m"),Nj.zoom=gj(t.resolution,i.resolutions||pj),Nj.distanceFromCenter=0,e.encoding=l.encoding,e.vert=5*zj(n,"paint","hillshade-exaggeration",oj,r),e.sunAz=zj(n,"paint","hillshade-illumination-direction",oj,r),e.sunEl=35,e.opacity=.3,e.highlightColor=zj(n,"paint","hillshade-highlight-color",oj,r),e.shadowColor=zj(n,"paint","hillshade-shadow-color",oj,r),e.accentColor=zj(n,"paint","hillshade-accent-color",oj,r)}),u.setVisible(!n.layout||"none"!==n.layout.visibility)}const h=a;return u&&u.set("mapbox-source",h),u}function qU(t,e,n,i,r,s={}){let o=24,a=0;const l=n.layers;for(let u=0,h=l.length;u0||n>0)&&t.setMaxResolution(Math.min(mj(Math.max(0,o-1e-12),pj),mj(Math.max(0,n-1e-12),e.getResolutions()))),a<24&&t.setMinResolution(mj(a,pj))}}else o>0&&t.setMaxResolution(mj(Math.max(0,o-1e-12),pj));h instanceof KA||h instanceof PU?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:ij(s,a.accessToken),a=FU(s,a)),new Promise(function(n,i){vj(e,a).then(function(e){if(8!=e.version)return i(new Error("glStyle version 8 required."));if(!(t instanceof CA||t instanceof Jz))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const h=t instanceof Jz?"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===h}).source,l=o),!o)return i(new Error(`No ${h} source found in the glStyle.`));function c(){if(!u)return Promise.resolve();if(t instanceof Jz)return DU(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()===MU&&n.setTileLoadFunction(e.getTileLoadFunction()),lk(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(mj(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=UU(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),c().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const t=nk(a.projection).getUnits();"m"!==t&&(r=pj.map(e=>e/aC[t]))}let s;const u=t.getSource();u instanceof PU&&u.format_ instanceof _z&&(s=u.format_.layerName_),p=function(t,e,n,i=pj,r,s,o,a){if("string"==typeof e&&(e=JSON.parse(e)),8!=e.version)throw new Error("glStyle version 8 required.");Wj[function(t,e){return hj(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=uF(e.layers),h={},c=[],d={},p={},f=cj(e),g=function(t){let e=lj[t.id];return e||(e={},lj[hj(t)]=e),e}(e);let m;for(let w=0,x=u.length;w=c.maxzoom)continue;const k=c.filter;if(!k||Bj(x,k,T,g)){let i,u,g,b,w,x;const k=h.index;if(3==S&&("fill"==c.type||"fill-extrusion"==c.type))if(u=zj(c,"paint",c.type+"-opacity",T,f,R),c.type+"-pattern"in C){const t=zj(c,"paint",c.type+"-pattern",T,f,R);if(t){const e="string"==typeof t?Gj(t,m):t.toString(),n=Vj(e,l);if(r&&r[e]&&n){++P,x=v[P],x&&x.getFill()&&!x.getStroke()&&!x.getText()||(x=new $I({fill:new zI}),v[P]=x),g=x.getFill(),x.setZIndex(k);const t=e+"."+u;let i=p[t];if(!i){const s=r[e],o=fj(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=qj(zj(c,"paint",c.type+"-color",T,f,R),u),c.type+"-outline-color"in C&&(w=qj(zj(c,"paint",c.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 $I({fill:i?new zI:void 0,stroke:w?new qI: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"==c.type){i="line-pattern"in C?void 0:qj(zj(c,"paint","line-color",T,f,R),zj(c,"paint","line-opacity",T,f,R));const t=zj(c,"paint","line-width",T,f,R);i&&t>0&&(++P,x=v[P],x&&x.getStroke()&&!x.getFill()&&!x.getText()||(x=new $I({stroke:new qI}),v[P]=x),b=x.getStroke(),b.setLineCap(zj(c,"layout","line-cap",T,f,R)),b.setLineJoin(zj(c,"layout","line-join",T,f,R)),b.setMiterLimit(zj(c,"layout","line-miter-limit",T,f,R)),b.setColor(i),b.setWidth(t),b.setLineDash(C["line-dasharray"]?zj(c,"paint","line-dasharray",T,f,R).map(function(e){return e*t}):null),x.setZIndex(k))}let M,I,O,A,F,L,N,D,j,z=!1,U=null,B=0;if((1==S||2==S)&&"icon-image"in E){const e=zj(c,"layout","icon-image",T,f,R);if(e){let i;M="string"==typeof e?Gj(e,m):e.toString();const o=a?a(t,M):void 0,u=Vj(M,l);if(r&&r[M]&&u||o){const t=zj(c,"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(jj||(Dj=[NaN,NaN],jj=new BA("Point",Dj,[],2,{},void 0)),i=jj,Dj[0]=n[0],Dj[1]=n[1],"line"===zj(c,"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=zj(c,"layout","icon-size",T,f,R),n=void 0!==C["icon-color"]?zj(c,"paint","icon-color",T,f,R):null;if(!n||0!==n.a){const i=zj(c,"paint","icon-halo-color",T,f,R),s=zj(c,"paint","icon-halo-width",T,f,R);let a=`${M}.${e}.${s}.${i}`;if(null!==n&&(a+=`.${n}`),I=d[a],!I){const l=Uj(c,T,"icon",f);let h;"icon-offset"in E&&(h=zj(c,"layout","icon-offset",T,f,R).slice(0),h[0]*=e,h[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:h,declutterMode:l,scale:e};"string"==typeof o?n.src=o:(n.img=o,n.imgSize=[o.width,o.height]),I=new BI(n)}else{const o=r[M];let a,c,d;if(s)o.sdf?(a=xj(Ej(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=xj(u.image,o,s,i);else{if(o.sdf&&!u.unSDFed){const t=Ej(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,c=[o.width,o.height],d=[o.x,o.y]}I=new BI({color:p,img:a,imgSize:u.size,size:c,offset:d,rotateWithView:"map"===t,scale:e/o.pixelRatio,displacement:h,declutterMode:l})}d[a]=I}}I&&(++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setGeometry(i),I.setRotation(B+dj(zj(c,"layout","icon-rotate",T,f,R))),I.setOpacity(zj(c,"paint","icon-opacity",T,f,R)),I.setAnchor(Lj[zj(c,"layout","icon-anchor",T,f,R)]),x.setImage(I),U=x.getText(),x.setText(void 0),x.setZIndex(k),z=!0,O=!1)}else O=!0}}}if(1==S&&"circle"===c.type){++P,x=v[P],x&&x.getImage()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x);const t="circle-radius"in C?zj(c,"paint","circle-radius",T,f,R):5,e=qj(zj(c,"paint","circle-stroke-color",T,f,R),zj(c,"paint","circle-stroke-opacity",T,f,R)),n=zj(c,"paint","circle-translate",T,f,R),i=qj(zj(c,"paint","circle-color",T,f,R),zj(c,"paint","circle-opacity",T,f,R)),r=zj(c,"paint","circle-stroke-width",T,f,R),s=t+"."+e+"."+i+"."+r+"."+n[0]+"."+n[1];I=d[s],I||(I=new jI({radius:t,displacement:[n[0],-n[1]],stroke:e&&r>0?new qI({width:r,color:e}):void 0,fill:i?new zI({color:i}):void 0,declutterMode:"none"}),d[s]=I),x.setImage(I),U=x.getText(),x.setText(void 0),x.setGeometry(void 0),x.setZIndex(k),z=!0}if("text-field"in E){N=Math.round(zj(c,"layout","text-size",T,f,R));const t=zj(c,"layout","text-font",T,f,R);L=zj(c,"layout","text-line-height",T,f,R),F=VD(o?o(t,e.metadata?e.metadata["ol:webfonts"]:void 0):t,N,L),F.includes("sans-serif")||(F+=",sans-serif"),D=zj(c,"layout","text-letter-spacing",T,f,R),j=zj(c,"layout","text-max-width",T,f,R);const n=zj(c,"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=VD(o?o(i):i,N*(n.scale||1),L);let s=n.text;if("\n"===s)return e.push("\n",""),e;if(2==S)return e.push(kj(s,D),r),e;s=Ij(s,r,j,D).split("\n");for(let t=0,o=s.length;t0&&e.push("\n",""),e.push(s[t],r);return e},[]):Gj(n,m).trim(),u=zj(c,"paint","text-opacity",T,f,R)}if(A&&u&&!O){z||(++P,x=v[P],x&&x.getText()&&!x.getFill()&&!x.getStroke()||(x=new $I,v[P]=x),x.setImage(void 0),x.setGeometry(void 0));const t=Uj(c,T,"text",f);x.getText()||x.setText(U),U=x.getText(),(!U||"getDeclutterMode"in U&&U.getDeclutterMode()!==t)&&(U=new HI({padding:[2,2,2,2],declutterMode:t}),x.setText(U));const e=zj(c,"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?kj(A,D):Ij(A,F,j,D);if(U.setText(n),U.setFont(F),U.setRotation(dj(zj(c,"layout","text-rotate",T,f,R))),"function"==typeof U.setKeepUpright){const t=zj(c,"layout","text-keep-upright",T,f,R);U.setKeepUpright(t)}const i=zj(c,"layout","text-anchor",T,f,R),r=z||1==S?"point":zj(c,"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=zj(c,"layout","symbol-spacing",T,f,R);U.setRepeat(2*t)}U.setOverflow("point"===r);let o=zj(c,"paint","text-halo-width",T,f,R);const a=zj(c,"layout","text-offset",T,f,R),l=zj(c,"paint","text-translate",T,f,R);let h=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=zj(c,"layout","text-rotation-alignment",T,f,R);U.setRotateWithView("map"==t)}else U.setMaxAngle(dj(zj(c,"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",h=-o-.5*(L-1)*N):0==i.indexOf("top")&&(p="top",h=o+.5*(L-1)*N),U.setTextBaseline(p);const g=zj(c,"layout","text-justify",T,f,R);U.setJustify("auto"===g?void 0:g),U.setOffsetX(a[0]*N+d+l[0]),U.setOffsetY(a[1]*N+h+l[1]),_.setColor(qj(zj(c,"paint","text-color",T,f,R),u)),U.setFill(_);const m=qj(zj(c,"paint","text-halo-color",T,f,R),u);if(m&&o>0){y.setColor(m),o*=2;const t=.5*N;y.setWidth(o<=t?o:t),U.setStroke(y)}else U.setStroke(void 0);const b=zj(c,"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",c),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(jS)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()?c().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:nj(t,e,n)}];for(const i of t)i.url=nj(i.url,e,n);return t}(e.sprite,a.accessToken,s||location.href);d=jS?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){_j("Sprite",r,a).then(t).catch(function(){r=e.origin+e.pathname+".json"+e.search,_j("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=uF(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 c=r.getLayers();-1===c.getArray().indexOf(t)&&c.push(t),t.getSource()?h():t.once("change:source",h)})}class $U extends Dx{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");mapInstance;bookmarkSource;searchOverlay;searchOverlayElement;setupMap=Wx(t=>{if(this.mapInstance)return;const e=new WR;this.bookmarkSource=new KA;const n=new CA({source:this.bookmarkSource,style:[new $I({image:new jI({radius:10,fill:new zI({color:"rgba(0, 0, 0, 0.2)"}),displacement:[0,-2]})}),new $I({image:new jI({radius:9,fill:new zI({color:"#ffcc33"}),stroke:new qI({color:"#fff",width:2})})})],zIndex:10}),i=new TT({center:ok([99.05738,7.55087]),zoom:13,projection:"EPSG:3857"});this.mapInstance=new CO({target:t,layers:[e,n],view:i,controls:QT({zoom:!1,rotate:!1,attribution:!0})}),function(t,e,n={}){let i,r;if(jS){if(!(t instanceof CO||t instanceof WR))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 CO({target:t}):t;{const t=e.startsWith("data:")?location.href:ij(e,n.accessToken);n=FU(t,n),i=new Promise(function(i,s){vj(e,n).then(function(e){(function(t,e,n,i){const r=[];let s=null;if(e instanceof CO){if(s=e.getView(),!s.isDef()&&!s.getRotation()&&!s.getResolutions()){const t=i.projection?nk(i.projection):s.getProjection();s=new TT(Object.assign(s.getProperties(),{maxResolution:pj[0]/aC[t.getUnits()],projection:i.projection||s.getProjection()})),e.setView(s)}"center"in t&&!s.getCenter()&&s.setCenter(ok(t.center,s.getProjection())),"zoom"in t&&void 0===s.getZoom()&&s.setResolution(pj[0]/aC[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,h=[];for(let c=0,d=o.length;c{h&&(clearTimeout(h),h=null);try{c&&(r.un("change:position",p),c=null)}catch(t){}this.locationOverlayElement&&this.locationOverlayElement.classList.remove("active")},p=()=>{const t=r.getPosition(),e=r.getAccuracyGeometry(),n=r.getAccuracy();if(!t)return;const i=this.mapInstance.getSize(),s=this.mapInstance.getView();let o=null;if(this.locationOverlayElement){const e=s.getResolution(),i=2*(n||50)/ik(s.getProjection(),e,t);this.locationOverlayElement.style.width=`${i}px`,this.locationOverlayElement.style.height=`${i}px`,this.locationOverlay.setPosition(t)}if(n&&n<=20&&d(),e){const t=e.getExtent();o=3.162*s.getResolutionForExtent(t,i)}else n&&(o=6.325*n/Math.min(i[0],i[1])/ik(s.getProjection(),1,t));let a={center:t,duration:1e3};if(o){const t=s.getResolutionForZoom(17);a.resolution=Math.max(o,t)}else a.zoom=16;this.mapInstance.getView().animate(a)};u.addEventListener("click",()=>{d(),r.setTracking(!0);const t=r.getPosition();this.locationOverlayElement&&this.locationOverlayElement.classList.add("active"),t&&p(),c=r.on("change:position",p),h=setTimeout(()=>{d()},1e4)});const f=new XT({element:l});this.mapInstance.addLayer(a),this.mapInstance.addControl(f),this.mapInstance.on("singleclick",this.handleMapClick),this.mapInstance.on("moveend",this.handleMapMove),this.mapInstance.on("pointermove",t=>{const e=this.mapInstance.getEventPixel(t.originalEvent),n=this.mapInstance.hasFeatureAtPixel(e,{hitTolerance:10});this.mapInstance.getTarget().style.cursor=n?"pointer":""}),this.storage.rs.on("ready",()=>{this.handleMapMove()})});updateBookmarks=Wx(()=>{const t=this.storage.savedPlaces;this.loadBookmarks(t)});async loadBookmarks(t=[]){try{if(!this.bookmarkSource)return;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 MA({geometry:new iT(ok([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]=ak([e[0],e[1]]),[r,s]=ak([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,{hitTolerance:10});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=ak(t.coordinate),[o,a]=s,l=i?30:50;if(this.searchOverlayElement){const e=this.mapInstance.getView(),n=2*l/ik(e.getProjection(),e.getResolution(),t.coordinate);this.searchOverlayElement.style.width=`${n}px`,this.searchOverlayElement.style.height=`${n}px`,this.searchOverlay.setPosition(t.coordinate),this.searchOverlayElement.classList.add("active")}try{let t=await this.osm.getNearbyPois(a,o,l);t=t.map(t=>({...t,_distance:fx(a,o,t.lat,t.lon)})).sort((t,e)=>t._distance-e._distance);let e=null;if(i&&t.length>0&&(e=t.find(t=>t.osmTags&&(t.osmTags.name===i||t.osmTags["name:en"]===i)),!e)){const n=t[0];if(n._distance<=20){const t=n.osmTags.amenity||n.osmTags.shop||n.osmTags.tourism;r&&t&&(r===t||t.includes(r))?(console.log("Heuristic match found (distance + type):",n),e=n):n._distance<=10&&(console.log("Heuristic match found (proximity):",n),e=n)}}this.args.onPlacesFound&&this.args.onPlacesFound(t,e)}catch(pD){console.error("Failed to fetch POIs:",pD)}finally{this.searchOverlayElement&&this.searchOverlayElement.classList.remove("active")}};static{Di(Cg({id:"p44jAHbH",block:'[[[11,0],[24,0,"map-container"],[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=Fy;function VU(t){return"object"==typeof t&&t&&"isTruthy"in t&&"boolean"==typeof t.isTruthy?t.isTruthy:kc(t)?0!==t.length:!!t}class WU extends Zv{compute(t){for(let e=0,n=t.length;e[W_,WU,GU],isStrictMode:!0}),this)}}class KU extends Zv{compute(t){for(let e=0,n=t.length;e0&&(this.nearbyPlaces=t,this.router.transitionTo("index"))}static{hx(this.prototype,"showPlaces",[ch])}selectFromList(t){t&&this.router.transitionTo("place",t)}static{hx(this.prototype,"selectFromList",[ch])}closeSidebar(){this.nearbyPlaces=null,this.router.transitionTo("index")}static{hx(this.prototype,"closeSidebar",[ch])}refreshBookmarks(){this.storage.notifyChange()}static{hx(this.prototype,"refreshBookmarks",[ch])}static{Di(Cg({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,$U,KU,XU,HU],isStrictMode:!0}),this)}}const ZU=Object.freeze(Object.defineProperty({__proto__:null,default:YU},Symbol.toStringTag,{value:"Module"}));class JU extends Jd{static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage")}const QU=Object.freeze(Object.defineProperty({__proto__:null,default:JU},Symbol.toStringTag,{value:"Module"}));class tB extends Dx{static{ux(this.prototype,"router",[df])}#L=void cx(this,"router");static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"localPlace",[ys],function(){return null})}#D=void cx(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{hx(this.prototype,"handleUpdate",[ch])}refreshMap(){this.storage.notifyChange()}static{hx(this.prototype,"refreshMap",[ch])}close(){this.router.transitionTo("index")}static{hx(this.prototype,"close",[ch])}static{Di(Cg({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:()=>[HU],isStrictMode:!0}),this)}}const eB=Object.freeze(Object.defineProperty({__proto__:null,default:tB},Symbol.toStringTag,{value:"Module"}));class nB extends Jd{static{ux(this.prototype,"storage",[df])}#F=void cx(this,"storage");static{ux(this.prototype,"osm",[df])}#A=void cx(this,"osm");async model(t){const e=t.place_id;if(e.startsWith("osm:node:")||e.startsWith("osm:way:")){const[,t,n]=e.split(":");return console.log(`Fetching explicit OSM ${t}:`,n),this.loadOsmPlace(n,t)}let n=this.storage.findPlaceById(e);return n?(console.log("Found in bookmarks:",n.title),n):(console.log("Not in bookmarks, fetching from OSM:",e),this.loadOsmPlace(e))}async loadOsmPlace(t,e=null){try{const n=await this.osm.getPoiById(t,e);if(n)return console.debug("Found OSM POI:",n),n}catch(n){console.error("Failed to fetch POI",n)}return null}serialize(t){return t.id?{place_id:t.id}:t.osmId&&t.osmType?{place_id:`osm:${t.osmType}:${t.osmId}`}:{place_id:t.osmId}}}const iB=Object.freeze(Object.defineProperty({__proto__:null,default:nB},Symbol.toStringTag,{value:"Module"})),rB=Object.assign({},Ow,{"marco/app":t,"marco/config/environment":Dw,"marco/deprecation-workflow":zw,"marco/router":$w,"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":ZU,"marco/routes/application":QU,"marco/templates/place":eB,"marco/routes/place":iB},{});class sB{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 oB=/[ _]/g,aB=new sB(1e3,t=>{return(e=t,mB.get(e)).replace(oB,"-");var e}),lB=/^(\-|_)+(.)?/,uB=/(.)(\-|\_|\.|\s)+(.)?/g,hB=/(^|\/|\.)([a-z])/g,cB=new sB(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())}),dB=/([a-z\d])([A-Z]+)/g,pB=/\-|\s+/g,fB=new sB(1e3,t=>t.replace(dB,"$1_$2").replace(pB,"_").toLowerCase()),gB=/([a-z\d])([A-Z])/g,mB=new sB(1e3,t=>t.replace(gB,"$1_$2").toLowerCase());class yB{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 _B{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 yB)}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,cB.get(a))};var a}resolveOther(t){vB("`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,"/"),aB.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 vB(`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 vB(t,e){if(!e)throw new Error(t)}const bB={};function wB(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 bB)return;bB[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-D84c68ET.js").catch(r)})}(0,[])}),globalThis.dispatchEvent&&globalThis.dispatchEvent(new Event("Ember"))}(t)}class xB extends Mw{modulePrefix=Nw.modulePrefix;podModulePrefix=Nw.podModulePrefix;Resolver=_B.withModules(rB);inspector=wB(this)}xB.create(Nw.APP);export{to as $,Ir as A,is as B,hr 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,$r as P,Ds as Q,Tr as R,Mr as S,vs as T,ls as U,ms as V,_r as W,es as X,Me as Y,lr as Z,cs as _,y as a,Rl 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,Ns as a9,Kv as aA,ji as aB,Px as aC,Di as aD,U as aE,Mc as aF,lh as aG,Kn as aH,Se as aI,Jt as aJ,Ve as aK,Zt as aL,O as aM,ce as aN,g as aO,d as aP,m as aQ,p as aR,h as aS,f as aT,qt as aU,zt as aV,jt as aW,Ht as aX,Vt as aY,Ml as aZ,Pl as a_,Cr as aa,Xs as ab,Ar as ac,Is as ad,As as ae,jr as af,kr as ag,vr as ah,eo as ai,js as aj,no as ak,er as al,tr as am,ys as an,xs as ao,It as ap,Ot as aq,St as ar,Mt as as,At as at,xt as au,Nt as av,Lt as aw,cv as ax,Sv as ay,Ci as az,v as b,Vu as b$,Ll as b0,Wu as b1,kl as b2,Dl as b3,Al as b4,Il as b5,Hu as b6,Vi as b7,j as b8,W as b9,H_ as bA,Xh as bB,Th as bC,Sh as bD,Eh as bE,fh as bF,kh as bG,vh as bH,gh as bI,Ih as bJ,Rh as bK,Mh as bL,bh as bM,mh as bN,ph as bO,wh as bP,xh as bQ,xl as bR,Nh as bS,zl as bT,lu as bU,du as bV,fu as bW,Iu as bX,qu as bY,Bu as bZ,Bl as b_,G as ba,Ga as bb,ut as bc,z as bd,B as be,Bs as bf,I 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,ht as br,st as bs,pt as bt,F as bu,et as bv,ac as bw,bw as bx,oc as by,Ah as bz,Re as c,wu as c0,hu as c1,Ru as c2,yu as c3,vu as c4,Su as c5,Gu as c6,$u as c7,gu as c8,Cu as c9,Eu as ca,bu as cb,Iw as cc,gw as cd,Fc as ce,jc as cf,dh as cg,Nl as ch,$h as ci,sh as cj,Lh as ck,ah as cl,la as cm,ff as cn,$a as co,Hi as cp,jx as cq,zi as cr,$n as cs,V_ 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,hs 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/release/assets/modules-4-12-D84c68ET.js b/release/assets/modules-4-12-D84c68ET.js new file mode 100644 index 0000000..eee7fd4 --- /dev/null +++ b/release/assets/modules-4-12-D84c68ET.js @@ -0,0 +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-PEcndiCZ.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-PEcndiCZ.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/release/index.html b/release/index.html new file mode 100644 index 0000000..8f9b1b5 --- /dev/null +++ b/release/index.html @@ -0,0 +1,14 @@ + + + + + Marco + + + + + + + + + diff --git a/release/robots.txt b/release/robots.txt new file mode 100644 index 0000000..abcb2d0 --- /dev/null +++ b/release/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/ +User-agent: * +Disallow: