From a0c4ad079cb2e385c3b3db4dcbbec6265f6172ee Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 12 Sep 2025 17:32:26 +0200 Subject: [PATCH] Rebundle latest version --- dist/build/bundle.css | 152 ++++++++++++++++++++------------------- dist/build/bundle.js | 12 ++-- dist/build/bundle.js.map | 2 +- 3 files changed, 86 insertions(+), 80 deletions(-) diff --git a/dist/build/bundle.css b/dist/build/bundle.css index 1078760..80198a8 100644 --- a/dist/build/bundle.css +++ b/dist/build/bundle.css @@ -1,6 +1,6 @@ @charset "UTF-8"; /*! - * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Bootstrap v5.3.8 (https://getbootstrap.com/) * Copyright 2011-2025 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ @@ -547,6 +547,10 @@ legend + * { -webkit-appearance: textfield; outline-offset: -2px; } +[type=search]::-webkit-search-cancel-button { + cursor: pointer; + filter: grayscale(1); +} /* rtl:raw: [type="tel"], @@ -6208,6 +6212,7 @@ textarea.form-control-lg { .spinner-grow, .spinner-border { display: inline-block; + flex-shrink: 0; width: var(--bs-spinner-width); height: var(--bs-spinner-height); vertical-align: var(--bs-spinner-vertical-align); @@ -12042,22 +12047,22 @@ textarea.form-control-lg { /*# sourceMappingURL=bootstrap.css.map */ - footer.svelte-1f2bd8l { + footer.svelte-1sr6y3t { clear: both; font-size: 0.8em; text-align: center; } - footer.svelte-1f2bd8l p:where(.svelte-1f2bd8l) { + footer.svelte-1sr6y3t p:where(.svelte-1sr6y3t) { margin: 1em; } - #last-updated.svelte-tufc94 { + #last-updated.svelte-1r4rqmn { position: relative; font-size: 0.8rem; font-style: italic; } - #loading.svelte-tufc94 { + #loading.svelte-1r4rqmn { display: none; position: absolute; padding: 0.5em 1em; @@ -12069,38 +12074,38 @@ textarea.form-control-lg { } - .navbar-brand.svelte-1eewt5 a:hover { + .navbar-brand.svelte-oiwvqb a:hover { text-decoration: none; } - .navbar-brand.svelte-1eewt5 h1:where(.svelte-1eewt5) { + .navbar-brand.svelte-oiwvqb h1:where(.svelte-oiwvqb) { display: inline; font-size: 1.2em; color: var(--bs-body-color); } - .navbar-brand.svelte-1eewt5 img:where(.svelte-1eewt5) { + .navbar-brand.svelte-oiwvqb img:where(.svelte-oiwvqb) { display: inline-block; margin-right: 5px; margin-top: -5px; } - .nav-item.svelte-1eewt5 { + .nav-item.svelte-oiwvqb { white-space: nowrap; } - .page-title-section.svelte-1eewt5 { + .page-title-section.svelte-oiwvqb { display: none; text-align: center; padding: 1em; } @media (max-width: 600px) { - .page-title-section.svelte-1eewt5 { + .page-title-section.svelte-oiwvqb { display: block; } } - .search-section.svelte-1eewt5 { + .search-section.svelte-oiwvqb { padding: 1em 30px; background-color: var(--bs-tertiary-bg); border-top: 2px solid var(--bs-border-color); @@ -12109,27 +12114,27 @@ textarea.form-control-lg { - .nav-tabs.svelte-1u2ltgo { + .nav-tabs.svelte-1c3z3yb { font-size: 0.8em; margin-top: -1em; } - .nav-link.svelte-1u2ltgo { + .nav-link.svelte-1c3z3yb { padding: 0.1rem 1rem; } - #q.svelte-1u2ltgo { + #q.svelte-1c3z3yb { width: 500px; max-width: 100%; } - #searchAdvancedOptions.svelte-1u2ltgo ul:where(.svelte-1u2ltgo) { + #searchAdvancedOptions.svelte-1c3z3yb ul:where(.svelte-1c3z3yb) { list-style-type: none; padding: 0; font-size: 0.85rem; } - #searchAdvancedOptions.svelte-1u2ltgo li:where(.svelte-1u2ltgo) { + #searchAdvancedOptions.svelte-1c3z3yb li:where(.svelte-1c3z3yb) { display: inline-block; padding: 4px 10px; border-radius: 5px; @@ -12137,18 +12142,18 @@ textarea.form-control-lg { margin-right: 1em; } - #searchAdvancedOptions.svelte-1u2ltgo label:where(.svelte-1u2ltgo) { + #searchAdvancedOptions.svelte-1c3z3yb label:where(.svelte-1c3z3yb) { margin-right: 0.5em; } - .mapicon.svelte-180cawe { + .mapicon.svelte-q7eikn { margin: 10px 0; } - .result.svelte-vvmo5q { + .result.svelte-3u0x56 { font-size: 0.8em; margin: 5px; margin-top: 0; @@ -12160,11 +12165,11 @@ textarea.form-control-lg { min-height: 5em; } - .result.highlight.svelte-vvmo5q { + .result.highlight.svelte-3u0x56 { background-color: var(--bs-primary-bg-subtle); border-color: var(--bs-primary-color-subtle); } - .result.highlight.svelte-vvmo5q a { + .result.highlight.svelte-3u0x56 a { margin: 10px auto; display: block; max-width: 10em; @@ -12172,29 +12177,29 @@ textarea.form-control-lg { color: var(--bs-secondary-color); background-color: var(--bs-secondary-bg); } - .result.svelte-vvmo5q .type:where(.svelte-vvmo5q) { + .result.svelte-3u0x56 .type:where(.svelte-3u0x56) { color: var(--bs-secondary-color); font-size: 0.8em; } - .result.svelte-vvmo5q a { + .result.svelte-3u0x56 a { display: none; } - .result.svelte-vvmo5q .coords:where(.svelte-vvmo5q) { + .result.svelte-3u0x56 .coords:where(.svelte-3u0x56) { display: none; } - .noresults.svelte-vvmo5q{ + .noresults.svelte-3u0x56{ text-align: center; padding: 1em; } - .more.svelte-vvmo5q{ + .more.svelte-3u0x56{ text-align:center; margin-top: 1em; } - .result.highlight.svelte-vvmo5q a:hover { + .result.highlight.svelte-3u0x56 a:hover { background-color: var(--bs-primary-bg-subtle); } @@ -12862,7 +12867,7 @@ svg.leaflet-image-layer.leaflet-interactive path { .leaflet-control-minimap{border:rgba(255,255,255,1) solid;box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:3px;background:#f8f8f9;transition:all .6s}.leaflet-control-minimap a{background-color:rgba(255,255,255,1);background-repeat:no-repeat;z-index:99999;transition:all .6s}.leaflet-control-minimap a.minimized-bottomright{-webkit-transform:rotate(180deg);transform:rotate(180deg);border-radius:0}.leaflet-control-minimap a.minimized-topleft{-webkit-transform:rotate(0deg);transform:rotate(0deg);border-radius:0}.leaflet-control-minimap a.minimized-bottomleft{-webkit-transform:rotate(270deg);transform:rotate(270deg);border-radius:0}.leaflet-control-minimap a.minimized-topright{-webkit-transform:rotate(90deg);transform:rotate(90deg);border-radius:0}.leaflet-control-minimap-toggle-display{background-image:url(images/toggle.svg);background-size:cover;position:absolute;border-radius:3px 0 0}.leaflet-oldie .leaflet-control-minimap-toggle-display{background-image:url(images/toggle.png)}.leaflet-control-minimap-toggle-display-bottomright{bottom:0;right:0}.leaflet-control-minimap-toggle-display-topleft{top:0;left:0;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.leaflet-control-minimap-toggle-display-bottomleft{bottom:0;left:0;-webkit-transform:rotate(90deg);transform:rotate(90deg)}.leaflet-control-minimap-toggle-display-topright{top:0;right:0;-webkit-transform:rotate(270deg);transform:rotate(270deg)}.leaflet-oldie .leaflet-control-minimap{border:1px solid #999}.leaflet-oldie .leaflet-control-minimap a{background-color:#fff}.leaflet-oldie .leaflet-control-minimap a.minimized{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)} - #map-position.svelte-1sakvg7 { + #map-position.svelte-ddd57d { display: block; position: absolute; top: 0; @@ -12874,46 +12879,46 @@ svg.leaflet-image-layer.leaflet-interactive path { margin: 5px } - #map-position-inner.svelte-1sakvg7 { + #map-position-inner.svelte-ddd57d { padding: 0 5px; } - #map-position-close.svelte-1sakvg7 { + #map-position-close.svelte-ddd57d { text-align: right; } @media (max-width: 768px) { - #map-position.svelte-1sakvg7 { + #map-position.svelte-ddd57d { top: 20px; right: 20px; } } - .btn-outline-secondary.svelte-1sakvg7 { + .btn-outline-secondary.svelte-ddd57d { background-color: white; } - .btn-outline-secondary.svelte-1sakvg7:hover { + .btn-outline-secondary.svelte-ddd57d:hover { color: #111; } - #map.svelte-14h1bri { + #map.svelte-c20cna { height: 100%; background:#eee; } @media (max-width: 768px) { - #map.svelte-14h1bri { + #map.svelte-c20cna { height: 300px; } } - .sidebar.svelte-1d53ob0 { + .sidebar.svelte-1yovmmp { width: 25%; min-width: 200px; padding: 15px; @@ -12922,7 +12927,7 @@ svg.leaflet-image-layer.leaflet-interactive path { float: left; } - #map-wrapper.svelte-1d53ob0 { + #map-wrapper.svelte-1yovmmp { position: relative; height: calc(100vh - 250pt); min-height: 300px; @@ -12933,14 +12938,14 @@ svg.leaflet-image-layer.leaflet-interactive path { } @media (max-width: 768px) { - #content.svelte-1d53ob0 { + #content.svelte-1yovmmp { top: 0; position: relative; } - .sidebar.svelte-1d53ob0 { + .sidebar.svelte-1yovmmp { width: 100%; } - #map-wrapper.svelte-1d53ob0 { + #map-wrapper.svelte-1yovmmp { width: 100%; height: 300px; padding-left: 20px; @@ -12948,12 +12953,12 @@ svg.leaflet-image-layer.leaflet-interactive path { } - label.svelte-1s4hp9x { + label.svelte-qriapx { font-size: 0.9rem; margin-top: 0.3rem; } - #switch-coords.svelte-1s4hp9x { + #switch-coords.svelte-qriapx { font-size: 0.6rem; font-weight: bold; cursor: pointer; @@ -12961,13 +12966,13 @@ svg.leaflet-image-layer.leaflet-interactive path { margin: 5px; } - #searchAdvancedOptions.svelte-1s4hp9x ul:where(.svelte-1s4hp9x) { + #searchAdvancedOptions.svelte-qriapx ul:where(.svelte-qriapx) { list-style-type: none; padding: 0; font-size: 0.85rem; } - #searchAdvancedOptions.svelte-1s4hp9x li:where(.svelte-1s4hp9x) { + #searchAdvancedOptions.svelte-qriapx li:where(.svelte-qriapx) { display: inline-block; padding: 4px 10px; border-radius: 5px; @@ -12975,18 +12980,18 @@ svg.leaflet-image-layer.leaflet-interactive path { margin-right: 1em; } - #searchAdvancedOptions.svelte-1s4hp9x label:where(.svelte-1s4hp9x) { + #searchAdvancedOptions.svelte-qriapx label:where(.svelte-qriapx) { margin-right: 0.5em; } @media (max-width: 850px) { - #reverse-lon.svelte-1s4hp9x, #reverse-lat.svelte-1s4hp9x, #reverse-zoom.svelte-1s4hp9x { + #reverse-lon.svelte-qriapx, #reverse-lat.svelte-qriapx, #reverse-zoom.svelte-qriapx { width: 8em; } } - .sidebar.svelte-1d53ob0 { + .sidebar.svelte-1xfaew1 { width: 25%; min-width: 200px; padding: 15px; @@ -12995,7 +13000,7 @@ svg.leaflet-image-layer.leaflet-interactive path { float: left; } - #map-wrapper.svelte-1d53ob0 { + #map-wrapper.svelte-1xfaew1 { position: relative; height: calc(100vh - 250pt); min-height: 300px; @@ -13006,14 +13011,14 @@ svg.leaflet-image-layer.leaflet-interactive path { } @media (max-width: 768px) { - #content.svelte-1d53ob0 { + #content.svelte-1xfaew1 { top: 0; position: relative; } - .sidebar.svelte-1d53ob0 { + .sidebar.svelte-1xfaew1 { width: 100%; } - #map-wrapper.svelte-1d53ob0 { + #map-wrapper.svelte-1xfaew1 { width: 100%; height: 300px; padding-left: 20px; @@ -13021,65 +13026,71 @@ svg.leaflet-image-layer.leaflet-interactive path { } - form.svelte-1kvo9ki .form-control:where(.svelte-1kvo9ki){ + form.svelte-65lout .form-control:where(.svelte-65lout){ width: 500px; max-width: 100%; } - .form-text.svelte-1kvo9ki em:where(.svelte-1kvo9ki) { + .form-text.svelte-65lout em:where(.svelte-65lout) { font-family: monospace; font-style: normal; } - .notused.svelte-17hj2yg td:where(.svelte-17hj2yg) { + .notused.svelte-1xlslzu td:where(.svelte-1xlslzu) { color: var(--bs-secondary-color); font-style: italic; } - td.svelte-17hj2yg { + td.svelte-1xlslzu { padding: 2px 8px; font-size: 0.9em; } - #postcode-hint.svelte-vgllow { + #postcode-hint.svelte-1sch2jo { font-size: 0.9em; background-color: var(--bs-secondary-bg); display: none; } - .name.svelte-ndknvb { + .name.svelte-1utmmfe { font-weight: bold; overflow-wrap: anywhere; } - h1.svelte-1ms9ffa { + h1.svelte-7wcpa9 { margin: 10px 0; padding-left: 8px; } - h1.svelte-1ms9ffa small:where(.svelte-1ms9ffa) a { + h1.svelte-7wcpa9 small:where(.svelte-7wcpa9) a { font-size: 0.5em; white-space: nowrap; } - h2.svelte-1ms9ffa { + h2.svelte-7wcpa9 { font-size: 2em; - padding-left: 8px; background-color: var(--bs-body-bg); + border-bottom: 2px solid silver; + margin-top: 2em; + margin-bottom: 0.5em; } - h3.svelte-1ms9ffa { + h3.svelte-7wcpa9 { font-size: 1.5em; - padding-left: 8px; } - tr.all-columns.svelte-1ms9ffa { + table#locationdetails.svelte-7wcpa9 td:where(.svelte-7wcpa9) { + padding: 2px 8px; + font-size: 0.9em; + } + + tr.all-columns.svelte-7wcpa9 { background-color: var(--bs-body-bg) !important; border: none; } - tr.all-columns.svelte-1ms9ffa td:where(.svelte-1ms9ffa) { + tr.all-columns.svelte-7wcpa9 td:where(.svelte-7wcpa9) { border-top: none !important; padding-left: 0 !important; } @@ -13087,12 +13098,7 @@ svg.leaflet-image-layer.leaflet-interactive path { color: var(--bs-danger); } - tr.info-row.svelte-1ms9ffa td:where(.svelte-1ms9ffa) { - padding: 2px 8px; - font-size: 0.9em; - } - - #map-wrapper.svelte-1ms9ffa { + #map-wrapper.svelte-7wcpa9 { position: relative; width:100%; min-height: auto; @@ -13101,7 +13107,7 @@ svg.leaflet-image-layer.leaflet-interactive path { } - #about-help.svelte-1l5yrvt { + #about-help.svelte-75ywq0 { max-width: 800px; padding: 4em; } diff --git a/dist/build/bundle.js b/dist/build/bundle.js index 6944d87..aacb058 100644 --- a/dist/build/bundle.js +++ b/dist/build/bundle.js @@ -1,25 +1,25 @@ -var app=function(){"use strict";var t=!1,e=Array.isArray,i=Array.prototype.indexOf,n=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyDescriptors,a=Object.prototype,l=Array.prototype,c=Object.getPrototypeOf,h=Object.isExtensible;const u=()=>{};function d(t){return t()}function p(t){for(var e=0;e{try{var e=t()}catch(t){e=Promise.reject(t)}var i=()=>e;o=r?.then(i,i)??Promise.resolve(e),r=o;var l=lt,c=n.pending;a&&(n.update_pending_count(1),c||l.increment());const h=(t,e=void 0)=>{r=null,c||l.activate(),e?e!==D&&(s.f|=S,Tt(s,e)):(0!==(s.f&S)&&(s.f^=S),Tt(s,t)),a&&(n.update_pending_count(-1),c||l.decrement()),rt()};if(o.then(h,(t=>h(null,t||"unknown"))),l)return()=>{queueMicrotask((()=>l.neuter()))}})),new Promise((t=>{!function e(i){function n(){i===o?t(s):e(o)}i.then(n,n)}(o)}))}function tt(t){const e=J(t);return me(e),e}function et(t){const e=J(t);return e.equals=Z,e}function it(t){var e=t.effects;if(null!==e){t.effects=null;for(var i=0;iQ(t)))).then((e=>{a?.activate(),c();try{i([...t.map(n),...e])}catch(t){0===(l.f&x)&&U(t,l)}a?.deactivate(),rt()})).catch((t=>{h.error(t)}))}else i(t.map(n))}function rt(){pe(null),ue(null),$(null)}const at=new Set;let lt=null,ct=null,ht=null,ut=new Set,dt=[];function pt(){const t=dt.shift();dt.length>0&&queueMicrotask(pt),t()}let ft=[],mt=null,_t=!1;class gt{current=new Map;#t=new Map;#e=new Set;#i=0;#n=null;#o=!1;#s=[];#r=[];#a=[];#l=[];#c=[];#h=[];#u=[];skipped_effects=new Set;process(t){ft=[],ct=null;var e=null;if(at.size>1){e=new Map,ht=new Map;for(const[t,i]of this.current)e.set(t,{v:t.v,wv:t.wv}),t.v=i;for(const t of at)if(t!==this)for(const[i,n]of t.#t)e.has(i)||(e.set(i,{v:i.v,wv:i.wv}),i.v=n)}for(const e of t)this.#d(e);if(0===this.#s.length&&0===this.#i){this.#p();var i=this.#a,n=this.#l;this.#a=[],this.#l=[],this.#c=[],ct=lt,lt=null,yt(i),yt(n),null===lt?lt=this:at.delete(this),this.#n?.resolve()}else this.#f(this.#a),this.#f(this.#l),this.#f(this.#c);if(e){for(const[t,{v:i,wv:n}]of e)t.wv<=n&&(t.v=i);ht=null}for(const t of this.#s)Ae(t);for(const t of this.#r)Ae(t);this.#s=[],this.#r=[]}#d(t){t.f^=v;for(var e=t.first;null!==e;){var i=e.f,n=!!(96&i);if(!(n&&0!==(i&v)||0!==(i&w)||this.skipped_effects.has(e))&&null!==e.fn){if(n)e.f^=v;else if(0===(i&v))if(4&i)this.#l.push(e);else if(0!==(i&A)){(e.b?.pending?this.#r:this.#s).push(e)}else Te(e)&&(16&e.f&&this.#c.push(e),Ae(e));var o=e.first;if(null!==o){e=o;continue}}var s=e.parent;for(e=e.next;null===e&&null!==s;)e=s.next,s=s.parent}}#f(t){for(const e of t){(0!==(e.f&y)?this.#h:this.#u).push(e),De(e,v)}t.length=0}capture(t,e){this.#t.has(t)||this.#t.set(t,e),this.current.set(t,t.v)}activate(){lt=this}deactivate(){lt=null,ct=null;for(const t of ut)if(ut.delete(t),t(),null!==lt)break}neuter(){this.#o=!0}flush(){ft.length>0?function(){var e=se;_t=!0;try{var i=0;for(re(!0);ft.length>0;){var n=gt.ensure();if(i++>1e3)t,vt();n.process(ft),wt.clear()}}finally{_t=!1,re(e),mt=null}}():this.#p(),lt===this&&(0===this.#i&&at.delete(this),this.deactivate())}#p(){if(!this.#o)for(const t of this.#e)t();this.#e.clear()}increment(){this.#i+=1}decrement(){if(this.#i-=1,0===this.#i){for(const t of this.#h)De(t,y),bt(t);for(const t of this.#u)De(t,b),bt(t);this.#a=[],this.#l=[],this.flush()}else this.deactivate()}add_callback(t){this.#e.add(t)}settled(){return(this.#n??={promise:new Promise(((i,n)=>{t=i,e=n})),resolve:t,reject:e}).promise;var t,e}static ensure(){if(null===lt){const t=lt=new gt;at.add(lt),gt.enqueue((()=>{lt===t&&t.flush()}))}return lt}static enqueue(t){0===dt.length&&queueMicrotask(pt),dt.unshift(t)}}function vt(){try{!function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(t){U(t,mt)}}function yt(t){var e=t.length;if(0!==e){for(var i=0;io&&0!==(n.f&C))break}}for(;i{if(we===h)return t();var e=ce,i=we;ue(null),xe(h);var n=t();return ue(e),xe(i),n};return o&&n.set("length",Lt(t.length)),new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var o=n.get(e);return void 0===o?o=u((()=>{var t=Lt(i.value);return n.set(e,t),t})):Pt(o,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=u((()=>Lt(N)));n.set(e,t),kt(r)}}else Pt(i,N),kt(r);return!0},get(e,i,o){if(i===O)return t;var r=n.get(i),a=i in e;if(void 0!==r||a&&!s(e,i)?.writable||(r=u((()=>Lt(Ct(a?e[i]:N)))),n.set(i,r)),void 0!==r){var l=Se(r);return l===N?void 0:l}return Reflect.get(e,i,o)},getOwnPropertyDescriptor(t,e){var i=Reflect.getOwnPropertyDescriptor(t,e);if(i&&"value"in i){var o=n.get(e);o&&(i.value=Se(o))}else if(void 0===i){var s=n.get(e),r=s?.v;if(void 0!==s&&r!==N)return{enumerable:!0,configurable:!0,value:r,writable:!0}}return i},has(t,e){if(e===O)return!0;var i=n.get(e),o=void 0!==i&&i.v!==N||Reflect.has(t,e);if((void 0!==i||null!==de&&(!o||s(t,e)?.writable))&&(void 0===i&&(i=u((()=>Lt(o?Ct(t[e]):N))),n.set(e,i)),Se(i)===N))return!1;return o},set(t,e,i,a){var l=n.get(e),c=e in t;if(o&&"length"===e)for(var h=i;hLt(N))),n.set(h+"",d))}void 0===l?c&&!s(t,e)?.writable||(Pt(l=u((()=>Lt(void 0))),Ct(i)),n.set(e,l)):(c=l.v!==N,Pt(l,u((()=>Ct(i)))));var p=Reflect.getOwnPropertyDescriptor(t,e);if(p?.set&&p.set.call(a,i),!c){if(o&&"string"==typeof e){var f=n.get("length"),m=Number(e);Number.isInteger(m)&&m>=f.v&&Pt(f,m+1)}kt(r)}return!0},ownKeys(t){Se(r);var e=Reflect.ownKeys(t).filter((t=>{var e=n.get(t);return void 0===e||e.v!==N}));for(var[i,o]of n)o.v===N||i in t||e.push(i);return e},setPrototypeOf(){!function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function Et(t){try{if(null!==t&&"object"==typeof t&&O in t)return t[O]}catch{}return t}var At,St,Ot,zt;function It(t=""){return document.createTextNode(t)}function Dt(t){return Ot.call(t)}function Nt(t){return zt.call(t)}function Bt(t,e){return Dt(t)}function Zt(t,e){var i=Dt(t);return i instanceof Comment&&""===i.data?Nt(i):i}function jt(t,e=1,i=!1){let n=t;for(;e--;)n=Nt(n);return n}function Rt(t){null===de&&null===ce&&function(){throw new Error("https://svelte.dev/e/effect_orphan")}(),null!==ce&&0!==(ce.f&_)&&null===de&&function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}(),ae&&function(){throw new Error("https://svelte.dev/e/effect_in_teardown")}()}function $t(t,e,i,n=!0){var o=de;null!==o&&0!==(o.f&w)&&(t|=w);var s={ctx:R,deps:null,nodes_start:null,nodes_end:null,f:t|y,first:null,fn:e,last:null,next:null,parent:o,b:o&&o.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(i)try{Ae(s),s.f|=P}catch(t){throw Xt(s),t}else null!==e&&bt(s);if(!(i&&null===s.deps&&null===s.first&&null===s.nodes_start&&null===s.teardown&&0===(s.f&M))&&n&&(null!==o&&function(t,e){var i=e.last;null===i?e.last=e.first=t:(i.next=t,t.prev=i,e.last=t)}(s,o),null!==ce&&2&ce.f&&0===(t&m))){var r=ce;(r.effects??=[]).push(s)}return s}function Ft(t){const e=$t(8,null,!1);return De(e,v),e.teardown=t,e}function Ht(t){Rt();var e=de.f;if(!(!ce&&0!==(e&f)&&0===(e&P)))return qt(t);var i=R;(i.e??=[]).push(t)}function qt(t){return $t(1048580,t,!1)}function Wt(t){return $t(4,t,!1)}function Ut(t,e=[],i=[]){st(e,i,(e=>{$t(8,(()=>t(...e.map(Se))),!0)}))}function Vt(t,e=0){return $t(16|e,t,!0)}function Kt(t,e=!0){return $t(f,t,!0,e)}function Gt(t){var e=t.teardown;if(null!==e){const t=ae,i=ce;le(!0),ue(null);try{e.call(null)}finally{le(t),ue(i)}}}function Yt(t,e=!1){var i=t.first;for(t.first=t.last=null;null!==i;){i.ac?.abort(D);var n=i.next;0!==(i.f&m)?i.parent=null:Xt(i,e),i=n}}function Xt(t,e=!0){var i=!1;(e||262144&t.f)&&null!==t.nodes_start&&null!==t.nodes_end&&(Jt(t.nodes_start,t.nodes_end),i=!0),Yt(t,e&&!i),Ee(t,0),De(t,x);var n=t.transitions;if(null!==n)for(const t of n)t.stop();Gt(t);var o=t.parent;null!==o&&null!==o.first&&Qt(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function Jt(t,e){for(;null!==t;){var i=t===e?null:Nt(t);t.remove(),t=i}}function Qt(t){var e=t.parent,i=t.prev,n=t.next;null!==i&&(i.next=n),null!==n&&(n.prev=i),null!==e&&(e.first===t&&(e.first=n),e.last===t&&(e.last=i))}function te(t,e){var i=[];ie(t,i,!0),ee(i,(()=>{Xt(t),e&&e()}))}function ee(t,e){var i=t.length;if(i>0){var n=()=>--i||e();for(var o of t)o.out(n)}else e()}function ie(t,e,i){if(0===(t.f&w)){if(t.f^=w,null!==t.transitions)for(const n of t.transitions)(n.is_global||i)&&e.push(n);for(var n=t.first;null!==n;){var o=n.next;ie(n,e,!!(0!==(n.f&T)||0!==(n.f&f))&&i),n=o}}}function ne(t){oe(t,!0)}function oe(t,e){if(0!==(t.f&w)){t.f^=w,0===(t.f&v)&&(De(t,y),bt(t));for(var i=t.first;null!==i;){var n=i.next;oe(i,!!(0!==(i.f&T)||0!==(i.f&f))&&e),i=n}if(null!==t.transitions)for(const i of t.transitions)(i.is_global||e)&&i.in()}}let se=!1;function re(t){se=t}let ae=!1;function le(t){ae=t}let ce=null,he=!1;function ue(t){ce=t}let de=null;function pe(t){de=t}let fe=null;function me(t){null!==ce&&(null===fe?fe=[t]:fe.push(t))}let _e=null,ge=0,ve=null;let ye=1,be=0,we=be;function xe(t){we=t}let Le=!1;function Pe(){return++ye}function Te(t){var e=t.f;if(0!==(e&y))return!0;if(0!==(e&b)){var i=t.deps,n=0!==(e&_);if(null!==i){var o,s,r=0!==(e&g),a=n&&null!==de&&!Le,l=i.length;if((r||a)&&(null===de||0===(de.f&x))){var c=t,h=c.parent;for(o=0;ot.wv)return!0}n&&(null===de||Le)||De(t,v)}return!1}function ke(t,e,i=!0){var n=t.reactions;if(null!==n&&!fe?.includes(t))for(var o=0;o0)for(d.length=ge+_e.length,p=0;p<_e.length;p++)d[ge+p]=_e[p];else t.deps=d=_e;if(!Le||2&h&&null!==t.reactions)for(p=ge;pRe(i)));const o=t.__on_r;t.__on_r=o?()=>{o(),n(!0)}:()=>n(!0),je||(je=!0,document.addEventListener("reset",(t=>{Promise.resolve().then((()=>{if(!t.defaultPrevented)for(const e of t.target.elements)e.__on_r?.()}))}),{capture:!0}))}const Fe=new Set,He=new Set;function qe(t,e,i,n,o){var s={capture:n,passive:o},r=function(t,e,i,n={}){function o(t){if(n.capture||Ve.call(e,t),!t.cancelBubble)return Re((()=>i?.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Y((()=>{e.addEventListener(t,o,n)})):e.addEventListener(t,o,n),o}(t,e,i,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Ft((()=>{e.removeEventListener(t,r,s)}))}function We(t){for(var e=0;ea||n});var d=ce,p=de;ue(null),pe(null);try{for(var f,m=[];null!==a;){var _=a.assignedSlot||a.parentNode||a.host||null;try{var g=a["__"+s];if(null!=g&&(!a.disabled||t.target===a))if(e(g)){var[v,...y]=g;v.apply(a,[t,...y])}else g.call(a,t)}catch(t){f?m.push(t):f=t}if(t.cancelBubble||_===i||null===_)break;a=_}if(f){for(let t of m)queueMicrotask((()=>{throw t}));throw f}}finally{t.__root=i,delete t.currentTarget,ue(d),pe(p)}}}function Ke(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("","\x3c!----\x3e"),e.content}function Ge(t,e){var i=de;null===i.nodes_start&&(i.nodes_start=t,i.nodes_end=e)}function Ye(t,e){var i,n=!!(1&e),o=!!(2&e),s=!t.startsWith("");return()=>{void 0===i&&(i=Ke(s?t:""+t),n||(i=Dt(i)));var e=o||St?document.importNode(i,!0):i.cloneNode(!0);n?Ge(Dt(e),e.lastChild):Ge(e,e);return e}}function Xe(t=""){var e=It(t+"");return Ge(e,e),e}function Je(){var t=document.createDocumentFragment(),e=document.createComment(""),i=It();return t.append(e,i),Ge(e,i),t}function Qe(t,e){null!==t&&t.before(e)}function ti(t,e){var i=null==e?"":"object"==typeof e?e+"":e;i!==(t.__t??=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}const ei=new Map;let ii=new WeakMap;function ni(t,e,i=!1){var n=t,o=null,s=null,r=N,a=!1;const l=(t,e=!0)=>{a=!0,u(e,t)};var c=null;function h(){null!==c&&(c.lastChild.remove(),n.before(c),c=null);var t=r?o:s,e=r?s:o;t&&ne(t),e&&te(e,(()=>{r?s=null:o=null}))}const u=(t,e)=>{if(r!==(r=t)){var i=!1,a=n;i,r?o??=e&&Kt((()=>e(a))):s??=e&&Kt((()=>e(a))),h()}};Vt((()=>{a=!1,e(l),a||u(null,null)}),i?T:0)}function oi(t,e){return e}function si(t,i,o,s,r,a=null){var l=t,c={flags:i,items:new Map,first:null};!(4&i)||(l=t.appendChild(It()));var h,u,d=null,p=!1,f=new Map,m=et((()=>{var t=o();return e(t)?t:null==t?[]:n(t)}));function _(){!function(t,e,i,o,s,r,a,l,c){var h,u,d,p,f,m,_=!!(8&a),g=!!(3&a),v=e.length,y=i.items,b=i.first,x=b,L=null,P=[],T=[];if(_)for(m=0;m0){var I=4&a&&0===v?s:null;if(_){for(m=0;m0&&0===o.length&&null!==i;if(a){var l=i.parentNode;l.textContent="",l.append(i),n.clear(),ci(t,e[0].prev,e[s-1].next)}ee(o,(()=>{for(var i=0;i{if(void 0!==u)for(f of u)f.a?.apply()}));for(var D of(t.first=i.first&&i.first.e,t.last=L&&L.e,o.values()))Xt(D.e);o.clear()}(u,h,c,f,l,r,i,s,o),null!==a&&(0===h.length?d?ne(d):d=Kt((()=>a(l))):null!==d&&te(d,(()=>{d=null})))}Vt((()=>{u??=de;var t=(h=Se(m)).length;p&&0===t||(p=0===t,_(),Se(m))}))}function ri(t,e,i,n){1&n&&Tt(t.v,e),2&n?Tt(t.i,i):t.i=i}function ai(t,e,i,n,o,s,r,a,l,c,h){var u=!!(1&l)?!(16&l)?function(t,e=!1,i=!0){const n=xt(t);return e||(n.equals=Z),j&&i&&null!==R&&null!==R.l&&(R.l.s??=[]).push(n),n}(o,!1,!1):xt(o):o,d=2&l?xt(r):r,p={i:d,v:u,k:s,a:null,e:null,prev:i,next:n};try{if(null===t)document.createDocumentFragment().append(t=It());return p.e=Kt((()=>a(t,u,d,c)),false),p.e.prev=i&&i.e,p.e.next=n&&n.e,null===i?h||(e.first=p):(i.next=p,i.e.next=p.e),null!==n&&(n.prev=p,n.e.prev=p.e),p}finally{}}function li(t,e,i){for(var n=t.next?t.next.e.nodes_start:i,o=e?e.e.nodes_start:i,s=t.e.nodes_start;null!==s&&s!==n;){var r=Nt(s);o.before(s),s=r}}function ci(t,e,i){null===e?t.first=i:(e.next=i,e.e.next=i&&i.e),null!==i&&(i.prev=e,i.e.prev=e&&e.e)}function hi(t,e,...i){var n,o=t,s=u;Vt((()=>{s!==(s=e())&&(n&&(Xt(n),n=null),n=Kt((()=>s(o,...i))))}),T)}function ui(t){var e,i,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(e=0;e=0;){var a=r+s;0!==r&&!pi.includes(n[r-1])||a!==n.length&&!pi.includes(n[a])?r=a:n=(0===r?"":n.substring(0,r))+n.substring(a+1)}return""===n?null:n}(i,n,s);null==a?t.removeAttribute("class"):t.className=a,t.__className=i}else if(s&&o!==s)for(var l in s){var c=!!s[l];null!=o&&c===!!o[l]||t.classList.toggle(l,c)}return s}function _i(t,e={},i,n){for(var o in i){var s=i[o];e[o]!==s&&(null==i[o]?t.style.removeProperty(o):t.style.setProperty(o,s,n))}}function gi(t,e,i,n){if(t.__style!==e){var o=function(t,e){if(e){var i,n,o="";return Array.isArray(e)?(i=e[0],n=e[1]):i=e,i&&(o+=fi(i)),n&&(o+=fi(n,!0)),""===(o=o.trim())?null:o}return String(t)}(e,n);null==o?t.removeAttribute("style"):t.style.cssText=o,t.__style=e}else n&&(Array.isArray(n)?(_i(t,i?.[0],n[0]),_i(t,i?.[1],n[1],"important")):_i(t,i,n));return n}function vi(t,i,n=!1){if(t.multiple){if(null==i)return;if(!e(i))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var o of t.options)o.selected=i.includes(bi(o))}else{for(o of t.options){var s=bi(o);if(r=s,a=i,Object.is(Et(r),Et(a)))return void(o.selected=!0)}var r,a;n&&void 0===i||(t.selectedIndex=-1)}}function yi(t,e,i=e){var n=!0;$e(t,"change",(e=>{var n,o=e?"[selected]":":checked";if(t.multiple)n=[].map.call(t.querySelectorAll(o),bi);else{var s=t.querySelector(o)??t.querySelector("option:not([disabled])");n=s&&bi(s)}i(n)})),Wt((()=>{var o=e();if(vi(t,o,n),n&&void 0===o){var s=t.querySelector(":checked");null!==s&&(o=bi(s),i(o))}t.__value=o,n=!1})),function(t){var e=new MutationObserver((()=>{vi(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ft((()=>{e.disconnect()}))}(t)}function bi(t){return"__value"in t?t.__value:t.value}const wi=Symbol("is custom element"),xi=Symbol("is html");function Li(t,e){var i=ki(t);i.value!==(i.value=e??void 0)&&(t.value!==e||0===e&&"PROGRESS"===t.nodeName)&&(t.value=e??"")}function Pi(t,e){var i=ki(t);i.checked!==(i.checked=e??void 0)&&(t.checked=e)}function Ti(t,e,i,n){var o=ki(t);o[e]!==(o[e]=i)&&("loading"===e&&(t[I]=i),null==i?t.removeAttribute(e):"string"!=typeof i&&function(t){var e,i=Mi.get(t.nodeName);if(i)return i;Mi.set(t.nodeName,i=[]);var n=t,o=Element.prototype;for(;o!==n;){for(var s in e=r(n))e[s].set&&i.push(s);n=c(n)}return i}(t).includes(e)?t[e]=i:t.setAttribute(e,i))}function ki(t){return t.__attributes??={[wi]:t.nodeName.includes("-"),[xi]:"http://www.w3.org/1999/xhtml"===t.namespaceURI}}var Mi=new Map;function Ci(t,e,i=e){var n=q(),o=new WeakSet;$e(t,"input",(s=>{var r=s?t.defaultValue:t.value;if(r=Ei(t)?Ai(r):r,i(r),null!==lt&&o.add(lt),n&&r!==(r=e())){var a=t.selectionStart,l=t.selectionEnd;t.value=r??"",null!==l&&(t.selectionStart=a,t.selectionEnd=Math.min(l,t.value.length))}})),null==ze(e)&&t.value&&(i(Ei(t)?Ai(t.value):t.value),null!==lt&&o.add(lt)),function(t,e=0){$t(8|e,t,!0)}((()=>{var i=e();if(t===document.activeElement){var n=ct??lt;if(o.has(n))return}Ei(t)&&i===Ai(t.value)||("date"!==t.type||i||t.value)&&i!==t.value&&(t.value=i??"")}))}function Ei(t){var e=t.type;return"number"===e||"range"===e}function Ai(t){return""===t?null:+t}function Si(t=!1){const e=R,i=e.l.u;if(!i)return;let n=()=>function(t){if("object"==typeof t&&t&&!(t instanceof EventTarget))if(O in t)Ne(t);else if(!Array.isArray(t))for(let e in t){const i=t[e];"object"==typeof i&&i&&O in i&&Ne(i)}}(e.s);if(t){let t=0,i={};const o=J((()=>{let n=!1;const o=e.s;for(const t in o)o[t]!==i[t]&&(i[t]=o[t],n=!0);return n&&t++,t}));n=()=>Se(o)}var o;i.b.length&&(o=()=>{Oi(e,n),p(i.b)},Rt(),$t(1048584,o,!0)),Ht((()=>{const t=ze((()=>i.m.map(d)));return()=>{for(const e of t)"function"==typeof e&&e()}})),i.a.length&&Ht((()=>{Oi(e,n),p(i.a)}))}function Oi(t,e){if(t.l.s)for(const e of t.l.s)Se(e);e()}let zi=!1;function Ii(t,e,i,n){var o,r,a=!j||!!(2&i),l=!!(8&i),c=!!(16&i),h=n,u=!0,d=()=>(u&&(u=!1,h=c?ze(n):n),h);if(l){var p=O in t||z in t;o=s(t,e)?.set??(p&&e in t?i=>t[e]=i:void 0)}var f,m=!1;if(l?[r,m]=function(t){var e=zi;try{return zi=!1,[t(),zi]}finally{zi=e}}((()=>t[e])):r=t[e],void 0===r&&void 0!==n&&(r=d(),o&&(a&&function(){throw new Error("https://svelte.dev/e/props_invalid_value")}(),o(r))),f=a?()=>{var i=t[e];return void 0===i?d():(u=!0,i)}:()=>{var i=t[e];return void 0!==i&&(h=void 0),void 0===i?h:i},a&&!(4&i))return f;if(o){var _=t.$$legacy;return function(t,e){return arguments.length>0?(a&&e&&!_&&!m||o(e?f():t),t):f()}}var g=!1,v=(1&i?J:et)((()=>(g=!1,f())));l&&Se(v);var y=de;return function(t,e){if(arguments.length>0){const i=e?Se(v):a&&l?Ct(t):t;return Pt(v,i),g=!0,void 0!==h&&(h=i),t}return ae&&g||0!==(y.f&x)?v.v:Se(v)}}function Di(t){var e,i;null===R&&function(){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}(),j&&null!==R.l?(e=R,i=e.l,i.u??={a:[],b:[],m:[]}).m.push(t):Ht((()=>{const e=ze(t);if("function"==typeof e)return e}))}function Ni(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}"undefined"!=typeof window&&((window.__svelte??={}).v??=new Set).add("5"),j=!0;var Bi,Zi={exports:{}}; +var app=function(){"use strict";var t=!1,e=Array.isArray,i=Array.prototype.indexOf,n=Array.from,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyDescriptors,a=Object.prototype,l=Array.prototype,c=Object.getPrototypeOf,h=Object.isExtensible;const u=()=>{};function d(t){return t()}function p(t){for(var e=0;e{e===K&&Y()}))}K.push(t)}function J(){var t;K.length>0&&Y(),G.length>0&&(t=G,G=[],p(t))}function Q(){const t=ge.b;return null===t&&function(){throw new Error("https://svelte.dev/e/await_outside_boundary")}(),t}function tt(t){var e=2050,i=null!==fe&&2&fe.f?fe:null;null===ge||null!==i&&0!==(i.f&g)?e|=g:ge.f|=C;return{ctx:j,deps:null,effects:null,equals:B,f:e,fn:t,reactions:null,rv:0,v:N,wv:0,parent:i??ge,ac:null}}function et(t,e){let i=ge;null===i&&function(){throw new Error("https://svelte.dev/e/async_derived_orphan")}();var n=i.b,o=void 0,s=Pt(N),r=null,a=!fe;return function(t){Ut(4718592,t,!0)}((()=>{try{var e=t();r&&Promise.resolve(e).catch((()=>{}))}catch(t){e=Promise.reject(t)}var i=()=>e;o=r?.then(i,i)??Promise.resolve(e),r=o;var l=ht,c=n.is_pending();a&&(n.update_pending_count(1),c||l.increment());const h=(t,e=void 0)=>{r=null,c||l.activate(),e?e!==D&&(s.f|=S,kt(s,e)):(0!==(s.f&S)&&(s.f^=S),kt(s,t)),a&&(n.update_pending_count(-1),c||l.decrement()),lt()};if(o.then(h,(t=>h(null,t||"unknown"))),l)return()=>{queueMicrotask((()=>l.neuter()))}})),new Promise((t=>{!function e(i){function n(){i===o?t(s):e(o)}i.then(n,n)}(o)}))}function it(t){const e=tt(t);return be(e),e}function nt(t){const e=tt(t);return e.equals=Z,e}function ot(t){var e=t.effects;if(null!==e){t.effects=null;for(var i=0;iet(t)))).then((e=>{o?.activate(),r();try{i([...t.map(n),...e])}catch(t){0===(s.f&P)&&U(t,s)}o?.deactivate(),lt()})).catch((t=>{a.error(t)}))}else i(t.map(n))}function lt(){ve(null),me(null),$(null)}const ct=new Set;let ht=null,ut=null,dt=new Set,pt=[],ft=null,_t=!1,mt=!1;class gt{current=new Map;#t=new Map;#e=new Set;#i=0;#n=null;#o=!1;#s=[];#r=[];#a=[];#l=[];#c=[];#h=[];#u=[];skipped_effects=new Set;process(t){pt=[],ut=null;for(const e of t)this.#d(e);if(0===this.#s.length&&0===this.#i){this.#p();var e=this.#a,i=this.#l;this.#a=[],this.#l=[],this.#c=[],ut=ht,ht=null,wt(e),wt(i),null===ht?ht=this:ct.delete(this),this.#n?.resolve()}else this.#f(this.#a),this.#f(this.#l),this.#f(this.#c);for(const t of this.#s)De(t);for(const t of this.#r)De(t);this.#s=[],this.#r=[]}#d(t){t.f^=y;for(var e=t.first;null!==e;){var i=e.f,n=!!(96&i);if(!(n&&0!==(i&y)||0!==(i&x)||this.skipped_effects.has(e))&&null!==e.fn){if(n)e.f^=y;else if(4&i)this.#l.push(e);else if(0===(i&y)){if(0!==(i&A))(e.b?.is_pending()?this.#r:this.#s).push(e);else Ae(e)&&(0!==(e.f&f)&&this.#c.push(e),De(e))}var o=e.first;if(null!==o){e=o;continue}}var s=e.parent;for(e=e.next;null===e&&null!==s;)e=s.next,s=s.parent}}#f(t){for(const e of t){(0!==(e.f&b)?this.#h:this.#u).push(e),$e(e,y)}t.length=0}capture(t,e){this.#t.has(t)||this.#t.set(t,e),this.current.set(t,t.v)}activate(){ht=this}deactivate(){ht=null,ut=null;for(const t of dt)if(dt.delete(t),t(),null!==ht)break}neuter(){this.#o=!0}flush(){pt.length>0?vt():this.#p(),ht===this&&(0===this.#i&&ct.delete(this),this.deactivate())}#p(){if(!this.#o)for(const t of this.#e)t();this.#e.clear()}increment(){this.#i+=1}decrement(){if(this.#i-=1,0===this.#i){for(const t of this.#h)$e(t,b),xt(t);for(const t of this.#u)$e(t,w),xt(t);this.#a=[],this.#l=[],this.flush()}else this.deactivate()}add_callback(t){this.#e.add(t)}settled(){return(this.#n??={promise:new Promise(((i,n)=>{t=i,e=n})),resolve:t,reject:e}).promise;var t,e}static ensure(){if(null===ht){const t=ht=new gt;ct.add(ht),mt||gt.enqueue((()=>{ht===t&&t.flush()}))}return ht}static enqueue(t){X(t)}}function vt(){var e=he;_t=!0;try{var i=0;for(ue(!0);pt.length>0;){var n=gt.ensure();if(i++>1e3)t,yt();n.process(pt),Lt.clear()}}finally{_t=!1,ue(e),ft=null}}function yt(){try{!function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}()}catch(t){U(t,ft)}}let bt=null;function wt(t){var e=t.length;if(0!==e){for(var i=0;i0)){Lt.clear();for(const t of bt)De(t);bt=[]}}bt=null}}function xt(t){for(var e=ft=t;null!==e.parent;){var i=(e=e.parent).f;if(_t&&e===ge&&0!==(i&f))return;if(96&i){if(0===(i&y))return;e.f^=y}}pt.push(e)}const Lt=new Map;function Pt(t,e){return{f:0,v:t,reactions:null,equals:B,rv:0,wv:0}}function Tt(t,e){const i=Pt(t);return be(i),i}function Mt(t,e,i=!1){return null!==fe&&(!_e||0!==(fe.f&k))&&H()&&4325394&fe.f&&!ye?.includes(t)&&function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}(),kt(t,i?At(e):e)}function kt(t,e){if(!t.equals(e)){var i=t.v;de?Lt.set(t,e):Lt.set(t,i),t.v=e,gt.ensure().capture(t,i),2&t.f&&(0!==(t.f&b)&&st(t),$e(t,0===(t.f&g)?y:w)),t.wv=Ee(),Et(t,b),!H()||null===ge||0===(ge.f&y)||96&ge.f||(null===Le?function(t){Le=t}([t]):Le.push(t))}return e}function Ct(t){Mt(t,t.v+1)}function Et(t,e){var i=t.reactions;if(null!==i)for(var n=H(),o=i.length,s=0;s{if(Me===h)return t();var e=fe,i=Me;me(null),ke(h);var n=t();return me(e),ke(i),n};return o&&n.set("length",Tt(t.length)),new Proxy(t,{defineProperty(t,e,i){"value"in i&&!1!==i.configurable&&!1!==i.enumerable&&!1!==i.writable||function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}();var o=n.get(e);return void 0===o?o=u((()=>{var t=Tt(i.value);return n.set(e,t),t})):Mt(o,i.value,!0),!0},deleteProperty(t,e){var i=n.get(e);if(void 0===i){if(e in t){const t=u((()=>Tt(N)));n.set(e,t),Ct(r)}}else Mt(i,N),Ct(r);return!0},get(e,i,o){if(i===O)return t;var r=n.get(i),a=i in e;if(void 0!==r||a&&!s(e,i)?.writable||(r=u((()=>Tt(At(a?e[i]:N)))),n.set(i,r)),void 0!==r){var l=Be(r);return l===N?void 0:l}return Reflect.get(e,i,o)},getOwnPropertyDescriptor(t,e){var i=Reflect.getOwnPropertyDescriptor(t,e);if(i&&"value"in i){var o=n.get(e);o&&(i.value=Be(o))}else if(void 0===i){var s=n.get(e),r=s?.v;if(void 0!==s&&r!==N)return{enumerable:!0,configurable:!0,value:r,writable:!0}}return i},has(t,e){if(e===O)return!0;var i=n.get(e),o=void 0!==i&&i.v!==N||Reflect.has(t,e);if((void 0!==i||null!==ge&&(!o||s(t,e)?.writable))&&(void 0===i&&(i=u((()=>Tt(o?At(t[e]):N))),n.set(e,i)),Be(i)===N))return!1;return o},set(t,e,i,a){var l=n.get(e),c=e in t;if(o&&"length"===e)for(var h=i;hTt(N))),n.set(h+"",d))}void 0===l?c&&!s(t,e)?.writable||(Mt(l=u((()=>Tt(void 0))),At(i)),n.set(e,l)):(c=l.v!==N,Mt(l,u((()=>At(i)))));var p=Reflect.getOwnPropertyDescriptor(t,e);if(p?.set&&p.set.call(a,i),!c){if(o&&"string"==typeof e){var f=n.get("length"),_=Number(e);Number.isInteger(_)&&_>=f.v&&Mt(f,_+1)}Ct(r)}return!0},ownKeys(t){Be(r);var e=Reflect.ownKeys(t).filter((t=>{var e=n.get(t);return void 0===e||e.v!==N}));for(var[i,o]of n)o.v===N||i in t||e.push(i);return e},setPrototypeOf(){!function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}()}})}function St(t){try{if(null!==t&&"object"==typeof t&&O in t)return t[O]}catch{}return t}var Ot,zt,It,Dt;function Nt(t=""){return document.createTextNode(t)}function Bt(t){return It.call(t)}function Zt(t){return Dt.call(t)}function Rt(t,e){return Bt(t)}function jt(t,e){var i=Bt(t);return i instanceof Comment&&""===i.data?Zt(i):i}function $t(t,e=1,i=!1){let n=t;for(;e--;)n=Zt(n);return n}let Ft=!1;function qt(t){var e=fe,i=ge;me(null),ve(null);try{return t()}finally{me(e),ve(i)}}function Ht(t,e,i,n=i){t.addEventListener(e,(()=>qt(i)));const o=t.__on_r;t.__on_r=o?()=>{o(),n(!0)}:()=>n(!0),Ft||(Ft=!0,document.addEventListener("reset",(t=>{Promise.resolve().then((()=>{if(!t.defaultPrevented)for(const e of t.target.elements)e.__on_r?.()}))}),{capture:!0}))}function Wt(t){null===ge&&null===fe&&function(){throw new Error("https://svelte.dev/e/effect_orphan")}(),null!==fe&&0!==(fe.f&g)&&null===ge&&function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}(),de&&function(){throw new Error("https://svelte.dev/e/effect_in_teardown")}()}function Ut(t,e,i,n=!0){var o=ge;null!==o&&0!==(o.f&x)&&(t|=x);var s={ctx:j,deps:null,nodes_start:null,nodes_end:null,f:t|b,first:null,fn:e,last:null,next:null,parent:o,b:o&&o.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(i)try{De(s),s.f|=T}catch(r){throw ie(s),r}else null!==e&&xt(s);if(n){var r=s;if(i&&null===r.deps&&null===r.teardown&&null===r.nodes_start&&r.first===r.last&&0===(r.f&C)&&(r=r.first),null!==r&&(r.parent=o,null!==o&&function(t,e){var i=e.last;null===i?e.last=e.first=t:(i.next=t,t.prev=i,e.last=t)}(r,o),null!==fe&&2&fe.f&&0===(t&m))){var a=fe;(a.effects??=[]).push(r)}}return s}function Vt(t){const e=Ut(8,null,!1);return $e(e,y),e.teardown=t,e}function Kt(t){Wt();var e=ge.f;if(!(!fe&&0!==(e&_)&&0===(e&T)))return Gt(t);var i=j;(i.e??=[]).push(t)}function Gt(t){return Ut(1048580,t,!1)}function Yt(t){return Ut(4,t,!1)}function Xt(t,e=[],i=[]){at(e,i,(e=>{Ut(8,(()=>t(...e.map(Be))),!0)}))}function Jt(t,e=0){return Ut(f|e,t,!0)}function Qt(t,e=!0){return Ut(524320,t,!0,e)}function te(t){var e=t.teardown;if(null!==e){const t=de,i=fe;pe(!0),me(null);try{e.call(null)}finally{pe(t),me(i)}}}function ee(t,e=!1){var i=t.first;for(t.first=t.last=null;null!==i;){const t=i.ac;null!==t&&qt((()=>{t.abort(D)}));var n=i.next;0!==(i.f&m)?i.parent=null:ie(i,e),i=n}}function ie(t,e=!0){var i=!1;(e||262144&t.f)&&null!==t.nodes_start&&null!==t.nodes_end&&(ne(t.nodes_start,t.nodes_end),i=!0),ee(t,e&&!i),Ie(t,0),$e(t,P);var n=t.transitions;if(null!==n)for(const t of n)t.stop();te(t);var o=t.parent;null!==o&&null!==o.first&&oe(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function ne(t,e){for(;null!==t;){var i=t===e?null:Zt(t);t.remove(),t=i}}function oe(t){var e=t.parent,i=t.prev,n=t.next;null!==i&&(i.next=n),null!==n&&(n.prev=i),null!==e&&(e.first===t&&(e.first=n),e.last===t&&(e.last=i))}function se(t,e){var i=[];ae(t,i,!0),re(i,(()=>{ie(t),e&&e()}))}function re(t,e){var i=t.length;if(i>0){var n=()=>--i||e();for(var o of t)o.out(n)}else e()}function ae(t,e,i){if(0===(t.f&x)){if(t.f^=x,null!==t.transitions)for(const n of t.transitions)(n.is_global||i)&&e.push(n);for(var n=t.first;null!==n;){var o=n.next;ae(n,e,!!(0!==(n.f&M)||0!==(n.f&_))&&i),n=o}}}function le(t){ce(t,!0)}function ce(t,e){if(0!==(t.f&x)){t.f^=x,0===(t.f&y)&&($e(t,b),xt(t));for(var i=t.first;null!==i;){var n=i.next;ce(i,!!(0!==(i.f&M)||0!==(i.f&_))&&e),i=n}if(null!==t.transitions)for(const i of t.transitions)(i.is_global||e)&&i.in()}}let he=!1;function ue(t){he=t}let de=!1;function pe(t){de=t}let fe=null,_e=!1;function me(t){fe=t}let ge=null;function ve(t){ge=t}let ye=null;function be(t){null!==fe&&(null===ye?ye=[t]:ye.push(t))}let we=null,xe=0,Le=null;let Pe=1,Te=0,Me=Te;function ke(t){Me=t}let Ce=!1;function Ee(){return++Pe}function Ae(t){var e=t.f;if(0!==(e&b))return!0;if(0!==(e&w)){var i=t.deps,n=0!==(e&g);if(null!==i){var o,s,r=0!==(e&v),a=n&&null!==ge&&!Ce,l=i.length;if((r||a)&&(null===ge||0===(ge.f&P))){var c=t,h=c.parent;for(o=0;ot.wv)return!0}n&&(null===ge||Ce)||$e(t,y)}return!1}function Se(t,e,i=!0){var n=t.reactions;if(null!==n&&!ye?.includes(t))for(var o=0;o{t.ac.abort(D)})),t.ac=null);try{t.f|=E;var u=(0,t.fn)(),d=t.deps;if(null!==we){var p;if(Ie(t,xe),null!==d&&xe>0)for(d.length=xe+we.length,p=0;p0||G.length>0)&&(ht?.flush(),0===pt.length))return void(ft=null);vt()}}finally{mt=t}}()}function Be(t){var e=!!(2&t.f);if(null===fe||_e){if(e&&null===t.deps&&null===t.effects){var i=t,n=i.parent;null!==n&&0===(n.f&g)&&(i.f^=g)}}else if(!(null!==ge&&0!==(ge.f&P))&&!ye?.includes(t)){var o=fe.deps;if(0!==(fe.f&E))t.rvi?.call(this,t)))}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?X((()=>{e.addEventListener(t,o,n)})):e.addEventListener(t,o,n),o}(t,e,i,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Vt((()=>{e.removeEventListener(t,r,s)}))}function Ke(t){for(var e=0;ea||n});var d=fe,p=ge;me(null),ve(null);try{for(var f,_=[];null!==a;){var m=a.assignedSlot||a.parentNode||a.host||null;try{var g=a["__"+s];if(null!=g&&(!a.disabled||t.target===a))if(e(g)){var[v,...y]=g;v.apply(a,[t,...y])}else g.call(a,t)}catch(t){f?_.push(t):f=t}if(t.cancelBubble||m===i||null===m)break;a=m}if(f){for(let t of _)queueMicrotask((()=>{throw t}));throw f}}finally{t.__root=i,delete t.currentTarget,me(d),ve(p)}}}function Xe(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("","\x3c!----\x3e"),e.content}function Je(t,e){var i=ge;null===i.nodes_start&&(i.nodes_start=t,i.nodes_end=e)}function Qe(t,e){var i,n=!!(1&e),o=!!(2&e),s=!t.startsWith("");return()=>{void 0===i&&(i=Xe(s?t:""+t),n||(i=Bt(i)));var e=o||zt?document.importNode(i,!0):i.cloneNode(!0);n?Je(Bt(e),e.lastChild):Je(e,e);return e}}function ti(t=""){var e=Nt(t+"");return Je(e,e),e}function ei(){var t=document.createDocumentFragment(),e=document.createComment(""),i=Nt();return t.append(e,i),Je(e,i),t}function ii(t,e){null!==t&&t.before(e)}function ni(t,e){var i=null==e?"":"object"==typeof e?e+"":e;i!==(t.__t??=t.nodeValue)&&(t.__t=i,t.nodeValue=i+"")}const oi=new Map;let si=new WeakMap;function ri(t,e,i=!1){var n=t,o=null,s=null,r=N,a=!1;const l=(t,e=!0)=>{a=!0,u(e,t)};var c=null;function h(){null!==c&&(c.lastChild.remove(),n.before(c),c=null);var t=r?o:s,e=r?s:o;t&&le(t),e&&se(e,(()=>{r?s=null:o=null}))}const u=(t,e)=>{if(r!==(r=t)){var i=!1,a=n;i,r?o??=e&&Qt((()=>e(a))):s??=e&&Qt((()=>e(a))),h()}};Jt((()=>{a=!1,e(l),a||u(null,null)}),i?M:0)}function ai(t,e){return e}function li(t,i,o,s,r,a=null){var l=t,c={flags:i,items:new Map,first:null};!(4&i)||(l=t.appendChild(Nt()));var h,u,d=null,p=!1,f=new Map,_=nt((()=>{var t=o();return e(t)?t:null==t?[]:n(t)}));function m(){!function(t,e,i,o,s,r,a,l,c){var h,u,d,p,f,_,m=!!(8&a),g=!!(3&a),v=e.length,y=i.items,b=i.first,w=b,L=null,P=[],T=[];if(m)for(_=0;_0){var I=4&a&&0===v?s:null;if(m){for(_=0;_0&&0===o.length&&null!==i;if(a){var l=i.parentNode;l.textContent="",l.append(i),n.clear(),di(t,e[0].prev,e[s-1].next)}re(o,(()=>{for(var i=0;i{if(void 0!==u)for(f of u)f.a?.apply()}));for(var D of(t.first=i.first&&i.first.e,t.last=L&&L.e,o.values()))ie(D.e);o.clear()}(u,h,c,f,l,r,i,s,o),null!==a&&(0===h.length?d?le(d):d=Qt((()=>a(l))):null!==d&&se(d,(()=>{d=null})))}Jt((()=>{u??=ge;var t=(h=Be(_)).length;p&&0===t||(p=0===t,m(),Be(_))}))}function ci(t,e,i,n){1&n&&kt(t.v,e),2&n?kt(t.i,i):t.i=i}function hi(t,e,i,n,o,s,r,a,l,c,h){var u=!!(1&l)?!(16&l)?function(t,e=!1,i=!0){const n=Pt(t);return e||(n.equals=Z),R&&i&&null!==j&&null!==j.l&&(j.l.s??=[]).push(n),n}(o,!1,!1):Pt(o):o,d=2&l?Pt(r):r,p={i:d,v:u,k:s,a:null,e:null,prev:i,next:n};try{if(null===t)document.createDocumentFragment().append(t=Nt());return p.e=Qt((()=>a(t,u,d,c)),false),p.e.prev=i&&i.e,p.e.next=n&&n.e,null===i?h||(e.first=p):(i.next=p,i.e.next=p.e),null!==n&&(n.prev=p,n.e.prev=p.e),p}finally{}}function ui(t,e,i){for(var n=t.next?t.next.e.nodes_start:i,o=e?e.e.nodes_start:i,s=t.e.nodes_start;null!==s&&s!==n;){var r=Zt(s);o.before(s),s=r}}function di(t,e,i){null===e?t.first=i:(e.next=i,e.e.next=i&&i.e),null!==i&&(i.prev=e,i.e.prev=e&&e.e)}function pi(t,e,...i){var n,o=t,s=u;Jt((()=>{s!==(s=e())&&(n&&(ie(n),n=null),n=Qt((()=>s(o,...i))))}),M)}function fi(t){var e,i,n="";if("string"==typeof t||"number"==typeof t)n+=t;else if("object"==typeof t)if(Array.isArray(t)){var o=t.length;for(e=0;e=0;){var a=r+s;0!==r&&!mi.includes(n[r-1])||a!==n.length&&!mi.includes(n[a])?r=a:n=(0===r?"":n.substring(0,r))+n.substring(a+1)}return""===n?null:n}(i,n,s);null==a?t.removeAttribute("class"):t.className=a,t.__className=i}else if(s&&o!==s)for(var l in s){var c=!!s[l];null!=o&&c===!!o[l]||t.classList.toggle(l,c)}return s}function yi(t,e={},i,n){for(var o in i){var s=i[o];e[o]!==s&&(null==i[o]?t.style.removeProperty(o):t.style.setProperty(o,s,n))}}function bi(t,e,i,n){if(t.__style!==e){var o=function(t,e){if(e){var i,n,o="";return Array.isArray(e)?(i=e[0],n=e[1]):i=e,i&&(o+=gi(i)),n&&(o+=gi(n,!0)),""===(o=o.trim())?null:o}return String(t)}(e,n);null==o?t.removeAttribute("style"):t.style.cssText=o,t.__style=e}else n&&(Array.isArray(n)?(yi(t,i?.[0],n[0]),yi(t,i?.[1],n[1],"important")):yi(t,i,n));return n}function wi(t,i,n=!1){if(t.multiple){if(null==i)return;if(!e(i))return void console.warn("https://svelte.dev/e/select_multiple_invalid_value");for(var o of t.options)o.selected=i.includes(Li(o))}else{for(o of t.options){var s=Li(o);if(r=s,a=i,Object.is(St(r),St(a)))return void(o.selected=!0)}var r,a;n&&void 0===i||(t.selectedIndex=-1)}}function xi(t,e,i=e){var n=!0;Ht(t,"change",(e=>{var n,o=e?"[selected]":":checked";if(t.multiple)n=[].map.call(t.querySelectorAll(o),Li);else{var s=t.querySelector(o)??t.querySelector("option:not([disabled])");n=s&&Li(s)}i(n)})),Yt((()=>{var o=e();if(wi(t,o,n),n&&void 0===o){var s=t.querySelector(":checked");null!==s&&(o=Li(s),i(o))}t.__value=o,n=!1})),function(t){var e=new MutationObserver((()=>{wi(t,t.__value)}));e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Vt((()=>{e.disconnect()}))}(t)}function Li(t){return"__value"in t?t.__value:t.value}const Pi=Symbol("is custom element"),Ti=Symbol("is html");function Mi(t,e){var i=Ei(t);i.value!==(i.value=e??void 0)&&(t.value!==e||0===e&&"PROGRESS"===t.nodeName)&&(t.value=e??"")}function ki(t,e){var i=Ei(t);i.checked!==(i.checked=e??void 0)&&(t.checked=e)}function Ci(t,e,i,n){var o=Ei(t);o[e]!==(o[e]=i)&&("loading"===e&&(t[I]=i),null==i?t.removeAttribute(e):"string"!=typeof i&&function(t){var e,i=t.getAttribute("is")||t.nodeName,n=Ai.get(i);if(n)return n;Ai.set(i,n=[]);var o=t,s=Element.prototype;for(;s!==o;){for(var a in e=r(o))e[a].set&&n.push(a);o=c(o)}return n}(t).includes(e)?t[e]=i:t.setAttribute(e,i))}function Ei(t){return t.__attributes??={[Pi]:t.nodeName.includes("-"),[Ti]:"http://www.w3.org/1999/xhtml"===t.namespaceURI}}var Ai=new Map;function Si(t,e,i=e){var n=new WeakSet;Ht(t,"input",(async o=>{var s=o?t.defaultValue:t.value;if(s=Oi(t)?zi(s):s,i(s),null!==ht&&n.add(ht),await Ne(),s!==(s=e())){var r=t.selectionStart,a=t.selectionEnd;t.value=s??"",null!==a&&(t.selectionStart=r,t.selectionEnd=Math.min(a,t.value.length))}})),null==Re(e)&&t.value&&(i(Oi(t)?zi(t.value):t.value),null!==ht&&n.add(ht)),function(t,e=0){Ut(8|e,t,!0)}((()=>{var i=e();if(t===document.activeElement){var o=ut??ht;if(n.has(o))return}Oi(t)&&i===zi(t.value)||("date"!==t.type||i||t.value)&&i!==t.value&&(t.value=i??"")}))}function Oi(t){var e=t.type;return"number"===e||"range"===e}function zi(t){return""===t?null:+t}function Ii(t=!1){const e=j,i=e.l.u;if(!i)return;let n=()=>function(t){if("object"==typeof t&&t&&!(t instanceof EventTarget))if(O in t)Fe(t);else if(!Array.isArray(t))for(let e in t){const i=t[e];"object"==typeof i&&i&&O in i&&Fe(i)}}(e.s);if(t){let t=0,i={};const o=tt((()=>{let n=!1;const o=e.s;for(const t in o)o[t]!==i[t]&&(i[t]=o[t],n=!0);return n&&t++,t}));n=()=>Be(o)}var o;i.b.length&&(o=()=>{Di(e,n),p(i.b)},Wt(),Ut(1048584,o,!0)),Kt((()=>{const t=Re((()=>i.m.map(d)));return()=>{for(const e of t)"function"==typeof e&&e()}})),i.a.length&&Kt((()=>{Di(e,n),p(i.a)}))}function Di(t,e){if(t.l.s)for(const e of t.l.s)Be(e);e()}let Ni=!1;function Bi(t,e,i,n){var o,r,a=!R||!!(2&i),l=!!(8&i),c=!!(16&i),h=n,u=!0,d=()=>(u&&(u=!1,h=c?Re(n):n),h);if(l){var p=O in t||z in t;o=s(t,e)?.set??(p&&e in t?i=>t[e]=i:void 0)}var f,_=!1;if(l?[r,_]=function(t){var e=Ni;try{return Ni=!1,[t(),Ni]}finally{Ni=e}}((()=>t[e])):r=t[e],void 0===r&&void 0!==n&&(r=d(),o&&(a&&function(){throw new Error("https://svelte.dev/e/props_invalid_value")}(),o(r))),f=a?()=>{var i=t[e];return void 0===i?d():(u=!0,i)}:()=>{var i=t[e];return void 0!==i&&(h=void 0),void 0===i?h:i},a&&!(4&i))return f;if(o){var m=t.$$legacy;return function(t,e){return arguments.length>0?(a&&e&&!m&&!_||o(e?f():t),t):f()}}var g=!1,v=(1&i?tt:nt)((()=>(g=!1,f())));l&&Be(v);var y=ge;return function(t,e){if(arguments.length>0){const i=e?Be(v):a&&l?At(t):t;return Mt(v,i),g=!0,void 0!==h&&(h=i),t}return de&&g||0!==(y.f&P)?v.v:Be(v)}}function Zi(t){var e,i;null===j&&function(){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}(),R&&null!==j.l?(e=j,i=e.l,i.u??={a:[],b:[],m:[]}).m.push(t):Kt((()=>{const e=Re(t);if("function"==typeof e)return e}))}function Ri(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}"undefined"!=typeof window&&((window.__svelte??={}).v??=new Set).add("5"),R=!0;var ji,$i={exports:{}}; /*! - * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Bootstrap v5.3.8 (https://getbootstrap.com/) * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */Bi||(Bi=1,Zi.exports=function(){const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const o=t.get(e);o.has(i)||0===o.size?o.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(o.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i=1e6,n=1e3,o="transitionend",s=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),r=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),a=t=>{do{t+=Math.floor(Math.random()*i)}while(document.getElementById(t));return t},l=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const o=Number.parseFloat(e),s=Number.parseFloat(i);return o||s?(e=e.split(",")[0],i=i.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(i))*n):0},c=t=>{t.dispatchEvent(new Event(o))},h=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),u=t=>h(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(s(t)):null,d=t=>{if(!h(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},p=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),f=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?f(t.parentNode):null},m=()=>{},_=t=>{t.offsetHeight},g=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,v=[],y=t=>{"loading"===document.readyState?(v.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of v)t()})),v.push(t)):t()},b=()=>"rtl"===document.documentElement.dir,w=t=>{y((()=>{const e=g();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}}))},x=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,L=(t,e,i=!0)=>{if(!i)return void x(t);const n=5,s=l(e)+n;let r=!1;const a=({target:i})=>{i===e&&(r=!0,e.removeEventListener(o,a),x(t))};e.addEventListener(o,a),setTimeout((()=>{r||c(e)}),s)},P=(t,e,i,n)=>{const o=t.length;let s=t.indexOf(e);return-1===s?!i&&n?t[o-1]:t[0]:(s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))])},T=/[^.]*(?=\..*)\.|.*/,k=/\..*/,M=/::\d+$/,C={};let E=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function z(t){const e=O(t);return t.uidEvent=e,C[e]=C[e]||{},C[e]}function I(t,e){return function i(n){return H(n,{delegateTarget:t}),i.oneOff&&F.off(t,n.type,e),e.apply(t,[n])}}function D(t,e,i){return function n(o){const s=t.querySelectorAll(e);for(let{target:r}=o;r&&r!==this;r=r.parentNode)for(const a of s)if(a===r)return H(o,{delegateTarget:r}),n.oneOff&&F.off(t,o.type,e,i),i.apply(r,[o])}}function N(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function B(t,e,i){const n="string"==typeof e,o=n?i:e||i;let s=$(t);return S.has(s)||(s=t),[n,o,s]}function Z(t,e,i,n,o){if("string"!=typeof e||!t)return;let[s,r,a]=B(e,i,n);if(e in A){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=z(t),c=l[a]||(l[a]={}),h=N(c,r,s?i:null);if(h)return void(h.oneOff=h.oneOff&&o);const u=O(r,e.replace(T,"")),d=s?D(t,i,r):I(t,r);d.delegationSelector=s?i:null,d.callable=r,d.oneOff=o,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,s)}function j(t,e,i,n,o){const s=N(e[i],n,o);s&&(t.removeEventListener(i,s,Boolean(o)),delete e[i][s.uidEvent])}function R(t,e,i,n){const o=e[i]||{};for(const[s,r]of Object.entries(o))s.includes(n)&&j(t,e,i,r.callable,r.delegationSelector)}function $(t){return t=t.replace(k,""),A[t]||t}const F={on(t,e,i,n){Z(t,e,i,n,!1)},one(t,e,i,n){Z(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[o,s,r]=B(e,i,n),a=r!==e,l=z(t),c=l[r]||{},h=e.startsWith(".");if(void 0===s){if(h)for(const i of Object.keys(l))R(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const o=i.replace(M,"");a&&!e.includes(o)||j(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;j(t,l,r,s,o?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=g();let o=null,s=!0,r=!0,a=!1;e!==$(e)&&n&&(o=n.Event(e,i),n(t).trigger(o),s=!o.isPropagationStopped(),r=!o.isImmediatePropagationStopped(),a=o.isDefaultPrevented());const l=H(new Event(e,{bubbles:s,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&o&&o.preventDefault(),l}};function H(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function q(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=q(t.dataset[n])}return e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${W(e)}`))};class V{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=h(e)?U.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...h(e)?U.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=h(e)?"element":r(e);if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`)}}}const K="5.3.7";class G extends V{constructor(t,i){super(),(t=u(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){L(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(u(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return K}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const Y=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>s(t))).join(","):null},X={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!p(t)&&d(t)))},getSelectorFromElement(t){const e=Y(t);return e&&X.findOne(e)?e:null},getElementFromSelector(t){const e=Y(t);return e?X.findOne(e):null},getMultipleElementsFromSelector(t){const e=Y(t);return e?X.find(e):[]}},J=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;F.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),p(this))return;const o=X.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(o)[e]()}))},Q="alert",tt=".bs.alert",et=`close${tt}`,it=`closed${tt}`,nt="fade",ot="show";class st extends G{static get NAME(){return Q}close(){if(F.trigger(this._element,et).defaultPrevented)return;this._element.classList.remove(ot);const t=this._element.classList.contains(nt);this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),F.trigger(this._element,it),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=st.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}J(st,"close"),w(st);const rt="button",at="active",lt='[data-bs-toggle="button"]',ct="click.bs.button.data-api";class ht extends G{static get NAME(){return rt}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(at))}static jQueryInterface(t){return this.each((function(){const e=ht.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}F.on(document,ct,lt,(t=>{t.preventDefault();const e=t.target.closest(lt);ht.getOrCreateInstance(e).toggle()})),w(ht);const ut="swipe",dt=".bs.swipe",pt=`touchstart${dt}`,ft=`touchmove${dt}`,mt=`touchend${dt}`,_t=`pointerdown${dt}`,gt=`pointerup${dt}`,vt="touch",yt="pen",bt="pointer-event",wt=40,xt={endCallback:null,leftCallback:null,rightCallback:null},Lt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Pt extends V{constructor(t,e){super(),this._element=t,t&&Pt.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return xt}static get DefaultType(){return Lt}static get NAME(){return ut}dispose(){F.off(this._element,dt)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),x(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=wt)return;const e=t/this._deltaX;this._deltaX=0,e&&x(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,_t,(t=>this._start(t))),F.on(this._element,gt,(t=>this._end(t))),this._element.classList.add(bt)):(F.on(this._element,pt,(t=>this._start(t))),F.on(this._element,ft,(t=>this._move(t))),F.on(this._element,mt,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===yt||t.pointerType===vt)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Tt="carousel",kt=".bs.carousel",Mt=".data-api",Ct="ArrowLeft",Et="ArrowRight",At=500,St="next",Ot="prev",zt="left",It="right",Dt=`slide${kt}`,Nt=`slid${kt}`,Bt=`keydown${kt}`,Zt=`mouseenter${kt}`,jt=`mouseleave${kt}`,Rt=`dragstart${kt}`,$t=`load${kt}${Mt}`,Ft=`click${kt}${Mt}`,Ht="carousel",qt="active",Wt="slide",Ut="carousel-item-end",Vt="carousel-item-start",Kt="carousel-item-next",Gt="carousel-item-prev",Yt=".active",Xt=".carousel-item",Jt=Yt+Xt,Qt=".carousel-item img",te=".carousel-indicators",ee="[data-bs-slide], [data-bs-slide-to]",ie='[data-bs-ride="carousel"]',ne={[Ct]:It,[Et]:zt},oe={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},se={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class re extends G{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=X.findOne(te,this._element),this._addEventListeners(),this._config.ride===Ht&&this.cycle()}static get Default(){return oe}static get DefaultType(){return se}static get NAME(){return Tt}next(){this._slide(St)}nextWhenVisible(){!document.hidden&&d(this._element)&&this.next()}prev(){this._slide(Ot)}pause(){this._isSliding&&c(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?F.one(this._element,Nt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void F.one(this._element,Nt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?St:Ot;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&F.on(this._element,Bt,(t=>this._keydown(t))),"hover"===this._config.pause&&(F.on(this._element,Zt,(()=>this.pause())),F.on(this._element,jt,(()=>this._maybeEnableCycle()))),this._config.touch&&Pt.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of X.find(Qt,this._element))F.on(t,Rt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(zt)),rightCallback:()=>this._slide(this._directionToOrder(It)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),At+this._config.interval))}};this._swipeHelper=new Pt(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ne[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=X.findOne(Yt,this._indicatorsElement);e.classList.remove(qt),e.removeAttribute("aria-current");const i=X.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(qt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===St,o=e||P(this._getItems(),i,n,this._config.wrap);if(o===i)return;const s=this._getItemIndex(o),r=e=>F.trigger(this._element,e,{relatedTarget:o,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:s});if(r(Dt).defaultPrevented)return;if(!i||!o)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(s),this._activeElement=o;const l=n?Vt:Ut,c=n?Kt:Gt;o.classList.add(c),_(o),i.classList.add(l),o.classList.add(l);const h=()=>{o.classList.remove(l,c),o.classList.add(qt),i.classList.remove(qt,c,l),this._isSliding=!1,r(Nt)};this._queueCallback(h,i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains(Wt)}_getActive(){return X.findOne(Jt,this._element)}_getItems(){return X.find(Xt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return b()?t===zt?Ot:St:t===zt?St:Ot}_orderToDirection(t){return b()?t===Ot?zt:It:t===Ot?It:zt}static jQueryInterface(t){return this.each((function(){const e=re.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}F.on(document,Ft,ee,(function(t){const e=X.getElementFromSelector(this);if(!e||!e.classList.contains(Ht))return;t.preventDefault();const i=re.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===U.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),F.on(window,$t,(()=>{const t=X.find(ie);for(const e of t)re.getOrCreateInstance(e)})),w(re);const ae="collapse",le=".bs.collapse",ce=`show${le}`,he=`shown${le}`,ue=`hide${le}`,de=`hidden${le}`,pe=`click${le}.data-api`,fe="show",me="collapse",_e="collapsing",ge="collapsed",ve=`:scope .${me} .${me}`,ye="collapse-horizontal",be="width",we="height",xe=".collapse.show, .collapse.collapsing",Le='[data-bs-toggle="collapse"]',Pe={parent:null,toggle:!0},Te={parent:"(null|element)",toggle:"boolean"};class ke extends G{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=X.find(Le);for(const t of i){const e=X.getSelectorFromElement(t),i=X.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Pe}static get DefaultType(){return Te}static get NAME(){return ae}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(xe).filter((t=>t!==this._element)).map((t=>ke.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(F.trigger(this._element,ce).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(me),this._element.classList.add(_e),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(_e),this._element.classList.add(me,fe),this._element.style[e]="",F.trigger(this._element,he)},n=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[e]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(F.trigger(this._element,ue).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,_(this._element),this._element.classList.add(_e),this._element.classList.remove(me,fe);for(const t of this._triggerArray){const e=X.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0;const e=()=>{this._isTransitioning=!1,this._element.classList.remove(_e),this._element.classList.add(me),F.trigger(this._element,de)};this._element.style[t]="",this._queueCallback(e,this._element,!0)}_isShown(t=this._element){return t.classList.contains(fe)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=u(t.parent),t}_getDimension(){return this._element.classList.contains(ye)?be:we}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Le);for(const e of t){const t=X.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=X.find(ve,this._config.parent);return X.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle(ge,!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=ke.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}F.on(document,pe,Le,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of X.getMultipleElementsFromSelector(this))ke.getOrCreateInstance(t,{toggle:!1}).toggle()})),w(ke);var Me="top",Ce="bottom",Ee="right",Ae="left",Se="auto",Oe=[Me,Ce,Ee,Ae],ze="start",Ie="end",De="clippingParents",Ne="viewport",Be="popper",Ze="reference",je=Oe.reduce((function(t,e){return t.concat([e+"-"+ze,e+"-"+Ie])}),[]),Re=[].concat(Oe,[Se]).reduce((function(t,e){return t.concat([e,e+"-"+ze,e+"-"+Ie])}),[]),$e="beforeRead",Fe="read",He="afterRead",qe="beforeMain",We="main",Ue="afterMain",Ve="beforeWrite",Ke="write",Ge="afterWrite",Ye=[$e,Fe,He,qe,We,Ue,Ve,Ke,Ge];function Xe(t){return t?(t.nodeName||"").toLowerCase():null}function Je(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Qe(t){return t instanceof Je(t).Element||t instanceof Element}function ti(t){return t instanceof Je(t).HTMLElement||t instanceof HTMLElement}function ei(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Je(t).ShadowRoot||t instanceof ShadowRoot)}function ii(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},o=e.elements[t];ti(o)&&Xe(o)&&(Object.assign(o.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?o.removeAttribute(t):o.setAttribute(t,!0===e?"":e)})))}))}function ni(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],o=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ti(n)&&Xe(n)&&(Object.assign(n.style,s),Object.keys(o).forEach((function(t){n.removeAttribute(t)})))}))}}const oi={name:"applyStyles",enabled:!0,phase:"write",fn:ii,effect:ni,requires:["computeStyles"]};function si(t){return t.split("-")[0]}var ri=Math.max,ai=Math.min,li=Math.round;function ci(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function hi(){return!/^((?!chrome|android).)*safari/i.test(ci())}function ui(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),o=1,s=1;e&&ti(t)&&(o=t.offsetWidth>0&&li(n.width)/t.offsetWidth||1,s=t.offsetHeight>0&&li(n.height)/t.offsetHeight||1);var r=(Qe(t)?Je(t):window).visualViewport,a=!hi()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/o,c=(n.top+(a&&r?r.offsetTop:0))/s,h=n.width/o,u=n.height/s;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function di(t){var e=ui(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function pi(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ei(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function fi(t){return Je(t).getComputedStyle(t)}function mi(t){return["table","td","th"].indexOf(Xe(t))>=0}function _i(t){return((Qe(t)?t.ownerDocument:t.document)||window.document).documentElement}function gi(t){return"html"===Xe(t)?t:t.assignedSlot||t.parentNode||(ei(t)?t.host:null)||_i(t)}function vi(t){return ti(t)&&"fixed"!==fi(t).position?t.offsetParent:null}function yi(t){var e=/firefox/i.test(ci());if(/Trident/i.test(ci())&&ti(t)&&"fixed"===fi(t).position)return null;var i=gi(t);for(ei(i)&&(i=i.host);ti(i)&&["html","body"].indexOf(Xe(i))<0;){var n=fi(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}function bi(t){for(var e=Je(t),i=vi(t);i&&mi(i)&&"static"===fi(i).position;)i=vi(i);return i&&("html"===Xe(i)||"body"===Xe(i)&&"static"===fi(i).position)?e:i||yi(t)||e}function wi(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function xi(t,e,i){return ri(t,ai(e,i))}function Li(t,e,i){var n=xi(t,e,i);return n>i?i:n}function Pi(){return{top:0,right:0,bottom:0,left:0}}function Ti(t){return Object.assign({},Pi(),t)}function ki(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Mi=function(t,e){return Ti("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ki(t,Oe))};function Ci(t){var e,i=t.state,n=t.name,o=t.options,s=i.elements.arrow,r=i.modifiersData.popperOffsets,a=si(i.placement),l=wi(a),c=[Ae,Ee].indexOf(a)>=0?"height":"width";if(s&&r){var h=Mi(o.padding,i),u=di(s),d="y"===l?Me:Ae,p="y"===l?Ce:Ee,f=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],_=bi(s),g=_?"y"===l?_.clientHeight||0:_.clientWidth||0:0,v=f/2-m/2,y=h[d],b=g-u[c]-h[p],w=g/2-u[c]/2+v,x=xi(y,w,b),L=l;i.modifiersData[n]=((e={})[L]=x,e.centerOffset=x-w,e)}}function Ei(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&pi(e.elements.popper,n)&&(e.elements.arrow=n)}const Ai={name:"arrow",enabled:!0,phase:"main",fn:Ci,effect:Ei,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Si(t){return t.split("-")[1]}var Oi={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zi(t,e){var i=t.x,n=t.y,o=e.devicePixelRatio||1;return{x:li(i*o)/o||0,y:li(n*o)/o||0}}function Ii(t){var e,i=t.popper,n=t.popperRect,o=t.placement,s=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,u=t.isFixed,d=r.x,p=void 0===d?0:d,f=r.y,m=void 0===f?0:f,_="function"==typeof h?h({x:p,y:m}):{x:p,y:m};p=_.x,m=_.y;var g=r.hasOwnProperty("x"),v=r.hasOwnProperty("y"),y=Ae,b=Me,w=window;if(c){var x=bi(i),L="clientHeight",P="clientWidth";x===Je(i)&&"static"!==fi(x=_i(i)).position&&"absolute"===a&&(L="scrollHeight",P="scrollWidth"),(o===Me||(o===Ae||o===Ee)&&s===Ie)&&(b=Ce,m-=(u&&x===w&&w.visualViewport?w.visualViewport.height:x[L])-n.height,m*=l?1:-1),o!==Ae&&(o!==Me&&o!==Ce||s!==Ie)||(y=Ee,p-=(u&&x===w&&w.visualViewport?w.visualViewport.width:x[P])-n.width,p*=l?1:-1)}var T,k=Object.assign({position:a},c&&Oi),M=!0===h?zi({x:p,y:m},Je(i)):{x:p,y:m};return p=M.x,m=M.y,l?Object.assign({},k,((T={})[b]=v?"0":"",T[y]=g?"0":"",T.transform=(w.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",T)):Object.assign({},k,((e={})[b]=v?m+"px":"",e[y]=g?p+"px":"",e.transform="",e))}function Di(t){var e=t.state,i=t.options,n=i.gpuAcceleration,o=void 0===n||n,s=i.adaptive,r=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:si(e.placement),variation:Si(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Ii(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ii(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Ni={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Di,data:{}};var Bi={passive:!0};function Zi(t){var e=t.state,i=t.instance,n=t.options,o=n.scroll,s=void 0===o||o,r=n.resize,a=void 0===r||r,l=Je(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach((function(t){t.addEventListener("scroll",i.update,Bi)})),a&&l.addEventListener("resize",i.update,Bi),function(){s&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Bi)})),a&&l.removeEventListener("resize",i.update,Bi)}}const ji={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Zi,data:{}};var Ri={left:"right",right:"left",bottom:"top",top:"bottom"};function $i(t){return t.replace(/left|right|bottom|top/g,(function(t){return Ri[t]}))}var Fi={start:"end",end:"start"};function Hi(t){return t.replace(/start|end/g,(function(t){return Fi[t]}))}function qi(t){var e=Je(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Wi(t){return ui(_i(t)).left+qi(t).scrollLeft}function Ui(t,e){var i=Je(t),n=_i(t),o=i.visualViewport,s=n.clientWidth,r=n.clientHeight,a=0,l=0;if(o){s=o.width,r=o.height;var c=hi();(c||!c&&"fixed"===e)&&(a=o.offsetLeft,l=o.offsetTop)}return{width:s,height:r,x:a+Wi(t),y:l}}function Vi(t){var e,i=_i(t),n=qi(t),o=null==(e=t.ownerDocument)?void 0:e.body,s=ri(i.scrollWidth,i.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),r=ri(i.scrollHeight,i.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),a=-n.scrollLeft+Wi(t),l=-n.scrollTop;return"rtl"===fi(o||i).direction&&(a+=ri(i.clientWidth,o?o.clientWidth:0)-s),{width:s,height:r,x:a,y:l}}function Ki(t){var e=fi(t),i=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+o+n)}function Gi(t){return["html","body","#document"].indexOf(Xe(t))>=0?t.ownerDocument.body:ti(t)&&Ki(t)?t:Gi(gi(t))}function Yi(t,e){var i;void 0===e&&(e=[]);var n=Gi(t),o=n===(null==(i=t.ownerDocument)?void 0:i.body),s=Je(n),r=o?[s].concat(s.visualViewport||[],Ki(n)?n:[]):n,a=e.concat(r);return o?a:a.concat(Yi(gi(r)))}function Xi(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Ji(t,e){var i=ui(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}function Qi(t,e,i){return e===Ne?Xi(Ui(t,i)):Qe(e)?Ji(e,i):Xi(Vi(_i(t)))}function tn(t){var e=Yi(gi(t)),i=["absolute","fixed"].indexOf(fi(t).position)>=0&&ti(t)?bi(t):t;return Qe(i)?e.filter((function(t){return Qe(t)&&pi(t,i)&&"body"!==Xe(t)})):[]}function en(t,e,i,n){var o="clippingParents"===e?tn(t):[].concat(e),s=[].concat(o,[i]),r=s[0],a=s.reduce((function(e,i){var o=Qi(t,i,n);return e.top=ri(o.top,e.top),e.right=ai(o.right,e.right),e.bottom=ai(o.bottom,e.bottom),e.left=ri(o.left,e.left),e}),Qi(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function nn(t){var e,i=t.reference,n=t.element,o=t.placement,s=o?si(o):null,r=o?Si(o):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(s){case Me:e={x:a,y:i.y-n.height};break;case Ce:e={x:a,y:i.y+i.height};break;case Ee:e={x:i.x+i.width,y:l};break;case Ae:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=s?wi(s):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case ze:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Ie:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function on(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=void 0===n?t.placement:n,s=i.strategy,r=void 0===s?t.strategy:s,a=i.boundary,l=void 0===a?De:a,c=i.rootBoundary,h=void 0===c?Ne:c,u=i.elementContext,d=void 0===u?Be:u,p=i.altBoundary,f=void 0!==p&&p,m=i.padding,_=void 0===m?0:m,g=Ti("number"!=typeof _?_:ki(_,Oe)),v=d===Be?Ze:Be,y=t.rects.popper,b=t.elements[f?v:d],w=en(Qe(b)?b:b.contextElement||_i(t.elements.popper),l,h,r),x=ui(t.elements.reference),L=nn({reference:x,element:y,placement:o}),P=Xi(Object.assign({},y,L)),T=d===Be?P:x,k={top:w.top-T.top+g.top,bottom:T.bottom-w.bottom+g.bottom,left:w.left-T.left+g.left,right:T.right-w.right+g.right},M=t.modifiersData.offset;if(d===Be&&M){var C=M[o];Object.keys(k).forEach((function(t){var e=[Ee,Ce].indexOf(t)>=0?1:-1,i=[Me,Ce].indexOf(t)>=0?"y":"x";k[t]+=C[i]*e}))}return k}function sn(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=i.boundary,s=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Re:l,h=Si(n),u=h?a?je:je.filter((function(t){return Si(t)===h})):Oe,d=u.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=u);var p=d.reduce((function(e,i){return e[i]=on(t,{placement:i,boundary:o,rootBoundary:s,padding:r})[si(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}function rn(t){if(si(t)===Se)return[];var e=$i(t);return[Hi(t),e,Hi(e)]}function an(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var o=i.mainAxis,s=void 0===o||o,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,u=i.rootBoundary,d=i.altBoundary,p=i.flipVariations,f=void 0===p||p,m=i.allowedAutoPlacements,_=e.options.placement,g=si(_),v=l||(g!==_&&f?rn(_):[$i(_)]),y=[_].concat(v).reduce((function(t,i){return t.concat(si(i)===Se?sn(e,{placement:i,boundary:h,rootBoundary:u,padding:c,flipVariations:f,allowedAutoPlacements:m}):i)}),[]),b=e.rects.reference,w=e.rects.popper,x=new Map,L=!0,P=y[0],T=0;T=0,A=E?"width":"height",S=on(e,{placement:k,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),O=E?C?Ee:Ae:C?Ce:Me;b[A]>w[A]&&(O=$i(O));var z=$i(O),I=[];if(s&&I.push(S[M]<=0),a&&I.push(S[O]<=0,S[z]<=0),I.every((function(t){return t}))){P=k,L=!1;break}x.set(k,I)}if(L)for(var D=function(t){var e=y.find((function(e){var i=x.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return P=e,"break"},N=f?3:1;N>0&&"break"!==D(N);N--);e.placement!==P&&(e.modifiersData[n]._skip=!0,e.placement=P,e.reset=!0)}}const ln={name:"flip",enabled:!0,phase:"main",fn:an,requiresIfExists:["offset"],data:{_skip:!1}};function cn(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function hn(t){return[Me,Ee,Ce,Ae].some((function(e){return t[e]>=0}))}function un(t){var e=t.state,i=t.name,n=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,r=on(e,{elementContext:"reference"}),a=on(e,{altBoundary:!0}),l=cn(r,n),c=cn(a,o,s),h=hn(l),u=hn(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}const dn={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:un};function pn(t,e,i){var n=si(t),o=[Ae,Me].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=s[0],a=s[1];return r=r||0,a=(a||0)*o,[Ae,Ee].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}function fn(t){var e=t.state,i=t.options,n=t.name,o=i.offset,s=void 0===o?[0,0]:o,r=Re.reduce((function(t,i){return t[i]=pn(i,e.rects,s),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}const mn={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:fn};function _n(t){var e=t.state,i=t.name;e.modifiersData[i]=nn({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const gn={name:"popperOffsets",enabled:!0,phase:"read",fn:_n,data:{}};function vn(t){return"x"===t?"y":"x"}function yn(t){var e=t.state,i=t.options,n=t.name,o=i.mainAxis,s=void 0===o||o,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,u=i.padding,d=i.tether,p=void 0===d||d,f=i.tetherOffset,m=void 0===f?0:f,_=on(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),g=si(e.placement),v=Si(e.placement),y=!v,b=wi(g),w=vn(b),x=e.modifiersData.popperOffsets,L=e.rects.reference,P=e.rects.popper,T="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,k="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),M=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,C={x:0,y:0};if(x){if(s){var E,A="y"===b?Me:Ae,S="y"===b?Ce:Ee,O="y"===b?"height":"width",z=x[b],I=z+_[A],D=z-_[S],N=p?-P[O]/2:0,B=v===ze?L[O]:P[O],Z=v===ze?-P[O]:-L[O],j=e.elements.arrow,R=p&&j?di(j):{width:0,height:0},$=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Pi(),F=$[A],H=$[S],q=xi(0,L[O],R[O]),W=y?L[O]/2-N-q-F-k.mainAxis:B-q-F-k.mainAxis,U=y?-L[O]/2+N+q+H+k.mainAxis:Z+q+H+k.mainAxis,V=e.elements.arrow&&bi(e.elements.arrow),K=V?"y"===b?V.clientTop||0:V.clientLeft||0:0,G=null!=(E=null==M?void 0:M[b])?E:0,Y=z+U-G,X=xi(p?ai(I,z+W-G-K):I,z,p?ri(D,Y):D);x[b]=X,C[b]=X-z}if(a){var J,Q="x"===b?Me:Ae,tt="x"===b?Ce:Ee,et=x[w],it="y"===w?"height":"width",nt=et+_[Q],ot=et-_[tt],st=-1!==[Me,Ae].indexOf(g),rt=null!=(J=null==M?void 0:M[w])?J:0,at=st?nt:et-L[it]-P[it]-rt+k.altAxis,lt=st?et+L[it]+P[it]-rt-k.altAxis:ot,ct=p&&st?Li(at,et,lt):xi(p?at:nt,et,p?lt:ot);x[w]=ct,C[w]=ct-et}e.modifiersData[n]=C}}const bn={name:"preventOverflow",enabled:!0,phase:"main",fn:yn,requiresIfExists:["offset"]};function wn(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function xn(t){return t!==Je(t)&&ti(t)?wn(t):qi(t)}function Ln(t){var e=t.getBoundingClientRect(),i=li(e.width)/t.offsetWidth||1,n=li(e.height)/t.offsetHeight||1;return 1!==i||1!==n}function Pn(t,e,i){void 0===i&&(i=!1);var n=ti(e),o=ti(e)&&Ln(e),s=_i(e),r=ui(t,o,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Xe(e)||Ki(s))&&(a=xn(e)),ti(e)?((l=ui(e,!0)).x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=Wi(s))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function Tn(t){var e=new Map,i=new Set,n=[];function o(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&o(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||o(t)})),n}function kn(t){var e=Tn(t);return Ye.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}function Mn(t){var e;return function(){return e||(e=new Promise((function(i){Promise.resolve().then((function(){e=void 0,i(t())}))}))),e}}function Cn(t){var e=t.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{});return Object.keys(e).map((function(t){return e[t]}))}var En={placement:"bottom",modifiers:[],strategy:"absolute"};function An(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(U.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...x(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=X.find(lo,this._menu).filter((t=>d(t)));i.length&&P(i,e,t===Fn,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=bo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t.button===Hn||"keyup"===t.type&&t.key!==Rn)return;const e=X.find(oo);for(const i of e){const e=bo.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),o=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!o||"outside"===e._config.autoClose&&o)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&t.key===Rn||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const s={relatedTarget:e._element};"click"===t.type&&(s.clickEvent=t),e._completeHide(s)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i=t.key===jn,n=[$n,Fn].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const o=this.matches(no)?this:X.prev(this,no)[0]||X.next(this,no)[0]||X.findOne(no,t.delegateTarget.parentNode),s=bo.getOrCreateInstance(o);if(n)return t.stopPropagation(),s.show(),void s._selectMenuItem(t);s._isShown()&&(t.stopPropagation(),s.hide(),o.focus())}}F.on(document,Gn,no,bo.dataApiKeydownHandler),F.on(document,Gn,so,bo.dataApiKeydownHandler),F.on(document,Kn,bo.clearMenus),F.on(document,Yn,bo.clearMenus),F.on(document,Kn,no,(function(t){t.preventDefault(),bo.getOrCreateInstance(this).toggle()})),w(bo);const wo="backdrop",xo="fade",Lo="show",Po=`mousedown.bs.${wo}`,To={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},ko={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Mo extends V{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return To}static get DefaultType(){return ko}static get NAME(){return wo}show(t){if(!this._config.isVisible)return void x(t);this._append();const e=this._getElement();this._config.isAnimated&&_(e),e.classList.add(Lo),this._emulateAnimation((()=>{x(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Lo),this._emulateAnimation((()=>{this.dispose(),x(t)}))):x(t)}dispose(){this._isAppended&&(F.off(this._element,Po),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(xo),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=u(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),F.on(t,Po,(()=>{x(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){L(t,this._getElement(),this._config.isAnimated)}}const Co="focustrap",Eo=".bs.focustrap",Ao=`focusin${Eo}`,So=`keydown.tab${Eo}`,Oo="Tab",zo="forward",Io="backward",Do={autofocus:!0,trapElement:null},No={autofocus:"boolean",trapElement:"element"};class Bo extends V{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Do}static get DefaultType(){return No}static get NAME(){return Co}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,Eo),F.on(document,Ao,(t=>this._handleFocusin(t))),F.on(document,So,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,Eo))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=X.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Io?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){t.key===Oo&&(this._lastTabNavDirection=t.shiftKey?Io:zo)}}const Zo=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",jo=".sticky-top",Ro="padding-right",$o="margin-right";class Fo{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ro,(e=>e+t)),this._setElementAttributes(Zo,Ro,(e=>e+t)),this._setElementAttributes(jo,$o,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ro),this._resetElementAttributes(Zo,Ro),this._resetElementAttributes(jo,$o)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth(),o=t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const o=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(o))}px`)};this._applyManipulationCallback(t,o)}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){const i=t=>{const i=U.getDataAttribute(t,e);null!==i?(U.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)};this._applyManipulationCallback(t,i)}_applyManipulationCallback(t,e){if(h(t))e(t);else for(const i of X.find(t,this._element))e(i)}}const Ho="modal",qo=".bs.modal",Wo="Escape",Uo=`hide${qo}`,Vo=`hidePrevented${qo}`,Ko=`hidden${qo}`,Go=`show${qo}`,Yo=`shown${qo}`,Xo=`resize${qo}`,Jo=`click.dismiss${qo}`,Qo=`mousedown.dismiss${qo}`,ts=`keydown.dismiss${qo}`,es=`click${qo}.data-api`,is="modal-open",ns="fade",os="show",ss="modal-static",rs=".modal.show",as=".modal-dialog",ls=".modal-body",cs='[data-bs-toggle="modal"]',hs={backdrop:!0,focus:!0,keyboard:!0},us={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ds extends G{constructor(t,e){super(t,e),this._dialog=X.findOne(as,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Fo,this._addEventListeners()}static get Default(){return hs}static get DefaultType(){return us}static get NAME(){return Ho}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||F.trigger(this._element,Go,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(is),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(F.trigger(this._element,Uo).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(os),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){F.off(window,qo),F.off(this._dialog,qo),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Mo({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Bo({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=X.findOne(ls,this._dialog);e&&(e.scrollTop=0),_(this._element),this._element.classList.add(os);const i=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,Yo,{relatedTarget:t})};this._queueCallback(i,this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,ts,(t=>{t.key===Wo&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),F.on(window,Xo,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),F.on(this._element,Qo,(t=>{F.one(this._element,Jo,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(is),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,Ko)}))}_isAnimated(){return this._element.classList.contains(ns)}_triggerBackdropTransition(){if(F.trigger(this._element,Vo).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(ss)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(ss),this._queueCallback((()=>{this._element.classList.remove(ss),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=b()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=b()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=ds.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}F.on(document,es,cs,(function(t){const e=X.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),F.one(e,Go,(t=>{t.defaultPrevented||F.one(e,Ko,(()=>{d(this)&&this.focus()}))}));const i=X.findOne(rs);i&&ds.getInstance(i).hide(),ds.getOrCreateInstance(e).toggle(this)})),J(ds),w(ds);const ps="offcanvas",fs=".bs.offcanvas",ms=".data-api",_s=`load${fs}${ms}`,gs="Escape",vs="show",ys="showing",bs="hiding",ws="offcanvas-backdrop",xs=".offcanvas.show",Ls=`show${fs}`,Ps=`shown${fs}`,Ts=`hide${fs}`,ks=`hidePrevented${fs}`,Ms=`hidden${fs}`,Cs=`resize${fs}`,Es=`click${fs}${ms}`,As=`keydown.dismiss${fs}`,Ss='[data-bs-toggle="offcanvas"]',Os={backdrop:!0,keyboard:!0,scroll:!1},zs={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Is extends G{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Os}static get DefaultType(){return zs}static get NAME(){return ps}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(F.trigger(this._element,Ls,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Fo).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ys);const e=()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(vs),this._element.classList.remove(ys),F.trigger(this._element,Ps,{relatedTarget:t})};this._queueCallback(e,this._element,!0)}hide(){if(!this._isShown)return;if(F.trigger(this._element,Ts).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(bs),this._backdrop.hide();const t=()=>{this._element.classList.remove(vs,bs),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Fo).reset(),F.trigger(this._element,Ms)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{"static"!==this._config.backdrop?this.hide():F.trigger(this._element,ks)},e=Boolean(this._config.backdrop);return new Mo({className:ws,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new Bo({trapElement:this._element})}_addEventListeners(){F.on(this._element,As,(t=>{t.key===gs&&(this._config.keyboard?this.hide():F.trigger(this._element,ks))}))}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}F.on(document,Es,Ss,(function(t){const e=X.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this))return;F.one(e,Ms,(()=>{d(this)&&this.focus()}));const i=X.findOne(xs);i&&i!==e&&Is.getInstance(i).hide(),Is.getOrCreateInstance(e).toggle(this)})),F.on(window,_s,(()=>{for(const t of X.find(xs))Is.getOrCreateInstance(t).show()})),F.on(window,Cs,(()=>{for(const t of X.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Is.getOrCreateInstance(t).hide()})),J(Is),w(Is);const Ds={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ns=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Bs=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Zs=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Ns.has(i)||Boolean(Bs.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))};function js(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),o=[].concat(...n.body.querySelectorAll("*"));for(const t of o){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),o=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Zs(e,o)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}const Rs="TemplateFactory",$s={allowList:Ds,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Fs={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Hs={entry:"(string|element|function|null)",selector:"(string|element)"};class qs extends V{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return $s}static get DefaultType(){return Fs}static get NAME(){return Rs}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Hs)}_setContent(t,e,i){const n=X.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?h(e)?this._putElementInTemplate(u(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?js(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return x(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ws="tooltip",Us=new Set(["sanitize","allowList","sanitizeFn"]),Vs="fade",Ks="show",Gs=".tooltip-inner",Ys=".modal",Xs="hide.bs.modal",Js="hover",Qs="focus",tr="click",er="manual",ir="hide",nr="hidden",or="show",sr="shown",rr="inserted",ar="click",lr="focusin",cr="focusout",hr="mouseenter",ur="mouseleave",dr={AUTO:"auto",TOP:"top",RIGHT:b()?"left":"right",BOTTOM:"bottom",LEFT:b()?"right":"left"},pr={allowList:Ds,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},fr={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class mr extends G{constructor(t,e){if(void 0===Dn)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return pr}static get DefaultType(){return fr}static get NAME(){return Ws}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),F.off(this._element.closest(Ys),Xs,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=F.trigger(this._element,this.constructor.eventName(or)),e=(f(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),F.trigger(this._element,this.constructor.eventName(rr))),this._popper=this._createPopper(i),i.classList.add(Ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))F.on(t,"mouseover",m);const o=()=>{F.trigger(this._element,this.constructor.eventName(sr)),!1===this._isHovered&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(F.trigger(this._element,this.constructor.eventName(ir)).defaultPrevented)return;if(this._getTipElement().classList.remove(Ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))F.off(t,"mouseover",m);this._activeTrigger[tr]=!1,this._activeTrigger[Qs]=!1,this._activeTrigger[Js]=!1,this._isHovered=null;const t=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName(nr)))};this._queueCallback(t,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Vs,Ks),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=a(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Vs),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new qs({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Gs]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Vs)}_isShown(){return this.tip&&this.tip.classList.contains(Ks)}_createPopper(t){const e=x(this._config.placement,[this,t,this._element]),i=dr[e.toUpperCase()];return In(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return x(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...x(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)F.on(this._element,this.constructor.eventName(ar),this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[tr]=!(e._isShown()&&e._activeTrigger[tr]),e.toggle()}));else if(e!==er){const t=e===Js?this.constructor.eventName(hr):this.constructor.eventName(lr),i=e===Js?this.constructor.eventName(ur):this.constructor.eventName(cr);F.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Qs:Js]=!0,e._enter()})),F.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Qs:Js]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Ys),Xs,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=U.getDataAttributes(this._element);for(const t of Object.keys(e))Us.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:u(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=mr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(mr);const _r="popover",gr=".popover-header",vr=".popover-body",yr={...mr.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},br={...mr.DefaultType,content:"(null|string|element|function)"};class wr extends mr{static get Default(){return yr}static get DefaultType(){return br}static get NAME(){return _r}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[gr]:this._getTitle(),[vr]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=wr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(wr);const xr="scrollspy",Lr=".bs.scrollspy",Pr=`activate${Lr}`,Tr=`click${Lr}`,kr=`load${Lr}.data-api`,Mr="dropdown-item",Cr="active",Er='[data-bs-spy="scroll"]',Ar="[href]",Sr=".nav, .list-group",Or=".nav-link",zr=`${Or}, .nav-item > ${Or}, .list-group-item`,Ir=".dropdown",Dr=".dropdown-toggle",Nr={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Br={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Zr extends G{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Nr}static get DefaultType(){return Br}static get NAME(){return xr}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=u(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,Tr),F.on(this._config.target,Tr,Ar,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,o=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const s of t){if(!s.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(s));continue}const t=s.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(o&&t){if(i(s),!n)return}else o||t||i(s)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=X.find(Ar,this._config.target);for(const e of t){if(!e.hash||p(e))continue;const t=X.findOne(decodeURI(e.hash),this._element);d(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Cr),this._activateParents(t),F.trigger(this._element,Pr,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(Mr))X.findOne(Dr,t.closest(Ir)).classList.add(Cr);else for(const e of X.parents(t,Sr))for(const t of X.prev(e,zr))t.classList.add(Cr)}_clearActiveClass(t){t.classList.remove(Cr);const e=X.find(`${Ar}.${Cr}`,t);for(const t of e)t.classList.remove(Cr)}static jQueryInterface(t){return this.each((function(){const e=Zr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}F.on(window,kr,(()=>{for(const t of X.find(Er))Zr.getOrCreateInstance(t)})),w(Zr);const jr="tab",Rr=".bs.tab",$r=`hide${Rr}`,Fr=`hidden${Rr}`,Hr=`show${Rr}`,qr=`shown${Rr}`,Wr=`click${Rr}`,Ur=`keydown${Rr}`,Vr=`load${Rr}`,Kr="ArrowLeft",Gr="ArrowRight",Yr="ArrowUp",Xr="ArrowDown",Jr="Home",Qr="End",ta="active",ea="fade",ia="show",na="dropdown",oa=".dropdown-toggle",sa=".dropdown-menu",ra=`:not(${oa})`,aa='.list-group, .nav, [role="tablist"]',la=".nav-item, .list-group-item",ca='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',ha=`.nav-link${ra}, .list-group-item${ra}, [role="tab"]${ra}, ${ca}`,ua=`.${ta}[data-bs-toggle="tab"], .${ta}[data-bs-toggle="pill"], .${ta}[data-bs-toggle="list"]`;class da extends G{constructor(t){super(t),this._parent=this._element.closest(aa),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,Ur,(t=>this._keydown(t))))}static get NAME(){return jr}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?F.trigger(e,$r,{relatedTarget:t}):null;F.trigger(t,Hr,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(ta),this._activate(X.getElementFromSelector(t));const i=()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),F.trigger(t,qr,{relatedTarget:e})):t.classList.add(ia)};this._queueCallback(i,t,t.classList.contains(ea))}_deactivate(t,e){if(!t)return;t.classList.remove(ta),t.blur(),this._deactivate(X.getElementFromSelector(t));const i=()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),F.trigger(t,Fr,{relatedTarget:e})):t.classList.remove(ia)};this._queueCallback(i,t,t.classList.contains(ea))}_keydown(t){if(![Kr,Gr,Yr,Xr,Jr,Qr].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!p(t)));let i;if([Jr,Qr].includes(t.key))i=e[t.key===Jr?0:e.length-1];else{const n=[Gr,Xr].includes(t.key);i=P(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),da.getOrCreateInstance(i).show())}_getChildren(){return X.find(ha,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=X.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains(na))return;const n=(t,n)=>{const o=X.findOne(t,i);o&&o.classList.toggle(n,e)};n(oa,ta),n(sa,ia),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ta)}_getInnerElement(t){return t.matches(ha)?t:X.findOne(ha,t)}_getOuterElement(t){return t.closest(la)||t}static jQueryInterface(t){return this.each((function(){const e=da.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}F.on(document,Wr,ca,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this)||da.getOrCreateInstance(this).show()})),F.on(window,Vr,(()=>{for(const t of X.find(ua))da.getOrCreateInstance(t)})),w(da);const pa="toast",fa=".bs.toast",ma=`mouseover${fa}`,_a=`mouseout${fa}`,ga=`focusin${fa}`,va=`focusout${fa}`,ya=`hide${fa}`,ba=`hidden${fa}`,wa=`show${fa}`,xa=`shown${fa}`,La="fade",Pa="hide",Ta="show",ka="showing",Ma={animation:"boolean",autohide:"boolean",delay:"number"},Ca={animation:!0,autohide:!0,delay:5e3};class Ea extends G{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ca}static get DefaultType(){return Ma}static get NAME(){return pa}show(){if(F.trigger(this._element,wa).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(La);const t=()=>{this._element.classList.remove(ka),F.trigger(this._element,xa),this._maybeScheduleHide()};this._element.classList.remove(Pa),_(this._element),this._element.classList.add(Ta,ka),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown())return;if(F.trigger(this._element,ya).defaultPrevented)return;const t=()=>{this._element.classList.add(Pa),this._element.classList.remove(ka,Ta),F.trigger(this._element,ba)};this._element.classList.add(ka),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ta),super.dispose()}isShown(){return this._element.classList.contains(Ta)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,ma,(t=>this._onInteraction(t,!0))),F.on(this._element,_a,(t=>this._onInteraction(t,!1))),F.on(this._element,ga,(t=>this._onInteraction(t,!0))),F.on(this._element,va,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Ea.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return J(Ea),w(Ea),{Alert:st,Button:ht,Carousel:re,Collapse:ke,Dropdown:bo,Modal:ds,Offcanvas:Is,Popover:wr,ScrollSpy:Zr,Tab:da,Toast:Ea,Tooltip:mr}}());var ji,Ri,$i={};async function Fi(t,e){if(window.location.protocol.match(/^http/))if($i[t])e.innerHTML=$i[t];else try{await fetch(t).then((t=>t.text())).then((i=>{i=i.replace("Nominatim_API_Endpoint",Hi()),e.innerHTML=i,$i[t]=i}))}catch(i){e.innerHTML=`Error fetching content from ${t} (${i})`}else e.innerHTML=`Cannot display data from ${t} here. Browser security prevents loading content from file:// URLs.`}function Hi(t){var e=Nominatim_Config.Nominatim_API_Endpoint;return"function"==typeof e?e(t):t?e+t:e}function qi(t,e){return 1===e.dedupe&&delete e.dedupe,function(t,e){for(var i=Object.keys(e),n=0;nencodeURIComponent(t)+"="+encodeURIComponent(e[t]))).join("&")}function Wi(t){document.title=[t,Nominatim_Config.Page_Title].filter((t=>t&&t.length>1)).join(" | ")} + */ji||(ji=1,$i.exports=function(){const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const o=t.get(e);o.has(i)||0===o.size?o.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(o.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i=1e6,n=1e3,o="transitionend",s=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),r=t=>null==t?`${t}`:Object.prototype.toString.call(t).match(/\s([a-z]+)/i)[1].toLowerCase(),a=t=>{do{t+=Math.floor(Math.random()*i)}while(document.getElementById(t));return t},l=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const o=Number.parseFloat(e),s=Number.parseFloat(i);return o||s?(e=e.split(",")[0],i=i.split(",")[0],(Number.parseFloat(e)+Number.parseFloat(i))*n):0},c=t=>{t.dispatchEvent(new Event(o))},h=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),u=t=>h(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(s(t)):null,d=t=>{if(!h(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},p=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),f=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?f(t.parentNode):null},_=()=>{},m=t=>{t.offsetHeight},g=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,v=[],y=t=>{"loading"===document.readyState?(v.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of v)t()})),v.push(t)):t()},b=()=>"rtl"===document.documentElement.dir,w=t=>{y((()=>{const e=g();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}}))},x=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,L=(t,e,i=!0)=>{if(!i)return void x(t);const n=5,s=l(e)+n;let r=!1;const a=({target:i})=>{i===e&&(r=!0,e.removeEventListener(o,a),x(t))};e.addEventListener(o,a),setTimeout((()=>{r||c(e)}),s)},P=(t,e,i,n)=>{const o=t.length;let s=t.indexOf(e);return-1===s?!i&&n?t[o-1]:t[0]:(s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))])},T=/[^.]*(?=\..*)\.|.*/,M=/\..*/,k=/::\d+$/,C={};let E=1;const A={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function z(t){const e=O(t);return t.uidEvent=e,C[e]=C[e]||{},C[e]}function I(t,e){return function i(n){return q(n,{delegateTarget:t}),i.oneOff&&F.off(t,n.type,e),e.apply(t,[n])}}function D(t,e,i){return function n(o){const s=t.querySelectorAll(e);for(let{target:r}=o;r&&r!==this;r=r.parentNode)for(const a of s)if(a===r)return q(o,{delegateTarget:r}),n.oneOff&&F.off(t,o.type,e,i),i.apply(r,[o])}}function N(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function B(t,e,i){const n="string"==typeof e,o=n?i:e||i;let s=$(t);return S.has(s)||(s=t),[n,o,s]}function Z(t,e,i,n,o){if("string"!=typeof e||!t)return;let[s,r,a]=B(e,i,n);if(e in A){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=z(t),c=l[a]||(l[a]={}),h=N(c,r,s?i:null);if(h)return void(h.oneOff=h.oneOff&&o);const u=O(r,e.replace(T,"")),d=s?D(t,i,r):I(t,r);d.delegationSelector=s?i:null,d.callable=r,d.oneOff=o,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,s)}function R(t,e,i,n,o){const s=N(e[i],n,o);s&&(t.removeEventListener(i,s,Boolean(o)),delete e[i][s.uidEvent])}function j(t,e,i,n){const o=e[i]||{};for(const[s,r]of Object.entries(o))s.includes(n)&&R(t,e,i,r.callable,r.delegationSelector)}function $(t){return t=t.replace(M,""),A[t]||t}const F={on(t,e,i,n){Z(t,e,i,n,!1)},one(t,e,i,n){Z(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[o,s,r]=B(e,i,n),a=r!==e,l=z(t),c=l[r]||{},h=e.startsWith(".");if(void 0===s){if(h)for(const i of Object.keys(l))j(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const o=i.replace(k,"");a&&!e.includes(o)||R(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;R(t,l,r,s,o?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=g();let o=null,s=!0,r=!0,a=!1;e!==$(e)&&n&&(o=n.Event(e,i),n(t).trigger(o),s=!o.isPropagationStopped(),r=!o.isImmediatePropagationStopped(),a=o.isDefaultPrevented());const l=q(new Event(e,{bubbles:s,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&o&&o.preventDefault(),l}};function q(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function H(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function W(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${W(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${W(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=H(t.dataset[n])}return e},getDataAttribute:(t,e)=>H(t.getAttribute(`data-bs-${W(e)}`))};class V{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=h(e)?U.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...h(e)?U.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,n]of Object.entries(e)){const e=t[i],o=h(e)?"element":r(e);if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${n}".`)}}}const K="5.3.8";class G extends V{constructor(t,i){super(),(t=u(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),F.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){L(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(u(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return K}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const Y=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>s(t))).join(","):null},X={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!p(t)&&d(t)))},getSelectorFromElement(t){const e=Y(t);return e&&X.findOne(e)?e:null},getElementFromSelector(t){const e=Y(t);return e?X.findOne(e):null},getMultipleElementsFromSelector(t){const e=Y(t);return e?X.find(e):[]}},J=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;F.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),p(this))return;const o=X.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(o)[e]()}))},Q="alert",tt=".bs.alert",et=`close${tt}`,it=`closed${tt}`,nt="fade",ot="show";class st extends G{static get NAME(){return Q}close(){if(F.trigger(this._element,et).defaultPrevented)return;this._element.classList.remove(ot);const t=this._element.classList.contains(nt);this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),F.trigger(this._element,it),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=st.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}J(st,"close"),w(st);const rt="button",at="active",lt='[data-bs-toggle="button"]',ct="click.bs.button.data-api";class ht extends G{static get NAME(){return rt}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(at))}static jQueryInterface(t){return this.each((function(){const e=ht.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}F.on(document,ct,lt,(t=>{t.preventDefault();const e=t.target.closest(lt);ht.getOrCreateInstance(e).toggle()})),w(ht);const ut="swipe",dt=".bs.swipe",pt=`touchstart${dt}`,ft=`touchmove${dt}`,_t=`touchend${dt}`,mt=`pointerdown${dt}`,gt=`pointerup${dt}`,vt="touch",yt="pen",bt="pointer-event",wt=40,xt={endCallback:null,leftCallback:null,rightCallback:null},Lt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Pt extends V{constructor(t,e){super(),this._element=t,t&&Pt.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return xt}static get DefaultType(){return Lt}static get NAME(){return ut}dispose(){F.off(this._element,dt)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),x(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=wt)return;const e=t/this._deltaX;this._deltaX=0,e&&x(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(F.on(this._element,mt,(t=>this._start(t))),F.on(this._element,gt,(t=>this._end(t))),this._element.classList.add(bt)):(F.on(this._element,pt,(t=>this._start(t))),F.on(this._element,ft,(t=>this._move(t))),F.on(this._element,_t,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===yt||t.pointerType===vt)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Tt="carousel",Mt=".bs.carousel",kt=".data-api",Ct="ArrowLeft",Et="ArrowRight",At=500,St="next",Ot="prev",zt="left",It="right",Dt=`slide${Mt}`,Nt=`slid${Mt}`,Bt=`keydown${Mt}`,Zt=`mouseenter${Mt}`,Rt=`mouseleave${Mt}`,jt=`dragstart${Mt}`,$t=`load${Mt}${kt}`,Ft=`click${Mt}${kt}`,qt="carousel",Ht="active",Wt="slide",Ut="carousel-item-end",Vt="carousel-item-start",Kt="carousel-item-next",Gt="carousel-item-prev",Yt=".active",Xt=".carousel-item",Jt=Yt+Xt,Qt=".carousel-item img",te=".carousel-indicators",ee="[data-bs-slide], [data-bs-slide-to]",ie='[data-bs-ride="carousel"]',ne={[Ct]:It,[Et]:zt},oe={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},se={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class re extends G{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=X.findOne(te,this._element),this._addEventListeners(),this._config.ride===qt&&this.cycle()}static get Default(){return oe}static get DefaultType(){return se}static get NAME(){return Tt}next(){this._slide(St)}nextWhenVisible(){!document.hidden&&d(this._element)&&this.next()}prev(){this._slide(Ot)}pause(){this._isSliding&&c(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?F.one(this._element,Nt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void F.one(this._element,Nt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?St:Ot;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&F.on(this._element,Bt,(t=>this._keydown(t))),"hover"===this._config.pause&&(F.on(this._element,Zt,(()=>this.pause())),F.on(this._element,Rt,(()=>this._maybeEnableCycle()))),this._config.touch&&Pt.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of X.find(Qt,this._element))F.on(t,jt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(zt)),rightCallback:()=>this._slide(this._directionToOrder(It)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),At+this._config.interval))}};this._swipeHelper=new Pt(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=ne[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=X.findOne(Yt,this._indicatorsElement);e.classList.remove(Ht),e.removeAttribute("aria-current");const i=X.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Ht),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===St,o=e||P(this._getItems(),i,n,this._config.wrap);if(o===i)return;const s=this._getItemIndex(o),r=e=>F.trigger(this._element,e,{relatedTarget:o,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:s});if(r(Dt).defaultPrevented)return;if(!i||!o)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(s),this._activeElement=o;const l=n?Vt:Ut,c=n?Kt:Gt;o.classList.add(c),m(o),i.classList.add(l),o.classList.add(l);const h=()=>{o.classList.remove(l,c),o.classList.add(Ht),i.classList.remove(Ht,c,l),this._isSliding=!1,r(Nt)};this._queueCallback(h,i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains(Wt)}_getActive(){return X.findOne(Jt,this._element)}_getItems(){return X.find(Xt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return b()?t===zt?Ot:St:t===zt?St:Ot}_orderToDirection(t){return b()?t===Ot?zt:It:t===Ot?It:zt}static jQueryInterface(t){return this.each((function(){const e=re.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}F.on(document,Ft,ee,(function(t){const e=X.getElementFromSelector(this);if(!e||!e.classList.contains(qt))return;t.preventDefault();const i=re.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===U.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),F.on(window,$t,(()=>{const t=X.find(ie);for(const e of t)re.getOrCreateInstance(e)})),w(re);const ae="collapse",le=".bs.collapse",ce=`show${le}`,he=`shown${le}`,ue=`hide${le}`,de=`hidden${le}`,pe=`click${le}.data-api`,fe="show",_e="collapse",me="collapsing",ge="collapsed",ve=`:scope .${_e} .${_e}`,ye="collapse-horizontal",be="width",we="height",xe=".collapse.show, .collapse.collapsing",Le='[data-bs-toggle="collapse"]',Pe={parent:null,toggle:!0},Te={parent:"(null|element)",toggle:"boolean"};class Me extends G{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=X.find(Le);for(const t of i){const e=X.getSelectorFromElement(t),i=X.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Pe}static get DefaultType(){return Te}static get NAME(){return ae}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(xe).filter((t=>t!==this._element)).map((t=>Me.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(F.trigger(this._element,ce).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(_e),this._element.classList.add(me),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(me),this._element.classList.add(_e,fe),this._element.style[e]="",F.trigger(this._element,he)},n=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback(i,this._element,!0),this._element.style[e]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(F.trigger(this._element,ue).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,m(this._element),this._element.classList.add(me),this._element.classList.remove(_e,fe);for(const t of this._triggerArray){const e=X.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0;const e=()=>{this._isTransitioning=!1,this._element.classList.remove(me),this._element.classList.add(_e),F.trigger(this._element,de)};this._element.style[t]="",this._queueCallback(e,this._element,!0)}_isShown(t=this._element){return t.classList.contains(fe)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=u(t.parent),t}_getDimension(){return this._element.classList.contains(ye)?be:we}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Le);for(const e of t){const t=X.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=X.find(ve,this._config.parent);return X.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle(ge,!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Me.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}F.on(document,pe,Le,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of X.getMultipleElementsFromSelector(this))Me.getOrCreateInstance(t,{toggle:!1}).toggle()})),w(Me);var ke="top",Ce="bottom",Ee="right",Ae="left",Se="auto",Oe=[ke,Ce,Ee,Ae],ze="start",Ie="end",De="clippingParents",Ne="viewport",Be="popper",Ze="reference",Re=Oe.reduce((function(t,e){return t.concat([e+"-"+ze,e+"-"+Ie])}),[]),je=[].concat(Oe,[Se]).reduce((function(t,e){return t.concat([e,e+"-"+ze,e+"-"+Ie])}),[]),$e="beforeRead",Fe="read",qe="afterRead",He="beforeMain",We="main",Ue="afterMain",Ve="beforeWrite",Ke="write",Ge="afterWrite",Ye=[$e,Fe,qe,He,We,Ue,Ve,Ke,Ge];function Xe(t){return t?(t.nodeName||"").toLowerCase():null}function Je(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function Qe(t){return t instanceof Je(t).Element||t instanceof Element}function ti(t){return t instanceof Je(t).HTMLElement||t instanceof HTMLElement}function ei(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Je(t).ShadowRoot||t instanceof ShadowRoot)}function ii(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},o=e.elements[t];ti(o)&&Xe(o)&&(Object.assign(o.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?o.removeAttribute(t):o.setAttribute(t,!0===e?"":e)})))}))}function ni(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],o=e.attributes[t]||{},s=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});ti(n)&&Xe(n)&&(Object.assign(n.style,s),Object.keys(o).forEach((function(t){n.removeAttribute(t)})))}))}}const oi={name:"applyStyles",enabled:!0,phase:"write",fn:ii,effect:ni,requires:["computeStyles"]};function si(t){return t.split("-")[0]}var ri=Math.max,ai=Math.min,li=Math.round;function ci(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function hi(){return!/^((?!chrome|android).)*safari/i.test(ci())}function ui(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),o=1,s=1;e&&ti(t)&&(o=t.offsetWidth>0&&li(n.width)/t.offsetWidth||1,s=t.offsetHeight>0&&li(n.height)/t.offsetHeight||1);var r=(Qe(t)?Je(t):window).visualViewport,a=!hi()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/o,c=(n.top+(a&&r?r.offsetTop:0))/s,h=n.width/o,u=n.height/s;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function di(t){var e=ui(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function pi(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ei(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function fi(t){return Je(t).getComputedStyle(t)}function _i(t){return["table","td","th"].indexOf(Xe(t))>=0}function mi(t){return((Qe(t)?t.ownerDocument:t.document)||window.document).documentElement}function gi(t){return"html"===Xe(t)?t:t.assignedSlot||t.parentNode||(ei(t)?t.host:null)||mi(t)}function vi(t){return ti(t)&&"fixed"!==fi(t).position?t.offsetParent:null}function yi(t){var e=/firefox/i.test(ci());if(/Trident/i.test(ci())&&ti(t)&&"fixed"===fi(t).position)return null;var i=gi(t);for(ei(i)&&(i=i.host);ti(i)&&["html","body"].indexOf(Xe(i))<0;){var n=fi(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}function bi(t){for(var e=Je(t),i=vi(t);i&&_i(i)&&"static"===fi(i).position;)i=vi(i);return i&&("html"===Xe(i)||"body"===Xe(i)&&"static"===fi(i).position)?e:i||yi(t)||e}function wi(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function xi(t,e,i){return ri(t,ai(e,i))}function Li(t,e,i){var n=xi(t,e,i);return n>i?i:n}function Pi(){return{top:0,right:0,bottom:0,left:0}}function Ti(t){return Object.assign({},Pi(),t)}function Mi(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var ki=function(t,e){return Ti("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:Mi(t,Oe))};function Ci(t){var e,i=t.state,n=t.name,o=t.options,s=i.elements.arrow,r=i.modifiersData.popperOffsets,a=si(i.placement),l=wi(a),c=[Ae,Ee].indexOf(a)>=0?"height":"width";if(s&&r){var h=ki(o.padding,i),u=di(s),d="y"===l?ke:Ae,p="y"===l?Ce:Ee,f=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],_=r[l]-i.rects.reference[l],m=bi(s),g=m?"y"===l?m.clientHeight||0:m.clientWidth||0:0,v=f/2-_/2,y=h[d],b=g-u[c]-h[p],w=g/2-u[c]/2+v,x=xi(y,w,b),L=l;i.modifiersData[n]=((e={})[L]=x,e.centerOffset=x-w,e)}}function Ei(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&pi(e.elements.popper,n)&&(e.elements.arrow=n)}const Ai={name:"arrow",enabled:!0,phase:"main",fn:Ci,effect:Ei,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Si(t){return t.split("-")[1]}var Oi={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zi(t,e){var i=t.x,n=t.y,o=e.devicePixelRatio||1;return{x:li(i*o)/o||0,y:li(n*o)/o||0}}function Ii(t){var e,i=t.popper,n=t.popperRect,o=t.placement,s=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,u=t.isFixed,d=r.x,p=void 0===d?0:d,f=r.y,_=void 0===f?0:f,m="function"==typeof h?h({x:p,y:_}):{x:p,y:_};p=m.x,_=m.y;var g=r.hasOwnProperty("x"),v=r.hasOwnProperty("y"),y=Ae,b=ke,w=window;if(c){var x=bi(i),L="clientHeight",P="clientWidth";x===Je(i)&&"static"!==fi(x=mi(i)).position&&"absolute"===a&&(L="scrollHeight",P="scrollWidth"),(o===ke||(o===Ae||o===Ee)&&s===Ie)&&(b=Ce,_-=(u&&x===w&&w.visualViewport?w.visualViewport.height:x[L])-n.height,_*=l?1:-1),o!==Ae&&(o!==ke&&o!==Ce||s!==Ie)||(y=Ee,p-=(u&&x===w&&w.visualViewport?w.visualViewport.width:x[P])-n.width,p*=l?1:-1)}var T,M=Object.assign({position:a},c&&Oi),k=!0===h?zi({x:p,y:_},Je(i)):{x:p,y:_};return p=k.x,_=k.y,l?Object.assign({},M,((T={})[b]=v?"0":"",T[y]=g?"0":"",T.transform=(w.devicePixelRatio||1)<=1?"translate("+p+"px, "+_+"px)":"translate3d("+p+"px, "+_+"px, 0)",T)):Object.assign({},M,((e={})[b]=v?_+"px":"",e[y]=g?p+"px":"",e.transform="",e))}function Di(t){var e=t.state,i=t.options,n=i.gpuAcceleration,o=void 0===n||n,s=i.adaptive,r=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:si(e.placement),variation:Si(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:o,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,Ii(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,Ii(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const Ni={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Di,data:{}};var Bi={passive:!0};function Zi(t){var e=t.state,i=t.instance,n=t.options,o=n.scroll,s=void 0===o||o,r=n.resize,a=void 0===r||r,l=Je(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return s&&c.forEach((function(t){t.addEventListener("scroll",i.update,Bi)})),a&&l.addEventListener("resize",i.update,Bi),function(){s&&c.forEach((function(t){t.removeEventListener("scroll",i.update,Bi)})),a&&l.removeEventListener("resize",i.update,Bi)}}const Ri={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Zi,data:{}};var ji={left:"right",right:"left",bottom:"top",top:"bottom"};function $i(t){return t.replace(/left|right|bottom|top/g,(function(t){return ji[t]}))}var Fi={start:"end",end:"start"};function qi(t){return t.replace(/start|end/g,(function(t){return Fi[t]}))}function Hi(t){var e=Je(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Wi(t){return ui(mi(t)).left+Hi(t).scrollLeft}function Ui(t,e){var i=Je(t),n=mi(t),o=i.visualViewport,s=n.clientWidth,r=n.clientHeight,a=0,l=0;if(o){s=o.width,r=o.height;var c=hi();(c||!c&&"fixed"===e)&&(a=o.offsetLeft,l=o.offsetTop)}return{width:s,height:r,x:a+Wi(t),y:l}}function Vi(t){var e,i=mi(t),n=Hi(t),o=null==(e=t.ownerDocument)?void 0:e.body,s=ri(i.scrollWidth,i.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),r=ri(i.scrollHeight,i.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),a=-n.scrollLeft+Wi(t),l=-n.scrollTop;return"rtl"===fi(o||i).direction&&(a+=ri(i.clientWidth,o?o.clientWidth:0)-s),{width:s,height:r,x:a,y:l}}function Ki(t){var e=fi(t),i=e.overflow,n=e.overflowX,o=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+o+n)}function Gi(t){return["html","body","#document"].indexOf(Xe(t))>=0?t.ownerDocument.body:ti(t)&&Ki(t)?t:Gi(gi(t))}function Yi(t,e){var i;void 0===e&&(e=[]);var n=Gi(t),o=n===(null==(i=t.ownerDocument)?void 0:i.body),s=Je(n),r=o?[s].concat(s.visualViewport||[],Ki(n)?n:[]):n,a=e.concat(r);return o?a:a.concat(Yi(gi(r)))}function Xi(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Ji(t,e){var i=ui(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}function Qi(t,e,i){return e===Ne?Xi(Ui(t,i)):Qe(e)?Ji(e,i):Xi(Vi(mi(t)))}function tn(t){var e=Yi(gi(t)),i=["absolute","fixed"].indexOf(fi(t).position)>=0&&ti(t)?bi(t):t;return Qe(i)?e.filter((function(t){return Qe(t)&&pi(t,i)&&"body"!==Xe(t)})):[]}function en(t,e,i,n){var o="clippingParents"===e?tn(t):[].concat(e),s=[].concat(o,[i]),r=s[0],a=s.reduce((function(e,i){var o=Qi(t,i,n);return e.top=ri(o.top,e.top),e.right=ai(o.right,e.right),e.bottom=ai(o.bottom,e.bottom),e.left=ri(o.left,e.left),e}),Qi(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function nn(t){var e,i=t.reference,n=t.element,o=t.placement,s=o?si(o):null,r=o?Si(o):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(s){case ke:e={x:a,y:i.y-n.height};break;case Ce:e={x:a,y:i.y+i.height};break;case Ee:e={x:i.x+i.width,y:l};break;case Ae:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=s?wi(s):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case ze:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Ie:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function on(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=void 0===n?t.placement:n,s=i.strategy,r=void 0===s?t.strategy:s,a=i.boundary,l=void 0===a?De:a,c=i.rootBoundary,h=void 0===c?Ne:c,u=i.elementContext,d=void 0===u?Be:u,p=i.altBoundary,f=void 0!==p&&p,_=i.padding,m=void 0===_?0:_,g=Ti("number"!=typeof m?m:Mi(m,Oe)),v=d===Be?Ze:Be,y=t.rects.popper,b=t.elements[f?v:d],w=en(Qe(b)?b:b.contextElement||mi(t.elements.popper),l,h,r),x=ui(t.elements.reference),L=nn({reference:x,element:y,placement:o}),P=Xi(Object.assign({},y,L)),T=d===Be?P:x,M={top:w.top-T.top+g.top,bottom:T.bottom-w.bottom+g.bottom,left:w.left-T.left+g.left,right:T.right-w.right+g.right},k=t.modifiersData.offset;if(d===Be&&k){var C=k[o];Object.keys(M).forEach((function(t){var e=[Ee,Ce].indexOf(t)>=0?1:-1,i=[ke,Ce].indexOf(t)>=0?"y":"x";M[t]+=C[i]*e}))}return M}function sn(t,e){void 0===e&&(e={});var i=e,n=i.placement,o=i.boundary,s=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?je:l,h=Si(n),u=h?a?Re:Re.filter((function(t){return Si(t)===h})):Oe,d=u.filter((function(t){return c.indexOf(t)>=0}));0===d.length&&(d=u);var p=d.reduce((function(e,i){return e[i]=on(t,{placement:i,boundary:o,rootBoundary:s,padding:r})[si(i)],e}),{});return Object.keys(p).sort((function(t,e){return p[t]-p[e]}))}function rn(t){if(si(t)===Se)return[];var e=$i(t);return[qi(t),e,qi(e)]}function an(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var o=i.mainAxis,s=void 0===o||o,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,u=i.rootBoundary,d=i.altBoundary,p=i.flipVariations,f=void 0===p||p,_=i.allowedAutoPlacements,m=e.options.placement,g=si(m),v=l||(g!==m&&f?rn(m):[$i(m)]),y=[m].concat(v).reduce((function(t,i){return t.concat(si(i)===Se?sn(e,{placement:i,boundary:h,rootBoundary:u,padding:c,flipVariations:f,allowedAutoPlacements:_}):i)}),[]),b=e.rects.reference,w=e.rects.popper,x=new Map,L=!0,P=y[0],T=0;T=0,A=E?"width":"height",S=on(e,{placement:M,boundary:h,rootBoundary:u,altBoundary:d,padding:c}),O=E?C?Ee:Ae:C?Ce:ke;b[A]>w[A]&&(O=$i(O));var z=$i(O),I=[];if(s&&I.push(S[k]<=0),a&&I.push(S[O]<=0,S[z]<=0),I.every((function(t){return t}))){P=M,L=!1;break}x.set(M,I)}if(L)for(var D=function(t){var e=y.find((function(e){var i=x.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return P=e,"break"},N=f?3:1;N>0&&"break"!==D(N);N--);e.placement!==P&&(e.modifiersData[n]._skip=!0,e.placement=P,e.reset=!0)}}const ln={name:"flip",enabled:!0,phase:"main",fn:an,requiresIfExists:["offset"],data:{_skip:!1}};function cn(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function hn(t){return[ke,Ee,Ce,Ae].some((function(e){return t[e]>=0}))}function un(t){var e=t.state,i=t.name,n=e.rects.reference,o=e.rects.popper,s=e.modifiersData.preventOverflow,r=on(e,{elementContext:"reference"}),a=on(e,{altBoundary:!0}),l=cn(r,n),c=cn(a,o,s),h=hn(l),u=hn(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}const dn={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:un};function pn(t,e,i){var n=si(t),o=[Ae,ke].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=s[0],a=s[1];return r=r||0,a=(a||0)*o,[Ae,Ee].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}function fn(t){var e=t.state,i=t.options,n=t.name,o=i.offset,s=void 0===o?[0,0]:o,r=je.reduce((function(t,i){return t[i]=pn(i,e.rects,s),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}const _n={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:fn};function mn(t){var e=t.state,i=t.name;e.modifiersData[i]=nn({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const gn={name:"popperOffsets",enabled:!0,phase:"read",fn:mn,data:{}};function vn(t){return"x"===t?"y":"x"}function yn(t){var e=t.state,i=t.options,n=t.name,o=i.mainAxis,s=void 0===o||o,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,u=i.padding,d=i.tether,p=void 0===d||d,f=i.tetherOffset,_=void 0===f?0:f,m=on(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:h}),g=si(e.placement),v=Si(e.placement),y=!v,b=wi(g),w=vn(b),x=e.modifiersData.popperOffsets,L=e.rects.reference,P=e.rects.popper,T="function"==typeof _?_(Object.assign({},e.rects,{placement:e.placement})):_,M="number"==typeof T?{mainAxis:T,altAxis:T}:Object.assign({mainAxis:0,altAxis:0},T),k=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,C={x:0,y:0};if(x){if(s){var E,A="y"===b?ke:Ae,S="y"===b?Ce:Ee,O="y"===b?"height":"width",z=x[b],I=z+m[A],D=z-m[S],N=p?-P[O]/2:0,B=v===ze?L[O]:P[O],Z=v===ze?-P[O]:-L[O],R=e.elements.arrow,j=p&&R?di(R):{width:0,height:0},$=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:Pi(),F=$[A],q=$[S],H=xi(0,L[O],j[O]),W=y?L[O]/2-N-H-F-M.mainAxis:B-H-F-M.mainAxis,U=y?-L[O]/2+N+H+q+M.mainAxis:Z+H+q+M.mainAxis,V=e.elements.arrow&&bi(e.elements.arrow),K=V?"y"===b?V.clientTop||0:V.clientLeft||0:0,G=null!=(E=null==k?void 0:k[b])?E:0,Y=z+U-G,X=xi(p?ai(I,z+W-G-K):I,z,p?ri(D,Y):D);x[b]=X,C[b]=X-z}if(a){var J,Q="x"===b?ke:Ae,tt="x"===b?Ce:Ee,et=x[w],it="y"===w?"height":"width",nt=et+m[Q],ot=et-m[tt],st=-1!==[ke,Ae].indexOf(g),rt=null!=(J=null==k?void 0:k[w])?J:0,at=st?nt:et-L[it]-P[it]-rt+M.altAxis,lt=st?et+L[it]+P[it]-rt-M.altAxis:ot,ct=p&&st?Li(at,et,lt):xi(p?at:nt,et,p?lt:ot);x[w]=ct,C[w]=ct-et}e.modifiersData[n]=C}}const bn={name:"preventOverflow",enabled:!0,phase:"main",fn:yn,requiresIfExists:["offset"]};function wn(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function xn(t){return t!==Je(t)&&ti(t)?wn(t):Hi(t)}function Ln(t){var e=t.getBoundingClientRect(),i=li(e.width)/t.offsetWidth||1,n=li(e.height)/t.offsetHeight||1;return 1!==i||1!==n}function Pn(t,e,i){void 0===i&&(i=!1);var n=ti(e),o=ti(e)&&Ln(e),s=mi(e),r=ui(t,o,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Xe(e)||Ki(s))&&(a=xn(e)),ti(e)?((l=ui(e,!0)).x+=e.clientLeft,l.y+=e.clientTop):s&&(l.x=Wi(s))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function Tn(t){var e=new Map,i=new Set,n=[];function o(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&o(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||o(t)})),n}function Mn(t){var e=Tn(t);return Ye.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}function kn(t){var e;return function(){return e||(e=new Promise((function(i){Promise.resolve().then((function(){e=void 0,i(t())}))}))),e}}function Cn(t){var e=t.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{});return Object.keys(e).map((function(t){return e[t]}))}var En={placement:"bottom",modifiers:[],strategy:"absolute"};function An(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(U.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...x(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=X.find(lo,this._menu).filter((t=>d(t)));i.length&&P(i,e,t===Fn,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=bo.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t.button===qn||"keyup"===t.type&&t.key!==jn)return;const e=X.find(oo);for(const i of e){const e=bo.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),o=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!o||"outside"===e._config.autoClose&&o)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&t.key===jn||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const s={relatedTarget:e._element};"click"===t.type&&(s.clickEvent=t),e._completeHide(s)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i=t.key===Rn,n=[$n,Fn].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const o=this.matches(no)?this:X.prev(this,no)[0]||X.next(this,no)[0]||X.findOne(no,t.delegateTarget.parentNode),s=bo.getOrCreateInstance(o);if(n)return t.stopPropagation(),s.show(),void s._selectMenuItem(t);s._isShown()&&(t.stopPropagation(),s.hide(),o.focus())}}F.on(document,Gn,no,bo.dataApiKeydownHandler),F.on(document,Gn,so,bo.dataApiKeydownHandler),F.on(document,Kn,bo.clearMenus),F.on(document,Yn,bo.clearMenus),F.on(document,Kn,no,(function(t){t.preventDefault(),bo.getOrCreateInstance(this).toggle()})),w(bo);const wo="backdrop",xo="fade",Lo="show",Po=`mousedown.bs.${wo}`,To={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Mo={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class ko extends V{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return To}static get DefaultType(){return Mo}static get NAME(){return wo}show(t){if(!this._config.isVisible)return void x(t);this._append();const e=this._getElement();this._config.isAnimated&&m(e),e.classList.add(Lo),this._emulateAnimation((()=>{x(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Lo),this._emulateAnimation((()=>{this.dispose(),x(t)}))):x(t)}dispose(){this._isAppended&&(F.off(this._element,Po),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(xo),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=u(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),F.on(t,Po,(()=>{x(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){L(t,this._getElement(),this._config.isAnimated)}}const Co="focustrap",Eo=".bs.focustrap",Ao=`focusin${Eo}`,So=`keydown.tab${Eo}`,Oo="Tab",zo="forward",Io="backward",Do={autofocus:!0,trapElement:null},No={autofocus:"boolean",trapElement:"element"};class Bo extends V{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Do}static get DefaultType(){return No}static get NAME(){return Co}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),F.off(document,Eo),F.on(document,Ao,(t=>this._handleFocusin(t))),F.on(document,So,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,F.off(document,Eo))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=X.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Io?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){t.key===Oo&&(this._lastTabNavDirection=t.shiftKey?Io:zo)}}const Zo=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",Ro=".sticky-top",jo="padding-right",$o="margin-right";class Fo{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,jo,(e=>e+t)),this._setElementAttributes(Zo,jo,(e=>e+t)),this._setElementAttributes(Ro,$o,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,jo),this._resetElementAttributes(Zo,jo),this._resetElementAttributes(Ro,$o)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth(),o=t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const o=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(o))}px`)};this._applyManipulationCallback(t,o)}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){const i=t=>{const i=U.getDataAttribute(t,e);null!==i?(U.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)};this._applyManipulationCallback(t,i)}_applyManipulationCallback(t,e){if(h(t))e(t);else for(const i of X.find(t,this._element))e(i)}}const qo="modal",Ho=".bs.modal",Wo="Escape",Uo=`hide${Ho}`,Vo=`hidePrevented${Ho}`,Ko=`hidden${Ho}`,Go=`show${Ho}`,Yo=`shown${Ho}`,Xo=`resize${Ho}`,Jo=`click.dismiss${Ho}`,Qo=`mousedown.dismiss${Ho}`,ts=`keydown.dismiss${Ho}`,es=`click${Ho}.data-api`,is="modal-open",ns="fade",os="show",ss="modal-static",rs=".modal.show",as=".modal-dialog",ls=".modal-body",cs='[data-bs-toggle="modal"]',hs={backdrop:!0,focus:!0,keyboard:!0},us={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class ds extends G{constructor(t,e){super(t,e),this._dialog=X.findOne(as,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Fo,this._addEventListeners()}static get Default(){return hs}static get DefaultType(){return us}static get NAME(){return qo}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||F.trigger(this._element,Go,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(is),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(F.trigger(this._element,Uo).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(os),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){F.off(window,Ho),F.off(this._dialog,Ho),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new ko({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Bo({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=X.findOne(ls,this._dialog);e&&(e.scrollTop=0),m(this._element),this._element.classList.add(os);const i=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,F.trigger(this._element,Yo,{relatedTarget:t})};this._queueCallback(i,this._dialog,this._isAnimated())}_addEventListeners(){F.on(this._element,ts,(t=>{t.key===Wo&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),F.on(window,Xo,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),F.on(this._element,Qo,(t=>{F.one(this._element,Jo,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(is),this._resetAdjustments(),this._scrollBar.reset(),F.trigger(this._element,Ko)}))}_isAnimated(){return this._element.classList.contains(ns)}_triggerBackdropTransition(){if(F.trigger(this._element,Vo).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(ss)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(ss),this._queueCallback((()=>{this._element.classList.remove(ss),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=b()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=b()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=ds.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}F.on(document,es,cs,(function(t){const e=X.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),F.one(e,Go,(t=>{t.defaultPrevented||F.one(e,Ko,(()=>{d(this)&&this.focus()}))}));const i=X.findOne(rs);i&&ds.getInstance(i).hide(),ds.getOrCreateInstance(e).toggle(this)})),J(ds),w(ds);const ps="offcanvas",fs=".bs.offcanvas",_s=".data-api",ms=`load${fs}${_s}`,gs="Escape",vs="show",ys="showing",bs="hiding",ws="offcanvas-backdrop",xs=".offcanvas.show",Ls=`show${fs}`,Ps=`shown${fs}`,Ts=`hide${fs}`,Ms=`hidePrevented${fs}`,ks=`hidden${fs}`,Cs=`resize${fs}`,Es=`click${fs}${_s}`,As=`keydown.dismiss${fs}`,Ss='[data-bs-toggle="offcanvas"]',Os={backdrop:!0,keyboard:!0,scroll:!1},zs={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Is extends G{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Os}static get DefaultType(){return zs}static get NAME(){return ps}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(F.trigger(this._element,Ls,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Fo).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(ys);const e=()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(vs),this._element.classList.remove(ys),F.trigger(this._element,Ps,{relatedTarget:t})};this._queueCallback(e,this._element,!0)}hide(){if(!this._isShown)return;if(F.trigger(this._element,Ts).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(bs),this._backdrop.hide();const t=()=>{this._element.classList.remove(vs,bs),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new Fo).reset(),F.trigger(this._element,ks)};this._queueCallback(t,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{"static"!==this._config.backdrop?this.hide():F.trigger(this._element,Ms)},e=Boolean(this._config.backdrop);return new ko({className:ws,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new Bo({trapElement:this._element})}_addEventListeners(){F.on(this._element,As,(t=>{t.key===gs&&(this._config.keyboard?this.hide():F.trigger(this._element,Ms))}))}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}F.on(document,Es,Ss,(function(t){const e=X.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this))return;F.one(e,ks,(()=>{d(this)&&this.focus()}));const i=X.findOne(xs);i&&i!==e&&Is.getInstance(i).hide(),Is.getOrCreateInstance(e).toggle(this)})),F.on(window,ms,(()=>{for(const t of X.find(xs))Is.getOrCreateInstance(t).show()})),F.on(window,Cs,(()=>{for(const t of X.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Is.getOrCreateInstance(t).hide()})),J(Is),w(Is);const Ds={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Ns=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Bs=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Zs=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Ns.has(i)||Boolean(Bs.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))};function Rs(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),o=[].concat(...n.body.querySelectorAll("*"));for(const t of o){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),o=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Zs(e,o)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}const js="TemplateFactory",$s={allowList:Ds,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},Fs={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},qs={entry:"(string|element|function|null)",selector:"(string|element)"};class Hs extends V{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return $s}static get DefaultType(){return Fs}static get NAME(){return js}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},qs)}_setContent(t,e,i){const n=X.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?h(e)?this._putElementInTemplate(u(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?Rs(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return x(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ws="tooltip",Us=new Set(["sanitize","allowList","sanitizeFn"]),Vs="fade",Ks="show",Gs=".tooltip-inner",Ys=".modal",Xs="hide.bs.modal",Js="hover",Qs="focus",tr="click",er="manual",ir="hide",nr="hidden",or="show",sr="shown",rr="inserted",ar="click",lr="focusin",cr="focusout",hr="mouseenter",ur="mouseleave",dr={AUTO:"auto",TOP:"top",RIGHT:b()?"left":"right",BOTTOM:"bottom",LEFT:b()?"right":"left"},pr={allowList:Ds,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},fr={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class _r extends G{constructor(t,e){if(void 0===Dn)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return pr}static get DefaultType(){return fr}static get NAME(){return Ws}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),F.off(this._element.closest(Ys),Xs,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=F.trigger(this._element,this.constructor.eventName(or)),e=(f(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),F.trigger(this._element,this.constructor.eventName(rr))),this._popper=this._createPopper(i),i.classList.add(Ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))F.on(t,"mouseover",_);const o=()=>{F.trigger(this._element,this.constructor.eventName(sr)),!1===this._isHovered&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(F.trigger(this._element,this.constructor.eventName(ir)).defaultPrevented)return;if(this._getTipElement().classList.remove(Ks),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))F.off(t,"mouseover",_);this._activeTrigger[tr]=!1,this._activeTrigger[Qs]=!1,this._activeTrigger[Js]=!1,this._isHovered=null;const t=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),F.trigger(this._element,this.constructor.eventName(nr)))};this._queueCallback(t,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Vs,Ks),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=a(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(Vs),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Hs({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Gs]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Vs)}_isShown(){return this.tip&&this.tip.classList.contains(Ks)}_createPopper(t){const e=x(this._config.placement,[this,t,this._element]),i=dr[e.toUpperCase()];return In(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return x(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...x(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)F.on(this._element,this.constructor.eventName(ar),this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[tr]=!(e._isShown()&&e._activeTrigger[tr]),e.toggle()}));else if(e!==er){const t=e===Js?this.constructor.eventName(hr):this.constructor.eventName(lr),i=e===Js?this.constructor.eventName(ur):this.constructor.eventName(cr);F.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Qs:Js]=!0,e._enter()})),F.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Qs:Js]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},F.on(this._element.closest(Ys),Xs,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=U.getDataAttributes(this._element);for(const t of Object.keys(e))Us.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:u(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=_r.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(_r);const mr="popover",gr=".popover-header",vr=".popover-body",yr={..._r.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},br={..._r.DefaultType,content:"(null|string|element|function)"};class wr extends _r{static get Default(){return yr}static get DefaultType(){return br}static get NAME(){return mr}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[gr]:this._getTitle(),[vr]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=wr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}w(wr);const xr="scrollspy",Lr=".bs.scrollspy",Pr=`activate${Lr}`,Tr=`click${Lr}`,Mr=`load${Lr}.data-api`,kr="dropdown-item",Cr="active",Er='[data-bs-spy="scroll"]',Ar="[href]",Sr=".nav, .list-group",Or=".nav-link",zr=`${Or}, .nav-item > ${Or}, .list-group-item`,Ir=".dropdown",Dr=".dropdown-toggle",Nr={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Br={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Zr extends G{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Nr}static get DefaultType(){return Br}static get NAME(){return xr}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=u(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(F.off(this._config.target,Tr),F.on(this._config.target,Tr,Ar,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,o=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const s of t){if(!s.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(s));continue}const t=s.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(o&&t){if(i(s),!n)return}else o||t||i(s)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=X.find(Ar,this._config.target);for(const e of t){if(!e.hash||p(e))continue;const t=X.findOne(decodeURI(e.hash),this._element);d(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Cr),this._activateParents(t),F.trigger(this._element,Pr,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(kr))X.findOne(Dr,t.closest(Ir)).classList.add(Cr);else for(const e of X.parents(t,Sr))for(const t of X.prev(e,zr))t.classList.add(Cr)}_clearActiveClass(t){t.classList.remove(Cr);const e=X.find(`${Ar}.${Cr}`,t);for(const t of e)t.classList.remove(Cr)}static jQueryInterface(t){return this.each((function(){const e=Zr.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}F.on(window,Mr,(()=>{for(const t of X.find(Er))Zr.getOrCreateInstance(t)})),w(Zr);const Rr="tab",jr=".bs.tab",$r=`hide${jr}`,Fr=`hidden${jr}`,qr=`show${jr}`,Hr=`shown${jr}`,Wr=`click${jr}`,Ur=`keydown${jr}`,Vr=`load${jr}`,Kr="ArrowLeft",Gr="ArrowRight",Yr="ArrowUp",Xr="ArrowDown",Jr="Home",Qr="End",ta="active",ea="fade",ia="show",na="dropdown",oa=".dropdown-toggle",sa=".dropdown-menu",ra=`:not(${oa})`,aa='.list-group, .nav, [role="tablist"]',la=".nav-item, .list-group-item",ca='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',ha=`.nav-link${ra}, .list-group-item${ra}, [role="tab"]${ra}, ${ca}`,ua=`.${ta}[data-bs-toggle="tab"], .${ta}[data-bs-toggle="pill"], .${ta}[data-bs-toggle="list"]`;class da extends G{constructor(t){super(t),this._parent=this._element.closest(aa),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),F.on(this._element,Ur,(t=>this._keydown(t))))}static get NAME(){return Rr}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?F.trigger(e,$r,{relatedTarget:t}):null;F.trigger(t,qr,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(ta),this._activate(X.getElementFromSelector(t));const i=()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),F.trigger(t,Hr,{relatedTarget:e})):t.classList.add(ia)};this._queueCallback(i,t,t.classList.contains(ea))}_deactivate(t,e){if(!t)return;t.classList.remove(ta),t.blur(),this._deactivate(X.getElementFromSelector(t));const i=()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),F.trigger(t,Fr,{relatedTarget:e})):t.classList.remove(ia)};this._queueCallback(i,t,t.classList.contains(ea))}_keydown(t){if(![Kr,Gr,Yr,Xr,Jr,Qr].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!p(t)));let i;if([Jr,Qr].includes(t.key))i=e[t.key===Jr?0:e.length-1];else{const n=[Gr,Xr].includes(t.key);i=P(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),da.getOrCreateInstance(i).show())}_getChildren(){return X.find(ha,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=X.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains(na))return;const n=(t,n)=>{const o=X.findOne(t,i);o&&o.classList.toggle(n,e)};n(oa,ta),n(sa,ia),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ta)}_getInnerElement(t){return t.matches(ha)?t:X.findOne(ha,t)}_getOuterElement(t){return t.closest(la)||t}static jQueryInterface(t){return this.each((function(){const e=da.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}F.on(document,Wr,ca,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),p(this)||da.getOrCreateInstance(this).show()})),F.on(window,Vr,(()=>{for(const t of X.find(ua))da.getOrCreateInstance(t)})),w(da);const pa="toast",fa=".bs.toast",_a=`mouseover${fa}`,ma=`mouseout${fa}`,ga=`focusin${fa}`,va=`focusout${fa}`,ya=`hide${fa}`,ba=`hidden${fa}`,wa=`show${fa}`,xa=`shown${fa}`,La="fade",Pa="hide",Ta="show",Ma="showing",ka={animation:"boolean",autohide:"boolean",delay:"number"},Ca={animation:!0,autohide:!0,delay:5e3};class Ea extends G{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ca}static get DefaultType(){return ka}static get NAME(){return pa}show(){if(F.trigger(this._element,wa).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(La);const t=()=>{this._element.classList.remove(Ma),F.trigger(this._element,xa),this._maybeScheduleHide()};this._element.classList.remove(Pa),m(this._element),this._element.classList.add(Ta,Ma),this._queueCallback(t,this._element,this._config.animation)}hide(){if(!this.isShown())return;if(F.trigger(this._element,ya).defaultPrevented)return;const t=()=>{this._element.classList.add(Pa),this._element.classList.remove(Ma,Ta),F.trigger(this._element,ba)};this._element.classList.add(Ma),this._queueCallback(t,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ta),super.dispose()}isShown(){return this._element.classList.contains(Ta)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){F.on(this._element,_a,(t=>this._onInteraction(t,!0))),F.on(this._element,ma,(t=>this._onInteraction(t,!1))),F.on(this._element,ga,(t=>this._onInteraction(t,!0))),F.on(this._element,va,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Ea.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return J(Ea),w(Ea),{Alert:st,Button:ht,Carousel:re,Collapse:Me,Dropdown:bo,Modal:ds,Offcanvas:Is,Popover:wr,ScrollSpy:Zr,Tab:da,Toast:Ea,Tooltip:_r}}());var Fi,qi,Hi={};async function Wi(t,e){if(window.location.protocol.match(/^http/))if(Hi[t])e.innerHTML=Hi[t];else try{await fetch(t).then((t=>t.text())).then((i=>{i=i.replace("Nominatim_API_Endpoint",Ui()),e.innerHTML=i,Hi[t]=i}))}catch(i){e.innerHTML=`Error fetching content from ${t} (${i})`}else e.innerHTML=`Cannot display data from ${t} here. Browser security prevents loading content from file:// URLs.`}function Ui(t){var e=Nominatim_Config.Nominatim_API_Endpoint;return"function"==typeof e?e(t):t?e+t:e}function Vi(t,e){return 1===e.dedupe&&delete e.dedupe,function(t,e){for(var i=Object.keys(e),n=0;nencodeURIComponent(t)+"="+encodeURIComponent(e[t]))).join("&")}function Ki(t){document.title=[t,Nominatim_Config.Page_Title].filter((t=>t&&t.length>1)).join(" | ")} /*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed - */var Ui=function(){if(Ri)return ji;Ri=1;var t=/["'&<>]/;return ji=function(e){var i,n=""+e,o=t.exec(n);if(!o)return n;var s="",r=0,a=0;for(r=o.index;r{this.page?.tab!==t&&this.#y&&(this.#y.abort(),this.#y=void 0),this.page={tab:t,params:e},this.lastApiRequestURL=null,this.errorMessage=null}))}async fetchFromApi(t,e,i){const n=qi(t,e),o=new URLSearchParams(window.location.search).get("mock_api_error"),s={};this.requestProgress="start","status"!==t&&(this.lastApiRequestURL=null,this.#y?.abort(),this.#y=new AbortController,s.signal=this.#y.signal),Nominatim_Config.Nominatim_API_Endpoint_Headers&&(s.headers=Nominatim_Config.Nominatim_API_Endpoint_Headers);try{await fetch(n,s).then((async t=>{if((t.status>=200&&t.status<300||404===t.status)&&"fetch"!==o){var e;try{e="parse"===o?JSON.parse("{"):await t.json()}catch(t){return void(this.errorMessage=`Error parsing JSON data from ${n} (${t})`)}return e}this.errorMessage=`Error fetching data from ${n} (${t.statusText})`})).then((t=>{t&&(t.error&&(this.errorMessage=t.error.message),i(t)),this.requestProgress="finish"}))}catch(t){"AbortError"!==t.name&&(this.errorMessage=`Error fetching data from ${n} (${t})`,this.requestProgress="finish")}"status"!==t&&(this.lastApiRequestURL=n)}};var tn=Ye('

Addresses and postcodes are approximate.\n Blue circle is the result.\n In case of reverse geocoding the smaller red circle is at the search position.

');function en(t,e,i){t.preventDefault(),t.stopPropagation(),Qi.refreshPage(e.page,new URLSearchParams(i()))}var nn=Ye("");function on(t,e){F(e,!0);let i=Ii(e,"params_hash",19,(()=>({}))),n=Ii(e,"extra_classes",3,"");const o=tt((()=>{const t=new URLSearchParams(i()).toString();return e.page+".html"+(t?"?":"")+t}));var s=nn();s.__click=[en,e,i];var r=Bt(s),a=t=>{var i=Je();hi(Zt(i),(()=>e.text_snippet)),Qe(t,i)},l=t=>{var i=Xe();Ut((()=>ti(i,e.text))),Qe(t,i)};ni(r,(t=>{e.text_snippet?t(a):t(l,!1)})),Ut((()=>{Ti(s,"href",Se(o)),mi(s,0,di(n()))})),Qe(t,s),H()}function sn(t,e){t.preventDefault(),t.stopPropagation(),Qi.refreshPage("reverse",Se(e))}We(["click"]);var rn=Ye(" ");We(["click"]);var an=["second","minute","hour","day","week","month","year"];var ln=["秒","分钟","小时","天","周","个月","年"];var cn={},hn=function(t,e){cn[t]=e},un=[60,60,24,7,365/7/12,12];function dn(t,e){var i;return(+new Date-+((i=t)instanceof Date?i:!isNaN(i)||/^\d+$/.test(i)?new Date(parseInt(i)):(i=(i||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(i))))/1e3}var pn=function(t,e,i){return function(t,e){for(var i=t<0?1:0,n=t=Math.abs(t),o=0;t>=un[o]&&o(0==(o*=2)?9:1)&&(o+=1),e(t,o,n)[i].replace("%s",t.toString())}(dn(t),function(t){return cn[t]||cn.en_US}(e))};hn("en_US",(function(t,e){if(0===e)return["just now","right now"];var i=an[Math.floor(e/2)];return t>1&&(i+="s"),[t+" "+i+" ago","in "+t+" "+i]})),hn("zh_CN",(function(t,e){if(0===e)return["刚刚","片刻后"];var i=ln[~~(e/2)];return[t+" "+i+"前",t+" "+i+"后"]}));var fn=Ye(''),mn=Ye('Data last updated: ',1),_n=Ye('
Loading data from API ...
()
');var gn,vn,yn=(gn=()=>Qi,vn=xt(0),function(){return 1===arguments.length?(Pt(vn,Se(vn)+1),arguments[0]):(Se(vn),gn())}),bn=Ye('
');We(["click"]);const wn=new class{#b=Lt();get center(){return Se(this.#b)}set center(t){Pt(this.#b,t,!0)}#w=Lt();get zoom(){return Se(this.#w)}set zoom(t){Pt(this.#w,t,!0)}#x=Lt();get viewboxStr(){return Se(this.#x)}set viewboxStr(t){Pt(this.#x,t,!0)}#L=Lt();get lastClick(){return Se(this.#L)}set lastClick(t){Pt(this.#L,t,!0)}#P=Lt();get mousePos(){return Se(this.#P)}set mousePos(t){Pt(this.#P,t,!0)}reset(){this.center=void 0,this.zoom=void 0,this.viewboxStr="",this.lastClick=void 0,this.mousePos=void 0}}; + */var Gi=function(){if(qi)return Fi;qi=1;var t=/["'&<>]/;return Fi=function(e){var i,n=""+e,o=t.exec(n);if(!o)return n;var s="",r=0,a=0;for(r=o.index;r{this.page?.tab!==t&&this.#y&&(this.#y.abort(),this.#y=void 0),this.page={tab:t,params:e},this.lastApiRequestURL=null,this.errorMessage=null}))}async fetchFromApi(t,e,i){const n=Vi(t,e),o=new URLSearchParams(window.location.search).get("mock_api_error"),s={};this.requestProgress="start","status"!==t&&(this.lastApiRequestURL=null,this.#y?.abort(),this.#y=new AbortController,s.signal=this.#y.signal),Nominatim_Config.Nominatim_API_Endpoint_Headers&&(s.headers=Nominatim_Config.Nominatim_API_Endpoint_Headers);try{await fetch(n,s).then((async t=>{if((t.status>=200&&t.status<300||404===t.status)&&"fetch"!==o){var e;try{e="parse"===o?JSON.parse("{"):await t.json()}catch(t){return void(this.errorMessage=`Error parsing JSON data from ${n} (${t})`)}return e}this.errorMessage=`Error fetching data from ${n} (${t.statusText})`})).then((t=>{t&&(t.error&&(this.errorMessage=t.error.message),i(t)),this.requestProgress="finish"}))}catch(t){"AbortError"!==t.name&&(this.errorMessage=`Error fetching data from ${n} (${t})`,this.requestProgress="finish")}"status"!==t&&(this.lastApiRequestURL=n)}};var on=Qe('

Addresses and postcodes are approximate.\n Blue circle is the result.\n In case of reverse geocoding the smaller red circle is at the search position.

');function sn(t,e,i){t.preventDefault(),t.stopPropagation(),nn.refreshPage(e.page,new URLSearchParams(i()))}var rn=Qe("");function an(t,e){F(e,!0);let i=Bi(e,"params_hash",19,(()=>({}))),n=Bi(e,"extra_classes",3,"");const o=it((()=>{const t=new URLSearchParams(i()).toString();return e.page+".html"+(t?"?":"")+t}));var s=rn();s.__click=[sn,e,i];var r=Rt(s),a=t=>{var i=ei();pi(jt(i),(()=>e.text_snippet)),ii(t,i)},l=t=>{var i=ti();Xt((()=>ni(i,e.text))),ii(t,i)};ri(r,(t=>{e.text_snippet?t(a):t(l,!1)})),Xt((()=>{Ci(s,"href",Be(o)),vi(s,0,_i(n()))})),ii(t,s),q()}function ln(t,e){t.preventDefault(),t.stopPropagation(),nn.refreshPage("reverse",Be(e))}Ke(["click"]);var cn=Qe(" ");Ke(["click"]);var hn=["second","minute","hour","day","week","month","year"];var un=["秒","分钟","小时","天","周","个月","年"];var dn={},pn=function(t,e){dn[t]=e},fn=[60,60,24,7,365/7/12,12];function _n(t,e){var i;return(+new Date-+((i=t)instanceof Date?i:!isNaN(i)||/^\d+$/.test(i)?new Date(parseInt(i)):(i=(i||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(i))))/1e3}var mn=function(t,e,i){return function(t,e){for(var i=t<0?1:0,n=t=Math.abs(t),o=0;t>=fn[o]&&o(0==(o*=2)?9:1)&&(o+=1),e(t,o,n)[i].replace("%s",t.toString())}(_n(t),function(t){return dn[t]||dn.en_US}(e))};pn("en_US",(function(t,e){if(0===e)return["just now","right now"];var i=hn[Math.floor(e/2)];return t>1&&(i+="s"),[t+" "+i+" ago","in "+t+" "+i]})),pn("zh_CN",(function(t,e){if(0===e)return["刚刚","片刻后"];var i=un[~~(e/2)];return[t+" "+i+"前",t+" "+i+"后"]}));var gn=Qe(''),vn=Qe('Data last updated: ',1),yn=Qe('
Loading data from API ...
()
');var bn,wn,xn=(bn=()=>nn,wn=Pt(0),function(){return 1===arguments.length?(Mt(wn,Be(wn)+1),arguments[0]):(Be(wn),bn())}),Ln=Qe('
');Ke(["click"]);const Pn=new class{#b=Tt();get center(){return Be(this.#b)}set center(t){Mt(this.#b,t,!0)}#w=Tt();get zoom(){return Be(this.#w)}set zoom(t){Mt(this.#w,t,!0)}#x=Tt();get viewboxStr(){return Be(this.#x)}set viewboxStr(t){Mt(this.#x,t,!0)}#L=Tt();get lastClick(){return Be(this.#L)}set lastClick(t){Mt(this.#L,t,!0)}#P=Tt();get mousePos(){return Be(this.#P)}set mousePos(t){Mt(this.#P,t,!0)}reset(){this.center=void 0,this.zoom=void 0,this.viewboxStr="",this.lastClick=void 0,this.mousePos=void 0}}; /*! * https://getbootstrap.com/docs/5.3/customize/color-modes/#javascript * * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) * Copyright 2011-2025 The Bootstrap Authors * Licensed under the Creative Commons Attribution 3.0 Unported License. - */function xn(){const t=()=>localStorage.getItem("theme"),e=()=>{const e=t();return e||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")},i=t=>{"auto"===t?document.documentElement.setAttribute("data-bs-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"):document.documentElement.setAttribute("data-bs-theme",t)};i(e());const n=(t,e=!1)=>{const i=document.querySelector("#bd-theme");if(!i)return;const n=document.querySelector("#bd-theme-text"),o=document.querySelector(`[data-bs-theme-value="${t}"]`);document.querySelectorAll("[data-bs-theme-value]").forEach((t=>{t.classList.remove("active"),t.setAttribute("aria-pressed","false")})),o.classList.add("active"),o.setAttribute("aria-pressed","true");const s=`${n.textContent} (${o.dataset.bsThemeValue})`;i.setAttribute("aria-label",s),e&&i.focus()};window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(()=>{const n=t();"light"!==n&&"dark"!==n&&i(e())})),n(e()),document.querySelectorAll("[data-bs-theme-value]").forEach((t=>{t.addEventListener("click",(()=>{const e=t.getAttribute("data-bs-theme-value");(t=>{localStorage.setItem("theme",t)})(e),i(e),n(e,!0)}))}))}var Ln=Ye('

',1),Pn=Ye(''),Tn=Ye('

',1);function kn(t,e){F(e,!0);const i=t=>{var e=Ln(),i=Bt(jt(Zt(e),2));Ut((()=>ti(i,n))),Qe(t,e)},n=Nominatim_Config.Page_Title,o=Nominatim_Config.Reverse_Only;let s=tt((()=>Qi.page.tab));Di(xn);var r=Tn(),a=Zt(r),l=Bt(a),c=Bt(l),h=Bt(c),d=Bt(h);{let t=tt((()=>o?"reverse":"search"));on(d,{get text_snippet(){return i},get page(){return Se(t)}})}var p=jt(h,4),f=Bt(p),m=Bt(f),_=t=>{var e=Pn(),i=Bt(e);{let t=tt((()=>"search"===Se(s)?"active":""));on(i,{page:"search",text:"Search",get extra_classes(){return`nav-link ${Se(t)??""}`}})}Qe(t,e)};ni(m,(t=>{o||t(_)}));var g=jt(m,2),v=Bt(g);{let t=tt((()=>wn.center?.lat)),e=tt((()=>wn.center?.lng)),i=tt((()=>"reverse"===Se(s)?"active":""));!function(t,e){F(e,!0);let i=Ii(e,"lat",3,null),n=Ii(e,"lon",3,null),o=Ii(e,"zoom",3,null),s=Ii(e,"extra_classes",3,"");const r=tt((()=>{const t={};return i()&&n()&&(t.lat=i(),t.lon=n(),o()&&t.set("zoom",o())),new URLSearchParams(t)})),a=tt((()=>{let t=Se(r).toString();return"reverse.html"+(t?"?":"")+t}));var l=rn();l.__click=[sn,r];var c=Bt(l);Ut((()=>{Ti(l,"href",Se(a)),mi(l,0,di(s())),ti(c,e.text)})),Qe(t,l),H()}(v,{get lat(){return Se(t)},get lon(){return Se(e)},text:"Reverse",get extra_classes(){return`nav-link ${Se(i)??""}`}})}var y=Bt(jt(g,2));{let t=tt((()=>"details"===Se(s)?"active":""));on(y,{page:"details",text:"Search By ID",get extra_classes(){return`nav-link ${Se(t)??""}`}})}var b=jt(p,2),w=jt(Bt(b),2),x=Bt(w);{let t=tt((()=>"about"===Se(s)?"active":""));on(x,{page:"about",text:"Abount & Help",get extra_classes(){return`nav-link ${Se(t)??""}`}})}var L=jt(a,2),P=Bt(L),T=Bt(P),k=jt(L,2);hi(Bt(k),(()=>e.subheader??u));var M=jt(k,2);!function(t,e){F(e,!1),Si();var i=Je(),n=Zt(i),o=t=>{var e=bn(),i=Bt(e);jt(i).__click=()=>yn(yn().errorMessage=null),Ut((()=>ti(i,`${yn().errorMessage??""} `))),Qe(t,e)};ni(n,(t=>{yn().errorMessage&&t(o)})),Qe(t,i),H()}(M,{}),function(t,e){F(e,!0);let i=Lt(void 0),n=tt((()=>{const t=Qi.lastApiRequestURL;if(t){const e=new URL(t,window.location.origin);return e.searchParams.delete("polygon_geojson"),e.toString()}}));Di((()=>{Qi.fetchFromApi("status",{format:"json"},(function(t){Pt(i,t.data_updated,!0)}))}));var o=_n(),s=Bt(o);let r;var a=Bt(jt(s,2)),l=Bt(a),c=t=>{var e=fn(),i=jt(Bt(e)),o=jt(i,2),s=jt(Bt(o));Ut((()=>{Ti(i,"href",Se(n)),Ti(s,"href",`${Se(n)??""}&debug=1`)})),Qe(t,e)};ni(l,(t=>{Se(n)&&t(c)}));var h=Bt(jt(a,2)),u=t=>{var e=mn(),n=jt(Zt(e)),o=Bt(n);Ut((t=>{Ti(n,"title",`${Se(i)??""} (UTC timezone)`),ti(o,t)}),[()=>pn(new Date(Se(i)))]),Qe(t,e)};ni(h,(t=>{Se(i)&&t(u)})),on(jt(h,2),{page:"status",text:"Details"}),Ut((t=>r=gi(s,"",r,t)),[()=>({display:"start"===Qi.requestProgress?"block":"none"})]),Qe(t,o),H()}(jt(M,2),{}),Ut((()=>ti(T,Se(s)))),Qe(t,r),H()}const Mn=Symbol();class Cn extends URLSearchParams{#T=Lt(0);#k=function(){return En}();#M=!1;#C(){if(!this.#k||this.#M)return;this.#M=!0;const t=this.toString();this.#k.search=t&&`?${t}`,this.#M=!1}[Mn](t){if(!this.#M){this.#M=!0;for(const t of[...super.keys()])super.delete(t);for(const[e,i]of t)super.append(e,i);kt(this.#T),this.#M=!1}}append(t,e){super.append(t,e),this.#C(),kt(this.#T)}delete(t,e){var i=super.has(t,e);super.delete(t,e),i&&(this.#C(),kt(this.#T))}get(t){return Se(this.#T),super.get(t)}getAll(t){return Se(this.#T),super.getAll(t)}has(t,e){return Se(this.#T),super.has(t,e)}keys(){return Se(this.#T),super.keys()}set(t,e){var i=super.getAll(t).join("");super.set(t,e),i!==super.getAll(t).join("")&&(this.#C(),kt(this.#T))}sort(){super.sort(),this.#C(),kt(this.#T)}toString(){return Se(this.#T),super.toString()}values(){return Se(this.#T),super.values()}entries(){return Se(this.#T),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return Se(this.#T),super.size}}let En=null;var An=Ye('');function Sn(t,e){F(e,!0);var i=An(),n=Bt(i);hi(Bt(n),(()=>e.content??u)),qe("submit",i,(function(t){t.preventDefault();let i=t.target,n=!0;Array.prototype.slice.call(i.elements).forEach((function(t){(function(t){return!("hidden"===t.type&&t.value.length&&t.pattern&&!t.value.match(t.pattern))&&t.checkValidity()})(t)||(alert("Invalid input in "+t.name),n=!1)})),n&&Qi.refreshPage(e.page,function(t){var e=new Cn;return Array.prototype.slice.call(t.elements).forEach((function(t){!t.name||t.disabled||["submit","button"].indexOf(t.type)>-1||["checkbox","radio"].indexOf(t.type)>-1&&!t.checked||void 0!==t.value&&""!==t.value&&("dedupe"!==t.name||1!==t.value&&"1"!==t.value)&&e.set(t.name,t.value)})),e}(i))})),Qe(t,i),H()}function On(t){document.querySelector("input[name=bounded]").value=t.target.checked?1:""}function zn(t){document.querySelector("input[name=dedupe]").value=t.target.checked?1:0}function In(t){document.querySelector("input[name="+t.target.dataset.apiParam+"]").value=t.target.value}var Dn=Ye('
'),Nn=Ye('
',1),Bn=Ye('
',1),Zn=(t,e)=>Pt(e,!Se(e)),jn=Ye('
Advanced options
',1);function Rn(t,e){t.preventDefault(),t.stopPropagation(),Qi.refreshPage("details",Se(e))}We(["change"]);var $n=Ye(" ");function Fn(t,e){F(e,!0);let i=Ii(e,"text",3,"details"),n=Ii(e,"extra_classes",3,""),o=Ii(e,"feature",3,null);const s=tt((()=>{const t={};var e;return null!==o()&&(o().osm_type?(1===o().osm_type.length?t.osmtype=o().osm_type:t.osmtype="node"===(e=o().osm_type)?"N":"way"===e?"W":"relation"===e?"R":"",t.osmid=o().osm_id,o().class?t.class=o().class:o().category&&(t.class=o().category)):o().place_id&&(t.place_id=o().place_id)),new URLSearchParams(t)})),r=tt((()=>{const t=Se(s).toString();return"details.html"+(t?"?":"")+t}));var a=$n();a.__click=[Rn,s];var l=Bt(a);Ut((()=>{Ti(a,"href",Se(r)),mi(a,0,di(n())),ti(l,i())})),Qe(t,a),H()}We(["click"]);var Hn=Ye('
');var qn=Ye('');function Wn(t,e){F(e,!0);const i=tt((()=>{return t=e.aPlace.category,i=e.aPlace.type,{"boundary:administrative":"poi_boundary_administrative","place:city":"poi_place_city","place:town":"poi_place_town","place:village":"poi_place_village","place:hamlet":"poi_place_village","place:suburb":"poi_place_village","place:locality":"poi_place_village","place:airport":"transport_airport2","aeroway:aerodrome":"transport_airport2","railway:station":"transport_train_station2","amenity:place_of_worship":"place_of_worship_unknown3","amenity:pub":"food_pub","amenity:bar":"food_bar","amenity:university":"education_university","tourism:museum":"tourist_museum","amenity:arts_centre":"tourist_art_gallery2","tourism:zoo":"tourist_zoo","tourism:theme_park":"poi_point_of_interest","tourism:attraction":"poi_point_of_interest","leisure:golf_course":"sport_golf","historic:castle":"tourist_castle","amenity:hospital":"health_hospital","amenity:school":"education_school","amenity:theatre":"tourist_theatre","amenity:library":"amenity_library","amenity:fire_station":"amenity_firestation3","amenity:police":"amenity_police2","amenity:bank":"money_bank2","amenity:post_office":"amenity_post_office","tourism:hotel":"accommodation_hotel2","amenity:cinema":"tourist_cinema","tourism:artwork":"tourist_art_gallery2","historic:archaeological_site":"tourist_archaeological2","amenity:doctors":"health_doctors","leisure:sports_centre":"sport_leisure_centre","leisure:swimming_pool":"sport_swimming_outdoor","shop:supermarket":"shopping_supermarket","shop:convenience":"shopping_convenience","amenity:restaurant":"food_restaurant","amenity:fast_food":"food_fastfood","amenity:cafe":"food_cafe","tourism:guest_house":"accommodation_bed_and_breakfast","amenity:pharmacy":"health_pharmacy_dispensing","amenity:fuel":"transport_fuel","natural:peak":"poi_peak","natural:wood":"landuse_coniferous_and_deciduous","shop:bicycle":"shopping_bicycle","shop:clothes":"shopping_clothes","shop:hairdresser":"shopping_hairdresser","shop:doityourself":"shopping_diy","shop:estate_agent":"shopping_estateagent2","shop:car":"shopping_car","shop:garden_centre":"shopping_garden_centre","shop:car_repair":"shopping_car_repair","shop:bakery":"shopping_bakery","shop:butcher":"shopping_butcher","shop:apparel":"shopping_clothes","shop:laundry":"shopping_laundrette","shop:beverages":"shopping_alcohol","shop:alcohol":"shopping_alcohol","shop:optician":"health_opticians","shop:chemist":"health_pharmacy","shop:gallery":"tourist_art_gallery2","shop:jewelry":"shopping_jewelry","tourism:information":"amenity_information","historic:ruins":"tourist_ruin","amenity:college":"education_school","historic:monument":"tourist_monument","historic:memorial":"tourist_monument","historic:mine":"poi_mine","tourism:caravan_site":"accommodation_caravan_park","amenity:bus_station":"transport_bus_station","amenity:atm":"money_atm2","tourism:viewpoint":"tourist_view_point","tourism:guesthouse":"accommodation_bed_and_breakfast","railway:tram":"transport_tram_stop","amenity:courthouse":"amenity_court","amenity:recycling":"amenity_recycling","amenity:dentist":"health_dentist","natural:beach":"tourist_beach","railway:tram_stop":"transport_tram_stop","amenity:prison":"amenity_prison","highway:bus_stop":"transport_bus_stop2"}[t+":"+i];var t,i})),n=tt((()=>"icon for "+e.aPlace.category+" "+e.aPlace.type)),o=tt((()=>Nominatim_Config.Images_Base_Url+Se(i)+".p.20.png"));var s=Je(),r=Zt(s),a=t=>{var e=qn();Ut((()=>{Ti(e,"src",Se(o)),Ti(e,"alt",Se(n))})),Qe(t,e)};ni(r,(t=>{Se(i)&&t(a)})),Qe(t,s),H()}var Un=Ye('

'),Vn=Ye(''),Kn=Ye('
'),Gn=Ye(''),Yn=Ye('
No search results found
');function Xn(t,e){F(e,!0);let i=Ii(e,"reverse_search",3,!1),n=Ii(e,"current_result",15),o=Lt(void 0),s=tt((()=>{const t=new URLSearchParams(window.location.search),i=e.results;let n=[];t.has("exclude_place_ids")&&(n=t.get("exclude_place_ids").split(","));for(var o=0;o{e.results&&Pt(o,0)})),Ht((()=>{n(e.results&&e.results.length>Se(o)?e.results[Se(o)]:null)}));var a=Je(),l=Zt(a),c=t=>{var n=Kn(),a=Bt(n);si(a,17,(()=>e.results),oi,((t,e,i)=>{var n=Un();let s;Ti(n,"data-position",i),n.__click=r;var a=Bt(n);Wn(Bt(a),{get aPlace(){return Se(e)}});var l=jt(a,2),c=Bt(l),h=jt(l,2),u=Bt(h),d=jt(h,2),p=Bt(d);Fn(jt(d,2),{extra_classes:"btn btn-outline-secondary btn-sm",get feature(){return Se(e)}}),Ut(((t,i)=>{s=mi(n,0,"result svelte-vvmo5q",null,s,t),ti(c,Se(e).display_name),ti(u,i),ti(p,`${Se(e).lat??""},${Se(e).lon??""}`)}),[()=>({highlight:i===Se(o)}),()=>function(t){if(t.label)return t.label;function e(t){return t&&t[0].toUpperCase()+t.slice(1)}return t.type&&"yes"===t.type&&t.category?e(t.category.replace(/_/g," ")):t.type?e(t.type.replace(/_/g," ")):""}(Se(e))]),qe("keypress",n,r),Qe(t,n)}));var l=jt(a,2),c=t=>{var e=Vn(),i=Bt(e);Ut((()=>Ti(i,"href",Se(s)))),Qe(t,e)};ni(l,(t=>{Se(s)&&!i()&&t(c)})),Qe(t,n)},h=t=>{var n=Je(),o=Zt(n),s=t=>{var e=Je(),n=Zt(e),o=t=>{Qe(t,Gn())},s=t=>{Qe(t,Yn())};ni(n,(t=>{i()?t(o):t(s,!1)})),Qe(t,e)},r=t=>{!function(t,e){F(e,!1),Di((()=>{Fi("theme/welcome.html",document.getElementById("welcome"))})),Si(),Qe(t,Hn()),H()}(t,{})};ni(o,(t=>{e.results?t(s):t(r,!1)}),!0),Qe(t,n)};ni(l,(t=>{e.results&&e.results.length>0?t(c):t(h,!1)})),Qe(t,a),H()}We(["click"]);var Jn,Qn={exports:{}}; + */function Tn(){const t=()=>localStorage.getItem("theme"),e=()=>{const e=t();return e||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")},i=t=>{"auto"===t?document.documentElement.setAttribute("data-bs-theme",window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"):document.documentElement.setAttribute("data-bs-theme",t)};i(e());const n=(t,e=!1)=>{const i=document.querySelector("#bd-theme");if(!i)return;const n=document.querySelector("#bd-theme-text"),o=document.querySelector(`[data-bs-theme-value="${t}"]`);document.querySelectorAll("[data-bs-theme-value]").forEach((t=>{t.classList.remove("active"),t.setAttribute("aria-pressed","false")})),o.classList.add("active"),o.setAttribute("aria-pressed","true");const s=`${n.textContent} (${o.dataset.bsThemeValue})`;i.setAttribute("aria-label",s),e&&i.focus()};window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",(()=>{const n=t();"light"!==n&&"dark"!==n&&i(e())})),n(e()),document.querySelectorAll("[data-bs-theme-value]").forEach((t=>{t.addEventListener("click",(()=>{const e=t.getAttribute("data-bs-theme-value");(t=>{localStorage.setItem("theme",t)})(e),i(e),n(e,!0)}))}))}var Mn=Qe('

',1),kn=Qe(''),Cn=Qe('

',1);function En(t,e){F(e,!0);const i=t=>{var e=Mn(),i=Rt($t(jt(e),2));Xt((()=>ni(i,n))),ii(t,e)},n=Nominatim_Config.Page_Title,o=Nominatim_Config.Reverse_Only;let s=it((()=>nn.page.tab));Zi(Tn);var r=Cn(),a=jt(r),l=Rt(a),c=Rt(l),h=Rt(c),d=Rt(h);{let t=it((()=>o?"reverse":"search"));an(d,{get text_snippet(){return i},get page(){return Be(t)}})}var p=$t(h,4),f=Rt(p),_=Rt(f),m=t=>{var e=kn(),i=Rt(e);{let t=it((()=>"search"===Be(s)?"active":""));an(i,{page:"search",text:"Search",get extra_classes(){return`nav-link ${Be(t)??""}`}})}ii(t,e)};ri(_,(t=>{o||t(m)}));var g=$t(_,2),v=Rt(g);{let t=it((()=>Pn.center?.lat)),e=it((()=>Pn.center?.lng)),i=it((()=>"reverse"===Be(s)?"active":""));!function(t,e){F(e,!0);let i=Bi(e,"lat",3,null),n=Bi(e,"lon",3,null),o=Bi(e,"zoom",3,null),s=Bi(e,"extra_classes",3,"");const r=it((()=>{const t={};return i()&&n()&&(t.lat=i(),t.lon=n(),o()&&t.set("zoom",o())),new URLSearchParams(t)})),a=it((()=>{let t=Be(r).toString();return"reverse.html"+(t?"?":"")+t}));var l=cn();l.__click=[ln,r];var c=Rt(l);Xt((()=>{Ci(l,"href",Be(a)),vi(l,0,_i(s())),ni(c,e.text)})),ii(t,l),q()}(v,{get lat(){return Be(t)},get lon(){return Be(e)},text:"Reverse",get extra_classes(){return`nav-link ${Be(i)??""}`}})}var y=Rt($t(g,2));{let t=it((()=>"details"===Be(s)?"active":""));an(y,{page:"details",text:"Search By ID",get extra_classes(){return`nav-link ${Be(t)??""}`}})}var b=$t(p,2),w=$t(Rt(b),2),x=Rt(w);{let t=it((()=>"about"===Be(s)?"active":""));an(x,{page:"about",text:"About & Help",get extra_classes(){return`nav-link ${Be(t)??""}`}})}var L=$t(a,2),P=Rt(L),T=Rt(P),M=$t(L,2);pi(Rt(M),(()=>e.subheader??u));var k=$t(M,2);!function(t,e){F(e,!1),Ii();var i=ei(),n=jt(i),o=t=>{var e=Ln(),i=Rt(e);$t(i).__click=()=>xn(xn().errorMessage=null),Xt((()=>ni(i,`${xn().errorMessage??""} `))),ii(t,e)};ri(n,(t=>{xn().errorMessage&&t(o)})),ii(t,i),q()}(k,{}),function(t,e){F(e,!0);let i=Tt(void 0),n=it((()=>{const t=nn.lastApiRequestURL;if(t){const e=new URL(t,window.location.origin);return e.searchParams.delete("polygon_geojson"),e.toString()}}));Zi((()=>{nn.fetchFromApi("status",{format:"json"},(function(t){Mt(i,t.data_updated,!0)}))}));var o=yn(),s=Rt(o);let r;var a=Rt($t(s,2)),l=Rt(a),c=t=>{var e=gn(),i=$t(Rt(e)),o=$t(i,2),s=$t(Rt(o));Xt((()=>{Ci(i,"href",Be(n)),Ci(s,"href",`${Be(n)??""}&debug=1`)})),ii(t,e)};ri(l,(t=>{Be(n)&&t(c)}));var h=Rt($t(a,2)),u=t=>{var e=vn(),n=$t(jt(e)),o=Rt(n);Xt((t=>{Ci(n,"title",`${Be(i)??""} (UTC timezone)`),ni(o,t)}),[()=>mn(new Date(Be(i)))]),ii(t,e)};ri(h,(t=>{Be(i)&&t(u)})),an($t(h,2),{page:"status",text:"Details"}),Xt((t=>r=bi(s,"",r,t)),[()=>({display:"start"===nn.requestProgress?"block":"none"})]),ii(t,o),q()}($t(k,2),{}),Xt((()=>ni(T,Be(s)))),ii(t,r),q()}const An=Symbol();class Sn extends URLSearchParams{#T=Tt(0);#M=function(){return On}();#k=!1;#C(){if(!this.#M||this.#k)return;this.#k=!0;const t=this.toString();this.#M.search=t&&`?${t}`,this.#k=!1}[An](t){if(!this.#k){this.#k=!0;for(const t of[...super.keys()])super.delete(t);for(const[e,i]of t)super.append(e,i);Ct(this.#T),this.#k=!1}}append(t,e){super.append(t,e),this.#C(),Ct(this.#T)}delete(t,e){var i=super.has(t,e);super.delete(t,e),i&&(this.#C(),Ct(this.#T))}get(t){return Be(this.#T),super.get(t)}getAll(t){return Be(this.#T),super.getAll(t)}has(t,e){return Be(this.#T),super.has(t,e)}keys(){return Be(this.#T),super.keys()}set(t,e){var i=super.getAll(t).join("");super.set(t,e),i!==super.getAll(t).join("")&&(this.#C(),Ct(this.#T))}sort(){super.sort(),this.#C(),Ct(this.#T)}toString(){return Be(this.#T),super.toString()}values(){return Be(this.#T),super.values()}entries(){return Be(this.#T),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return Be(this.#T),super.size}}let On=null;var zn=Qe('');function In(t,e){F(e,!0);var i=zn(),n=Rt(i);pi(Rt(n),(()=>e.content??u)),Ve("submit",i,(function(t){t.preventDefault();let i=t.target,n=!0;Array.prototype.slice.call(i.elements).forEach((function(t){(function(t){return!("hidden"===t.type&&t.value.length&&t.pattern&&!t.value.match(t.pattern))&&t.checkValidity()})(t)||(alert("Invalid input in "+t.name),n=!1)})),n&&nn.refreshPage(e.page,function(t){var e=new Sn;return Array.prototype.slice.call(t.elements).forEach((function(t){!t.name||t.disabled||["submit","button"].indexOf(t.type)>-1||["checkbox","radio"].indexOf(t.type)>-1&&!t.checked||void 0!==t.value&&""!==t.value&&("dedupe"!==t.name||1!==t.value&&"1"!==t.value)&&e.set(t.name,t.value)})),e}(i))})),ii(t,i),q()}function Dn(t){document.querySelector("input[name=bounded]").value=t.target.checked?1:""}function Nn(t){document.querySelector("input[name=dedupe]").value=t.target.checked?1:0}function Bn(t){document.querySelector("input[name="+t.target.dataset.apiParam+"]").value=t.target.value}var Zn=Qe('
'),Rn=Qe('
',1),jn=Qe('
',1),$n=(t,e)=>Mt(e,!Be(e)),Fn=Qe('
Advanced options
',1);function qn(t,e){t.preventDefault(),t.stopPropagation(),nn.refreshPage("details",Be(e))}Ke(["change"]);var Hn=Qe(" ");function Wn(t,e){F(e,!0);let i=Bi(e,"text",3,"details"),n=Bi(e,"extra_classes",3,""),o=Bi(e,"feature",3,null);const s=it((()=>{const t={};var e;return null!==o()&&(o().osm_type?(1===o().osm_type.length?t.osmtype=o().osm_type:t.osmtype="node"===(e=o().osm_type)?"N":"way"===e?"W":"relation"===e?"R":"",t.osmid=o().osm_id,o().class?t.class=o().class:o().category&&(t.class=o().category)):o().place_id&&(t.place_id=o().place_id)),new URLSearchParams(t)})),r=it((()=>{const t=Be(s).toString();return"details.html"+(t?"?":"")+t}));var a=Hn();a.__click=[qn,s];var l=Rt(a);Xt((()=>{Ci(a,"href",Be(r)),vi(a,0,_i(n())),ni(l,i())})),ii(t,a),q()}Ke(["click"]);var Un=Qe('
');var Vn=Qe('');function Kn(t,e){F(e,!0);const i=it((()=>{return t=e.aPlace.category,i=e.aPlace.type,{"boundary:administrative":"poi_boundary_administrative","place:city":"poi_place_city","place:town":"poi_place_town","place:village":"poi_place_village","place:hamlet":"poi_place_village","place:suburb":"poi_place_village","place:locality":"poi_place_village","place:airport":"transport_airport2","aeroway:aerodrome":"transport_airport2","railway:station":"transport_train_station2","amenity:place_of_worship":"place_of_worship_unknown3","amenity:pub":"food_pub","amenity:bar":"food_bar","amenity:university":"education_university","tourism:museum":"tourist_museum","amenity:arts_centre":"tourist_art_gallery2","tourism:zoo":"tourist_zoo","tourism:theme_park":"poi_point_of_interest","tourism:attraction":"poi_point_of_interest","leisure:golf_course":"sport_golf","historic:castle":"tourist_castle","amenity:hospital":"health_hospital","amenity:school":"education_school","amenity:theatre":"tourist_theatre","amenity:library":"amenity_library","amenity:fire_station":"amenity_firestation3","amenity:police":"amenity_police2","amenity:bank":"money_bank2","amenity:post_office":"amenity_post_office","tourism:hotel":"accommodation_hotel2","amenity:cinema":"tourist_cinema","tourism:artwork":"tourist_art_gallery2","historic:archaeological_site":"tourist_archaeological2","amenity:doctors":"health_doctors","leisure:sports_centre":"sport_leisure_centre","leisure:swimming_pool":"sport_swimming_outdoor","shop:supermarket":"shopping_supermarket","shop:convenience":"shopping_convenience","amenity:restaurant":"food_restaurant","amenity:fast_food":"food_fastfood","amenity:cafe":"food_cafe","tourism:guest_house":"accommodation_bed_and_breakfast","amenity:pharmacy":"health_pharmacy_dispensing","amenity:fuel":"transport_fuel","natural:peak":"poi_peak","natural:wood":"landuse_coniferous_and_deciduous","shop:bicycle":"shopping_bicycle","shop:clothes":"shopping_clothes","shop:hairdresser":"shopping_hairdresser","shop:doityourself":"shopping_diy","shop:estate_agent":"shopping_estateagent2","shop:car":"shopping_car","shop:garden_centre":"shopping_garden_centre","shop:car_repair":"shopping_car_repair","shop:bakery":"shopping_bakery","shop:butcher":"shopping_butcher","shop:apparel":"shopping_clothes","shop:laundry":"shopping_laundrette","shop:beverages":"shopping_alcohol","shop:alcohol":"shopping_alcohol","shop:optician":"health_opticians","shop:chemist":"health_pharmacy","shop:gallery":"tourist_art_gallery2","shop:jewelry":"shopping_jewelry","tourism:information":"amenity_information","historic:ruins":"tourist_ruin","amenity:college":"education_school","historic:monument":"tourist_monument","historic:memorial":"tourist_monument","historic:mine":"poi_mine","tourism:caravan_site":"accommodation_caravan_park","amenity:bus_station":"transport_bus_station","amenity:atm":"money_atm2","tourism:viewpoint":"tourist_view_point","tourism:guesthouse":"accommodation_bed_and_breakfast","railway:tram":"transport_tram_stop","amenity:courthouse":"amenity_court","amenity:recycling":"amenity_recycling","amenity:dentist":"health_dentist","natural:beach":"tourist_beach","railway:tram_stop":"transport_tram_stop","amenity:prison":"amenity_prison","highway:bus_stop":"transport_bus_stop2"}[t+":"+i];var t,i})),n=it((()=>"icon for "+e.aPlace.category+" "+e.aPlace.type)),o=it((()=>Nominatim_Config.Images_Base_Url+Be(i)+".p.20.png"));var s=ei(),r=jt(s),a=t=>{var e=Vn();Xt((()=>{Ci(e,"src",Be(o)),Ci(e,"alt",Be(n))})),ii(t,e)};ri(r,(t=>{Be(i)&&t(a)})),ii(t,s),q()}var Gn=Qe('

'),Yn=Qe(''),Xn=Qe('
'),Jn=Qe(''),Qn=Qe('
No search results found
');function to(t,e){F(e,!0);let i=Bi(e,"reverse_search",3,!1),n=Bi(e,"current_result",15),o=Tt(void 0),s=it((()=>{const t=new URLSearchParams(window.location.search),i=e.results;let n=[];t.has("exclude_place_ids")&&(n=t.get("exclude_place_ids").split(","));for(var o=0;o{e.results&&Mt(o,0)})),Kt((()=>{n(e.results&&e.results.length>Be(o)?e.results[Be(o)]:null)}));var a=ei(),l=jt(a),c=t=>{var n=Xn(),a=Rt(n);li(a,17,(()=>e.results),ai,((t,e,i)=>{var n=Gn();let s;Ci(n,"data-position",i),n.__click=r;var a=Rt(n);Kn(Rt(a),{get aPlace(){return Be(e)}});var l=$t(a,2),c=Rt(l),h=$t(l,2),u=Rt(h),d=$t(h,2),p=Rt(d);Wn($t(d,2),{extra_classes:"btn btn-outline-secondary btn-sm",get feature(){return Be(e)}}),Xt(((t,i)=>{s=vi(n,0,"result svelte-3u0x56",null,s,t),ni(c,Be(e).display_name),ni(u,i),ni(p,`${Be(e).lat??""},${Be(e).lon??""}`)}),[()=>({highlight:i===Be(o)}),()=>function(t){if(t.label)return t.label;function e(t){return t&&t[0].toUpperCase()+t.slice(1)}return t.type&&"yes"===t.type&&t.category?e(t.category.replace(/_/g," ")):t.type?e(t.type.replace(/_/g," ")):""}(Be(e))]),Ve("keypress",n,r),ii(t,n)}));var l=$t(a,2),c=t=>{var e=Yn(),i=Rt(e);Xt((()=>Ci(i,"href",Be(s)))),ii(t,e)};ri(l,(t=>{Be(s)&&!i()&&t(c)})),ii(t,n)},h=t=>{var n=ei(),o=jt(n),s=t=>{var e=ei(),n=jt(e),o=t=>{ii(t,Jn())},s=t=>{ii(t,Qn())};ri(n,(t=>{i()?t(o):t(s,!1)})),ii(t,e)},r=t=>{!function(t,e){F(e,!1),Zi((()=>{Wi("theme/welcome.html",document.getElementById("welcome"))})),Ii(),ii(t,Un()),q()}(t,{})};ri(o,(t=>{e.results?t(s):t(r,!1)}),!0),ii(t,n)};ri(l,(t=>{e.results&&e.results.length>0?t(c):t(h,!1)})),ii(t,a),q()}Ke(["click"]);var eo,io={exports:{}}; /* @preserve * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */function to(){return Jn||(Jn=1,function(t){var e="1.9.4";function i(t){var e,i,n,o;for(i=1,n=arguments.length;i0?Math.floor(t):Math.ceil(t)};function D(t,e,i){return t instanceof z?t:g(t)?new z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new z(t.x,t.y):new z(t,e,i)}function N(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=B(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=B(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=j(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=j(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,At=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",c,e),window.removeEventListener("testPassiveEventSupport",c,e)}catch(t){}return t}(),St=!!document.createElement("canvas").getContext,Ot=!(!document.createElementNS||!X("svg").createSVGRect),zt=!!Ot&&((Q=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(Q.firstChild&&Q.firstChild.namespaceURI)),It=!Ot&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),Dt=0===navigator.platform.indexOf("Mac"),Nt=0===navigator.platform.indexOf("Linux");function Bt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var Zt={ie:et,ielt9:it,edge:nt,webkit:ot,android:st,android23:rt,androidStock:lt,opera:ct,chrome:ht,gecko:ut,safari:dt,phantom:pt,opera12:ft,win:mt,ie3d:_t,webkit3d:gt,gecko3d:vt,any3d:yt,mobile:bt,mobileWebkit:wt,mobileWebkit3d:xt,msPointer:Lt,pointer:Pt,touch:kt,touchNative:Tt,mobileOpera:Mt,mobileGecko:Ct,retina:Et,passiveEvents:At,canvas:St,svg:Ot,vml:It,inlineSvg:zt,mac:Dt,linux:Nt},jt=Zt.msPointer?"MSPointerDown":"pointerdown",Rt=Zt.msPointer?"MSPointerMove":"pointermove",$t=Zt.msPointer?"MSPointerUp":"pointerup",Ft=Zt.msPointer?"MSPointerCancel":"pointercancel",Ht={touchstart:jt,touchmove:Rt,touchend:$t,touchcancel:Ft},qt={touchstart:te,touchmove:Qt,touchend:Qt,touchcancel:Qt},Wt={},Ut=!1;function Vt(t,e,i){return"touchstart"===e&&Jt(),qt[e]?(i=qt[e].bind(this,i),t.addEventListener(Ht[e],i,!1),i):(console.warn("wrong event specified:",e),c)}function Kt(t,e,i){Ht[e]?t.removeEventListener(Ht[e],i,!1):console.warn("wrong event specified:",e)}function Gt(t){Wt[t.pointerId]=t}function Yt(t){Wt[t.pointerId]&&(Wt[t.pointerId]=t)}function Xt(t){delete Wt[t.pointerId]}function Jt(){Ut||(document.addEventListener(jt,Gt,!0),document.addEventListener(Rt,Yt,!0),document.addEventListener($t,Xt,!0),document.addEventListener(Ft,Xt,!0),Ut=!0)}function Qt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Wt)e.touches.push(Wt[i]);e.changedTouches=[e],t(e)}}function te(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Ge(e),Qt(t,e)}function ee(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}var ie=200;function ne(t,e){t.addEventListener("dblclick",e);var i,n=0;function o(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=Xe(t);if(!o.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||o.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-n<=ie?2===++i&&e(ee(t)):i=1,n=s}}}else i=t.detail}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function oe(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var se,re,ae,le,ce,he=Me(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ue=Me(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ue||"OTransition"===ue?ue+"End":"transitionend";function pe(t){return"string"==typeof t?document.getElementById(t):t}function fe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function me(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function _e(t){var e=t.parentNode;e&&e.removeChild(t)}function ge(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ve(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ye(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function be(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=Pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function we(t,e){if(void 0!==t.classList)for(var i=d(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function ti(t){return Zt.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Qe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function ei(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var ii={__proto__:null,on:je,off:$e,stopPropagation:Ue,disableScrollPropagation:Ve,disableClickPropagation:Ke,preventDefault:Ge,stop:Ye,getPropagationPath:Xe,getMousePosition:Je,getWheelDelta:ti,isExternalTarget:ei,addListener:je,removeListener:$e},ni=O.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Ae(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=k(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,j(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=D((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=D(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=B([r.min.add(i),r.max.subtract(n)]),l=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var c=s.subtract(a.getCenter()),h=a.extend(s).getSize().subtract(l);o.x+=c.x<0?-h.x:h.x,o.y+=c.y<0?-h.y:h.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=e.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,n,t):navigator.geolocation.getCurrentPosition(e,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new R(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),_e(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(M(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)_e(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=me("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new Z(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=j(t),i=D(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(i),c=B(this.project(a,n),this.project(r,n)).getSize(),h=Zt.any3d?this.options.zoomSnap:1,u=l.x/c.x,d=l.y/c.y,p=e?Math.max(u,d):Math.min(u,d);return n=this.getScaleZoom(p,n),h&&(n=Math.round(n/(h/100))*(h/100),n=e?Math.ceil(n/h)*h:Math.floor(n/h)*h),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new N(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint($(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(D(t),e)},layerPointToLatLng:function(t){var e=D(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project($(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng($(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(j(t))},distance:function(t,e){return this.options.crs.distance($(t),$(e))},containerPointToLayerPoint:function(t){return D(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return D(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(D(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint($(t)))},mouseEventToContainerPoint:function(t){return Je(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=pe(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");je(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Zt.any3d,we(t,"leaflet-container"+(Zt.touch?" leaflet-touch":"")+(Zt.retina?" leaflet-retina":"")+(Zt.ielt9?" leaflet-oldie":"")+(Zt.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=fe(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Ee(this._mapPane,new z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(we(t.markerPane,"leaflet-zoom-hide"),we(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Ee(this._mapPane,new z(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return M(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Ee(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?$e:je;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),Zt.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){M(this._resizeRequest),this._resizeRequest=k((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if((i=this._targets[r(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!ei(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&Ie(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,e);if(n){for(var r=[],a=0;a0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=Zt.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){xe(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=me("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=he,i=this._proxy.style[e];Ce(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){_e(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Ce(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(k((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,we(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&xe(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function si(t,e){return new oi(t,e)}var ri=E.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return we(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(_e(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ai=function(t){return new ri(t)};oi.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=me("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=me("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)_e(this._controlCorners[t]);_e(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var li=ri.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+r(this),n),this._layerControlInputs.push(e),e.layerId=r(t.layer),je(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,je(t,"click",Ge),this.expand();var e=this;setTimeout((function(){$e(t,"click",Ge),e._preventClick=!1}))}}),ci=function(t,e,i){return new li(t,e,i)},hi=ri.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=me("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=me("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Ke(s),je(s,"click",Ye),je(s,"click",o,this),je(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";xe(this._zoomInButton,e),xe(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(we(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(we(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});oi.mergeOptions({zoomControl:!0}),oi.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new hi,this.addControl(this.zoomControl))}));var ui=function(t){return new hi(t)},di=ri.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=me("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=me("div",e,i)),t.imperial&&(this._iScale=me("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),pi=function(t){return new di(t)},fi='',mi=ri.extend({options:{position:"bottomright",prefix:''+(Zt.inlineSvg?fi+" ":"")+"Leaflet"},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=me("div","leaflet-control-attribution"),Ke(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});oi.mergeOptions({attributionControl:!0}),oi.addInitHook((function(){this.options.attributionControl&&(new mi).addTo(this)}));var _i=function(t){return new mi(t)};ri.Layers=li,ri.Zoom=hi,ri.Scale=di,ri.Attribution=mi,ai.layers=ci,ai.zoom=ui,ai.scale=pi,ai.attribution=_i;var gi=E.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});gi.addTo=function(t,e){return t.addHandler(e,this),this};var vi={Events:S},yi=Zt.touch?"touchstart mousedown":"mousedown",bi=O.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){p(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(je(this._dragStartTarget,yi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(bi._dragging===this&&this.finishDrag(!0),$e(this._dragStartTarget,yi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!be(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)bi._dragging===this&&this.finishDrag();else if(!(bi._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(bi._dragging=this,this._preventOutline&&Ie(this._element),Oe(),se(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ne(this._element);this._startPoint=new z(e.clientX,e.clientY),this._startPos=Ae(this._element),this._parentScale=Be(i);var n="mousedown"===t.type;je(document,n?"mousemove":"touchmove",this._onMove,this),je(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)l&&(s=r,l=a);l>i&&(e[s]=1,Ai(t,e,i,n,s),Ai(t,e,i,s,o))}function Si(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function Di(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Ni(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,l=i.y-r,c=a*a+l*l;return c>0&&((o=((t.x-s)*a+(t.y-r)*l)/c)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=l*o)),a=t.x-s,l=t.y-r,n?a*a+l*l:new z(s,r)}function Bi(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Zi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Bi(t)}function ji(t,e){var i,n,o,s,r,a,l,c;if(!t||0===t.length)throw new Error("latlngs not passed");Bi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var h=$([0,0]),u=j(t);u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(h=Li(t));var d=t.length,p=[];for(i=0;in){l=(s-n)/o,c=[a.x-l*(a.x-r.x),a.y-l*(a.y-r.y)];break}var m=e.unproject(D(c));return $([m.lat+h.lat,m.lng+h.lng])}var Ri={__proto__:null,simplify:ki,pointToSegmentDistance:Mi,closestPointOnSegment:Ci,clipSegment:Oi,_getEdgeIntersection:zi,_getBitCode:Ii,_sqClosestPointOnSegment:Ni,isFlat:Bi,_flat:Zi,polylineCenter:ji},$i={project:function(t){return new z(t.lng,t.lat)},unproject:function(t){return new R(t.y,t.x)},bounds:new N([-180,-90],[180,90])},Fi={R:6378137,R_MINOR:6356752.314245179,bounds:new N([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-i*Math.log(Math.max(a,1e-10)),new z(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),l=0,c=.1;l<15&&Math.abs(c)>1e-7;l++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=c=Math.PI/2-2*Math.atan(r*e)-a;return new R(a*i,t.x*i/n)}},Hi={__proto__:null,LonLat:$i,Mercator:Fi,SphericalMercator:U},qi=i({},q,{code:"EPSG:3395",projection:Fi,transformation:function(){var t=.5/(Math.PI*Fi.R);return K(t,.5,-t,.5)}()}),Wi=i({},q,{code:"EPSG:4326",projection:$i,transformation:K(1/180,1,-1/180,.5)}),Ui=i({},H,{projection:$i,transformation:K(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});H.Earth=q,H.EPSG3395=qi,H.EPSG3857=G,H.EPSG900913=Y,H.EPSG4326=Wi,H.Simple=Ui;var Vi=O.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});oi.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return r(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?g(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof R&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){hn.prototype._setLatLngs.call(this,t),Bi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Bi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new z(e,e);if(t=new N(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(c=!c);return c||hn.prototype._containsPoint.call(this,t,!0)}});function pn(t,e){return new dn(t,e)}var fn=Yi.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=g(t)?t:t.features;if(o){for(e=0,i=o.length;e0&&o.push(o[0].slice()),o}function wn(t,e){return t.feature?i({},t.feature,{geometry:e}):xn(e)}function xn(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Ln={toGeoJSON:function(t){return wn(this,{type:"Point",coordinates:yn(this.getLatLng(),t)})}};function Pn(t,e){return new fn(t,e)}nn.include(Ln),ln.include(Ln),rn.include(Ln),hn.include({toGeoJSON:function(t){var e=!Bi(this._latlngs);return wn(this,{type:(e?"Multi":"")+"LineString",coordinates:bn(this._latlngs,e?1:0,!1,t)})}}),dn.include({toGeoJSON:function(t){var e=!Bi(this._latlngs),i=e&&!Bi(this._latlngs[0]),n=bn(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),wn(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),Ki.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),wn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer((function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=xn(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}})),i?wn(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var Tn=Pn,kn=Vi.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=j(e),p(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(we(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){_e(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ve(this._image),this},bringToBack:function(){return this._map&&ye(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=j(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:me("img");we(e,"leaflet-image-layer"),this._zoomAnimated&&we(e,"leaflet-zoom-animated"),this.options.className&&we(e,this.options.className),e.onselectstart=c,e.onmousemove=c,e.onload=o(this.fire,this,"load"),e.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;Ce(this._image,i,e)},_reset:function(){var t=this._image,e=new N(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Ee(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){Te(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),Mn=function(t,e,i){return new kn(t,e,i)},Cn=kn.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:me("video");if(we(e,"leaflet-image-layer"),this._zoomAnimated&&we(e,"leaflet-zoom-animated"),this.options.className&&we(e,this.options.className),e.onselectstart=c,e.onmousemove=c,e.onloadeddata=o(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],s=0;s0?n:[e.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;ro?(e.height=o+"px",we(t,s)):xe(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();Ee(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(fe(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new z(this._containerLeft,-i-this._containerBottom);o._add(Ae(this._container));var s=t.layerPointToContainerPoint(o),r=D(this.options.autoPanPadding),a=D(this.options.autoPanPaddingTopLeft||r),l=D(this.options.autoPanPaddingBottomRight||r),c=t.getSize(),h=0,u=0;s.x+n+l.x>c.x&&(h=s.x+n-c.x+l.x),s.x-h-a.x<0&&(h=s.x-a.x),s.y+i+l.y>c.y&&(u=s.y+i-c.y+l.y),s.y-u-a.y<0&&(u=s.y-a.y),(h||u)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([h,u]))}},_getAnchor:function(){return D(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),In=function(t,e){return new zn(t,e)};oi.mergeOptions({closePopupOnClick:!0}),oi.include({openPopup:function(t,e,i){return this._initOverlay(zn,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Vi.include({bindPopup:function(t,e){return this._popup=this._initOverlay(zn,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof Yi||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Ye(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof sn?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Dn=On.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){On.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){On.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=On.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=me("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+r(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,l=o.offsetWidth,c=o.offsetHeight,h=D(this.options.offset),u=this._getAnchor();"top"===a?(e=l/2,i=c):"bottom"===a?(e=l/2,i=0):"center"===a?(e=l/2,i=c/2):"right"===a?(e=0,i=c/2):"left"===a?(e=l,i=c/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new z(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var u=o.min.y;u<=o.max.y;u++)for(var d=o.min.x;d<=o.max.x;d++){var p=new z(d,u);if(p.z=this._tileZoom,this._isValidTile(p)){var f=this._tiles[this._tileCoordsToKey(p)];f?f.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return j(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new Z(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(_e(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){we(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=c,t.onmousemove=c,Zt.ielt9&&this.options.opacity<1&&Te(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&k(o(this._tileReady,this,t,null,s)),Ee(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(Te(i.el,0),M(this._fadeFrame),this._fadeFrame=k(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(we(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Zt.ielt9||!this._map._fadeAnimated?k(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new z(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new N(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function Rn(t){return new jn(t)}var $n=jn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Zt.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return je(i,"load",o(this._tileOnLoad,this,e,i)),je(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:Zt.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,e){Zt.ielt9?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=c,e.onerror=c,!e.complete)){e.src=y;var i=this._tiles[t].coords;_e(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",y),jn.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==y))return jn.prototype._tileReady.call(this,t,e,i)}});function Fn(t,e){return new $n(t,e)}var Hn=$n.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=p(this,e)).detectRetina&&Zt.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,$n.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=B(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Wi?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=$n.prototype.getTileUrl.call(this,t);return a+f(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});function qn(t,e){return new Hn(t,e)}$n.WMS=Hn,Fn.wms=qn;var Wn=Vi.extend({options:{padding:.1},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),we(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));Zt.any3d?Ce(this._container,s,i):Ee(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new N(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Un=Wn.extend({options:{tolerance:0},getEvents:function(){var t=Wn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");je(t,"mousemove",this._onMouseMove,this),je(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),je(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){M(this._redrawRequest),delete this._ctx,_e(this._container),$e(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){Wn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=Zt.retina?2:1;Ee(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",Zt.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Wn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Gn={_initContainer:function(){this._container=me("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Kn("shape");we(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Kn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;_e(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Kn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Kn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ve(t._container)},_bringToBack:function(t){ye(t._container)}},Yn=Zt.vml?Kn:X,Xn=Wn.extend({_initContainer:function(){this._container=Yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){_e(this._container),$e(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){Wn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Ee(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Yn("path");t.options.className&&we(e,t.options.className),t.options.interactive&&we(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){_e(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,J(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ve(t._path)},_bringToBack:function(t){ye(t._path)}});function Jn(t){return Zt.svg||Zt.vml?new Xn(t):null}Zt.vml&&Xn.include(Gn),oi.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&Vn(t)||Jn(t)}});var Qn=dn.extend({initialize:function(t,e){dn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=j(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function to(t,e){return new Qn(t,e)}Xn.create=Yn,Xn.pointsToPath=J,fn.geometryToLayer=mn,fn.coordsToLatLng=gn,fn.coordsToLatLngs=vn,fn.latLngToCoords=yn,fn.latLngsToCoords=bn,fn.getFeature=wn,fn.asFeature=xn,oi.mergeOptions({boxZoom:!0});var eo=gi.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){je(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){$e(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){_e(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),se(),Oe(),this._startPoint=this._map.mouseEventToContainerPoint(t),je(document,{contextmenu:Ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=me("div","leaflet-zoom-box",this._container),we(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new N(this._point,this._startPoint),i=e.getSize();Ee(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(_e(this._box),xe(this._container,"leaflet-crosshair")),re(),ze(),$e(document,{contextmenu:Ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new Z(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});oi.addInitHook("addHandler","boxZoom",eo),oi.mergeOptions({doubleClickZoom:!0});var io=gi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});oi.addInitHook("addHandler","doubleClickZoom",io),oi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var no=gi.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new bi(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}we(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){xe(this._map._container,"leaflet-grab"),xe(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=j(this._map.options.maxBounds);this._offsetLimit=B(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});oi.addInitHook("addHandler","scrollWheelZoom",so);var ro=600;oi.mergeOptions({tapHold:Zt.touchNative&&Zt.safari&&Zt.mobile,tapTolerance:15});var ao=gi.extend({addHooks:function(){je(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){$e(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new z(e.clientX,e.clientY),this._holdTimeout=setTimeout(o((function(){this._cancel(),this._isTapValid()&&(je(document,"touchend",Ge),je(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),ro),je(document,"touchend touchcancel contextmenu",this._cancel,this),je(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){$e(document,"touchend",Ge),$e(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),$e(document,"touchend touchcancel contextmenu",this._cancel,this),$e(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});oi.addInitHook("addHandler","tapHold",ao),oi.mergeOptions({touchZoom:Zt.touch,bounceAtZoomLimits:!0});var lo=gi.extend({addHooks:function(){we(this._map._container,"leaflet-touch-zoom"),je(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){xe(this._map._container,"leaflet-touch-zoom"),$e(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),je(document,"touchmove",this._onTouchMove,this),je(document,"touchend touchcancel",this._onTouchEnd,this),Ge(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),M(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=k(a,this,!0),Ge(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,M(this._animRequest),$e(document,"touchmove",this._onTouchMove,this),$e(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});oi.addInitHook("addHandler","touchZoom",lo),oi.BoxZoom=eo,oi.DoubleClickZoom=io,oi.Drag=no,oi.Keyboard=oo,oi.ScrollWheelZoom=so,oi.TapHold=ao,oi.TouchZoom=lo,t.Bounds=N,t.Browser=Zt,t.CRS=H,t.Canvas=Un,t.Circle=ln,t.CircleMarker=rn,t.Class=E,t.Control=ri,t.DivIcon=Bn,t.DivOverlay=On,t.DomEvent=ii,t.DomUtil=Ze,t.Draggable=bi,t.Evented=O,t.FeatureGroup=Yi,t.GeoJSON=fn,t.GridLayer=jn,t.Handler=gi,t.Icon=Ji,t.ImageOverlay=kn,t.LatLng=R,t.LatLngBounds=Z,t.Layer=Vi,t.LayerGroup=Ki,t.LineUtil=Ri,t.Map=oi,t.Marker=nn,t.Mixin=vi,t.Path=sn,t.Point=z,t.PolyUtil=Ti,t.Polygon=dn,t.Polyline=hn,t.Popup=zn,t.PosAnimation=ni,t.Projection=Hi,t.Rectangle=Qn,t.Renderer=Wn,t.SVG=Xn,t.SVGOverlay=An,t.TileLayer=$n,t.Tooltip=Dn,t.Transformation=V,t.Util=C,t.VideoOverlay=Cn,t.bind=o,t.bounds=B,t.canvas=Vn,t.circle=cn,t.circleMarker=an,t.control=ai,t.divIcon=Zn,t.extend=i,t.featureGroup=Xi,t.geoJSON=Pn,t.geoJson=Tn,t.gridLayer=Rn,t.icon=Qi,t.imageOverlay=Mn,t.latLng=$,t.latLngBounds=j,t.layerGroup=Gi,t.map=si,t.marker=on,t.point=D,t.polygon=pn,t.polyline=un,t.popup=In,t.rectangle=to,t.setOptions=p,t.stamp=r,t.svg=Jn,t.svgOverlay=Sn,t.tileLayer=Fn,t.tooltip=Nn,t.transformation=K,t.version=e,t.videoOverlay=En;var co=window.L;t.noConflict=function(){return window.L=co,this},window.L=t}(Qn.exports)),Qn.exports}var eo,io,no=to(),oo={exports:{}};eo||(eo=1,io=oo,function(t,e){io.exports=t(to()),void 0!==e&&e.L&&(e.L.Control.MiniMap=t(L),e.L.control.minimap=function(t,i){return new e.L.Control.MiniMap(t,i)})}((function(t){var e=t.Control.extend({includes:t.Evented?t.Evented.prototype:t.Mixin.Events,options:{position:"bottomright",toggleDisplay:!1,zoomLevelOffset:-5,zoomLevelFixed:!1,centerFixed:!1,zoomAnimation:!1,autoToggleDisplay:!1,minimized:!1,width:150,height:150,collapsedWidth:19,collapsedHeight:19,aimingRectOptions:{color:"#ff7800",weight:1,clickable:!1},shadowRectOptions:{color:"#000000",weight:1,clickable:!1,opacity:0,fillOpacity:0},strings:{hideText:"Hide MiniMap",showText:"Show MiniMap"},mapOptions:{}},initialize:function(e,i){t.Util.setOptions(this,i),this.options.aimingRectOptions.clickable=!1,this.options.shadowRectOptions.clickable=!1,this._layer=e},onAdd:function(e){this._mainMap=e,this._container=t.DomUtil.create("div","leaflet-control-minimap"),this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",t.DomEvent.disableClickPropagation(this._container),t.DomEvent.on(this._container,"mousewheel",t.DomEvent.stopPropagation);var i={attributionControl:!1,dragging:!this.options.centerFixed,zoomControl:!1,zoomAnimation:this.options.zoomAnimation,autoToggleDisplay:this.options.autoToggleDisplay,touchZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),scrollWheelZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),doubleClickZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),boxZoom:!this._isZoomLevelFixed(),crs:e.options.crs};return i=t.Util.extend(this.options.mapOptions,i),this._miniMap=new t.Map(this._container,i),this._miniMap.addLayer(this._layer),this._mainMapMoving=!1,this._miniMapMoving=!1,this._userToggledDisplay=!1,this._minimized=!1,this.options.toggleDisplay&&this._addToggleButton(),this._miniMap.whenReady(t.Util.bind((function(){this._aimingRect=t.rectangle(this._mainMap.getBounds(),this.options.aimingRectOptions).addTo(this._miniMap),this._shadowRect=t.rectangle(this._mainMap.getBounds(),this.options.shadowRectOptions).addTo(this._miniMap),this._mainMap.on("moveend",this._onMainMapMoved,this),this._mainMap.on("move",this._onMainMapMoving,this),this._miniMap.on("movestart",this._onMiniMapMoveStarted,this),this._miniMap.on("move",this._onMiniMapMoving,this),this._miniMap.on("moveend",this._onMiniMapMoved,this)}),this)),this._container},addTo:function(e){t.Control.prototype.addTo.call(this,e);var i=this.options.centerFixed||this._mainMap.getCenter();return this._miniMap.setView(i,this._decideZoom(!0)),this._setDisplay(this.options.minimized),this},onRemove:function(t){this._mainMap.off("moveend",this._onMainMapMoved,this),this._mainMap.off("move",this._onMainMapMoving,this),this._miniMap.off("moveend",this._onMiniMapMoved,this),this._miniMap.removeLayer(this._layer)},changeLayer:function(t){this._miniMap.removeLayer(this._layer),this._layer=t,this._miniMap.addLayer(this._layer)},_addToggleButton:function(){this._toggleDisplayButton=this.options.toggleDisplay?this._createButton("",this._toggleButtonInitialTitleText(),"leaflet-control-minimap-toggle-display leaflet-control-minimap-toggle-display-"+this.options.position,this._container,this._toggleDisplayButtonClicked,this):void 0,this._toggleDisplayButton.style.width=this.options.collapsedWidth+"px",this._toggleDisplayButton.style.height=this.options.collapsedHeight+"px"},_toggleButtonInitialTitleText:function(){return this.options.minimized?this.options.strings.showText:this.options.strings.hideText},_createButton:function(e,i,n,o,s,r){var a=t.DomUtil.create("a",n,o);a.innerHTML=e,a.href="#",a.title=i;var l=t.DomEvent.stopPropagation;return t.DomEvent.on(a,"click",l).on(a,"mousedown",l).on(a,"dblclick",l).on(a,"click",t.DomEvent.preventDefault).on(a,"click",s,r),a},_toggleDisplayButtonClicked:function(){this._userToggledDisplay=!0,this._minimized?this._restore():this._minimize()},_setDisplay:function(t){t!==this._minimized&&(this._minimized?this._restore():this._minimize())},_minimize:function(){this.options.toggleDisplay?(this._container.style.width=this.options.collapsedWidth+"px",this._container.style.height=this.options.collapsedHeight+"px",this._toggleDisplayButton.className+=" minimized-"+this.options.position,this._toggleDisplayButton.title=this.options.strings.showText):this._container.style.display="none",this._minimized=!0,this._onToggle()},_restore:function(){this.options.toggleDisplay?(this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",this._toggleDisplayButton.className=this._toggleDisplayButton.className.replace("minimized-"+this.options.position,""),this._toggleDisplayButton.title=this.options.strings.hideText):this._container.style.display="block",this._minimized=!1,this._onToggle()},_onMainMapMoved:function(t){if(this._miniMapMoving)this._miniMapMoving=!1;else{var e=this.options.centerFixed||this._mainMap.getCenter();this._mainMapMoving=!0,this._miniMap.setView(e,this._decideZoom(!0)),this._setDisplay(this._decideMinimized())}this._aimingRect.setBounds(this._mainMap.getBounds())},_onMainMapMoving:function(t){this._aimingRect.setBounds(this._mainMap.getBounds())},_onMiniMapMoveStarted:function(t){if(!this.options.centerFixed){var e=this._aimingRect.getBounds(),i=this._miniMap.latLngToContainerPoint(e.getSouthWest()),n=this._miniMap.latLngToContainerPoint(e.getNorthEast());this._lastAimingRectPosition={sw:i,ne:n}}},_onMiniMapMoving:function(e){this.options.centerFixed||!this._mainMapMoving&&this._lastAimingRectPosition&&(this._shadowRect.setBounds(new t.LatLngBounds(this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.sw),this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.ne))),this._shadowRect.setStyle({opacity:1,fillOpacity:.3}))},_onMiniMapMoved:function(t){this._mainMapMoving?this._mainMapMoving=!1:(this._miniMapMoving=!0,this._mainMap.setView(this._miniMap.getCenter(),this._decideZoom(!1)),this._shadowRect.setStyle({opacity:0,fillOpacity:0}))},_isZoomLevelFixed:function(){var t=this.options.zoomLevelFixed;return this._isDefined(t)&&this._isInteger(t)},_decideZoom:function(t){if(this._isZoomLevelFixed())return t?this.options.zoomLevelFixed:this._mainMap.getZoom();if(t)return this._mainMap.getZoom()+this.options.zoomLevelOffset;var e,i=this._miniMap.getZoom()-this._mainMap.getZoom(),n=this._miniMap.getZoom()-this.options.zoomLevelOffset;return i>this.options.zoomLevelOffset&&this._mainMap.getZoom()this._lastMiniMapZoom?(e=this._mainMap.getZoom()+1,this._miniMap.setZoom(this._miniMap.getZoom()-1)):e=this._mainMap.getZoom():e=n,this._lastMiniMapZoom=this._miniMap.getZoom(),e},_decideMinimized:function(){return this._userToggledDisplay?this._minimized:this.options.autoToggleDisplay?!!this._mainMap.getBounds().contains(this._miniMap.getBounds()):this._minimized},_isInteger:function(t){return"number"==typeof t},_isDefined:function(t){return void 0!==t},_onToggle:function(){t.Util.requestAnimFrame((function(){t.DomEvent.on(this._container,"transitionend",this._fireToggleEvents,this),t.Browser.any3d||t.Util.requestAnimFrame(this._fireToggleEvents,this)}),this)},_fireToggleEvents:function(){t.DomEvent.off(this._container,"transitionend",this._fireToggleEvents,this);var e={minimized:this._minimized};this.fire(this._minimized?"minimize":"restore",e),this.fire("toggle",e)}});return t.Map.mergeOptions({miniMapControl:!1}),t.Map.addInitHook((function(){this.options.miniMapControl&&(this.miniMapControl=(new e).addTo(this))})),e}),window));var so=(t,e)=>Pt(e,!1),ro=Ye(' ',1),ao=(t,e)=>Pt(e,!0),lo=Ye(''),co=Ye('
');We(["click"]);var ho=Ye('
',1);function uo(t,e){F(e,!0);let i,n=Ii(e,"display_minimap",3,!1),o=Ii(e,"current_result",3,null),s=Ii(e,"position_marker",3,null),r=[];function a(){wn.viewboxStr=function(t){var e=t.getBounds(),i=e.getWest(),n=e.getEast();return n-i>=360&&(i=t.getCenter().lng-179.999,n=t.getCenter().lng+179.999),n=no.latLng(77,n).wrap().lng,[(i=no.latLng(77,i).wrap().lng).toFixed(5),e.getNorth().toFixed(5),n.toFixed(5),e.getSouth().toFixed(5)].join(",")}(i),wn.center=i.getCenter(),wn.zoom=i.getZoom()}function l(t){return function(t){const e=Nominatim_Config.Map_Tile_Attribution;if(i=new no.map(t,{attributionControl:!1,scrollWheelZoom:!0,touchZoom:!1,center:no.latLng(Nominatim_Config.Map_Default_Lat,Nominatim_Config.Map_Default_Lon),zoom:Nominatim_Config.Map_Default_Zoom}),void 0!==Nominatim_Config.Map_Default_Bounds&&Nominatim_Config.Map_Default_Bounds&&i.fitBounds(Nominatim_Config.Map_Default_Bounds),e&&e.length&&no.control.attribution({prefix:'Leaflet'}).addTo(i),a(),no.control.scale().addTo(i),no.tileLayer(Nominatim_Config.Map_Tile_URL,{attribution:e}).addTo(i),n()){let t=new no.TileLayer(Nominatim_Config.Map_Tile_URL,{minZoom:0,maxZoom:13,attribution:e});new no.Control.MiniMap(t,{toggleDisplay:!0}).addTo(i)}i.on("move",a),i.on("mousemove",(t=>{wn.mousePos=t.latlng})),i.on("click",(t=>{wn.lastClick=t.latlng}))}(t),c(s(),o()),{destroy:()=>{wn.reset(),i.remove()}}}function c(t,e){if(!i)return;if(i&&r.forEach((function(t){i.removeLayer(t)})),t){let e=no.circleMarker(t,{radius:5,weight:2,fillColor:"#ff7800",color:"red",opacity:.75,zIndexOffset:100,clickable:!1});e.bindTooltip(`Search (${t[0]},${t[1]})`).openTooltip(),e.addTo(i),r.push(e)}var n=new URLSearchParams(window.location.search).get("viewbox");if(n){let t=n.split(","),e=no.latLngBounds([t[1],t[0]],[t[3],t[2]]),o=no.rectangle(e,{color:"#69d53e",weight:3,dashArray:"5 5",opacity:.8,fill:!1,interactive:!1});i.addLayer(o),r.push(o)}if(!e)return;let o=e.centroid?e.centroid.coordinates[1]:e.lat,s=e.centroid?e.centroid.coordinates[0]:e.lon,a=e.geometry||e.geojson;if(o&&s){let e=no.circleMarker([o,s],{radius:10,weight:2,fillColor:"#ff7800",color:"blue",opacity:.75});t&&e.bindTooltip("Result").openTooltip(),i.addLayer(e),r.push(e)}if(a){var l=no.geoJson({type:"FeatureCollection",features:[{type:"Feature",geometry:a,properties:{}}]},{style:()=>({interactive:!1,color:"blue"})});i.addLayer(l),r.push(l),i.fitBounds(l.getBounds())}else o&&s&&t?i.fitBounds([[o,s],t],{padding:[50,50]}):o&&s&&i.setView([o,s],10)}Ht((()=>{c(s(),o())}));var h=ho(),u=Zt(h);!function(t,e,i){Wt((()=>{var n=ze((()=>e(t,i?.())||{}));if(n?.destroy)return()=>n.destroy()}))}(u,(t=>l?.(t))),function(t,e){F(e,!0);let i=Lt(!1);const n=tt((()=>`https://openstreetmap.org/#map=${wn.zoom}/${wn.center.lat.toFixed(5)}/${wn.center.lng.toFixed(5)}`));function o(t){return t?`${t.lat.toFixed(5)},${t.lng.toFixed(5)}`:"-"}var s=co(),r=Bt(s),a=t=>{var e=ro(),s=Zt(e),r=Bt(s),a=jt(r),l=jt(a,3),c=jt(l,2),h=jt(c,2),u=jt(h,2);Bt(jt(s,2)).__click=[so,i],Ut(((t,e,i)=>{ti(r,`map center: ${t??""} `),Ti(a,"href",Se(n)),ti(l,` map zoom: ${wn.zoom??""} `),ti(c,` viewbox: ${wn.viewboxStr??""} `),ti(h,` last click: ${e??""} `),ti(u,` mouse position: ${i??""}`)}),[()=>o(wn.center),()=>o(wn.lastClick),()=>o(wn.mousePos)]),Qe(t,e)},l=t=>{var e=lo();e.__click=[ao,i],Qe(t,e)};ni(r,(t=>{Se(i)?t(a):t(l,!1)})),Qe(t,s),H()}(jt(u,2),{}),Qe(t,h),H()}var po=Ye('
',1);function fo(t,e){F(e,!0);const i=t=>{!function(t,e){F(e,!0);const i=t=>{var e=Dn(),i=jt(Bt(e),2),n=jt(i,2),o=jt(n,2),s=jt(o,2),l=jt(s,2);Ti(l,"pattern","^[a-zA-Z]{2}(,[a-zA-Z]{2})*$");var c=jt(l,2),h=jt(c,2),u=jt(h,2);Ut((()=>{Li(i,Se(a)?wn.viewboxStr:""),Li(n,0===r().dedupe?0:1),Li(o,r().bounded?1:""),Li(s,r()["accept-language"]||""),Li(l,r().countrycodes||""),Li(c,r().limit||""),Li(h,r().polygon_threshold||""),Li(u,r().layer||"")})),Qe(t,e)},n=t=>{var e=Nn(),n=Zt(e),o=Bt(n),s=jt(n,2);i(s),Ut((()=>Li(o,r().q||""))),Qe(t,e)},o=t=>{var e=Bn(),n=Zt(e),o=Bt(n),s=jt(n,2),a=Bt(s),l=jt(s,2),c=Bt(l),h=jt(l,2),u=Bt(h),d=jt(h,2),p=Bt(d),f=jt(d,2),m=Bt(f),_=jt(f,2);i(_),Ut((()=>{Li(o,r().street||""),Li(a,r().city||""),Li(c,r().county||""),Li(u,r().state||""),Li(p,r().country||""),Li(m,r().postalcode||"")})),Qe(t,e)};let s=Ii(e,"bStructuredSearch",3,!1),r=Ii(e,"api_request_params",19,(()=>({}))),a=Lt(Ct(r().viewbox||!1));var l=jn(),c=Zt(l),h=Bt(c),u=Bt(h);let d;var p=Bt(jt(h,2));let f;var m=jt(c,2),_=Bt(m);let g;Sn(Bt(_),{page:"search",get content(){return n}});var v=jt(_,2);let y;Sn(Bt(v),{page:"search",get content(){return o}});var b=jt(m,2),w=jt(Bt(b),2),x=Bt(w),L=Bt(x),P=jt(Bt(L),2);P.__change=[Zn,a];var T=jt(x,2),k=Bt(T),M=jt(Bt(k),2);M.__change=[On];var C=jt(T,2),E=Bt(C),A=jt(Bt(E),2);A.__change=[zn];var S=jt(C,2),O=jt(Bt(S),2);O.__change=[In];var z=jt(S,2),I=jt(Bt(z),2);I.__change=[In];var D=jt(z,2),N=jt(Bt(D),2);N.__change=[In];var B=jt(D,2),Z=jt(Bt(B),2);Ti(Z,"pattern","^[a-zA-Z]{2}(,[a-zA-Z]{2})*$"),Z.__change=[In];var j=jt(B,2),R=jt(Bt(j),2);R.__change=[In],Ut(((t,e,i,n)=>{d=mi(u,0,"nav-link svelte-1u2ltgo",null,d,t),f=mi(p,0,"nav-link svelte-1u2ltgo",null,f,e),g=mi(_,0,"tab-pane",null,g,i),y=mi(v,0,"tab-pane",null,y,n),Pi(P,r().viewbox),Pi(M,!!r().bounded),Pi(A,0===r().dedupe?0:1),Li(O,r().limit||""),Li(I,r().polygon_threshold||""),Li(N,r()["accept-language"]||""),Li(Z,r().countrycodes||""),Li(R,r().layer||"")}),[()=>({active:!s()}),()=>({active:s()}),()=>({active:!s()}),()=>({active:s()})]),Qe(t,l),H()}(t,{get api_request_params(){return Se(s)},bStructuredSearch:n})};let n,o=Lt(void 0),s=Lt(void 0),r=Lt(void 0);Ht((()=>{if("search"===Qi.page.tab){const t=Qi.page.params;ze((()=>function(t){Wi(),Pt(s,{q:t.get("q"),street:t.get("street"),city:t.get("city"),county:t.get("county"),state:t.get("state"),country:t.get("country"),postalcode:t.get("postalcode"),polygon_geojson:Nominatim_Config.Search_AreaPolygons?1:0,viewbox:t.get("viewbox"),bounded:t.get("bounded"),dedupe:t.has("dedupe")&&"1"!==t.get("dedupe")?0:1,"accept-language":t.get("accept-language"),countrycodes:t.get("countrycodes"),layer:t.get("layer"),limit:t.get("limit"),polygon_threshold:t.get("polygon_threshold"),exclude_place_ids:t.get("exclude_place_ids"),format:"jsonv2"});let e=Se(s).street||Se(s).city||Se(s).county||Se(s).state||Se(s).country||Se(s).postalcode;Se(s).q||e?Qi.fetchFromApi("search",Se(s),(function(t){Pt(o,t,!0),e?(Wi("Result for "+[Se(s).street,Se(s).city,Se(s).county,Se(s).state,Se(s).country,Se(s).postalcode].filter((t=>t&&t.length>1)).join(", ")),document.querySelector(".nav-tabs a[href='#structured']").click(),document.querySelector("input[name=street]").focus()):(Wi("Result for "+Se(s).q),document.querySelector("input[name=q]").focus())})):Pt(o,void 0)}(t)))}}));var a=po(),l=Zt(a);kn(l,{get subheader(){return i}});var c=Bt(jt(l,2));Xn(Bt(c),{get results(){return Se(o)},reverse_search:!1,get current_result(){return Se(r)},set current_result(t){Pt(r,t,!0)}}),uo(Bt(jt(c,2)),{get current_result(){return Se(r)},display_minimap:!0}),Qe(t,a),H()}function mo(t){var e=t.target.value.split(/,|%2C/);2===e.length&&(document.querySelector("input[name=lat]").value=L.Util.trim(e[0]),document.querySelector("input[name=lon]").value=L.Util.trim(e[1]))}function _o(t){document.querySelector("input[name="+t.target.dataset.apiParam+"]").value=t.target.value}function go(t,e,i,n){t.preventDefault(),t.stopPropagation(),Qi.refreshPage("reverse",new URLSearchParams({lat:e()||"",lon:i()||"",zoom:n()}))}var vo=Ye(""),yo=Ye('
',1),bo=Ye('
Advanced options
',1);We(["change","click"]);var wo=Ye('
',1);function xo(t,e){F(e,!0);const i=t=>{{let e=tt((()=>Se(o)?.lat)),i=tt((()=>Se(o)?.lon)),n=tt((()=>Se(o)?.zoom));!function(t,e){F(e,!0);const i=t=>{var e=yo(),i=jt(Zt(e),2),a=Bt(i);a.__change=[mo];var l=jt(i,2);Bt(l).__click=[go,o,n,s];var c=jt(l,4),h=Bt(c),u=jt(c,4),d=Bt(u),p=Bt(d);p.value=p.__value="",si(jt(p),17,Yi,oi,((t,e,i)=>{var n=vo(),o=Bt(n);n.value=n.__value=i,Ut((()=>ti(o,`${i} - ${Se(e)??""}`))),Qe(t,n)}));var f=jt(u,2);Ut((()=>Li(f,r().layer||""))),Ci(a,n),Ci(h,o),yi(d,s),Qe(t,e)};let n=Ii(e,"lat",7,""),o=Ii(e,"lon",7,""),s=Ii(e,"zoom",7,""),r=Ii(e,"api_request_params",19,(()=>({})));Ht((()=>{const t=wn.lastClick;t&&Qi.refreshPage("reverse",new URLSearchParams({lat:t.lat,lon:t.lng,zoom:s()}))}));var a=bo(),l=Zt(a);Sn(l,{page:"reverse",get content(){return i}});var c=jt(l,2),h=jt(Bt(c),2),u=Bt(h),d=jt(Bt(u),2);d.__change=[_o],Ut((()=>Li(d,r().layer||""))),Qe(t,a),H()}(t,{get lat(){return Se(e)},get lon(){return Se(i)},get zoom(){return Se(n)},get api_request_params(){return Se(o)}})}};let n=Lt(void 0),o=Lt(void 0),s=Lt(void 0),r=Lt(void 0);Ht((()=>{if("reverse"===Qi.page.tab){const t=Qi.page.params;ze((()=>{return e=t,Wi(),Pt(o,{lat:e.get("lat"),lon:e.get("lon"),zoom:e.get("zoom")>1?Number(e.get("zoom")):Number(Nominatim_Config.Reverse_Default_Search_Zoom),layer:e.get("layer"),format:"jsonv2"}),void(Se(o).lat&&Se(o).lon?(Pt(r,[Se(o).lat,Se(o).lon],!0),Qi.fetchFromApi("reverse",Se(o),(function(t){t&&!t.error?Pt(n,[t]):Pt(n,[]),Wi("Reverse result for "+Se(o).lat+","+Se(o).lon),document.querySelector("input[name=lat]").focus()}))):Pt(n,void 0));var e}))}}));var a=wo(),l=Zt(a);kn(l,{get subheader(){return i}});var c=Bt(jt(l,2));Xn(Bt(c),{get results(){return Se(n)},reverse_search:!0,get current_result(){return Se(s)},set current_result(t){Pt(s,t,!0)}}),uo(Bt(jt(c,2)),{get current_result(){return Se(s)},get position_marker(){return Se(r)},display_minimap:!0}),Qe(t,a),H()}var Lo=Ye('
OSM type+id (N123, n123, W123, w123, R123, r123),\n Place id (1234) or\n URL (https://openstreetmap.org/way/123)',1);var Po=Ye(" ");function To(t,e){F(e,!0);const i=tt((()=>Ki(e.osmType,!1))),n=tt((()=>`https://www.openstreetmap.org/${Se(i)}/${e.osmId}`));var o=Je(),s=Zt(o),r=t=>{var o=Po(),s=Bt(o);Ut((()=>{Ti(o,"href",Se(n)),ti(s,`${Se(i)??""} ${e.osmId??""}`)})),Qe(t,o)};ni(s,(t=>{Se(i)&&t(r)})),Qe(t,o),H()}var ko=Ye('No Name'),Mo=Ye(' ');function Co(t,e){F(e,!0);let i=Ii(e,"bMarkUnusedLines",3,!1);const n=tt((()=>e.addressLine.isaddress)),o=tt((()=>Nominatim_Config.Reverse_Only));var s=Mo();let r;var a=Bt(s),l=Bt(a),c=t=>{var i=Xe();Ut((()=>ti(i,e.addressLine.localname))),Qe(t,i)},h=t=>{Qe(t,ko())};ni(l,(t=>{e.addressLine.localname?t(c):t(h,!1)}));var u=jt(a),d=Bt(u),p=jt(u);To(Bt(p),{get osmType(){return e.addressLine.osm_type},get osmId(){return e.addressLine.osm_id}});var f=jt(p),m=Bt(f),_=jt(f),g=Bt(_),v=jt(_);!function(t,e,i=!1,n=!1){var o=t,s="";Ut((()=>{var t=de;if(s!==(s=e()??"")&&(null!==t.nodes_start&&(Jt(t.nodes_start,t.nodes_end),t.nodes_start=t.nodes_end=null),""!==s)){var r=s+"";i?r=`${r}`:n&&(r=`${r}`);var a=Ke(r);if((i||n)&&(a=Dt(a)),Ge(Dt(a),a.lastChild),i||n)for(;Dt(a);)o.before(Dt(a));else o.before(a)}}))}(Bt(v),(()=>{return t=e.addressLine.distance,e.bDistanceInMeters?t<1?"0":'~'+(t>=1e3?Math.round(t/1e3,1)+" km":Math.round(t,0)+" m")+"":0===t?"0":'~'+Math.round(1e3*t,4)/1e3+"";var t}));var y=Bt(jt(v)),b=t=>{Fn(t,{get feature(){return e.addressLine}})},w=t=>{var i=Je(),n=Zt(i),s=t=>{{let i=tt((()=>({country:e.addressLine.localname})));on(t,{page:"search",text:"search by name",get params_hash(){return Se(i)}})}},r=t=>{var i=Je(),n=Zt(i),s=t=>{{let i=tt((()=>({postalcode:e.addressLine.localname,country:e.sCountryCode})));on(t,{page:"search",text:"search by name",get params_hash(){return Se(i)}})}};ni(n,(t=>{Se(o)||"postcode"!==e.addressLine.type||t(s)}),!0),Qe(t,i)};ni(n,(t=>{!Se(o)&&e.addressLine.type.match(/^country/)?t(s):t(r,!1)}),!0),Qe(t,i)};ni(y,(t=>{e.addressLine.osm_id?t(b):t(w,!1)})),Ut(((t,i,n)=>{r=mi(s,0,"svelte-17hj2yg",null,r,t),ti(d,i),ti(m,e.addressLine.rank_address),ti(g,n)}),[()=>({notused:i()&&!Se(n)}),()=>{return t=e.addressLine,i=t.class+":"+t.type,t.type&&"administrative"===t.type&&t.place_type&&(i=i+" ("+t.place_type+")"),Vi(i);var t,i},()=>{return(t=e.addressLine.admin_level)&&t<15?t:"";var t}]),Qe(t,s),H()}function Eo(t){t.preventDefault(),t.stopPropagation(),document.getElementById("postcode-hint").style.display="block"}function Ao(t){t.stopPropagation(),document.getElementById("postcode-hint").style.display="none"}var So=Ye('(how?)

Nightly calculated from nearby places having this postcode. Documentation.

You can search for those with an Overpass Turbo query.

How Nominatim uses postcodes.

',1);We(["click"]);var Oo=Ye('
');function zo(t,e){F(e,!0);var i=Je();si(Zt(i),17,(()=>Object.keys(e.items)),oi,((t,i)=>{var n=Oo(),o=Bt(n),s=Bt(o),r=jt(o);Ut((()=>{ti(s,e.items[Se(i)]),ti(r,` (${Se(i)??""})`)})),Qe(t,n)})),Qe(t,i),H()}var Io=Ye(' ');var Do=Ye('No Name'),No=Ye('Admin Level '),Bo=Ye('Importance '),Zo=Ye('Wikipedia Calculated'),jo=Ye(" ",1),Ro=Ye('

Linked Places

',1),$o=Ye(" "),Fo=Ye(" "),Ho=Ye(" "),qo=Ye(" "),Wo=Ye('

Address Keywords

',1),Uo=Ye('

Name Keywords

',1),Vo=Ye("Place has no keywords"),Ko=Ye('display keywords'),Go=Ye('

Keywords

',1),Yo=Ye('

',1),Xo=Ye("

There are more child objects which are not shown.

"),Jo=Ye(" ",1),Qo=Ye("Place is not parent of other places"),ts=Ye('display child places'),es=Ye('

Name
Type
Last Updated
Search Rank
Address Rank
Coverage
Centre Point (lat,lon)
OSM
Place Id on this server)
Computed Postcode
Address Tags
Extra Tags

Address

Local nameTypeOSMAddress rankAdmin levelDistance

Parent Of

',1),is=Ye('
',1);function ns(t,e){F(e,!0);const i=t=>{!function(t,e){F(e,!0);let i=Ii(e,"api_request_params",19,(()=>({})));var n=Lo(),o=Zt(n),s=Bt(o),r=Bt(s),a=Bt(r);Ut((()=>Li(a,(i().osmtype||"")+(i().osmid||"")+(i().place_id||"")))),qe("submit",o,(function(t){t.preventDefault();let e=t.target.querySelector("input[type=edit]").value.trim(),i=e.match(/^\s*([NWR])(-?\d+)\s*$/i)||e.match(/\/(relation|way|node)\/(-?\d+)\s*$/);const n={};if(i)n.osmtype=i[1].charAt(0).toUpperCase(),n.osmid=i[2];else{if(!e.match(/^\d+$/))return void alert("invalid input");n.place_id=e}Qi.refreshPage("details",new URLSearchParams(n))})),Qe(t,n),H()}(t,{get api_request_params(){return Se(s)}})};let n=Lt(void 0),o=Lt(void 0),s=Lt(void 0),r=Lt(!1);Ht((()=>{if("details"===Qi.page.tab){const t=Qi.page.params;ze((()=>{var e;Pt(s,{place_id:(e=t).get("place_id"),osmtype:e.get("osmtype"),osmid:e.get("osmid"),class:e.get("class"),keywords:e.get("keywords"),addressdetails:1,hierarchy:"1"===e.get("hierarchy")?1:0,group_hierarchy:1,polygon_geojson:1,format:"json"}),Pt(r,!1),Se(s).place_id||Se(s).osmtype&&Se(s).osmid?(Se(s).place_id?Wi("Details for "+Se(s).place_id):Wi("Details for "+Se(s).osmtype+Se(s).osmid),Qi.fetchFromApi("details",Se(s),(function(t){window.scrollTo(0,0),Pt(r,!0),Pt(n,t&&!t.error?t:void 0,!0)}))):Pt(n,void 0),Pt(o,window.location.search,!0)}))}}));const a=Nominatim_Config.Reverse_Only;var l=is(),c=Zt(l);kn(c,{get subheader(){return i}});var h=Bt(jt(c,2)),u=t=>{var e=es(),i=Zt(e),r=Bt(i),l=Bt(r),c=Bt(l);Fn(Bt(jt(c)),{get feature(){return Se(n)},text:"link to this page"}),Wn(Bt(jt(r,2)),{get aPlace(){return Se(n)}});var h=jt(i,2),u=Bt(h),d=Bt(u),p=Bt(d),f=Bt(p),m=jt(Bt(f)),_=Bt(m),g=t=>{zo(t,{get items(){return Se(n).names}})},v=t=>{Qe(t,Do())};ni(_,(t=>{Se(n).names&&"object"==typeof Se(n).names&&Object.keys(Se(n).names).length?t(g):t(v,!1)}));var y=jt(f),b=jt(Bt(y)),w=Bt(b),x=jt(y),L=jt(Bt(x)),P=Bt(L),T=jt(x),k=t=>{var e=No(),i=jt(Bt(e)),o=Bt(i);Ut((()=>ti(o,Se(n).admin_level))),Qe(t,e)};ni(T,(t=>{(function(t){return"boundary"===t.category&&"administrative"===t.type})(Se(n))&&t(k)}));var M=jt(T),C=jt(Bt(M)),E=Bt(C),A=jt(M),S=jt(Bt(A)),O=Bt(S),z=jt(A),I=t=>{var e=Bo(),i=jt(Bt(e)),o=Bt(i),s=jt(o),r=t=>{Qe(t,Xe("(estimated)"))};ni(s,(t=>{Se(n).importance||t(r)})),Ut((()=>ti(o,`${Se(n).calculated_importance??""} `))),Qe(t,e)};ni(z,(t=>{Se(n).calculated_importance&&t(I)}));var D=jt(z),N=jt(Bt(D)),B=Bt(N),Z=jt(D),j=jt(Bt(Z)),R=Bt(j),$=jt(Z),q=jt(Bt($));To(Bt(q),{get osmType(){return Se(n).osm_type},get osmId(){return Se(n).osm_id}});var W=jt($),U=jt(Bt(W)),V=Bt(U),K=jt(W),G=t=>{var e=Zo(),i=jt(Bt(e));!function(t,e){F(e,!0);const i=tt((()=>e.wikipedia?e.wikipedia.split(":",2):null)),n=tt((()=>`https://${Vi(Se(i)[0])}.wikipedia.org/wiki/${Vi(Se(i)[1])}`));var o=Je(),s=Zt(o),r=t=>{var i=Io(),o=Bt(i);Ut((()=>{Ti(i,"href",Se(n)),ti(o,e.wikipedia)})),Qe(t,i)};ni(s,(t=>{e.wikipedia&&t(r)})),Qe(t,o),H()}(Bt(i),{get wikipedia(){return Se(n).calculated_wikipedia}}),Qe(t,e)};ni(K,(t=>{Se(n).calculated_wikipedia&&t(G)}));var Y=jt(K),X=jt(Bt(Y)),J=Bt(X),Q=t=>{var e=jo(),i=Zt(e);!function(t,e){F(e,!0);const i=tt((()=>`\n // Based on the map bounds, you can zoom out and rerun the query\n\n [timeout:30]; // in seconds\n\n // we define a shortcut\n // https://wiki.openstreetmap.org/wiki/Overpass_turbo/Extended_Overpass_Turbo_Queries\n {{postcode=${e.postcode}}}\n\n (\n node["addr:postcode"="{{postcode}}"]({{bbox}});\n way["addr:postcode"="{{postcode}}"]({{bbox}});\n relation["addr:postcode"="{{postcode}}"]({{bbox}});\n\n node["postal_code"="{{postcode}}"]({{bbox}});\n way["postal_code"="{{postcode}}"]({{bbox}});\n relation["postal_code"="{{postcode}}"]({{bbox}});\n );\n\n out body;\n >;\n out skel qt;\n `.replace(/^ {4}/gm,""))),n=tt((()=>"https://overpass-turbo.eu/?Q="+encodeURIComponent(Se(i))+"&C="+encodeURIComponent([e.lat,e.lon,15].join(";"))+"&R"));var o=So(),s=jt(Zt(o));s.__click=[Eo];var r=Bt(jt(s,2));r.__click=[Ao];var a=jt(r,4),l=jt(Bt(a));Ut((()=>Ti(l,"href",Se(n)))),Qe(t,o),H()}(jt(i),{get postcode(){return Se(n).calculated_postcode},get lat(){return Se(n).centroid.coordinates[1]},get lon(){return Se(n).centroid.coordinates[0]}}),Ut((()=>ti(i,`${Se(n).calculated_postcode??""} `))),Qe(t,e)};ni(J,(t=>{Se(n).calculated_postcode&&t(Q)}));var et=jt(Y),it=jt(Bt(et));zo(Bt(it),{get items(){return Se(n).addresstags}});var nt=jt(et),ot=jt(Bt(nt));zo(Bt(ot),{get items(){return Se(n).extratags}});var st=Bt(jt(u,2));uo(Bt(st),{get current_result(){return Se(n)}});var rt=Bt(jt(h,2)),at=jt(Bt(rt),2),lt=jt(Bt(at)),ct=Bt(lt),ht=t=>{var e=Je();si(Zt(e),17,(()=>Se(n).address),oi,((t,e)=>{{let i=tt((()=>function(t){let e=t.address.find((t=>"country_code"===t.type));return e?e.localname:null}(Se(n))));Co(t,{get addressLine(){return Se(e)},bMarkUnusedLines:!0,bDistanceInMeters:!1,get sCountryCode(){return Se(i)}})}})),Qe(t,e)};ni(ct,(t=>{Se(n).address&&t(ht)}));var ut=jt(ct),dt=t=>{var e=Ro();si(jt(Zt(e),2),17,(()=>Se(n).linked_places),oi,((t,e)=>{Co(t,{get addressLine(){return Se(e)},bMarkUnusedLines:!0,bDistanceInMeters:!0})})),Qe(t,e)};ni(ut,(t=>{Se(n).linked_places&&t(dt)}));var pt=jt(ut),ft=t=>{var e=Go(),i=jt(Zt(e),2),r=t=>{var e=Je(),i=Zt(e),o=t=>{var e=Uo(),i=jt(Zt(e),2);si(i,17,(()=>Se(n).keywords.name),oi,((t,e)=>{var i=Fo(),n=Bt(i),o=Bt(n),s=jt(n),r=t=>{var i=$o(),n=Bt(i);Ut((()=>ti(n,`word id: ${Se(e).id??""}`))),Qe(t,i)};ni(s,(t=>{Se(e).id&&t(r)})),Ut((t=>ti(o,t)),[()=>Gi(Se(e).token)]),Qe(t,i)}));var o=jt(i,2),s=t=>{var e=Wo();si(jt(Zt(e),2),17,(()=>Se(n).keywords.address),oi,((t,e)=>{var i=qo(),n=Bt(i),o=Bt(n),s=jt(n),r=t=>{var i=Ho(),n=Bt(i);Ut((()=>ti(n,`word id: ${Se(e).id??""}`))),Qe(t,i)};ni(s,(t=>{Se(e).id&&t(r)})),Ut((t=>ti(o,t)),[()=>Gi(Se(e).token)]),Qe(t,i)})),Qe(t,e)};ni(o,(t=>{Se(n).keywords.address&&t(s)})),Qe(t,e)},s=t=>{Qe(t,Vo())};ni(i,(t=>{var e;(e=Se(n)).keywords&&e.keywords.name&&e.keywords.address&&(e.keywords.name.length>0||e.keywords.address.length>0)?t(o):t(s,!1)})),Qe(t,e)},a=t=>{var e=Ko(),i=Bt(e),n=Bt(i);Ut((()=>Ti(n,"href",`${Se(o)??""}&keywords=1`))),Qe(t,e)};ni(i,(t=>{Se(s).keywords?t(r):t(a,!1)})),Qe(t,e)};ni(pt,(t=>{a||t(ft)}));var mt=jt(pt,2),_t=t=>{var e=Je(),i=Zt(e),o=t=>{var e=Jo(),i=Zt(e);si(i,17,(()=>Object.keys(Se(n).hierarchy)),oi,((t,e)=>{var i=Yo(),o=Zt(i),s=Bt(o),r=Bt(s),a=Bt(r);si(jt(o,2),17,(()=>Se(n).hierarchy[Se(e)]),oi,((t,e)=>{Co(t,{get addressLine(){return Se(e)},bDistanceInMeters:!0})})),Ut((()=>ti(a,Se(e)))),Qe(t,i)}));var o=jt(i,2),s=t=>{Qe(t,Xo())};ni(o,(t=>{Object.keys(Se(n).hierarchy)>500&&t(s)})),Qe(t,e)},s=t=>{Qe(t,Qo())};ni(i,(t=>{Se(n).hierarchy&&"object"==typeof Se(n).hierarchy&&Object.keys(Se(n).hierarchy).length?t(o):t(s,!1)})),Qe(t,e)},gt=t=>{var e=ts(),i=Bt(e),n=Bt(i);Ut((()=>Ti(n,"href",`${Se(o)??""}&hierarchy=1`))),Qe(t,e)};ni(mt,(t=>{Se(s).hierarchy?t(_t):t(gt,!1)})),Ut(((t,e,i)=>{ti(c,`${t??""} `),ti(w,`${Se(n).category??""}:${Se(n).type??""}`),ti(P,Se(n).indexed_date),ti(E,Se(n).rank_search),ti(O,`${Se(n).rank_address??""} (${e??""})`),ti(B,i),ti(R,`${Se(n).centroid.coordinates[1]??""},${Se(n).centroid.coordinates[0]??""}`),ti(V,`${Se(n).place_id??""}\n (`)}),[()=>Se(n).localname||`${Ki(Se(n).osm_type)} ${Se(n).osm_id}`,()=>{return(t=Se(n).rank_address)<4?"other":t<6?"country":t<8?"region":t<10?"state":t<12?"state district":t<14?"county":t<16?"municipality":t<18?"city / town / village":t<20?"city / village district":t<22?"suburb / hamlet":t<24?"neighbourhood":t<26?"city block / square":26===t?"major street":27===t?"minory street / path":t<=30?"house / building":"other";var t},()=>function(t){return t.isarea?"Polygon":"Point"}(Se(n))]),Qe(t,e)},d=t=>{var e=Je(),i=Zt(e),n=t=>{Qe(t,Xe("No such place found."))};ni(i,(t=>{""!==window.location.search&&Se(r)&&t(n)}),!0),Qe(t,e)};ni(h,(t=>{Se(n)?t(u):t(d,!1)})),Qe(t,l),H()}var os=Ye(' josm'),ss=Ye('

Broken polygons

OSM objectClassTypeNameCountry CodeError messageUpdated
',1);var rs=Ye(" "),as=Ye('

Deletable

Place idCountry CodeNameOSM objectClassType
',1);var ls=Ye('

Server status

API Endpoint
Software version
Database version
Data last updated
',1);var cs=Ye('
',1);var hs=Ye(" ",1);const us=(ds=function(t,e){F(e,!1),Si();var i=hs();qe("popstate",At,(()=>Qi.refreshPage()));var n=Zt(i),o=t=>{fo(t,{})},s=t=>{var e=Je(),i=Zt(e),n=t=>{xo(t,{})},o=t=>{var e=Je(),i=Zt(e),n=t=>{ns(t,{})},o=t=>{var e=Je(),i=Zt(e),n=t=>{!function(t,e){F(e,!0);let i=Lt(Ct([]));Di((function(){Qi.fetchFromApi("deletable",{format:"json"},(function(t){Pt(i,t,!0)})),Wi("Deletable objects")}));var n=as(),o=Zt(n);kn(o,{});var s=Bt(jt(o,2)),r=Bt(s),a=jt(Bt(r),2),l=Bt(a),c=jt(a,2);si(jt(Bt(c)),21,(()=>Se(i)),oi,((t,e)=>{var i=rs(),n=Bt(i);Fn(Bt(n),{get feature(){return Se(e)},get text(){return Se(e).place_id}});var o=jt(n),s=Bt(o),r=jt(o),a=Bt(r),l=jt(r);To(Bt(l),{get osmType(){return Se(e).osm_type},get osmId(){return Se(e).osm_id}});var c=jt(l),h=Bt(c),u=Bt(jt(c));Ut((()=>{ti(s,Se(e).country_code),ti(a,Se(e).name),ti(h,Se(e).class),ti(u,Se(e).type)})),Qe(t,i)})),Ut((()=>ti(l,`${Se(i).length??""} objects have been deleted in OSM but\n are still in the Nominatim database.`))),Qe(t,n),H()}(t,{})},o=t=>{var e=Je(),i=Zt(e),n=t=>{!function(t,e){F(e,!0);let i=Lt(Ct([]));Di((function(){Qi.fetchFromApi("polygons",{format:"json"},(function(t){Pt(i,t,!0)})),Wi("Broken polygons")}));var n=ss(),o=Zt(n);kn(o,{});var s=Bt(jt(o,2)),r=Bt(s),a=jt(Bt(r),2),l=Bt(a),c=jt(a,2);si(jt(Bt(c)),21,(()=>Se(i)),oi,((t,e)=>{var i=os(),n=Bt(i);To(Bt(n),{osmType:"(polygon.osm_type}",get osmId(){return Se(e).osm_id}});var o=jt(n),s=Bt(o),r=jt(o),a=Bt(r),l=jt(r),c=Bt(l),h=jt(l),u=Bt(h),d=jt(h),p=Bt(d),f=jt(d),m=Bt(f),_=Bt(jt(f));Ut((t=>{ti(s,Se(e).class),ti(a,Se(e).type),ti(c,Se(e).name),ti(u,Se(e).country_code||""),ti(p,Se(e).errormessage),ti(m,Se(e).updated),Ti(_,"href",`http://localhost:8111/import?url=https://www.openstreetmap.org/api/0.6/${t??""}/${Se(e).osm_id??""}/full`)}),[()=>Ki(Se(e).osm_type)]),Qe(t,i)})),Ut((()=>ti(l,`Total number of broken polygons: ${Se(i).length??""}.`))),Qe(t,n),H()}(t,{})},o=t=>{var e=Je(),i=Zt(e),n=t=>{!function(t,e){F(e,!0);let i=Lt(Ct({}));const n=Nominatim_Config,o="function"==typeof n.Nominatim_API_Endpoint?n.Nominatim_API_Endpoint():n.Nominatim_API_Endpoint;Di((function(){Qi.fetchFromApi("status",{format:"json"},(function(t){Pt(i,t,!0)})),Wi("Server status")}));var s=ls(),r=Zt(s);kn(r,{});var a=Bt(jt(r,2)),l=Bt(a),c=jt(Bt(l),2),h=jt(Bt(c),2),u=Bt(h),d=Bt(u),p=jt(h,4),f=Bt(p),m=jt(p,4),_=Bt(m),g=Bt(jt(m,4));Ut((()=>{Ti(u,"href",o),ti(d,o),ti(f,Se(i).software_version),ti(_,Se(i).database_version),ti(g,Se(i).data_updated)})),Qe(t,s),H()}(t,{})},o=t=>{var e=Je(),i=Zt(e),n=t=>{!function(t,e){F(e,!1),Di((()=>{Fi("theme/about-help.html",document.getElementById("about-help"))})),Si();var i=cs();kn(Zt(i),{}),Qe(t,i),H()}(t,{})};ni(i,(t=>{"about"===Qi.page.tab&&t(n)}),!0),Qe(t,e)};ni(i,(t=>{"status"===Qi.page.tab?t(n):t(o,!1)}),!0),Qe(t,e)};ni(i,(t=>{"polygons"===Qi.page.tab?t(n):t(o,!1)}),!0),Qe(t,e)};ni(i,(t=>{"deletable"===Qi.page.tab?t(n):t(o,!1)}),!0),Qe(t,e)};ni(i,(t=>{"details"===Qi.page.tab?t(n):t(o,!1)}),!0),Qe(t,e)};ni(i,(t=>{"reverse"===Qi.page.tab?t(n):t(o,!1)}),!0),Qe(t,e)};ni(n,(t=>{"search"===Qi.page.tab?t(o):t(s,!1)})),function(t){Qe(t,tn())}(jt(n,2)),Qe(t,i),H()},ps={target:document.body},function(t,{target:e,anchor:i,props:o={},events:r,context:a,intro:l=!0}){!function(){if(void 0===At){At=window,St=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,i=Text.prototype;Ot=s(e,"firstChild").get,zt=s(e,"nextSibling").get,h(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),h(i)&&(i.__t=void 0)}}();var c=new Set,u=t=>{for(var i=0;inew Promise((i=>{t.outro?te(e,(()=>{Xt(e),i(void 0)})):(Xt(e),i(void 0))}))}((()=>{var n=i??e.appendChild(It());return Kt((()=>{a&&(F({}),R.c=a),r&&(o.$$events=r),d=t(n,o)||{},a&&H()})),()=>{for(var t of c){e.removeEventListener(t,Ve);var o=ei.get(t);0===--o?(document.removeEventListener(t,Ve),ei.delete(t)):ei.set(t,o)}He.delete(u),n!==i&&n.parentNode?.removeChild(n)}}));return ii.set(d,p),d}(ds,ps));var ds,ps;return us}(); + */function no(){return eo||(eo=1,function(t){var e="1.9.4";function i(t){var e,i,n,o;for(i=1,n=arguments.length;i0?Math.floor(t):Math.ceil(t)};function D(t,e,i){return t instanceof z?t:g(t)?new z(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new z(t.x,t.y):new z(t,e,i)}function N(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=B(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>=e.x&&n.x<=i.x,r=o.y>=e.y&&n.y<=i.y;return s&&r},overlaps:function(t){t=B(t);var e=this.min,i=this.max,n=t.min,o=t.max,s=o.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=R(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=e.lat&&n.lat<=i.lat,r=o.lng>=e.lng&&n.lng<=i.lng;return s&&r},overlaps:function(t){t=R(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>e.lat&&n.late.lng&&n.lng1,At=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",c,e),window.removeEventListener("testPassiveEventSupport",c,e)}catch(t){}return t}(),St=!!document.createElement("canvas").getContext,Ot=!(!document.createElementNS||!X("svg").createSVGRect),zt=!!Ot&&((Q=document.createElement("div")).innerHTML="","http://www.w3.org/2000/svg"===(Q.firstChild&&Q.firstChild.namespaceURI)),It=!Ot&&function(){try{var t=document.createElement("div");t.innerHTML='';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),Dt=0===navigator.platform.indexOf("Mac"),Nt=0===navigator.platform.indexOf("Linux");function Bt(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}var Zt={ie:et,ielt9:it,edge:nt,webkit:ot,android:st,android23:rt,androidStock:lt,opera:ct,chrome:ht,gecko:ut,safari:dt,phantom:pt,opera12:ft,win:_t,ie3d:mt,webkit3d:gt,gecko3d:vt,any3d:yt,mobile:bt,mobileWebkit:wt,mobileWebkit3d:xt,msPointer:Lt,pointer:Pt,touch:Mt,touchNative:Tt,mobileOpera:kt,mobileGecko:Ct,retina:Et,passiveEvents:At,canvas:St,svg:Ot,vml:It,inlineSvg:zt,mac:Dt,linux:Nt},Rt=Zt.msPointer?"MSPointerDown":"pointerdown",jt=Zt.msPointer?"MSPointerMove":"pointermove",$t=Zt.msPointer?"MSPointerUp":"pointerup",Ft=Zt.msPointer?"MSPointerCancel":"pointercancel",qt={touchstart:Rt,touchmove:jt,touchend:$t,touchcancel:Ft},Ht={touchstart:te,touchmove:Qt,touchend:Qt,touchcancel:Qt},Wt={},Ut=!1;function Vt(t,e,i){return"touchstart"===e&&Jt(),Ht[e]?(i=Ht[e].bind(this,i),t.addEventListener(qt[e],i,!1),i):(console.warn("wrong event specified:",e),c)}function Kt(t,e,i){qt[e]?t.removeEventListener(qt[e],i,!1):console.warn("wrong event specified:",e)}function Gt(t){Wt[t.pointerId]=t}function Yt(t){Wt[t.pointerId]&&(Wt[t.pointerId]=t)}function Xt(t){delete Wt[t.pointerId]}function Jt(){Ut||(document.addEventListener(Rt,Gt,!0),document.addEventListener(jt,Yt,!0),document.addEventListener($t,Xt,!0),document.addEventListener(Ft,Xt,!0),Ut=!0)}function Qt(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Wt)e.touches.push(Wt[i]);e.changedTouches=[e],t(e)}}function te(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&Ge(e),Qt(t,e)}function ee(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return t=n,n.type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}var ie=200;function ne(t,e){t.addEventListener("dblclick",e);var i,n=0;function o(t){if(1===t.detail){if("mouse"!==t.pointerType&&(!t.sourceCapabilities||t.sourceCapabilities.firesTouchEvents)){var o=Xe(t);if(!o.some((function(t){return t instanceof HTMLLabelElement&&t.attributes.for}))||o.some((function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement}))){var s=Date.now();s-n<=ie?2===++i&&e(ee(t)):i=1,n=s}}}else i=t.detail}return t.addEventListener("click",o),{dblclick:e,simDblclick:o}}function oe(t,e){t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("click",e.simDblclick)}var se,re,ae,le,ce,he=ke(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ue=ke(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ue||"OTransition"===ue?ue+"End":"transitionend";function pe(t){return"string"==typeof t?document.getElementById(t):t}function fe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];if((!i||"auto"===i)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);i=n?n[e]:null}return"auto"===i?null:i}function _e(t,e,i){var n=document.createElement(t);return n.className=e||"",i&&i.appendChild(n),n}function me(t){var e=t.parentNode;e&&e.removeChild(t)}function ge(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ve(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ye(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function be(t,e){if(void 0!==t.classList)return t.classList.contains(e);var i=Pe(t);return i.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)}function we(t,e){if(void 0!==t.classList)for(var i=d(e),n=0,o=i.length;n0?2*window.devicePixelRatio:1;function ti(t){return Zt.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/Qe:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function ei(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var ii={__proto__:null,on:Re,off:$e,stopPropagation:Ue,disableScrollPropagation:Ve,disableClickPropagation:Ke,preventDefault:Ge,stop:Ye,getPropagationPath:Xe,getMousePosition:Je,getWheelDelta:ti,isExternalTarget:ei,addListener:Re,removeListener:$e},ni=O.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Ae(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=M(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;ethis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,R(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=D((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=D(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),s=this.project(t),r=this.getPixelBounds(),a=B([r.min.add(i),r.max.subtract(n)]),l=a.getSize();if(!a.contains(s)){this._enforcingBounds=!0;var c=s.subtract(a.getCenter()),h=a.extend(s).getSize().subtract(l);o.x+=c.x<0?-h.x:h.x,o.y+=c.y<0?-h.y:h.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1}return this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var n=this.getSize(),s=e.divideBy(2).round(),r=n.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:n})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o(this._handleGeolocationResponse,this),n=o(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,n,t):navigator.geolocation.getCurrentPosition(e,n,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){if(this._container._leaflet_id){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})}},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e=new j(t.coords.latitude,t.coords.longitude),i=e.toBounds(2*t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(i);this.setView(e,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:e,bounds:i,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)}},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}var t;for(t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),me(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(k(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)me(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){var i=_e("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=i),i},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new Z(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=R(t),i=D(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),l=this.getSize().subtract(i),c=B(this.project(a,n),this.project(r,n)).getSize(),h=Zt.any3d?this.options.zoomSnap:1,u=l.x/c.x,d=l.y/c.y,p=e?Math.max(u,d):Math.min(u,d);return n=this.getScaleZoom(p,n),h&&(n=Math.round(n/(h/100))*(h/100),n=e?Math.ceil(n/h)*h:Math.floor(n/h)*h),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new z(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new N(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var n=i.zoom(t*i.scale(e));return isNaN(n)?1/0:n},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint($(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(D(t),e)},layerPointToLatLng:function(t){var e=D(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){return this.project($(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng($(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(R(t))},distance:function(t,e){return this.options.crs.distance($(t),$(e))},containerPointToLayerPoint:function(t){return D(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return D(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(D(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint($(t)))},mouseEventToContainerPoint:function(t){return Je(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=pe(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");Re(e,"scroll",this._onScroll,this),this._containerId=r(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Zt.any3d,we(t,"leaflet-container"+(Zt.touch?" leaflet-touch":"")+(Zt.retina?" leaflet-retina":"")+(Zt.ielt9?" leaflet-oldie":"")+(Zt.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=fe(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Ee(this._mapPane,new z(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(we(t.markerPane,"leaflet-zoom-hide"),we(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Ee(this._mapPane,new z(0,0));var n=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return k(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Ee(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[r(this._container)]=this;var e=t?$e:Re;e(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),Zt.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){k(this._resizeRequest),this._resizeRequest=M((function(){this.invalidateSize({debounceMoveend:!0})}),this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if((i=this._targets[r(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(o&&!ei(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n.length||a||o||!this.listens(e,!0)||(n=[this]),n},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e=t.target||t.srcElement;if(!(!this._loaded||e._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(e))){var i=t.type;"mousedown"===i&&Ie(e),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}var s=this._findEventTargets(t,e);if(n){for(var r=[],a=0;a0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=Zt.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){xe(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(i)||(this.panBy(i,e),0))},_createAnimProxy:function(){var t=this._proxy=_e("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",(function(t){var e=he,i=this._proxy.style[e];Ce(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()}),this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){me(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();Ce(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==i.animate&&!this.getSize().contains(o)||(M((function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)}),this),0))},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,we(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&xe(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function si(t,e){return new oi(t,e)}var ri=E.extend({options:{position:"topright"},initialize:function(t){p(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return we(e,"leaflet-control"),-1!==i.indexOf("bottom")?n.insertBefore(e,n.firstChild):n.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(me(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),ai=function(t){return new ri(t)};oi.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var t=this._controlCorners={},e="leaflet-",i=this._controlContainer=_e("div",e+"control-container",this._container);function n(n,o){var s=e+n+" "+e+o;t[n+o]=_e("div",s,i)}n("top","left"),n("top","right"),n("bottom","left"),n("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)me(this._controlCorners[t]);me(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var li=ri.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(r(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",n=document.createElement("div");return n.innerHTML=i,n.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer);t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+r(this),n),this._layerControlInputs.push(e),e.layerId=r(t.layer),Re(e,"click",this._onInputClick,this);var o=document.createElement("span");o.innerHTML=" "+t.name;var s=document.createElement("span");return i.appendChild(s),s.appendChild(e),s.appendChild(o),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;s>=0;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s=0;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&ne.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section;this._preventClick=!0,Re(t,"click",Ge),this.expand();var e=this;setTimeout((function(){$e(t,"click",Ge),e._preventClick=!1}))}}),ci=function(t,e,i){return new li(t,e,i)},hi=ri.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=_e("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){var s=_e("a",i,n);return s.innerHTML=t,s.href="#",s.title=e,s.setAttribute("role","button"),s.setAttribute("aria-label",e),Ke(s),Re(s,"click",Ye),Re(s,"click",o,this),Re(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";xe(this._zoomInButton,e),xe(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||t._zoom===t.getMinZoom())&&(we(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||t._zoom===t.getMaxZoom())&&(we(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}});oi.mergeOptions({zoomControl:!0}),oi.addInitHook((function(){this.options.zoomControl&&(this.zoomControl=new hi,this.addControl(this.zoomControl))}));var ui=function(t){return new hi(t)},di=ri.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=_e("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=_e("div",e,i)),t.imperial&&(this._iScale=_e("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return e*(i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1)}}),pi=function(t){return new di(t)},fi='',_i=ri.extend({options:{position:"bottomright",prefix:''+(Zt.inlineSvg?fi+" ":"")+"Leaflet"},initialize:function(t){p(this,t),this._attributions={}},onAdd:function(t){for(var e in t.attributionControl=this,this._container=_e("div","leaflet-control-attribution"),Ke(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",(function(){this.removeAttribution(t.layer.getAttribution())}),this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(' ')}}});oi.mergeOptions({attributionControl:!0}),oi.addInitHook((function(){this.options.attributionControl&&(new _i).addTo(this)}));var mi=function(t){return new _i(t)};ri.Layers=li,ri.Zoom=hi,ri.Scale=di,ri.Attribution=_i,ai.layers=ci,ai.zoom=ui,ai.scale=pi,ai.attribution=mi;var gi=E.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});gi.addTo=function(t,e){return t.addHandler(e,this),this};var vi={Events:S},yi=Zt.touch?"touchstart mousedown":"mousedown",bi=O.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){p(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(Re(this._dragStartTarget,yi,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(bi._dragging===this&&this.finishDrag(!0),$e(this._dragStartTarget,yi,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(this._enabled&&(this._moved=!1,!be(this._element,"leaflet-zoom-anim")))if(t.touches&&1!==t.touches.length)bi._dragging===this&&this.finishDrag();else if(!(bi._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(bi._dragging=this,this._preventOutline&&Ie(this._element),Oe(),se(),this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t,i=Ne(this._element);this._startPoint=new z(e.clientX,e.clientY),this._startPos=Ae(this._element),this._parentScale=Be(i);var n="mousedown"===t.type;Re(document,n?"mousemove":"touchmove",this._onMove,this),Re(document,n?"mouseup":"touchend touchcancel",this._onUp,this)}},_onMove:function(t){if(this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new z(e.clientX,e.clientY)._subtract(this._startPoint);(i.x||i.y)&&(Math.abs(i.x)+Math.abs(i.y)l&&(s=r,l=a);l>i&&(e[s]=1,Ai(t,e,i,n,s),Ai(t,e,i,s,o))}function Si(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;ne&&(i.push(t[n]),o=n);return oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function Di(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function Ni(t,e,i,n){var o,s=e.x,r=e.y,a=i.x-s,l=i.y-r,c=a*a+l*l;return c>0&&((o=((t.x-s)*a+(t.y-r)*l)/c)>1?(s=i.x,r=i.y):o>0&&(s+=a*o,r+=l*o)),a=t.x-s,l=t.y-r,n?a*a+l*l:new z(s,r)}function Bi(t){return!g(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Zi(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Bi(t)}function Ri(t,e){var i,n,o,s,r,a,l,c;if(!t||0===t.length)throw new Error("latlngs not passed");Bi(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);var h=$([0,0]),u=R(t);u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(h=Li(t));var d=t.length,p=[];for(i=0;in){l=(s-n)/o,c=[a.x-l*(a.x-r.x),a.y-l*(a.y-r.y)];break}var _=e.unproject(D(c));return $([_.lat+h.lat,_.lng+h.lng])}var ji={__proto__:null,simplify:Mi,pointToSegmentDistance:ki,closestPointOnSegment:Ci,clipSegment:Oi,_getEdgeIntersection:zi,_getBitCode:Ii,_sqClosestPointOnSegment:Ni,isFlat:Bi,_flat:Zi,polylineCenter:Ri},$i={project:function(t){return new z(t.lng,t.lat)},unproject:function(t){return new j(t.y,t.x)},bounds:new N([-180,-90],[180,90])},Fi={R:6378137,R_MINOR:6356752.314245179,bounds:new N([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-i*Math.log(Math.max(a,1e-10)),new z(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),l=0,c=.1;l<15&&Math.abs(c)>1e-7;l++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=c=Math.PI/2-2*Math.atan(r*e)-a;return new j(a*i,t.x*i/n)}},qi={__proto__:null,LonLat:$i,Mercator:Fi,SphericalMercator:U},Hi=i({},H,{code:"EPSG:3395",projection:Fi,transformation:function(){var t=.5/(Math.PI*Fi.R);return K(t,.5,-t,.5)}()}),Wi=i({},H,{code:"EPSG:4326",projection:$i,transformation:K(1/180,1,-1/180,.5)}),Ui=i({},q,{projection:$i,transformation:K(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0});q.Earth=H,q.EPSG3395=Hi,q.EPSG3857=G,q.EPSG900913=Y,q.EPSG4326=Wi,q.Simple=Ui;var Vi=O.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[r(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[r(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",(function(){e.off(i,this)}),this)}this.onAdd(e),this.fire("add"),e.fire("layeradd",{layer:this})}}});oi.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var e=r(t);return this._layers[e]||(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this},removeLayer:function(t){var e=r(t);return this._layers[e]?(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return r(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?g(t)?t:[t]:[]).length;ethis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()=2&&e[0]instanceof j&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){hn.prototype._setLatLngs.call(this,t),Bi(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Bi(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new z(e,e);if(t=new N(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;ot.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(c=!c);return c||hn.prototype._containsPoint.call(this,t,!0)}});function pn(t,e){return new dn(t,e)}var fn=Yi.extend({initialize:function(t,e){p(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=g(t)?t:t.features;if(o){for(e=0,i=o.length;e0&&o.push(o[0].slice()),o}function wn(t,e){return t.feature?i({},t.feature,{geometry:e}):xn(e)}function xn(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}var Ln={toGeoJSON:function(t){return wn(this,{type:"Point",coordinates:yn(this.getLatLng(),t)})}};function Pn(t,e){return new fn(t,e)}nn.include(Ln),ln.include(Ln),rn.include(Ln),hn.include({toGeoJSON:function(t){var e=!Bi(this._latlngs);return wn(this,{type:(e?"Multi":"")+"LineString",coordinates:bn(this._latlngs,e?1:0,!1,t)})}}),dn.include({toGeoJSON:function(t){var e=!Bi(this._latlngs),i=e&&!Bi(this._latlngs[0]),n=bn(this._latlngs,i?2:e?1:0,!0,t);return e||(n=[n]),wn(this,{type:(i?"Multi":"")+"Polygon",coordinates:n})}}),Ki.include({toMultiPoint:function(t){var e=[];return this.eachLayer((function(i){e.push(i.toGeoJSON(t).geometry.coordinates)})),wn(this,{type:"MultiPoint",coordinates:e})},toGeoJSON:function(t){var e=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===e)return this.toMultiPoint(t);var i="GeometryCollection"===e,n=[];return this.eachLayer((function(e){if(e.toGeoJSON){var o=e.toGeoJSON(t);if(i)n.push(o.geometry);else{var s=xn(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}})),i?wn(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var Tn=Pn,Mn=Vi.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=R(e),p(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(we(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){me(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ve(this._image),this},bringToBack:function(){return this._map&&ye(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=R(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:_e("img");we(e,"leaflet-image-layer"),this._zoomAnimated&&we(e,"leaflet-zoom-animated"),this.options.className&&we(e,this.options.className),e.onselectstart=c,e.onmousemove=c,e.onload=o(this.fire,this,"load"),e.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||""===this.options.crossOrigin)&&(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;Ce(this._image,i,e)},_reset:function(){var t=this._image,e=new N(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Ee(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){Te(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),kn=function(t,e,i){return new Mn(t,e,i)},Cn=Mn.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:_e("video");if(we(e,"leaflet-image-layer"),this._zoomAnimated&&we(e,"leaflet-zoom-animated"),this.options.className&&we(e,this.options.className),e.onselectstart=c,e.onmousemove=c,e.onloadeddata=o(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],s=0;s0?n:[e.src]}else{g(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var r=0;ro?(e.height=o+"px",we(t,s)):xe(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();Ee(this._container,e.add(i))},_adjustPan:function(){if(this.options.autoPan)if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning)this._autopanning=!1;else{var t=this._map,e=parseInt(fe(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,o=new z(this._containerLeft,-i-this._containerBottom);o._add(Ae(this._container));var s=t.layerPointToContainerPoint(o),r=D(this.options.autoPanPadding),a=D(this.options.autoPanPaddingTopLeft||r),l=D(this.options.autoPanPaddingBottomRight||r),c=t.getSize(),h=0,u=0;s.x+n+l.x>c.x&&(h=s.x+n-c.x+l.x),s.x-h-a.x<0&&(h=s.x-a.x),s.y+i+l.y>c.y&&(u=s.y+i-c.y+l.y),s.y-u-a.y<0&&(u=s.y-a.y),(h||u)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([h,u]))}},_getAnchor:function(){return D(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),In=function(t,e){return new zn(t,e)};oi.mergeOptions({closePopupOnClick:!0}),oi.include({openPopup:function(t,e,i){return this._initOverlay(zn,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),Vi.include({bindPopup:function(t,e){return this._popup=this._initOverlay(zn,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof Yi||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){if(this._popup&&this._map){Ye(t);var e=t.layer||t.target;this._popup._source!==e||e instanceof sn?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng)}},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var Dn=On.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){On.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){On.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=On.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=_e("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+r(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i,n=this._map,o=this._container,s=n.latLngToContainerPoint(n.getCenter()),r=n.layerPointToContainerPoint(t),a=this.options.direction,l=o.offsetWidth,c=o.offsetHeight,h=D(this.options.offset),u=this._getAnchor();"top"===a?(e=l/2,i=c):"bottom"===a?(e=l/2,i=0):"center"===a?(e=l/2,i=c/2):"right"===a?(e=0,i=c/2):"left"===a?(e=l,i=c/2):r.xthis.options.maxZoom||in&&this._retainParent(o,s,r,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new z(o,s);r.z=i+1;var a=this._tileCoordsToKey(r),l=this._tiles[a];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&o1)this._setView(t,i);else{for(var u=o.min.y;u<=o.max.y;u++)for(var d=o.min.x;d<=o.max.x;d++){var p=new z(d,u);if(p.z=this._tileZoom,this._isValidTile(p)){var f=this._tiles[this._tileCoordsToKey(p)];f?f.current=!0:r.push(p)}}if(r.sort((function(t,e){return t.distanceTo(s)-e.distanceTo(s)})),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var _=document.createDocumentFragment();for(d=0;di.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return R(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),o=n.add(i);return[e.unproject(n,t.z),e.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var e=this._tileCoordsToNwSe(t),i=new Z(e[0],e[1]);return this.options.noWrap||(i=this._map.wrapLatLngBounds(i)),i},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new z(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(me(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){we(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=c,t.onmousemove=c,Zt.ielt9&&this.options.opacity<1&&Te(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&M(o(this._tileReady,this,t,null,s)),Ee(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(Te(i.el,0),k(this._fadeFrame),this._fadeFrame=M(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(we(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Zt.ielt9||!this._map._fadeAnimated?M(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new z(this._wrapX?l(t.x,this._wrapX):t.x,this._wrapY?l(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new N(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});function jn(t){return new Rn(t)}var $n=Rn.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=p(this,e)).detectRetina&&Zt.retina&&e.maxZoom>0?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return Re(i,"load",o(this._tileOnLoad,this,e,i)),Re(i,"error",o(this._tileOnError,this,e,i)),(this.options.crossOrigin||""===this.options.crossOrigin)&&(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:Zt.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return m(this._url,i(e,this.options))},_tileOnLoad:function(t,e){Zt.ielt9?setTimeout(o(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return this.options.zoomReverse&&(t=e-t),t+this.options.zoomOffset},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)if(this._tiles[t].coords.z!==this._tileZoom&&((e=this._tiles[t].el).onload=c,e.onerror=c,!e.complete)){e.src=y;var i=this._tiles[t].coords;me(e),delete this._tiles[t],this.fire("tileabort",{tile:e,coords:i})}},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",y),Rn.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==y))return Rn.prototype._tileReady.call(this,t,e,i)}});function Fn(t,e){return new $n(t,e)}var qn=$n.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=p(this,e)).detectRetina&&Zt.retina?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,$n.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,n=B(i.project(e[0]),i.project(e[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===Wi?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=$n.prototype.getTileUrl.call(this,t);return a+f(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});function Hn(t,e){return new qn(t,e)}$n.WMS=qn,Fn.wms=Hn;var Wn=Vi.extend({options:{padding:.1},initialize:function(t){p(this,t),r(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),we(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),s=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));Zt.any3d?Ce(this._container,s,i):Ee(this._container,s)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new N(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Un=Wn.extend({options:{tolerance:0},getEvents:function(){var t=Wn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");Re(t,"mousemove",this._onMouseMove,this),Re(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Re(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){k(this._redrawRequest),delete this._ctx,me(this._container),$e(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){Wn.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=Zt.retina?2:1;Ee(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",Zt.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){Wn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[r(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[r(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){var e,i,n=t.options.dashArray.split(/[, ]+/),o=[];for(i=0;i')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Gn={_initContainer:function(){this._container=_e("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Kn("shape");we(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Kn("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;me(e),t.removeInteractiveTarget(e),delete this._layers[r(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e||(e=t._stroke=Kn("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=g(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=Kn("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){ve(t._container)},_bringToBack:function(t){ye(t._container)}},Yn=Zt.vml?Kn:X,Xn=Wn.extend({_initContainer:function(){this._container=Yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){me(this._container),$e(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!this._map._animatingZoom||!this._bounds){Wn.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Ee(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=Yn("path");t.options.className&&we(e,t.options.className),t.options.interactive&&we(e,"leaflet-interactive"),this._updateStyle(t),this._layers[r(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){me(t._path),t.removeInteractiveTarget(t._path),delete this._layers[r(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,J(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,o)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){ve(t._path)},_bringToBack:function(t){ye(t._path)}});function Jn(t){return Zt.svg||Zt.vml?new Xn(t):null}Zt.vml&&Xn.include(Gn),oi.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this._createRenderer()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var e=this._paneRenderers[t];return void 0===e&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e},_createRenderer:function(t){return this.options.preferCanvas&&Vn(t)||Jn(t)}});var Qn=dn.extend({initialize:function(t,e){dn.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=R(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});function to(t,e){return new Qn(t,e)}Xn.create=Yn,Xn.pointsToPath=J,fn.geometryToLayer=_n,fn.coordsToLatLng=gn,fn.coordsToLatLngs=vn,fn.latLngToCoords=yn,fn.latLngsToCoords=bn,fn.getFeature=wn,fn.asFeature=xn,oi.mergeOptions({boxZoom:!0});var eo=gi.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){Re(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){$e(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){me(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),se(),Oe(),this._startPoint=this._map.mouseEventToContainerPoint(t),Re(document,{contextmenu:Ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=_e("div","leaflet-zoom-box",this._container),we(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new N(this._point,this._startPoint),i=e.getSize();Ee(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(me(this._box),xe(this._container,"leaflet-crosshair")),re(),ze(),$e(document,{contextmenu:Ye,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var e=new Z(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});oi.addInitHook("addHandler","boxZoom",eo),oi.mergeOptions({doubleClickZoom:!0});var io=gi.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}});oi.addInitHook("addHandler","doubleClickZoom",io),oi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var no=gi.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new bi(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}we(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){xe(this._map._container,"leaflet-grab"),xe(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=R(this._map.options.maxBounds);this._offsetLimit=B(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),this._prunePositions(e)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}});oi.addInitHook("addHandler","scrollWheelZoom",so);var ro=600;oi.mergeOptions({tapHold:Zt.touchNative&&Zt.safari&&Zt.mobile,tapTolerance:15});var ao=gi.extend({addHooks:function(){Re(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){$e(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(clearTimeout(this._holdTimeout),1===t.touches.length){var e=t.touches[0];this._startPos=this._newPos=new z(e.clientX,e.clientY),this._holdTimeout=setTimeout(o((function(){this._cancel(),this._isTapValid()&&(Re(document,"touchend",Ge),Re(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))}),this),ro),Re(document,"touchend touchcancel contextmenu",this._cancel,this),Re(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function t(){$e(document,"touchend",Ge),$e(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),$e(document,"touchend touchcancel contextmenu",this._cancel,this),$e(document,"touchmove",this._onMove,this)},_onMove:function(t){var e=t.touches[0];this._newPos=new z(e.clientX,e.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){var i=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});i._simulated=!0,e.target.dispatchEvent(i)}});oi.addInitHook("addHandler","tapHold",ao),oi.mergeOptions({touchZoom:Zt.touch,bounceAtZoomLimits:!0});var lo=gi.extend({addHooks:function(){we(this._map._container,"leaflet-touch-zoom"),Re(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){xe(this._map._container,"leaflet-touch-zoom"),$e(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(n)._divideBy(2))),this._startDist=i.distanceTo(n),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),Re(document,"touchmove",this._onTouchMove,this),Re(document,"touchend touchcancel",this._onTouchEnd,this),Ge(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),k(this._animRequest);var a=o(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=M(a,this,!0),Ge(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,k(this._animRequest),$e(document,"touchmove",this._onTouchMove,this),$e(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});oi.addInitHook("addHandler","touchZoom",lo),oi.BoxZoom=eo,oi.DoubleClickZoom=io,oi.Drag=no,oi.Keyboard=oo,oi.ScrollWheelZoom=so,oi.TapHold=ao,oi.TouchZoom=lo,t.Bounds=N,t.Browser=Zt,t.CRS=q,t.Canvas=Un,t.Circle=ln,t.CircleMarker=rn,t.Class=E,t.Control=ri,t.DivIcon=Bn,t.DivOverlay=On,t.DomEvent=ii,t.DomUtil=Ze,t.Draggable=bi,t.Evented=O,t.FeatureGroup=Yi,t.GeoJSON=fn,t.GridLayer=Rn,t.Handler=gi,t.Icon=Ji,t.ImageOverlay=Mn,t.LatLng=j,t.LatLngBounds=Z,t.Layer=Vi,t.LayerGroup=Ki,t.LineUtil=ji,t.Map=oi,t.Marker=nn,t.Mixin=vi,t.Path=sn,t.Point=z,t.PolyUtil=Ti,t.Polygon=dn,t.Polyline=hn,t.Popup=zn,t.PosAnimation=ni,t.Projection=qi,t.Rectangle=Qn,t.Renderer=Wn,t.SVG=Xn,t.SVGOverlay=An,t.TileLayer=$n,t.Tooltip=Dn,t.Transformation=V,t.Util=C,t.VideoOverlay=Cn,t.bind=o,t.bounds=B,t.canvas=Vn,t.circle=cn,t.circleMarker=an,t.control=ai,t.divIcon=Zn,t.extend=i,t.featureGroup=Xi,t.geoJSON=Pn,t.geoJson=Tn,t.gridLayer=jn,t.icon=Qi,t.imageOverlay=kn,t.latLng=$,t.latLngBounds=R,t.layerGroup=Gi,t.map=si,t.marker=on,t.point=D,t.polygon=pn,t.polyline=un,t.popup=In,t.rectangle=to,t.setOptions=p,t.stamp=r,t.svg=Jn,t.svgOverlay=Sn,t.tileLayer=Fn,t.tooltip=Nn,t.transformation=K,t.version=e,t.videoOverlay=En;var co=window.L;t.noConflict=function(){return window.L=co,this},window.L=t}(io.exports)),io.exports}var oo,so,ro=no(),ao={exports:{}};oo||(oo=1,so=ao,function(t,e){so.exports=t(no()),void 0!==e&&e.L&&(e.L.Control.MiniMap=t(L),e.L.control.minimap=function(t,i){return new e.L.Control.MiniMap(t,i)})}((function(t){var e=t.Control.extend({includes:t.Evented?t.Evented.prototype:t.Mixin.Events,options:{position:"bottomright",toggleDisplay:!1,zoomLevelOffset:-5,zoomLevelFixed:!1,centerFixed:!1,zoomAnimation:!1,autoToggleDisplay:!1,minimized:!1,width:150,height:150,collapsedWidth:19,collapsedHeight:19,aimingRectOptions:{color:"#ff7800",weight:1,clickable:!1},shadowRectOptions:{color:"#000000",weight:1,clickable:!1,opacity:0,fillOpacity:0},strings:{hideText:"Hide MiniMap",showText:"Show MiniMap"},mapOptions:{}},initialize:function(e,i){t.Util.setOptions(this,i),this.options.aimingRectOptions.clickable=!1,this.options.shadowRectOptions.clickable=!1,this._layer=e},onAdd:function(e){this._mainMap=e,this._container=t.DomUtil.create("div","leaflet-control-minimap"),this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",t.DomEvent.disableClickPropagation(this._container),t.DomEvent.on(this._container,"mousewheel",t.DomEvent.stopPropagation);var i={attributionControl:!1,dragging:!this.options.centerFixed,zoomControl:!1,zoomAnimation:this.options.zoomAnimation,autoToggleDisplay:this.options.autoToggleDisplay,touchZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),scrollWheelZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),doubleClickZoom:this.options.centerFixed?"center":!this._isZoomLevelFixed(),boxZoom:!this._isZoomLevelFixed(),crs:e.options.crs};return i=t.Util.extend(this.options.mapOptions,i),this._miniMap=new t.Map(this._container,i),this._miniMap.addLayer(this._layer),this._mainMapMoving=!1,this._miniMapMoving=!1,this._userToggledDisplay=!1,this._minimized=!1,this.options.toggleDisplay&&this._addToggleButton(),this._miniMap.whenReady(t.Util.bind((function(){this._aimingRect=t.rectangle(this._mainMap.getBounds(),this.options.aimingRectOptions).addTo(this._miniMap),this._shadowRect=t.rectangle(this._mainMap.getBounds(),this.options.shadowRectOptions).addTo(this._miniMap),this._mainMap.on("moveend",this._onMainMapMoved,this),this._mainMap.on("move",this._onMainMapMoving,this),this._miniMap.on("movestart",this._onMiniMapMoveStarted,this),this._miniMap.on("move",this._onMiniMapMoving,this),this._miniMap.on("moveend",this._onMiniMapMoved,this)}),this)),this._container},addTo:function(e){t.Control.prototype.addTo.call(this,e);var i=this.options.centerFixed||this._mainMap.getCenter();return this._miniMap.setView(i,this._decideZoom(!0)),this._setDisplay(this.options.minimized),this},onRemove:function(t){this._mainMap.off("moveend",this._onMainMapMoved,this),this._mainMap.off("move",this._onMainMapMoving,this),this._miniMap.off("moveend",this._onMiniMapMoved,this),this._miniMap.removeLayer(this._layer)},changeLayer:function(t){this._miniMap.removeLayer(this._layer),this._layer=t,this._miniMap.addLayer(this._layer)},_addToggleButton:function(){this._toggleDisplayButton=this.options.toggleDisplay?this._createButton("",this._toggleButtonInitialTitleText(),"leaflet-control-minimap-toggle-display leaflet-control-minimap-toggle-display-"+this.options.position,this._container,this._toggleDisplayButtonClicked,this):void 0,this._toggleDisplayButton.style.width=this.options.collapsedWidth+"px",this._toggleDisplayButton.style.height=this.options.collapsedHeight+"px"},_toggleButtonInitialTitleText:function(){return this.options.minimized?this.options.strings.showText:this.options.strings.hideText},_createButton:function(e,i,n,o,s,r){var a=t.DomUtil.create("a",n,o);a.innerHTML=e,a.href="#",a.title=i;var l=t.DomEvent.stopPropagation;return t.DomEvent.on(a,"click",l).on(a,"mousedown",l).on(a,"dblclick",l).on(a,"click",t.DomEvent.preventDefault).on(a,"click",s,r),a},_toggleDisplayButtonClicked:function(){this._userToggledDisplay=!0,this._minimized?this._restore():this._minimize()},_setDisplay:function(t){t!==this._minimized&&(this._minimized?this._restore():this._minimize())},_minimize:function(){this.options.toggleDisplay?(this._container.style.width=this.options.collapsedWidth+"px",this._container.style.height=this.options.collapsedHeight+"px",this._toggleDisplayButton.className+=" minimized-"+this.options.position,this._toggleDisplayButton.title=this.options.strings.showText):this._container.style.display="none",this._minimized=!0,this._onToggle()},_restore:function(){this.options.toggleDisplay?(this._container.style.width=this.options.width+"px",this._container.style.height=this.options.height+"px",this._toggleDisplayButton.className=this._toggleDisplayButton.className.replace("minimized-"+this.options.position,""),this._toggleDisplayButton.title=this.options.strings.hideText):this._container.style.display="block",this._minimized=!1,this._onToggle()},_onMainMapMoved:function(t){if(this._miniMapMoving)this._miniMapMoving=!1;else{var e=this.options.centerFixed||this._mainMap.getCenter();this._mainMapMoving=!0,this._miniMap.setView(e,this._decideZoom(!0)),this._setDisplay(this._decideMinimized())}this._aimingRect.setBounds(this._mainMap.getBounds())},_onMainMapMoving:function(t){this._aimingRect.setBounds(this._mainMap.getBounds())},_onMiniMapMoveStarted:function(t){if(!this.options.centerFixed){var e=this._aimingRect.getBounds(),i=this._miniMap.latLngToContainerPoint(e.getSouthWest()),n=this._miniMap.latLngToContainerPoint(e.getNorthEast());this._lastAimingRectPosition={sw:i,ne:n}}},_onMiniMapMoving:function(e){this.options.centerFixed||!this._mainMapMoving&&this._lastAimingRectPosition&&(this._shadowRect.setBounds(new t.LatLngBounds(this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.sw),this._miniMap.containerPointToLatLng(this._lastAimingRectPosition.ne))),this._shadowRect.setStyle({opacity:1,fillOpacity:.3}))},_onMiniMapMoved:function(t){this._mainMapMoving?this._mainMapMoving=!1:(this._miniMapMoving=!0,this._mainMap.setView(this._miniMap.getCenter(),this._decideZoom(!1)),this._shadowRect.setStyle({opacity:0,fillOpacity:0}))},_isZoomLevelFixed:function(){var t=this.options.zoomLevelFixed;return this._isDefined(t)&&this._isInteger(t)},_decideZoom:function(t){if(this._isZoomLevelFixed())return t?this.options.zoomLevelFixed:this._mainMap.getZoom();if(t)return this._mainMap.getZoom()+this.options.zoomLevelOffset;var e,i=this._miniMap.getZoom()-this._mainMap.getZoom(),n=this._miniMap.getZoom()-this.options.zoomLevelOffset;return i>this.options.zoomLevelOffset&&this._mainMap.getZoom()this._lastMiniMapZoom?(e=this._mainMap.getZoom()+1,this._miniMap.setZoom(this._miniMap.getZoom()-1)):e=this._mainMap.getZoom():e=n,this._lastMiniMapZoom=this._miniMap.getZoom(),e},_decideMinimized:function(){return this._userToggledDisplay?this._minimized:this.options.autoToggleDisplay?!!this._mainMap.getBounds().contains(this._miniMap.getBounds()):this._minimized},_isInteger:function(t){return"number"==typeof t},_isDefined:function(t){return void 0!==t},_onToggle:function(){t.Util.requestAnimFrame((function(){t.DomEvent.on(this._container,"transitionend",this._fireToggleEvents,this),t.Browser.any3d||t.Util.requestAnimFrame(this._fireToggleEvents,this)}),this)},_fireToggleEvents:function(){t.DomEvent.off(this._container,"transitionend",this._fireToggleEvents,this);var e={minimized:this._minimized};this.fire(this._minimized?"minimize":"restore",e),this.fire("toggle",e)}});return t.Map.mergeOptions({miniMapControl:!1}),t.Map.addInitHook((function(){this.options.miniMapControl&&(this.miniMapControl=(new e).addTo(this))})),e}),window));var lo=(t,e)=>Mt(e,!1),co=Qe(' ',1),ho=(t,e)=>Mt(e,!0),uo=Qe(''),po=Qe('
');Ke(["click"]);var fo=Qe('
',1);function _o(t,e){F(e,!0);let i,n=Bi(e,"display_minimap",3,!1),o=Bi(e,"current_result",3,null),s=Bi(e,"position_marker",3,null),r=[];function a(){Pn.viewboxStr=function(t){var e=t.getBounds(),i=e.getWest(),n=e.getEast();return n-i>=360&&(i=t.getCenter().lng-179.999,n=t.getCenter().lng+179.999),n=ro.latLng(77,n).wrap().lng,[(i=ro.latLng(77,i).wrap().lng).toFixed(5),e.getNorth().toFixed(5),n.toFixed(5),e.getSouth().toFixed(5)].join(",")}(i),Pn.center=i.getCenter(),Pn.zoom=i.getZoom()}function l(t){return function(t){const e=Nominatim_Config.Map_Tile_Attribution;if(i=new ro.map(t,{attributionControl:!1,scrollWheelZoom:!0,touchZoom:!1,center:ro.latLng(Nominatim_Config.Map_Default_Lat,Nominatim_Config.Map_Default_Lon),zoom:Nominatim_Config.Map_Default_Zoom}),void 0!==Nominatim_Config.Map_Default_Bounds&&Nominatim_Config.Map_Default_Bounds&&i.fitBounds(Nominatim_Config.Map_Default_Bounds),e&&e.length&&ro.control.attribution({prefix:'Leaflet'}).addTo(i),a(),ro.control.scale().addTo(i),ro.tileLayer(Nominatim_Config.Map_Tile_URL,{attribution:e}).addTo(i),n()){let t=new ro.TileLayer(Nominatim_Config.Map_Tile_URL,{minZoom:0,maxZoom:13,attribution:e});new ro.Control.MiniMap(t,{toggleDisplay:!0}).addTo(i)}i.on("move",a),i.on("mousemove",(t=>{Pn.mousePos=t.latlng})),i.on("click",(t=>{Pn.lastClick=t.latlng}))}(t),c(s(),o()),{destroy:()=>{Pn.reset(),i.remove()}}}function c(t,e){if(!i)return;if(i&&r.forEach((function(t){i.removeLayer(t)})),t){let e=ro.circleMarker(t,{radius:5,weight:2,fillColor:"#ff7800",color:"red",opacity:.75,zIndexOffset:100,clickable:!1});e.bindTooltip(`Search (${t[0]},${t[1]})`).openTooltip(),e.addTo(i),r.push(e)}var n=new URLSearchParams(window.location.search).get("viewbox");if(n){let t=n.split(","),e=ro.latLngBounds([t[1],t[0]],[t[3],t[2]]),o=ro.rectangle(e,{color:"#69d53e",weight:3,dashArray:"5 5",opacity:.8,fill:!1,interactive:!1});i.addLayer(o),r.push(o)}if(!e)return;let o=e.centroid?e.centroid.coordinates[1]:e.lat,s=e.centroid?e.centroid.coordinates[0]:e.lon,a=e.geometry||e.geojson,l=e.entrances;if(o&&s){let e=ro.circleMarker([o,s],{radius:10,weight:2,fillColor:"#ff7800",color:"blue",opacity:.75});t&&e.bindTooltip("Result").openTooltip(),i.addLayer(e),r.push(e)}if(a){var c=ro.geoJson({type:"FeatureCollection",features:[{type:"Feature",geometry:a,properties:{}}]},{style:()=>({interactive:!1,color:"blue"})});i.addLayer(c),r.push(c),i.fitBounds(c.getBounds())}else o&&s&&t?i.fitBounds([[o,s],t],{padding:[50,50]}):o&&s&&i.setView([o,s],10);l&&l.forEach(((t,e)=>{let n=ro.circleMarker([t.lat,t.lon],{radius:5,weight:2,fillColor:"#ff7800",color:"red",opacity:.75});n.bindTooltip(`Entrance ${e+1} (type=${t.type})`).openTooltip(),i.addLayer(n),r.push(n)}))}Kt((()=>{c(s(),o())}));var h=fo(),u=jt(h);!function(t,e,i){Yt((()=>{var n=Re((()=>e(t,i?.())||{}));if(n?.destroy)return()=>n.destroy()}))}(u,(t=>l?.(t))),function(t,e){F(e,!0);let i=Tt(!1);const n=it((()=>`https://openstreetmap.org/#map=${Pn.zoom}/${Pn.center.lat.toFixed(5)}/${Pn.center.lng.toFixed(5)}`));function o(t){return t?`${t.lat.toFixed(5)},${t.lng.toFixed(5)}`:"-"}var s=po(),r=Rt(s),a=t=>{var e=co(),s=jt(e),r=Rt(s),a=$t(r),l=$t(a,3),c=$t(l,2),h=$t(c,2),u=$t(h,2);Rt($t(s,2)).__click=[lo,i],Xt(((t,e,i)=>{ni(r,`map center: ${t??""} `),Ci(a,"href",Be(n)),ni(l,` map zoom: ${Pn.zoom??""} `),ni(c,` viewbox: ${Pn.viewboxStr??""} `),ni(h,` last click: ${e??""} `),ni(u,` mouse position: ${i??""}`)}),[()=>o(Pn.center),()=>o(Pn.lastClick),()=>o(Pn.mousePos)]),ii(t,e)},l=t=>{var e=uo();e.__click=[ho,i],ii(t,e)};ri(r,(t=>{Be(i)?t(a):t(l,!1)})),ii(t,s),q()}($t(u,2),{}),ii(t,h),q()}var mo=Qe('
',1);function go(t,e){F(e,!0);const i=t=>{!function(t,e){F(e,!0);const i=t=>{var e=Zn(),i=$t(Rt(e),2),n=$t(i,2),o=$t(n,2),s=$t(o,2),l=$t(s,2);Ci(l,"pattern","^[a-zA-Z]{2}(,[a-zA-Z]{2})*$");var c=$t(l,2),h=$t(c,2),u=$t(h,2);Xt((()=>{Mi(i,Be(a)?Pn.viewboxStr:""),Mi(n,0===r().dedupe?0:1),Mi(o,r().bounded?1:""),Mi(s,r()["accept-language"]||""),Mi(l,r().countrycodes||""),Mi(c,r().limit||""),Mi(h,r().polygon_threshold||""),Mi(u,r().layer||"")})),ii(t,e)},n=t=>{var e=Rn(),n=jt(e),o=Rt(n),s=$t(n,2);i(s),Xt((()=>Mi(o,r().q||""))),ii(t,e)},o=t=>{var e=jn(),n=jt(e),o=Rt(n),s=$t(n,2),a=Rt(s),l=$t(s,2),c=Rt(l),h=$t(l,2),u=Rt(h),d=$t(h,2),p=Rt(d),f=$t(d,2),_=Rt(f),m=$t(f,2);i(m),Xt((()=>{Mi(o,r().street||""),Mi(a,r().city||""),Mi(c,r().county||""),Mi(u,r().state||""),Mi(p,r().country||""),Mi(_,r().postalcode||"")})),ii(t,e)};let s=Bi(e,"bStructuredSearch",3,!1),r=Bi(e,"api_request_params",19,(()=>({}))),a=Tt(At(r().viewbox||!1));var l=Fn(),c=jt(l),h=Rt(c),u=Rt(h);let d;var p=Rt($t(h,2));let f;var _=$t(c,2),m=Rt(_);let g;In(Rt(m),{page:"search",get content(){return n}});var v=$t(m,2);let y;In(Rt(v),{page:"search",get content(){return o}});var b=$t(_,2),w=$t(Rt(b),2),x=Rt(w),L=Rt(x),P=$t(Rt(L),2);P.__change=[$n,a];var T=$t(x,2),M=Rt(T),k=$t(Rt(M),2);k.__change=[Dn];var C=$t(T,2),E=Rt(C),A=$t(Rt(E),2);A.__change=[Nn];var S=$t(C,2),O=$t(Rt(S),2);O.__change=[Bn];var z=$t(S,2),I=$t(Rt(z),2);I.__change=[Bn];var D=$t(z,2),N=$t(Rt(D),2);N.__change=[Bn];var B=$t(D,2),Z=$t(Rt(B),2);Ci(Z,"pattern","^[a-zA-Z]{2}(,[a-zA-Z]{2})*$"),Z.__change=[Bn];var R=$t(B,2),j=$t(Rt(R),2);j.__change=[Bn],Xt(((t,e,i,n)=>{d=vi(u,0,"nav-link svelte-1c3z3yb",null,d,t),f=vi(p,0,"nav-link svelte-1c3z3yb",null,f,e),g=vi(m,0,"tab-pane",null,g,i),y=vi(v,0,"tab-pane",null,y,n),ki(P,r().viewbox),ki(k,!!r().bounded),ki(A,0===r().dedupe?0:1),Mi(O,r().limit||""),Mi(I,r().polygon_threshold||""),Mi(N,r()["accept-language"]||""),Mi(Z,r().countrycodes||""),Mi(j,r().layer||"")}),[()=>({active:!s()}),()=>({active:s()}),()=>({active:!s()}),()=>({active:s()})]),ii(t,l),q()}(t,{get api_request_params(){return Be(s)},bStructuredSearch:n})};let n,o=Tt(void 0),s=Tt(void 0),r=Tt(void 0);Kt((()=>{if("search"===nn.page.tab){const t=nn.page.params;Re((()=>function(t){Ki(),Mt(s,{q:t.get("q"),street:t.get("street"),city:t.get("city"),county:t.get("county"),state:t.get("state"),country:t.get("country"),postalcode:t.get("postalcode"),polygon_geojson:Nominatim_Config.Search_AreaPolygons?1:0,viewbox:t.get("viewbox"),bounded:t.get("bounded"),dedupe:t.has("dedupe")&&"1"!==t.get("dedupe")?0:1,"accept-language":t.get("accept-language"),countrycodes:t.get("countrycodes"),layer:t.get("layer"),limit:t.get("limit"),polygon_threshold:t.get("polygon_threshold"),exclude_place_ids:t.get("exclude_place_ids"),format:"jsonv2"});let e=Be(s).street||Be(s).city||Be(s).county||Be(s).state||Be(s).country||Be(s).postalcode;Be(s).q||e?nn.fetchFromApi("search",Be(s),(function(t){Mt(o,t,!0),e?(Ki("Result for "+[Be(s).street,Be(s).city,Be(s).county,Be(s).state,Be(s).country,Be(s).postalcode].filter((t=>t&&t.length>1)).join(", ")),document.querySelector(".nav-tabs a[href='#structured']").click(),document.querySelector("input[name=street]").focus()):(Ki("Result for "+Be(s).q),document.querySelector("input[name=q]").focus())})):Mt(o,void 0)}(t)))}}));var a=mo(),l=jt(a);En(l,{get subheader(){return i}});var c=Rt($t(l,2));to(Rt(c),{get results(){return Be(o)},reverse_search:!1,get current_result(){return Be(r)},set current_result(t){Mt(r,t,!0)}}),_o(Rt($t(c,2)),{get current_result(){return Be(r)},display_minimap:!0}),ii(t,a),q()}function vo(t){var e=t.target.value.split(/,|%2C/);2===e.length&&(document.querySelector("input[name=lat]").value=L.Util.trim(e[0]),document.querySelector("input[name=lon]").value=L.Util.trim(e[1]))}function yo(t){document.querySelector("input[name="+t.target.dataset.apiParam+"]").value=t.target.value}function bo(t,e,i,n){t.preventDefault(),t.stopPropagation(),nn.refreshPage("reverse",new URLSearchParams({lat:e()||"",lon:i()||"",zoom:n()}))}var wo=Qe(""),xo=Qe('
',1),Lo=Qe('
Advanced options
',1);Ke(["change","click"]);var Po=Qe('
',1);function To(t,e){F(e,!0);const i=t=>{{let e=it((()=>Be(o)?.lat)),i=it((()=>Be(o)?.lon)),n=it((()=>Be(o)?.zoom));!function(t,e){F(e,!0);const i=t=>{var e=xo(),i=$t(jt(e),2),a=Rt(i);a.__change=[vo];var l=$t(i,2);Rt(l).__click=[bo,o,n,s];var c=$t(l,4),h=Rt(c),u=$t(c,4),d=Rt(u),p=Rt(d);p.value=p.__value="",li($t(p),17,Qi,ai,((t,e,i)=>{var n=wo(),o=Rt(n);n.value=n.__value=i,Xt((()=>ni(o,`${i} - ${Be(e)??""}`))),ii(t,n)}));var f=$t(u,2);Xt((()=>Mi(f,r().layer||""))),Si(a,n),Si(h,o),xi(d,s),ii(t,e)};let n=Bi(e,"lat",7,""),o=Bi(e,"lon",7,""),s=Bi(e,"zoom",7,""),r=Bi(e,"api_request_params",19,(()=>({})));Kt((()=>{const t=Pn.lastClick;t&&nn.refreshPage("reverse",new URLSearchParams({lat:t.lat,lon:t.lng,zoom:s()}))}));var a=Lo(),l=jt(a);In(l,{page:"reverse",get content(){return i}});var c=$t(l,2),h=$t(Rt(c),2),u=Rt(h),d=$t(Rt(u),2);d.__change=[yo],Xt((()=>Mi(d,r().layer||""))),ii(t,a),q()}(t,{get lat(){return Be(e)},get lon(){return Be(i)},get zoom(){return Be(n)},get api_request_params(){return Be(o)}})}};let n=Tt(void 0),o=Tt(void 0),s=Tt(void 0),r=Tt(void 0);Kt((()=>{if("reverse"===nn.page.tab){const t=nn.page.params;Re((()=>{return e=t,Ki(),Mt(o,{lat:e.get("lat"),lon:e.get("lon"),zoom:e.get("zoom")>1?Number(e.get("zoom")):Number(Nominatim_Config.Reverse_Default_Search_Zoom),layer:e.get("layer"),format:"jsonv2"}),void(Be(o).lat&&Be(o).lon?(Mt(r,[Be(o).lat,Be(o).lon],!0),nn.fetchFromApi("reverse",Be(o),(function(t){t&&!t.error?Mt(n,[t]):Mt(n,[]),Ki("Reverse result for "+Be(o).lat+","+Be(o).lon),document.querySelector("input[name=lat]").focus()}))):Mt(n,void 0));var e}))}}));var a=Po(),l=jt(a);En(l,{get subheader(){return i}});var c=Rt($t(l,2));to(Rt(c),{get results(){return Be(n)},reverse_search:!0,get current_result(){return Be(s)},set current_result(t){Mt(s,t,!0)}}),_o(Rt($t(c,2)),{get current_result(){return Be(s)},get position_marker(){return Be(r)},display_minimap:!0}),ii(t,a),q()}var Mo=Qe('
OSM type+id (N123, n123, W123, w123, R123, r123),\n Place id (1234) or\n URL (https://openstreetmap.org/way/123)',1);var ko=Qe("Local nameTypeOSMAddress rankAdmin levelDistance");function Co(t){ii(t,ko())}var Eo=Qe(" ");function Ao(t,e){F(e,!0);const i=it((()=>Xi(e.osmType,!1))),n=it((()=>`https://www.openstreetmap.org/${Be(i)}/${e.osmId}`));var o=ei(),s=jt(o),r=t=>{var o=Eo(),s=Rt(o);Xt((()=>{Ci(o,"href",Be(n)),ni(s,`${Be(i)??""} ${e.osmId??""}`)})),ii(t,o)};ri(s,(t=>{Be(i)&&t(r)})),ii(t,o),q()}var So=Qe('No Name'),Oo=Qe(' ');function zo(t,e){F(e,!0);let i=Bi(e,"bMarkUnusedLines",3,!1);const n=it((()=>e.addressLine.isaddress)),o=it((()=>Nominatim_Config.Reverse_Only));var s=Oo();let r;var a=Rt(s),l=Rt(a),c=t=>{var i=ti();Xt((()=>ni(i,e.addressLine.localname))),ii(t,i)},h=t=>{ii(t,So())};ri(l,(t=>{e.addressLine.localname?t(c):t(h,!1)}));var u=$t(a),d=Rt(u),p=$t(u);Ao(Rt(p),{get osmType(){return e.addressLine.osm_type},get osmId(){return e.addressLine.osm_id}});var f=$t(p),_=Rt(f),m=$t(f),g=Rt(m),v=$t(m);!function(t,e,i=!1,n=!1){var o=t,s="";Xt((()=>{var t=ge;if(s!==(s=e()??"")&&(null!==t.nodes_start&&(ne(t.nodes_start,t.nodes_end),t.nodes_start=t.nodes_end=null),""!==s)){var r=s+"";i?r=`${r}`:n&&(r=`${r}`);var a=Xe(r);if((i||n)&&(a=Bt(a)),Je(Bt(a),a.lastChild),i||n)for(;Bt(a);)o.before(Bt(a));else o.before(a)}}))}(Rt(v),(()=>{return t=e.addressLine.distance,e.bDistanceInMeters?t<1?"0":'~'+(t>=1e3?Math.round(t/1e3,1)+" km":Math.round(t,0)+" m")+"":0===t?"0":'~'+Math.round(1e3*t,4)/1e3+"";var t}));var y=Rt($t(v)),b=t=>{Wn(t,{get feature(){return e.addressLine}})},w=t=>{var i=ei(),n=jt(i),s=t=>{{let i=it((()=>({country:e.addressLine.localname})));an(t,{page:"search",text:"search by name",get params_hash(){return Be(i)}})}},r=t=>{var i=ei(),n=jt(i),s=t=>{{let i=it((()=>({postalcode:e.addressLine.localname,country:e.sCountryCode})));an(t,{page:"search",text:"search by name",get params_hash(){return Be(i)}})}};ri(n,(t=>{Be(o)||"postcode"!==e.addressLine.type||t(s)}),!0),ii(t,i)};ri(n,(t=>{!Be(o)&&e.addressLine.type.match(/^country/)?t(s):t(r,!1)}),!0),ii(t,i)};ri(y,(t=>{e.addressLine.osm_id?t(b):t(w,!1)})),Xt(((t,i,n)=>{r=vi(s,0,"svelte-1xlslzu",null,r,t),ni(d,i),ni(_,e.addressLine.rank_address),ni(g,n)}),[()=>({notused:i()&&!Be(n)}),()=>{return t=e.addressLine,i=t.class+":"+t.type,t.type&&"administrative"===t.type&&t.place_type&&(i=i+" ("+t.place_type+")"),Yi(i);var t,i},()=>{return(t=e.addressLine.admin_level)&&t<15?t:"";var t}]),ii(t,s),q()}function Io(t){t.preventDefault(),t.stopPropagation(),document.getElementById("postcode-hint").style.display="block"}function Do(t){t.stopPropagation(),document.getElementById("postcode-hint").style.display="none"}var No=Qe('

Additionally supplemented by Ordnance Survey Code-Point® Open data. UK Postcode data for Nominatim

'),Bo=Qe("

Additionally supplemented by data derived from US Census (TIGER) data.

"),Zo=Qe('(how?)

Nightly calculated from nearby places having this postcode. Documentation.

You can search for those with an Overpass Turbo query.

How Nominatim uses postcodes.

',1);Ke(["click"]);var Ro=Qe('
');function jo(t,e){F(e,!0);var i=ei();li(jt(i),17,(()=>Object.keys(e.items)),ai,((t,i)=>{var n=Ro(),o=Rt(n),s=Rt(o),r=$t(o);Xt((()=>{ni(s,e.items[Be(i)]),ni(r,` (${Be(i)??""})`)})),ii(t,n)})),ii(t,i),q()}var $o=Qe(' ');var Fo=Qe('No Name'),qo=Qe('Admin Level '),Ho=Qe('Importance '),Wo=Qe('Wikipedia Calculated'),Uo=Qe(" ",1),Vo=Qe('

Name
Type
Last Updated
Search Rank
Address Rank
Coverage
Centre Point (lat,lon)
OSM
Place Id on this server)
Computed Postcode
Address Tags
Extra Tags
',1),Ko=Qe('
'),Go=Qe('
'),Yo=Qe(' '),Xo=Qe('
Entrance TypeOSMExtra Tags
'),Jo=Qe("

Place does not have entrances

"),Qo=Qe(" "),ts=Qe(" "),es=Qe(" "),is=Qe('

Address Keywords

',1),ns=Qe('

Name Keywords

',1),os=Qe("

Place has no keywords

"),ss=Qe('display keywords'),rs=Qe('

Keywords

',1),as=Qe('

',1),ls=Qe("

There are more child objects which are not shown.

"),cs=Qe(" ",1),hs=Qe("

Place is not parent of other places

"),us=Qe('display child places'),ds=Qe('

Address

Linked Places

Entrances

Parent Of

'),ps=Qe('
',1);function fs(t,e){F(e,!0);const i=t=>{!function(t,e){F(e,!0);let i=Bi(e,"api_request_params",19,(()=>({})));var n=Mo(),o=jt(n),s=Rt(o),r=Rt(s),a=Rt(r);Xt((()=>Mi(a,(i().osmtype||"")+(i().osmid||"")+(i().place_id||"")))),Ve("submit",o,(function(t){t.preventDefault();let e=t.target.querySelector("input[type=edit]").value.trim(),i=e.match(/^\s*([NWR])(-?\d+)\s*$/i)||e.match(/\/(relation|way|node)\/(-?\d+)\s*$/);const n={};if(i)n.osmtype=i[1].charAt(0).toUpperCase(),n.osmid=i[2];else{if(!e.match(/^\d+$/))return void alert("invalid input");n.place_id=e}nn.refreshPage("details",new URLSearchParams(n))})),ii(t,n),q()}(t,{get api_request_params(){return Be(s)}})};let n=Tt(void 0),o=Tt(void 0),s=Tt(void 0),r=Tt(!1);Kt((()=>{if("details"===nn.page.tab){const t=nn.page.params;Re((()=>{var e;Mt(s,{place_id:(e=t).get("place_id"),osmtype:e.get("osmtype"),osmid:e.get("osmid"),class:e.get("class"),keywords:e.get("keywords"),addressdetails:1,entrances:1,hierarchy:"1"===e.get("hierarchy")?1:0,group_hierarchy:1,polygon_geojson:1,format:"json"}),Mt(r,!1),Be(s).place_id||Be(s).osmtype&&Be(s).osmid?(Be(s).place_id?Ki("Details for "+Be(s).place_id):Ki("Details for "+Be(s).osmtype+Be(s).osmid),nn.fetchFromApi("details",Be(s),(function(t){window.scrollTo(0,0),Mt(r,!0),Mt(n,t&&!t.error?t:void 0,!0)}))):Mt(n,void 0),Mt(o,window.location.search,!0)}))}}));const a=Nominatim_Config.Reverse_Only;var l=ps(),c=jt(l);En(c,{get subheader(){return i}});var h=Rt($t(c,2)),u=t=>{var e=Vo(),i=jt(e),o=Rt(i),s=Rt(o),r=Rt(s);Wn(Rt($t(r)),{get feature(){return Be(n)},text:"link to this page"}),Kn(Rt($t(o,2)),{get aPlace(){return Be(n)}});var a=Rt($t(i,2)),l=Rt(a),c=Rt(l),h=Rt(c),u=$t(Rt(h)),d=Rt(u),p=t=>{jo(t,{get items(){return Be(n).names}})},f=t=>{ii(t,Fo())};ri(d,(t=>{Be(n).names&&"object"==typeof Be(n).names&&Object.keys(Be(n).names).length?t(p):t(f,!1)}));var _=$t(h),m=$t(Rt(_)),g=Rt(m),v=$t(_),y=$t(Rt(v)),b=Rt(y),w=$t(v),x=t=>{var e=qo(),i=$t(Rt(e)),o=Rt(i);Xt((()=>ni(o,Be(n).admin_level))),ii(t,e)};ri(w,(t=>{(function(t){return"boundary"===t.category&&"administrative"===t.type})(Be(n))&&t(x)}));var L=$t(w),P=$t(Rt(L)),T=Rt(P),M=$t(L),k=$t(Rt(M)),C=Rt(k),E=$t(M),A=t=>{var e=Ho(),i=$t(Rt(e)),o=Rt(i),s=$t(o),r=t=>{ii(t,ti("(estimated)"))};ri(s,(t=>{Be(n).importance||t(r)})),Xt((()=>ni(o,`${Be(n).calculated_importance??""} `))),ii(t,e)};ri(E,(t=>{Be(n).calculated_importance&&t(A)}));var S=$t(E),O=$t(Rt(S)),z=Rt(O),I=$t(S),D=$t(Rt(I)),N=Rt(D),B=$t(I),Z=$t(Rt(B));Ao(Rt(Z),{get osmType(){return Be(n).osm_type},get osmId(){return Be(n).osm_id}});var R=$t(B),j=$t(Rt(R)),$=Rt(j),H=$t(R),W=t=>{var e=Wo(),i=$t(Rt(e));!function(t,e){F(e,!0);const i=it((()=>e.wikipedia?e.wikipedia.split(":",2):null)),n=it((()=>`https://${Yi(Be(i)[0])}.wikipedia.org/wiki/${Yi(Be(i)[1])}`));var o=ei(),s=jt(o),r=t=>{var i=$o(),o=Rt(i);Xt((()=>{Ci(i,"href",Be(n)),ni(o,e.wikipedia)})),ii(t,i)};ri(s,(t=>{e.wikipedia&&t(r)})),ii(t,o),q()}(Rt(i),{get wikipedia(){return Be(n).calculated_wikipedia}}),ii(t,e)};ri(H,(t=>{Be(n).calculated_wikipedia&&t(W)}));var U=$t(H),V=$t(Rt(U)),K=Rt(V),G=t=>{var e=Uo(),i=jt(e),o=$t(i);{let t=it((()=>Be(n).calculated_postcode||Be(n).names.ref));!function(t,e){F(e,!0);const i=it((()=>`\n // Based on the map bounds, you can zoom out and rerun the query\n\n [timeout:30]; // in seconds\n\n // we define a shortcut\n // https://wiki.openstreetmap.org/wiki/Overpass_turbo/Extended_Overpass_Turbo_Queries\n {{postcode=${e.postcode}}}\n\n (\n node["addr:postcode"="{{postcode}}"]({{bbox}});\n way["addr:postcode"="{{postcode}}"]({{bbox}});\n relation["addr:postcode"="{{postcode}}"]({{bbox}});\n\n node["postal_code"="{{postcode}}"]({{bbox}});\n way["postal_code"="{{postcode}}"]({{bbox}});\n relation["postal_code"="{{postcode}}"]({{bbox}});\n );\n\n out body;\n >;\n out skel qt;\n `.replace(/^ {4}/gm,""))),n=it((()=>"https://overpass-turbo.eu/?Q="+encodeURIComponent(Be(i))+"&C="+encodeURIComponent([e.lat,e.lon,15].join(";"))+"&R"));var o=Zo(),s=$t(jt(o));s.__click=[Io];var r=Rt($t(s,2));r.__click=[Do];var a=$t(r,4),l=$t(Rt(a)),c=$t(a,4),h=t=>{ii(t,No())};ri(c,(t=>{"gb"===e.country_code&&t(h)}));var u=$t(c,2),d=t=>{ii(t,Bo())};ri(u,(t=>{"us"===e.country_code&&t(d)})),Xt((()=>Ci(l,"href",Be(n)))),ii(t,o),q()}(o,{get postcode(){return Be(t)},get lat(){return Be(n).centroid.coordinates[1]},get lon(){return Be(n).centroid.coordinates[0]},get country_code(){return Be(n).country_code}})}Xt((()=>ni(i,`${(Be(n).calculated_postcode||Be(n).names.ref)??""} `))),ii(t,e)};ri(K,(t=>{!Be(n).calculated_postcode&&"postcode"!==Be(n).type&&Be(n).osm_id||t(G)}));var Y=$t(U),X=$t(Rt(Y));jo(Rt(X),{get items(){return Be(n).addresstags}});var J=$t(Y),Q=$t(Rt(J));jo(Rt(Q),{get items(){return Be(n).extratags}});var tt=Rt($t(a,2));_o(Rt(tt),{get current_result(){return Be(n)}}),Xt(((t,e,i)=>{ni(r,`${t??""} `),ni(g,`${Be(n).category??""}:${Be(n).type??""}`),ni(b,Be(n).indexed_date),ni(T,Be(n).rank_search),ni(C,`${Be(n).rank_address??""} (${e??""})`),ni(z,i),ni(N,`${Be(n).centroid.coordinates[1]??""},${Be(n).centroid.coordinates[0]??""}`),ni($,`${Be(n).place_id??""}\n (`)}),[()=>Be(n).localname||`${Xi(Be(n).osm_type)} ${Be(n).osm_id}`,()=>{return(t=Be(n).rank_address)<4?"other":t<6?"country":t<8?"region":t<10?"state":t<12?"state district":t<14?"county":t<16?"municipality":t<18?"city / town / village":t<20?"city / village district":t<22?"suburb / hamlet":t<24?"neighbourhood":t<26?"city block / square":26===t?"major street":27===t?"minory street / path":t<=30?"house / building":"other";var t},()=>function(t){return t.isarea?"Polygon":"Point"}(Be(n))]),ii(t,e)},d=t=>{var e=ei(),i=jt(e),n=t=>{ii(t,ti("No such place found."))};ri(i,(t=>{""!==window.location.search&&Be(r)&&t(n)}),!0),ii(t,e)};ri(h,(t=>{Be(n)?t(u):t(d,!1)}));var p=$t(h,2),f=t=>{var e=ds(),i=Rt(e),r=$t(Rt(i),2),l=t=>{var e=Ko(),i=Rt(e);Co(i),li($t(i),21,(()=>Be(n).address),ai,((t,e)=>{{let i=it((()=>function(t){let e=t.address.find((t=>"country_code"===t.type));return e?e.localname:null}(Be(n))));zo(t,{get addressLine(){return Be(e)},bMarkUnusedLines:!0,bDistanceInMeters:!1,get sCountryCode(){return Be(i)}})}})),ii(t,e)};ri(r,(t=>{Be(n).address&&t(l)}));var c=$t(r,4),h=t=>{var e=Go(),i=Rt(e);Co(i),li($t(i),21,(()=>Be(n).linked_places),ai,((t,e)=>{zo(t,{get addressLine(){return Be(e)},bMarkUnusedLines:!0,bDistanceInMeters:!0})})),ii(t,e)};ri(c,(t=>{Be(n).linked_places&&t(h)}));var u=$t(c,4),d=t=>{var e=Xo();li($t(Rt(e)),21,(()=>Be(n).entrances),ai,((t,e,i)=>{var n=Yo(),o=Rt(n);o.textContent=i+1;var s=$t(o),r=Rt(s),a=$t(s);Ao(Rt(a),{osmType:"N",get osmId(){return Be(e).osm_id}});var l=Rt($t(a));{let t=it((()=>Be(e).extratags||{}));jo(l,{get items(){return Be(t)}})}Xt((()=>ni(r,Be(e).type))),ii(t,n)})),ii(t,e)},p=t=>{ii(t,Jo())};ri(u,(t=>{Be(n).entrances&&Be(n).entrances.length?t(d):t(p,!1)}));var f=$t(u,2),_=t=>{var e=rs(),i=$t(jt(e),2),r=t=>{var e=ei(),i=jt(e),o=t=>{var e=ns(),i=$t(jt(e),2);li(Rt(i),21,(()=>Be(n).keywords.name),ai,((t,e)=>{var i=ts(),n=Rt(i),o=Rt(n),s=$t(n),r=t=>{var i=Qo(),n=Rt(i);Xt((()=>ni(n,`word id: ${Be(e).id??""}`))),ii(t,i)};ri(s,(t=>{Be(e).id&&t(r)})),Xt((t=>ni(o,t)),[()=>Ji(Be(e).token)]),ii(t,i)}));var o=$t(i,2),s=t=>{var e=is();li(Rt($t(jt(e),2)),21,(()=>Be(n).keywords.address),ai,((t,e)=>{var i=es(),n=Rt(i),o=Rt(n),s=Rt($t(n));Xt((t=>{ni(o,t),ni(s,`word id: ${Be(e).id||"?"}`)}),[()=>Ji(Be(e).token)]),ii(t,i)})),ii(t,e)};ri(o,(t=>{Be(n).keywords.address&&t(s)})),ii(t,e)},s=t=>{ii(t,os())};ri(i,(t=>{var e;(e=Be(n)).keywords&&e.keywords.name&&e.keywords.address&&(e.keywords.name.length>0||e.keywords.address.length>0)?t(o):t(s,!1)})),ii(t,e)},a=t=>{var e=ss();Xt((()=>Ci(e,"href",`${Be(o)??""}&keywords=1`))),ii(t,e)};ri(i,(t=>{Be(s).keywords?t(r):t(a,!1)})),ii(t,e)};ri(f,(t=>{a||t(_)}));var m=$t(f,4),g=t=>{var e=ei(),i=jt(e),o=t=>{var e=cs(),i=jt(e);li(i,17,(()=>Object.keys(Be(n).hierarchy)),ai,((t,e)=>{var i=as(),o=jt(i),s=Rt(o),r=Rt($t(o,2));Co(r),li($t(r),21,(()=>Be(n).hierarchy[Be(e)]),ai,((t,e)=>{zo(t,{get addressLine(){return Be(e)},bDistanceInMeters:!0})})),Xt((()=>ni(s,Be(e)))),ii(t,i)}));var o=$t(i,2),s=t=>{ii(t,ls())};ri(o,(t=>{Object.keys(Be(n).hierarchy)>500&&t(s)})),ii(t,e)},s=t=>{ii(t,hs())};ri(i,(t=>{Be(n).hierarchy&&"object"==typeof Be(n).hierarchy&&Object.keys(Be(n).hierarchy).length?t(o):t(s,!1)})),ii(t,e)},v=t=>{var e=us();Xt((()=>Ci(e,"href",`${Be(o)??""}&hierarchy=1`))),ii(t,e)};ri(m,(t=>{Be(s).hierarchy?t(g):t(v,!1)})),ii(t,e)};ri(p,(t=>{Be(n)&&t(f)})),ii(t,l),q()}var _s=Qe(' josm'),ms=Qe('

Broken polygons

OSM objectClassTypeNameCountry CodeError messageUpdated
',1);var gs=Qe(" "),vs=Qe('

Deletable

Place idCountry CodeNameOSM objectClassType
',1);var ys=Qe('

Server status

API Endpoint
Software version
Database version
Data last updated
',1);var bs=Qe('
',1);var ws=Qe(" ",1);const xs=(Ls=function(t,e){F(e,!1),Ii();var i=ws();Ve("popstate",Ot,(()=>nn.refreshPage()));var n=jt(i),o=t=>{go(t,{})},s=t=>{var e=ei(),i=jt(e),n=t=>{To(t,{})},o=t=>{var e=ei(),i=jt(e),n=t=>{fs(t,{})},o=t=>{var e=ei(),i=jt(e),n=t=>{!function(t,e){F(e,!0);let i=Tt(At([]));Zi((function(){nn.fetchFromApi("deletable",{format:"json"},(function(t){Mt(i,t,!0)})),Ki("Deletable objects")}));var n=vs(),o=jt(n);En(o,{});var s=Rt($t(o,2)),r=Rt(s),a=$t(Rt(r),2),l=Rt(a),c=$t(a,2);li($t(Rt(c)),21,(()=>Be(i)),ai,((t,e)=>{var i=gs(),n=Rt(i);Wn(Rt(n),{get feature(){return Be(e)},get text(){return Be(e).place_id}});var o=$t(n),s=Rt(o),r=$t(o),a=Rt(r),l=$t(r);Ao(Rt(l),{get osmType(){return Be(e).osm_type},get osmId(){return Be(e).osm_id}});var c=$t(l),h=Rt(c),u=Rt($t(c));Xt((()=>{ni(s,Be(e).country_code),ni(a,Be(e).name),ni(h,Be(e).class),ni(u,Be(e).type)})),ii(t,i)})),Xt((()=>ni(l,`${Be(i).length??""} objects have been deleted in OSM but\n are still in the Nominatim database.`))),ii(t,n),q()}(t,{})},o=t=>{var e=ei(),i=jt(e),n=t=>{!function(t,e){F(e,!0);let i=Tt(At([]));Zi((function(){nn.fetchFromApi("polygons",{format:"json"},(function(t){Mt(i,t,!0)})),Ki("Broken polygons")}));var n=ms(),o=jt(n);En(o,{});var s=Rt($t(o,2)),r=Rt(s),a=$t(Rt(r),2),l=Rt(a),c=$t(a,2);li($t(Rt(c)),21,(()=>Be(i)),ai,((t,e)=>{var i=_s(),n=Rt(i);Ao(Rt(n),{osmType:"(polygon.osm_type}",get osmId(){return Be(e).osm_id}});var o=$t(n),s=Rt(o),r=$t(o),a=Rt(r),l=$t(r),c=Rt(l),h=$t(l),u=Rt(h),d=$t(h),p=Rt(d),f=$t(d),_=Rt(f),m=Rt($t(f));Xt((t=>{ni(s,Be(e).class),ni(a,Be(e).type),ni(c,Be(e).name),ni(u,Be(e).country_code||""),ni(p,Be(e).errormessage),ni(_,Be(e).updated),Ci(m,"href",`http://localhost:8111/import?url=https://www.openstreetmap.org/api/0.6/${t??""}/${Be(e).osm_id??""}/full`)}),[()=>Xi(Be(e).osm_type)]),ii(t,i)})),Xt((()=>ni(l,`Total number of broken polygons: ${Be(i).length??""}.`))),ii(t,n),q()}(t,{})},o=t=>{var e=ei(),i=jt(e),n=t=>{!function(t,e){F(e,!0);let i=Tt(At({}));const n=Nominatim_Config,o="function"==typeof n.Nominatim_API_Endpoint?n.Nominatim_API_Endpoint():n.Nominatim_API_Endpoint;Zi((function(){nn.fetchFromApi("status",{format:"json"},(function(t){Mt(i,t,!0)})),Ki("Server status")}));var s=ys(),r=jt(s);En(r,{});var a=Rt($t(r,2)),l=Rt(a),c=$t(Rt(l),2),h=$t(Rt(c),2),u=Rt(h),d=Rt(u),p=$t(h,4),f=Rt(p),_=$t(p,4),m=Rt(_),g=Rt($t(_,4));Xt((()=>{Ci(u,"href",o),ni(d,o),ni(f,Be(i).software_version),ni(m,Be(i).database_version),ni(g,Be(i).data_updated)})),ii(t,s),q()}(t,{})},o=t=>{var e=ei(),i=jt(e),n=t=>{!function(t,e){F(e,!1),Zi((()=>{Wi("theme/about-help.html",document.getElementById("about-help"))})),Ii();var i=bs();En(jt(i),{}),ii(t,i),q()}(t,{})};ri(i,(t=>{"about"===nn.page.tab&&t(n)}),!0),ii(t,e)};ri(i,(t=>{"status"===nn.page.tab?t(n):t(o,!1)}),!0),ii(t,e)};ri(i,(t=>{"polygons"===nn.page.tab?t(n):t(o,!1)}),!0),ii(t,e)};ri(i,(t=>{"deletable"===nn.page.tab?t(n):t(o,!1)}),!0),ii(t,e)};ri(i,(t=>{"details"===nn.page.tab?t(n):t(o,!1)}),!0),ii(t,e)};ri(i,(t=>{"reverse"===nn.page.tab?t(n):t(o,!1)}),!0),ii(t,e)};ri(n,(t=>{"search"===nn.page.tab?t(o):t(s,!1)})),function(t){ii(t,on())}($t(n,2)),ii(t,i),q()},Ps={target:document.body},function(t,{target:e,anchor:i,props:o={},events:r,context:a,intro:l=!0}){!function(){if(void 0===Ot){Ot=window,zt=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,i=Text.prototype;It=s(e,"firstChild").get,Dt=s(e,"nextSibling").get,h(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),h(i)&&(i.__t=void 0)}}();var c=new Set,u=t=>{for(var i=0;inew Promise((i=>{t.outro?se(e,(()=>{ie(e),i(void 0)})):(ie(e),i(void 0))}))}((()=>{var n=i??e.appendChild(Nt());return Qt((()=>{a&&(F({}),j.c=a),r&&(o.$$events=r),d=t(n,o)||{},a&&q()})),()=>{for(var t of c){e.removeEventListener(t,Ye);var o=oi.get(t);0===--o?(document.removeEventListener(t,Ye),oi.delete(t)):oi.set(t,o)}Ue.delete(u),n!==i&&n.parentNode?.removeChild(n)}}));return si.set(d,p),d}(Ls,Ps));var Ls,Ps;return xs}(); //# sourceMappingURL=bundle.js.map diff --git a/dist/build/bundle.js.map b/dist/build/bundle.js.map index e51aba4..7308708 100644 --- a/dist/build/bundle.js.map +++ b/dist/build/bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle.js","sources":["../../../../../.yarn/berry/cache/esm-env-npm-1.2.2-c6981cc52f-10c0.zip/node_modules/esm-env/false.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/shared/utils.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/constants.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/constants.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/equality.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/flags/index.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/context.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/error-handling.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/task.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/blocks/boundary.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/shared/errors.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/deriveds.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/errors.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/effects.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/async.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/batch.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/sources.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/runtime.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/proxy.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/operations.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/utils.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/misc.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/bindings/shared.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/events.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/reconciler.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/template.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/render.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/blocks/if.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/blocks/each.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/hydration.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/blocks/snippet.js","../../../../../.yarn/berry/cache/clsx-npm-2.1.1-96125b98be-10c0.zip/node_modules/clsx/dist/clsx.mjs","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/shared/attributes.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/class.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/style.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/warnings.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/attributes.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/bindings/input.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/store.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/reactivity/props.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/index-client.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/disclose-version.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/version.js","../../.yarn/__virtual__/bootstrap-virtual-b3452e0362/4/.yarn/berry/cache/bootstrap-npm-5.3.7-48de4594fc-10c0.zip/node_modules/bootstrap/dist/js/bootstrap.bundle.js","../../src/lib/api_utils.js","../../../../../.yarn/berry/cache/escape-html-npm-1.0.3-376c22ee74-10c0.zip/node_modules/escape-html/index.js","../../src/lib/helpers.js","../../src/state/AppState.svelte.js","../../src/components/PageLink.svelte","../../src/components/ReverseLink.svelte","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/lang/en_US.js","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/lang/zh_CN.js","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/register.js","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/utils/date.js","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/format.js","../../../../../.yarn/berry/cache/timeago.js-npm-4.0.2-e87d64f9a3-10c0.zip/node_modules/timeago.js/esm/index.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/legacy/misc.js","../../src/state/MapState.svelte.js","../../src/color-mode-toggler.js","../../src/components/Header.svelte","../../src/components/Error.svelte","../../src/components/LastUpdated.svelte","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/reactivity/url-search-params.js","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/reactivity/url.js","../../src/components/UrlSubmitForm.svelte","../../src/components/SearchSection.svelte","../../src/components/DetailsLink.svelte","../../src/components/MapIcon.svelte","../../src/components/ResultsList.svelte","../../src/components/Welcome.svelte","../../../../../.yarn/berry/cache/leaflet-npm-1.9.4-8d372b0fe6-10c0.zip/node_modules/leaflet/dist/leaflet-src.js","../../../../../.yarn/berry/cache/leaflet-minimap-npm-3.6.1-945fa818a3-10c0.zip/node_modules/leaflet-minimap/dist/Control.MiniMap.min.js","../../src/components/MapPosition.svelte","../../src/components/Map.svelte","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/elements/actions.js","../../src/pages/SearchPage.svelte","../../src/components/SearchSectionReverse.svelte","../../src/pages/ReversePage.svelte","../../src/components/OsmLink.svelte","../../src/components/DetailsOneRow.svelte","../../../../../.yarn/berry/cache/svelte-npm-5.38.0-6525de4da5-10c0.zip/node_modules/svelte/src/internal/client/dom/blocks/html.js","../../src/components/DetailsPostcodeHint.svelte","../../src/components/DetailsInfoRowList.svelte","../../src/components/SearchSectionDetails.svelte","../../src/pages/DetailsPage.svelte","../../src/components/WikipediaLink.svelte","../../src/main.js","../../src/App.svelte","../../src/pages/DeletablePage.svelte","../../src/pages/PolygonsPage.svelte","../../src/pages/StatusPage.svelte","../../src/pages/AboutPage.svelte"],"sourcesContent":["export default false;\n","// Store the references to globals in case someone tries to monkey patch these, causing the below\n// to de-opt (this occurs often when using popular extensions).\nexport var is_array = Array.isArray;\nexport var index_of = Array.prototype.indexOf;\nexport var array_from = Array.from;\nexport var object_keys = Object.keys;\nexport var define_property = Object.defineProperty;\nexport var get_descriptor = Object.getOwnPropertyDescriptor;\nexport var get_descriptors = Object.getOwnPropertyDescriptors;\nexport var object_prototype = Object.prototype;\nexport var array_prototype = Array.prototype;\nexport var get_prototype_of = Object.getPrototypeOf;\nexport var is_extensible = Object.isExtensible;\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\nexport const noop = () => {};\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n\n/**\n * @template [T=any]\n * @param {any} value\n * @returns {value is PromiseLike}\n */\nexport function is_promise(value) {\n\treturn typeof value?.then === 'function';\n}\n\n/** @param {Function} fn */\nexport function run(fn) {\n\treturn fn();\n}\n\n/** @param {Array<() => void>} arr */\nexport function run_all(arr) {\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tarr[i]();\n\t}\n}\n\n/**\n * TODO replace with Promise.withResolvers once supported widely enough\n * @template T\n */\nexport function deferred() {\n\t/** @type {(value: T) => void} */\n\tvar resolve;\n\n\t/** @type {(reason: any) => void} */\n\tvar reject;\n\n\t/** @type {Promise} */\n\tvar promise = new Promise((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\n\t// @ts-expect-error\n\treturn { promise, resolve, reject };\n}\n\n/**\n * @template V\n * @param {V} value\n * @param {V | (() => V)} fallback\n * @param {boolean} [lazy]\n * @returns {V}\n */\nexport function fallback(value, fallback, lazy = false) {\n\treturn value === undefined\n\t\t? lazy\n\t\t\t? /** @type {() => V} */ (fallback)()\n\t\t\t: /** @type {V} */ (fallback)\n\t\t: value;\n}\n\n/**\n * When encountering a situation like `let [a, b, c] = $derived(blah())`,\n * we need to stash an intermediate value that `a`, `b`, and `c` derive\n * from, in case it's an iterable\n * @template T\n * @param {ArrayLike | Iterable} value\n * @param {number} [n]\n * @returns {Array}\n */\nexport function to_array(value, n) {\n\t// return arrays unchanged\n\tif (Array.isArray(value)) {\n\t\treturn value;\n\t}\n\n\t// if value is not iterable, or `n` is unspecified (indicates a rest\n\t// element, which means we're not concerned about unbounded iterables)\n\t// convert to an array with `Array.from`\n\tif (n === undefined || !(Symbol.iterator in value)) {\n\t\treturn Array.from(value);\n\t}\n\n\t// otherwise, populate an array with `n` values\n\n\t/** @type {T[]} */\n\tconst array = [];\n\n\tfor (const element of value) {\n\t\tarray.push(element);\n\t\tif (array.length === n) break;\n\t}\n\n\treturn array;\n}\n","export const DERIVED = 1 << 1;\nexport const EFFECT = 1 << 2;\nexport const RENDER_EFFECT = 1 << 3;\nexport const BLOCK_EFFECT = 1 << 4;\nexport const BRANCH_EFFECT = 1 << 5;\nexport const ROOT_EFFECT = 1 << 6;\nexport const BOUNDARY_EFFECT = 1 << 7;\nexport const UNOWNED = 1 << 8;\nexport const DISCONNECTED = 1 << 9;\nexport const CLEAN = 1 << 10;\nexport const DIRTY = 1 << 11;\nexport const MAYBE_DIRTY = 1 << 12;\nexport const INERT = 1 << 13;\nexport const DESTROYED = 1 << 14;\nexport const EFFECT_RAN = 1 << 15;\n/** 'Transparent' effects do not create a transition boundary */\nexport const EFFECT_TRANSPARENT = 1 << 16;\nexport const INSPECT_EFFECT = 1 << 17;\nexport const HEAD_EFFECT = 1 << 18;\nexport const EFFECT_PRESERVED = 1 << 19;\nexport const USER_EFFECT = 1 << 20;\n\n// Flags used for async\nexport const REACTION_IS_UPDATING = 1 << 21;\nexport const ASYNC = 1 << 22;\n\nexport const ERROR_VALUE = 1 << 23;\n\nexport const STATE_SYMBOL = Symbol('$state');\nexport const LEGACY_PROPS = Symbol('legacy props');\nexport const LOADING_ATTR_SYMBOL = Symbol('');\nexport const PROXY_PATH_SYMBOL = Symbol('proxy path');\n\n/** allow users to ignore aborted signal errors if `reason.name === 'StaleReactionError` */\nexport const STALE_REACTION = new (class StaleReactionError extends Error {\n\tname = 'StaleReactionError';\n\tmessage = 'The reaction that called `getAbortSignal()` was re-run or destroyed';\n})();\n\nexport const ELEMENT_NODE = 1;\nexport const TEXT_NODE = 3;\nexport const COMMENT_NODE = 8;\nexport const DOCUMENT_FRAGMENT_NODE = 11;\n","export const EACH_ITEM_REACTIVE = 1;\nexport const EACH_INDEX_REACTIVE = 1 << 1;\n/** See EachBlock interface metadata.is_controlled for an explanation what this is */\nexport const EACH_IS_CONTROLLED = 1 << 2;\nexport const EACH_IS_ANIMATED = 1 << 3;\nexport const EACH_ITEM_IMMUTABLE = 1 << 4;\n\nexport const PROPS_IS_IMMUTABLE = 1;\nexport const PROPS_IS_RUNES = 1 << 1;\nexport const PROPS_IS_UPDATED = 1 << 2;\nexport const PROPS_IS_BINDABLE = 1 << 3;\nexport const PROPS_IS_LAZY_INITIAL = 1 << 4;\n\nexport const TRANSITION_IN = 1;\nexport const TRANSITION_OUT = 1 << 1;\nexport const TRANSITION_GLOBAL = 1 << 2;\n\nexport const TEMPLATE_FRAGMENT = 1;\nexport const TEMPLATE_USE_IMPORT_NODE = 1 << 1;\nexport const TEMPLATE_USE_SVG = 1 << 2;\nexport const TEMPLATE_USE_MATHML = 1 << 3;\n\nexport const HYDRATION_START = '[';\n/** used to indicate that an `{:else}...` block was rendered */\nexport const HYDRATION_START_ELSE = '[!';\nexport const HYDRATION_END = ']';\nexport const HYDRATION_ERROR = {};\n\nexport const ELEMENT_IS_NAMESPACED = 1;\nexport const ELEMENT_PRESERVE_ATTRIBUTE_CASE = 1 << 1;\n\nexport const UNINITIALIZED = Symbol();\n\n// Dev-time component properties\nexport const FILENAME = Symbol('filename');\nexport const HMR = Symbol('hmr');\n\nexport const NAMESPACE_HTML = 'http://www.w3.org/1999/xhtml';\nexport const NAMESPACE_SVG = 'http://www.w3.org/2000/svg';\nexport const NAMESPACE_MATHML = 'http://www.w3.org/1998/Math/MathML';\n\n// we use a list of ignorable runtime warnings because not every runtime warning\n// can be ignored and we want to keep the validation for svelte-ignore in place\nexport const IGNORABLE_RUNTIME_WARNINGS = /** @type {const} */ ([\n\t'await_waterfall',\n\t'await_reactivity_loss',\n\t'state_snapshot_uncloneable',\n\t'binding_property_non_reactive',\n\t'hydration_attribute_changed',\n\t'hydration_html_changed',\n\t'ownership_invalid_binding',\n\t'ownership_invalid_mutation'\n]);\n\n/**\n * Whitespace inside one of these elements will not result in\n * a whitespace node being created in any circumstances. (This\n * list is almost certainly very incomplete)\n * TODO this is currently unused\n */\nexport const ELEMENTS_WITHOUT_TEXT = ['audio', 'datalist', 'dl', 'optgroup', 'select', 'video'];\n\nexport const ATTACHMENT_KEY = '@attach';\n","/** @import { Equals } from '#client' */\n\n/** @type {Equals} */\nexport function equals(value) {\n\treturn value === this.v;\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function safe_not_equal(a, b) {\n\treturn a != a\n\t\t? b == b\n\t\t: a !== b || (a !== null && typeof a === 'object') || typeof a === 'function';\n}\n\n/**\n * @param {unknown} a\n * @param {unknown} b\n * @returns {boolean}\n */\nexport function not_equal(a, b) {\n\treturn a !== b;\n}\n\n/** @type {Equals} */\nexport function safe_equals(value) {\n\treturn !safe_not_equal(value, this.v);\n}\n","export let async_mode_flag = false;\nexport let legacy_mode_flag = false;\nexport let tracing_mode_flag = false;\n\nexport function enable_async_mode_flag() {\n\tasync_mode_flag = true;\n}\n\n/** ONLY USE THIS DURING TESTING */\nexport function disable_async_mode_flag() {\n\tasync_mode_flag = false;\n}\n\nexport function enable_legacy_mode_flag() {\n\tlegacy_mode_flag = true;\n}\n\nexport function enable_tracing_mode_flag() {\n\ttracing_mode_flag = true;\n}\n","/** @import { ComponentContext, DevStackEntry, Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport * as e from './errors.js';\nimport { active_effect, active_reaction } from './runtime.js';\nimport { create_user_effect } from './reactivity/effects.js';\nimport { async_mode_flag, legacy_mode_flag } from '../flags/index.js';\nimport { FILENAME } from '../../constants.js';\nimport { BRANCH_EFFECT, EFFECT_RAN } from './constants.js';\n\n/** @type {ComponentContext | null} */\nexport let component_context = null;\n\n/** @param {ComponentContext | null} context */\nexport function set_component_context(context) {\n\tcomponent_context = context;\n}\n\n/** @type {DevStackEntry | null} */\nexport let dev_stack = null;\n\n/** @param {DevStackEntry | null} stack */\nexport function set_dev_stack(stack) {\n\tdev_stack = stack;\n}\n\n/**\n * Execute a callback with a new dev stack entry\n * @param {() => any} callback - Function to execute\n * @param {DevStackEntry['type']} type - Type of block/component\n * @param {any} component - Component function\n * @param {number} line - Line number\n * @param {number} column - Column number\n * @param {Record} [additional] - Any additional properties to add to the dev stack entry\n * @returns {any}\n */\nexport function add_svelte_meta(callback, type, component, line, column, additional) {\n\tconst parent = dev_stack;\n\n\tdev_stack = {\n\t\ttype,\n\t\tfile: component[FILENAME],\n\t\tline,\n\t\tcolumn,\n\t\tparent,\n\t\t...additional\n\t};\n\n\ttry {\n\t\treturn callback();\n\t} finally {\n\t\tdev_stack = parent;\n\t}\n}\n\n/**\n * The current component function. Different from current component context:\n * ```html\n * \n * \n * \n * \n * ```\n * @type {ComponentContext['function']}\n */\nexport let dev_current_component_function = null;\n\n/** @param {ComponentContext['function']} fn */\nexport function set_dev_current_component_function(fn) {\n\tdev_current_component_function = fn;\n}\n\n/**\n * Retrieves the context that belongs to the closest parent component with the specified `key`.\n * Must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @returns {T}\n */\nexport function getContext(key) {\n\tconst context_map = get_or_init_context_map('getContext');\n\tconst result = /** @type {T} */ (context_map.get(key));\n\treturn result;\n}\n\n/**\n * Associates an arbitrary `context` object with the current component and the specified `key`\n * and returns that object. The context is then available to children of the component\n * (including slotted content) with `getContext`.\n *\n * Like lifecycle functions, this must be called during component initialisation.\n *\n * @template T\n * @param {any} key\n * @param {T} context\n * @returns {T}\n */\nexport function setContext(key, context) {\n\tconst context_map = get_or_init_context_map('setContext');\n\n\tif (async_mode_flag) {\n\t\tvar flags = /** @type {Effect} */ (active_effect).f;\n\t\tvar valid = !active_reaction && (flags & BRANCH_EFFECT) !== 0 && (flags & EFFECT_RAN) === 0;\n\n\t\tif (!valid) {\n\t\t\te.set_context_after_init();\n\t\t}\n\t}\n\n\tcontext_map.set(key, context);\n\treturn context;\n}\n\n/**\n * Checks whether a given `key` has been set in the context of a parent component.\n * Must be called during component initialisation.\n *\n * @param {any} key\n * @returns {boolean}\n */\nexport function hasContext(key) {\n\tconst context_map = get_or_init_context_map('hasContext');\n\treturn context_map.has(key);\n}\n\n/**\n * Retrieves the whole context map that belongs to the closest parent component.\n * Must be called during component initialisation. Useful, for example, if you\n * programmatically create a component and want to pass the existing context to it.\n *\n * @template {Map} [T=Map]\n * @returns {T}\n */\nexport function getAllContexts() {\n\tconst context_map = get_or_init_context_map('getAllContexts');\n\treturn /** @type {T} */ (context_map);\n}\n\n/**\n * @param {Record} props\n * @param {any} runes\n * @param {Function} [fn]\n * @returns {void}\n */\nexport function push(props, runes = false, fn) {\n\tcomponent_context = {\n\t\tp: component_context,\n\t\tc: null,\n\t\te: null,\n\t\ts: props,\n\t\tx: null,\n\t\tl: legacy_mode_flag && !runes ? { s: null, u: null, $: [] } : null\n\t};\n\n\tif (DEV) {\n\t\t// component function\n\t\tcomponent_context.function = fn;\n\t\tdev_current_component_function = fn;\n\t}\n}\n\n/**\n * @template {Record} T\n * @param {T} [component]\n * @returns {T}\n */\nexport function pop(component) {\n\tvar context = /** @type {ComponentContext} */ (component_context);\n\tvar effects = context.e;\n\n\tif (effects !== null) {\n\t\tcontext.e = null;\n\n\t\tfor (var fn of effects) {\n\t\t\tcreate_user_effect(fn);\n\t\t}\n\t}\n\n\tif (component !== undefined) {\n\t\tcontext.x = component;\n\t}\n\n\tcomponent_context = context.p;\n\n\tif (DEV) {\n\t\tdev_current_component_function = component_context?.function ?? null;\n\t}\n\n\treturn component ?? /** @type {T} */ ({});\n}\n\n/** @returns {boolean} */\nexport function is_runes() {\n\treturn !legacy_mode_flag || (component_context !== null && component_context.l === null);\n}\n\n/**\n * @param {string} name\n * @returns {Map}\n */\nfunction get_or_init_context_map(name) {\n\tif (component_context === null) {\n\t\te.lifecycle_outside_component(name);\n\t}\n\n\treturn (component_context.c ??= new Map(get_parent_context(component_context) || undefined));\n}\n\n/**\n * @param {ComponentContext} component_context\n * @returns {Map | null}\n */\nfunction get_parent_context(component_context) {\n\tlet parent = component_context.p;\n\twhile (parent !== null) {\n\t\tconst context_map = parent.c;\n\t\tif (context_map !== null) {\n\t\t\treturn context_map;\n\t\t}\n\t\tparent = parent.p;\n\t}\n\treturn null;\n}\n","/** @import { Derived, Effect } from '#client' */\n/** @import { Boundary } from './dom/blocks/boundary.js' */\nimport { DEV } from 'esm-env';\nimport { FILENAME } from '../../constants.js';\nimport { is_firefox } from './dom/operations.js';\nimport { ERROR_VALUE, BOUNDARY_EFFECT, EFFECT_RAN } from './constants.js';\nimport { define_property, get_descriptor } from '../shared/utils.js';\nimport { active_effect, active_reaction } from './runtime.js';\n\nconst adjustments = new WeakMap();\n\n/**\n * @param {unknown} error\n */\nexport function handle_error(error) {\n\tvar effect = active_effect;\n\n\t// for unowned deriveds, don't throw until we read the value\n\tif (effect === null) {\n\t\t/** @type {Derived} */ (active_reaction).f |= ERROR_VALUE;\n\t\treturn error;\n\t}\n\n\tif (DEV && error instanceof Error && !adjustments.has(error)) {\n\t\tadjustments.set(error, get_adjustments(error, effect));\n\t}\n\n\tif ((effect.f & EFFECT_RAN) === 0) {\n\t\t// if the error occurred while creating this subtree, we let it\n\t\t// bubble up until it hits a boundary that can handle it\n\t\tif ((effect.f & BOUNDARY_EFFECT) === 0) {\n\t\t\tif (!effect.parent && error instanceof Error) {\n\t\t\t\tapply_adjustments(error);\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\t/** @type {Boundary} */ (effect.b).error(error);\n\t} else {\n\t\t// otherwise we bubble up the effect tree ourselves\n\t\tinvoke_error_boundary(error, effect);\n\t}\n}\n\n/**\n * @param {unknown} error\n * @param {Effect | null} effect\n */\nexport function invoke_error_boundary(error, effect) {\n\twhile (effect !== null) {\n\t\tif ((effect.f & BOUNDARY_EFFECT) !== 0) {\n\t\t\ttry {\n\t\t\t\t/** @type {Boundary} */ (effect.b).error(error);\n\t\t\t\treturn;\n\t\t\t} catch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\n\t\teffect = effect.parent;\n\t}\n\n\tif (error instanceof Error) {\n\t\tapply_adjustments(error);\n\t}\n\n\tthrow error;\n}\n\n/**\n * Add useful information to the error message/stack in development\n * @param {Error} error\n * @param {Effect} effect\n */\nfunction get_adjustments(error, effect) {\n\tconst message_descriptor = get_descriptor(error, 'message');\n\n\t// if the message was already changed and it's not configurable we can't change it\n\t// or it will throw a different error swallowing the original error\n\tif (message_descriptor && !message_descriptor.configurable) return;\n\n\tvar indent = is_firefox ? ' ' : '\\t';\n\tvar component_stack = `\\n${indent}in ${effect.fn?.name || ''}`;\n\tvar context = effect.ctx;\n\n\twhile (context !== null) {\n\t\tcomponent_stack += `\\n${indent}in ${context.function?.[FILENAME].split('/').pop()}`;\n\t\tcontext = context.p;\n\t}\n\n\treturn {\n\t\tmessage: error.message + `\\n${component_stack}\\n`,\n\t\tstack: error.stack\n\t\t\t?.split('\\n')\n\t\t\t.filter((line) => !line.includes('svelte/src/internal'))\n\t\t\t.join('\\n')\n\t};\n}\n\n/**\n * @param {Error} error\n */\nfunction apply_adjustments(error) {\n\tconst adjusted = adjustments.get(error);\n\n\tif (adjusted) {\n\t\tdefine_property(error, 'message', {\n\t\t\tvalue: adjusted.message\n\t\t});\n\n\t\tdefine_property(error, 'stack', {\n\t\t\tvalue: adjusted.stack\n\t\t});\n\t}\n}\n","import { run_all } from '../../shared/utils.js';\n\n// Fallback for when requestIdleCallback is not available\nconst request_idle_callback =\n\ttypeof requestIdleCallback === 'undefined'\n\t\t? (/** @type {() => void} */ cb) => setTimeout(cb, 1)\n\t\t: requestIdleCallback;\n\n/** @type {Array<() => void>} */\nlet micro_tasks = [];\n\n/** @type {Array<() => void>} */\nlet idle_tasks = [];\n\nfunction run_micro_tasks() {\n\tvar tasks = micro_tasks;\n\tmicro_tasks = [];\n\trun_all(tasks);\n}\n\nfunction run_idle_tasks() {\n\tvar tasks = idle_tasks;\n\tidle_tasks = [];\n\trun_all(tasks);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_micro_task(fn) {\n\tif (micro_tasks.length === 0) {\n\t\tqueueMicrotask(run_micro_tasks);\n\t}\n\n\tmicro_tasks.push(fn);\n}\n\n/**\n * @param {() => void} fn\n */\nexport function queue_idle_task(fn) {\n\tif (idle_tasks.length === 0) {\n\t\trequest_idle_callback(run_idle_tasks);\n\t}\n\n\tidle_tasks.push(fn);\n}\n\n/**\n * Synchronously run any queued tasks.\n */\nexport function flush_tasks() {\n\tif (micro_tasks.length > 0) {\n\t\trun_micro_tasks();\n\t}\n\n\tif (idle_tasks.length > 0) {\n\t\trun_idle_tasks();\n\t}\n}\n","/** @import { Effect, Source, TemplateNode, } from '#client' */\nimport {\n\tBOUNDARY_EFFECT,\n\tEFFECT_PRESERVED,\n\tEFFECT_RAN,\n\tEFFECT_TRANSPARENT\n} from '#client/constants';\nimport { component_context, set_component_context } from '../../context.js';\nimport { handle_error, invoke_error_boundary } from '../../error-handling.js';\nimport { block, branch, destroy_effect, pause_effect } from '../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tnext,\n\tremove_nodes,\n\tset_hydrate_node\n} from '../hydration.js';\nimport { get_next_sibling } from '../operations.js';\nimport { queue_micro_task } from '../task.js';\nimport * as e from '../../errors.js';\nimport * as w from '../../warnings.js';\nimport { DEV } from 'esm-env';\nimport { Batch, effect_pending_updates } from '../../reactivity/batch.js';\nimport { internal_set, source } from '../../reactivity/sources.js';\nimport { tag } from '../../dev/tracing.js';\nimport { createSubscriber } from '../../../../reactivity/create-subscriber.js';\n\n/**\n * @typedef {{\n * \t onerror?: (error: unknown, reset: () => void) => void;\n * failed?: (anchor: Node, error: () => unknown, reset: () => () => void) => void;\n * pending?: (anchor: Node) => void;\n * }} BoundaryProps\n */\n\nvar flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED | BOUNDARY_EFFECT;\n\n/**\n * @param {TemplateNode} node\n * @param {BoundaryProps} props\n * @param {((anchor: Node) => void)} children\n * @returns {void}\n */\nexport function boundary(node, props, children) {\n\tnew Boundary(node, props, children);\n}\n\nexport class Boundary {\n\tpending = false;\n\n\t/** @type {Boundary | null} */\n\tparent;\n\n\t/** @type {TemplateNode} */\n\t#anchor;\n\n\t/** @type {TemplateNode} */\n\t#hydrate_open;\n\n\t/** @type {BoundaryProps} */\n\t#props;\n\n\t/** @type {((anchor: Node) => void)} */\n\t#children;\n\n\t/** @type {Effect} */\n\t#effect;\n\n\t/** @type {Effect | null} */\n\t#main_effect = null;\n\n\t/** @type {Effect | null} */\n\t#pending_effect = null;\n\n\t/** @type {Effect | null} */\n\t#failed_effect = null;\n\n\t/** @type {DocumentFragment | null} */\n\t#offscreen_fragment = null;\n\n\t#pending_count = 0;\n\t#is_creating_fallback = false;\n\n\t/**\n\t * A source containing the number of pending async deriveds/expressions.\n\t * Only created if `$effect.pending()` is used inside the boundary,\n\t * otherwise updating the source results in needless `Batch.ensure()`\n\t * calls followed by no-op flushes\n\t * @type {Source | null}\n\t */\n\t#effect_pending = null;\n\n\t#effect_pending_update = () => {\n\t\tif (this.#effect_pending) {\n\t\t\tinternal_set(this.#effect_pending, this.#pending_count);\n\t\t}\n\t};\n\n\t#effect_pending_subscriber = createSubscriber(() => {\n\t\tthis.#effect_pending = source(this.#pending_count);\n\n\t\tif (DEV) {\n\t\t\ttag(this.#effect_pending, '$effect.pending()');\n\t\t}\n\n\t\treturn () => {\n\t\t\tthis.#effect_pending = null;\n\t\t};\n\t});\n\n\t/**\n\t * @param {TemplateNode} node\n\t * @param {BoundaryProps} props\n\t * @param {((anchor: Node) => void)} children\n\t */\n\tconstructor(node, props, children) {\n\t\tthis.#anchor = node;\n\t\tthis.#props = props;\n\t\tthis.#children = children;\n\n\t\tthis.#hydrate_open = hydrate_node;\n\n\t\tthis.parent = /** @type {Effect} */ (active_effect).b;\n\n\t\tthis.pending = !!this.#props.pending;\n\n\t\tthis.#effect = block(() => {\n\t\t\t/** @type {Effect} */ (active_effect).b = this;\n\n\t\t\tif (hydrating) {\n\t\t\t\thydrate_next();\n\t\t\t}\n\n\t\t\tconst pending = this.#props.pending;\n\n\t\t\tif (hydrating && pending) {\n\t\t\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\n\t\t\t\t// future work: when we have some form of async SSR, we will\n\t\t\t\t// need to use hydration boundary comments to report whether\n\t\t\t\t// the pending or main block was rendered for a given\n\t\t\t\t// boundary, and hydrate accordingly\n\t\t\t\tBatch.enqueue(() => {\n\t\t\t\t\tthis.#main_effect = this.#run(() => {\n\t\t\t\t\t\tBatch.ensure();\n\t\t\t\t\t\treturn branch(() => this.#children(this.#anchor));\n\t\t\t\t\t});\n\n\t\t\t\t\tif (this.#pending_count > 0) {\n\t\t\t\t\t\tthis.#show_pending_snippet();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpause_effect(/** @type {Effect} */ (this.#pending_effect), () => {\n\t\t\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.pending = false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\ttry {\n\t\t\t\t\tthis.#main_effect = branch(() => children(this.#anchor));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.error(error);\n\t\t\t\t}\n\n\t\t\t\tif (this.#pending_count > 0) {\n\t\t\t\t\tthis.#show_pending_snippet();\n\t\t\t\t} else {\n\t\t\t\t\tthis.pending = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}, flags);\n\n\t\tif (hydrating) {\n\t\t\tthis.#anchor = hydrate_node;\n\t\t}\n\t}\n\n\thas_pending_snippet() {\n\t\treturn !!this.#props.pending;\n\t}\n\n\t/**\n\t * @param {() => Effect | null} fn\n\t */\n\t#run(fn) {\n\t\tvar previous_effect = active_effect;\n\t\tvar previous_reaction = active_reaction;\n\t\tvar previous_ctx = component_context;\n\n\t\tset_active_effect(this.#effect);\n\t\tset_active_reaction(this.#effect);\n\t\tset_component_context(this.#effect.ctx);\n\n\t\ttry {\n\t\t\treturn fn();\n\t\t} catch (e) {\n\t\t\thandle_error(e);\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tset_active_effect(previous_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t\tset_component_context(previous_ctx);\n\t\t}\n\t}\n\n\t#show_pending_snippet() {\n\t\tconst pending = /** @type {(anchor: Node) => void} */ (this.#props.pending);\n\n\t\tif (this.#main_effect !== null) {\n\t\t\tthis.#offscreen_fragment = document.createDocumentFragment();\n\t\t\tmove_effect(this.#main_effect, this.#offscreen_fragment);\n\t\t}\n\n\t\tif (this.#pending_effect === null) {\n\t\t\tthis.#pending_effect = branch(() => pending(this.#anchor));\n\t\t}\n\t}\n\n\t/** @param {1 | -1} d */\n\t#update_pending_count(d) {\n\t\tthis.#pending_count += d;\n\n\t\tif (this.#pending_count === 0) {\n\t\t\tthis.pending = false;\n\n\t\t\tif (this.#pending_effect) {\n\t\t\t\tpause_effect(this.#pending_effect, () => {\n\t\t\t\t\tthis.#pending_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.#offscreen_fragment) {\n\t\t\t\tthis.#anchor.before(this.#offscreen_fragment);\n\t\t\t\tthis.#offscreen_fragment = null;\n\t\t\t}\n\t\t}\n\t}\n\n\t/** @param {1 | -1} d */\n\tupdate_pending_count(d) {\n\t\tif (this.has_pending_snippet()) {\n\t\t\tthis.#update_pending_count(d);\n\t\t} else if (this.parent) {\n\t\t\tthis.parent.#update_pending_count(d);\n\t\t}\n\n\t\teffect_pending_updates.add(this.#effect_pending_update);\n\t}\n\n\tget_effect_pending() {\n\t\tthis.#effect_pending_subscriber();\n\t\treturn get(/** @type {Source} */ (this.#effect_pending));\n\t}\n\n\t/** @param {unknown} error */\n\terror(error) {\n\t\tvar onerror = this.#props.onerror;\n\t\tlet failed = this.#props.failed;\n\n\t\tif (this.#main_effect) {\n\t\t\tdestroy_effect(this.#main_effect);\n\t\t\tthis.#main_effect = null;\n\t\t}\n\n\t\tif (this.#pending_effect) {\n\t\t\tdestroy_effect(this.#pending_effect);\n\t\t\tthis.#pending_effect = null;\n\t\t}\n\n\t\tif (this.#failed_effect) {\n\t\t\tdestroy_effect(this.#failed_effect);\n\t\t\tthis.#failed_effect = null;\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tset_hydrate_node(this.#hydrate_open);\n\t\t\tnext();\n\t\t\tset_hydrate_node(remove_nodes());\n\t\t}\n\n\t\tvar did_reset = false;\n\t\tvar calling_on_error = false;\n\n\t\tconst reset = () => {\n\t\t\tif (did_reset) {\n\t\t\t\tw.svelte_boundary_reset_noop();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdid_reset = true;\n\n\t\t\tif (calling_on_error) {\n\t\t\t\te.svelte_boundary_reset_onerror();\n\t\t\t}\n\n\t\t\tthis.#pending_count = 0;\n\n\t\t\tif (this.#failed_effect !== null) {\n\t\t\t\tpause_effect(this.#failed_effect, () => {\n\t\t\t\t\tthis.#failed_effect = null;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.pending = true;\n\n\t\t\tthis.#main_effect = this.#run(() => {\n\t\t\t\tthis.#is_creating_fallback = false;\n\t\t\t\treturn branch(() => this.#children(this.#anchor));\n\t\t\t});\n\n\t\t\tif (this.#pending_count > 0) {\n\t\t\t\tthis.#show_pending_snippet();\n\t\t\t} else {\n\t\t\t\tthis.pending = false;\n\t\t\t}\n\t\t};\n\n\t\t// If we have nothing to capture the error, or if we hit an error while\n\t\t// rendering the fallback, re-throw for another boundary to handle\n\t\tif (this.#is_creating_fallback || (!onerror && !failed)) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tvar previous_reaction = active_reaction;\n\n\t\ttry {\n\t\t\tset_active_reaction(null);\n\t\t\tcalling_on_error = true;\n\t\t\tonerror?.(error, reset);\n\t\t\tcalling_on_error = false;\n\t\t} catch (error) {\n\t\t\tinvoke_error_boundary(error, this.#effect && this.#effect.parent);\n\t\t} finally {\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\n\t\tif (failed) {\n\t\t\tqueue_micro_task(() => {\n\t\t\t\tthis.#failed_effect = this.#run(() => {\n\t\t\t\t\tthis.#is_creating_fallback = true;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn branch(() => {\n\t\t\t\t\t\t\tfailed(\n\t\t\t\t\t\t\t\tthis.#anchor,\n\t\t\t\t\t\t\t\t() => error,\n\t\t\t\t\t\t\t\t() => reset\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tinvoke_error_boundary(error, /** @type {Effect} */ (this.#effect.parent));\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis.#is_creating_fallback = false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n}\n\n/**\n *\n * @param {Effect} effect\n * @param {DocumentFragment} fragment\n */\nfunction move_effect(effect, fragment) {\n\tvar node = effect.nodes_start;\n\tvar end = effect.nodes_end;\n\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : /** @type {TemplateNode} */ (get_next_sibling(node));\n\n\t\tfragment.append(node);\n\t\tnode = next;\n\t}\n}\n\nexport function get_pending_boundary() {\n\tvar boundary = /** @type {Effect} */ (active_effect).b;\n\n\twhile (boundary !== null && !boundary.has_pending_snippet()) {\n\t\tboundary = boundary.parent;\n\t}\n\n\tif (boundary === null) {\n\t\te.await_outside_boundary();\n\t}\n\n\treturn boundary;\n}\n\nexport function pending() {\n\tif (active_effect === null) {\n\t\te.effect_pending_outside_reaction();\n\t}\n\n\tvar boundary = active_effect.b;\n\n\tif (boundary === null) {\n\t\treturn 0; // TODO eventually we will need this to be global\n\t}\n\n\treturn boundary.get_effect_pending();\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\n/**\n * Cannot await outside a `` with a `pending` snippet\n * @returns {never}\n */\nexport function await_outside_boundary() {\n\tif (DEV) {\n\t\tconst error = new Error(`await_outside_boundary\\nCannot await outside a \\`\\` with a \\`pending\\` snippet\\nhttps://svelte.dev/e/await_outside_boundary`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/await_outside_boundary`);\n\t}\n}\n\n/**\n * Cannot use `{@render children(...)}` if the parent component uses `let:` directives. Consider using a named snippet instead\n * @returns {never}\n */\nexport function invalid_default_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_default_snippet\\nCannot use \\`{@render children(...)}\\` if the parent component uses \\`let:\\` directives. Consider using a named snippet instead\\nhttps://svelte.dev/e/invalid_default_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_default_snippet`);\n\t}\n}\n\n/**\n * A snippet function was passed invalid arguments. Snippets should only be instantiated via `{@render ...}`\n * @returns {never}\n */\nexport function invalid_snippet_arguments() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet_arguments\\nA snippet function was passed invalid arguments. Snippets should only be instantiated via \\`{@render ...}\\`\\nhttps://svelte.dev/e/invalid_snippet_arguments`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet_arguments`);\n\t}\n}\n\n/**\n * `%name%(...)` can only be used during component initialisation\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_outside_component(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_outside_component\\n\\`${name}(...)\\` can only be used during component initialisation\\nhttps://svelte.dev/e/lifecycle_outside_component`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_outside_component`);\n\t}\n}\n\n/**\n * Attempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.\n * @returns {never}\n */\nexport function snippet_without_render_tag() {\n\tif (DEV) {\n\t\tconst error = new Error(`snippet_without_render_tag\\nAttempted to render a snippet without a \\`{@render}\\` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change \\`{snippet}\\` to \\`{@render snippet()}\\`.\\nhttps://svelte.dev/e/snippet_without_render_tag`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/snippet_without_render_tag`);\n\t}\n}\n\n/**\n * `%name%` is not a store with a `subscribe` method\n * @param {string} name\n * @returns {never}\n */\nexport function store_invalid_shape(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`store_invalid_shape\\n\\`${name}\\` is not a store with a \\`subscribe\\` method\\nhttps://svelte.dev/e/store_invalid_shape`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/store_invalid_shape`);\n\t}\n}\n\n/**\n * The `this` prop on `` must be a string, if defined\n * @returns {never}\n */\nexport function svelte_element_invalid_this_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_element_invalid_this_value\\nThe \\`this\\` prop on \\`\\` must be a string, if defined\\nhttps://svelte.dev/e/svelte_element_invalid_this_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_element_invalid_this_value`);\n\t}\n}","/** @import { Derived, Effect, Source } from '#client' */\n/** @import { Batch } from './batch.js'; */\nimport { DEV } from 'esm-env';\nimport {\n\tERROR_VALUE,\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tEFFECT_PRESERVED,\n\tMAYBE_DIRTY,\n\tSTALE_REACTION,\n\tUNOWNED,\n\tASYNC\n} from '#client/constants';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tset_signal_status,\n\tskip_reaction,\n\tupdate_reaction,\n\tincrement_write_version,\n\tset_active_effect,\n\tpush_reaction_value,\n\tis_destroying_effect\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport * as e from '../errors.js';\nimport * as w from '../warnings.js';\nimport { async_effect, destroy_effect } from './effects.js';\nimport { inspect_effects, internal_set, set_inspect_effects, source } from './sources.js';\nimport { get_stack } from '../dev/tracing.js';\nimport { tracing_mode_flag } from '../../flags/index.js';\nimport { Boundary } from '../dom/blocks/boundary.js';\nimport { component_context } from '../context.js';\nimport { UNINITIALIZED } from '../../../constants.js';\nimport { batch_deriveds, current_batch } from './batch.js';\nimport { unset_context } from './async.js';\n\n/** @type {Effect | null} */\nexport let current_async_effect = null;\n\n/** @param {Effect | null} v */\nexport function set_from_async_derived(v) {\n\tcurrent_async_effect = v;\n}\n\nexport const recent_async_deriveds = new Set();\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived(fn) {\n\tvar flags = DERIVED | DIRTY;\n\tvar parent_derived =\n\t\tactive_reaction !== null && (active_reaction.f & DERIVED) !== 0\n\t\t\t? /** @type {Derived} */ (active_reaction)\n\t\t\t: null;\n\n\tif (active_effect === null || (parent_derived !== null && (parent_derived.f & UNOWNED) !== 0)) {\n\t\tflags |= UNOWNED;\n\t} else {\n\t\t// Since deriveds are evaluated lazily, any effects created inside them are\n\t\t// created too late to ensure that the parent effect is added to the tree\n\t\tactive_effect.f |= EFFECT_PRESERVED;\n\t}\n\n\t/** @type {Derived} */\n\tconst signal = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\teffects: null,\n\t\tequals,\n\t\tf: flags,\n\t\tfn,\n\t\treactions: null,\n\t\trv: 0,\n\t\tv: /** @type {V} */ (UNINITIALIZED),\n\t\twv: 0,\n\t\tparent: parent_derived ?? active_effect,\n\t\tac: null\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = get_stack('CreatedAt');\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {() => V | Promise} fn\n * @param {string} [location] If provided, print a warning if the value is not read immediately after update\n * @returns {Promise>}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function async_derived(fn, location) {\n\tlet parent = /** @type {Effect | null} */ (active_effect);\n\n\tif (parent === null) {\n\t\te.async_derived_orphan();\n\t}\n\n\tvar boundary = /** @type {Boundary} */ (parent.b);\n\n\tvar promise = /** @type {Promise} */ (/** @type {unknown} */ (undefined));\n\tvar signal = source(/** @type {V} */ (UNINITIALIZED));\n\n\t/** @type {Promise | null} */\n\tvar prev = null;\n\n\t// only suspend in async deriveds created on initialisation\n\tvar should_suspend = !active_reaction;\n\n\tasync_effect(() => {\n\t\tif (DEV) current_async_effect = active_effect;\n\n\t\ttry {\n\t\t\tvar p = fn();\n\t\t} catch (error) {\n\t\t\tp = Promise.reject(error);\n\t\t}\n\n\t\tif (DEV) current_async_effect = null;\n\n\t\tvar r = () => p;\n\t\tpromise = prev?.then(r, r) ?? Promise.resolve(p);\n\n\t\tprev = promise;\n\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar pending = boundary.pending;\n\n\t\tif (should_suspend) {\n\t\t\tboundary.update_pending_count(1);\n\t\t\tif (!pending) batch.increment();\n\t\t}\n\n\t\t/**\n\t\t * @param {any} value\n\t\t * @param {unknown} error\n\t\t */\n\t\tconst handler = (value, error = undefined) => {\n\t\t\tprev = null;\n\n\t\t\tcurrent_async_effect = null;\n\n\t\t\tif (!pending) batch.activate();\n\n\t\t\tif (error) {\n\t\t\t\tif (error !== STALE_REACTION) {\n\t\t\t\t\tsignal.f |= ERROR_VALUE;\n\n\t\t\t\t\t// @ts-expect-error the error is the wrong type, but we don't care\n\t\t\t\t\tinternal_set(signal, error);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\t\t\t\tsignal.f ^= ERROR_VALUE;\n\t\t\t\t}\n\n\t\t\t\tinternal_set(signal, value);\n\n\t\t\t\tif (DEV && location !== undefined) {\n\t\t\t\t\trecent_async_deriveds.add(signal);\n\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tif (recent_async_deriveds.has(signal)) {\n\t\t\t\t\t\t\tw.await_waterfall(/** @type {string} */ (signal.label), location);\n\t\t\t\t\t\t\trecent_async_deriveds.delete(signal);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (should_suspend) {\n\t\t\t\tboundary.update_pending_count(-1);\n\t\t\t\tif (!pending) batch.decrement();\n\t\t\t}\n\n\t\t\tunset_context();\n\t\t};\n\n\t\tpromise.then(handler, (e) => handler(null, e || 'unknown'));\n\n\t\tif (batch) {\n\t\t\treturn () => {\n\t\t\t\tqueueMicrotask(() => batch.neuter());\n\t\t\t};\n\t\t}\n\t});\n\n\tif (DEV) {\n\t\t// add a flag that lets this be printed as a derived\n\t\t// when using `$inspect.trace()`\n\t\tsignal.f |= ASYNC;\n\t}\n\n\treturn new Promise((fulfil) => {\n\t\t/** @param {Promise} p */\n\t\tfunction next(p) {\n\t\t\tfunction go() {\n\t\t\t\tif (p === promise) {\n\t\t\t\t\tfulfil(signal);\n\t\t\t\t} else {\n\t\t\t\t\t// if the effect re-runs before the initial promise\n\t\t\t\t\t// resolves, delay resolution until we have a value\n\t\t\t\t\tnext(promise);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tp.then(go, go);\n\t\t}\n\n\t\tnext(promise);\n\t});\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function user_derived(fn) {\n\tconst d = derived(fn);\n\n\tpush_reaction_value(d);\n\n\treturn d;\n}\n\n/**\n * @template V\n * @param {() => V} fn\n * @returns {Derived}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function derived_safe_equal(fn) {\n\tconst signal = derived(fn);\n\tsignal.equals = safe_equals;\n\treturn signal;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function destroy_derived_effects(derived) {\n\tvar effects = derived.effects;\n\n\tif (effects !== null) {\n\t\tderived.effects = null;\n\n\t\tfor (var i = 0; i < effects.length; i += 1) {\n\t\t\tdestroy_effect(/** @type {Effect} */ (effects[i]));\n\t\t}\n\t}\n}\n\n/**\n * The currently updating deriveds, used to detect infinite recursion\n * in dev mode and provide a nicer error than 'too much recursion'\n * @type {Derived[]}\n */\nlet stack = [];\n\n/**\n * @param {Derived} derived\n * @returns {Effect | null}\n */\nfunction get_derived_parent_effect(derived) {\n\tvar parent = derived.parent;\n\twhile (parent !== null) {\n\t\tif ((parent.f & DERIVED) === 0) {\n\t\t\treturn /** @type {Effect} */ (parent);\n\t\t}\n\t\tparent = parent.parent;\n\t}\n\treturn null;\n}\n\n/**\n * @template T\n * @param {Derived} derived\n * @returns {T}\n */\nexport function execute_derived(derived) {\n\tvar value;\n\tvar prev_active_effect = active_effect;\n\n\tset_active_effect(get_derived_parent_effect(derived));\n\n\tif (DEV) {\n\t\tlet prev_inspect_effects = inspect_effects;\n\t\tset_inspect_effects(new Set());\n\t\ttry {\n\t\t\tif (stack.includes(derived)) {\n\t\t\t\te.derived_references_self();\n\t\t\t}\n\n\t\t\tstack.push(derived);\n\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t\tset_inspect_effects(prev_inspect_effects);\n\t\t\tstack.pop();\n\t\t}\n\t} else {\n\t\ttry {\n\t\t\tdestroy_derived_effects(derived);\n\t\t\tvalue = update_reaction(derived);\n\t\t} finally {\n\t\t\tset_active_effect(prev_active_effect);\n\t\t}\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {Derived} derived\n * @returns {void}\n */\nexport function update_derived(derived) {\n\tvar value = execute_derived(derived);\n\n\tif (!derived.equals(value)) {\n\t\tderived.v = value;\n\t\tderived.wv = increment_write_version();\n\t}\n\n\t// don't mark derived clean if we're reading it inside a\n\t// cleanup function, or it will cache a stale value\n\tif (is_destroying_effect) {\n\t\treturn;\n\t}\n\n\tif (batch_deriveds !== null) {\n\t\tbatch_deriveds.set(derived, derived.v);\n\t} else {\n\t\tvar status =\n\t\t\t(skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;\n\n\t\tset_signal_status(derived, status);\n\t}\n}\n","/* This file is generated by scripts/process-messages/index.js. Do not edit! */\n\nimport { DEV } from 'esm-env';\n\nexport * from '../shared/errors.js';\n\n/**\n * Cannot create a `$derived(...)` with an `await` expression outside of an effect tree\n * @returns {never}\n */\nexport function async_derived_orphan() {\n\tif (DEV) {\n\t\tconst error = new Error(`async_derived_orphan\\nCannot create a \\`$derived(...)\\` with an \\`await\\` expression outside of an effect tree\\nhttps://svelte.dev/e/async_derived_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/async_derived_orphan`);\n\t}\n}\n\n/**\n * Using `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\n * @returns {never}\n */\nexport function bind_invalid_checkbox_value() {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_checkbox_value\\nUsing \\`bind:value\\` together with a checkbox input is not allowed. Use \\`bind:checked\\` instead\\nhttps://svelte.dev/e/bind_invalid_checkbox_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_checkbox_value`);\n\t}\n}\n\n/**\n * Component %component% has an export named `%key%` that a consumer component is trying to access using `bind:%key%`, which is disallowed. Instead, use `bind:this` (e.g. `<%name% bind:this={component} />`) and then access the property on the bound component instance (e.g. `component.%key%`)\n * @param {string} component\n * @param {string} key\n * @param {string} name\n * @returns {never}\n */\nexport function bind_invalid_export(component, key, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_invalid_export\\nComponent ${component} has an export named \\`${key}\\` that a consumer component is trying to access using \\`bind:${key}\\`, which is disallowed. Instead, use \\`bind:this\\` (e.g. \\`<${name} bind:this={component} />\\`) and then access the property on the bound component instance (e.g. \\`component.${key}\\`)\\nhttps://svelte.dev/e/bind_invalid_export`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_invalid_export`);\n\t}\n}\n\n/**\n * A component is attempting to bind to a non-bindable property `%key%` belonging to %component% (i.e. `<%name% bind:%key%={...}>`). To mark a property as bindable: `let { %key% = $bindable() } = $props()`\n * @param {string} key\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function bind_not_bindable(key, component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`bind_not_bindable\\nA component is attempting to bind to a non-bindable property \\`${key}\\` belonging to ${component} (i.e. \\`<${name} bind:${key}={...}>\\`). To mark a property as bindable: \\`let { ${key} = $bindable() } = $props()\\`\\nhttps://svelte.dev/e/bind_not_bindable`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/bind_not_bindable`);\n\t}\n}\n\n/**\n * Calling `%method%` on a component instance (of %component%) is no longer valid in Svelte 5\n * @param {string} method\n * @param {string} component\n * @returns {never}\n */\nexport function component_api_changed(method, component) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_changed\\nCalling \\`${method}\\` on a component instance (of ${component}) is no longer valid in Svelte 5\\nhttps://svelte.dev/e/component_api_changed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_changed`);\n\t}\n}\n\n/**\n * Attempted to instantiate %component% with `new %name%`, which is no longer valid in Svelte 5. If this component is not under your control, set the `compatibility.componentApi` compiler option to `4` to keep it working.\n * @param {string} component\n * @param {string} name\n * @returns {never}\n */\nexport function component_api_invalid_new(component, name) {\n\tif (DEV) {\n\t\tconst error = new Error(`component_api_invalid_new\\nAttempted to instantiate ${component} with \\`new ${name}\\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \\`compatibility.componentApi\\` compiler option to \\`4\\` to keep it working.\\nhttps://svelte.dev/e/component_api_invalid_new`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/component_api_invalid_new`);\n\t}\n}\n\n/**\n * A derived value cannot reference itself recursively\n * @returns {never}\n */\nexport function derived_references_self() {\n\tif (DEV) {\n\t\tconst error = new Error(`derived_references_self\\nA derived value cannot reference itself recursively\\nhttps://svelte.dev/e/derived_references_self`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/derived_references_self`);\n\t}\n}\n\n/**\n * Keyed each block has duplicate key `%value%` at indexes %a% and %b%\n * @param {string} a\n * @param {string} b\n * @param {string | undefined | null} [value]\n * @returns {never}\n */\nexport function each_key_duplicate(a, b, value) {\n\tif (DEV) {\n\t\tconst error = new Error(`each_key_duplicate\\n${value\n\t\t\t? `Keyed each block has duplicate key \\`${value}\\` at indexes ${a} and ${b}`\n\t\t\t: `Keyed each block has duplicate key at indexes ${a} and ${b}`}\\nhttps://svelte.dev/e/each_key_duplicate`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/each_key_duplicate`);\n\t}\n}\n\n/**\n * `%rune%` cannot be used inside an effect cleanup function\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_in_teardown(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_teardown\\n\\`${rune}\\` cannot be used inside an effect cleanup function\\nhttps://svelte.dev/e/effect_in_teardown`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_teardown`);\n\t}\n}\n\n/**\n * Effect cannot be created inside a `$derived` value that was not itself created inside an effect\n * @returns {never}\n */\nexport function effect_in_unowned_derived() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_in_unowned_derived\\nEffect cannot be created inside a \\`$derived\\` value that was not itself created inside an effect\\nhttps://svelte.dev/e/effect_in_unowned_derived`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_in_unowned_derived`);\n\t}\n}\n\n/**\n * `%rune%` can only be used inside an effect (e.g. during component initialisation)\n * @param {string} rune\n * @returns {never}\n */\nexport function effect_orphan(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_orphan\\n\\`${rune}\\` can only be used inside an effect (e.g. during component initialisation)\\nhttps://svelte.dev/e/effect_orphan`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_orphan`);\n\t}\n}\n\n/**\n * `$effect.pending()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function effect_pending_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_pending_outside_reaction\\n\\`$effect.pending()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/effect_pending_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_pending_outside_reaction`);\n\t}\n}\n\n/**\n * Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\n * @returns {never}\n */\nexport function effect_update_depth_exceeded() {\n\tif (DEV) {\n\t\tconst error = new Error(`effect_update_depth_exceeded\\nMaximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state\\nhttps://svelte.dev/e/effect_update_depth_exceeded`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/effect_update_depth_exceeded`);\n\t}\n}\n\n/**\n * Cannot use `flushSync` inside an effect\n * @returns {never}\n */\nexport function flush_sync_in_effect() {\n\tif (DEV) {\n\t\tconst error = new Error(`flush_sync_in_effect\\nCannot use \\`flushSync\\` inside an effect\\nhttps://svelte.dev/e/flush_sync_in_effect`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/flush_sync_in_effect`);\n\t}\n}\n\n/**\n * `getAbortSignal()` can only be called inside an effect or derived\n * @returns {never}\n */\nexport function get_abort_signal_outside_reaction() {\n\tif (DEV) {\n\t\tconst error = new Error(`get_abort_signal_outside_reaction\\n\\`getAbortSignal()\\` can only be called inside an effect or derived\\nhttps://svelte.dev/e/get_abort_signal_outside_reaction`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/get_abort_signal_outside_reaction`);\n\t}\n}\n\n/**\n * Failed to hydrate the application\n * @returns {never}\n */\nexport function hydration_failed() {\n\tif (DEV) {\n\t\tconst error = new Error(`hydration_failed\\nFailed to hydrate the application\\nhttps://svelte.dev/e/hydration_failed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/hydration_failed`);\n\t}\n}\n\n/**\n * Could not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\n * @returns {never}\n */\nexport function invalid_snippet() {\n\tif (DEV) {\n\t\tconst error = new Error(`invalid_snippet\\nCould not \\`{@render}\\` snippet due to the expression being \\`null\\` or \\`undefined\\`. Consider using optional chaining \\`{@render snippet?.()}\\`\\nhttps://svelte.dev/e/invalid_snippet`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/invalid_snippet`);\n\t}\n}\n\n/**\n * `%name%(...)` cannot be used in runes mode\n * @param {string} name\n * @returns {never}\n */\nexport function lifecycle_legacy_only(name) {\n\tif (DEV) {\n\t\tconst error = new Error(`lifecycle_legacy_only\\n\\`${name}(...)\\` cannot be used in runes mode\\nhttps://svelte.dev/e/lifecycle_legacy_only`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/lifecycle_legacy_only`);\n\t}\n}\n\n/**\n * Cannot do `bind:%key%={undefined}` when `%key%` has a fallback value\n * @param {string} key\n * @returns {never}\n */\nexport function props_invalid_value(key) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_invalid_value\\nCannot do \\`bind:${key}={undefined}\\` when \\`${key}\\` has a fallback value\\nhttps://svelte.dev/e/props_invalid_value`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_invalid_value`);\n\t}\n}\n\n/**\n * Rest element properties of `$props()` such as `%property%` are readonly\n * @param {string} property\n * @returns {never}\n */\nexport function props_rest_readonly(property) {\n\tif (DEV) {\n\t\tconst error = new Error(`props_rest_readonly\\nRest element properties of \\`$props()\\` such as \\`${property}\\` are readonly\\nhttps://svelte.dev/e/props_rest_readonly`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/props_rest_readonly`);\n\t}\n}\n\n/**\n * The `%rune%` rune is only available inside `.svelte` and `.svelte.js/ts` files\n * @param {string} rune\n * @returns {never}\n */\nexport function rune_outside_svelte(rune) {\n\tif (DEV) {\n\t\tconst error = new Error(`rune_outside_svelte\\nThe \\`${rune}\\` rune is only available inside \\`.svelte\\` and \\`.svelte.js/ts\\` files\\nhttps://svelte.dev/e/rune_outside_svelte`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/rune_outside_svelte`);\n\t}\n}\n\n/**\n * `setContext` must be called when a component first initializes, not in a subsequent effect or after an `await` expression\n * @returns {never}\n */\nexport function set_context_after_init() {\n\tif (DEV) {\n\t\tconst error = new Error(`set_context_after_init\\n\\`setContext\\` must be called when a component first initializes, not in a subsequent effect or after an \\`await\\` expression\\nhttps://svelte.dev/e/set_context_after_init`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/set_context_after_init`);\n\t}\n}\n\n/**\n * Property descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\n * @returns {never}\n */\nexport function state_descriptors_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_descriptors_fixed\\nProperty descriptors defined on \\`$state\\` objects must contain \\`value\\` and always be \\`enumerable\\`, \\`configurable\\` and \\`writable\\`.\\nhttps://svelte.dev/e/state_descriptors_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_descriptors_fixed`);\n\t}\n}\n\n/**\n * Cannot set prototype of `$state` object\n * @returns {never}\n */\nexport function state_prototype_fixed() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_prototype_fixed\\nCannot set prototype of \\`$state\\` object\\nhttps://svelte.dev/e/state_prototype_fixed`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_prototype_fixed`);\n\t}\n}\n\n/**\n * Updating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\n * @returns {never}\n */\nexport function state_unsafe_mutation() {\n\tif (DEV) {\n\t\tconst error = new Error(`state_unsafe_mutation\\nUpdating state inside \\`$derived(...)\\`, \\`$inspect(...)\\` or a template expression is forbidden. If the value should not be reactive, declare it without \\`$state\\`\\nhttps://svelte.dev/e/state_unsafe_mutation`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/state_unsafe_mutation`);\n\t}\n}\n\n/**\n * A `` `reset` function cannot be called while an error is still being handled\n * @returns {never}\n */\nexport function svelte_boundary_reset_onerror() {\n\tif (DEV) {\n\t\tconst error = new Error(`svelte_boundary_reset_onerror\\nA \\`\\` \\`reset\\` function cannot be called while an error is still being handled\\nhttps://svelte.dev/e/svelte_boundary_reset_onerror`);\n\n\t\terror.name = 'Svelte error';\n\n\t\tthrow error;\n\t} else {\n\t\tthrow new Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`);\n\t}\n}","/** @import { ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */\nimport {\n\tis_dirty,\n\tactive_effect,\n\tactive_reaction,\n\tupdate_effect,\n\tget,\n\tis_destroying_effect,\n\tremove_reactions,\n\tset_active_reaction,\n\tset_is_destroying_effect,\n\tset_signal_status,\n\tuntrack,\n\tuntracking\n} from '../runtime.js';\nimport {\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tRENDER_EFFECT,\n\tEFFECT,\n\tDESTROYED,\n\tINERT,\n\tEFFECT_RAN,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tEFFECT_TRANSPARENT,\n\tDERIVED,\n\tUNOWNED,\n\tCLEAN,\n\tINSPECT_EFFECT,\n\tHEAD_EFFECT,\n\tMAYBE_DIRTY,\n\tEFFECT_PRESERVED,\n\tSTALE_REACTION,\n\tUSER_EFFECT,\n\tASYNC\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { DEV } from 'esm-env';\nimport { define_property } from '../../shared/utils.js';\nimport { get_next_sibling } from '../dom/operations.js';\nimport { component_context, dev_current_component_function, dev_stack } from '../context.js';\nimport { Batch, schedule_effect } from './batch.js';\nimport { flatten } from './async.js';\n\n/**\n * @param {'$effect' | '$effect.pre' | '$inspect'} rune\n */\nexport function validate_effect(rune) {\n\tif (active_effect === null && active_reaction === null) {\n\t\te.effect_orphan(rune);\n\t}\n\n\tif (active_reaction !== null && (active_reaction.f & UNOWNED) !== 0 && active_effect === null) {\n\t\te.effect_in_unowned_derived();\n\t}\n\n\tif (is_destroying_effect) {\n\t\te.effect_in_teardown(rune);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {Effect} parent_effect\n */\nfunction push_effect(effect, parent_effect) {\n\tvar parent_last = parent_effect.last;\n\tif (parent_last === null) {\n\t\tparent_effect.last = parent_effect.first = effect;\n\t} else {\n\t\tparent_last.next = effect;\n\t\teffect.prev = parent_last;\n\t\tparent_effect.last = effect;\n\t}\n}\n\n/**\n * @param {number} type\n * @param {null | (() => void | (() => void))} fn\n * @param {boolean} sync\n * @param {boolean} push\n * @returns {Effect}\n */\nfunction create_effect(type, fn, sync, push = true) {\n\tvar parent = active_effect;\n\n\tif (DEV) {\n\t\t// Ensure the parent is never an inspect effect\n\t\twhile (parent !== null && (parent.f & INSPECT_EFFECT) !== 0) {\n\t\t\tparent = parent.parent;\n\t\t}\n\t}\n\n\tif (parent !== null && (parent.f & INERT) !== 0) {\n\t\ttype |= INERT;\n\t}\n\n\t/** @type {Effect} */\n\tvar effect = {\n\t\tctx: component_context,\n\t\tdeps: null,\n\t\tnodes_start: null,\n\t\tnodes_end: null,\n\t\tf: type | DIRTY,\n\t\tfirst: null,\n\t\tfn,\n\t\tlast: null,\n\t\tnext: null,\n\t\tparent,\n\t\tb: parent && parent.b,\n\t\tprev: null,\n\t\tteardown: null,\n\t\ttransitions: null,\n\t\twv: 0,\n\t\tac: null\n\t};\n\n\tif (DEV) {\n\t\teffect.component_function = dev_current_component_function;\n\t}\n\n\tif (sync) {\n\t\ttry {\n\t\t\tupdate_effect(effect);\n\t\t\teffect.f |= EFFECT_RAN;\n\t\t} catch (e) {\n\t\t\tdestroy_effect(effect);\n\t\t\tthrow e;\n\t\t}\n\t} else if (fn !== null) {\n\t\tschedule_effect(effect);\n\t}\n\n\t// if an effect has no dependencies, no DOM and no teardown function,\n\t// don't bother adding it to the effect tree\n\tvar inert =\n\t\tsync &&\n\t\teffect.deps === null &&\n\t\teffect.first === null &&\n\t\teffect.nodes_start === null &&\n\t\teffect.teardown === null &&\n\t\t(effect.f & EFFECT_PRESERVED) === 0;\n\n\tif (!inert && push) {\n\t\tif (parent !== null) {\n\t\t\tpush_effect(effect, parent);\n\t\t}\n\n\t\t// if we're in a derived, add the effect there too\n\t\tif (\n\t\t\tactive_reaction !== null &&\n\t\t\t(active_reaction.f & DERIVED) !== 0 &&\n\t\t\t(type & ROOT_EFFECT) === 0\n\t\t) {\n\t\t\tvar derived = /** @type {Derived} */ (active_reaction);\n\t\t\t(derived.effects ??= []).push(effect);\n\t\t}\n\t}\n\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect.tracking()`\n * @returns {boolean}\n */\nexport function effect_tracking() {\n\treturn active_reaction !== null && !untracking;\n}\n\n/**\n * @param {() => void} fn\n */\nexport function teardown(fn) {\n\tconst effect = create_effect(RENDER_EFFECT, null, false);\n\tset_signal_status(effect, CLEAN);\n\teffect.teardown = fn;\n\treturn effect;\n}\n\n/**\n * Internal representation of `$effect(...)`\n * @param {() => void | (() => void)} fn\n */\nexport function user_effect(fn) {\n\tvalidate_effect('$effect');\n\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect'\n\t\t});\n\t}\n\n\t// Non-nested `$effect(...)` in a component should be deferred\n\t// until the component is mounted\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\tvar defer = !active_reaction && (flags & BRANCH_EFFECT) !== 0 && (flags & EFFECT_RAN) === 0;\n\n\tif (defer) {\n\t\t// Top-level `$effect(...)` in an unmounted component — defer until mount\n\t\tvar context = /** @type {ComponentContext} */ (component_context);\n\t\t(context.e ??= []).push(fn);\n\t} else {\n\t\t// Everything else — create immediately\n\t\treturn create_user_effect(fn);\n\t}\n}\n\n/**\n * @param {() => void | (() => void)} fn\n */\nexport function create_user_effect(fn) {\n\treturn create_effect(EFFECT | USER_EFFECT, fn, false);\n}\n\n/**\n * Internal representation of `$effect.pre(...)`\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function user_pre_effect(fn) {\n\tvalidate_effect('$effect.pre');\n\tif (DEV) {\n\t\tdefine_property(fn, 'name', {\n\t\t\tvalue: '$effect.pre'\n\t\t});\n\t}\n\treturn create_effect(RENDER_EFFECT | USER_EFFECT, fn, true);\n}\n\n/** @param {() => void | (() => void)} fn */\nexport function inspect_effect(fn) {\n\treturn create_effect(INSPECT_EFFECT, fn, true);\n}\n\n/**\n * Internal representation of `$effect.root(...)`\n * @param {() => void | (() => void)} fn\n * @returns {() => void}\n */\nexport function effect_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn () => {\n\t\tdestroy_effect(effect);\n\t};\n}\n\n/**\n * An effect root whose children can transition out\n * @param {() => void} fn\n * @returns {(options?: { outro?: boolean }) => Promise}\n */\nexport function component_root(fn) {\n\tBatch.ensure();\n\tconst effect = create_effect(ROOT_EFFECT, fn, true);\n\n\treturn (options = {}) => {\n\t\treturn new Promise((fulfil) => {\n\t\t\tif (options.outro) {\n\t\t\t\tpause_effect(effect, () => {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t\tfulfil(undefined);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdestroy_effect(effect);\n\t\t\t\tfulfil(undefined);\n\t\t\t}\n\t\t});\n\t};\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function effect(fn) {\n\treturn create_effect(EFFECT, fn, false);\n}\n\n/**\n * Internal representation of `$: ..`\n * @param {() => any} deps\n * @param {() => void | (() => void)} fn\n */\nexport function legacy_pre_effect(deps, fn) {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\t/** @type {{ effect: null | Effect, ran: boolean, deps: () => any }} */\n\tvar token = { effect: null, ran: false, deps };\n\n\tcontext.l.$.push(token);\n\n\ttoken.effect = render_effect(() => {\n\t\tdeps();\n\n\t\t// If this legacy pre effect has already run before the end of the reset, then\n\t\t// bail out to emulate the same behavior.\n\t\tif (token.ran) return;\n\n\t\ttoken.ran = true;\n\t\tuntrack(fn);\n\t});\n}\n\nexport function legacy_pre_effect_reset() {\n\tvar context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\trender_effect(() => {\n\t\t// Run dirty `$:` statements\n\t\tfor (var token of context.l.$) {\n\t\t\ttoken.deps();\n\n\t\t\tvar effect = token.effect;\n\n\t\t\t// If the effect is CLEAN, then make it MAYBE_DIRTY. This ensures we traverse through\n\t\t\t// the effects dependencies and correctly ensure each dependency is up-to-date.\n\t\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t\t}\n\n\t\t\tif (is_dirty(effect)) {\n\t\t\t\tupdate_effect(effect);\n\t\t\t}\n\n\t\t\ttoken.ran = false;\n\t\t}\n\t});\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function async_effect(fn) {\n\treturn create_effect(ASYNC | EFFECT_PRESERVED, fn, true);\n}\n\n/**\n * @param {() => void | (() => void)} fn\n * @returns {Effect}\n */\nexport function render_effect(fn, flags = 0) {\n\treturn create_effect(RENDER_EFFECT | flags, fn, true);\n}\n\n/**\n * @param {(...expressions: any) => void | (() => void)} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise>} async\n */\nexport function template_effect(fn, sync = [], async = []) {\n\tflatten(sync, async, (values) => {\n\t\tcreate_effect(RENDER_EFFECT, () => fn(...values.map(get)), true);\n\t});\n}\n\n/**\n * @param {(() => void)} fn\n * @param {number} flags\n */\nexport function block(fn, flags = 0) {\n\tvar effect = create_effect(BLOCK_EFFECT | flags, fn, true);\n\tif (DEV) {\n\t\teffect.dev_stack = dev_stack;\n\t}\n\treturn effect;\n}\n\n/**\n * @param {(() => void)} fn\n * @param {boolean} [push]\n */\nexport function branch(fn, push = true) {\n\treturn create_effect(BRANCH_EFFECT, fn, true, push);\n}\n\n/**\n * @param {Effect} effect\n */\nexport function execute_effect_teardown(effect) {\n\tvar teardown = effect.teardown;\n\tif (teardown !== null) {\n\t\tconst previously_destroying_effect = is_destroying_effect;\n\t\tconst previous_reaction = active_reaction;\n\t\tset_is_destroying_effect(true);\n\t\tset_active_reaction(null);\n\t\ttry {\n\t\t\tteardown.call(null);\n\t\t} finally {\n\t\t\tset_is_destroying_effect(previously_destroying_effect);\n\t\t\tset_active_reaction(previous_reaction);\n\t\t}\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @param {boolean} remove_dom\n * @returns {void}\n */\nexport function destroy_effect_children(signal, remove_dom = false) {\n\tvar effect = signal.first;\n\tsignal.first = signal.last = null;\n\n\twhile (effect !== null) {\n\t\teffect.ac?.abort(STALE_REACTION);\n\n\t\tvar next = effect.next;\n\n\t\tif ((effect.f & ROOT_EFFECT) !== 0) {\n\t\t\t// this is now an independent root\n\t\t\teffect.parent = null;\n\t\t} else {\n\t\t\tdestroy_effect(effect, remove_dom);\n\t\t}\n\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function destroy_block_effect_children(signal) {\n\tvar effect = signal.first;\n\n\twhile (effect !== null) {\n\t\tvar next = effect.next;\n\t\tif ((effect.f & BRANCH_EFFECT) === 0) {\n\t\t\tdestroy_effect(effect);\n\t\t}\n\t\teffect = next;\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} [remove_dom]\n * @returns {void}\n */\nexport function destroy_effect(effect, remove_dom = true) {\n\tvar removed = false;\n\n\tif (\n\t\t(remove_dom || (effect.f & HEAD_EFFECT) !== 0) &&\n\t\teffect.nodes_start !== null &&\n\t\teffect.nodes_end !== null\n\t) {\n\t\tremove_effect_dom(effect.nodes_start, /** @type {TemplateNode} */ (effect.nodes_end));\n\t\tremoved = true;\n\t}\n\n\tdestroy_effect_children(effect, remove_dom && !removed);\n\tremove_reactions(effect, 0);\n\tset_signal_status(effect, DESTROYED);\n\n\tvar transitions = effect.transitions;\n\n\tif (transitions !== null) {\n\t\tfor (const transition of transitions) {\n\t\t\ttransition.stop();\n\t\t}\n\t}\n\n\texecute_effect_teardown(effect);\n\n\tvar parent = effect.parent;\n\n\t// If the parent doesn't have any children, then skip this work altogether\n\tif (parent !== null && parent.first !== null) {\n\t\tunlink_effect(effect);\n\t}\n\n\tif (DEV) {\n\t\teffect.component_function = null;\n\t}\n\n\t// `first` and `child` are nulled out in destroy_effect_children\n\t// we don't null out `parent` so that error propagation can work correctly\n\teffect.next =\n\t\teffect.prev =\n\t\teffect.teardown =\n\t\teffect.ctx =\n\t\teffect.deps =\n\t\teffect.fn =\n\t\teffect.nodes_start =\n\t\teffect.nodes_end =\n\t\teffect.ac =\n\t\t\tnull;\n}\n\n/**\n *\n * @param {TemplateNode | null} node\n * @param {TemplateNode} end\n */\nexport function remove_effect_dom(node, end) {\n\twhile (node !== null) {\n\t\t/** @type {TemplateNode | null} */\n\t\tvar next = node === end ? null : /** @type {TemplateNode} */ (get_next_sibling(node));\n\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n * Detach an effect from the effect tree, freeing up memory and\n * reducing the amount of work that happens on subsequent traversals\n * @param {Effect} effect\n */\nexport function unlink_effect(effect) {\n\tvar parent = effect.parent;\n\tvar prev = effect.prev;\n\tvar next = effect.next;\n\n\tif (prev !== null) prev.next = next;\n\tif (next !== null) next.prev = prev;\n\n\tif (parent !== null) {\n\t\tif (parent.first === effect) parent.first = next;\n\t\tif (parent.last === effect) parent.last = prev;\n\t}\n}\n\n/**\n * When a block effect is removed, we don't immediately destroy it or yank it\n * out of the DOM, because it might have transitions. Instead, we 'pause' it.\n * It stays around (in memory, and in the DOM) until outro transitions have\n * completed, and if the state change is reversed then we _resume_ it.\n * A paused effect does not update, and the DOM subtree becomes inert.\n * @param {Effect} effect\n * @param {() => void} [callback]\n */\nexport function pause_effect(effect, callback) {\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\n\tpause_children(effect, transitions, true);\n\n\trun_out_transitions(transitions, () => {\n\t\tdestroy_effect(effect);\n\t\tif (callback) callback();\n\t});\n}\n\n/**\n * @param {TransitionManager[]} transitions\n * @param {() => void} fn\n */\nexport function run_out_transitions(transitions, fn) {\n\tvar remaining = transitions.length;\n\tif (remaining > 0) {\n\t\tvar check = () => --remaining || fn();\n\t\tfor (var transition of transitions) {\n\t\t\ttransition.out(check);\n\t\t}\n\t} else {\n\t\tfn();\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @param {TransitionManager[]} transitions\n * @param {boolean} local\n */\nexport function pause_children(effect, transitions, local) {\n\tif ((effect.f & INERT) !== 0) return;\n\teffect.f ^= INERT;\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransitions.push(transition);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call pause_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tpause_children(child, transitions, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n}\n\n/**\n * The opposite of `pause_effect`. We call this if (for example)\n * `x` becomes falsy then truthy: `{#if x}...{/if}`\n * @param {Effect} effect\n */\nexport function resume_effect(effect) {\n\tresume_children(effect, true);\n}\n\n/**\n * @param {Effect} effect\n * @param {boolean} local\n */\nfunction resume_children(effect, local) {\n\tif ((effect.f & INERT) === 0) return;\n\teffect.f ^= INERT;\n\n\t// If a dependency of this effect changed while it was paused,\n\t// schedule the effect to update. we don't use `is_dirty`\n\t// here because we don't want to eagerly recompute a derived like\n\t// `{#if foo}{foo.bar()}{/if}` if `foo` is now `undefined\n\tif ((effect.f & CLEAN) === 0) {\n\t\tset_signal_status(effect, DIRTY);\n\t\tschedule_effect(effect);\n\t}\n\n\tvar child = effect.first;\n\n\twhile (child !== null) {\n\t\tvar sibling = child.next;\n\t\tvar transparent = (child.f & EFFECT_TRANSPARENT) !== 0 || (child.f & BRANCH_EFFECT) !== 0;\n\t\t// TODO we don't need to call resume_children recursively with a linked list in place\n\t\t// it's slightly more involved though as we have to account for `transparent` changing\n\t\t// through the tree.\n\t\tresume_children(child, transparent ? local : false);\n\t\tchild = sibling;\n\t}\n\n\tif (effect.transitions !== null) {\n\t\tfor (const transition of effect.transitions) {\n\t\t\tif (transition.is_global || local) {\n\t\t\t\ttransition.in();\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function aborted() {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\treturn (effect.f & DESTROYED) !== 0;\n}\n","/** @import { Effect, Value } from '#client' */\n\nimport { DESTROYED } from '#client/constants';\nimport { DEV } from 'esm-env';\nimport { component_context, is_runes, set_component_context } from '../context.js';\nimport { get_pending_boundary } from '../dom/blocks/boundary.js';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../runtime.js';\nimport { current_batch } from './batch.js';\nimport {\n\tasync_derived,\n\tcurrent_async_effect,\n\tderived,\n\tderived_safe_equal,\n\tset_from_async_derived\n} from './deriveds.js';\n\n/**\n *\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise>} async\n * @param {(values: Value[]) => any} fn\n */\nexport function flatten(sync, async, fn) {\n\tconst d = is_runes() ? derived : derived_safe_equal;\n\n\tif (async.length === 0) {\n\t\tfn(sync.map(d));\n\t\treturn;\n\t}\n\n\tvar batch = current_batch;\n\tvar parent = /** @type {Effect} */ (active_effect);\n\n\tvar restore = capture();\n\tvar boundary = get_pending_boundary();\n\n\tPromise.all(async.map((expression) => async_derived(expression)))\n\t\t.then((result) => {\n\t\t\tbatch?.activate();\n\n\t\t\trestore();\n\n\t\t\ttry {\n\t\t\t\tfn([...sync.map(d), ...result]);\n\t\t\t} catch (error) {\n\t\t\t\t// ignore errors in blocks that have already been destroyed\n\t\t\t\tif ((parent.f & DESTROYED) === 0) {\n\t\t\t\t\tinvoke_error_boundary(error, parent);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch?.deactivate();\n\t\t\tunset_context();\n\t\t})\n\t\t.catch((error) => {\n\t\t\tboundary.error(error);\n\t\t});\n}\n\n/**\n * Captures the current effect context so that we can restore it after\n * some asynchronous work has happened (so that e.g. `await a + b`\n * causes `b` to be registered as a dependency).\n */\nfunction capture() {\n\tvar previous_effect = active_effect;\n\tvar previous_reaction = active_reaction;\n\tvar previous_component_context = component_context;\n\n\treturn function restore() {\n\t\tset_active_effect(previous_effect);\n\t\tset_active_reaction(previous_reaction);\n\t\tset_component_context(previous_component_context);\n\n\t\tif (DEV) {\n\t\t\tset_from_async_derived(null);\n\t\t}\n\t};\n}\n\n/**\n * Wraps an `await` expression in such a way that the effect context that was\n * active before the expression evaluated can be reapplied afterwards —\n * `await a + b` becomes `(await $.save(a))() + b`\n * @template T\n * @param {Promise} promise\n * @returns {Promise<() => T>}\n */\nexport async function save(promise) {\n\tvar restore = capture();\n\tvar value = await promise;\n\n\treturn () => {\n\t\trestore();\n\t\treturn value;\n\t};\n}\n\n/**\n * Reset `current_async_effect` after the `promise` resolves, so\n * that we can emit `await_reactivity_loss` warnings\n * @template T\n * @param {Promise} promise\n * @returns {Promise<() => T>}\n */\nexport async function track_reactivity_loss(promise) {\n\tvar previous_async_effect = current_async_effect;\n\tvar value = await promise;\n\n\treturn () => {\n\t\tset_from_async_derived(previous_async_effect);\n\t\treturn value;\n\t};\n}\n\n/**\n * Used in `for await` loops in DEV, so\n * that we can emit `await_reactivity_loss` warnings\n * after each `async_iterator` result resolves and\n * after the `async_iterator` return resolves (if it runs)\n * @template T\n * @template TReturn\n * @param {Iterable | AsyncIterable} iterable\n * @returns {AsyncGenerator}\n */\nexport async function* for_await_track_reactivity_loss(iterable) {\n\t// This is based on the algorithms described in ECMA-262:\n\t// ForIn/OfBodyEvaluation\n\t// https://tc39.es/ecma262/multipage/ecmascript-language-statements-and-declarations.html#sec-runtime-semantics-forin-div-ofbodyevaluation-lhs-stmt-iterator-lhskind-labelset\n\t// AsyncIteratorClose\n\t// https://tc39.es/ecma262/multipage/abstract-operations.html#sec-asynciteratorclose\n\n\t/** @type {AsyncIterator} */\n\t// @ts-ignore\n\tconst iterator = iterable[Symbol.asyncIterator]?.() ?? iterable[Symbol.iterator]?.();\n\n\tif (iterator === undefined) {\n\t\tthrow new TypeError('value is not async iterable');\n\t}\n\n\t/** Whether the completion of the iterator was \"normal\", meaning it wasn't ended via `break` or a similar method */\n\tlet normal_completion = false;\n\ttry {\n\t\twhile (true) {\n\t\t\tconst { done, value } = (await track_reactivity_loss(iterator.next()))();\n\t\t\tif (done) {\n\t\t\t\tnormal_completion = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tyield value;\n\t\t}\n\t} finally {\n\t\t// If the iterator had a normal completion and `return` is defined on the iterator, call it and return the value\n\t\tif (normal_completion && iterator.return !== undefined) {\n\t\t\t// eslint-disable-next-line no-unsafe-finally\n\t\t\treturn /** @type {TReturn} */ ((await track_reactivity_loss(iterator.return()))().value);\n\t\t}\n\t}\n}\n\nexport function unset_context() {\n\tset_active_effect(null);\n\tset_active_reaction(null);\n\tset_component_context(null);\n\tif (DEV) set_from_async_derived(null);\n}\n","/** @import { Derived, Effect, Source } from '#client' */\nimport {\n\tBLOCK_EFFECT,\n\tBRANCH_EFFECT,\n\tCLEAN,\n\tDESTROYED,\n\tDIRTY,\n\tEFFECT,\n\tASYNC,\n\tINERT,\n\tRENDER_EFFECT,\n\tROOT_EFFECT,\n\tUSER_EFFECT,\n\tMAYBE_DIRTY\n} from '#client/constants';\nimport { async_mode_flag } from '../../flags/index.js';\nimport { deferred, define_property } from '../../shared/utils.js';\nimport { get_pending_boundary } from '../dom/blocks/boundary.js';\nimport {\n\tactive_effect,\n\tis_dirty,\n\tis_updating_effect,\n\tset_is_updating_effect,\n\tset_signal_status,\n\tupdate_effect\n} from '../runtime.js';\nimport * as e from '../errors.js';\nimport { flush_tasks } from '../dom/task.js';\nimport { DEV } from 'esm-env';\nimport { invoke_error_boundary } from '../error-handling.js';\nimport { old_values } from './sources.js';\nimport { unlink_effect } from './effects.js';\nimport { unset_context } from './async.js';\n\n/** @type {Set} */\nconst batches = new Set();\n\n/** @type {Batch | null} */\nexport let current_batch = null;\n\n/**\n * This is needed to avoid overwriting inputs in non-async mode\n * TODO 6.0 remove this, as non-async mode will go away\n * @type {Batch | null}\n */\nexport let previous_batch = null;\n\n/**\n * When time travelling, we re-evaluate deriveds based on the temporary\n * values of their dependencies rather than their actual values, and cache\n * the results in this map rather than on the deriveds themselves\n * @type {Map | null}\n */\nexport let batch_deriveds = null;\n\n/** @type {Set<() => void>} */\nexport let effect_pending_updates = new Set();\n\n/** @type {Array<() => void>} */\nlet tasks = [];\n\nfunction dequeue() {\n\tconst task = /** @type {() => void} */ (tasks.shift());\n\n\tif (tasks.length > 0) {\n\t\tqueueMicrotask(dequeue);\n\t}\n\n\ttask();\n}\n\n/** @type {Effect[]} */\nlet queued_root_effects = [];\n\n/** @type {Effect | null} */\nlet last_scheduled_effect = null;\n\nlet is_flushing = false;\n\nlet is_flushing_sync = false;\nexport class Batch {\n\t/**\n\t * The current values of any sources that are updated in this batch\n\t * They keys of this map are identical to `this.#previous`\n\t * @type {Map}\n\t */\n\tcurrent = new Map();\n\n\t/**\n\t * The values of any sources that are updated in this batch _before_ those updates took place.\n\t * They keys of this map are identical to `this.#current`\n\t * @type {Map}\n\t */\n\t#previous = new Map();\n\n\t/**\n\t * When the batch is committed (and the DOM is updated), we need to remove old branches\n\t * and append new ones by calling the functions added inside (if/each/key/etc) blocks\n\t * @type {Set<() => void>}\n\t */\n\t#callbacks = new Set();\n\n\t/**\n\t * The number of async effects that are currently in flight\n\t */\n\t#pending = 0;\n\n\t/**\n\t * A deferred that resolves when the batch is committed, used with `settled()`\n\t * TODO replace with Promise.withResolvers once supported widely enough\n\t * @type {{ promise: Promise, resolve: (value?: any) => void, reject: (reason: unknown) => void } | null}\n\t */\n\t#deferred = null;\n\n\t/**\n\t * True if an async effect inside this batch resolved and\n\t * its parent branch was already deleted\n\t */\n\t#neutered = false;\n\n\t/**\n\t * Async effects (created inside `async_derived`) encountered during processing.\n\t * These run after the rest of the batch has updated, since they should\n\t * always have the latest values\n\t * @type {Effect[]}\n\t */\n\t#async_effects = [];\n\n\t/**\n\t * The same as `#async_effects`, but for effects inside a newly-created\n\t * `` — these do not prevent the batch from committing\n\t * @type {Effect[]}\n\t */\n\t#boundary_async_effects = [];\n\n\t/**\n\t * Template effects and `$effect.pre` effects, which run when\n\t * a batch is committed\n\t * @type {Effect[]}\n\t */\n\t#render_effects = [];\n\n\t/**\n\t * The same as `#render_effects`, but for `$effect` (which runs after)\n\t * @type {Effect[]}\n\t */\n\t#effects = [];\n\n\t/**\n\t * Block effects, which may need to re-run on subsequent flushes\n\t * in order to update internal sources (e.g. each block items)\n\t * @type {Effect[]}\n\t */\n\t#block_effects = [];\n\n\t/**\n\t * Deferred effects (which run after async work has completed) that are DIRTY\n\t * @type {Effect[]}\n\t */\n\t#dirty_effects = [];\n\n\t/**\n\t * Deferred effects that are MAYBE_DIRTY\n\t * @type {Effect[]}\n\t */\n\t#maybe_dirty_effects = [];\n\n\t/**\n\t * A set of branches that still exist, but will be destroyed when this batch\n\t * is committed — we skip over these during `process`\n\t * @type {Set}\n\t */\n\tskipped_effects = new Set();\n\n\t/**\n\t *\n\t * @param {Effect[]} root_effects\n\t */\n\tprocess(root_effects) {\n\t\tqueued_root_effects = [];\n\n\t\tprevious_batch = null;\n\n\t\t/** @type {Map | null} */\n\t\tvar current_values = null;\n\n\t\t// if there are multiple batches, we are 'time travelling' —\n\t\t// we need to undo the changes belonging to any batch\n\t\t// other than the current one\n\t\tif (batches.size > 1) {\n\t\t\tcurrent_values = new Map();\n\t\t\tbatch_deriveds = new Map();\n\n\t\t\tfor (const [source, current] of this.current) {\n\t\t\t\tcurrent_values.set(source, { v: source.v, wv: source.wv });\n\t\t\t\tsource.v = current;\n\t\t\t}\n\n\t\t\tfor (const batch of batches) {\n\t\t\t\tif (batch === this) continue;\n\n\t\t\t\tfor (const [source, previous] of batch.#previous) {\n\t\t\t\t\tif (!current_values.has(source)) {\n\t\t\t\t\t\tcurrent_values.set(source, { v: source.v, wv: source.wv });\n\t\t\t\t\t\tsource.v = previous;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (const root of root_effects) {\n\t\t\tthis.#traverse_effect_tree(root);\n\t\t}\n\n\t\t// if we didn't start any new async work, and no async work\n\t\t// is outstanding from a previous flush, commit\n\t\tif (this.#async_effects.length === 0 && this.#pending === 0) {\n\t\t\tthis.#commit();\n\n\t\t\tvar render_effects = this.#render_effects;\n\t\t\tvar effects = this.#effects;\n\n\t\t\tthis.#render_effects = [];\n\t\t\tthis.#effects = [];\n\t\t\tthis.#block_effects = [];\n\n\t\t\t// If sources are written to, then work needs to happen in a separate batch, else prior sources would be mixed with\n\t\t\t// newly updated sources, which could lead to infinite loops when effects run over and over again.\n\t\t\tprevious_batch = current_batch;\n\t\t\tcurrent_batch = null;\n\n\t\t\tflush_queued_effects(render_effects);\n\t\t\tflush_queued_effects(effects);\n\n\t\t\t// Reinstate the current batch if there was no new one created, as `process()` runs in a loop in `flush_effects()`.\n\t\t\t// That method expects `current_batch` to be set, and could run the loop again if effects result in new effects\n\t\t\t// being scheduled but without writes happening in which case no new batch is created.\n\t\t\tif (current_batch === null) {\n\t\t\t\tcurrent_batch = this;\n\t\t\t} else {\n\t\t\t\tbatches.delete(this);\n\t\t\t}\n\n\t\t\tthis.#deferred?.resolve();\n\t\t} else {\n\t\t\tthis.#defer_effects(this.#render_effects);\n\t\t\tthis.#defer_effects(this.#effects);\n\t\t\tthis.#defer_effects(this.#block_effects);\n\t\t}\n\n\t\tif (current_values) {\n\t\t\tfor (const [source, { v, wv }] of current_values) {\n\t\t\t\t// reset the source to the current value (unless\n\t\t\t\t// it got a newer value as a result of effects running)\n\t\t\t\tif (source.wv <= wv) {\n\t\t\t\t\tsource.v = v;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch_deriveds = null;\n\t\t}\n\n\t\tfor (const effect of this.#async_effects) {\n\t\t\tupdate_effect(effect);\n\t\t}\n\n\t\tfor (const effect of this.#boundary_async_effects) {\n\t\t\tupdate_effect(effect);\n\t\t}\n\n\t\tthis.#async_effects = [];\n\t\tthis.#boundary_async_effects = [];\n\t}\n\n\t/**\n\t * Traverse the effect tree, executing effects or stashing\n\t * them for later execution as appropriate\n\t * @param {Effect} root\n\t */\n\t#traverse_effect_tree(root) {\n\t\troot.f ^= CLEAN;\n\n\t\tvar effect = root.first;\n\n\t\twhile (effect !== null) {\n\t\t\tvar flags = effect.f;\n\t\t\tvar is_branch = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) !== 0;\n\t\t\tvar is_skippable_branch = is_branch && (flags & CLEAN) !== 0;\n\n\t\t\tvar skip = is_skippable_branch || (flags & INERT) !== 0 || this.skipped_effects.has(effect);\n\n\t\t\tif (!skip && effect.fn !== null) {\n\t\t\t\tif (is_branch) {\n\t\t\t\t\teffect.f ^= CLEAN;\n\t\t\t\t} else if ((flags & CLEAN) === 0) {\n\t\t\t\t\tif ((flags & EFFECT) !== 0) {\n\t\t\t\t\t\tthis.#effects.push(effect);\n\t\t\t\t\t} else if (async_mode_flag && (flags & RENDER_EFFECT) !== 0) {\n\t\t\t\t\t\tthis.#render_effects.push(effect);\n\t\t\t\t\t} else if ((flags & ASYNC) !== 0) {\n\t\t\t\t\t\tvar effects = effect.b?.pending ? this.#boundary_async_effects : this.#async_effects;\n\t\t\t\t\t\teffects.push(effect);\n\t\t\t\t\t} else if (is_dirty(effect)) {\n\t\t\t\t\t\tif ((effect.f & BLOCK_EFFECT) !== 0) this.#block_effects.push(effect);\n\t\t\t\t\t\tupdate_effect(effect);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar child = effect.first;\n\n\t\t\t\tif (child !== null) {\n\t\t\t\t\teffect = child;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar parent = effect.parent;\n\t\t\teffect = effect.next;\n\n\t\t\twhile (effect === null && parent !== null) {\n\t\t\t\teffect = parent.next;\n\t\t\t\tparent = parent.parent;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {Effect[]} effects\n\t */\n\t#defer_effects(effects) {\n\t\tfor (const e of effects) {\n\t\t\tconst target = (e.f & DIRTY) !== 0 ? this.#dirty_effects : this.#maybe_dirty_effects;\n\t\t\ttarget.push(e);\n\n\t\t\t// mark as clean so they get scheduled if they depend on pending async state\n\t\t\tset_signal_status(e, CLEAN);\n\t\t}\n\n\t\teffects.length = 0;\n\t}\n\n\t/**\n\t * Associate a change to a given source with the current\n\t * batch, noting its previous and current values\n\t * @param {Source} source\n\t * @param {any} value\n\t */\n\tcapture(source, value) {\n\t\tif (!this.#previous.has(source)) {\n\t\t\tthis.#previous.set(source, value);\n\t\t}\n\n\t\tthis.current.set(source, source.v);\n\t}\n\n\tactivate() {\n\t\tcurrent_batch = this;\n\t}\n\n\tdeactivate() {\n\t\tcurrent_batch = null;\n\t\tprevious_batch = null;\n\n\t\tfor (const update of effect_pending_updates) {\n\t\t\teffect_pending_updates.delete(update);\n\t\t\tupdate();\n\n\t\t\tif (current_batch !== null) {\n\t\t\t\t// only do one at a time\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tneuter() {\n\t\tthis.#neutered = true;\n\t}\n\n\tflush() {\n\t\tif (queued_root_effects.length > 0) {\n\t\t\tflush_effects();\n\t\t} else {\n\t\t\tthis.#commit();\n\t\t}\n\n\t\tif (current_batch !== this) {\n\t\t\t// this can happen if a `flushSync` occurred during `flush_effects()`,\n\t\t\t// which is permitted in legacy mode despite being a terrible idea\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.#pending === 0) {\n\t\t\tbatches.delete(this);\n\t\t}\n\n\t\tthis.deactivate();\n\t}\n\n\t/**\n\t * Append and remove branches to/from the DOM\n\t */\n\t#commit() {\n\t\tif (!this.#neutered) {\n\t\t\tfor (const fn of this.#callbacks) {\n\t\t\t\tfn();\n\t\t\t}\n\t\t}\n\n\t\tthis.#callbacks.clear();\n\t}\n\n\tincrement() {\n\t\tthis.#pending += 1;\n\t}\n\n\tdecrement() {\n\t\tthis.#pending -= 1;\n\n\t\tif (this.#pending === 0) {\n\t\t\tfor (const e of this.#dirty_effects) {\n\t\t\t\tset_signal_status(e, DIRTY);\n\t\t\t\tschedule_effect(e);\n\t\t\t}\n\n\t\t\tfor (const e of this.#maybe_dirty_effects) {\n\t\t\t\tset_signal_status(e, MAYBE_DIRTY);\n\t\t\t\tschedule_effect(e);\n\t\t\t}\n\n\t\t\tthis.#render_effects = [];\n\t\t\tthis.#effects = [];\n\n\t\t\tthis.flush();\n\t\t} else {\n\t\t\tthis.deactivate();\n\t\t}\n\t}\n\n\t/** @param {() => void} fn */\n\tadd_callback(fn) {\n\t\tthis.#callbacks.add(fn);\n\t}\n\n\tsettled() {\n\t\treturn (this.#deferred ??= deferred()).promise;\n\t}\n\n\tstatic ensure() {\n\t\tif (current_batch === null) {\n\t\t\tconst batch = (current_batch = new Batch());\n\t\t\tbatches.add(current_batch);\n\n\t\t\tif (!is_flushing_sync) {\n\t\t\t\tBatch.enqueue(() => {\n\t\t\t\t\tif (current_batch !== batch) {\n\t\t\t\t\t\t// a flushSync happened in the meantime\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tbatch.flush();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn current_batch;\n\t}\n\n\t/** @param {() => void} task */\n\tstatic enqueue(task) {\n\t\tif (tasks.length === 0) {\n\t\t\tqueueMicrotask(dequeue);\n\t\t}\n\n\t\ttasks.unshift(task);\n\t}\n}\n\n/**\n * Synchronously flush any pending updates.\n * Returns void if no callback is provided, otherwise returns the result of calling the callback.\n * @template [T=void]\n * @param {(() => T) | undefined} [fn]\n * @returns {T}\n */\nexport function flushSync(fn) {\n\tif (async_mode_flag && active_effect !== null) {\n\t\te.flush_sync_in_effect();\n\t}\n\n\tvar was_flushing_sync = is_flushing_sync;\n\tis_flushing_sync = true;\n\n\ttry {\n\t\tvar result;\n\n\t\tif (fn) {\n\t\t\tflush_effects();\n\t\t\tresult = fn();\n\t\t}\n\n\t\twhile (true) {\n\t\t\tflush_tasks();\n\n\t\t\tif (queued_root_effects.length === 0) {\n\t\t\t\tcurrent_batch?.flush();\n\n\t\t\t\t// we need to check again, in case we just updated an `$effect.pending()`\n\t\t\t\tif (queued_root_effects.length === 0) {\n\t\t\t\t\t// this would be reset in `flush_effects()` but since we are early returning here,\n\t\t\t\t\t// we need to reset it here as well in case the first time there's 0 queued root effects\n\t\t\t\t\tlast_scheduled_effect = null;\n\n\t\t\t\t\treturn /** @type {T} */ (result);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tflush_effects();\n\t\t}\n\t} finally {\n\t\tis_flushing_sync = was_flushing_sync;\n\t}\n}\n\nfunction flush_effects() {\n\tvar was_updating_effect = is_updating_effect;\n\tis_flushing = true;\n\n\ttry {\n\t\tvar flush_count = 0;\n\t\tset_is_updating_effect(true);\n\n\t\twhile (queued_root_effects.length > 0) {\n\t\t\tvar batch = Batch.ensure();\n\n\t\t\tif (flush_count++ > 1000) {\n\t\t\t\tif (DEV) {\n\t\t\t\t\tvar updates = new Map();\n\n\t\t\t\t\tfor (const source of batch.current.keys()) {\n\t\t\t\t\t\tfor (const [stack, update] of source.updated ?? []) {\n\t\t\t\t\t\t\tvar entry = updates.get(stack);\n\n\t\t\t\t\t\t\tif (!entry) {\n\t\t\t\t\t\t\t\tentry = { error: update.error, count: 0 };\n\t\t\t\t\t\t\t\tupdates.set(stack, entry);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tentry.count += update.count;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const update of updates.values()) {\n\t\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\t\tconsole.error(update.error);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tinfinite_loop_guard();\n\t\t\t}\n\n\t\t\tbatch.process(queued_root_effects);\n\t\t\told_values.clear();\n\t\t}\n\t} finally {\n\t\tis_flushing = false;\n\t\tset_is_updating_effect(was_updating_effect);\n\n\t\tlast_scheduled_effect = null;\n\t}\n}\n\nfunction infinite_loop_guard() {\n\ttry {\n\t\te.effect_update_depth_exceeded();\n\t} catch (error) {\n\t\tif (DEV) {\n\t\t\t// stack contains no useful information, replace it\n\t\t\tdefine_property(error, 'stack', { value: '' });\n\t\t}\n\n\t\t// Best effort: invoke the boundary nearest the most recent\n\t\t// effect and hope that it's relevant to the infinite loop\n\t\tinvoke_error_boundary(error, last_scheduled_effect);\n\t}\n}\n\n/**\n * @param {Array} effects\n * @returns {void}\n */\nfunction flush_queued_effects(effects) {\n\tvar length = effects.length;\n\tif (length === 0) return;\n\n\tvar i = 0;\n\n\twhile (i < length) {\n\t\tvar effect = effects[i++];\n\n\t\tif ((effect.f & (DESTROYED | INERT)) === 0 && is_dirty(effect)) {\n\t\t\tvar n = current_batch ? current_batch.current.size : 0;\n\n\t\t\tupdate_effect(effect);\n\n\t\t\t// Effects with no dependencies or teardown do not get added to the effect tree.\n\t\t\t// Deferred effects (e.g. `$effect(...)`) _are_ added to the tree because we\n\t\t\t// don't know if we need to keep them until they are executed. Doing the check\n\t\t\t// here (rather than in `update_effect`) allows us to skip the work for\n\t\t\t// immediate effects.\n\t\t\tif (effect.deps === null && effect.first === null && effect.nodes_start === null) {\n\t\t\t\t// if there's no teardown or abort controller we completely unlink\n\t\t\t\t// the effect from the graph\n\t\t\t\tif (effect.teardown === null && effect.ac === null) {\n\t\t\t\t\t// remove this effect from the graph\n\t\t\t\t\tunlink_effect(effect);\n\t\t\t\t} else {\n\t\t\t\t\t// keep the effect in the graph, but free up some memory\n\t\t\t\t\teffect.fn = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if state is written in a user effect, abort and re-schedule, lest we run\n\t\t\t// effects that should be removed as a result of the state change\n\t\t\tif (\n\t\t\t\tcurrent_batch !== null &&\n\t\t\t\tcurrent_batch.current.size > n &&\n\t\t\t\t(effect.f & USER_EFFECT) !== 0\n\t\t\t) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\twhile (i < length) {\n\t\tschedule_effect(effects[i++]);\n\t}\n}\n\n/**\n * @param {Effect} signal\n * @returns {void}\n */\nexport function schedule_effect(signal) {\n\tvar effect = (last_scheduled_effect = signal);\n\n\twhile (effect.parent !== null) {\n\t\teffect = effect.parent;\n\t\tvar flags = effect.f;\n\n\t\t// if the effect is being scheduled because a parent (each/await/etc) block\n\t\t// updated an internal source, bail out or we'll cause a second flush\n\t\tif (is_flushing && effect === active_effect && (flags & BLOCK_EFFECT) !== 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {\n\t\t\tif ((flags & CLEAN) === 0) return;\n\t\t\teffect.f ^= CLEAN;\n\t\t}\n\t}\n\n\tqueued_root_effects.push(effect);\n}\n\nexport function suspend() {\n\tvar boundary = get_pending_boundary();\n\tvar batch = /** @type {Batch} */ (current_batch);\n\tvar pending = boundary.pending;\n\n\tboundary.update_pending_count(1);\n\tif (!pending) batch.increment();\n\n\treturn function unsuspend() {\n\t\tboundary.update_pending_count(-1);\n\n\t\tif (!pending) {\n\t\t\tbatch.activate();\n\t\t\tbatch.decrement();\n\t\t}\n\n\t\tunset_context();\n\t};\n}\n\n/**\n * Forcibly remove all current batches, to prevent cross-talk between tests\n */\nexport function clear() {\n\tbatches.clear();\n}\n","/** @import { Derived, Effect, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tactive_reaction,\n\tactive_effect,\n\tuntracked_writes,\n\tget,\n\tset_untracked_writes,\n\tset_signal_status,\n\tuntrack,\n\tincrement_write_version,\n\tupdate_effect,\n\tcurrent_sources,\n\tis_dirty,\n\tuntracking,\n\tis_destroying_effect,\n\tpush_reaction_value\n} from '../runtime.js';\nimport { equals, safe_equals } from './equality.js';\nimport {\n\tCLEAN,\n\tDERIVED,\n\tDIRTY,\n\tBRANCH_EFFECT,\n\tINSPECT_EFFECT,\n\tUNOWNED,\n\tMAYBE_DIRTY,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tASYNC\n} from '#client/constants';\nimport * as e from '../errors.js';\nimport { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';\nimport { get_stack, tag_proxy } from '../dev/tracing.js';\nimport { component_context, is_runes } from '../context.js';\nimport { Batch, schedule_effect } from './batch.js';\nimport { proxy } from '../proxy.js';\nimport { execute_derived } from './deriveds.js';\n\nexport let inspect_effects = new Set();\n\n/** @type {Map} */\nexport const old_values = new Map();\n\n/**\n * @param {Set} v\n */\nexport function set_inspect_effects(v) {\n\tinspect_effects = v;\n}\n\nlet inspect_effects_deferred = false;\n\nexport function set_inspect_effects_deferred() {\n\tinspect_effects_deferred = true;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n * @returns {Source}\n */\n// TODO rename this to `state` throughout the codebase\nexport function source(v, stack) {\n\t/** @type {Value} */\n\tvar signal = {\n\t\tf: 0, // TODO ideally we could skip this altogether, but it causes type errors\n\t\tv,\n\t\treactions: null,\n\t\tequals,\n\t\trv: 0,\n\t\twv: 0\n\t};\n\n\tif (DEV && tracing_mode_flag) {\n\t\tsignal.created = stack ?? get_stack('CreatedAt');\n\t\tsignal.updated = null;\n\t\tsignal.set_during_effect = false;\n\t\tsignal.trace = null;\n\t}\n\n\treturn signal;\n}\n\n/**\n * @template V\n * @param {V} v\n * @param {Error | null} [stack]\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function state(v, stack) {\n\tconst s = source(v, stack);\n\n\tpush_reaction_value(s);\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {V} initial_value\n * @param {boolean} [immutable]\n * @returns {Source}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function mutable_source(initial_value, immutable = false, trackable = true) {\n\tconst s = source(initial_value);\n\tif (!immutable) {\n\t\ts.equals = safe_equals;\n\t}\n\n\t// bind the signal to the component context, in case we need to\n\t// track updates to trigger beforeUpdate/afterUpdate callbacks\n\tif (legacy_mode_flag && trackable && component_context !== null && component_context.l !== null) {\n\t\t(component_context.l.s ??= []).push(s);\n\t}\n\n\treturn s;\n}\n\n/**\n * @template V\n * @param {Value} source\n * @param {V} value\n */\nexport function mutate(source, value) {\n\tset(\n\t\tsource,\n\t\tuntrack(() => get(source))\n\t);\n\treturn value;\n}\n\n/**\n * @template V\n * @param {Source} source\n * @param {V} value\n * @param {boolean} [should_proxy]\n * @returns {V}\n */\nexport function set(source, value, should_proxy = false) {\n\tif (\n\t\tactive_reaction !== null &&\n\t\t// since we are untracking the function inside `$inspect.with` we need to add this check\n\t\t// to ensure we error if state is set inside an inspect effect\n\t\t(!untracking || (active_reaction.f & INSPECT_EFFECT) !== 0) &&\n\t\tis_runes() &&\n\t\t(active_reaction.f & (DERIVED | BLOCK_EFFECT | ASYNC | INSPECT_EFFECT)) !== 0 &&\n\t\t!current_sources?.includes(source)\n\t) {\n\t\te.state_unsafe_mutation();\n\t}\n\n\tlet new_value = should_proxy ? proxy(value) : value;\n\n\tif (DEV) {\n\t\ttag_proxy(new_value, /** @type {string} */ (source.label));\n\t}\n\n\treturn internal_set(source, new_value);\n}\n\n/**\n * @template V\n * @param {Source} source\n * @param {V} value\n * @returns {V}\n */\nexport function internal_set(source, value) {\n\tif (!source.equals(value)) {\n\t\tvar old_value = source.v;\n\n\t\tif (is_destroying_effect) {\n\t\t\told_values.set(source, value);\n\t\t} else {\n\t\t\told_values.set(source, old_value);\n\t\t}\n\n\t\tsource.v = value;\n\n\t\tvar batch = Batch.ensure();\n\t\tbatch.capture(source, old_value);\n\n\t\tif (DEV) {\n\t\t\tif (tracing_mode_flag || active_effect !== null) {\n\t\t\t\tconst error = get_stack('UpdatedAt');\n\n\t\t\t\tif (error !== null) {\n\t\t\t\t\tsource.updated ??= new Map();\n\t\t\t\t\tlet entry = source.updated.get(error.stack);\n\n\t\t\t\t\tif (!entry) {\n\t\t\t\t\t\tentry = { error, count: 0 };\n\t\t\t\t\t\tsource.updated.set(error.stack, entry);\n\t\t\t\t\t}\n\n\t\t\t\t\tentry.count++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (active_effect !== null) {\n\t\t\t\tsource.set_during_effect = true;\n\t\t\t}\n\t\t}\n\n\t\tif ((source.f & DERIVED) !== 0) {\n\t\t\t// if we are assigning to a dirty derived we set it to clean/maybe dirty but we also eagerly execute it to track the dependencies\n\t\t\tif ((source.f & DIRTY) !== 0) {\n\t\t\t\texecute_derived(/** @type {Derived} */ (source));\n\t\t\t}\n\t\t\tset_signal_status(source, (source.f & UNOWNED) === 0 ? CLEAN : MAYBE_DIRTY);\n\t\t}\n\n\t\tsource.wv = increment_write_version();\n\n\t\tmark_reactions(source, DIRTY);\n\n\t\t// It's possible that the current reaction might not have up-to-date dependencies\n\t\t// whilst it's actively running. So in the case of ensuring it registers the reaction\n\t\t// properly for itself, we need to ensure the current effect actually gets\n\t\t// scheduled. i.e: `$effect(() => x++)`\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tactive_effect !== null &&\n\t\t\t(active_effect.f & CLEAN) !== 0 &&\n\t\t\t(active_effect.f & (BRANCH_EFFECT | ROOT_EFFECT)) === 0\n\t\t) {\n\t\t\tif (untracked_writes === null) {\n\t\t\t\tset_untracked_writes([source]);\n\t\t\t} else {\n\t\t\t\tuntracked_writes.push(source);\n\t\t\t}\n\t\t}\n\n\t\tif (DEV && inspect_effects.size > 0 && !inspect_effects_deferred) {\n\t\t\tflush_inspect_effects();\n\t\t}\n\t}\n\n\treturn value;\n}\n\nexport function flush_inspect_effects() {\n\tinspect_effects_deferred = false;\n\n\tconst inspects = Array.from(inspect_effects);\n\n\tfor (const effect of inspects) {\n\t\t// Mark clean inspect-effects as maybe dirty and then check their dirtiness\n\t\t// instead of just updating the effects - this way we avoid overfiring.\n\t\tif ((effect.f & CLEAN) !== 0) {\n\t\t\tset_signal_status(effect, MAYBE_DIRTY);\n\t\t}\n\n\t\tif (is_dirty(effect)) {\n\t\t\tupdate_effect(effect);\n\t\t}\n\t}\n\n\tinspect_effects.clear();\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update(source, d = 1) {\n\tvar value = get(source);\n\tvar result = d === 1 ? value++ : value--;\n\n\tset(source, value);\n\n\t// @ts-expect-error\n\treturn result;\n}\n\n/**\n * @template {number | bigint} T\n * @param {Source} source\n * @param {1 | -1} [d]\n * @returns {T}\n */\nexport function update_pre(source, d = 1) {\n\tvar value = get(source);\n\n\t// @ts-expect-error\n\treturn set(source, d === 1 ? ++value : --value);\n}\n\n/**\n * Silently (without using `get`) increment a source\n * @param {Source} source\n */\nexport function increment(source) {\n\tset(source, source.v + 1);\n}\n\n/**\n * @param {Value} signal\n * @param {number} status should be DIRTY or MAYBE_DIRTY\n * @returns {void}\n */\nfunction mark_reactions(signal, status) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tvar runes = is_runes();\n\tvar length = reactions.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tvar reaction = reactions[i];\n\t\tvar flags = reaction.f;\n\n\t\t// In legacy mode, skip the current effect to prevent infinite loops\n\t\tif (!runes && reaction === active_effect) continue;\n\n\t\t// Inspect effects need to run immediately, so that the stack trace makes sense\n\t\tif (DEV && (flags & INSPECT_EFFECT) !== 0) {\n\t\t\tinspect_effects.add(reaction);\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar not_dirty = (flags & DIRTY) === 0;\n\n\t\t// don't set a DIRTY reaction to MAYBE_DIRTY\n\t\tif (not_dirty) {\n\t\t\tset_signal_status(reaction, status);\n\t\t}\n\n\t\tif ((flags & DERIVED) !== 0) {\n\t\t\tmark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY);\n\t\t} else if (not_dirty) {\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n","/** @import { Derived, Effect, Reaction, Signal, Source, Value } from '#client' */\nimport { DEV } from 'esm-env';\nimport { get_descriptors, get_prototype_of, index_of } from '../shared/utils.js';\nimport {\n\tdestroy_block_effect_children,\n\tdestroy_effect_children,\n\texecute_effect_teardown\n} from './reactivity/effects.js';\nimport {\n\tDIRTY,\n\tMAYBE_DIRTY,\n\tCLEAN,\n\tDERIVED,\n\tUNOWNED,\n\tDESTROYED,\n\tBRANCH_EFFECT,\n\tSTATE_SYMBOL,\n\tBLOCK_EFFECT,\n\tROOT_EFFECT,\n\tDISCONNECTED,\n\tREACTION_IS_UPDATING,\n\tSTALE_REACTION,\n\tERROR_VALUE\n} from './constants.js';\nimport { old_values } from './reactivity/sources.js';\nimport {\n\tdestroy_derived_effects,\n\texecute_derived,\n\tcurrent_async_effect,\n\trecent_async_deriveds,\n\tupdate_derived\n} from './reactivity/deriveds.js';\nimport { async_mode_flag, tracing_mode_flag } from '../flags/index.js';\nimport { tracing_expressions, get_stack } from './dev/tracing.js';\nimport {\n\tcomponent_context,\n\tdev_current_component_function,\n\tdev_stack,\n\tis_runes,\n\tset_component_context,\n\tset_dev_current_component_function,\n\tset_dev_stack\n} from './context.js';\nimport * as w from './warnings.js';\nimport { Batch, batch_deriveds, flushSync, schedule_effect } from './reactivity/batch.js';\nimport { handle_error } from './error-handling.js';\nimport { UNINITIALIZED } from '../../constants.js';\nimport { captured_signals } from './legacy.js';\n\nexport let is_updating_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_updating_effect(value) {\n\tis_updating_effect = value;\n}\n\nexport let is_destroying_effect = false;\n\n/** @param {boolean} value */\nexport function set_is_destroying_effect(value) {\n\tis_destroying_effect = value;\n}\n\n/** @type {null | Reaction} */\nexport let active_reaction = null;\n\nexport let untracking = false;\n\n/** @param {null | Reaction} reaction */\nexport function set_active_reaction(reaction) {\n\tactive_reaction = reaction;\n}\n\n/** @type {null | Effect} */\nexport let active_effect = null;\n\n/** @param {null | Effect} effect */\nexport function set_active_effect(effect) {\n\tactive_effect = effect;\n}\n\n/**\n * When sources are created within a reaction, reading and writing\n * them within that reaction should not cause a re-run\n * @type {null | Source[]}\n */\nexport let current_sources = null;\n\n/** @param {Value} value */\nexport function push_reaction_value(value) {\n\tif (active_reaction !== null && (!async_mode_flag || (active_reaction.f & DERIVED) !== 0)) {\n\t\tif (current_sources === null) {\n\t\t\tcurrent_sources = [value];\n\t\t} else {\n\t\t\tcurrent_sources.push(value);\n\t\t}\n\t}\n}\n\n/**\n * The dependencies of the reaction that is currently being executed. In many cases,\n * the dependencies are unchanged between runs, and so this will be `null` unless\n * and until a new dependency is accessed — we track this via `skipped_deps`\n * @type {null | Value[]}\n */\nlet new_deps = null;\n\nlet skipped_deps = 0;\n\n/**\n * Tracks writes that the effect it's executed in doesn't listen to yet,\n * so that the dependency can be added to the effect later on if it then reads it\n * @type {null | Source[]}\n */\nexport let untracked_writes = null;\n\n/** @param {null | Source[]} value */\nexport function set_untracked_writes(value) {\n\tuntracked_writes = value;\n}\n\n/**\n * @type {number} Used by sources and deriveds for handling updates.\n * Version starts from 1 so that unowned deriveds differentiate between a created effect and a run one for tracing\n **/\nexport let write_version = 1;\n\n/** @type {number} Used to version each read of a source of derived to avoid duplicating depedencies inside a reaction */\nlet read_version = 0;\n\nexport let update_version = read_version;\n\n/** @param {number} value */\nexport function set_update_version(value) {\n\tupdate_version = value;\n}\n\n// If we are working with a get() chain that has no active container,\n// to prevent memory leaks, we skip adding the reaction.\nexport let skip_reaction = false;\n\nexport function increment_write_version() {\n\treturn ++write_version;\n}\n\n/**\n * Determines whether a derived or effect is dirty.\n * If it is MAYBE_DIRTY, will set the status to CLEAN\n * @param {Reaction} reaction\n * @returns {boolean}\n */\nexport function is_dirty(reaction) {\n\tvar flags = reaction.f;\n\n\tif ((flags & DIRTY) !== 0) {\n\t\treturn true;\n\t}\n\n\tif ((flags & MAYBE_DIRTY) !== 0) {\n\t\tvar dependencies = reaction.deps;\n\t\tvar is_unowned = (flags & UNOWNED) !== 0;\n\n\t\tif (dependencies !== null) {\n\t\t\tvar i;\n\t\t\tvar dependency;\n\t\t\tvar is_disconnected = (flags & DISCONNECTED) !== 0;\n\t\t\tvar is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction;\n\t\t\tvar length = dependencies.length;\n\n\t\t\t// If we are working with a disconnected or an unowned signal that is now connected (due to an active effect)\n\t\t\t// then we need to re-connect the reaction to the dependency, unless the effect has already been destroyed\n\t\t\t// (which can happen if the derived is read by an async derived)\n\t\t\tif (\n\t\t\t\t(is_disconnected || is_unowned_connected) &&\n\t\t\t\t(active_effect === null || (active_effect.f & DESTROYED) === 0)\n\t\t\t) {\n\t\t\t\tvar derived = /** @type {Derived} */ (reaction);\n\t\t\t\tvar parent = derived.parent;\n\n\t\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\t\t// We always re-add all reactions (even duplicates) if the derived was\n\t\t\t\t\t// previously disconnected, however we don't if it was unowned as we\n\t\t\t\t\t// de-duplicate dependencies in that case\n\t\t\t\t\tif (is_disconnected || !dependency?.reactions?.includes(derived)) {\n\t\t\t\t\t\t(dependency.reactions ??= []).push(derived);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (is_disconnected) {\n\t\t\t\t\tderived.f ^= DISCONNECTED;\n\t\t\t\t}\n\t\t\t\t// If the unowned derived is now fully connected to the graph again (it's unowned and reconnected, has a parent\n\t\t\t\t// and the parent is not unowned), then we can mark it as connected again, removing the need for the unowned\n\t\t\t\t// flag\n\t\t\t\tif (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t\t\tderived.f ^= UNOWNED;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (i = 0; i < length; i++) {\n\t\t\t\tdependency = dependencies[i];\n\n\t\t\t\tif (is_dirty(/** @type {Derived} */ (dependency))) {\n\t\t\t\t\tupdate_derived(/** @type {Derived} */ (dependency));\n\t\t\t\t}\n\n\t\t\t\tif (dependency.wv > reaction.wv) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Unowned signals should never be marked as clean unless they\n\t\t// are used within an active_effect without skip_reaction\n\t\tif (!is_unowned || (active_effect !== null && !skip_reaction)) {\n\t\t\tset_signal_status(reaction, CLEAN);\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * @param {Value} signal\n * @param {Effect} effect\n * @param {boolean} [root]\n */\nfunction schedule_possible_effect_self_invalidation(signal, effect, root = true) {\n\tvar reactions = signal.reactions;\n\tif (reactions === null) return;\n\n\tif (!async_mode_flag && current_sources?.includes(signal)) {\n\t\treturn;\n\t}\n\n\tfor (var i = 0; i < reactions.length; i++) {\n\t\tvar reaction = reactions[i];\n\n\t\tif ((reaction.f & DERIVED) !== 0) {\n\t\t\tschedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);\n\t\t} else if (effect === reaction) {\n\t\t\tif (root) {\n\t\t\t\tset_signal_status(reaction, DIRTY);\n\t\t\t} else if ((reaction.f & CLEAN) !== 0) {\n\t\t\t\tset_signal_status(reaction, MAYBE_DIRTY);\n\t\t\t}\n\t\t\tschedule_effect(/** @type {Effect} */ (reaction));\n\t\t}\n\t}\n}\n\n/** @param {Reaction} reaction */\nexport function update_reaction(reaction) {\n\tvar previous_deps = new_deps;\n\tvar previous_skipped_deps = skipped_deps;\n\tvar previous_untracked_writes = untracked_writes;\n\tvar previous_reaction = active_reaction;\n\tvar previous_skip_reaction = skip_reaction;\n\tvar previous_sources = current_sources;\n\tvar previous_component_context = component_context;\n\tvar previous_untracking = untracking;\n\tvar previous_update_version = update_version;\n\n\tvar flags = reaction.f;\n\n\tnew_deps = /** @type {null | Value[]} */ (null);\n\tskipped_deps = 0;\n\tuntracked_writes = null;\n\tskip_reaction =\n\t\t(flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);\n\tactive_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;\n\n\tcurrent_sources = null;\n\tset_component_context(reaction.ctx);\n\tuntracking = false;\n\tupdate_version = ++read_version;\n\n\tif (reaction.ac !== null) {\n\t\treaction.ac.abort(STALE_REACTION);\n\t\treaction.ac = null;\n\t}\n\n\ttry {\n\t\treaction.f |= REACTION_IS_UPDATING;\n\t\tvar result = /** @type {Function} */ (0, reaction.fn)();\n\t\tvar deps = reaction.deps;\n\n\t\tif (new_deps !== null) {\n\t\t\tvar i;\n\n\t\t\tremove_reactions(reaction, skipped_deps);\n\n\t\t\tif (deps !== null && skipped_deps > 0) {\n\t\t\t\tdeps.length = skipped_deps + new_deps.length;\n\t\t\t\tfor (i = 0; i < new_deps.length; i++) {\n\t\t\t\t\tdeps[skipped_deps + i] = new_deps[i];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treaction.deps = deps = new_deps;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!skip_reaction ||\n\t\t\t\t// Deriveds that already have reactions can cleanup, so we still add them as reactions\n\t\t\t\t((flags & DERIVED) !== 0 &&\n\t\t\t\t\t/** @type {import('#client').Derived} */ (reaction).reactions !== null)\n\t\t\t) {\n\t\t\t\tfor (i = skipped_deps; i < deps.length; i++) {\n\t\t\t\t\t(deps[i].reactions ??= []).push(reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (deps !== null && skipped_deps < deps.length) {\n\t\t\tremove_reactions(reaction, skipped_deps);\n\t\t\tdeps.length = skipped_deps;\n\t\t}\n\n\t\t// If we're inside an effect and we have untracked writes, then we need to\n\t\t// ensure that if any of those untracked writes result in re-invalidation\n\t\t// of the current effect, then that happens accordingly\n\t\tif (\n\t\t\tis_runes() &&\n\t\t\tuntracked_writes !== null &&\n\t\t\t!untracking &&\n\t\t\tdeps !== null &&\n\t\t\t(reaction.f & (DERIVED | MAYBE_DIRTY | DIRTY)) === 0\n\t\t) {\n\t\t\tfor (i = 0; i < /** @type {Source[]} */ (untracked_writes).length; i++) {\n\t\t\t\tschedule_possible_effect_self_invalidation(\n\t\t\t\t\tuntracked_writes[i],\n\t\t\t\t\t/** @type {Effect} */ (reaction)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// If we are returning to an previous reaction then\n\t\t// we need to increment the read version to ensure that\n\t\t// any dependencies in this reaction aren't marked with\n\t\t// the same version\n\t\tif (previous_reaction !== null && previous_reaction !== reaction) {\n\t\t\tread_version++;\n\n\t\t\tif (untracked_writes !== null) {\n\t\t\t\tif (previous_untracked_writes === null) {\n\t\t\t\t\tprevious_untracked_writes = untracked_writes;\n\t\t\t\t} else {\n\t\t\t\t\tprevious_untracked_writes.push(.../** @type {Source[]} */ (untracked_writes));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ((reaction.f & ERROR_VALUE) !== 0) {\n\t\t\treaction.f ^= ERROR_VALUE;\n\t\t}\n\n\t\treturn result;\n\t} catch (error) {\n\t\treturn handle_error(error);\n\t} finally {\n\t\treaction.f ^= REACTION_IS_UPDATING;\n\t\tnew_deps = previous_deps;\n\t\tskipped_deps = previous_skipped_deps;\n\t\tuntracked_writes = previous_untracked_writes;\n\t\tactive_reaction = previous_reaction;\n\t\tskip_reaction = previous_skip_reaction;\n\t\tcurrent_sources = previous_sources;\n\t\tset_component_context(previous_component_context);\n\t\tuntracking = previous_untracking;\n\t\tupdate_version = previous_update_version;\n\t}\n}\n\n/**\n * @template V\n * @param {Reaction} signal\n * @param {Value} dependency\n * @returns {void}\n */\nfunction remove_reaction(signal, dependency) {\n\tlet reactions = dependency.reactions;\n\tif (reactions !== null) {\n\t\tvar index = index_of.call(reactions, signal);\n\t\tif (index !== -1) {\n\t\t\tvar new_length = reactions.length - 1;\n\t\t\tif (new_length === 0) {\n\t\t\t\treactions = dependency.reactions = null;\n\t\t\t} else {\n\t\t\t\t// Swap with last element and then remove.\n\t\t\t\treactions[index] = reactions[new_length];\n\t\t\t\treactions.pop();\n\t\t\t}\n\t\t}\n\t}\n\n\t// If the derived has no reactions, then we can disconnect it from the graph,\n\t// allowing it to either reconnect in the future, or be GC'd by the VM.\n\tif (\n\t\treactions === null &&\n\t\t(dependency.f & DERIVED) !== 0 &&\n\t\t// Destroying a child effect while updating a parent effect can cause a dependency to appear\n\t\t// to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n\t\t// allows us to skip the expensive work of disconnecting and immediately reconnecting it\n\t\t(new_deps === null || !new_deps.includes(dependency))\n\t) {\n\t\tset_signal_status(dependency, MAYBE_DIRTY);\n\t\t// If we are working with a derived that is owned by an effect, then mark it as being\n\t\t// disconnected.\n\t\tif ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {\n\t\t\tdependency.f ^= DISCONNECTED;\n\t\t}\n\t\t// Disconnect any reactions owned by this reaction\n\t\tdestroy_derived_effects(/** @type {Derived} **/ (dependency));\n\t\tremove_reactions(/** @type {Derived} **/ (dependency), 0);\n\t}\n}\n\n/**\n * @param {Reaction} signal\n * @param {number} start_index\n * @returns {void}\n */\nexport function remove_reactions(signal, start_index) {\n\tvar dependencies = signal.deps;\n\tif (dependencies === null) return;\n\n\tfor (var i = start_index; i < dependencies.length; i++) {\n\t\tremove_reaction(signal, dependencies[i]);\n\t}\n}\n\n/**\n * @param {Effect} effect\n * @returns {void}\n */\nexport function update_effect(effect) {\n\tvar flags = effect.f;\n\n\tif ((flags & DESTROYED) !== 0) {\n\t\treturn;\n\t}\n\n\tset_signal_status(effect, CLEAN);\n\n\tvar previous_effect = active_effect;\n\tvar was_updating_effect = is_updating_effect;\n\n\tactive_effect = effect;\n\tis_updating_effect = true;\n\n\tif (DEV) {\n\t\tvar previous_component_fn = dev_current_component_function;\n\t\tset_dev_current_component_function(effect.component_function);\n\t\tvar previous_stack = /** @type {any} */ (dev_stack);\n\t\t// only block effects have a dev stack, keep the current one otherwise\n\t\tset_dev_stack(effect.dev_stack ?? dev_stack);\n\t}\n\n\ttry {\n\t\tif ((flags & BLOCK_EFFECT) !== 0) {\n\t\t\tdestroy_block_effect_children(effect);\n\t\t} else {\n\t\t\tdestroy_effect_children(effect);\n\t\t}\n\n\t\texecute_effect_teardown(effect);\n\t\tvar teardown = update_reaction(effect);\n\t\teffect.teardown = typeof teardown === 'function' ? teardown : null;\n\t\teffect.wv = write_version;\n\n\t\t// In DEV, increment versions of any sources that were written to during the effect,\n\t\t// so that they are correctly marked as dirty when the effect re-runs\n\t\tif (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && effect.deps !== null) {\n\t\t\tfor (var dep of effect.deps) {\n\t\t\t\tif (dep.set_during_effect) {\n\t\t\t\t\tdep.wv = increment_write_version();\n\t\t\t\t\tdep.set_during_effect = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} finally {\n\t\tis_updating_effect = was_updating_effect;\n\t\tactive_effect = previous_effect;\n\n\t\tif (DEV) {\n\t\t\tset_dev_current_component_function(previous_component_fn);\n\t\t\tset_dev_stack(previous_stack);\n\t\t}\n\t}\n}\n\n/**\n * Returns a promise that resolves once any pending state changes have been applied.\n * @returns {Promise}\n */\nexport async function tick() {\n\tif (async_mode_flag) {\n\t\treturn new Promise((f) => requestAnimationFrame(() => f()));\n\t}\n\n\tawait Promise.resolve();\n\n\t// By calling flushSync we guarantee that any pending state changes are applied after one tick.\n\t// TODO look into whether we can make flushing subsequent updates synchronously in the future.\n\tflushSync();\n}\n\n/**\n * Returns a promise that resolves once any state changes, and asynchronous work resulting from them,\n * have resolved and the DOM has been updated\n * @returns {Promise}\n * @since 5.36\n */\nexport function settled() {\n\treturn Batch.ensure().settled();\n}\n\n/**\n * @template V\n * @param {Value} signal\n * @returns {V}\n */\nexport function get(signal) {\n\tvar flags = signal.f;\n\tvar is_derived = (flags & DERIVED) !== 0;\n\n\tcaptured_signals?.add(signal);\n\n\t// Register the dependency on the current reaction signal.\n\tif (active_reaction !== null && !untracking) {\n\t\t// if we're in a derived that is being read inside an _async_ derived,\n\t\t// it's possible that the effect was already destroyed. In this case,\n\t\t// we don't add the dependency, because that would create a memory leak\n\t\tvar destroyed = active_effect !== null && (active_effect.f & DESTROYED) !== 0;\n\n\t\tif (!destroyed && !current_sources?.includes(signal)) {\n\t\t\tvar deps = active_reaction.deps;\n\n\t\t\tif ((active_reaction.f & REACTION_IS_UPDATING) !== 0) {\n\t\t\t\t// we're in the effect init/update cycle\n\t\t\t\tif (signal.rv < read_version) {\n\t\t\t\t\tsignal.rv = read_version;\n\n\t\t\t\t\t// If the signal is accessing the same dependencies in the same\n\t\t\t\t\t// order as it did last time, increment `skipped_deps`\n\t\t\t\t\t// rather than updating `new_deps`, which creates GC cost\n\t\t\t\t\tif (new_deps === null && deps !== null && deps[skipped_deps] === signal) {\n\t\t\t\t\t\tskipped_deps++;\n\t\t\t\t\t} else if (new_deps === null) {\n\t\t\t\t\t\tnew_deps = [signal];\n\t\t\t\t\t} else if (!skip_reaction || !new_deps.includes(signal)) {\n\t\t\t\t\t\t// Normally we can push duplicated dependencies to `new_deps`, but if we're inside\n\t\t\t\t\t\t// an unowned derived because skip_reaction is true, then we need to ensure that\n\t\t\t\t\t\t// we don't have duplicates\n\t\t\t\t\t\tnew_deps.push(signal);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// we're adding a dependency outside the init/update cycle\n\t\t\t\t// (i.e. after an `await`)\n\t\t\t\t(active_reaction.deps ??= []).push(signal);\n\n\t\t\t\tvar reactions = signal.reactions;\n\n\t\t\t\tif (reactions === null) {\n\t\t\t\t\tsignal.reactions = [active_reaction];\n\t\t\t\t} else if (!reactions.includes(active_reaction)) {\n\t\t\t\t\treactions.push(active_reaction);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} else if (\n\t\tis_derived &&\n\t\t/** @type {Derived} */ (signal).deps === null &&\n\t\t/** @type {Derived} */ (signal).effects === null\n\t) {\n\t\tvar derived = /** @type {Derived} */ (signal);\n\t\tvar parent = derived.parent;\n\n\t\tif (parent !== null && (parent.f & UNOWNED) === 0) {\n\t\t\t// If the derived is owned by another derived then mark it as unowned\n\t\t\t// as the derived value might have been referenced in a different context\n\t\t\t// since and thus its parent might not be its true owner anymore\n\t\t\tderived.f ^= UNOWNED;\n\t\t}\n\t}\n\n\tif (DEV) {\n\t\tif (current_async_effect) {\n\t\t\tvar tracking = (current_async_effect.f & REACTION_IS_UPDATING) !== 0;\n\t\t\tvar was_read = current_async_effect.deps?.includes(signal);\n\n\t\t\tif (!tracking && !untracking && !was_read) {\n\t\t\t\tw.await_reactivity_loss(/** @type {string} */ (signal.label));\n\n\t\t\t\tvar trace = get_stack('TracedAt');\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tif (trace) console.warn(trace);\n\t\t\t}\n\t\t}\n\n\t\trecent_async_deriveds.delete(signal);\n\n\t\tif (\n\t\t\ttracing_mode_flag &&\n\t\t\t!untracking &&\n\t\t\ttracing_expressions !== null &&\n\t\t\tactive_reaction !== null &&\n\t\t\ttracing_expressions.reaction === active_reaction\n\t\t) {\n\t\t\t// Used when mapping state between special blocks like `each`\n\t\t\tif (signal.trace) {\n\t\t\t\tsignal.trace();\n\t\t\t} else {\n\t\t\t\ttrace = get_stack('TracedAt');\n\n\t\t\t\tif (trace) {\n\t\t\t\t\tvar entry = tracing_expressions.entries.get(signal);\n\n\t\t\t\t\tif (entry === undefined) {\n\t\t\t\t\t\tentry = { traces: [] };\n\t\t\t\t\t\ttracing_expressions.entries.set(signal, entry);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar last = entry.traces[entry.traces.length - 1];\n\n\t\t\t\t\t// traces can be duplicated, e.g. by `snapshot` invoking both\n\t\t\t\t\t// both `getOwnPropertyDescriptor` and `get` traps at once\n\t\t\t\t\tif (trace.stack !== last?.stack) {\n\t\t\t\t\t\tentry.traces.push(trace);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_destroying_effect) {\n\t\tif (old_values.has(signal)) {\n\t\t\treturn old_values.get(signal);\n\t\t}\n\n\t\tif (is_derived) {\n\t\t\tderived = /** @type {Derived} */ (signal);\n\n\t\t\tvar value = derived.v;\n\n\t\t\t// if the derived is dirty and has reactions, or depends on the values that just changed, re-execute\n\t\t\t// (a derived can be maybe_dirty due to the effect destroy removing its last reaction)\n\t\t\tif (\n\t\t\t\t((derived.f & CLEAN) === 0 && derived.reactions !== null) ||\n\t\t\t\tdepends_on_old_values(derived)\n\t\t\t) {\n\t\t\t\tvalue = execute_derived(derived);\n\t\t\t}\n\n\t\t\told_values.set(derived, value);\n\n\t\t\treturn value;\n\t\t}\n\t} else if (is_derived) {\n\t\tderived = /** @type {Derived} */ (signal);\n\n\t\tif (batch_deriveds?.has(derived)) {\n\t\t\treturn batch_deriveds.get(derived);\n\t\t}\n\n\t\tif (is_dirty(derived)) {\n\t\t\tupdate_derived(derived);\n\t\t}\n\t}\n\n\tif ((signal.f & ERROR_VALUE) !== 0) {\n\t\tthrow signal.v;\n\t}\n\n\treturn signal.v;\n}\n\n/** @param {Derived} derived */\nfunction depends_on_old_values(derived) {\n\tif (derived.v === UNINITIALIZED) return true; // we don't know, so assume the worst\n\tif (derived.deps === null) return false;\n\n\tfor (const dep of derived.deps) {\n\t\tif (old_values.has(dep)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif ((dep.f & DERIVED) !== 0 && depends_on_old_values(/** @type {Derived} */ (dep))) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n/**\n * Like `get`, but checks for `undefined`. Used for `var` declarations because they can be accessed before being declared\n * @template V\n * @param {Value | undefined} signal\n * @returns {V | undefined}\n */\nexport function safe_get(signal) {\n\treturn signal && get(signal);\n}\n\n/**\n * When used inside a [`$derived`](https://svelte.dev/docs/svelte/$derived) or [`$effect`](https://svelte.dev/docs/svelte/$effect),\n * any state read inside `fn` will not be treated as a dependency.\n *\n * ```ts\n * $effect(() => {\n * // this will run when `data` changes, but not when `time` changes\n * save(data, {\n * timestamp: untrack(() => time)\n * });\n * });\n * ```\n * @template T\n * @param {() => T} fn\n * @returns {T}\n */\nexport function untrack(fn) {\n\tvar previous_untracking = untracking;\n\ttry {\n\t\tuntracking = true;\n\t\treturn fn();\n\t} finally {\n\t\tuntracking = previous_untracking;\n\t}\n}\n\nconst STATUS_MASK = ~(DIRTY | MAYBE_DIRTY | CLEAN);\n\n/**\n * @param {Signal} signal\n * @param {number} status\n * @returns {void}\n */\nexport function set_signal_status(signal, status) {\n\tsignal.f = (signal.f & STATUS_MASK) | status;\n}\n\n/**\n * @param {Record} obj\n * @param {string[]} keys\n * @returns {Record}\n */\nexport function exclude_from_object(obj, keys) {\n\t/** @type {Record} */\n\tvar result = {};\n\n\tfor (var key in obj) {\n\t\tif (!keys.includes(key)) {\n\t\t\tresult[key] = obj[key];\n\t\t}\n\t}\n\n\treturn result;\n}\n\n/**\n * Possibly traverse an object and read all its properties so that they're all reactive in case this is `$state`.\n * Does only check first level of an object for performance reasons (heuristic should be good for 99% of all cases).\n * @param {any} value\n * @returns {void}\n */\nexport function deep_read_state(value) {\n\tif (typeof value !== 'object' || !value || value instanceof EventTarget) {\n\t\treturn;\n\t}\n\n\tif (STATE_SYMBOL in value) {\n\t\tdeep_read(value);\n\t} else if (!Array.isArray(value)) {\n\t\tfor (let key in value) {\n\t\t\tconst prop = value[key];\n\t\t\tif (typeof prop === 'object' && prop && STATE_SYMBOL in prop) {\n\t\t\t\tdeep_read(prop);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Deeply traverse an object and read all its properties\n * so that they're all reactive in case this is `$state`\n * @param {any} value\n * @param {Set} visited\n * @returns {void}\n */\nexport function deep_read(value, visited = new Set()) {\n\tif (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\t// We don't want to traverse DOM elements\n\t\t!(value instanceof EventTarget) &&\n\t\t!visited.has(value)\n\t) {\n\t\tvisited.add(value);\n\t\t// When working with a possible SvelteDate, this\n\t\t// will ensure we capture changes to it.\n\t\tif (value instanceof Date) {\n\t\t\tvalue.getTime();\n\t\t}\n\t\tfor (let key in value) {\n\t\t\ttry {\n\t\t\t\tdeep_read(value[key], visited);\n\t\t\t} catch (e) {\n\t\t\t\t// continue\n\t\t\t}\n\t\t}\n\t\tconst proto = get_prototype_of(value);\n\t\tif (\n\t\t\tproto !== Object.prototype &&\n\t\t\tproto !== Array.prototype &&\n\t\t\tproto !== Map.prototype &&\n\t\t\tproto !== Set.prototype &&\n\t\t\tproto !== Date.prototype\n\t\t) {\n\t\t\tconst descriptors = get_descriptors(proto);\n\t\t\tfor (let key in descriptors) {\n\t\t\t\tconst get = descriptors[key].get;\n\t\t\t\tif (get) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tget.call(value);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t// continue\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport {\n\tget,\n\tactive_effect,\n\tupdate_version,\n\tactive_reaction,\n\tset_update_version,\n\tset_active_reaction\n} from './runtime.js';\nimport {\n\tarray_prototype,\n\tget_descriptor,\n\tget_prototype_of,\n\tis_array,\n\tobject_prototype\n} from '../shared/utils.js';\nimport {\n\tstate as source,\n\tset,\n\tincrement,\n\tflush_inspect_effects,\n\tset_inspect_effects_deferred\n} from './reactivity/sources.js';\nimport { PROXY_PATH_SYMBOL, STATE_SYMBOL } from '#client/constants';\nimport { UNINITIALIZED } from '../../constants.js';\nimport * as e from './errors.js';\nimport { get_stack, tag } from './dev/tracing.js';\nimport { tracing_mode_flag } from '../flags/index.js';\n\n// TODO move all regexes into shared module?\nconst regex_is_valid_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/**\n * @template T\n * @param {T} value\n * @returns {T}\n */\nexport function proxy(value) {\n\t// if non-proxyable, or is already a proxy, return `value`\n\tif (typeof value !== 'object' || value === null || STATE_SYMBOL in value) {\n\t\treturn value;\n\t}\n\n\tconst prototype = get_prototype_of(value);\n\n\tif (prototype !== object_prototype && prototype !== array_prototype) {\n\t\treturn value;\n\t}\n\n\t/** @type {Map>} */\n\tvar sources = new Map();\n\tvar is_proxied_array = is_array(value);\n\tvar version = source(0);\n\n\tvar stack = DEV && tracing_mode_flag ? get_stack('CreatedAt') : null;\n\tvar parent_version = update_version;\n\n\t/**\n\t * Executes the proxy in the context of the reaction it was originally created in, if any\n\t * @template T\n\t * @param {() => T} fn\n\t */\n\tvar with_parent = (fn) => {\n\t\tif (update_version === parent_version) {\n\t\t\treturn fn();\n\t\t}\n\n\t\t// child source is being created after the initial proxy —\n\t\t// prevent it from being associated with the current reaction\n\t\tvar reaction = active_reaction;\n\t\tvar version = update_version;\n\n\t\tset_active_reaction(null);\n\t\tset_update_version(parent_version);\n\n\t\tvar result = fn();\n\n\t\tset_active_reaction(reaction);\n\t\tset_update_version(version);\n\n\t\treturn result;\n\t};\n\n\tif (is_proxied_array) {\n\t\t// We need to create the length source eagerly to ensure that\n\t\t// mutations to the array are properly synced with our proxy\n\t\tsources.set('length', source(/** @type {any[]} */ (value).length, stack));\n\t\tif (DEV) {\n\t\t\tvalue = /** @type {any} */ (inspectable_array(/** @type {any[]} */ (value)));\n\t\t}\n\t}\n\n\t/** Used in dev for $inspect.trace() */\n\tvar path = '';\n\n\t/** @param {string} new_path */\n\tfunction update_path(new_path) {\n\t\tpath = new_path;\n\n\t\ttag(version, `${path} version`);\n\n\t\t// rename all child sources and child proxies\n\t\tfor (const [prop, source] of sources) {\n\t\t\ttag(source, get_label(path, prop));\n\t\t}\n\t}\n\n\treturn new Proxy(/** @type {any} */ (value), {\n\t\tdefineProperty(_, prop, descriptor) {\n\t\t\tif (\n\t\t\t\t!('value' in descriptor) ||\n\t\t\t\tdescriptor.configurable === false ||\n\t\t\t\tdescriptor.enumerable === false ||\n\t\t\t\tdescriptor.writable === false\n\t\t\t) {\n\t\t\t\t// we disallow non-basic descriptors, because unless they are applied to the\n\t\t\t\t// target object — which we avoid, so that state can be forked — we will run\n\t\t\t\t// afoul of the various invariants\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/getOwnPropertyDescriptor#invariants\n\t\t\t\te.state_descriptors_fixed();\n\t\t\t}\n\t\t\tvar s = sources.get(prop);\n\t\t\tif (s === undefined) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar s = source(descriptor.value, stack);\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tif (DEV && typeof prop === 'string') {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tset(s, descriptor.value, true);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tdeleteProperty(target, prop) {\n\t\t\tvar s = sources.get(prop);\n\n\t\t\tif (s === undefined) {\n\t\t\t\tif (prop in target) {\n\t\t\t\t\tconst s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t\tincrement(version);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tset(s, UNINITIALIZED);\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\tget(target, prop, receiver) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tif (DEV && prop === PROXY_PATH_SYMBOL) {\n\t\t\t\treturn update_path;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar exists = prop in target;\n\n\t\t\t// create a source, but only if it's an own property and not a prototype property\n\t\t\tif (s === undefined && (!exists || get_descriptor(target, prop)?.writable)) {\n\t\t\t\ts = with_parent(() => {\n\t\t\t\t\tvar p = proxy(exists ? target[prop] : UNINITIALIZED);\n\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn s;\n\t\t\t\t});\n\n\t\t\t\tsources.set(prop, s);\n\t\t\t}\n\n\t\t\tif (s !== undefined) {\n\t\t\t\tvar v = get(s);\n\t\t\t\treturn v === UNINITIALIZED ? undefined : v;\n\t\t\t}\n\n\t\t\treturn Reflect.get(target, prop, receiver);\n\t\t},\n\n\t\tgetOwnPropertyDescriptor(target, prop) {\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\tif (descriptor && 'value' in descriptor) {\n\t\t\t\tvar s = sources.get(prop);\n\t\t\t\tif (s) descriptor.value = get(s);\n\t\t\t} else if (descriptor === undefined) {\n\t\t\t\tvar source = sources.get(prop);\n\t\t\t\tvar value = source?.v;\n\n\t\t\t\tif (source !== undefined && value !== UNINITIALIZED) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tenumerable: true,\n\t\t\t\t\t\tconfigurable: true,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\twritable: true\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn descriptor;\n\t\t},\n\n\t\thas(target, prop) {\n\t\t\tif (prop === STATE_SYMBOL) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = (s !== undefined && s.v !== UNINITIALIZED) || Reflect.has(target, prop);\n\n\t\t\tif (\n\t\t\t\ts !== undefined ||\n\t\t\t\t(active_effect !== null && (!has || get_descriptor(target, prop)?.writable))\n\t\t\t) {\n\t\t\t\tif (s === undefined) {\n\t\t\t\t\ts = with_parent(() => {\n\t\t\t\t\t\tvar p = has ? proxy(target[prop]) : UNINITIALIZED;\n\t\t\t\t\t\tvar s = source(p, stack);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn s;\n\t\t\t\t\t});\n\n\t\t\t\t\tsources.set(prop, s);\n\t\t\t\t}\n\n\t\t\t\tvar value = get(s);\n\t\t\t\tif (value === UNINITIALIZED) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn has;\n\t\t},\n\n\t\tset(target, prop, value, receiver) {\n\t\t\tvar s = sources.get(prop);\n\t\t\tvar has = prop in target;\n\n\t\t\t// variable.length = value -> clear all signals with index >= value\n\t\t\tif (is_proxied_array && prop === 'length') {\n\t\t\t\tfor (var i = value; i < /** @type {Source} */ (s).v; i += 1) {\n\t\t\t\t\tvar other_s = sources.get(i + '');\n\t\t\t\t\tif (other_s !== undefined) {\n\t\t\t\t\t\tset(other_s, UNINITIALIZED);\n\t\t\t\t\t} else if (i in target) {\n\t\t\t\t\t\t// If the item exists in the original, we need to create a uninitialized source,\n\t\t\t\t\t\t// else a later read of the property would result in a source being created with\n\t\t\t\t\t\t// the value of the original item at that index.\n\t\t\t\t\t\tother_s = with_parent(() => source(UNINITIALIZED, stack));\n\t\t\t\t\t\tsources.set(i + '', other_s);\n\n\t\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\t\ttag(other_s, get_label(path, i));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we haven't yet created a source for this property, we need to ensure\n\t\t\t// we do so otherwise if we read it later, then the write won't be tracked and\n\t\t\t// the heuristics of effects will be different vs if we had read the proxied\n\t\t\t// object property before writing to that property.\n\t\t\tif (s === undefined) {\n\t\t\t\tif (!has || get_descriptor(target, prop)?.writable) {\n\t\t\t\t\ts = with_parent(() => source(undefined, stack));\n\t\t\t\t\tset(s, proxy(value));\n\n\t\t\t\t\tsources.set(prop, s);\n\n\t\t\t\t\tif (DEV) {\n\t\t\t\t\t\ttag(s, get_label(path, prop));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thas = s.v !== UNINITIALIZED;\n\n\t\t\t\tvar p = with_parent(() => proxy(value));\n\t\t\t\tset(s, p);\n\t\t\t}\n\n\t\t\tvar descriptor = Reflect.getOwnPropertyDescriptor(target, prop);\n\n\t\t\t// Set the new value before updating any signals so that any listeners get the new value\n\t\t\tif (descriptor?.set) {\n\t\t\t\tdescriptor.set.call(receiver, value);\n\t\t\t}\n\n\t\t\tif (!has) {\n\t\t\t\t// If we have mutated an array directly, we might need to\n\t\t\t\t// signal that length has also changed. Do it before updating metadata\n\t\t\t\t// to ensure that iterating over the array as a result of a metadata update\n\t\t\t\t// will not cause the length to be out of sync.\n\t\t\t\tif (is_proxied_array && typeof prop === 'string') {\n\t\t\t\t\tvar ls = /** @type {Source} */ (sources.get('length'));\n\t\t\t\t\tvar n = Number(prop);\n\n\t\t\t\t\tif (Number.isInteger(n) && n >= ls.v) {\n\t\t\t\t\t\tset(ls, n + 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tincrement(version);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\n\t\townKeys(target) {\n\t\t\tget(version);\n\n\t\t\tvar own_keys = Reflect.ownKeys(target).filter((key) => {\n\t\t\t\tvar source = sources.get(key);\n\t\t\t\treturn source === undefined || source.v !== UNINITIALIZED;\n\t\t\t});\n\n\t\t\tfor (var [key, source] of sources) {\n\t\t\t\tif (source.v !== UNINITIALIZED && !(key in target)) {\n\t\t\t\t\town_keys.push(key);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn own_keys;\n\t\t},\n\n\t\tsetPrototypeOf() {\n\t\t\te.state_prototype_fixed();\n\t\t}\n\t});\n}\n\n/**\n * @param {string} path\n * @param {string | symbol} prop\n */\nfunction get_label(path, prop) {\n\tif (typeof prop === 'symbol') return `${path}[Symbol(${prop.description ?? ''})]`;\n\tif (regex_is_valid_identifier.test(prop)) return `${path}.${prop}`;\n\treturn /^\\d+$/.test(prop) ? `${path}[${prop}]` : `${path}['${prop}']`;\n}\n\n/**\n * @param {any} value\n */\nexport function get_proxied_value(value) {\n\ttry {\n\t\tif (value !== null && typeof value === 'object' && STATE_SYMBOL in value) {\n\t\t\treturn value[STATE_SYMBOL];\n\t\t}\n\t} catch {\n\t\t// the above if check can throw an error if the value in question\n\t\t// is the contentWindow of an iframe on another domain, in which\n\t\t// case we want to just return the value (because it's definitely\n\t\t// not a proxied value) so we don't break any JavaScript interacting\n\t\t// with that iframe (such as various payment companies client side\n\t\t// JavaScript libraries interacting with their iframes on the same\n\t\t// domain)\n\t}\n\n\treturn value;\n}\n\n/**\n * @param {any} a\n * @param {any} b\n */\nexport function is(a, b) {\n\treturn Object.is(get_proxied_value(a), get_proxied_value(b));\n}\n\nconst ARRAY_MUTATING_METHODS = new Set([\n\t'copyWithin',\n\t'fill',\n\t'pop',\n\t'push',\n\t'reverse',\n\t'shift',\n\t'sort',\n\t'splice',\n\t'unshift'\n]);\n\n/**\n * Wrap array mutating methods so $inspect is triggered only once and\n * to prevent logging an array in intermediate state (e.g. with an empty slot)\n * @param {any[]} array\n */\nfunction inspectable_array(array) {\n\treturn new Proxy(array, {\n\t\tget(target, prop, receiver) {\n\t\t\tvar value = Reflect.get(target, prop, receiver);\n\t\t\tif (!ARRAY_MUTATING_METHODS.has(/** @type {string} */ (prop))) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * @this {any[]}\n\t\t\t * @param {any[]} args\n\t\t\t */\n\t\t\treturn function (...args) {\n\t\t\t\tset_inspect_effects_deferred();\n\t\t\t\tvar result = value.apply(this, args);\n\t\t\t\tflush_inspect_effects();\n\t\t\t\treturn result;\n\t\t\t};\n\t\t}\n\t});\n}\n","/** @import { Effect, TemplateNode } from '#client' */\nimport { hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport { DEV } from 'esm-env';\nimport { init_array_prototype_warnings } from '../dev/equality.js';\nimport { get_descriptor, is_extensible } from '../../shared/utils.js';\nimport { active_effect } from '../runtime.js';\nimport { async_mode_flag } from '../../flags/index.js';\nimport { TEXT_NODE, EFFECT_RAN } from '#client/constants';\n\n// export these for reference in the compiled code, making global name deduplication unnecessary\n/** @type {Window} */\nexport var $window;\n\n/** @type {Document} */\nexport var $document;\n\n/** @type {boolean} */\nexport var is_firefox;\n\n/** @type {() => Node | null} */\nvar first_child_getter;\n/** @type {() => Node | null} */\nvar next_sibling_getter;\n\n/**\n * Initialize these lazily to avoid issues when using the runtime in a server context\n * where these globals are not available while avoiding a separate server entry point\n */\nexport function init_operations() {\n\tif ($window !== undefined) {\n\t\treturn;\n\t}\n\n\t$window = window;\n\t$document = document;\n\tis_firefox = /Firefox/.test(navigator.userAgent);\n\n\tvar element_prototype = Element.prototype;\n\tvar node_prototype = Node.prototype;\n\tvar text_prototype = Text.prototype;\n\n\t// @ts-ignore\n\tfirst_child_getter = get_descriptor(node_prototype, 'firstChild').get;\n\t// @ts-ignore\n\tnext_sibling_getter = get_descriptor(node_prototype, 'nextSibling').get;\n\n\tif (is_extensible(element_prototype)) {\n\t\t// the following assignments improve perf of lookups on DOM nodes\n\t\t// @ts-expect-error\n\t\telement_prototype.__click = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__className = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__attributes = null;\n\t\t// @ts-expect-error\n\t\telement_prototype.__style = undefined;\n\t\t// @ts-expect-error\n\t\telement_prototype.__e = undefined;\n\t}\n\n\tif (is_extensible(text_prototype)) {\n\t\t// @ts-expect-error\n\t\ttext_prototype.__t = undefined;\n\t}\n\n\tif (DEV) {\n\t\t// @ts-expect-error\n\t\telement_prototype.__svelte_meta = null;\n\n\t\tinit_array_prototype_warnings();\n\t}\n}\n\n/**\n * @param {string} value\n * @returns {Text}\n */\nexport function create_text(value = '') {\n\treturn document.createTextNode(value);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_first_child(node) {\n\treturn first_child_getter.call(node);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {Node | null}\n */\n/*@__NO_SIDE_EFFECTS__*/\nexport function get_next_sibling(node) {\n\treturn next_sibling_getter.call(node);\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @template {Node} N\n * @param {N} node\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function child(node, is_text) {\n\tif (!hydrating) {\n\t\treturn get_first_child(node);\n\t}\n\n\tvar child = /** @type {TemplateNode} */ (get_first_child(hydrate_node));\n\n\t// Child can be null if we have an element with a single child, like `

{text}

`, where `text` is empty\n\tif (child === null) {\n\t\tchild = hydrate_node.appendChild(create_text());\n\t} else if (is_text && child.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\tchild?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(child);\n\treturn child;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {DocumentFragment | TemplateNode[]} fragment\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function first_child(fragment, is_text) {\n\tif (!hydrating) {\n\t\t// when not hydrating, `fragment` is a `DocumentFragment` (the result of calling `open_frag`)\n\t\tvar first = /** @type {DocumentFragment} */ (get_first_child(/** @type {Node} */ (fragment)));\n\n\t\t// TODO prevent user comments with the empty string when preserveComments is true\n\t\tif (first instanceof Comment && first.data === '') return get_next_sibling(first);\n\n\t\treturn first;\n\t}\n\n\t// if an {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && hydrate_node?.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\n\t\thydrate_node?.before(text);\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\treturn hydrate_node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {TemplateNode} node\n * @param {number} count\n * @param {boolean} is_text\n * @returns {Node | null}\n */\nexport function sibling(node, count = 1, is_text = false) {\n\tlet next_sibling = hydrating ? hydrate_node : node;\n\tvar last_sibling;\n\n\twhile (count--) {\n\t\tlast_sibling = next_sibling;\n\t\tnext_sibling = /** @type {TemplateNode} */ (get_next_sibling(next_sibling));\n\t}\n\n\tif (!hydrating) {\n\t\treturn next_sibling;\n\t}\n\n\t// if a sibling {expression} is empty during SSR, there might be no\n\t// text node to hydrate — we must therefore create one\n\tif (is_text && next_sibling?.nodeType !== TEXT_NODE) {\n\t\tvar text = create_text();\n\t\t// If the next sibling is `null` and we're handling text then it's because\n\t\t// the SSR content was empty for the text, so we need to generate a new text\n\t\t// node and insert it after the last sibling\n\t\tif (next_sibling === null) {\n\t\t\tlast_sibling?.after(text);\n\t\t} else {\n\t\t\tnext_sibling.before(text);\n\t\t}\n\t\tset_hydrate_node(text);\n\t\treturn text;\n\t}\n\n\tset_hydrate_node(next_sibling);\n\treturn /** @type {TemplateNode} */ (next_sibling);\n}\n\n/**\n * @template {Node} N\n * @param {N} node\n * @returns {void}\n */\nexport function clear_text_content(node) {\n\tnode.textContent = '';\n}\n\n/**\n * Returns `true` if we're updating the current block, for example `condition` in\n * an `{#if condition}` block just changed. In this case, the branch should be\n * appended (or removed) at the same time as other updates within the\n * current ``\n */\nexport function should_defer_append() {\n\tif (!async_mode_flag) return false;\n\n\tvar flags = /** @type {Effect} */ (active_effect).f;\n\treturn (flags & EFFECT_RAN) !== 0;\n}\n\n/**\n *\n * @param {string} tag\n * @param {string} [namespace]\n * @param {string} [is]\n * @returns\n */\nexport function create_element(tag, namespace, is) {\n\tlet options = is ? { is } : undefined;\n\tif (namespace) {\n\t\treturn document.createElementNS(namespace, tag, options);\n\t}\n\treturn document.createElement(tag, options);\n}\n\nexport function create_fragment() {\n\treturn document.createDocumentFragment();\n}\n\n/**\n * @param {string} data\n * @returns\n */\nexport function create_comment(data = '') {\n\treturn document.createComment(data);\n}\n\n/**\n * @param {Element} element\n * @param {string} key\n * @param {string} value\n * @returns\n */\nexport function set_attribute(element, key, value = '') {\n\tif (key.startsWith('xlink:')) {\n\t\telement.setAttributeNS('http://www.w3.org/1999/xlink', key, value);\n\t\treturn;\n\t}\n\treturn element.setAttribute(key, value);\n}\n","const regex_return_characters = /\\r/g;\n\n/**\n * @param {string} str\n * @returns {string}\n */\nexport function hash(str) {\n\tstr = str.replace(regex_return_characters, '');\n\tlet hash = 5381;\n\tlet i = str.length;\n\n\twhile (i--) hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n\treturn (hash >>> 0).toString(36);\n}\n\nconst VOID_ELEMENT_NAMES = [\n\t'area',\n\t'base',\n\t'br',\n\t'col',\n\t'command',\n\t'embed',\n\t'hr',\n\t'img',\n\t'input',\n\t'keygen',\n\t'link',\n\t'meta',\n\t'param',\n\t'source',\n\t'track',\n\t'wbr'\n];\n\n/**\n * Returns `true` if `name` is of a void element\n * @param {string} name\n */\nexport function is_void(name) {\n\treturn VOID_ELEMENT_NAMES.includes(name) || name.toLowerCase() === '!doctype';\n}\n\nconst RESERVED_WORDS = [\n\t'arguments',\n\t'await',\n\t'break',\n\t'case',\n\t'catch',\n\t'class',\n\t'const',\n\t'continue',\n\t'debugger',\n\t'default',\n\t'delete',\n\t'do',\n\t'else',\n\t'enum',\n\t'eval',\n\t'export',\n\t'extends',\n\t'false',\n\t'finally',\n\t'for',\n\t'function',\n\t'if',\n\t'implements',\n\t'import',\n\t'in',\n\t'instanceof',\n\t'interface',\n\t'let',\n\t'new',\n\t'null',\n\t'package',\n\t'private',\n\t'protected',\n\t'public',\n\t'return',\n\t'static',\n\t'super',\n\t'switch',\n\t'this',\n\t'throw',\n\t'true',\n\t'try',\n\t'typeof',\n\t'var',\n\t'void',\n\t'while',\n\t'with',\n\t'yield'\n];\n\n/**\n * Returns `true` if `word` is a reserved JavaScript keyword\n * @param {string} word\n */\nexport function is_reserved(word) {\n\treturn RESERVED_WORDS.includes(word);\n}\n\n/**\n * @param {string} name\n */\nexport function is_capture_event(name) {\n\treturn name.endsWith('capture') && name !== 'gotpointercapture' && name !== 'lostpointercapture';\n}\n\n/** List of Element events that will be delegated */\nconst DELEGATED_EVENTS = [\n\t'beforeinput',\n\t'click',\n\t'change',\n\t'dblclick',\n\t'contextmenu',\n\t'focusin',\n\t'focusout',\n\t'input',\n\t'keydown',\n\t'keyup',\n\t'mousedown',\n\t'mousemove',\n\t'mouseout',\n\t'mouseover',\n\t'mouseup',\n\t'pointerdown',\n\t'pointermove',\n\t'pointerout',\n\t'pointerover',\n\t'pointerup',\n\t'touchend',\n\t'touchmove',\n\t'touchstart'\n];\n\n/**\n * Returns `true` if `event_name` is a delegated event\n * @param {string} event_name\n */\nexport function is_delegated(event_name) {\n\treturn DELEGATED_EVENTS.includes(event_name);\n}\n\n/**\n * Attributes that are boolean, i.e. they are present or not present.\n */\nconst DOM_BOOLEAN_ATTRIBUTES = [\n\t'allowfullscreen',\n\t'async',\n\t'autofocus',\n\t'autoplay',\n\t'checked',\n\t'controls',\n\t'default',\n\t'disabled',\n\t'formnovalidate',\n\t'hidden',\n\t'indeterminate',\n\t'inert',\n\t'ismap',\n\t'loop',\n\t'multiple',\n\t'muted',\n\t'nomodule',\n\t'novalidate',\n\t'open',\n\t'playsinline',\n\t'readonly',\n\t'required',\n\t'reversed',\n\t'seamless',\n\t'selected',\n\t'webkitdirectory',\n\t'defer',\n\t'disablepictureinpicture',\n\t'disableremoteplayback'\n];\n\n/**\n * Returns `true` if `name` is a boolean attribute\n * @param {string} name\n */\nexport function is_boolean_attribute(name) {\n\treturn DOM_BOOLEAN_ATTRIBUTES.includes(name);\n}\n\n/**\n * @type {Record}\n * List of attribute names that should be aliased to their property names\n * because they behave differently between setting them as an attribute and\n * setting them as a property.\n */\nconst ATTRIBUTE_ALIASES = {\n\t// no `class: 'className'` because we handle that separately\n\tformnovalidate: 'formNoValidate',\n\tismap: 'isMap',\n\tnomodule: 'noModule',\n\tplaysinline: 'playsInline',\n\treadonly: 'readOnly',\n\tdefaultvalue: 'defaultValue',\n\tdefaultchecked: 'defaultChecked',\n\tsrcobject: 'srcObject',\n\tnovalidate: 'noValidate',\n\tallowfullscreen: 'allowFullscreen',\n\tdisablepictureinpicture: 'disablePictureInPicture',\n\tdisableremoteplayback: 'disableRemotePlayback'\n};\n\n/**\n * @param {string} name\n */\nexport function normalize_attribute(name) {\n\tname = name.toLowerCase();\n\treturn ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst DOM_PROPERTIES = [\n\t...DOM_BOOLEAN_ATTRIBUTES,\n\t'formNoValidate',\n\t'isMap',\n\t'noModule',\n\t'playsInline',\n\t'readOnly',\n\t'value',\n\t'volume',\n\t'defaultValue',\n\t'defaultChecked',\n\t'srcObject',\n\t'noValidate',\n\t'allowFullscreen',\n\t'disablePictureInPicture',\n\t'disableRemotePlayback'\n];\n\n/**\n * @param {string} name\n */\nexport function is_dom_property(name) {\n\treturn DOM_PROPERTIES.includes(name);\n}\n\nconst NON_STATIC_PROPERTIES = ['autofocus', 'muted', 'defaultValue', 'defaultChecked'];\n\n/**\n * Returns `true` if the given attribute cannot be set through the template\n * string, i.e. needs some kind of JavaScript handling to work.\n * @param {string} name\n */\nexport function cannot_be_set_statically(name) {\n\treturn NON_STATIC_PROPERTIES.includes(name);\n}\n\n/**\n * Subset of delegated events which should be passive by default.\n * These two are already passive via browser defaults on window, document and body.\n * But since\n * - we're delegating them\n * - they happen often\n * - they apply to mobile which is generally less performant\n * we're marking them as passive by default for other elements, too.\n */\nconst PASSIVE_EVENTS = ['touchstart', 'touchmove'];\n\n/**\n * Returns `true` if `name` is a passive event\n * @param {string} name\n */\nexport function is_passive_event(name) {\n\treturn PASSIVE_EVENTS.includes(name);\n}\n\nconst CONTENT_EDITABLE_BINDINGS = ['textContent', 'innerHTML', 'innerText'];\n\n/** @param {string} name */\nexport function is_content_editable_binding(name) {\n\treturn CONTENT_EDITABLE_BINDINGS.includes(name);\n}\n\nconst LOAD_ERROR_ELEMENTS = [\n\t'body',\n\t'embed',\n\t'iframe',\n\t'img',\n\t'link',\n\t'object',\n\t'script',\n\t'style',\n\t'track'\n];\n\n/**\n * Returns `true` if the element emits `load` and `error` events\n * @param {string} name\n */\nexport function is_load_error_element(name) {\n\treturn LOAD_ERROR_ELEMENTS.includes(name);\n}\n\nconst SVG_ELEMENTS = [\n\t'altGlyph',\n\t'altGlyphDef',\n\t'altGlyphItem',\n\t'animate',\n\t'animateColor',\n\t'animateMotion',\n\t'animateTransform',\n\t'circle',\n\t'clipPath',\n\t'color-profile',\n\t'cursor',\n\t'defs',\n\t'desc',\n\t'discard',\n\t'ellipse',\n\t'feBlend',\n\t'feColorMatrix',\n\t'feComponentTransfer',\n\t'feComposite',\n\t'feConvolveMatrix',\n\t'feDiffuseLighting',\n\t'feDisplacementMap',\n\t'feDistantLight',\n\t'feDropShadow',\n\t'feFlood',\n\t'feFuncA',\n\t'feFuncB',\n\t'feFuncG',\n\t'feFuncR',\n\t'feGaussianBlur',\n\t'feImage',\n\t'feMerge',\n\t'feMergeNode',\n\t'feMorphology',\n\t'feOffset',\n\t'fePointLight',\n\t'feSpecularLighting',\n\t'feSpotLight',\n\t'feTile',\n\t'feTurbulence',\n\t'filter',\n\t'font',\n\t'font-face',\n\t'font-face-format',\n\t'font-face-name',\n\t'font-face-src',\n\t'font-face-uri',\n\t'foreignObject',\n\t'g',\n\t'glyph',\n\t'glyphRef',\n\t'hatch',\n\t'hatchpath',\n\t'hkern',\n\t'image',\n\t'line',\n\t'linearGradient',\n\t'marker',\n\t'mask',\n\t'mesh',\n\t'meshgradient',\n\t'meshpatch',\n\t'meshrow',\n\t'metadata',\n\t'missing-glyph',\n\t'mpath',\n\t'path',\n\t'pattern',\n\t'polygon',\n\t'polyline',\n\t'radialGradient',\n\t'rect',\n\t'set',\n\t'solidcolor',\n\t'stop',\n\t'svg',\n\t'switch',\n\t'symbol',\n\t'text',\n\t'textPath',\n\t'tref',\n\t'tspan',\n\t'unknown',\n\t'use',\n\t'view',\n\t'vkern'\n];\n\n/** @param {string} name */\nexport function is_svg(name) {\n\treturn SVG_ELEMENTS.includes(name);\n}\n\nconst MATHML_ELEMENTS = [\n\t'annotation',\n\t'annotation-xml',\n\t'maction',\n\t'math',\n\t'merror',\n\t'mfrac',\n\t'mi',\n\t'mmultiscripts',\n\t'mn',\n\t'mo',\n\t'mover',\n\t'mpadded',\n\t'mphantom',\n\t'mprescripts',\n\t'mroot',\n\t'mrow',\n\t'ms',\n\t'mspace',\n\t'msqrt',\n\t'mstyle',\n\t'msub',\n\t'msubsup',\n\t'msup',\n\t'mtable',\n\t'mtd',\n\t'mtext',\n\t'mtr',\n\t'munder',\n\t'munderover',\n\t'semantics'\n];\n\n/** @param {string} name */\nexport function is_mathml(name) {\n\treturn MATHML_ELEMENTS.includes(name);\n}\n\nconst STATE_CREATION_RUNES = /** @type {const} */ ([\n\t'$state',\n\t'$state.raw',\n\t'$derived',\n\t'$derived.by'\n]);\n\nconst RUNES = /** @type {const} */ ([\n\t...STATE_CREATION_RUNES,\n\t'$state.snapshot',\n\t'$props',\n\t'$props.id',\n\t'$bindable',\n\t'$effect',\n\t'$effect.pre',\n\t'$effect.tracking',\n\t'$effect.root',\n\t'$effect.pending',\n\t'$inspect',\n\t'$inspect().with',\n\t'$inspect.trace',\n\t'$host'\n]);\n\n/** @typedef {RUNES[number]} RuneName */\n\n/**\n * @param {string} name\n * @returns {name is RuneName}\n */\nexport function is_rune(name) {\n\treturn RUNES.includes(/** @type {RuneName} */ (name));\n}\n\n/** @typedef {STATE_CREATION_RUNES[number]} StateCreationRuneName */\n\n/**\n * @param {string} name\n * @returns {name is StateCreationRuneName}\n */\nexport function is_state_creation_rune(name) {\n\treturn STATE_CREATION_RUNES.includes(/** @type {StateCreationRuneName} */ (name));\n}\n\n/** List of elements that require raw contents and should not have SSR comments put in them */\nconst RAW_TEXT_ELEMENTS = /** @type {const} */ (['textarea', 'script', 'style', 'title']);\n\n/** @param {string} name */\nexport function is_raw_text_element(name) {\n\treturn RAW_TEXT_ELEMENTS.includes(/** @type {RAW_TEXT_ELEMENTS[number]} */ (name));\n}\n\n/**\n * Prevent devtools trying to make `location` a clickable link by inserting a zero-width space\n * @template {string | undefined} T\n * @param {T} location\n * @returns {T};\n */\nexport function sanitize_location(location) {\n\treturn /** @type {T} */ (location?.replace(/\\//g, '/\\u200b'));\n}\n","import { hydrating } from '../hydration.js';\nimport { clear_text_content, get_first_child } from '../operations.js';\nimport { queue_micro_task } from '../task.js';\n\n/**\n * @param {HTMLElement} dom\n * @param {boolean} value\n * @returns {void}\n */\nexport function autofocus(dom, value) {\n\tif (value) {\n\t\tconst body = document.body;\n\t\tdom.autofocus = true;\n\n\t\tqueue_micro_task(() => {\n\t\t\tif (document.activeElement === body) {\n\t\t\t\tdom.focus();\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * The child of a textarea actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLTextAreaElement} dom\n * @returns {void}\n */\nexport function remove_textarea_child(dom) {\n\tif (hydrating && get_first_child(dom) !== null) {\n\t\tclear_text_content(dom);\n\t}\n}\n\nlet listening_to_form_reset = false;\n\nexport function add_form_reset_listener() {\n\tif (!listening_to_form_reset) {\n\t\tlistening_to_form_reset = true;\n\t\tdocument.addEventListener(\n\t\t\t'reset',\n\t\t\t(evt) => {\n\t\t\t\t// Needs to happen one tick later or else the dom properties of the form\n\t\t\t\t// elements have not updated to their reset values yet\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (!evt.defaultPrevented) {\n\t\t\t\t\t\tfor (const e of /**@type {HTMLFormElement} */ (evt.target).elements) {\n\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\te.__on_r?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t// In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n\t\t\t{ capture: true }\n\t\t);\n\t}\n}\n","import { teardown } from '../../../reactivity/effects.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../../runtime.js';\nimport { add_form_reset_listener } from '../misc.js';\n\n/**\n * Fires the handler once immediately (unless corresponding arg is set to `false`),\n * then listens to the given events until the render effect context is destroyed\n * @param {EventTarget} target\n * @param {Array} events\n * @param {(event?: Event) => void} handler\n * @param {any} call_handler_immediately\n */\nexport function listen(target, events, handler, call_handler_immediately = true) {\n\tif (call_handler_immediately) {\n\t\thandler();\n\t}\n\n\tfor (var name of events) {\n\t\ttarget.addEventListener(name, handler);\n\t}\n\n\tteardown(() => {\n\t\tfor (var name of events) {\n\t\t\ttarget.removeEventListener(name, handler);\n\t\t}\n\t});\n}\n\n/**\n * @template T\n * @param {() => T} fn\n */\nexport function without_reactive_context(fn) {\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\ttry {\n\t\treturn fn();\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * Listen to the given event, and then instantiate a global form reset listener if not already done,\n * to notify all bindings when the form is reset\n * @param {HTMLElement} element\n * @param {string} event\n * @param {(is_reset?: true) => void} handler\n * @param {(is_reset?: true) => void} [on_reset]\n */\nexport function listen_to_event_and_reset_event(element, event, handler, on_reset = handler) {\n\telement.addEventListener(event, () => without_reactive_context(handler));\n\t// @ts-expect-error\n\tconst prev = element.__on_r;\n\tif (prev) {\n\t\t// special case for checkbox that can have multiple binds (group & checked)\n\t\t// @ts-expect-error\n\t\telement.__on_r = () => {\n\t\t\tprev();\n\t\t\ton_reset(true);\n\t\t};\n\t} else {\n\t\t// @ts-expect-error\n\t\telement.__on_r = () => on_reset(true);\n\t}\n\n\tadd_form_reset_listener();\n}\n","import { teardown } from '../../reactivity/effects.js';\nimport { define_property, is_array } from '../../../shared/utils.js';\nimport { hydrating } from '../hydration.js';\nimport { queue_micro_task } from '../task.js';\nimport { FILENAME } from '../../../../constants.js';\nimport * as w from '../../warnings.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { without_reactive_context } from './bindings/shared.js';\n\n/** @type {Set} */\nexport const all_registered_events = new Set();\n\n/** @type {Set<(events: Array) => void>} */\nexport const root_event_handles = new Set();\n\n/**\n * SSR adds onload and onerror attributes to catch those events before the hydration.\n * This function detects those cases, removes the attributes and replays the events.\n * @param {HTMLElement} dom\n */\nexport function replay_events(dom) {\n\tif (!hydrating) return;\n\n\tdom.removeAttribute('onload');\n\tdom.removeAttribute('onerror');\n\t// @ts-expect-error\n\tconst event = dom.__e;\n\tif (event !== undefined) {\n\t\t// @ts-expect-error\n\t\tdom.__e = undefined;\n\t\tqueueMicrotask(() => {\n\t\t\tif (dom.isConnected) {\n\t\t\t\tdom.dispatchEvent(event);\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * @param {string} event_name\n * @param {EventTarget} dom\n * @param {EventListener} [handler]\n * @param {AddEventListenerOptions} [options]\n */\nexport function create_event(event_name, dom, handler, options = {}) {\n\t/**\n\t * @this {EventTarget}\n\t */\n\tfunction target_handler(/** @type {Event} */ event) {\n\t\tif (!options.capture) {\n\t\t\t// Only call in the bubble phase, else delegated events would be called before the capturing events\n\t\t\thandle_event_propagation.call(dom, event);\n\t\t}\n\t\tif (!event.cancelBubble) {\n\t\t\treturn without_reactive_context(() => {\n\t\t\t\treturn handler?.call(this, event);\n\t\t\t});\n\t\t}\n\t}\n\n\t// Chrome has a bug where pointer events don't work when attached to a DOM element that has been cloned\n\t// with cloneNode() and the DOM element is disconnected from the document. To ensure the event works, we\n\t// defer the attachment till after it's been appended to the document. TODO: remove this once Chrome fixes\n\t// this bug. The same applies to wheel events and touch events.\n\tif (\n\t\tevent_name.startsWith('pointer') ||\n\t\tevent_name.startsWith('touch') ||\n\t\tevent_name === 'wheel'\n\t) {\n\t\tqueue_micro_task(() => {\n\t\t\tdom.addEventListener(event_name, target_handler, options);\n\t\t});\n\t} else {\n\t\tdom.addEventListener(event_name, target_handler, options);\n\t}\n\n\treturn target_handler;\n}\n\n/**\n * Attaches an event handler to an element and returns a function that removes the handler. Using this\n * rather than `addEventListener` will preserve the correct order relative to handlers added declaratively\n * (with attributes like `onclick`), which use event delegation for performance reasons\n *\n * @param {EventTarget} element\n * @param {string} type\n * @param {EventListener} handler\n * @param {AddEventListenerOptions} [options]\n */\nexport function on(element, type, handler, options = {}) {\n\tvar target_handler = create_event(type, element, handler, options);\n\n\treturn () => {\n\t\telement.removeEventListener(type, target_handler, options);\n\t};\n}\n\n/**\n * @param {string} event_name\n * @param {Element} dom\n * @param {EventListener} [handler]\n * @param {boolean} [capture]\n * @param {boolean} [passive]\n * @returns {void}\n */\nexport function event(event_name, dom, handler, capture, passive) {\n\tvar options = { capture, passive };\n\tvar target_handler = create_event(event_name, dom, handler, options);\n\n\tif (\n\t\tdom === document.body ||\n\t\t// @ts-ignore\n\t\tdom === window ||\n\t\t// @ts-ignore\n\t\tdom === document ||\n\t\t// Firefox has quirky behavior, it can happen that we still get \"canplay\" events when the element is already removed\n\t\tdom instanceof HTMLMediaElement\n\t) {\n\t\tteardown(() => {\n\t\t\tdom.removeEventListener(event_name, target_handler, options);\n\t\t});\n\t}\n}\n\n/**\n * @param {Array} events\n * @returns {void}\n */\nexport function delegate(events) {\n\tfor (var i = 0; i < events.length; i++) {\n\t\tall_registered_events.add(events[i]);\n\t}\n\n\tfor (var fn of root_event_handles) {\n\t\tfn(events);\n\t}\n}\n\n// used to store the reference to the currently propagated event\n// to prevent garbage collection between microtasks in Firefox\n// If the event object is GCed too early, the expando __root property\n// set on the event object is lost, causing the event delegation\n// to process the event twice\nlet last_propagated_event = null;\n\n/**\n * @this {EventTarget}\n * @param {Event} event\n * @returns {void}\n */\nexport function handle_event_propagation(event) {\n\tvar handler_element = this;\n\tvar owner_document = /** @type {Node} */ (handler_element).ownerDocument;\n\tvar event_name = event.type;\n\tvar path = event.composedPath?.() || [];\n\tvar current_target = /** @type {null | Element} */ (path[0] || event.target);\n\n\tlast_propagated_event = event;\n\n\t// composedPath contains list of nodes the event has propagated through.\n\t// We check __root to skip all nodes below it in case this is a\n\t// parent of the __root node, which indicates that there's nested\n\t// mounted apps. In this case we don't want to trigger events multiple times.\n\tvar path_idx = 0;\n\n\t// the `last_propagated_event === event` check is redundant, but\n\t// without it the variable will be DCE'd and things will\n\t// fail mysteriously in Firefox\n\t// @ts-expect-error is added below\n\tvar handled_at = last_propagated_event === event && event.__root;\n\n\tif (handled_at) {\n\t\tvar at_idx = path.indexOf(handled_at);\n\t\tif (\n\t\t\tat_idx !== -1 &&\n\t\t\t(handler_element === document || handler_element === /** @type {any} */ (window))\n\t\t) {\n\t\t\t// This is the fallback document listener or a window listener, but the event was already handled\n\t\t\t// -> ignore, but set handle_at to document/window so that we're resetting the event\n\t\t\t// chain in case someone manually dispatches the same event object again.\n\t\t\t// @ts-expect-error\n\t\t\tevent.__root = handler_element;\n\t\t\treturn;\n\t\t}\n\n\t\t// We're deliberately not skipping if the index is higher, because\n\t\t// someone could create an event programmatically and emit it multiple times,\n\t\t// in which case we want to handle the whole propagation chain properly each time.\n\t\t// (this will only be a false negative if the event is dispatched multiple times and\n\t\t// the fallback document listener isn't reached in between, but that's super rare)\n\t\tvar handler_idx = path.indexOf(handler_element);\n\t\tif (handler_idx === -1) {\n\t\t\t// handle_idx can theoretically be -1 (happened in some JSDOM testing scenarios with an event listener on the window object)\n\t\t\t// so guard against that, too, and assume that everything was handled at this point.\n\t\t\treturn;\n\t\t}\n\n\t\tif (at_idx <= handler_idx) {\n\t\t\tpath_idx = at_idx;\n\t\t}\n\t}\n\n\tcurrent_target = /** @type {Element} */ (path[path_idx] || event.target);\n\t// there can only be one delegated event per element, and we either already handled the current target,\n\t// or this is the very first target in the chain which has a non-delegated listener, in which case it's safe\n\t// to handle a possible delegated event on it later (through the root delegation listener for example).\n\tif (current_target === handler_element) return;\n\n\t// Proxy currentTarget to correct target\n\tdefine_property(event, 'currentTarget', {\n\t\tconfigurable: true,\n\t\tget() {\n\t\t\treturn current_target || owner_document;\n\t\t}\n\t});\n\n\t// This started because of Chromium issue https://chromestatus.com/feature/5128696823545856,\n\t// where removal or moving of of the DOM can cause sync `blur` events to fire, which can cause logic\n\t// to run inside the current `active_reaction`, which isn't what we want at all. However, on reflection,\n\t// it's probably best that all event handled by Svelte have this behaviour, as we don't really want\n\t// an event handler to run in the context of another reaction or effect.\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\t/**\n\t\t * @type {unknown}\n\t\t */\n\t\tvar throw_error;\n\t\t/**\n\t\t * @type {unknown[]}\n\t\t */\n\t\tvar other_errors = [];\n\n\t\twhile (current_target !== null) {\n\t\t\t/** @type {null | Element} */\n\t\t\tvar parent_element =\n\t\t\t\tcurrent_target.assignedSlot ||\n\t\t\t\tcurrent_target.parentNode ||\n\t\t\t\t/** @type {any} */ (current_target).host ||\n\t\t\t\tnull;\n\n\t\t\ttry {\n\t\t\t\t// @ts-expect-error\n\t\t\t\tvar delegated = current_target['__' + event_name];\n\n\t\t\t\tif (\n\t\t\t\t\tdelegated != null &&\n\t\t\t\t\t(!(/** @type {any} */ (current_target).disabled) ||\n\t\t\t\t\t\t// DOM could've been updated already by the time this is reached, so we check this as well\n\t\t\t\t\t\t// -> the target could not have been disabled because it emits the event in the first place\n\t\t\t\t\t\tevent.target === current_target)\n\t\t\t\t) {\n\t\t\t\t\tif (is_array(delegated)) {\n\t\t\t\t\t\tvar [fn, ...data] = delegated;\n\t\t\t\t\t\tfn.apply(current_target, [event, ...data]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdelegated.call(current_target, event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (throw_error) {\n\t\t\t\t\tother_errors.push(error);\n\t\t\t\t} else {\n\t\t\t\t\tthrow_error = error;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (event.cancelBubble || parent_element === handler_element || parent_element === null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcurrent_target = parent_element;\n\t\t}\n\n\t\tif (throw_error) {\n\t\t\tfor (let error of other_errors) {\n\t\t\t\t// Throw the rest of the errors, one-by-one on a microtask\n\t\t\t\tqueueMicrotask(() => {\n\t\t\t\t\tthrow error;\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow throw_error;\n\t\t}\n\t} finally {\n\t\t// @ts-expect-error is used above\n\t\tevent.__root = handler_element;\n\t\t// @ts-ignore remove proxy on currentTarget\n\t\tdelete event.currentTarget;\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t}\n}\n\n/**\n * In dev, warn if an event handler is not a function, as it means the\n * user probably called the handler or forgot to add a `() =>`\n * @param {() => (event: Event, ...args: any) => void} thunk\n * @param {EventTarget} element\n * @param {[Event, ...any]} args\n * @param {any} component\n * @param {[number, number]} [loc]\n * @param {boolean} [remove_parens]\n */\nexport function apply(\n\tthunk,\n\telement,\n\targs,\n\tcomponent,\n\tloc,\n\thas_side_effects = false,\n\tremove_parens = false\n) {\n\tlet handler;\n\tlet error;\n\n\ttry {\n\t\thandler = thunk();\n\t} catch (e) {\n\t\terror = e;\n\t}\n\n\tif (typeof handler !== 'function' && (has_side_effects || handler != null || error)) {\n\t\tconst filename = component?.[FILENAME];\n\t\tconst location = loc ? ` at ${filename}:${loc[0]}:${loc[1]}` : ` in ${filename}`;\n\t\tconst phase = args[0]?.eventPhase < Event.BUBBLING_PHASE ? 'capture' : '';\n\t\tconst event_name = args[0]?.type + phase;\n\t\tconst description = `\\`${event_name}\\` handler${location}`;\n\t\tconst suggestion = remove_parens ? 'remove the trailing `()`' : 'add a leading `() =>`';\n\n\t\tw.event_handler_invalid(description, suggestion);\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\t}\n\thandler?.apply(element, args);\n}\n","/** @param {string} html */\nexport function create_fragment_from_html(html) {\n\tvar elem = document.createElement('template');\n\telem.innerHTML = html.replaceAll('', ''); // XHTML compliance\n\treturn elem.content;\n}\n","/** @import { Effect, TemplateNode } from '#client' */\n/** @import { TemplateStructure } from './types' */\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from './hydration.js';\nimport {\n\tcreate_text,\n\tget_first_child,\n\tis_firefox,\n\tcreate_element,\n\tcreate_fragment,\n\tcreate_comment,\n\tset_attribute\n} from './operations.js';\nimport { create_fragment_from_html } from './reconciler.js';\nimport { active_effect } from '../runtime.js';\nimport {\n\tNAMESPACE_MATHML,\n\tNAMESPACE_SVG,\n\tTEMPLATE_FRAGMENT,\n\tTEMPLATE_USE_IMPORT_NODE,\n\tTEMPLATE_USE_MATHML,\n\tTEMPLATE_USE_SVG\n} from '../../../constants.js';\nimport { COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, TEXT_NODE } from '#client/constants';\n\n/**\n * @param {TemplateNode} start\n * @param {TemplateNode | null} end\n */\nexport function assign_nodes(start, end) {\n\tvar effect = /** @type {Effect} */ (active_effect);\n\tif (effect.nodes_start === null) {\n\t\teffect.nodes_start = start;\n\t\teffect.nodes_end = end;\n\t}\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_html(content, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tnode = create_fragment_from_html(has_start ? content : '' + content);\n\t\t\tif (!is_fragment) node = /** @type {Node} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n * @param {'svg' | 'math'} ns\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nfunction from_namespace(content, flags, ns = 'svg') {\n\t/**\n\t * Whether or not the first item is a text/element node. If not, we need to\n\t * create an additional comment node to act as `effect.nodes.start`\n\t */\n\tvar has_start = !content.startsWith('');\n\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar wrapped = `<${ns}>${has_start ? content : '' + content}`;\n\n\t/** @type {Element | DocumentFragment} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (!node) {\n\t\t\tvar fragment = /** @type {DocumentFragment} */ (create_fragment_from_html(wrapped));\n\t\t\tvar root = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (is_fragment) {\n\t\t\t\tnode = document.createDocumentFragment();\n\t\t\t\twhile (get_first_child(root)) {\n\t\t\t\t\tnode.appendChild(/** @type {Node} */ (get_first_child(root)));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode = /** @type {Element} */ (get_first_child(root));\n\t\t\t}\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (node.cloneNode(true));\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_svg(content, flags) {\n\treturn from_namespace(content, flags, 'svg');\n}\n\n/**\n * @param {string} content\n * @param {number} flags\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_mathml(content, flags) {\n\treturn from_namespace(content, flags, 'math');\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {NAMESPACE_SVG | NAMESPACE_MATHML | undefined} [ns]\n */\nfunction fragment_from_tree(structure, ns) {\n\tvar fragment = create_fragment();\n\n\tfor (var item of structure) {\n\t\tif (typeof item === 'string') {\n\t\t\tfragment.append(create_text(item));\n\t\t\tcontinue;\n\t\t}\n\n\t\t// if `preserveComments === true`, comments are represented as `['// ']`\n\t\tif (item === undefined || item[0][0] === '/') {\n\t\t\tfragment.append(create_comment(item ? item[0].slice(3) : ''));\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst [name, attributes, ...children] = item;\n\n\t\tconst namespace = name === 'svg' ? NAMESPACE_SVG : name === 'math' ? NAMESPACE_MATHML : ns;\n\n\t\tvar element = create_element(name, namespace, attributes?.is);\n\n\t\tfor (var key in attributes) {\n\t\t\tset_attribute(element, key, attributes[key]);\n\t\t}\n\n\t\tif (children.length > 0) {\n\t\t\tvar target =\n\t\t\t\telement.tagName === 'TEMPLATE'\n\t\t\t\t\t? /** @type {HTMLTemplateElement} */ (element).content\n\t\t\t\t\t: element;\n\n\t\t\ttarget.append(\n\t\t\t\tfragment_from_tree(children, element.tagName === 'foreignObject' ? undefined : namespace)\n\t\t\t);\n\t\t}\n\n\t\tfragment.append(element);\n\t}\n\n\treturn fragment;\n}\n\n/**\n * @param {TemplateStructure[]} structure\n * @param {number} flags\n * @returns {() => Node | Node[]}\n */\n/*#__NO_SIDE_EFFECTS__*/\nexport function from_tree(structure, flags) {\n\tvar is_fragment = (flags & TEMPLATE_FRAGMENT) !== 0;\n\tvar use_import_node = (flags & TEMPLATE_USE_IMPORT_NODE) !== 0;\n\n\t/** @type {Node} */\n\tvar node;\n\n\treturn () => {\n\t\tif (hydrating) {\n\t\t\tassign_nodes(hydrate_node, null);\n\t\t\treturn hydrate_node;\n\t\t}\n\n\t\tif (node === undefined) {\n\t\t\tconst ns =\n\t\t\t\t(flags & TEMPLATE_USE_SVG) !== 0\n\t\t\t\t\t? NAMESPACE_SVG\n\t\t\t\t\t: (flags & TEMPLATE_USE_MATHML) !== 0\n\t\t\t\t\t\t? NAMESPACE_MATHML\n\t\t\t\t\t\t: undefined;\n\n\t\t\tnode = fragment_from_tree(structure, ns);\n\t\t\tif (!is_fragment) node = /** @type {Node} */ (get_first_child(node));\n\t\t}\n\n\t\tvar clone = /** @type {TemplateNode} */ (\n\t\t\tuse_import_node || is_firefox ? document.importNode(node, true) : node.cloneNode(true)\n\t\t);\n\n\t\tif (is_fragment) {\n\t\t\tvar start = /** @type {TemplateNode} */ (get_first_child(clone));\n\t\t\tvar end = /** @type {TemplateNode} */ (clone.lastChild);\n\n\t\t\tassign_nodes(start, end);\n\t\t} else {\n\t\t\tassign_nodes(clone, clone);\n\t\t}\n\n\t\treturn clone;\n\t};\n}\n\n/**\n * @param {() => Element | DocumentFragment} fn\n */\nexport function with_script(fn) {\n\treturn () => run_scripts(fn());\n}\n\n/**\n * Creating a document fragment from HTML that contains script tags will not execute\n * the scripts. We need to replace the script tags with new ones so that they are executed.\n * @param {Element | DocumentFragment} node\n * @returns {Node | Node[]}\n */\nfunction run_scripts(node) {\n\t// scripts were SSR'd, in which case they will run\n\tif (hydrating) return node;\n\n\tconst is_fragment = node.nodeType === DOCUMENT_FRAGMENT_NODE;\n\tconst scripts =\n\t\t/** @type {HTMLElement} */ (node).tagName === 'SCRIPT'\n\t\t\t? [/** @type {HTMLScriptElement} */ (node)]\n\t\t\t: node.querySelectorAll('script');\n\tconst effect = /** @type {Effect} */ (active_effect);\n\n\tfor (const script of scripts) {\n\t\tconst clone = document.createElement('script');\n\t\tfor (var attribute of script.attributes) {\n\t\t\tclone.setAttribute(attribute.name, attribute.value);\n\t\t}\n\n\t\tclone.textContent = script.textContent;\n\n\t\t// The script has changed - if it's at the edges, the effect now points at dead nodes\n\t\tif (is_fragment ? node.firstChild === script : node === script) {\n\t\t\teffect.nodes_start = clone;\n\t\t}\n\t\tif (is_fragment ? node.lastChild === script : node === script) {\n\t\t\teffect.nodes_end = clone;\n\t\t}\n\n\t\tscript.replaceWith(clone);\n\t}\n\treturn node;\n}\n\n/**\n * Don't mark this as side-effect-free, hydration needs to walk all nodes\n * @param {any} value\n */\nexport function text(value = '') {\n\tif (!hydrating) {\n\t\tvar t = create_text(value + '');\n\t\tassign_nodes(t, t);\n\t\treturn t;\n\t}\n\n\tvar node = hydrate_node;\n\n\tif (node.nodeType !== TEXT_NODE) {\n\t\t// if an {expression} is empty during SSR, we need to insert an empty text node\n\t\tnode.before((node = create_text()));\n\t\tset_hydrate_node(node);\n\t}\n\n\tassign_nodes(node, node);\n\treturn node;\n}\n\nexport function comment() {\n\t// we're not delegating to `template` here for performance reasons\n\tif (hydrating) {\n\t\tassign_nodes(hydrate_node, null);\n\t\treturn hydrate_node;\n\t}\n\n\tvar frag = document.createDocumentFragment();\n\tvar start = document.createComment('');\n\tvar anchor = create_text();\n\tfrag.append(start, anchor);\n\n\tassign_nodes(start, anchor);\n\n\treturn frag;\n}\n\n/**\n * Assign the created (or in hydration mode, traversed) dom elements to the current block\n * and insert the elements into the dom (in client mode).\n * @param {Text | Comment | Element} anchor\n * @param {DocumentFragment | Element} dom\n */\nexport function append(anchor, dom) {\n\tif (hydrating) {\n\t\t/** @type {Effect} */ (active_effect).nodes_end = hydrate_node;\n\t\thydrate_next();\n\t\treturn;\n\t}\n\n\tif (anchor === null) {\n\t\t// edge case — void `` with content\n\t\treturn;\n\t}\n\n\tanchor.before(/** @type {Node} */ (dom));\n}\n\n/**\n * Create (or hydrate) an unique UID for the component instance.\n */\nexport function props_id() {\n\tif (\n\t\thydrating &&\n\t\thydrate_node &&\n\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\thydrate_node.textContent?.startsWith(`#`)\n\t) {\n\t\tconst id = hydrate_node.textContent.substring(1);\n\t\thydrate_next();\n\t\treturn id;\n\t}\n\n\t// @ts-expect-error This way we ensure the id is unique even across Svelte runtimes\n\t(window.__svelte ??= {}).uid ??= 1;\n\n\t// @ts-expect-error\n\treturn `c${window.__svelte.uid++}`;\n}\n","/** @import { ComponentContext, Effect, TemplateNode } from '#client' */\n/** @import { Component, ComponentType, SvelteComponent, MountOptions } from '../../index.js' */\nimport { DEV } from 'esm-env';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tinit_operations\n} from './dom/operations.js';\nimport { HYDRATION_END, HYDRATION_ERROR, HYDRATION_START } from '../../constants.js';\nimport { active_effect } from './runtime.js';\nimport { push, pop, component_context } from './context.js';\nimport { component_root, branch } from './reactivity/effects.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tset_hydrate_node,\n\tset_hydrating\n} from './dom/hydration.js';\nimport { array_from } from '../shared/utils.js';\nimport {\n\tall_registered_events,\n\thandle_event_propagation,\n\troot_event_handles\n} from './dom/elements/events.js';\nimport { reset_head_anchor } from './dom/blocks/svelte-head.js';\nimport * as w from './warnings.js';\nimport * as e from './errors.js';\nimport { assign_nodes } from './dom/template.js';\nimport { is_passive_event } from '../../utils.js';\nimport { COMMENT_NODE } from './constants.js';\n\n/**\n * This is normally true — block effects should run their intro transitions —\n * but is false during hydration (unless `options.intro` is `true`) and\n * when creating the children of a `` that just changed tag\n */\nexport let should_intro = true;\n\n/** @param {boolean} value */\nexport function set_should_intro(value) {\n\tshould_intro = value;\n}\n\n/**\n * @param {Element} text\n * @param {string} value\n * @returns {void}\n */\nexport function set_text(text, value) {\n\t// For objects, we apply string coercion (which might make things like $state array references in the template reactive) before diffing\n\tvar str = value == null ? '' : typeof value === 'object' ? value + '' : value;\n\t// @ts-expect-error\n\tif (str !== (text.__t ??= text.nodeValue)) {\n\t\t// @ts-expect-error\n\t\ttext.__t = str;\n\t\ttext.nodeValue = str + '';\n\t}\n}\n\n/**\n * Mounts a component to the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component.\n * Transitions will play during the initial render unless the `intro` option is set to `false`.\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nexport function mount(component, options) {\n\treturn _mount(component, options);\n}\n\n/**\n * Hydrates a component on the given target and returns the exports and potentially the props (if compiled with `accessors: true`) of the component\n *\n * @template {Record} Props\n * @template {Record} Exports\n * @param {ComponentType> | Component} component\n * @param {{} extends Props ? {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops?: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n * \t} : {\n * \t\ttarget: Document | Element | ShadowRoot;\n * \t\tprops: Props;\n * \t\tevents?: Record any>;\n * \tcontext?: Map;\n * \t\tintro?: boolean;\n * \t\trecover?: boolean;\n * \t}} options\n * @returns {Exports}\n */\nexport function hydrate(component, options) {\n\tinit_operations();\n\toptions.intro = options.intro ?? false;\n\tconst target = options.target;\n\tconst was_hydrating = hydrating;\n\tconst previous_hydrate_node = hydrate_node;\n\n\ttry {\n\t\tvar anchor = /** @type {TemplateNode} */ (get_first_child(target));\n\t\twhile (\n\t\t\tanchor &&\n\t\t\t(anchor.nodeType !== COMMENT_NODE || /** @type {Comment} */ (anchor).data !== HYDRATION_START)\n\t\t) {\n\t\t\tanchor = /** @type {TemplateNode} */ (get_next_sibling(anchor));\n\t\t}\n\n\t\tif (!anchor) {\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(true);\n\t\tset_hydrate_node(/** @type {Comment} */ (anchor));\n\t\thydrate_next();\n\n\t\tconst instance = _mount(component, { ...options, anchor });\n\n\t\tif (\n\t\t\thydrate_node === null ||\n\t\t\thydrate_node.nodeType !== COMMENT_NODE ||\n\t\t\t/** @type {Comment} */ (hydrate_node).data !== HYDRATION_END\n\t\t) {\n\t\t\tw.hydration_mismatch();\n\t\t\tthrow HYDRATION_ERROR;\n\t\t}\n\n\t\tset_hydrating(false);\n\n\t\treturn /** @type {Exports} */ (instance);\n\t} catch (error) {\n\t\t// re-throw Svelte errors - they are certainly not related to hydration\n\t\tif (\n\t\t\terror instanceof Error &&\n\t\t\terror.message.split('\\n').some((line) => line.startsWith('https://svelte.dev/e/'))\n\t\t) {\n\t\t\tthrow error;\n\t\t}\n\t\tif (error !== HYDRATION_ERROR) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn('Failed to hydrate: ', error);\n\t\t}\n\n\t\tif (options.recover === false) {\n\t\t\te.hydration_failed();\n\t\t}\n\n\t\t// If an error occured above, the operations might not yet have been initialised.\n\t\tinit_operations();\n\t\tclear_text_content(target);\n\n\t\tset_hydrating(false);\n\t\treturn mount(component, options);\n\t} finally {\n\t\tset_hydrating(was_hydrating);\n\t\tset_hydrate_node(previous_hydrate_node);\n\t\treset_head_anchor();\n\t}\n}\n\n/** @type {Map} */\nconst document_listeners = new Map();\n\n/**\n * @template {Record} Exports\n * @param {ComponentType> | Component} Component\n * @param {MountOptions} options\n * @returns {Exports}\n */\nfunction _mount(Component, { target, anchor, props = {}, events, context, intro = true }) {\n\tinit_operations();\n\n\tvar registered_events = new Set();\n\n\t/** @param {Array} events */\n\tvar event_handle = (events) => {\n\t\tfor (var i = 0; i < events.length; i++) {\n\t\t\tvar event_name = events[i];\n\n\t\t\tif (registered_events.has(event_name)) continue;\n\t\t\tregistered_events.add(event_name);\n\n\t\t\tvar passive = is_passive_event(event_name);\n\n\t\t\t// Add the event listener to both the container and the document.\n\t\t\t// The container listener ensures we catch events from within in case\n\t\t\t// the outer content stops propagation of the event.\n\t\t\ttarget.addEventListener(event_name, handle_event_propagation, { passive });\n\n\t\t\tvar n = document_listeners.get(event_name);\n\n\t\t\tif (n === undefined) {\n\t\t\t\t// The document listener ensures we catch events that originate from elements that were\n\t\t\t\t// manually moved outside of the container (e.g. via manual portals).\n\t\t\t\tdocument.addEventListener(event_name, handle_event_propagation, { passive });\n\t\t\t\tdocument_listeners.set(event_name, 1);\n\t\t\t} else {\n\t\t\t\tdocument_listeners.set(event_name, n + 1);\n\t\t\t}\n\t\t}\n\t};\n\n\tevent_handle(array_from(all_registered_events));\n\troot_event_handles.add(event_handle);\n\n\t/** @type {Exports} */\n\t// @ts-expect-error will be defined because the render effect runs synchronously\n\tvar component = undefined;\n\n\tvar unmount = component_root(() => {\n\t\tvar anchor_node = anchor ?? target.appendChild(create_text());\n\n\t\tbranch(() => {\n\t\t\tif (context) {\n\t\t\t\tpush({});\n\t\t\t\tvar ctx = /** @type {ComponentContext} */ (component_context);\n\t\t\t\tctx.c = context;\n\t\t\t}\n\n\t\t\tif (events) {\n\t\t\t\t// We can't spread the object or else we'd lose the state proxy stuff, if it is one\n\t\t\t\t/** @type {any} */ (props).$$events = events;\n\t\t\t}\n\n\t\t\tif (hydrating) {\n\t\t\t\tassign_nodes(/** @type {TemplateNode} */ (anchor_node), null);\n\t\t\t}\n\n\t\t\tshould_intro = intro;\n\t\t\t// @ts-expect-error the public typings are not what the actual function looks like\n\t\t\tcomponent = Component(anchor_node, props) || {};\n\t\t\tshould_intro = true;\n\n\t\t\tif (hydrating) {\n\t\t\t\t/** @type {Effect} */ (active_effect).nodes_end = hydrate_node;\n\t\t\t}\n\n\t\t\tif (context) {\n\t\t\t\tpop();\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tfor (var event_name of registered_events) {\n\t\t\t\ttarget.removeEventListener(event_name, handle_event_propagation);\n\n\t\t\t\tvar n = /** @type {number} */ (document_listeners.get(event_name));\n\n\t\t\t\tif (--n === 0) {\n\t\t\t\t\tdocument.removeEventListener(event_name, handle_event_propagation);\n\t\t\t\t\tdocument_listeners.delete(event_name);\n\t\t\t\t} else {\n\t\t\t\t\tdocument_listeners.set(event_name, n);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\troot_event_handles.delete(event_handle);\n\n\t\t\tif (anchor_node !== anchor) {\n\t\t\t\tanchor_node.parentNode?.removeChild(anchor_node);\n\t\t\t}\n\t\t};\n\t});\n\n\tmounted_components.set(component, unmount);\n\treturn component;\n}\n\n/**\n * References of the components that were mounted or hydrated.\n * Uses a `WeakMap` to avoid memory leaks.\n */\nlet mounted_components = new WeakMap();\n\n/**\n * Unmounts a component that was previously mounted using `mount` or `hydrate`.\n *\n * Since 5.13.0, if `options.outro` is `true`, [transitions](https://svelte.dev/docs/svelte/transition) will play before the component is removed from the DOM.\n *\n * Returns a `Promise` that resolves after transitions have completed if `options.outro` is true, or immediately otherwise (prior to 5.13.0, returns `void`).\n *\n * ```js\n * import { mount, unmount } from 'svelte';\n * import App from './App.svelte';\n *\n * const app = mount(App, { target: document.body });\n *\n * // later...\n * unmount(app, { outro: true });\n * ```\n * @param {Record} component\n * @param {{ outro?: boolean }} [options]\n * @returns {Promise}\n */\nexport function unmount(component, options) {\n\tconst fn = mounted_components.get(component);\n\n\tif (fn) {\n\t\tmounted_components.delete(component);\n\t\treturn fn(options);\n\t}\n\n\tif (DEV) {\n\t\tw.lifecycle_double_unmount();\n\t}\n\n\treturn Promise.resolve();\n}\n","/** @import { Effect, TemplateNode } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { block, branch, pause_effect, resume_effect } from '../../reactivity/effects.js';\nimport { HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\nimport { create_text, should_defer_append } from '../operations.js';\nimport { current_batch } from '../../reactivity/batch.js';\n\n// TODO reinstate https://github.com/sveltejs/svelte/pull/15250\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node) => void, flag?: boolean) => void) => void} fn\n * @param {boolean} [elseif] True if this is an `{:else if ...}` block rather than an `{#if ...}`, as that affects which transitions are considered 'local'\n * @returns {void}\n */\nexport function if_block(node, fn, elseif = false) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\n\t/** @type {Effect | null} */\n\tvar consequent_effect = null;\n\n\t/** @type {Effect | null} */\n\tvar alternate_effect = null;\n\n\t/** @type {UNINITIALIZED | boolean | null} */\n\tvar condition = UNINITIALIZED;\n\n\tvar flags = elseif ? EFFECT_TRANSPARENT : 0;\n\n\tvar has_branch = false;\n\n\tconst set_branch = (/** @type {(anchor: Node) => void} */ fn, flag = true) => {\n\t\thas_branch = true;\n\t\tupdate_branch(flag, fn);\n\t};\n\n\t/** @type {DocumentFragment | null} */\n\tvar offscreen_fragment = null;\n\n\tfunction commit() {\n\t\tif (offscreen_fragment !== null) {\n\t\t\t// remove the anchor\n\t\t\t/** @type {Text} */ (offscreen_fragment.lastChild).remove();\n\n\t\t\tanchor.before(offscreen_fragment);\n\t\t\toffscreen_fragment = null;\n\t\t}\n\n\t\tvar active = condition ? consequent_effect : alternate_effect;\n\t\tvar inactive = condition ? alternate_effect : consequent_effect;\n\n\t\tif (active) {\n\t\t\tresume_effect(active);\n\t\t}\n\n\t\tif (inactive) {\n\t\t\tpause_effect(inactive, () => {\n\t\t\t\tif (condition) {\n\t\t\t\t\talternate_effect = null;\n\t\t\t\t} else {\n\t\t\t\t\tconsequent_effect = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tconst update_branch = (\n\t\t/** @type {boolean | null} */ new_condition,\n\t\t/** @type {null | ((anchor: Node) => void)} */ fn\n\t) => {\n\t\tif (condition === (condition = new_condition)) return;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tconst is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (!!condition === is_else) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tanchor = remove_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\tvar defer = should_defer_append();\n\t\tvar target = anchor;\n\n\t\tif (defer) {\n\t\t\toffscreen_fragment = document.createDocumentFragment();\n\t\t\toffscreen_fragment.append((target = create_text()));\n\t\t}\n\n\t\tif (condition) {\n\t\t\tconsequent_effect ??= fn && branch(() => fn(target));\n\t\t} else {\n\t\t\talternate_effect ??= fn && branch(() => fn(target));\n\t\t}\n\n\t\tif (defer) {\n\t\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t\tvar active = condition ? consequent_effect : alternate_effect;\n\t\t\tvar inactive = condition ? alternate_effect : consequent_effect;\n\n\t\t\tif (active) batch.skipped_effects.delete(active);\n\t\t\tif (inactive) batch.skipped_effects.add(inactive);\n\n\t\t\tbatch.add_callback(commit);\n\t\t} else {\n\t\t\tcommit();\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\t};\n\n\tblock(() => {\n\t\thas_branch = false;\n\t\tfn(set_branch);\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(null, null);\n\t\t}\n\t}, flags);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n","/** @import { EachItem, EachState, Effect, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tremove_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tshould_defer_append\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\trun_out_transitions,\n\tpause_children,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { COMMENT_NODE, INERT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { active_effect, get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\nimport { current_batch } from '../../reactivity/batch.js';\n\n/**\n * The row of a keyed each block that is currently updating. We track this\n * so that `animate:` directives have something to attach themselves to\n * @type {EachItem | null}\n */\nexport let current_each_item = null;\n\n/** @param {EachItem | null} item */\nexport function set_current_each_item(item) {\n\tcurrent_each_item = item;\n}\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {EachItem[]} items\n * @param {null | Node} controlled_anchor\n */\nfunction pause_effects(state, items, controlled_anchor) {\n\tvar items_map = state.items;\n\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = items.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tpause_children(items[i].e, transitions, true);\n\t}\n\n\tvar is_controlled = length > 0 && transitions.length === 0 && controlled_anchor !== null;\n\t// If we have a controlled anchor, it means that the each block is inside a single\n\t// DOM element, so we can apply a fast-path for clearing the contents of the element.\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (\n\t\t\t/** @type {Element} */ (controlled_anchor).parentNode\n\t\t);\n\t\tclear_text_content(parent_node);\n\t\tparent_node.append(/** @type {Element} */ (controlled_anchor));\n\t\titems_map.clear();\n\t\tlink(state, items[0].prev, items[length - 1].next);\n\t}\n\n\trun_out_transitions(transitions, () => {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tif (!is_controlled) {\n\t\t\t\titems_map.delete(item.k);\n\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t}\n\t\t\tdestroy_effect(item.e, !is_controlled);\n\t\t}\n\t});\n}\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource, index: MaybeSource) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {EachState} */\n\tvar state = { flags, items: new Map(), first: null };\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(/** @type {Comment | Text} */ (get_first_child(parent_node)))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\tvar was_empty = false;\n\n\t/** @type {Map} */\n\tvar offscreen_items = new Map();\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn is_array(collection) ? collection : collection == null ? [] : array_from(collection);\n\t});\n\n\t/** @type {V[]} */\n\tvar array;\n\n\t/** @type {Effect} */\n\tvar each_effect;\n\n\tfunction commit() {\n\t\treconcile(\n\t\t\teach_effect,\n\t\t\tarray,\n\t\t\tstate,\n\t\t\toffscreen_items,\n\t\t\tanchor,\n\t\t\trender_fn,\n\t\t\tflags,\n\t\t\tget_key,\n\t\t\tget_collection\n\t\t);\n\n\t\tif (fallback_fn !== null) {\n\t\t\tif (array.length === 0) {\n\t\t\t\tif (fallback) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t\t}\n\t\t\t} else if (fallback !== null) {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tblock(() => {\n\t\t// store a reference to the effect so that we can update the start/end nodes in reconciliation\n\t\teach_effect ??= /** @type {Effect} */ (active_effect);\n\n\t\tarray = get(each_array);\n\t\tvar length = array.length;\n\n\t\tif (was_empty && length === 0) {\n\t\t\t// ignore updates if the array is empty,\n\t\t\t// and it already was empty on previous run\n\t\t\treturn;\n\t\t}\n\t\twas_empty = length === 0;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = remove_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\t// this is separate to the previous block because `hydrating` might change\n\t\tif (hydrating) {\n\t\t\t/** @type {EachItem | null} */\n\t\t\tvar prev = null;\n\n\t\t\t/** @type {EachItem} */\n\t\t\tvar item;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tif (\n\t\t\t\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t\t) {\n\t\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\t\tmismatch = true;\n\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar value = array[i];\n\t\t\t\tvar key = get_key(value, i);\n\t\t\t\titem = create_item(\n\t\t\t\t\thydrate_node,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tnull,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t\tstate.items.set(key, item);\n\n\t\t\t\tprev = item;\n\t\t\t}\n\n\t\t\t// remove excess nodes\n\t\t\tif (length > 0) {\n\t\t\t\tset_hydrate_node(remove_nodes());\n\t\t\t}\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tif (length === 0 && fallback_fn) {\n\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t}\n\t\t} else {\n\t\t\tif (should_defer_append()) {\n\t\t\t\tvar keys = new Set();\n\t\t\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tvalue = array[i];\n\t\t\t\t\tkey = get_key(value, i);\n\n\t\t\t\t\tvar existing = state.items.get(key) ?? offscreen_items.get(key);\n\n\t\t\t\t\tif (existing) {\n\t\t\t\t\t\t// update before reconciliation, to trigger any async updates\n\t\t\t\t\t\tif ((flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0) {\n\t\t\t\t\t\t\tupdate_item(existing, value, i, flags);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\titem = create_item(\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\trender_fn,\n\t\t\t\t\t\t\tflags,\n\t\t\t\t\t\t\tget_collection,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\toffscreen_items.set(key, item);\n\t\t\t\t\t}\n\n\t\t\t\t\tkeys.add(key);\n\t\t\t\t}\n\n\t\t\t\tfor (const [key, item] of state.items) {\n\t\t\t\t\tif (!keys.has(key)) {\n\t\t\t\t\t\tbatch.skipped_effects.add(item.e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.add_callback(commit);\n\t\t\t} else {\n\t\t\t\tcommit();\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {Effect} each_effect\n * @param {Array} array\n * @param {EachState} state\n * @param {Map} offscreen_items\n * @param {Element | Comment | Text} anchor\n * @param {(anchor: Node, item: MaybeSource, index: number | Source, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @param {() => V[]} get_collection\n * @returns {void}\n */\nfunction reconcile(\n\teach_effect,\n\tarray,\n\tstate,\n\toffscreen_items,\n\tanchor,\n\trender_fn,\n\tflags,\n\tget_key,\n\tget_collection\n) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\tvar should_update = (flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar first = state.first;\n\tvar current = first;\n\n\t/** @type {undefined | Set} */\n\tvar seen;\n\n\t/** @type {EachItem | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set} */\n\tvar to_animate;\n\n\t/** @type {EachItem[]} */\n\tvar matched = [];\n\n\t/** @type {EachItem[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {EachItem | undefined} */\n\tvar item;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\titem = items.get(key);\n\n\t\t\tif (item !== undefined) {\n\t\t\t\titem.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\n\t\titem = items.get(key);\n\n\t\tif (item === undefined) {\n\t\t\tvar pending = offscreen_items.get(key);\n\n\t\t\tif (pending !== undefined) {\n\t\t\t\toffscreen_items.delete(key);\n\t\t\t\titems.set(key, pending);\n\n\t\t\t\tvar next = prev ? prev.next : current;\n\n\t\t\t\tlink(state, prev, pending);\n\t\t\t\tlink(state, pending, next);\n\n\t\t\t\tmove(pending, next, anchor);\n\t\t\t\tprev = pending;\n\t\t\t} else {\n\t\t\t\tvar child_anchor = current ? /** @type {TemplateNode} */ (current.e.nodes_start) : anchor;\n\n\t\t\t\tprev = create_item(\n\t\t\t\t\tchild_anchor,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tprev === null ? state.first : prev.next,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.set(key, prev);\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\tcurrent = prev.next;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (should_update) {\n\t\t\tupdate_item(item, value, i, flags);\n\t\t}\n\n\t\tif ((item.e.f & INERT) !== 0) {\n\t\t\tresume_effect(item.e);\n\t\t\tif (is_animated) {\n\t\t\t\titem.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(item);\n\t\t\t}\n\t\t}\n\n\t\tif (item !== current) {\n\t\t\tif (seen !== undefined && seen.has(item)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(item);\n\t\t\t\t\tmove(item, current, anchor);\n\n\t\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t\t\tlink(state, item, prev === null ? state.first : prev.next);\n\t\t\t\t\tlink(state, prev, item);\n\n\t\t\t\t\tprev = item;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current.k !== key) {\n\t\t\t\t// If the each block isn't inert and an item has an effect that is already inert,\n\t\t\t\t// skip over adding it to our seen Set as the item is already being handled\n\t\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\t}\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = current.next;\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\titem = current;\n\t\t}\n\n\t\tmatched.push(item);\n\t\tprev = item;\n\t\tcurrent = item.next;\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\tvar to_destroy = seen === undefined ? [] : array_from(seen);\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\t\t\tcurrent = current.next;\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (item of to_animate) {\n\t\t\t\titem.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n\n\teach_effect.first = state.first && state.first.e;\n\teach_effect.last = prev && prev.e;\n\n\tfor (var unused of offscreen_items.values()) {\n\t\tdestroy_effect(unused.e);\n\t}\n\n\toffscreen_items.clear();\n}\n\n/**\n * @param {EachItem} item\n * @param {any} value\n * @param {number} index\n * @param {number} type\n * @returns {void}\n */\nfunction update_item(item, value, index, type) {\n\tif ((type & EACH_ITEM_REACTIVE) !== 0) {\n\t\tinternal_set(item.v, value);\n\t}\n\n\tif ((type & EACH_INDEX_REACTIVE) !== 0) {\n\t\tinternal_set(/** @type {Value} */ (item.i), index);\n\t} else {\n\t\titem.i = index;\n\t}\n}\n\n/**\n * @template V\n * @param {Node | null} anchor\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: V | Source, index: number | Value, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {boolean} [deferred]\n * @returns {EachItem}\n */\nfunction create_item(\n\tanchor,\n\tstate,\n\tprev,\n\tnext,\n\tvalue,\n\tkey,\n\tindex,\n\trender_fn,\n\tflags,\n\tget_collection,\n\tdeferred\n) {\n\tvar previous_each_item = current_each_item;\n\tvar reactive = (flags & EACH_ITEM_REACTIVE) !== 0;\n\tvar mutable = (flags & EACH_ITEM_IMMUTABLE) === 0;\n\n\tvar v = reactive ? (mutable ? mutable_source(value, false, false) : source(value)) : value;\n\tvar i = (flags & EACH_INDEX_REACTIVE) === 0 ? index : source(index);\n\n\tif (DEV && reactive) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\t/** @type {Value} */ (v).trace = () => {\n\t\t\tvar collection_index = typeof i === 'number' ? index : i.v;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[collection_index];\n\t\t};\n\t}\n\n\t/** @type {EachItem} */\n\tvar item = {\n\t\ti,\n\t\tv,\n\t\tk: key,\n\t\ta: null,\n\t\t// @ts-expect-error\n\t\te: null,\n\t\tprev,\n\t\tnext\n\t};\n\n\tcurrent_each_item = item;\n\n\ttry {\n\t\tif (anchor === null) {\n\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\tfragment.append((anchor = create_text()));\n\t\t}\n\n\t\titem.e = branch(() => render_fn(/** @type {Node} */ (anchor), v, i, get_collection), hydrating);\n\n\t\titem.e.prev = prev && prev.e;\n\t\titem.e.next = next && next.e;\n\n\t\tif (prev === null) {\n\t\t\tif (!deferred) {\n\t\t\t\tstate.first = item;\n\t\t\t}\n\t\t} else {\n\t\t\tprev.next = item;\n\t\t\tprev.e.next = item.e;\n\t\t}\n\n\t\tif (next !== null) {\n\t\t\tnext.prev = item;\n\t\t\tnext.e.prev = item.e;\n\t\t}\n\n\t\treturn item;\n\t} finally {\n\t\tcurrent_each_item = previous_each_item;\n\t}\n}\n\n/**\n * @param {EachItem} item\n * @param {EachItem | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(item, next, anchor) {\n\tvar end = item.next ? /** @type {TemplateNode} */ (item.next.e.nodes_start) : anchor;\n\n\tvar dest = next ? /** @type {TemplateNode} */ (next.e.nodes_start) : anchor;\n\tvar node = /** @type {TemplateNode} */ (item.e.nodes_start);\n\n\twhile (node !== null && node !== end) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.first = next;\n\t} else {\n\t\tprev.next = next;\n\t\tprev.e.next = next && next.e;\n\t}\n\n\tif (next !== null) {\n\t\tnext.prev = prev;\n\t\tnext.e.prev = prev && prev.e;\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\n\nimport { COMMENT_NODE } from '#client/constants';\nimport {\n\tHYDRATION_END,\n\tHYDRATION_ERROR,\n\tHYDRATION_START,\n\tHYDRATION_START_ELSE\n} from '../../../constants.js';\nimport * as w from '../warnings.js';\nimport { get_next_sibling } from './operations.js';\n\n/**\n * Use this variable to guard everything related to hydration code so it can be treeshaken out\n * if the user doesn't use the `hydrate` method and these code paths are therefore not needed.\n */\nexport let hydrating = false;\n\n/** @param {boolean} value */\nexport function set_hydrating(value) {\n\thydrating = value;\n}\n\n/**\n * The node that is currently being hydrated. This starts out as the first node inside the opening\n * comment, and updates each time a component calls `$.child(...)` or `$.sibling(...)`.\n * When entering a block (e.g. `{#if ...}`), `hydrate_node` is the block opening comment; by the\n * time we leave the block it is the closing comment, which serves as the block's anchor.\n * @type {TemplateNode}\n */\nexport let hydrate_node;\n\n/** @param {TemplateNode} node */\nexport function set_hydrate_node(node) {\n\tif (node === null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn (hydrate_node = node);\n}\n\nexport function hydrate_next() {\n\treturn set_hydrate_node(/** @type {TemplateNode} */ (get_next_sibling(hydrate_node)));\n}\n\n/** @param {TemplateNode} node */\nexport function reset(node) {\n\tif (!hydrating) return;\n\n\t// If the node has remaining siblings, something has gone wrong\n\tif (get_next_sibling(hydrate_node) !== null) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\thydrate_node = node;\n}\n\n/**\n * @param {HTMLTemplateElement} template\n */\nexport function hydrate_template(template) {\n\tif (hydrating) {\n\t\t// @ts-expect-error TemplateNode doesn't include DocumentFragment, but it's actually fine\n\t\thydrate_node = template.content;\n\t}\n}\n\nexport function next(count = 1) {\n\tif (hydrating) {\n\t\tvar i = count;\n\t\tvar node = hydrate_node;\n\n\t\twhile (i--) {\n\t\t\tnode = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\t}\n\n\t\thydrate_node = node;\n\t}\n}\n\n/**\n * Removes all nodes starting at `hydrate_node` up until the next hydration end comment\n */\nexport function remove_nodes() {\n\tvar depth = 0;\n\tvar node = hydrate_node;\n\n\twhile (true) {\n\t\tif (node.nodeType === COMMENT_NODE) {\n\t\t\tvar data = /** @type {Comment} */ (node).data;\n\n\t\t\tif (data === HYDRATION_END) {\n\t\t\t\tif (depth === 0) return node;\n\t\t\t\tdepth -= 1;\n\t\t\t} else if (data === HYDRATION_START || data === HYDRATION_START_ELSE) {\n\t\t\t\tdepth += 1;\n\t\t\t}\n\t\t}\n\n\t\tvar next = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tnode.remove();\n\t\tnode = next;\n\t}\n}\n\n/**\n *\n * @param {TemplateNode} node\n */\nexport function read_hydration_instruction(node) {\n\tif (!node || node.nodeType !== COMMENT_NODE) {\n\t\tw.hydration_mismatch();\n\t\tthrow HYDRATION_ERROR;\n\t}\n\n\treturn /** @type {Comment} */ (node).data;\n}\n","/** @import { Snippet } from 'svelte' */\n/** @import { Effect, TemplateNode } from '#client' */\n/** @import { Getters } from '#shared' */\nimport { EFFECT_TRANSPARENT, ELEMENT_NODE } from '#client/constants';\nimport { branch, block, destroy_effect, teardown } from '../../reactivity/effects.js';\nimport {\n\tdev_current_component_function,\n\tset_dev_current_component_function\n} from '../../context.js';\nimport { hydrate_next, hydrate_node, hydrating } from '../hydration.js';\nimport { create_fragment_from_html } from '../reconciler.js';\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport * as e from '../../errors.js';\nimport { DEV } from 'esm-env';\nimport { get_first_child, get_next_sibling } from '../operations.js';\nimport { noop } from '../../../shared/utils.js';\nimport { prevent_snippet_stringification } from '../../../shared/validate.js';\n\n/**\n * @template {(node: TemplateNode, ...args: any[]) => void} SnippetFn\n * @param {TemplateNode} node\n * @param {() => SnippetFn | null | undefined} get_snippet\n * @param {(() => any)[]} args\n * @returns {void}\n */\nexport function snippet(node, get_snippet, ...args) {\n\tvar anchor = node;\n\n\t/** @type {SnippetFn | null | undefined} */\n\t// @ts-ignore\n\tvar snippet = noop;\n\n\t/** @type {Effect | null} */\n\tvar snippet_effect;\n\n\tblock(() => {\n\t\tif (snippet === (snippet = get_snippet())) return;\n\n\t\tif (snippet_effect) {\n\t\t\tdestroy_effect(snippet_effect);\n\t\t\tsnippet_effect = null;\n\t\t}\n\n\t\tif (DEV && snippet == null) {\n\t\t\te.invalid_snippet();\n\t\t}\n\n\t\tsnippet_effect = branch(() => /** @type {SnippetFn} */ (snippet)(anchor, ...args));\n\t}, EFFECT_TRANSPARENT);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * In development, wrap the snippet function so that it passes validation, and so that the\n * correct component context is set for ownership checks\n * @param {any} component\n * @param {(node: TemplateNode, ...args: any[]) => void} fn\n */\nexport function wrap_snippet(component, fn) {\n\tconst snippet = (/** @type {TemplateNode} */ node, /** @type {any[]} */ ...args) => {\n\t\tvar previous_component_function = dev_current_component_function;\n\t\tset_dev_current_component_function(component);\n\n\t\ttry {\n\t\t\treturn fn(node, ...args);\n\t\t} finally {\n\t\t\tset_dev_current_component_function(previous_component_function);\n\t\t}\n\t};\n\n\tprevent_snippet_stringification(snippet);\n\n\treturn snippet;\n}\n\n/**\n * Create a snippet programmatically\n * @template {unknown[]} Params\n * @param {(...params: Getters) => {\n * render: () => string\n * setup?: (element: Element) => void | (() => void)\n * }} fn\n * @returns {Snippet}\n */\nexport function createRawSnippet(fn) {\n\t// @ts-expect-error the types are a lie\n\treturn (/** @type {TemplateNode} */ anchor, /** @type {Getters} */ ...params) => {\n\t\tvar snippet = fn(...params);\n\n\t\t/** @type {Element} */\n\t\tvar element;\n\n\t\tif (hydrating) {\n\t\t\telement = /** @type {Element} */ (hydrate_node);\n\t\t\thydrate_next();\n\t\t} else {\n\t\t\tvar html = snippet.render().trim();\n\t\t\tvar fragment = create_fragment_from_html(html);\n\t\t\telement = /** @type {Element} */ (get_first_child(fragment));\n\n\t\t\tif (DEV && (get_next_sibling(element) !== null || element.nodeType !== ELEMENT_NODE)) {\n\t\t\t\tw.invalid_raw_snippet_render();\n\t\t\t}\n\n\t\t\tanchor.before(element);\n\t\t}\n\n\t\tconst result = snippet.setup?.(element);\n\t\tassign_nodes(element, element);\n\n\t\tif (typeof result === 'function') {\n\t\t\tteardown(result);\n\t\t}\n\t};\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t` should be rendered as `
` and _not_\n * `
`, which is equivalent to `
`. There\n * may be other odd cases that need to be added to this list in future\n * @type {Record>}\n */\nconst replacements = {\n\ttranslate: new Map([\n\t\t[true, 'yes'],\n\t\t[false, 'no']\n\t])\n};\n\n/**\n * @template V\n * @param {string} name\n * @param {V} value\n * @param {boolean} [is_boolean]\n * @returns {string}\n */\nexport function attr(name, value, is_boolean = false) {\n\tif (value == null || (!value && is_boolean)) return '';\n\tconst normalized = (name in replacements && replacements[name].get(value)) || value;\n\tconst assignment = is_boolean ? '' : `=\"${escape_html(normalized, true)}\"`;\n\treturn ` ${name}${assignment}`;\n}\n\n/**\n * Small wrapper around clsx to preserve Svelte's (weird) handling of falsy values.\n * TODO Svelte 6 revisit this, and likely turn all falsy values into the empty string (what clsx also does)\n * @param {any} value\n */\nexport function clsx(value) {\n\tif (typeof value === 'object') {\n\t\treturn _clsx(value);\n\t} else {\n\t\treturn value ?? '';\n\t}\n}\n\nconst whitespace = [...' \\t\\n\\r\\f\\u00a0\\u000b\\ufeff'];\n\n/**\n * @param {any} value\n * @param {string | null} [hash]\n * @param {Record} [directives]\n * @returns {string | null}\n */\nexport function to_class(value, hash, directives) {\n\tvar classname = value == null ? '' : '' + value;\n\n\tif (hash) {\n\t\tclassname = classname ? classname + ' ' + hash : hash;\n\t}\n\n\tif (directives) {\n\t\tfor (var key in directives) {\n\t\t\tif (directives[key]) {\n\t\t\t\tclassname = classname ? classname + ' ' + key : key;\n\t\t\t} else if (classname.length) {\n\t\t\t\tvar len = key.length;\n\t\t\t\tvar a = 0;\n\n\t\t\t\twhile ((a = classname.indexOf(key, a)) >= 0) {\n\t\t\t\t\tvar b = a + len;\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(a === 0 || whitespace.includes(classname[a - 1])) &&\n\t\t\t\t\t\t(b === classname.length || whitespace.includes(classname[b]))\n\t\t\t\t\t) {\n\t\t\t\t\t\tclassname = (a === 0 ? '' : classname.substring(0, a)) + classname.substring(b + 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ta = b;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn classname === '' ? null : classname;\n}\n\n/**\n *\n * @param {Record} styles\n * @param {boolean} important\n */\nfunction append_styles(styles, important = false) {\n\tvar separator = important ? ' !important;' : ';';\n\tvar css = '';\n\n\tfor (var key in styles) {\n\t\tvar value = styles[key];\n\t\tif (value != null && value !== '') {\n\t\t\tcss += ' ' + key + ': ' + value + separator;\n\t\t}\n\t}\n\n\treturn css;\n}\n\n/**\n * @param {string} name\n * @returns {string}\n */\nfunction to_css_name(name) {\n\tif (name[0] !== '-' || name[1] !== '-') {\n\t\treturn name.toLowerCase();\n\t}\n\treturn name;\n}\n\n/**\n * @param {any} value\n * @param {Record | [Record, Record]} [styles]\n * @returns {string | null}\n */\nexport function to_style(value, styles) {\n\tif (styles) {\n\t\tvar new_style = '';\n\n\t\t/** @type {Record | undefined} */\n\t\tvar normal_styles;\n\n\t\t/** @type {Record | undefined} */\n\t\tvar important_styles;\n\n\t\tif (Array.isArray(styles)) {\n\t\t\tnormal_styles = styles[0];\n\t\t\timportant_styles = styles[1];\n\t\t} else {\n\t\t\tnormal_styles = styles;\n\t\t}\n\n\t\tif (value) {\n\t\t\tvalue = String(value)\n\t\t\t\t.replaceAll(/\\s*\\/\\*.*?\\*\\/\\s*/g, '')\n\t\t\t\t.trim();\n\n\t\t\t/** @type {boolean | '\"' | \"'\"} */\n\t\t\tvar in_str = false;\n\t\t\tvar in_apo = 0;\n\t\t\tvar in_comment = false;\n\n\t\t\tvar reserved_names = [];\n\n\t\t\tif (normal_styles) {\n\t\t\t\treserved_names.push(...Object.keys(normal_styles).map(to_css_name));\n\t\t\t}\n\t\t\tif (important_styles) {\n\t\t\t\treserved_names.push(...Object.keys(important_styles).map(to_css_name));\n\t\t\t}\n\n\t\t\tvar start_index = 0;\n\t\t\tvar name_index = -1;\n\n\t\t\tconst len = value.length;\n\t\t\tfor (var i = 0; i < len; i++) {\n\t\t\t\tvar c = value[i];\n\n\t\t\t\tif (in_comment) {\n\t\t\t\t\tif (c === '/' && value[i - 1] === '*') {\n\t\t\t\t\t\tin_comment = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (in_str) {\n\t\t\t\t\tif (in_str === c) {\n\t\t\t\t\t\tin_str = false;\n\t\t\t\t\t}\n\t\t\t\t} else if (c === '/' && value[i + 1] === '*') {\n\t\t\t\t\tin_comment = true;\n\t\t\t\t} else if (c === '\"' || c === \"'\") {\n\t\t\t\t\tin_str = c;\n\t\t\t\t} else if (c === '(') {\n\t\t\t\t\tin_apo++;\n\t\t\t\t} else if (c === ')') {\n\t\t\t\t\tin_apo--;\n\t\t\t\t}\n\n\t\t\t\tif (!in_comment && in_str === false && in_apo === 0) {\n\t\t\t\t\tif (c === ':' && name_index === -1) {\n\t\t\t\t\t\tname_index = i;\n\t\t\t\t\t} else if (c === ';' || i === len - 1) {\n\t\t\t\t\t\tif (name_index !== -1) {\n\t\t\t\t\t\t\tvar name = to_css_name(value.substring(start_index, name_index).trim());\n\n\t\t\t\t\t\t\tif (!reserved_names.includes(name)) {\n\t\t\t\t\t\t\t\tif (c !== ';') {\n\t\t\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tvar property = value.substring(start_index, i).trim();\n\t\t\t\t\t\t\t\tnew_style += ' ' + property + ';';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart_index = i + 1;\n\t\t\t\t\t\tname_index = -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (normal_styles) {\n\t\t\tnew_style += append_styles(normal_styles);\n\t\t}\n\n\t\tif (important_styles) {\n\t\t\tnew_style += append_styles(important_styles, true);\n\t\t}\n\n\t\tnew_style = new_style.trim();\n\t\treturn new_style === '' ? null : new_style;\n\t}\n\n\treturn value == null ? null : String(value);\n}\n","import { to_class } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element} dom\n * @param {boolean | number} is_html\n * @param {string | null} value\n * @param {string} [hash]\n * @param {Record} [prev_classes]\n * @param {Record} [next_classes]\n * @returns {Record | undefined}\n */\nexport function set_class(dom, is_html, value, hash, prev_classes, next_classes) {\n\t// @ts-expect-error need to add __className to patched prototype\n\tvar prev = dom.__className;\n\n\tif (\n\t\thydrating ||\n\t\tprev !== value ||\n\t\tprev === undefined // for edge case of `class={undefined}`\n\t) {\n\t\tvar next_class_name = to_class(value, hash, next_classes);\n\n\t\tif (!hydrating || next_class_name !== dom.getAttribute('class')) {\n\t\t\t// Removing the attribute when the value is only an empty string causes\n\t\t\t// performance issues vs simply making the className an empty string. So\n\t\t\t// we should only remove the class if the value is nullish\n\t\t\t// and there no hash/directives :\n\t\t\tif (next_class_name == null) {\n\t\t\t\tdom.removeAttribute('class');\n\t\t\t} else if (is_html) {\n\t\t\t\tdom.className = next_class_name;\n\t\t\t} else {\n\t\t\t\tdom.setAttribute('class', next_class_name);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error need to add __className to patched prototype\n\t\tdom.__className = value;\n\t} else if (next_classes && prev_classes !== next_classes) {\n\t\tfor (var key in next_classes) {\n\t\t\tvar is_present = !!next_classes[key];\n\n\t\t\tif (prev_classes == null || is_present !== !!prev_classes[key]) {\n\t\t\t\tdom.classList.toggle(key, is_present);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn next_classes;\n}\n","import { to_style } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {Record} prev\n * @param {Record} next\n * @param {string} [priority]\n */\nfunction update_styles(dom, prev = {}, next, priority) {\n\tfor (var key in next) {\n\t\tvar value = next[key];\n\n\t\tif (prev[key] !== value) {\n\t\t\tif (next[key] == null) {\n\t\t\t\tdom.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\tdom.style.setProperty(key, value, priority);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {string | null} value\n * @param {Record | [Record, Record]} [prev_styles]\n * @param {Record | [Record, Record]} [next_styles]\n */\nexport function set_style(dom, value, prev_styles, next_styles) {\n\t// @ts-expect-error\n\tvar prev = dom.__style;\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_style_attr = to_style(value, next_styles);\n\n\t\tif (!hydrating || next_style_attr !== dom.getAttribute('style')) {\n\t\t\tif (next_style_attr == null) {\n\t\t\t\tdom.removeAttribute('style');\n\t\t\t} else {\n\t\t\t\tdom.style.cssText = next_style_attr;\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error\n\t\tdom.__style = value;\n\t} else if (next_styles) {\n\t\tif (Array.isArray(next_styles)) {\n\t\t\tupdate_styles(dom, prev_styles?.[0], next_styles[0]);\n\t\t\tupdate_styles(dom, prev_styles?.[1], next_styles[1], 'important');\n\t\t} else {\n\t\t\tupdate_styles(dom, prev_styles, next_styles);\n\t\t}\n\t}\n\n\treturn next_styles;\n}\n","import { effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport { is } from '../../../proxy.js';\nimport { is_array } from '../../../../shared/utils.js';\nimport * as w from '../../../warnings.js';\n\n/**\n * Selects the correct option(s) (depending on whether this is a multiple select)\n * @template V\n * @param {HTMLSelectElement} select\n * @param {V} value\n * @param {boolean} mounting\n */\nexport function select_option(select, value, mounting = false) {\n\tif (select.multiple) {\n\t\t// If value is null or undefined, keep the selection as is\n\t\tif (value == undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If not an array, warn and keep the selection as is\n\t\tif (!is_array(value)) {\n\t\t\treturn w.select_multiple_invalid_value();\n\t\t}\n\n\t\t// Otherwise, update the selection\n\t\tfor (var option of select.options) {\n\t\t\toption.selected = value.includes(get_option_value(option));\n\t\t}\n\n\t\treturn;\n\t}\n\n\tfor (option of select.options) {\n\t\tvar option_value = get_option_value(option);\n\t\tif (is(option_value, value)) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * Selects the correct option(s) if `value` is given,\n * and then sets up a mutation observer to sync the\n * current selection to the dom when it changes. Such\n * changes could for example occur when options are\n * inside an `#each` block.\n * @param {HTMLSelectElement} select\n */\nexport function init_select(select) {\n\tvar observer = new MutationObserver(() => {\n\t\t// @ts-ignore\n\t\tselect_option(select, select.__value);\n\t\t// Deliberately don't update the potential binding value,\n\t\t// the model should be preserved unless explicitly changed\n\t});\n\n\tobserver.observe(select, {\n\t\t// Listen to option element changes\n\t\tchildList: true,\n\t\tsubtree: true, // because of \n\t\t// Listen to option element value attribute changes\n\t\t// (doesn't get notified of select value changes,\n\t\t// because that property is not reflected as an attribute)\n\t\tattributes: true,\n\t\tattributeFilter: ['value']\n\t});\n\n\tteardown(() => {\n\t\tobserver.disconnect();\n\t});\n}\n\n/**\n * @param {HTMLSelectElement} select\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_select_value(select, get, set = get) {\n\tvar mounting = true;\n\n\tlisten_to_event_and_reset_event(select, 'change', (is_reset) => {\n\t\tvar query = is_reset ? '[selected]' : ':checked';\n\t\t/** @type {unknown} */\n\t\tvar value;\n\n\t\tif (select.multiple) {\n\t\t\tvalue = [].map.call(select.querySelectorAll(query), get_option_value);\n\t\t} else {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option =\n\t\t\t\tselect.querySelector(query) ??\n\t\t\t\t// will fall back to first non-disabled option if no option is selected\n\t\t\t\tselect.querySelector('option:not([disabled])');\n\t\t\tvalue = selected_option && get_option_value(selected_option);\n\t\t}\n\n\t\tset(value);\n\t});\n\n\t// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated\n\teffect(() => {\n\t\tvar value = get();\n\t\tselect_option(select, value, mounting);\n\n\t\t// Mounting and value undefined -> take selection from dom\n\t\tif (mounting && value === undefined) {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option = select.querySelector(':checked');\n\t\t\tif (selected_option !== null) {\n\t\t\t\tvalue = get_option_value(selected_option);\n\t\t\t\tset(value);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\tselect.__value = value;\n\t\tmounting = false;\n\t});\n\n\tinit_select(select);\n}\n\n/** @param {HTMLOptionElement} option */\nfunction get_option_value(option) {\n\t// __value only exists if the